{"id":2624,"date":"2018-01-11T16:24:06","date_gmt":"2018-01-11T16:24:06","guid":{"rendered":"https:\/\/old.staging-teachcomputerscienceuk.kinsta.cloud\/?p=251"},"modified":"2024-07-24T11:29:33","modified_gmt":"2024-07-24T11:29:33","slug":"fetch-execute-cycle","status":"publish","type":"post","link":"https:\/\/teachcomputerscience.com\/fetch-execute-cycle\/","title":{"rendered":"Fetch Execute Cycle"},"content":{"rendered":"<div class=\"gb-container gb-container-cb3d3bfc upsell-block\"><div class=\"gb-inside-container\">\n<div class=\"gb-grid-wrapper gb-grid-wrapper-3ba161ad\">\n<div class=\"gb-grid-column gb-grid-column-ee5a55f9\"><div class=\"gb-container gb-container-ee5a55f9\"><div class=\"gb-inside-container\">\n\n<h2 class=\"gb-headline gb-headline-3dc4e3d9 gb-headline-text\">GCSE Functions and Characteristics of CPU (14-16 years)<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>An editable PowerPoint lesson presentation<\/li><li>Editable revision handouts<\/li><li>A glossary which covers the key terminologies of the module<\/li><li>Topic mindmaps for visualising the key concepts<\/li><li>Printable flashcards to help students engage active recall and confidence-based repetition<\/li><li>A quiz with accompanying answer key to test knowledge and understanding of the module<\/li><\/ul>\n\n\n<div class=\"gb-button-wrapper gb-button-wrapper-6e7b7085\">\n\n<a class=\"gb-button gb-button-df4ce72e gb-button-text\" href=\"https:\/\/teachcomputerscience.com\/gcse\/computer-architecture\/functions-and-characteristics-of-cpu\/\">View GCSE Functions and Characteristics of CPU Resources<\/a>\n\n<\/div>\n<\/div><\/div><\/div>\n\n<div class=\"gb-grid-column gb-grid-column-513645f7\"><div class=\"gb-container gb-container-513645f7\"><div class=\"gb-inside-container\">\n\n<h2 class=\"gb-headline gb-headline-ce14a6b1 gb-headline-text\">A-Level Functions and Characteristics of CPU (16-18 years)<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>An editable PowerPoint lesson presentation<\/li><li>Editable revision handouts<\/li><li>A glossary which covers the key terminologies of the module<\/li><li>Topic mindmaps for visualising the key concepts<\/li><li>Printable flashcards to help students engage active recall and confidence-based repetition<\/li><li>A quiz with accompanying answer key to test knowledge and understanding of the module<\/li><\/ul>\n\n\n<div class=\"gb-button-wrapper gb-button-wrapper-bda3c573\">\n\n<a class=\"gb-button gb-button-ff31c42b gb-button-text\" href=\"https:\/\/teachcomputerscience.com\/a-level\/contemporary-processors\/functions-and-characteristics-of-cpu\/\">View A-Level Functions and Characteristics of CPU Resources<\/a>\n\n<\/div>\n<\/div><\/div><\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n\n<p>A computer program is made up of sets of instructions that are encoded using the binary numbering system.&nbsp; The fetch \u2013 decode \u2013 execute cycle is the order of steps that the Central Processing Unit (CPU) uses to follow instructions.&nbsp; The <strong>fetch execute cycle<\/strong> was first proposed by John von Neumann who is famous for the Von Neumann architecture, the framework which is being followed by most computers today.<\/p>\n\n\n\n<p>The CPU is the brain of the computer and is known as the processor.&nbsp; It is responsible for implementing a sequence of commands called a program.&nbsp; A program takes inputs, processes them, and outputs results.&nbsp; CPUs are found everywhere, like in mobile phones, computer tablets, and washing machines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A CPU has the following components:<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Control Unit<\/strong> \u2013 controls all parts of the computer system. It manages the four basic operations of the Fetch Execute Cycle as follows:\n<ol>\n<li><strong>Fetch<\/strong> \u2013 gets the next program command from the computer\u2019s memory<\/li>\n<li><strong>Decode<\/strong> \u2013 deciphers what the program is telling the computer to do<\/li>\n<li><strong>Execute<\/strong> \u2013 carries out the requested action<\/li>\n<li><strong>Store<\/strong> \u2013 saves the results to a Register or Memory<\/li>\n<\/ol>\n<\/li><li><strong>Arithmetic Logic Unit (ALU)<\/strong> \u2013 performs arithmetic and logical operations<\/li><li><strong>Register<\/strong> \u2013 saves the most frequently used instructions and data<\/li><\/ul>\n\n\n\n<p>The primary task of the CPU is to execute programs using the fetch \u2013 decode \u2013 execute cycle.&nbsp; This is also called the instruction cycle.&nbsp; The cycle begins as soon as the computer is turned on and ends when the computer is shut down.<\/p>\n\n\n\n<p>In plain CPUs the fetch execute cycle is carried out progressively, each instruction is being handled before the succeeding one is initiated.&nbsp; In modern CPUs the fetch execute cycle is executed simultaneously, in parallel via an instruction pipeline, which means the next command starts being executed before the previous command has been completed.&nbsp; This is made possible since the cycle has been broken up into separate steps.<\/p>\n\n\n\n<p>To run a program, the program code is copied from secondary storage into the primary memory. &nbsp;The CPU\u2019s program counter is specified to the memory location where the first command in the program has been saved and execution starts.&nbsp; The program starts running.&nbsp; A program counter keeps track of the memory address of the command to be executed next.<\/p>\n\n\n\n<p>In a program, each machine code command occupies a space in the main memory.&nbsp; These memory locations each have a specific memory address.&nbsp; The program counter saves the address of each command and instructs the CPU in what sequence they should be executed.<\/p>\n\n\n\n<p>When a program is being carried out, the CPU implements the fetch \u2013 decode \u2013 execute cycle, which recurs over and over again until arriving at the STOP instruction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Here\u2019s a summary of the fetch \u2013 decode \u2013 execute cycle:<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>The processor reviews the program counter to see which command to execute next.<\/li><li>The program counter gives an address value in the memory of where the next command is.<\/li><li>The processor fetches the command value from the memory location.<\/li><li>Once the command has been fetched, it needs to be decoded and executed. For example, this could include taking one value, putting it into the Arithmetic Logic Unit (ALU), then taking a different value from a register and adding the two together.<\/li><li>Once this has been completed, the processor returns to the program counter to find the next command.<\/li><li>This cycle is replicated until the program stops.<\/li><\/ol>\n\n\n\n<p>The <strong>Execute Cycle<\/strong> is the only step useful to the end-user, everything else is required to make the execute cycle happen, as it performs the function of the command.&nbsp; The ALU is utilized if the command involves arithmetic or logical operations.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-4b5c9ab8 gb-headline-text\">Further Readings:<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Instruction_cycle\" target=\"_blank\" rel=\"noopener\">Instruction cycle<\/a><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/teachcomputerscience.com\/wp-content\/uploads\/2019\/08\/009-build.png\" alt=\"The fetch execute cycle was first proposed by John von Neumann who is famous for the Von Neumann architecture, the framework which is being followed by most computers today.\" class=\"wp-image-5744\" width=\"291\" height=\"291\" title=\"\"><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A computer program is made up of sets of instructions that are encoded using the binary numbering system.&nbsp; The fetch \u2013 decode \u2013 execute cycle is the order of steps that the Central Processing Unit (CPU) uses to follow instructions.&nbsp; The fetch execute cycle was first proposed by John von Neumann who is famous for &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Fetch Execute Cycle\" class=\"read-more button\" href=\"https:\/\/teachcomputerscience.com\/fetch-execute-cycle\/\" aria-label=\"More on Fetch Execute Cycle\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_generate-full-width-content":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[26],"tags":[204,47],"class_list":["post-2624","post","type-post","status-publish","format-standard","hentry","category-hardware-software","tag-article","tag-hide-old-upsell","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"acf":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/posts\/2624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/comments?post=2624"}],"version-history":[{"count":2,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/posts\/2624\/revisions"}],"predecessor-version":[{"id":607174,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/posts\/2624\/revisions\/607174"}],"wp:attachment":[{"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/media?parent=2624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/categories?post=2624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teachcomputerscience.com\/wp-json\/wp\/v2\/tags?post=2624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}