Microprocessor, Microcontrollers & Embedded System CSE 3523 Shifat
Microprocessor, Microcontrollers & Embedded System CSE 3523 Shifat
Introduction of Microprocessor
A Microprocessor is an important part of a computer architecture without which you will not
be able to perform anything on your computer. It is a programmable device that takes in input
performs some arithmetic and logical operations over it and produces the desired output. In
simple words, a Microprocessor is a digital device on a chip that can fetch instructions from
memory, decode and execute them and give results.
Basics of Microprocessor –
A Microprocessor takes a bunch of instructions in machine language and executes them, telling
the processor what it has to do. Microprocessor performs three basic things while executing the
instruction:
1. It performs some basic operations like addition, subtraction, multiplication, division, and
some logical operations using its Arithmetic and Logical Unit (ALU). New
Microprocessors also perform operations on floating-point numbers also.
3. It has a Program Counter (PC) register that stores the address of the next instruction
based on the value of the PC, Microprocessor jumps from one location to another and
takes decisions.
Example:
1. Intel 386
2. Intel 486
3. Pentium
Example:
1. IBM RS6000
2. MC88100
3. DEC Alpha 21064
Example:
Disadvantages of microprocessors –
Top of Form
Bottom of Form
Top of Form
Top of Form
Bottom of Form
Top of Form
Bottom of Form
Characteristics of a microprocessor:
Name Year of Invention Clock speed Number of transistors Inst. per sec
60,000
INTEL 4004/4040 1971 by Ted Hoff and Stanley Mazor 740 kHz 2300
Name Year of Invention Clock speed Number of transistors Inst. per sec
8008 1972 500 kHz 3500 50,000
8080 1974 2 MHz 6000 10 times faster than 8008
8085 1976 (16-bit address bus) 3 MHz 6500 769230
Size of the microprocessor – 16 bit
Clock Number of
Name Year of Invention Inst. per sec
speed transistors
1986 (other versions 80386DX, 80386SX,
INTEL 16 MHz –
80386SL , and data bus 32-bit address bus 275000
80386 33 MHz
32 bit)
INTEL 1986 (other versions 80486DX, 80486SX, 16 MHz – 1.2 Million
8 KB of cache memory
80486 80486DX2, 80486DX4) 100 MHz transistors
Cache memory 8 bit for
PENTIUM 1993 66 MHz
instructions 8 bit for data
Number of
Name Year of Invention Clock speed Inst. per sec
transistors
2006 (other versions core2 64 KB of L1 cache
INTEL 291 Million
duo, core2 quad, core2 1.2 GHz to 3 GHz per core 4 MB of L2
core 2 transistors
extreme) cache
2.2GHz – 3.3GHz, 2.4GHz –
i3, i5, i7 2007, 2009, 2010
3.6GHz, 2.93GHz – 3.33GHz
Generations of microprocessors:
1. First-generation –
From 1971 to 1972 the era of the first generation came which brought microprocessors
like INTEL 4004 Rockwell international PPS-4 INTEL 8008 etc.
2. Second generation –
The second generation marked the development of 8-bit microprocessors from 1973 to
1978. Processors like INTEL 8085 Motorola 6800 and 6801 etc. came into existence.
3. Third generation –
The third generation brought forward the 16-bit processors like INTEL
8086/80186/80286 Motorola 68000 68010 etc. From 1979 to 1980 this generation used
the HMOS technology.
4. Fourth generation –
The fourth-generation came into existence from 1981 to 1995. The 32-bit processors
using HMOS fabrication came into existence. INTEL 80386 and Motorola 68020 are
some of the popular processors of this generation.
5. Fifth-generation –
From 1995 till now we are in the fifth generation. 64-bit processors like PENTIUM,
Celeron, dual, quad, and octa-core processors came into existence.
❑ The part of the central processing unit that deals with operations such as addition,
subtraction and multiplication of integers and Boolean operations. It receives control
signals from the control unit telling it to carry out these operations.
❑ It works in conjunction with the register array for many of these, in particular, the
accumulator and flag registers. The accumulator holds the results of operations, while
the flag register contains a number of individual bits that are used to store information
about the last operation carried out by the ALU.
Addition and subtraction: These two tasks are performed by constructs of logic gates, such as
half adders and full adders. While they may be termed 'adders', with the aid of they can also
perform subtraction via use of inverters and 'two's complement' arithmetic.
Multiplication and division: In most modern processors, the multiplication and division of
integer values is handled by specific floating-point hardware within the CPU. Earlier processors
used either additional chips known as maths co-processors, or used a completely different
method to perform the task.
Logical tests: Further logic gates are used within the ALU to perform a number of different
logical tests, including seeing if an operation produces a result of zero. Most of these logical
tests are used to then change the values stored in the flag register, so that they may be
checked later by separate operations or instructions. Others produce a result which is then
stored, and used later in further processing.
Comparison: Comparison operations compare values in order to determine such things as
whether one number is greater than, less than or equal to another. These operations can be
performed by subtraction of one of the numbers from the other, and as such can be handled
by the aforementioned logic gates. However, it is not strictly necessary for the result of the
calculation to be stored in this instance; the amount by which the values differ is not required.
Instead, the appropriate status flags in the flag register are set and checked to determine the
result of the operation.
Bit shifting: Shifting operations move bits left or right within a word, with different operations
filling the gaps created in different ways. This is accomplished via the use of a shift register,
which uses pulses from the clock within the control unit to trigger a chain reaction of
movement across the bits that make up the word. Again, this is a quite complicated logical
procedure, and further reading may aid your understanding.
• Transistors: Transistors is the number of transistors on the chip. You can see that the
number of transistors on a single chip has risen steadily over the years.
• Microns: Microns is the width, in microns, of the smallest wire on the chip. For
comparison, a human hair is 100 microns thick. As the feature size on the chip goes
down, the number of transistors rises.
Memory-addressing techniques:
Microprocessor Memory Address is the location of a program counter in a
microprocessor. When a microprocessor is booted up, it loads the microcode that
contains the addresses of the processor’s registers. These registers are used to hold
values that the microprocessor can read and write. The microprocessor places a value at
the beginning of each register in the stack and places a value at the end of each register
in the stack. When the microprocessor is called, it fetches the value at the location in the
microcode that corresponds to the register on the stack.
Addressing Memory:
• Using 3-bit we can address 23=8 distinct memory location. So, n number of bits can
address 2n memory locations. 1K Byte = 1024 Byte. 210=1024
• So, for addressing 1KB of memory we need at least 10 bits. And the addresses will be- 0
to 1023(decimal) or, 000H to 3FF (HEX) or, 0000 0000 0000 to 0011 1111 1111 B (Binary)
• Similarly, for addressing 64 KB of memory we need at least 16 bits.
Figure 1–13bThe physical memory systems of the 8086 through the Core2
microprocessors.
References:
1. The Intel Microprocessor By Barry B. Bray
2. Microprocessor and Microcomputer-Based System
Design by Dr. M. Rafiquzzaman
3. Internet collection and web sources (the course materials used here are for educational
purpose and they are the properties of their respective owners.)