Вы находитесь на странице: 1из 67

Development of Microprocessor

Development of Microprocessor

Combination of digital computer and


semiconductor technology.
By the development of LSI and VLSI
technology, INTEL developed a single
integrated chip that performed all operation
as CPU and was consequently called a P.
A breakthrough in the development of
microprocessor was achieved in 1972, when
INTEL developed its first P called Intel 4004.
The Intel 4004 was the first chip to contain all
of the components of a CPU on a single chip.
It is a 4-bit P, i.e. its instruction and data
word length was 4-bit.
It is primarily used in calculators
The Intel 4004 was shortly followed by 8-bit
P 8008 in 1972.
8080 was 8-bit P, which can operate 20 times
faster than 8008.
8-bit 6800 processor of Motorola in 1974.
After that Intel 8085, 8086, 80186, 80286,
80386, 80486 and Pentium where as Motorola
produced 6802, 68000, etc.
Chapter 2: Architecture of 8-bit
microprocessor (8085)
Intel 8085 is an 8-bit P.
Components:
- Register
- Accumulator
- Flags
- Program Counter
- Stack pointer
Instruction decoder
Arithmetic and Logic Unit
Register
The 8085 has six general purpose registers,
one accumulator, one flag register and other
special 8-bit registers.
In addition, it has two 16-bit register: the
program counter and the stack pointer.
6 general purpose registers: B, C, D, E, H & L.
Accessible to the programmer and can be
used to store/copy data by using instruction.
Can be used individually as 8-bit register or
can be combined as register pair BC, DE, HL to
perform some 16-bit operations.
Accumulator
8-bit register that is a part of ALU
Used to store 8-bit data and to perform
arithmetic and logical operations.
The result of an operation is stored in the
accumulator.
Also identified as register A.
Flags
The ALU includes five flip-flops, which are set
or reset after an operation according to data
conditions of the result in the accumulator
and other registers.
They are called Zero(Z), Carry (CY), Sign (S),
Parity (P), and Auxiliary Carry (AC) flags.
The most commonly used flags are Zero, Carry,
and Sign.
The P uses these flags to test data conditions.
E.g., after an addition of two numbers, if the
sum in the accumulator is larger than eight
bits, the flip-flop uses to indicate a carry called
the Carry flag (CY) is set to one.
When an arithmetic operation results in zero,
the flip-flop called the Zero(Z) flag is set to
one.
The flags are stored in the 8-bit register so
that the programmer can examine these flags
(data conditions) by accessing the register
through an instruction.
Program counter
This 16-bit register deals with sequencing the
execution of instructions.
This is a memory pointer
Memory locations have 16-bit addresses, and
that is why this is a 16-bit register.
Used to sequence the execution of the
instructions.
The function of the program counter is to
point to the memory address from which the
next byte is to be fetched.
When a byte (machine code) is being fetched,
the program counter is incremented by one to
point to the next memory location.
Stack Pointer
16-bit register used as a memory pointer
It points to a memory location in R/W
memory, called the stack.
The beginning of the stack is defined by
loading 16-bit address in the stack pointer.
Temporary register
8-bit register, which is not accessible to the
programmer.
Used internally by the microprocessor to hold
8-bit data during the execution of some
instruction.
Instruction register
When an instruction is fetched from the
memory, it is loaded in the instruction register.
It passes the instruction to the instruction
decoder & machine cycle encoding circuit.
Instruction Decoder
It decodes the instruction, so that the
microprocessor knows which type of
operation is to be performed before executing
it.
The output of the instruction decoder is fed to
control and timing unit.
The control and timing unit then generates
the necessary control and timing signals.
Arithmetic and Logic Unit
The ALU performs the arithmetic operations
like add, subtract, etc. and logical operations
like AND, OR, XOR, etc.
ALU carries out left & right shifting of the 8-bit
data stored in accumulator.
When ALU performs arithmetic and logical
operations, one of the data is stored in
accumulator and the result of the operations
is returned to the accumulator itself.
The flags are affected by the arithmetic and
logic operation in ALU.
Pin diagram of 8085 microprocessor
Intel 8085
Properties
Single + 5V Supply
4 Vectored Interrupts (One is Non Maskable)
- Non-Maskable Interrupt: highest-priority interrupt
capable of interrupting all software and non-vital
hardware devices.
Serial In/ Serial Out Port
Decimal, Binary, and Double Precision Arithmetic
Direct Addressing Capability to 64K memory
Intel 8085A is a new generation, complete 8
bit parallel CPU.
Uses a multiplexed data bus.
The address is split between the 8-bit address
bus and the 8 bit data bus.
Pin Description
A6 - A1s (Output 3 State)
Address Bus: The most significant 8 bits of the
memory address or the 8 bits of the I/0
address,3 stated during Hold and Halt modes.
AD0 - 7 (Input/Output 3 state)
Multiplexed Address/Data Bus; Lower 8 bits of
the memory address (or I/O address) appear
on the bus during the first clock cycle of a
machine state.
It then becomes the data bus during the
second and third clock cycles. 3 stated during
Hold and Halt modes.
ALE (Output)
Address Latch Enable
- It occurs during the first clock cycle of a
machine state and enables the address to get
latched into the chip latch of peripherals.
- The falling ALE holds time for the address
information.
SO, S1 (Output)
Data Bus Status
Encoded status of the bus cycle:
S1 S0
0 0 HALT
0 1 WRITE
1 0 READ
1 1 FETCH
S1 can be used as an advanced R/W status
RD (Output 3state)
READ indicates the selected memory or I/0
device is to be read and that the Data Bus is
available for the data transfer.
WR (Output 3 state)
WRITE indicates the data on the Data Bus is to
be written into the selected memory or I/0
location. Data is set up at the trailing edge of
WR. 3 stated during Hold and Halt modes.
READY (Input)
If Ready is high during a read or write cycle,
the memory or peripheral is ready to send or
receive data.
If Ready is low, the CPU will wait for Ready to
go high before completing the read or write
cycle.
HOLD (Input)
HOLD indicates that another Master is
requesting the use of the Address and Data
Buses.
The CPU, upon receiving the Hold request, will
relinquish the use of buses as soon as the
completion of the current machine cycle.
Internal processing can continue. The
processor can regain the buses only after the
Hold is removed.
When the Hold is acknowledged, the Address,
Data, RD, WR, and IO/M lines are 3 stated.
HLDA (Output)
HOLD ACKNOWLEDGE indicates that the CPU
has received the Hold request and that it will
relinquish the buses in the next clock cycle.
HLDA goes low after the Hold request is
removed.
The CPU takes the buses one half clock cycle
after HLDA goes low.
INTR (Input)
INTERRUPT REQUEST is used as a general
purpose interrupt.
It is sampled only during the next to the last
clock cycle of the instruction.
If it is active, the Program Counter (PC) will be
inhibited from incrementing and an INTA will
be issued.
During this cycle a RESTART or CALL
instruction can be inserted to jump to the
interrupt service routine.
The INTR is enabled and disabled by software.
It is disabled by Reset and immediately after
an interrupt is accepted.
INTA (Output)
INTERRUPT ACKNOWLEDGE is used instead of
(and has the same timing as) RD during the
Instruction cycle after an INTR is accepted.
It can be used to activate the 8259 Interrupt
chip or some other interrupt port.
RST 5.5
RST 6.5 - (Inputs)
RST 7.5
RESTART INTERRUPTS: These three inputs have
the same timing as INTR except they cause an
internal RESTART to be automatically inserted.
RST 7.5 ~~ Highest Priority
RST 6.5
RST 5.5 o Lowest Priority
TRAP (Input)
Trap interrupt is a non-maskable restart
interrupt.
Recognized at the same time as INTR
Unaffected by any mask or Interrupt Enable
Has the highest priority of any interrupt.
RESET IN (Input)
Reset sets the Program Counter to zero and
resets the Interrupt Enable and HLDA flipflops.
None of the other flags or registers (except
the instruction register) are affected.
The CPU is held in the reset condition as long
as Reset is applied.
RESET OUT (Output)
Indicates CPU is being reset
Can be used as a system RESET
The signal is synchronized to the processor
clock.
X1, X2 (Input)
Crystal or R/C network connections to set the
internal clock generator X1 can also be an
external clock input instead of a crystal
The input frequency is divided by 2 to give the
internal operating frequency.
CLK (Output)
Clock Output for use as a system clock when a
crystal or R/ C network is used as an input to
the CPU
The period of CLK is twice the X1, X2 input
period.
IO/M (Output)
IO/M indicates whether the Read/Write is to
memory or l/O Tri-stated during Hold and Halt
modes.
SID (Input)
Serial input data line
The data on this line is loaded into
accumulator bit 7 whenever a memory
instruction is executed.
SOD (output)
Serial output data line
The output SOD is set or reset as specified by
the SIM instruction.
Vcc
+5 volt supply.
Vss
Ground Reference.
8085 in brief
The 8085 is an 8-bit general purpose
microprocessor that can address 64K Byte of
memory.
40 pins,maximum frequency of 3 MHz
6 groups of pins: Address Bus, Data Bus,
Control and Status Signals, Power supply and
frequency, Externally Initiated Signals, Serial
I/O ports.
A8 A15 unidirectional.
The other 8 address bits are multiplexed (time
shared) with the 8 data bits.
AD0 AD7 are bi-directional and serve as A0
A7 and D0 D7 at the same time.
Control and status signals
ALE: Address Latch Enable. This signal is a
pulse that become 1 when the AD0 AD7
RD: Read. Active low.
WR: Write. Active low.
IO/M: memory operation (IO/M=0) or an
I/O operation (IO/M=1).
S1 and S0 : Status signals to specify the
kind of operation
Frequency Control Signals
3 important pins
X0 and X1 are the inputs from the crystal or
clock generating circuit.
The frequency is internally divided by 2.
So, to run the microprocessor at 3
MHz, a clock running at 6 MHz should
be connected to the X0 and X1 pins.
CLK (OUT): An output clock pin to drive the
clock of the rest of the system.
Chip Selection
A15- A10 Circuit

8085
CS
A15-A8

ALE
A9 - A0 1K Byte
Latch Memory
AD7-AD0 A7 - A0 Chip

WR RD IO/M D7 - D0
RD WR
Memory Read and Write.
I/O Read and Write.
Request Acknowledge.
The first step of executing any instruction is
the Opcode fetch cycle.
IO/M=0, s0 and s1 are both 1.
Memory Read Machine Cycle
The memory read machine cycle is exactly the
same as the opcode fetch except:
It only has 3 T-states
The s0 signal is set to 0 instead.
Memory structure & its requirements
Interfacing Memory
The microprocessor places a 16-bit address on
the address bus.
Part of the address bus will select the chip and
the other part will go through the address
decoder to select the register.
The signals IO/M and RD combined indicate
that a memory read operation is in progress.
Address decoding
Chip Selection
A15- A10 Circuit

8085
CS
A15-A8

ALE
A9 - A0 1K Byte
Latch Memory
AD7-AD0 A7 - A0 Chip

WR RD IO/M D7 - D0
RD WR
Control and Status Signals
Interrupt Vectors
RESET signal
RESET IN: an active low input signal,
Program Counter (PC) will be set to 0 and
thus MPU will reset.
RESET OUT: an output reset signal to
indicate that the p was reset (i.e. RESET
IN=0). It also used to reset external devices.
Direct Memory Access (DMA)
DMA is an IO technique where external IO
device requests the use of the MPU buses.
Allows external IO devices to gain high speed
access to the memory.
Example of IO devices that use DMA: disk
memory system.
HOLD and HLDA are used for DMA.
If HOLD=1, 8085 will place it address, data and
control pins at their high-impedance.
A DMA acknowledgement is signaled by
HLDA=1.
MPU Communication and Bus Timing

Вам также может понравиться