0% found this document useful (0 votes)
246 views

Microprocessor Based Systems Assignment

Microprocessor Based Systems Assignment 1,Usman Institute of Technology,UIT,uP,Sir Salman Jaffri,MBS

Uploaded by

Muhammad Umair
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
246 views

Microprocessor Based Systems Assignment

Microprocessor Based Systems Assignment 1,Usman Institute of Technology,UIT,uP,Sir Salman Jaffri,MBS

Uploaded by

Muhammad Umair
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Q1) Explain in detail why program counter and stack pointer are of 16 bits in 8085 and specify

how a program counter is useful in program execution?



Answer:

Program Counter (PC):

This is a 16-bit register deals with sequencing the execution of instructions. This register is a memory
pointer.Memeory locations have 16-bit addresses, and that is why this is a 16-bit register.
The Microprocessor uses this register to sequence the execution of this instructions. The function of the
program counter is to point to the memory address from which the next byte (machine code) is being
fetched, the program counter is incremented by one to point to next memory location.

Stack Pointer (SP):

The stack pointer is also a 16-bit register used as a memory pointer. It points to a memory location in
R/W memory, called the stack. The beginning of the stack is defined by loading 16-bit address in the
stack pointer.

Program Counter is useful in program execution because it points to the next memory address in which
next OPCode is saved. After rebooting the system the program counter is reseted to 0 value




Q2) What is the need for ALE signal in 8085 microprocessor?
Answer:
ALE: Address Latch Enable. This signal is a pulse thatbecome1when theAD0 AD7lines have an address
on them. It becomes 0 after that. This signal can be used to enable a latch to save the address bits from
the AD lines.
Q3) What is the importance of the READY signal in 8085?
Answer:
The READY pin on the 8085 microprocessor is used to delay the completion of a bus transfer cycle. It is
sampled by the 8085 at the falling edge of clock following ALE. If it is high, the cycle completes. If it is
low, the cycle is extended by one clock, with all lines held steady - then it is sampled again at each of the
next falling edges of clock until it is high.

The purpose of READY is to allow (usually) memory devices to operate at a slower speed than the 8085.
Q4) Discuss BIU of 8086 in detail?
Answer:
The BIU performs all bus operations such as instruction fetching, reading and writing operands for
memory and calculating the addresses of the memory operands.
BIU contains Instruction queue, Segment registers, Instruction pointer and Address adder. It provides a
full 16 bit bidirectional data bus and 20 bit address bus.
The bus Interface unit is responsible for performing all external bus operations. BIU also contains a
dedicated adder which is used to generate the 20 bit physical address that is output on the address bus.
This address is formed by adding an appended 16 bit segment address and a 16 bit offset address.
Q5) Discuss EU of 8086 in detail?
Answer:
The Execution Unit (EU) is responsible for decoding and executing all instructions. The EU extracts
instructions from the top of the queue in the BIU, decodes them, generates operands if necessary,
passes them to BIU and requests it to perform the read or write by cycles to memory or I/O and perform
the operation specified by the instruction on the operands.
During the execution of the instruction, the EU tests the status and control flags and updates them
based on the results of executing the instruction.
If the queue is empty, The EU waits for the next instruction byte to be fetched and shifted to top of the
queue. When the EU executes a branch or jump instruction, it transfers control to location
corresponding to another set of sequential instructions.
Whenever this happens, the BIU automatically resets the queue and then begins to fetch instructions
from this new location to refill the queue






















Q6) Compute the physical Address of the following Logical Address:
A4FB:4872
B6FC:5123
CD4F:1234
Answer:
Physical Address:
The address bus of 8086 micro-processor is 20-bit, hence the microprocessor uses 20-bit memory
addresses but its registers are of 16-bit. The 8086 partitions its memory into 65,536 physical memory
segments. All segments from the one starting at F0000h to the one starting at FFFF0h wrap around and
end at lower memory addresses. Since each segment starts a physical address whose leftmost
hexadecimal digit is zero, this digit need not to be stored, hence a 16-bit segment register can be used
to store the remaining four digits of the 20-bit address. Within a segment, a memory location is
specified by giving an offset. This is the number of bytes from the beginning of the segment. Offsets are
unsigned numbers, Thus a memory location may be specified by providing the 16-bit segment base
address, and a 16-bit offset, written in the form segment:offset, this is known as Logical address for the
memory location
(A)
The Logical address A4FB:4872 means offset of 4872h within segment A4FBh, that is the segment
starting at physical address A4FB0h to obtain the corresponding 20-bit physical (i.e. absolute) address,
the 8086 microprocessor first shifts the segment base address 4 bits to the left (this is equivalent to
multiplying by 10h), and then adds the offset. Thus the physical address for A4FB:4872h is:
A4FB0h+4872h = A9822h (20-bit physical address)
(B)
Similarly:
B6FC:5123
B6FC0h + 5123h = BC0E3h (20-bit physical address)
(C)
CD4F:1234
CD4F0h + 1234h = CE724h (20-bit physical address)

You might also like