Está en la página 1de 5

List the elements of the bus interface unit of the 8086.

Segment register
Instruction pointer
The queue
List the elements of the execution unit of the 8086.
Temp registers
ALU
Flags registers
Show how the word ABCD Hex is stored in memory of the 8086 starting at address
0A002 Hex. Is the word aligned or misaligned?
OA0020A001
Little endian

The word is misaligned


Briefly describe the purpose of
each clock state T1, T2, T3 and T4 for the
8086 bus cycle.
T1= CPU drives valid address on data bus
T2= read: I/O go active, write: I/O and data bus go active
T3= read: CPU waits for memory to drive data bus, write: CPU continues to
drive data bus
T4= read: CPU latches data bus signals into register, write: CPU drives data
bus until the end of T4
List the names for the 80386 two modes of operation.
Real mode: memory is accessible by any program running in the memory
Protected mode: isolated the possibility by allowing the operating system to
say what program should run
What is meant by upward software compatibility relative to 8086 architecture
microprocessor?
Anything that can be run in older versions of the microprocessor can be run on the
newer versions. This is good since it doesnt cost the company more money since
they dont start from scratch.
What is the maximum program that can be executed in real mode in the 8086?
Explain your answer.
64K x 4

How large is the 8086s memory address space?


1M bytes of memory
How large is the 80286s memory address space?
16M bytes of memory
State and describe briefly the three pins of the 8086 associated with interrupts.
INTR, NMI and INTA are the three pins. The interrupt inputs are INTR and NMI, which
are used to request interrupts and INTA, an output used to acknowledge the INTR
interrupt request.
What is the function of the signal ALE in the 8086?
It is used to demultiplex the address/data and address/status buses.
What happens when the HOLD input to the 8086 is placed at its logic 1 level?
The microprocessor stops executing the program
places its address, data, and control bus at their high-impedance state
signals that the hold is in effect by placing a logic 1 on the HLDA pin
What is a function of the signal F/C* of the 8284?
If placed at logic 1, the crystal oscillator is disabled. It provides the timing signal.
Which three signals are generated by the 8284 and needed for the 8086?
The main clock signal for the processor
Reset
Ready
If the crystal oscillator is operating at 24MHz, what are the outputs of the OSC, CLK
and PCLK?
CLK: output signal is 1/3 of the crystal input frequency 24MHz / 3 = 8MHz
PCLK: output signal is 1/6 of the crystal input frequency 24MHz / 6 = 4MHz
OSC: the same as the input 24MHz
Calculate the value of the physical address A200:12CF, assuming all numbers are
hexadecimal numbers.
A2000

add an extra 0
+
12CF
A32CF
For the 8086 microprocessor, are the input/output and memory address spaces
common or separated?
Separated
Can the state of the flags be modified through software?

Yes the state of the flags can be modified through software


Does the 8086 have a multiplexed address/data bus or independent address and data
buses?
It has a multiplexed address/data bus
What is the duration of the bus cycle for a 5MHz 8088 that is running at full speed and
with no wait states?
[1/5MHz] x 4
If an 8086 running at 10MHz performs bus cycles with two wait states, what is the
duration of the bus cycle?
4 states = 1 cycle, + 2 wait states = 6
[1/10MHz] x 6
Differentiate between microprocessor and microcontroller?
Microprocessor is a general purpose device
Microcontroller is a system on a chip
What is an instruction queue? Explain?
This queue is in the BIU and is used for storing the pre decoded instructions. This
will overlap the fetching and execution cycle. The EU will take the instructions from
the queue for decoding and execution.
What is a stack? Explain the use and operation of a stack and stack pointer?
A stack is a portion of the memory used for the temporary storage. It is a last in first
out memory. A stack grows in the decreasing order. A stack will hold the temporary
information push and pop are the instructions used for storing and accessing data
from the stack. Contents can be moved as 16 bit only using push and pop
instructions.
What are the flags in 8086?
In 8086 Carry flag, Parity flag, Auxiliary carry flag, Zero flag, Overflow flag, Trap flag,
Interrupt flag, Direction flag, and Sign flag.
What are the various interrupts in 8086? Explain.
Maskable interrupts & Non-Maskable interrupts.
An interrupt that can be turned off by the programmer is known as Maskable
interrupt.
An interrupt which can be never be turned off by the programmer is known as
Non-Maskable interrupt.
Which interrupts are generally used for critical events?
Non-Maskable interrupts are used in critical events, such as Power failure,
Emergency shut off

Explain the different types of registers in the 8086 microprocessor


Most of the registers contain data/instruction offsets within 64 KB memory segment.
There are four different 64 KB segments for instructions, stack, data and extra data.
To specify where in 1 MB of processor memory these 4 segments are located the
processor uses four segment registers:
Code segment (CS) is a 16-bit register containing address of 64 KB segment with
processor instructions. The processor uses CS segment for all accesses to
instructions referenced by instruction pointer (IP) register. CS register cannot be
changed directly. The CS register is automatically updated during far jump, far call
and far return instructions.
Stack segment (SS) is a 16-bit register containing address of 64KB segment with
program stack. By default, the processor assumes that all data referenced by the
stack pointer (SP) and base pointer (BP) registers is located in the stack segment. SS
register can be changed directly using POP instruction.
Data segment (DS) is a 16-bit register containing address of 64KB segment with
program data. By default, the processor assumes that all data referenced by general
registers (AX, BX, CX, DX) and index register (SI, DI) is located in the data segment.
DS register can be changed directly using POP and LDS instructions.
Extra segment (ES) is a 16-bit register containing address of 64KB segment, usually
with program data. By default, the processor assumes that the DI register references
the ES segment in string manipulation instructions. ES register can be changed
directly using POP and LES instructions.
It is possible to change default segments used by general and index registers by
prefixing instructions with a CS, SS, DS or ES prefix.
All general registers of the 8086 microprocessor can be used for arithmetic and logic
operations. The general registers are:
Accumulator register consists of 2 8-bit registers AL and AH, which can be combined
together and used as a 16-bit register AX. AL in this case contains the low-order byte
of the word, and AH contains the high-order byte. Accumulator can be used for I/O
operations and string manipulation.
Base register consists of 2 8-bit registers BL and BH, which can be combined
together and used as a 16-bit register BX. BL in this case contains the low-order byte
of the word, and BH contains the high-order byte. BX register usually contains a data
pointer used for based, based indexed or register indirect addressing.
Count register consists of 2 8-bit registers CL and CH, which can be combined
together and used as a 16-bit register CX. When combined, CL register contains the
low-order byte of the word, and CH contains the high-order byte. Count register can
be used as a counter in string manipulation and shift/rotate instructions.
Data register consists of 2 8-bit registers DL and DH, which can be combined

together and used as a 16-bit register DX. When combined, DL register contains the
low-order byte of the word, and DH contains the high-order byte. Data register can be
used as a port number in I/O operations. In integer 32-bit multiply and divide
instruction the DX register contains high-order word of the initial or resulting number.
The following registers are both general and index registers:
Stack Pointer (SP) is a 16-bit register pointing to program stack.
Base Pointer (BP) is a 16-bit register pointing to data in stack segment. BP register is
usually used for based, based indexed or register indirect addressing.
Source Index (SI) is a 16-bit register. SI is used for indexed, based indexed and
register indirect addressing, as well as a source data address in string manipulation
instructions.
Destination Index (DI) is a 16-bit register. DI is used for indexed, based indexed and
register indirect addressing, as well as a destination data address in string
manipulation instructions.

También podría gustarte