So BIU takes care of all the address and data transfers on the
buses.
Execution Unit:
This unit handles all transfer of data and addresses on the buses for
the EU(execution unit). This unit sends out addresses, fetches
instructions from memory, reads data from ports and memory and
writes data to ports and memory.
- 5555H
Physical address
Instruction Pointer: It is 16-bit register, which identifies the location of the next
word of instruction code that is to be fetched in the current code
segment.
IP contains an offset instead of the actual address of the next
instruction.
The Queue: The last section of BIU is the FIFO group of registers called a
queue. It is basically a group of registers.
This arrangement makes possible for the BIU to fetch the
instruction byte while EU is decoding an instruction or executing an
instruction which does not require use of buses.
ALU (Arithmetic and Logic Unit) : The EU unit contains a circuit board
called the Arithmetic and Logic Unit. The ALU can perform
arithmetic, such as, +,-,,/ and logic such as OR, AND, NOT
operations.
Memory Segmentation
FLAGS REGISTER
Zero Flag (ZF) - set to 1 when result is zero. For non-zero result this
flag is set to 0.
Sign Flag (SF) - set to 1 when result is negative. When result is
positive it is set to 0. (This flag takes the value of the most significant
bit.)
Trap Flag (TF) - Used for on-chip debugging.
Interrupt enable Flag (IF) - when this flag is set to 1 CPU reacts to
interrupts from external devices.
Direction Flag (DF) - this flag is used by some instructions to process
data chains, when this flag is set to 0 - the processing is done
forward, when this flag is set to 1 the processing is done backward.
Overflow Flag (OF) - set to 1 when there is a signed overflow. For
example, when you add bytes 100 + 50 (result is not in range 128...127).