ALU Design
ALU Design
ALU Design
ALU Design
The ALU perform the computing function of
microprocessor. It includes the accumulator,
temporary register, arithmetic & logic circuit &
and five flags. Result is stored in accumulator &
flags.
ALU Design
Accumulator
It is an 8-bit register that is part of ALU. This
register is used to store 8-bit data & in
performing arithmetic & logic operation. The
result of operation is stored in accumulator.
ALU Design
Flags
Flags are programmable. They can be used to store and transfer the data
from the registers by using instruction. The ALU includes five flip-flops
that are set and reset according to data condition in accumulator and
other registers.
S (Sign) flag
After the execution of an arithmetic operation, if bit D7 of the result is 1,
the sign flag is set. It is used to signed number. In a given byte, if D7 is 1
means negative number. If it is zero means it is a positive number.
Z (Zero) flag
The zero flag is set if ALU operation result is 0.
• AC (Auxiliary Carry) flag − In arithmetic operation, when carry is
generated by digit D3 and passed on to digit D4, the AC flag is set. This
flag is used only internally BCD operation.
• P (Parity) flag − After arithmetic or logic operation, if result has even
number of 1s, the flag is set. If it has odd number of 1s, flag is reset.
• C (Carry) flag − If arithmetic operation result is in a carry, the carry flag
is set, otherwise it is reset.
ALU Design
Register section
It is basically a storage device and transfers data from registers by using
instructions.
Stack Pointer (SP)
The stack pointer is also a 16-bit register which is used as a memory
pointer. It points to a memory location in Read/Write memory known as
stack. In between execution of program, sometime data to be stored in
stack. The beginning of the stack is defined by loading a 16-bit address
in the stack pointer.
Program Counter (PC)
This 16-bit register deals with fourth operation to sequence the
execution of instruction. This register is also a memory pointer. Memory
location have 16-bit address. It is used to store the execution address.
The function of the program counter is to point to memory address
from which next byte is to be fetched.
Storage registers
These registers store 8-bit data during a program execution. These
registers are identified as B, C, D, E, H, L. They can be combined as
register pair BC, DE and HL to perform some 16 bit operations.