Micro Unit III
Micro Unit III
Direct Memory Access uses hardware for accessing the memory, that hardware is called a DMA Controller. It has the
work of transferring the data between Input Output devices and main memory with very less interaction with the
processor. The direct Memory Access Controller is a control unit, which has the work of transferring data.
1. TRAP: The TRAP interrupt is a non-maskable interrupt that is generated by an external device, such as a power
failure or a hardware malfunction. The TRAP interrupt has the highest priority and cannot be disabled.
2. RST 7.5: The RST 7.5 interrupt is a maskable interrupt that is generated by a software instruction. It has the second
highest priority.
3. RST 6.5: The RST 6.5 interrupt is a maskable interrupt that is generated by a software instruction. It has the third
highest priority.
4. RST 5.5: The RST 5.5 interrupt is a maskable interrupt that is generated by a software instruction. It has the fourth
highest priority.
5. INTR: The INTR interrupt is a maskable interrupt that is generated by an external device, such as a keyboard or a
mouse. It has the lowest priority and can be disabled.
When microprocessor receives any interrupt signal from peripheral(s) which are requesting its services, it stops its current
execution and program control is transferred to a sub-routine by generating CALL signal and after executing sub-routine
by generating RET signal again program control is transferred to main program from where it had stopped. When
microprocessor receives interrupt signals, it sends an acknowledgement (INTA) to the peripheral which is requesting for
its service. Interrupts can be classified into various categories based on different parameters:
Data bus buffer – This Block is used as a mediator between 8259 and 8085/8086 microprocessor by acting as a buffer.
It takes the control word from the 8085 (let say) microprocessor and transfer it to the control logic of 8259
microprocessor. After selection of Interrupt by 8259 microprocessor (based on priority of the interrupt), it transfer the
opcode of the selected Interrupt and address of the Interrupt service sub routine to the other connected microprocessor.
The data bus buffer consists of 8 bits represented as D0-D7 in the block diagram. Thus, shows that a maximum of 8 bits
data can be transferred at a time.
1.Read/Write logic – This block works only when the value of pin CS is low (as this pin is active low). This block is responsible
for the flow of data depending upon the inputs of RD and WR. These two pins are active low pins used for read and write
operations.
2.Control logic – It is the center of the PIC and controls the functioning of every block. It has pin INTR which is connected with
other microprocessor for taking interrupt request and pin INT for giving the output. If 8259 is enabled, and the other
microprocessor Interrupt flag is high then this causes the value of the output INT pin high and in this way 8259 responds to the
request made by other microprocessor.
3.Interrupt request register (IRR) – It stores all the interrupt level which are requesting for Interrupt services.
4.Interrupt service register (ISR) – It stores the interrupt level which are currently being executed.
5.Interrupt mask register (IMR) – It stores the interrupt level which have to be masked by storing the masking bits of the
interrupt level.
6.Priority resolver – It examines all the three registers and set the priority of interrupts and according to the priority of the
interrupts, interrupt with highest priority is set in ISR register. Also, it reset the interrupt level which is already been serviced in
IRR.
7.Cascade buffer – To increase the Interrupt handling capability, we can further cascade more number of pins by using cascade
buffer. So, during increment of interrupt capability, CSA lines are used to control multiple interrupt structure.
Advantages:
Interrupt Management: The 8259 PIC is designed to handle interrupts efficiently and effectively, allowing for faster and more
reliable processing of interrupts in a system.
Flexibility: The 8259 PIC is programmable, meaning that it can be customized to suit the specific needs of a given system, including
the number and type of interrupts that need to be managed.
Compatibility: The 8259 PIC is compatible with a wide range of microprocessors, making it a popular choice for managing interrupts
in many different systems.
Multiple Interrupt Inputs: The 8259 PIC can manage up to 8 interrupt inputs, allowing for the management of complex systems
with multiple devices.
Ease of Use: The 8259 PIC includes simple interface pins and registers, making it relatively easy to use and program.
Disadvantages:
Cost: While the 8259 PIC is relatively affordable, it does add cost to a system, particularly if multiple PICs are required.
Limited Number of Interrupts: The 8259 PIC can manage up to 8 interrupt inputs, which may be insufficient for some applications.
Complex Programming: Although the interface pins and registers of the 8259 PIC are relatively simple, programming the 8259 can
be complex, requiring careful attention to interrupt prioritization and other parameters.
Limited Functionality: While the 8259 PIC is a useful peripheral for interrupt management, it does not include more advanced
features, such as DMA (direct memory access) or advanced error correction.