{"id":3754,"date":"2023-10-15T19:34:37","date_gmt":"2023-10-15T14:04:37","guid":{"rendered":"https:\/\/usemynotes.com\/?p=3754"},"modified":"2025-11-13T23:37:01","modified_gmt":"2025-11-13T18:07:01","slug":"what-is-8086-microprocessor","status":"publish","type":"post","link":"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/","title":{"rendered":"What is 8086 Microprocessor? Features, Architecture &#038; 8085 vs 8086"},"content":{"rendered":"<p>In this course, we will study the 8086 microprocessor, its features, and the difference between 8086 and <a href=\"https:\/\/usemynotes.com\/what-is-a-microprocessor\/\">8085 microprocessors<\/a>. So let us start.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#What_is_the_8086_Microprocessor\" >What is the 8086 Microprocessor?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#What_are_the_Features_of_the_8086_Microprocessor\" >What are the Features of the 8086 Microprocessor?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#What_are_the_basic_parts_of_8086_Microprocessor\" >What are the basic parts of 8086 Microprocessor?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#The_Bus_Interface_Unit_BIU\" >The Bus Interface Unit (BIU)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Instruction_Pointer_IP\" >Instruction Pointer (IP)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Code_Segment_Register_in_8086_Microprocessor\" >Code Segment Register in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Data_Segment_Register_in_8086_Microprocessor\" >Data Segment Register in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Stack_Segment_Register_in_8086_Microprocessor\" >Stack Segment Register in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Extra_Segment_Register_in_8086_Microprocessor\" >Extra Segment Register in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Address_Generation_Circuit_in_8086_Microprocessor\" >Address Generation Circuit in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#6_Byte_Prefetch_Queue_in_8086_Microprocessor\" >6 Byte Prefetch Queue in 8086 Microprocessor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#The_Execution_Unit_EU\" >The Execution Unit (EU)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Arithmetic_Logic_Unit_16_bit\" >Arithmetic Logic Unit (16 bit)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Special_purpose_registers_16-bit\" >Special purpose registers (16-bit)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Instruction_Register_and_Instruction_Decoder\" >Instruction Register and Instruction Decoder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Flag_Registers_in_8086_Microprocessor\" >Flag Registers in 8086 Microprocessor<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#6_Status_flags\" >6 Status flags:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#3_Control_flags\" >3 Control flags:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/usemynotes.com\/what-is-8086-microprocessor\/#Difference_Between_8085_Microprocessors_and_8086_Microprocessors\" >Difference Between 8085 Microprocessors and 8086 Microprocessors<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_is_the_8086_Microprocessor\"><\/span>What is the 8086 Microprocessor?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>It was the first 16-bit microprocessor built. It is an example of a complex instruction set computer (CISC). The 8086 microprocessor was first introduced in the year 1978.<\/p>\n<ul>\n<li>It supports pipelining which means it supports faster execution of the instructions.<\/li>\n<li>The 8086 consists of 20 address lines and 16 data lines. It can support up to 64k input\/output ports.<\/li>\n<li>The registers in this microprocessor are 14-16 bits.<\/li>\n<li>It can access up to 220 memory locations.<\/li>\n<li>There are two modes of operations that can be performed- the minimum and maximum mode. The maximum mode is for the usage by the systems having multiprocessors and the minimum mode is for the systems having a single processor.<\/li>\n<li>It has a powerful instruction set that helps in making division and multiplication easy.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"wp-image-3755 size-full aligncenter\" src=\"https:\/\/usemynotes.com\/wp-content\/uploads\/2023\/10\/8086-microprocessor.png\" alt=\"8086 Microprocessor\" width=\"491\" height=\"329\" title=\"\" srcset=\"https:\/\/usemynotes.com\/wp-content\/uploads\/2023\/10\/8086-microprocessor.png 491w, https:\/\/usemynotes.com\/wp-content\/uploads\/2023\/10\/8086-microprocessor-300x201.png 300w, https:\/\/usemynotes.com\/wp-content\/uploads\/2023\/10\/8086-microprocessor-150x101.png 150w\" sizes=\"(max-width: 491px) 100vw, 491px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"What_are_the_Features_of_the_8086_Microprocessor\"><\/span>What are the Features of the 8086 Microprocessor?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>It consists of an instruction queue that is capable of storing 6 instruction bytes from the memory and due to this property, the processing is fast.<\/li>\n<li>The microprocessor was the first 16-bit processor having 16-bit ALU. it consists of the 16-bit register, internal data bus, and 16-bit external data bus which helps in faster processing.<\/li>\n<li>There are 3 versions available of 8086 which depends upon the frequency of operation.<\/li>\n<li>There are two stages of pipelining that are used- the fetch stage and execute stage, which helps in improving the performance.<\/li>\n<li>It has a multiplexed address and data bus.<\/li>\n<li>To provide internal timing it requires a single-phase clock with a 33% duty cycle.<\/li>\n<li>The microprocessor is able to prefetch up to 6 instruction bytes from memory and can queue them in order to boost up the execution of the instruction.<\/li>\n<li>The instructions are executed in the execution stage.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"What_are_the_basic_parts_of_8086_Microprocessor\"><\/span>What are the basic parts of 8086 Microprocessor?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"The_Bus_Interface_Unit_BIU\"><\/span>The Bus Interface Unit (BIU)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>BIU performs the following functions-<\/strong><\/p>\n<ul>\n<li>It generates the 20-bit physical address for accessing memory.<\/li>\n<li>Instructions are fetched from the memory.<\/li>\n<li>It transfers data between the memory and the I\/O<\/li>\n<li>Maintains the 6-byte prefetch instruction queue.<\/li>\n<\/ul>\n<p>There are 4 Segment registers in BUI. They are the Instruction Pointer, a prefetch queue, and an Address Generation Circuit.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Instruction_Pointer_IP\"><\/span>Instruction Pointer (IP)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>It is a 16-bit register. It holds the offset of the next instructions in the Code Segment.<\/li>\n<li>It is incremented after every instruction byte is fetched.<\/li>\n<li>It gets a new value whenever a branch instruction occurs.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Code_Segment_Register_in_8086_Microprocessor\"><\/span>Code Segment Register in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It holds the base address for the Code Segment. All the programs are stored in the Code Segment and are accessed via the IP.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Data_Segment_Register_in_8086_Microprocessor\"><\/span>Data Segment Register in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It holds the base address for the Data Segment.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Stack_Segment_Register_in_8086_Microprocessor\"><\/span>Stack Segment Register in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It holds the base address for the Stack Segment.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Extra_Segment_Register_in_8086_Microprocessor\"><\/span>Extra Segment Register in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It holds the base address for the Extra Segment.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Address_Generation_Circuit_in_8086_Microprocessor\"><\/span>Address Generation Circuit in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The BIU has a Physical Address Generation Circuit. The 20-bit physical address is being generated by using Segment and Offset addresses.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6_Byte_Prefetch_Queue_in_8086_Microprocessor\"><\/span>6 Byte Prefetch Queue in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>It is a 6-byte queue (FIFO).<\/li>\n<li>Fetching the next instruction during the execution of the current instruction is called pipelining.<\/li>\n<li>Gets flushed whenever a branch instruction occurs.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"The_Execution_Unit_EU\"><\/span>The Execution Unit (EU)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Fetches instructions from the Queue in BIU, decodes it, and then executes arithmetic and logic operations using the ALU.<\/li>\n<li>It Sends the control signals for internal data transfer operations within the microprocessor.<\/li>\n<li>It Sends the request signals to the BIU to access the external module.<\/li>\n<li>It operates with respect to T-states.<\/li>\n<\/ul>\n<p>There are 16 general purpose registers AX, BX, CX, and DX. Store intermediate values during execution. Each of these has two 8 bit parts (higher and lower).<\/p>\n<ul>\n<li><strong>AX register:\u00a0<\/strong>It holds operands and results during multiplication and division operations. Also an accumulator during String operations.<\/li>\n<li><strong>BX register:<\/strong>\u00a0It holds the memory address (offset address) in indirect addressing modes.<\/li>\n<li><strong>CX register:\u00a0<\/strong>It holds the count for instructions like a loop, rotates, shifts, and string operations.<\/li>\n<li><strong>DX register:\u00a0<\/strong>It is used along with AX to hold 32-bit values during multiplication and division operations.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Arithmetic_Logic_Unit_16_bit\"><\/span>Arithmetic Logic Unit (16 bit)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Performs 8 and 16-bit arithmetic and logic operations.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Special_purpose_registers_16-bit\"><\/span>Special purpose registers (16-bit)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Stack Pointer:<\/strong>\u00a0Points to Stack top. The stack is in Stack Segment, used during instructions like PUSH, POP, CALL, RET, etc.<\/li>\n<li><strong>Base Pointer:<\/strong>\u00a0It can hold the offset address of any location in the stack segment and is used to access random locations of the stack.<\/li>\n<li><strong>Source Index:<\/strong>\u00a0It holds an offset address in the Data Segment during string operations.<\/li>\n<li><strong>Destination Index:<\/strong>\u00a0It holds an offset address in the Extra Segment during string operations.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Instruction_Register_and_Instruction_Decoder\"><\/span>Instruction Register and Instruction Decoder<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The execution unit fetches an opcode from the queue into the instruction register. The instruction decoder decodes it and then sends the information to the control circuit for its execution.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Flag_Registers_in_8086_Microprocessor\"><\/span>Flag Registers in 8086 Microprocessor<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>There are 9 flags that help change or recognize the state of the microprocessor.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"6_Status_flags\"><\/span>6 Status flags:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ol>\n<li>Carry flag (CF)<\/li>\n<li>Parity flag (PF)<\/li>\n<li>Auxiliary carry flag (AF)<\/li>\n<li>Zero flags (Z)<\/li>\n<li>Sign flag (S)<\/li>\n<li>Overflow flag (O)<\/li>\n<\/ol>\n<h4><span class=\"ez-toc-section\" id=\"3_Control_flags\"><\/span>3 Control flags:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ol>\n<li>Trap flag(TF)<\/li>\n<li>Interrupt flag(IF)<\/li>\n<li>Direction flag(DF)<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Difference_Between_8085_Microprocessors_and_8086_Microprocessors\"><\/span>Difference Between 8085 Microprocessors and 8086 Microprocessors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<table class=\"table table-bordered table-striped\">\n<thead>\n<tr>\n<th>8085 Microprocessor<\/th>\n<th>8086 Microprocessor<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Here the data bus is of 8 bits<\/td>\n<td>Here the data bus is of 16 bits<\/td>\n<\/tr>\n<tr>\n<td>Here the address bus is of 16 bits<\/td>\n<td>Here the address bus is of 20 bits<\/td>\n<\/tr>\n<tr>\n<td>Its memory capacity is 64 KB<\/td>\n<td>Its memory capacity is 1MB<\/td>\n<\/tr>\n<tr>\n<td>We can perform up to 256 number operations<\/td>\n<td>We can perform up to 65536 number operations<\/td>\n<\/tr>\n<tr>\n<td>The operational frequency is 3.2Hz<\/td>\n<td>The operational frequencies are 8Hz, 10Hz and 5Hz<\/td>\n<\/tr>\n<tr>\n<td>There is only one mode of operation in 8085 microprocessor<\/td>\n<td>There are two modes of operations in 8086. They are minimum and maximum mode<\/td>\n<\/tr>\n<tr>\n<td>The multiplication and division operation can not be performed in it<\/td>\n<td>We can perform multiplication and division operation in it<\/td>\n<\/tr>\n<tr>\n<td>Pipelining and instruction queue is not supported in 8085<\/td>\n<td>8086 supports pipelining and instruction queue<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>In this course, we will study the 8086 microprocessor, its features, and the difference between 8086 and 8085 microprocessors. So let us start. What is the 8086 Microprocessor? It was the first 16-bit microprocessor built. It is an example of a complex instruction set computer (CISC). The 8086 microprocessor was first introduced in the year [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3755,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[184],"tags":[],"class_list":{"0":"post-3754","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-microprocessor"},"_links":{"self":[{"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/posts\/3754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/comments?post=3754"}],"version-history":[{"count":1,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/posts\/3754\/revisions"}],"predecessor-version":[{"id":9175,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/posts\/3754\/revisions\/9175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/media\/3755"}],"wp:attachment":[{"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/media?parent=3754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/categories?post=3754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/usemynotes.com\/wp-json\/wp\/v2\/tags?post=3754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}