Introduction to 8086 Microprocessor

We are surrounded by microprocessors. You can find them in your smartphones, watches, computers, laptops, tablets, cars, washing machines and even your door bells. Today, the two most popular types of Microprocessors are x86 and ARM. While ARM Microprocessors are popular in small and power efficient devices (things are changing nowadays with more ARM CPUs in desktops), the x86 family is still the “mainstream” microprocessor that we use in our computers, laptops, and servers. And all this started with the 8086 Microprocessor over four decades ago. In this Introduction to 8086 Microprocessor guide, let us explore the world of 8086 Microprocessors and the x86 family.

A Brief History of Computers

The Mechanical Era

From the early Abacus to large mechanical calculators, we have always been interested in computing. Charles Babbage, who is often dubbed the “father of the computer”, designed the Analytical Engine, what would have been the first mechanical general-purpose computer. Sadly, he couldn’t complete its construction due to technical conflicts.

Almost a century later, the ‘Zuse’ machines were being developed by Konrad Zuse and the ‘Z3’ was the first programmable electromechanical computer that used punch cards based on 35 mm film stock for programming.

The Electrical Era

Up until this time, all the computers were either steam powered mechanical or electromechanical devices that used mechanical relays. This changed when Tommy Flowers and Alan Turing developed ‘Colossus’ as a codebreaker for the Enigma Machine using vacuum tubes (thermionic valves).

Vacuum-Tubes-Thermionic-Valves

Even though it is a special-purpose computer rather than a general-purpose computer, it is considered as the first electronic digital computer.

Shortly after World War II ended, the University of Pennsylvania designed ENIAC (Electronic Numerical Integrator and Computer) for the U.S. Army’s Ballistic Research Laboratory.

ENIAC-Computer

It was the first general-purpose, programmable electronic digital computer that paved the way for modern digital electronic computers.

ENIAC was massive with dimensions roughly around 8ft. × 3ft. × 100ft. and it weighed over 27 tons. Another crazy fact about the ENIAC is that its power consumption was around 150 kW. Components wise, the ENIAC had over 18,000 vacuum tubes, 1,500 relays, 70,000 resistors and many more.

But the interesting thing about the ENIAC is that it was programmable to perform complex computational operations. However, unlike modern computers, which rely on memory to store instructions, the ENIAC had a complex plugboard wiring system and in order to program it, operators had to physically rewire the circuits.

The Transistor and Integrated Circuit Era

In the late 40’s and early 50’s, the World has seen several inventions in the field of electronics and one important invention was the Transistor. With discrete transistors, scientists and engineers could scale down the size of computers from room sized behemoths to refrigerator sized “mainframe” computers.

Transistor

While the concept of an Integrated Circuit or IC (its earliest concept was known as Micromodules) started in the mid 50’s, the World had to wait until 1959 to see the first monolithic integrated circuit. ICs have a significant advantage over discrete transistors both in terms of performance and also cost. The integrated circuits started the “chips” era.

Integrated-Circuits

As a result, the size of computers took a significant cut and became what was known as “minicomputers”, thanks to Small Scale Integration (SSI) and Medium Scale Integration (MSI). Up until this point, the main “processing” part of the computer was designed using several integrated circuits.

The Microprocessor Era

Enter the Intel 4004, the World’s first Microprocessor from Intel. Before this, Intel was happily designing and manufacturing memory chips. A Japanese company known as Busicom contacted Intel to design an IC to be featured in their programmable calculators. Thus, the Intel 4004, a 4-bit microprocessor was born.

Intel and Texas Instruments (which later developed the first Microcontroller) saw the potential of microprocessors and started working on their new and improved versions of microprocessors. Intel upgraded the 4004 with a completely new design in the form of the 8-bit 8008.

During this era, we saw many companies designing their own lineup of microprocessors. Some of the popular ones are: the Z80 by Zilog, 6502 by MOS Technology and 6800 by Motorola. Ever since, the evolution of microprocessor continues even today.

What is a Microprocessor?

Even with invention of transistor and Integrated Circuits (IC or Chip), computers had several circuit boards with many ICs to implement the necessary digital logic and control operations.

With the invention of Intel 4004, the way the tech world viewed electronics has completely changed. It was the World’s first microprocessor. But what is a Microprocessor?

It is an integrated circuit (IC) that consists of all the essential components of a computer’s central processing unit (CPU) for digital data processing, logic and control operations. These components include an Arithmetic Logic Unit (ALU), a Control Unit (CU) and a Register Unit (RU). As a result, a microprocessor IC (with these components inside) could interpret and execute instructions (that are stored in a memory unit) and also perform arithmetic operations.

  • Arithmetic Logic Unit (ALU): It is the main part of the microprocessor (or a central processing unit to be specific) that performs both arithmetic operations (addition, subtraction etc.) and logical operations (AND, OR, Ex-OR, etc.).
  • Control Unit (CU): The Control Unit is responsible for fetching the instructions from the memory and executing them.
  • Register Unit (RU): It consists of all the registers that act as a temporary storage for data during the execution of instructions.
8086-Microprocessor-Components

Microprocessor makes up only the Central Processing Unit (CPU) part of the computer. In order to build a full computer around it, you need several other components such as memory (RAM, ROM), input, output, clock, etc.

Before microprocessors, computers were known as Mainframe computers and minicomputers as they were large in size and has either discrete transistor or several circuit boards with integrated circuits. But after the invention of microprocessors (and the corresponding support chips), the size of computers reduced drastically from a large refrigerator sized minicomputer to microcomputers that could fit on a desk, such as the IBM PC.

Introduction to 8086 Microprocessor

With the success of 4004, Intel started working on their new microprocessor that was a completely new design rather than a modification or upgrade to the 4004 in collaboration with Computer Terminal Corporation (CTC). This gave birth to the first 8-bit Microprocessor, the 8008 (nice;)).

It was originally intended to be used in CTC’s programmable terminal (Datapoint 2200) but was never used due technical difficulties and later ended up in Seiko’s calculator. Intel updated their 8-bit Microprocessor lineup with 8080 (in 1974) and 8085 in 1976 (the last 8-bit Microprocessor from Intel).

8080 was an extension to Intel’s 8008 (nice) Microprocessor with improved clock rate and is quite popular for its use in the Altair 8080 Personal Computer. While the 8085 Microprocessor had significant improvement over its predecessors, with clock speeds going as high as 6 MHz, it was always in the shadows of Z80 from Zilog.

But the advantage that the 8085 had over Z80 was the microcontroller like features such as priority interrupts and serial IO. This advantage led to 8085 being primarily used in “microcontroller” style applications rather than general-purpose or personal computers.

The Birth of 8086 and x86

In 1978, Intel released its first 16-bit Microprocessor: the 8086. This is the microprocessor that gave birth to the famous “x86” family of Microprocessors that we still use today, of course with several modifications over the decades, but the baseline instruction set of today’s processors started with 8086.

The main reason for introducing a 16-bit Microprocessor was the ability to address more memory, which is an essential requirement for powerful and computationally complex applications. While the 8086 is a 16-bit Microprocessor, its microarchitecture is basically the same as its most recent (at the time) 8-bit microprocessors i.e., 8008 (nice), 8080 and 8085.

As a result, the basic instructions set of 8086 are similar to that of the 8-bit microprocessors and also the support chips (8251 USART, 8253 Programmable Timer, 8259 Programmable Interrupt Controller, etc.). The additional benefit of the similar microarchitecture was that the Assembly Programs written for 8008 (nice), 8080 and 8085 can be easily migrated to the 8086 microprocessor.

Technical Aspects of 8086 Microprocessor

Intel manufactured the original 8086 Microprocessor using HMOS (High Performance MOS) technology. It is a refined NMOS process that used Depletion-mode n-type MOSFET so that it could operate on a single +5V power supply (unlike 8080 Microprocessor that required +5V, -5V and +12V supplies). Internally, the 8086 Microprocessor packed over 29,000 transistors.

Clock Speed

When we talk about clock speeds, we usually talk in the range of couple of Giga Hertz (GHz) for most modern CPUs (both desktop and smartphone). But back in 1978, setting clock speed at a couple of MegaHertz (MHz) was a big deal. The first version of the Intel 8086 Microprocessor was clocked at 5 MHz (but the later versions were clocked higher at 8 MHz and 10 MHz).

Physical Package

Physically, the Intel 8086 Microprocessor was available in a 40-pin Dual in-line Package (DIP). Of the 40 pins, 20 pins are used for addressing the external memory and in those, 16 pins are multiplexed with the data bus to reduce the number pf physical pins on the chip. This approach takes a toll on the performance as only one address or data is accessible at a single time.

Memory Addressing

With the 20-bit external address bus, it can address up to 220 bytes (1,048,576 Bytes or 1 MB) of memory space. If the Intel 8086 Microprocessor is a 16-bit microprocessor, it means the ALU, registers and also the address registers are 16-bit. Then how can the 8086 Microprocessor address 20-bit addresses?

This is where the memory segmentation of 8086 comes into play. The 1 MB address space is actually divided into two 512 KB memory banks. To address the IO devices, it uses the 16-bit address bus so that it can generate 216 (65,536 Bytes or 64 KB) addresses.

Registers

Another important part of any microprocessor is their registers. These registers act like an on-chip RAM to store temporary data and instructions. In memory hierarchy, the CPU registers are the fastest (when compared to multi-level cache and external RAM) as they are essentially an integral part of the processor.

All the registers are of 16-bit but some registers are capable of working as 8-bit registers. We can divide Registers in the Intel 8086 Microprocessor into three categories: General Purpose Registers, Segment Registers and Special Function Registers. The following image shows all the registers of 8086 Microprocessor. We will learn more about these registers in a dedicated article.

Architecture

The internal architecture of the Intel 8086 Microprocessor is usually split into two functional units: the Execution Unit (EU) and the Bus Interface Unit (BIU). Due to the pipeline nature of the 8086 Architecture, both these functional units operate independently where the BIU is responsible for fetching instructions, reading and writing data from/to memory and IO ports and the EU is responsible for executing the instructions.

8086-Architecture-Block-Diagram

We will have a detailed explanation of the 8086 Architecture later and explore the function of each and every unit.

Interested in learning a completely new CPU architecture (ARM) based Microcontroller? Here’s an Introduction to STM32G4 MCU.

Beyond 8086: The x86 Family

After the release of 8086 Microprocessor, Intel surprised everyone by releasing the 8088 in 1979 with an 8-bit data bus (as compared to 16-bit data bus of the 8086). The original IBM PC (Model 5150) is designed using the 8088 CPU rather than the higher-level 8086 to keep down the cost of the overall system.

A couple of years later, Intel released a “Microcontroller” variant of 8086 known as the 80186. The highlight of 80186 was that it had several features integrated into the CPU die that were only available as separate integrated circuits for 8086. These featured include a clock generator, timers, interrupt controller, and many more. As a result, the 80186 processor was primarily used in embedded applications.

Intel also released 80286 Microprocessor at the same time as 80186 (in 1982) but with a distinguishing feature of separate address and data busses (all the previous CPUs had multiplexed address and data bus). IBM PC/AT (Model 5170) is designed around 80286 CPU.

A significant evolution in the “x86” line-up was the 80386 Microprocessor (commonly known as the i386) released in 1985. It was the first 32-bit Microprocessor from Intel and as a result, it could address up to 4 GB of memory.

With the 80386 Microprocessor, Intel introduced the 32-bit version of the x86 Instruction Set Architecture popularly known as IA-32. This processor featured in the Compaq Deskpro 386 business computer.

In 1989, Intel introduced the 80486, which is more popularly known as the i486 Microprocessor with almost twice the performance than the 80386 CPU. It is the first “x86” Microprocessor to have more than a million transistors on its die and also on-chip cache (8 KB initially but 16 KB in later models). Additionally, Intel also integrated the Floating-Point Coprocessor into the same die, which was previously available as a separate IC (80387 – i387).

Modern Intel Processors

Intel stopped naming their processors as 80×86 with 80486 and their next iteration was the famous Pentium Processor (also known as P5 as it was considered the 5th gen CPU in the x86 family). The “Pentium” brand for Intel continued with Pentium II, Pentium III, Pentium 4, and Pentium M (Mobile CPU).

After that we saw the Intel Core lineup (initially for mobile applications but later for desktop as well) with Intel Core 2 Duo (first dual core processor), Intel Core 2 Quad (quad core processor), Core i3, i5, i7, i9 and others.

At the time of writing this guide, Intel discontinued the ‘Core iX’ moniker and started a new naming trend in the form of ‘Core Ultra X’ (Core Ultra 9, Core Ultra 7, etc.).

Final Words

As I mentioned before, the Intel 8086 Microprocessor started the “x86” family that is still going strong. Even though the complexity (both in terms of the overall instruction set architecture and also the microarchitecture) has evolved in a multifold, the 8086 Microprocessor remains a legendary piece of technology. This was a brief look back at the Intel 8086 Microprocessor and its legacy. I hope that this Introduction to the 8086 Microprocessor will be your beginning guide into the world of x86 Microprocessors.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top