MODULE- 2
PROCESSING UNIT- DATA PATH
DATA PATH
Data path includes hardware components:
ALU
Registers for temporary storage.
Internal path for movement of data between ALU and registers.
Various digital circuits for executing different micro-operations.
Example: gates, latches, flip–flops, multiplexers, decoders, counters etc.
Driver circuits for transmitting signals to external units (control unit, memory, I/O)
Receiver circuits for incoming signals from external units.
PROCESSOR REGISTER AND ALU
CONNECTED THROUGH BUS
REGISTER ORGANIZATION
Depending on the roles played by the registers they can be categorized into
two types
User-visible registers:
visible to machine- or assembly-language programmer
They use these registers to minimize main memory references in the
instructions.
registers can only be referenced using the machine or assembly language.
Control and status registers:
These registers are utilized by the control unit to control the operation of the CPU
and by OS programs to manage the execution of programs.
Not visible to user
USER-VISIBLE REGISTERS
GENERAL PURPOSE REGISTER (GPR)
Hold both the addresses or the data.
Accepts intermediate results in course of program execution
Programmers can restrict some of GPR to specific functions (Eg: for stack operations
and floating point operations)
Also employed for addressing functions
DATA REGISTERS
Used to Hold data
Programmers cant use these registers for calculating operand address
ADDRESS REGISTERS
It has address of an operand or it can also act as GPR register
dedicated to certain addressing mode
Examples:
Segment pointer register:
segment register holds the base address of the segment.
Index registers:
These are used for indexed addressing and may be auto indexed.
Stack pointer register:
Holds the address that points the stack top
CONDITION CODES:
It is a bit set by CPU hardware as result of operations.
Example arithmetic operation produce positive ,negative, zero or overflow result
Results are stored in registers or memory, a condition code is also set
CONTROL AND STATUS REGISTER
Program Counter
The program counter is a processor register that holds the address of the instruction
that has to be executed next.
program counter gets incremented with the address of the next instruction to be
fetched for execution.
Instruction Register
Instruction register has the instruction that is currently fetched. It helps in
analyzing the opcode and operand present in the instruction.
Memory Address Register (MAR)
Memory address register holds the address of a memory location.
Memory Buffer Register (MBR)
The memory buffer register holds the data that has to be written to a memory
location or it holds the data that is recently been read.
EXAMPLES OF REGISTER ORGANIZATION
Several processors have a register termed as Program Status Word (PSW).
Sign: This field has the resultant sign bit of the last arithmetic operation
performed.
Zero: This field is set when the result of the operation is zero.
Carry: This field is set when an arithmetic operation results in a carry
into or borrow out.
Equal: If a logical operation results in, equality the Equal bit is set.
Overflow: This bit indicates the arithmetic overflow.
Interrupt: This bit is set to enable or disable the interrupts.
Supervisor: This bit indicates whether the processor is executing in
the supervisor mode or the user mode.
THANK YOU