{"id":291,"date":"2019-09-06T17:24:26","date_gmt":"2019-09-06T11:54:26","guid":{"rendered":"https:\/\/binaryterms.com\/?p=291"},"modified":"2019-09-24T16:36:52","modified_gmt":"2019-09-24T11:06:52","slug":"pipelining-in-computer-architecture","status":"publish","type":"post","link":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html","title":{"rendered":"Pipelining in Computer Architecture"},"content":{"rendered":"<p><strong>Pipelining<\/strong> organizes the execution of the <strong>multiple instructions simultaneously<\/strong>. Pipelining improves the <strong>throughput<\/strong> of the system. In pipelining the instruction is divided into the subtasks. Each subtask performs the dedicated task.<\/p>\n<p>The instruction is divided into 5 subtasks: <strong>instruction fetch<\/strong>, <strong>instruction decode<\/strong>, <strong>operand fetch<\/strong>, <strong>instruction execution<\/strong> and <strong>operand store<\/strong>. The instruction fetch subtask will only perform the instruction fetching operation, instruction decode subtask will only be decoding the fetched instruction and so on the other subtasks will do.<\/p>\n<p>In this section, we will discuss the types of pipelining, pipelining hazards, its advantage. So let us start.<\/p>\n<h2>Content: Pipelining in Computer Architecture<\/h2>\n<ol>\n<li><a href=\"#Introduction\">Introduction<\/a><\/li>\n<li><a href=\"#TypesofPipelining\">Types of Pipelining<\/a><\/li>\n<li><a href=\"#PipeliningHazards\">Pipelining Hazards<\/a><\/li>\n<li><a href=\"#Advantages\">Advantages<\/a><\/li>\n<li><a href=\"#KeyTakeaways\">Key Takeaways<\/a><\/li>\n<\/ol>\n<p><a name=\"Introduction\"><\/a><\/p>\n<h3>Introduction<\/h3>\n<p>Have you ever visited an industrial plant and see the assembly lines over there? How a product passes through the assembly line and while passing it is worked on, at different phases simultaneously. For <strong>example<\/strong>, take a car manufacturing plant. At the first stage, the automobile chassis is prepared, in the next stage workers add body to the chassis, further, the engine is installed, then painting work is done and so on.<\/p>\n<p>The group of workers after working on the chassis of the first car don\u2019t sit idle. They start working on the chassis of the next car. And the next group take the chassis of the car and add body to it. The same thing is repeated at every stage, after finishing the work on the current car body they take on next car body which is the output of the previous stage.<\/p>\n<p>Here, though the first car is completed in several hours or days, due to the assembly line arrangement it becomes possible to have a new car at the end of an assembly line in every clock cycle.<\/p>\n<p>Similarly, the concept of <strong>pipelining<\/strong> works. The output of the first pipeline becomes the input for the next pipeline. It is like a set of data processing unit connected in series to utilize processor up to its maximum.<\/p>\n<p>An instruction in a process is divided into 5 subtasks likely,<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-293\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg\" alt=\"Instruction Division\" width=\"600\" height=\"83\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division-300x42.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<ol>\n<li>In the first subtask, the instruction is fetched.<\/li>\n<li>The fetched instruction is decoded in the second stage.<\/li>\n<li>In the third stage, the operands of the instruction are fetched.<\/li>\n<li>In the fourth, arithmetic and logical operation are performed on the operands to execute the instruction.<\/li>\n<li>In the fifth stage, the result is stored in memory.<\/li>\n<\/ol>\n<p>Now, understanding the division of the instruction into subtasks. Let us understand, how the n number of instructions in a process, are pipelined.<\/p>\n<p>Look at the figure below the 5 instructions are pipelined. The first instruction gets completed in 5 clock cycle. After the completion of first instruction, in every new clock cycle, a new instruction completes its execution.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-294\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Pipelining-Instructions.jpg\" alt=\"Pipelining Instructions\" width=\"600\" height=\"380\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Pipelining-Instructions.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Pipelining-Instructions-300x190.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Observe that when the Instruction fetch operation of the first instruction is completed in the next clock cycle the instruction fetch of second instruction gets started. This way the hardware never sits idle it is always busy in performing some or other operation. But, no two instructions can <strong>execute<\/strong> their <strong>same stage<\/strong> at the <strong>same clock cycle<\/strong>.<br \/>\n<a name=\"TypesofPipelining\"><\/a><\/p>\n<h3>Types of Pipelining<\/h3>\n<p>In 1977 Handler and Ramamoorthy classified pipeline processors depending on their functionality.<\/p>\n<p><strong>1. Arithmetic Pipelining<\/strong><\/p>\n<p>It is designed to perform high-speed floating-point addition, multiplication and division. Here, the multiple arithmetic logic units are built in the system to perform the parallel arithmetic computation in various data format. Examples of the arithmetic pipelined processor are Star-100, TI-ASC, Cray-1, Cyber-205.<\/p>\n<p><strong>2. Instruction Pipelining<\/strong><\/p>\n<p>Here, the number of instruction are pipelined and the execution of current instruction is overlapped by the execution of the subsequent instruction. It is also called <strong>instruction lookahead<\/strong>.<\/p>\n<p><strong>3. Processor Pipelining<\/strong><\/p>\n<p>Here, the processors are pipelined to process the <strong>same data stream<\/strong>. The data stream is processed by the first processor and the result is stored in the memory block. The result in the memory block is accessed by the second processor. The second processor reprocesses the result obtained by the first processor and the passes the refined result to the third processor and so on.<\/p>\n<p><strong>4. Unifunction Vs. Multifunction Pipelining<\/strong><\/p>\n<p>The pipeline performing the precise function every time is unifunctional pipeline. On the other hand, the pipeline performing multiple functions at a different time or multiple functions at the same time is multifunction pipeline.<\/p>\n<p><strong>5. Static vs Dynamic Pipelining<\/strong><\/p>\n<p>The static pipeline performs a fixed-function each time. The static pipeline is unifunctional. The static pipeline executes the same type of instructions continuously. Frequent change in the type of instruction may vary the performance of the pipelining.<\/p>\n<p>Dynamic pipeline performs several functions simultaneously. It is a multifunction pipelining.<\/p>\n<p><strong>6. Scalar vs Vector Pipelining<\/strong><\/p>\n<p>Scalar pipelining processes the instructions with scalar operands. The vector pipeline processes the instruction with vector operands.<br \/>\n<a name=\"PipeliningHazards\"><\/a><\/p>\n<h2>Pipelining Hazards<\/h2>\n<p>Whenever a pipeline has to stall due to some reason it is called pipeline hazards. Below we have discussed four pipelining hazards.<\/p>\n<p><strong>1. Data Dependency<\/strong><\/p>\n<p>Consider the following two instructions and their pipeline execution:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-295\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Data-Dependency.jpg\" alt=\"Data Dependency\" width=\"600\" height=\"241\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Data-Dependency.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Data-Dependency-300x121.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>In the figure above, you can see that result of the <strong>Add<\/strong> instruction is stored in the register <strong>R2<\/strong> and we know that the final result is stored at the end of the execution of the instruction which will happen at the clock cycle <strong>t4<\/strong>.<\/p>\n<p>But the <strong>Sub<\/strong> instruction need the value of the register <strong>R2<\/strong> at the cycle <strong>t3<\/strong>. So the Sub instruction has to <strong>stall<\/strong> two clock cycles. If it doesn\u2019t stall it will generate an incorrect result. Thus depending of one instruction on other instruction for data is <strong>data dependency<\/strong>.<\/p>\n<p><strong>2. Memory Delay<\/strong><\/p>\n<p>When an instruction or data is required, it is first searched in the cache memory if not found then it is a <strong>cache miss<\/strong>. The data is further searched in the memory which may take ten or more cycles. So, for that number of cycle the pipeline has to stall and this is a <strong>memory delay<\/strong> hazard. The cache miss, also results in the delay of all the subsequent instructions.<\/p>\n<p><strong>3. Branch Delay<\/strong><\/p>\n<p>Suppose the four instructions are pipelined I<sub>1<\/sub>, I<sub>2<\/sub>, I<sub>3,<\/sub> I<sub>4<\/sub> in a sequence. The instruction I<sub>1<\/sub> is a branch instruction and its target instruction is I<sub>k<\/sub>. Now, processing starts and instruction I<sub>1<\/sub> is fetched, decoded and the target address is computed at the 4<sup>th<\/sup> stage in cycle t3.<\/p>\n<p>But till then the instructions I<sub>2<\/sub>, I<sub>3,<\/sub> I<sub>4<\/sub> are fetched in cycle 1, 2 &amp; 3 before the target branch address is computed. As I<sub>1 <\/sub>is found to be a branch instruction, the instructions I<sub>2<\/sub>, I<sub>3,<\/sub> I<sub>4<\/sub> has to be discarded because the instruction I<sub>k<\/sub> has to be processed next to I<sub>1<\/sub>. So, this delay of three cycles 1, 2, 3 is a <strong>branch delay<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-296\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay.jpg\" alt=\"Branch Delay\" width=\"600\" height=\"384\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay-300x192.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Prefetching the target branch address will reduce the branch delay. Like if the target branch is identified at the decode stage then the branch delay will reduce to 1 clock cycle.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-298\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay-reduced-1.jpg\" alt=\"Branch Delay reduced 1\" width=\"600\" height=\"331\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay-reduced-1.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Branch-Delay-reduced-1-300x166.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong>4. Resource Limitation<\/strong><\/p>\n<p>If the two instructions request for accessing the same resource in the same clock cycle, then one of the instruction has to stall and let the other instruction to use the resource. This stalling is due to <strong>resource limitation<\/strong>. However, it can be prevented by adding more hardware.<br \/>\n<a name=\"Advantages\"><\/a><\/p>\n<h3>Advantages<\/h3>\n<ol>\n<li>\u00a0Pipelining improves the throughput of the system.<\/li>\n<li>In every clock cycle, a new instruction finishes its execution.<\/li>\n<li>Allow multiple instructions to be executed concurrently.<\/li>\n<\/ol>\n<p><a name=\"KeyTakeaways\"><\/a><\/p>\n<div id=\"keytake\">\n<h3>Key Takeaways<\/h3>\n<ul>\n<li>Pipelining divides the instruction in 5 stages instruction fetch, instruction decode, operand fetch, instruction execution and operand store.<\/li>\n<li>The pipeline allows the execution of multiple instructions concurrently with the limitation that no two instructions would be executed at the<strong> same stage<\/strong> in the <strong>same clock cycle<\/strong>.<\/li>\n<li>All the stages must process at equal speed else the slowest stage would become the bottleneck.<\/li>\n<li>Whenever a pipeline has to stall for any reason it is a pipeline hazard.<\/li>\n<\/ul>\n<\/div>\n<p>This is all about pipelining. So, basically the pipelining is used to improve the performance of the system by improving its efficiency.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pipelining organizes the execution of the multiple instructions simultaneously. Pipelining improves the throughput of the system. In pipelining the instruction is divided into the subtasks. Each subtask performs the dedicated task. The instruction is divided into 5 subtasks: instruction fetch, instruction decode, operand fetch, instruction execution and operand store. The instruction fetch subtask will only [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","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-291","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>What is Pipelining in Computer Architecture? Types, Hazards &amp; Advantages - Binary Terms<\/title>\n<meta name=\"description\" content=\"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the\" \/>\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\/pipelining-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=\"What is Pipelining in Computer Architecture? Types, Hazards &amp; Advantages - Binary Terms\" \/>\n<meta property=\"og:description\" content=\"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\" \/>\n<meta property=\"og:site_name\" content=\"Binary Terms\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-06T11:54:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-24T11:06:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#article\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\"},\"author\":{\"name\":\"Neha T\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe\"},\"headline\":\"Pipelining in Computer Architecture\",\"datePublished\":\"2019-09-06T11:54:26+00:00\",\"dateModified\":\"2019-09-24T11:06:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\"},\"wordCount\":1293,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\/\/binaryterms.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg\",\"articleSection\":[\"Computer Architecture\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\",\"url\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\",\"name\":\"What is Pipelining in Computer Architecture? Types, Hazards & Advantages - Binary Terms\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg\",\"datePublished\":\"2019-09-06T11:54:26+00:00\",\"dateModified\":\"2019-09-24T11:06:52+00:00\",\"description\":\"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the\",\"breadcrumb\":{\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage\",\"url\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg\",\"contentUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg\",\"width\":600,\"height\":83,\"caption\":\"Instruction Division\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/binaryterms.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pipelining 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":"What is Pipelining in Computer Architecture? Types, Hazards & Advantages - Binary Terms","description":"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the","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\/pipelining-in-computer-architecture.html","og_locale":"en_GB","og_type":"article","og_title":"What is Pipelining in Computer Architecture? Types, Hazards & Advantages - Binary Terms","og_description":"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the","og_url":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html","og_site_name":"Binary Terms","article_published_time":"2019-09-06T11:54:26+00:00","article_modified_time":"2019-09-24T11:06:52+00:00","og_image":[{"url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg","type":"","width":"","height":""}],"author":"Neha T","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Neha T","Estimated reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#article","isPartOf":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html"},"author":{"name":"Neha T","@id":"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe"},"headline":"Pipelining in Computer Architecture","datePublished":"2019-09-06T11:54:26+00:00","dateModified":"2019-09-24T11:06:52+00:00","mainEntityOfPage":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html"},"wordCount":1293,"commentCount":8,"publisher":{"@id":"https:\/\/binaryterms.com\/#organization"},"image":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg","articleSection":["Computer Architecture"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html","url":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html","name":"What is Pipelining in Computer Architecture? Types, Hazards & Advantages - Binary Terms","isPartOf":{"@id":"https:\/\/binaryterms.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage"},"image":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg","datePublished":"2019-09-06T11:54:26+00:00","dateModified":"2019-09-24T11:06:52+00:00","description":"Pipelining organizes the concurrent execution of the multiple instructions in the system thereby improving the throughput of the system. In pipelining the","breadcrumb":{"@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#primaryimage","url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg","contentUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2019\/09\/Instruction-Division.jpg","width":600,"height":83,"caption":"Instruction Division"},{"@type":"BreadcrumbList","@id":"https:\/\/binaryterms.com\/pipelining-in-computer-architecture.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/binaryterms.com\/"},{"@type":"ListItem","position":2,"name":"Pipelining 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\/291","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=291"}],"version-history":[{"count":0,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/291\/revisions"}],"wp:attachment":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/media?parent=291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/categories?post=291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/tags?post=291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}