{"id":3921,"date":"2023-06-30T16:29:18","date_gmt":"2023-06-30T10:59:18","guid":{"rendered":"https:\/\/binaryterms.com\/?p=3921"},"modified":"2023-06-13T16:30:00","modified_gmt":"2023-06-13T11:00:00","slug":"control-signals-in-computer-architecture","status":"publish","type":"post","link":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html","title":{"rendered":"Control Signals in Computer Architecture"},"content":{"rendered":"<p>Control signals regulate the operations and coordination of all processor components while executing the instructions. It is the control unit of the CPU, which is responsible for generating control signals. If we divide the instruction cycle into two phases, it would be the fetch phase and the execution phase.<\/p>\n<p>Even the processor\u2019s hardware is divided into two sections. The section that deals with the fetch phase also generates control signals. We refer to this section or unit as the Control Unit. The other section deals with the execution phase read the data operands of instruction, performs the required computation, and stores the result. We often refer to this unit as ALU.<\/p>\n<p>Thus, the control unit generates control signals so that the processing of instructions takes place in the correct sequence and at the right time.<\/p>\n<h2>How are Control Signals Generated?<\/h2>\n<p>There are two approaches to design a control unit for generating the control signals.<\/p>\n<ol>\n<li>Hardwired Control<\/li>\n<li>Microprogrammed Control<\/li>\n<\/ol>\n<h3>Hardwired Control<\/h3>\n<p>To execute a particular instruction, a system needs to execute a sequence of steps such as:<\/p>\n<ol>\n<li>Instruction fetch<\/li>\n<li>Instruction decoding<\/li>\n<li>Operand fetch<\/li>\n<li>Instruction execution<\/li>\n<li>Operand store<\/li>\n<\/ol>\n<p>Each of these steps requires <strong>one clock cycle<\/strong>. Particularly to track the progress in the execution, the system employs a <strong>step counter<\/strong>. The status of the step counter indicates currently which execution step is in process. For each execution step, we require <strong>control signals<\/strong>.<\/p>\n<p>Consequently, the system has to perform several actions for a single execution step. The actions depend on the type of instruction in execution like:<\/p>\n<ul>\n<li>For a branch instruction, the action depends on the test applied.<\/li>\n<li>Even the interrupt signal can influence the action.<\/li>\n<\/ul>\n<p>So, the generation of the control signal totally depends on the following:<\/p>\n<ol>\n<li>Status of step counter.<\/li>\n<li>Content of instruction register.<\/li>\n<li>The output of the comparison operation.<\/li>\n<li>External signals like interrupts.<\/li>\n<\/ol>\n<h4>Hardwired Control Diagram<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3922\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\" alt=\"Control Signals by Hardwired Control Unit\" width=\"475\" height=\"452\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg 475w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit-300x285.jpg 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<ol>\n<li>Initially, the instruction decoder interprets the instruction in IR and obtains its addressing modes.<\/li>\n<li>After decoding the instruction, the instruction decoder activates the corresponding INSi.<\/li>\n<li>Parallelly the step counter activates its output from T1 to T5 to trace which of the five steps (instruction fetch, instruction decoding, operand fetch, instruction execution, and operand store) between fetching and execution is in process.<\/li>\n<li>Based on all the inputs, the control unit generates the control signals.<\/li>\n<li>The action sequences represented by signals INS1 to INSm determine the settings of the control signals.<\/li>\n<\/ol>\n<p>However, the hardwired unit preferably generates the signals for <strong>RISC-style<\/strong> instructions.<\/p>\n<p>Besides using the hardwired control to generate a control signal, designers used one popular alternative in the past. We will discuss it in the next section, i.e. microprogrammed control.<\/p>\n<h3>Microprogrammed Control<\/h3>\n<p>The hardwired control uses logic circuitry to generate the control signals. However, the microprogrammed control uses <strong>software<\/strong> to generate control signals. The control signals\u2019 settings in the microprogrammed unit depend on a special program (control program) stored in a special memory.<\/p>\n<p>We refer to the control program as a <strong>microprogram<\/strong> so that it can be easily distinguished from the other programs that the processor executes. The memory holding the microprogram is <strong>microprogram memory<\/strong>, or we refer to it as the <strong>control store<\/strong>.<\/p>\n<p>While executing an instruction, we require multiple control signals for each step. Each control signal is represented by a bit in n bit-word. We refer to this word as a <strong>control word<\/strong> or a <strong>microinstruction<\/strong>. In a control word, each bit indicates the setting of the corresponding control signal required for a particular step in the execution flow.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3924\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Instruction-Execution.jpg\" alt=\"Instruction Execution\" width=\"500\" height=\"162\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Instruction-Execution.jpg 500w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Instruction-Execution-300x97.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>So, to execute an instruction, for each step (instruction fetch, instruction decoding, operand fetch, instruction execution, and operand store), one control word\/microinstruction is stored in the control store. The sequence of microinstructions required to execute an instruction constitutes the <strong>microroutine.<\/strong><\/p>\n<p>The first two microinstructions that specify the action of fetch and decode are the same for all instructions. The micro routine specific to any instruction starts from the third step, i.e. from operand fetch.<\/p>\n<h4>Microprogrammed Control Diagram<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3923\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Microprogrammed-Control-Unit.jpg\" alt=\"Control Signals by Microprogrammed Control Unit\" width=\"300\" height=\"436\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Microprogrammed-Control-Unit.jpg 300w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Microprogrammed-Control-Unit-206x300.jpg 206w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<ol>\n<li>The microinstruction address generator decodes the instruction in IR and obtains the starting address of the micro routine.<\/li>\n<li>Meanwhile, this micro routine holds the sequence of microinstructions required to implement the instruction in IR.<\/li>\n<li>The microinstruction generator loads the starting address of the micro routine to \u00b5PC.<\/li>\n<li>In the following clock cycle, the address in \u00b5PC will be used to read the microinstruction as the execution proceeds, and the microinstruction generator increments \u00b5PC to read the execution microinstruction.<\/li>\n<\/ol>\n<p>As the execution of the instruction ends, the microinstruction address generator returns back to the first microinstruction, which causes new instruction to be fetched in IR. However, we use microprogrammed control to generate control signals for <strong>CISC-style<\/strong> instructions.<\/p>\n<p>The microinstruction is much more executed like a machine instruction. Its function is to generate control signals required during each execution of a step while implementing the instruction.<\/p>\n<div id=\"largeback\">\n<h3>Which is the Preferred Way to Generate Control Signals?<\/h3>\n<p>Microprogram control is an easy and flexible way to generate control signals. But, microprogram control is comparatively slower than hardwired control.<\/p>\n<p>However, producing logic circuitry does not cost much.\u00a0 So it\u2019s quite convenient to have hardwired control to generate the control signals. And over the years, the hardwired control has been the preferred choice for designing a control unit to generate control signals.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Control signals regulate the operations and coordination of all processor components while executing the instructions. It is the control unit of the CPU, which is responsible for generating control signals. If we divide the instruction cycle into two phases, it would be the fetch phase and the execution phase. Even the processor\u2019s hardware is divided [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3],"tags":[],"class_list":{"0":"post-3921","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-computer-architecture","7":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Control Signals in Computer Architecture - Binary Terms<\/title>\n<meta name=\"description\" content=\"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Control Signals in Computer Architecture - Binary Terms\" \/>\n<meta property=\"og:description\" content=\"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\" \/>\n<meta property=\"og:site_name\" content=\"Binary Terms\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-30T10:59:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\" \/>\n<meta name=\"author\" content=\"Neha T\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neha T\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#article\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\"},\"author\":{\"name\":\"Neha T\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe\"},\"headline\":\"Control Signals in Computer Architecture\",\"datePublished\":\"2023-06-30T10:59:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\"},\"wordCount\":880,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/binaryterms.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\",\"articleSection\":[\"Computer Architecture\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\",\"url\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\",\"name\":\"Control Signals in Computer Architecture - Binary Terms\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\",\"datePublished\":\"2023-06-30T10:59:18+00:00\",\"description\":\"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.\",\"breadcrumb\":{\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage\",\"url\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\",\"contentUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg\",\"width\":475,\"height\":452,\"caption\":\"Control Signals by Hardwired Control Unit\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/binaryterms.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Control Signals in Computer Architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/binaryterms.com\/#website\",\"url\":\"https:\/\/binaryterms.com\/\",\"name\":\"Binary Terms\",\"description\":\"The Computer Science &amp; IT Guide\",\"publisher\":{\"@id\":\"https:\/\/binaryterms.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/binaryterms.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/binaryterms.com\/#organization\",\"name\":\"Binary Terms\",\"url\":\"https:\/\/binaryterms.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png\",\"contentUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png\",\"width\":400,\"height\":63,\"caption\":\"Binary Terms\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe\",\"name\":\"Neha T\",\"url\":\"https:\/\/binaryterms.com\/author\/author\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Control Signals in Computer Architecture - Binary Terms","description":"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html","og_locale":"en_GB","og_type":"article","og_title":"Control Signals in Computer Architecture - Binary Terms","og_description":"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.","og_url":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html","og_site_name":"Binary Terms","article_published_time":"2023-06-30T10:59:18+00:00","og_image":[{"url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg","type":"","width":"","height":""}],"author":"Neha T","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Neha T","Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#article","isPartOf":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html"},"author":{"name":"Neha T","@id":"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe"},"headline":"Control Signals in Computer Architecture","datePublished":"2023-06-30T10:59:18+00:00","mainEntityOfPage":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html"},"wordCount":880,"commentCount":0,"publisher":{"@id":"https:\/\/binaryterms.com\/#organization"},"image":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg","articleSection":["Computer Architecture"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html","url":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html","name":"Control Signals in Computer Architecture - Binary Terms","isPartOf":{"@id":"https:\/\/binaryterms.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage"},"image":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg","datePublished":"2023-06-30T10:59:18+00:00","description":"Control signals regulate the operations performed and the coordination of all processor components while executing the instructions.","breadcrumb":{"@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#primaryimage","url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg","contentUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/02\/Control-Signals-by-Hardwired-Control-Unit.jpg","width":475,"height":452,"caption":"Control Signals by Hardwired Control Unit"},{"@type":"BreadcrumbList","@id":"https:\/\/binaryterms.com\/control-signals-in-computer-architecture.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/binaryterms.com\/"},{"@type":"ListItem","position":2,"name":"Control Signals in Computer Architecture"}]},{"@type":"WebSite","@id":"https:\/\/binaryterms.com\/#website","url":"https:\/\/binaryterms.com\/","name":"Binary Terms","description":"The Computer Science &amp; IT Guide","publisher":{"@id":"https:\/\/binaryterms.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/binaryterms.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/binaryterms.com\/#organization","name":"Binary Terms","url":"https:\/\/binaryterms.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/","url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png","contentUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png","width":400,"height":63,"caption":"Binary Terms"},"image":{"@id":"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe","name":"Neha T","url":"https:\/\/binaryterms.com\/author\/author"}]}},"_links":{"self":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/comments?post=3921"}],"version-history":[{"count":5,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3921\/revisions"}],"predecessor-version":[{"id":3929,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3921\/revisions\/3929"}],"wp:attachment":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/media?parent=3921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/categories?post=3921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/tags?post=3921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}