0% found this document useful (0 votes)
258 views5 pages

Sheet 1 Solution

This document provides an introduction to the 8086/8088 microprocessors, covering topics such as the difference between internal and external data buses, memory addressing, register functions, flag register effects, and examples of operations that impact flags. Memory and I/O addressing, internal architecture, segmentation, and examples of right and wrong statements about the processors are also discussed.

Uploaded by

Mohamed Alfarash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
258 views5 pages

Sheet 1 Solution

This document provides an introduction to the 8086/8088 microprocessors, covering topics such as the difference between internal and external data buses, memory addressing, register functions, flag register effects, and examples of operations that impact flags. Memory and I/O addressing, internal architecture, segmentation, and examples of right and wrong statements about the processors are also discussed.

Uploaded by

Mohamed Alfarash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

University of Alexandria

Faculty of Engineering
Division of Communications & Electronics

Subject Name: Microprocessors Lecturer: Dr. Nayera Sadek


Academic Year: 2016 – 2017 Assistants: Khaled Essam

Third Year – Semester 1

SHEET 1 Introduction to the 8086/8088 Microprocessor

A.
1) What is the difference between the internal and external data bus?

Internal data bus: A bus connecting the internal modules of the microprocessor.
External data bus: Consists of an address, data, and control buses. Is used to read from and
write to external memory and I/O.

2) Sketch the logical and physical memory for the 80286 processor.

The 80286's address bus is 24 bits wide, therefore, it can address locations starting from
000000H to FFFFFFH which is a total of 224 = 16MB.
Consequently, the logical memory is just one array extending from 000000H to FFFFFFH.
However, the data bus width of the 80286 is 16 bits, thus, it reads 2 bytes at a time and we
must use 2 memory chips (banks). Each bank is 16M/2 = 8 MB in size.

FFFFFEH FFFFFFH

000000H 000001H

3) How many memory locations can be accessed by 8086/8088? How many Input/
Output devices can be accessed by 8086/8088?

8086 and the 8088 have 20 bit address buses and, therefore, can access 220 memory locations
Remember that 210 = 1K, 220 = 1MB, 230 = 1GB.
The 8086 and the 8088 access 216 I/O as the IN and OUT instructions may only use 16 bit
addresses.
4) What is meant by pipelined execution in general?

The microprocessor is comprised of multiple units, and they have to operate in sequence for
each instruction; fetching; decoding; executing; etc. Instead of having only one unit work
while the others remain idle, each unit operates on a different instruction.
Here is a smart analogy with laundry:

Before pipelining:

After pipelining:

Because not citing the source is plagiarism: [http://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/pipelining/]


5) What is the difference between the data bus of 8086 and 8088? Sketch the logical
and physical memory for the 8086 and 8088.

8086: 16-bit data bus. 8088: 8-bit data bus.


Sketch the logical and physical memory in the same way as in question 2. (for the physical
memory: 8088 has 1 bank while 8086 has 2 banks)

6) State the address bus and data bus widths for the following processors:
a-8086 b-8088

a- Address: 20, Data: 16


b- Address: 20, Data: 8

7) What is the function of the control bus?

Controls the whether the address belongs to the memory or an I/O, and specifies the type of
operation (read/write).

8) Illustrate, with drawing only, the basic internal architecture of the 8086/8088
microprocessors.

Segment Registers
Register Array
And Pointers

Instruction Bus Controller


Decoder

ALU Prefetch Queue

B- Given an (16KB) RAM, starting from the address 0000h


1) How many address line does it require? Find its highest address?

Address lines = log2(16K) = log2(214) = 14


Highest address = 214 – 1, to write it in hexadecimal remember that the highest address must
be all binary ones, so convert fourteen ones into hexadecimal to get 3FFFH

2) The contents of memory location B00H are FFH and those at B01 are 00H. What
is the word stored at address B00H?

Low = FFH, high = 00H, thus the word is 00FFH.

3) How the double word 00567CFFH will be stored in memory starting at address
0A00H?

The lowest byte is stored in the lowest memory location


Memory 0A00H 0A01H 0A02H 0A03H
Data FFH 7CH 56H 00H

D) List the four general-purpose data registers. Explain their primary functions.

The accumulator (AX): for ALU and I/O operations


The base register (BX): to store base address (memory of data table for the XLAT)
The counter (CX): for instruction that require counting (shift, rotate, loop, and string
operations)
The data register (DX): Used with multiplication and division and to hold I/O port numbers

However, these registers may hold any other data.

E) List the 8086/8088’s internal registers used for memory segmentation.

Code segment (CS): instructions


Data segment (DS): data
Stack segment (SS): stack
Extra segment (SS): for string instructions

F) Show how the flag register is affected by

MOV AX,94C2H ;Doesn't affect the flags


MOV BX,323EH ;Doesn't affect the flags
ADD AX,BX ;94C2H+ 323EH = C700H, C=0, PF=0, AF = 1, ZF=0, SF=1, OF=0
MOV DX,AX ;Doesn't affect the flags
MOV CX,DX ;Doesn't affect the flags

G) State whether the following statements are right or wrong and correct the wrong
one:

1) The physical memory organization of the 8086 allows the transfer of 2 bytes in
one operation while the 8088 can only transfer one byte in an operation.

True

2) The prefetch queue is a LIFO memory of 2 byte wide queue and 3 locations deep
in the 8086 while it is one byte wide and 4 location deep in the 8088.

False, it's a FIFO not a LIFO.

3) In the Flag register, if TF=0 then the 8086/8088 microprocessor operates in the
normal mode.

True
H) State whether the following statements are right or wrong and correct the wrong
one:
1) The address bus, data bus and the control bus can be bidirectional.

False, only the data bus.

2) The BIU needs IP register to operate.

True, it needs the address of the next instruction.

3) If the number of ones of an operation is odd, then P flag =0.

True

I) Give an operation example which results in Over flow flag=1.

It happens when you add two positives and get a negative, or add two negatives and get a
positive number (within the same number of bits).

Ex: 8000H + FFF0H = 7FF0H → -ve + -ve = +ve !

You might also like