Beruflich Dokumente
Kultur Dokumente
The word length of a processor depends on data bus, thats why Intel 8085 is called 8 bit
Microprocessor because it have an 8 bit data bus.
1.1.4 CONTROL BUS
Microprocessor uses control bus to process data, that is what to do with the selected memory
location. Some control signals are Read, Write and Opcode fetch etc. Various operations are
performed by microprocessor with the help of control bus. This is a dedicated bus, because all
timing signals are generated according to control signal.
OR
There are three buses in Microprocessor:
1.Address Bus
2.Data Bus
3.ControlBus
1.Address Bus:-Generally, Microprocessor has 16 bit address bus. The bus over
which the CPU sends out the address of the memory location is known as Address
bus. The address bus carries the address of memory location to be written or to be
read from.
The address bus is unidirectional. It means bits flowing occurs only in one direction,
only from microprocessor to peripheral devices.
We can find that how much memory location it can using the formula 2^N. where N
is the number of bits used for address lines.
here,
Q.>If a processor has 4 GB memory then how many address lines are required to
access this memory?
4 = 2^2
1GB = 2^30
2.Data Bus:-8085 Microprocessor has 8 bit data bus. So it can be used to carry the
8 bit data starting from 00000000H(00H) to 11111111H(FFH). Here 'H' tells the
Hexadecimal Number. It is bidirectional. These lines are used for data flowing in
both direction means data can be transferred or can be received through these
lines. The data bus also connects the I/O ports and CPU. The largest number that
can appear on the data bus is 11111111.
It has 8 parallel lines of data bus. So it can access upto 2^8 = 256 data bus lines.
3.Control Bus:-The control bus is used for sending control signals to the memory
and I/O devices. The CPU sends control signal on the control bus to enable the
outputs of addressed memory devices or I/O port devices.
2)
3)
4)
5)
Store data temporarily during execution in the R/W memory locations called the stack.
To perform these operations microprocessor requires registers, Arithmetic and logic unit,
buses and control unit.
To store 8-bit data microprocessor has six general purpose registers. During program
execution, these registers are used to store 8- or 16-bit data. The details of these registers
i.e. B, C, D, E, H and L have already been discussed in register unit.
Arithmetic and logical operations are performed in accumulator and the conditions are
tested by the flag register. Program counter is used to sequence the execution of
instructions and stack memory is used for temporary storage of data during execution and
stack pointer is used to address the stack memory.
1.Power Supply
2.Clock Signals
3.Interrupt Signals
4.Address and Data bus
5.Control and Status signals
6.Serial I/O Port
7.DMA Request Signals
Serial Input Output port:SID and SOD:-These pins are used for serial data communication.
Interrupt Signal:Pin 6 to 11:- These pins are used for interrupt signals. Generally and external
devices are connected here which requests the microprocessor to perform a
particular task.
There are 5 pins for hardware interruptsTRAP, RST7.5, RST 6.5, RST5.5 and INTR
INTA is used for acknowledgement. Microprocessor sends the acknowledgement to
external devices through the INTA pin.
Address Bus and DATA Buses:AD0-AD7:-These are multiplexed address and data bus. So it can be used to carry
the lower order 8 bit address as well as the data. Generally these lines are
demultiplexed using the Latch.
During the opcode fetch operation, in the first clock cycle the lines deliever the
lower order address bus A0-A7.
In the subsequent IO/M read or write it is used as data bus D0-D7. CPU can read or
write data through these lines.
A8-A15:- These are address bus used to address the memory location.
8085 consists of various units and each unit performs its own functions. The various units of a
microprocessor are listed below
Accumulator
Arithmetic and logic Unit
General purpose register
Program counter
Stack pointer
Temporary register
Flags
Instruction register and Decoder
Timing and Control unit
Interrupt control
Serial Input/output control
Address buffer and Address-Data buffer
Address bus and Data bus
Accumulator
Accumulator is nothing but a register which can hold 8-bit data. Accumulator aids in storing two
quantities.
The data to be processed by arithmetic and logic unit is stored in accumulator.
It also stores the result of the operation carried out by the Arithmetic and Logic unit.
The accumulator is also called an 8-bit register. The accumulator is connected to Internal Data
bus and ALU (arithmetic and logic unit). The accumulator can be used to send or receive data
from the Internal Data bus.
Arithmetic and Logic Unit
There is always a need to perform arithmetic operations like +, -, *, / and to perform logical
operations like AND, OR, NOT etc. So there is a necessity for creating a separate unit which can
perform such types of operations. These operations are performed by the Arithmetic and Logic
Unit (ALU). ALU performs these operations on 8-bit data.
But these operations cannot be performed unless we have an input (or) data on which the desired
operation is to be performed. So from where do these inputs reach the ALU? For this purpose
accumulator is used. ALU gets its Input from accumulator and temporary register. After
processing the necessary operations, the result is stored back in accumulator.
General Purpose Registers
Apart from accumulator 8085 consists of six special types of registers called General Purpose
Registers.
What do these general purpose registers do?
These general purpose registers are used to hold data like any other registers. The general
purpose registers in 8085 processors are B, C, D, E, H and L. Each register can hold 8-bit
data. Apart from the above function these registers can also be used to work in pairs to hold 16bit data.
They can work in pairs such as B-C, D-E and H-L to store 16-bit data. The H-L pair works as a
memory pointer.
A memory pointer holds the address of a particular memory location. They can store 16-bit
address as they work in pair.
Program counter
it is a special purpose register.
Consider that an instruction is being executed by processor. As soon as the ALU finished
executing the instruction, the processor looks for the next instruction to be executed. So, there is
a necessity for holding the address of the next instruction to be executed in order to save time.
This is taken care by the program counter.
A program counter stores the address of the next instruction to be executed. In other words the
program counter keeps track of the memory address of the instructions that are being executed
by the microprocessor and the memory address of the next instruction that is going to be
executed.
Microprocessor increments the program whenever an instruction is being executed, so that the
program counter points to the memory address of the next instruction that is going to be
executed. Program counter is a 16-bit register.
Stack pointer
It is also a 16-bit register which is used as a memory pointer. A stack is nothing but the portion of
RAM (Random access memory).
So does that mean the stack pointer points to portion of RAM?
Yes. Stack pointer maintains the address of the last byte that is entered into stack.
Each time when the data is loaded into stack, Stack pointer gets decremented. Conversely it is
incremented when data is retrieved from stack.
Temporary Register:
As the name suggests this register acts as a temporary memory during the arithmetic and logical
operations. Unlike other registers, this temporary register can only be accessed by the
microprocessor and it is completely inaccessible to programmers. Temporary register is an 8-bit
register.
In the next article let us discuss about the
FLAGS
TIMING AND CONTROL UNIT
INTERRUPT CONTROL