Wednesday, 16 January 2013

Microprocessors - The 8086 family



NOTE: Sources include wikipediaHowStuffWorks, etc, a bit of googling and whatever was taught in my class !!

What exactly is this microprocessor?? Well, its the "heart" of any computer. With the microprocessor, the functions or tasks of a computer can be done using a single IC (or a few ICs together) . It takes only BOOLEAN inputs and results are what we see today.

Much before the usage of microprocessors, early computers used ICs which had a few hundreds of transistors burnt on them. Most often, multiple ICs were required and together, all were burnt on a single platform.

Because of this arrangement, a large number of logic gates had to be used, which in turn lead to increased heat dissipation and lower speeds.

But the discovery of microprocessors has changed it all !

The first microprocessor was introduced in 1971, it was called Intel 4004. It was a very primitive version as compared to todays microprocessors. The 4004 could add and subtract 4 bits (and just 4 bits) at a time. Refer wikipedia for much deeper history and evolution of the microprocessors.

The first microprocessor to make it to a home computer is the Intel 8080 and then on, improvised versions kept evolving -
4004, 4040, 8080, 8085, 8086, 8088, 80186, 80126, 80386 SX 80386 DX, 80386 EX, 80486, Pentium Pro, Intel Pentium II, III, IV and so on.

Each version represents a family of microprocessors. Modern microprocessors can be traced back to their basic version - the 8085, 8086 microprocessors. The 8086 contains additional functions when compared to the 8085 and so we shall see more about the 8086 family.

## At this point, I have an unanswered question - Is there any basis for the naming of the microprocessors? Why do they start with an "80-" ? I could do with some opinion, readers :)

--> I think that the "40-" signified 4 bit operations, and the "80-", 8 bit operations, Im not sure. Please do correct me If I am wrong.

Generally, microprocessors can be differentiated using three features:
a) INSTRUCTION SET : The set of instructions that the microprocessor can execute.
b) BANDWIDTH : The number of bits processed in a single instruction.
c) CLOCK SPEED : Specified in MHz (megahertz), the clock speed determines how many instructions the microprocessor can execute per second.

On a rougher note, one can say that a 32-bit microprocessor with clock speed of 50 MHz is more powerful than a 16-bit microprocessor with a clock speed of, say, 25 MHz.


A GENERAL PURPOSE MICROPROCESSOR:




Schematic Diagram of a General purpose Microprocessor

Referring to the figure above, we see that there are two "buses" . A BUS may be seen as a 'path' for establishing communication between the microprocessor and a peripheral. To set up a communication between, say, a device and the microprocessor, the microprocessor should first "address" that device and then communicate. The address bus does just that.

A group of lines are used to identify the devices, these lines constitute the address bus, and its UNIDIRECTIONAL.

A general microprocessor has another bus, namely, the DATA bus, which, as the name suggests, makes the exchange of data possible. This is BIDIRECTIONAL.

A general microprocessor has what forms a path for all communication - Datapath.

The  datapath  consists  of  the  circuitry  for  transforming  data  and  for  storing
temporary  data.  The  datapath  contains  an  arithmetic-logic  unit  (ALU)  capable  of
transforming  data  through  operations  such  as  addition,  subtraction,  logical  AND,  logical OR,  inverting,  and  shifting.  The  ALU  also  generates  status  signals,  often  stored  in  a status register indicating  particular  data  conditions.  Such  conditions  include indicating  whether  data  is  zero,  or  whether  an  addition  of  two  data  items  generates  a carry.  The  datapath  also  contains  registers  capable  of  storing  temporary  data.  Temporary data  may  include  data  brought  in  from  memory  but  not  yet  sent  through  the  ALU,  data coming  from  the  ALU  that  will  be  needed  for  later  ALU  operations  or  will  be  sent  back to  memory,  and  data  that  must  be  moved  from  one  memory  location  to  another.  The internal data bus is the bus  over  which  data  travels  within  the  datapath,  while the  external data bus is the bus over which data is brought to and from the data memory.


When we say a processor is a 16-bit or 32-bit processor, we mean to convey that the width of the DATA bus is 16-bits or 32-bits respectively.

In addition to the data and address buses, we also have what are called control signals, which we shall discuss a little later.
For convenience I shift the further part to the next post.

The Beginning..

I think it would be good if I had mentioned the sole purpose of the blog, so I start..

I am a student of the Electrical and Electronics Engineering, and like majority of us electrical ( trical, henceforth ;) ) students, I faced (and still facing) quite a good number of "understanding" problems!!

So I decided to sort it out, well, with help, from all those who are willing to help. With the advent of the World wide Web, and the blogger, I thought Online platforms were my first resource.

I shall start posting stuff about all what I have Learnt during my course, and i hope to receive improvisations and comments from the well informed lot.

Please do feel free to leave a comment or two!

(Harsh criticism is obviously not wanted, if You do not like the content of this blog, there are many other things much appealing :) )