Instruction Execution


  8086 fetches instructions and data from memory. The process of instruction execution is as follows.
-The BIU outputs the contents of the instruction pointer register (IP) onto the address bus, causing the selected byte or word to be read into the BIU.
- Register IP is incremented by 1 to prepare for the next instruction fetch.
- Once inside the BIU, the instruction is passed to the queue.
- Assuming that the queue is initially empty, the EU immediately draws this instruction from the queue and begins execution.
-          While the EU is executing this instruction, the BIU proceeds to fetch a new instruction.
-          Depending on the execution time of the first instruction, the BIU may fill the queue with several new instructions before the EU is ready to draw its next instruction.
-          The BIU is programmed to fetch a new instruction whenever the queue has room for two additional bytes. There are three conditions that will cause the EU to enter a "wait" mode or BIU to suspend fetching.
The first one occurs when the instruction requires access to a memory location. Here the BIU must suspend fetching instructions and output the address of this memory location. Then the EU will resume execution.
The second will occur when the instruction to be executed is a "jump" instruction. In this case control is to be transferred to a new non-sequential address.
The third one will occur during the execution of an instruction that is slow to execute.  For example, the instruction AAM (ASCII Adjust for Multiplication) requires 83 clock cycles to complete. At four cycles per instruction fetch, the queue will be completely filled during the execution of this single instruction.

Comments

Popular posts from this blog

PROGRAMMER'S MODEL OF 8086

8085

8086 Main Features