From: Er Sanjeev Goyal Sr Lect ECE GPC,Bathinda 117/04/2013Punjab Edusat society.

Slides:



Advertisements
Similar presentations
Parul Polytechnic Institute
Advertisements

Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Interrupts Chapter 8 – pp Chapter 10 – pp Appendix A – pp 537 &
Chapter Interrupts.
8085 Interrupts LAKSHMI.B.E.1. Interrupts  Interrupt is a process where an external device can get the attention of the microprocessor. ◦ The process.
Interrupts Disclaimer: All diagrams and figures in this presentation are scanned from the book “Microprocessors and Programmed Logic” authored by Kenneth.
Microprocessor and Microcontroller
CSCI 4717/5717 Computer Architecture
Subject Code : Name Of Subject : Microprocessor and assembly language programming Name of Unit : Introduction to Microprossor Topic : Pin function.
COMP3221: Microprocessors and Embedded Systems Lecture 15: Interrupts I Lecturer: Hui Wu Session 1, 2005.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
Introduction to Interrupts
GURSHARAN SINGH TATLA PIN DIAGRAM OF 8085 GURSHARAN SINGH TATLA
EC238 MICROPROCESSORS AND APPLICATIONS
INTERRUPTS PROGRAMMING
DEEPAK.P MICROPROCESSORS AND APPLICATIONS Mr. DEEPAK P. Associate Professor ECE Department SNGCE 1.
Interrupts  Interrupt is a process where an external device can get the attention of the microprocessor.  The process starts from the I/O device  The.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
created by :Gaurav Shrivastava
MICROPROCESSOR INPUT/OUTPUT
Khaled A. Al-Utaibi  Interrupt-Driven I/O  Hardware Interrupts  Responding to Hardware Interrupts  INTR and NMI  Computing the.
Microprocessors 1 MCS-51 Interrupts.
Interrupt Interrupt – to break the flow of speech or action of (someone) by saying or doing something (Longman dictionary)
13-Nov-15 (1) CSC Computer Organization Lecture 7: Input/Output Organization.
Microprocessor. Interrupts The processor has 5 interrupts. CALL instruction (3 byte instruction). The processor calls the subroutine, address of which.
1 © Unitec New Zealand Interrupt Lecture 6 Date: - 20 Sept, 2011 Embedded Hardware ETEC 6416.
8085. Microcomputer Major components of the computer - the processor, the control unit, one or more memory ICs, one or more I/O ICs, and the clock Major.
MICROPROCESSORS & ORGANIZATION OF 8085
12/16/  List the elements of 8255A Programmable Peripheral Interface (PPI)  Explain its various operating modes  Develop a simple program to.
Ass Prof Dr Masri Ayob TK 2633: Microprocessor & Interfacing Lecture 6: Control Instructions.
Embedded Systems Design 1 Lecture Set 8 MCS-51 Interrupts.
DMA & Interrupts By Santhosh H. S. DMA DMA Definitions: DMA occurs between an I/O device and memory without the use of the microprocessor DMA read transfer.
MACHINE CYCLE AND T-STATE
بسم الله الرحمن الرحيم MEMORY AND I/O.
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
 The Programmable Interrupt Controller (PlC) functions as an overall manager in an Interrupt-Driven system. It accepts requests from the peripheral equipment,
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
Architecture of 8085 Nitin Mishra. Registers Microprocessor Instruction Cache Arithmetic & Logic Unit Control Unit Bus Interface Unit Data Cache Instruction.
Unit Microprocessor.
MICROPROCESSOR AND INTERFACING
COURSE OUTCOMES OF Microprocessor and programming
8085 INTRODUCTION The features of INTEL 8085 are :
8085 Interrupts LAKSHMI.B.E..
68HC11 Interrupts & Resets.
Microprocessor Systems Design I
The process starts from the I/O device
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: Internal fault (e.g.. divide by.
Computer Architecture
Interrupts In 8085 and 8086.
Unit - 1 Interrupts M.Brindha AP/EIE
Interrupts.
Dr. Michael Nasief Lecture 2
8085 Interrupts.
Interrupt.
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
MICROPROCESSOR AND PERIPHERAL DEVICES
Subject Name: Microprocessors Subject Code:10EC46 Department: Electronics and Communication Date: /20/2018.
Interrupts Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device The process.
8085 Microprocessor Architecture
X1 & X2 These are also called Crystal Input Pins.
8259 Programmable Interrupt Controller
Interrupts.
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Interrupts 1/18/2019.
CNET 315 Microprocessor & Assembly Language
Programmable Interrupt Controller (PIC)
COMP3221: Microprocessors and Embedded Systems
Assignment 1) Explain how lower address bus is multiplexed with data bus? 2) Explain the function of all the control signals in the 8085 Control Logic.
Presentation transcript:

From: Er Sanjeev Goyal Sr Lect ECE GPC,Bathinda 117/04/2013Punjab Edusat society

INTRODUCTION Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device The process is asynchronous. An interrupt is considered to be an emergency signal that may be serviced. The Microprocessor may respond to it as soon as possible. 217/04/2013Punjab Edusat society

INTRODUCTION What happens when MP is interrupted ? When the Microprocessor receives an interrupt signal, it suspends the currently executing program and jumps to an Interrupt Service Routine (ISR) to respond to the incoming interrupt. Each interrupt will most probably have its own ISR. 317/04/2013Punjab Edusat society

Interrupts in 8085 When the interrupt signal arrives:  The processor will break its routine  Go to a different routine (interrupt service routine)  Complete the interrupt service routine(ISR)  Go back to the “regular” routine 17/04/2013Punjab Edusat society4

Interrupts in 8085 In order to execute an interrupt routine, the processor:  Should be able to accept interrupts (interrupt enable)  Save the last content of the program counter  Know where to go in program memory to execute the ISR  Tell the outside world that it is executing an interrupt  Go back to the saved PC location when finished. 17/04/2013Punjab Edusat society5

Interrupts in 8085 Interrupts increase processor system efficiency by letting I/O device request CPU time only when that device needs immediate attention. An interrupt is a subroutine call initialized by external hardware. The request is asynchronous  it may occur at any point in a program’s execution. 17/04/2013Punjab Edusat society6

7 Interrupts in 8085 Main routine Interrupt Save program counter Disable interrupts Send out interupt acknowledge Service routine INTA Go to service routine Get original program counter Go back EI RET 17/04/2013Punjab Edusat society

CLASSIFICATION OF INTERRUPTS Interrupts can be classified into two types: Maskable Interrupts (Can be delayed or Rejected) Non-Maskable Interrupts (Can not be delayed or Rejected) Interrupts can also be classified into: Vectored (the address of the service routine is hard-wired) Non-vectored (the address of the service routine needs to be supplied externally by the device) 817/04/2013Punjab Edusat society

CLASSIFICATION OF INTERRUPTS Nonmaskable interrupt input The MPU is interrupted when a logic signal is applied to this type of input. Maskable interrupt input The MPU is interrupted ONLY if that particular input is enabled. It is enabled or disabled under program control. If disabled, an interrupt signal is ignored by the MPU. 917/04/2013Punjab Edusat society

Maskable & Nonmaskable INT 17/04/2013Punjab Edusat society10

Response to Interrupt Responding to an interrupt may be immediate or delayed depending on whether the interrupt is maskable or non- maskable and whether interrupts are being masked or not. MP completes its current machine cycle. 17/04/2013Punjab Edusat society11

Response to Interrupt There are two ways of redirecting the execution to the ISR depending on whether the interrupt is vectored or non- vectored. Vectored: The address of the subroutine is already known to the Microprocessor Non Vectored: The device will have to supply the address of the subroutine to the Microprocessor 17/04/2013Punjab Edusat society12

Response to Interrupt 17/04/2013Punjab Edusat society13 1.The processing of the current instruction is completed. 2.An interrupt machine cycle is executed during which the PC is saved and control is transferred to an appropriate memory location. 3.The state of the MPU is saved. 4.If more than one I/O device is associated with the location transferred to, the highest priority device requesting an interrupt is identified.

Response to Interrupt 5. A subroutine is executed which services the interrupt I/O device. 6. The saved state of the microprocessor is restored. 7. Control is returned to the instruction that follows the interrupted instruction. 17/04/2013Punjab Edusat society14

8085 INTERRUPT STRUCTURE 17/04/2013Punjab Edusat society15 There are 5 interrupt inputs: TRAP (nonmaskable) RST7.5 RST6.5 RST5.5 INTR

8085 INTERRUPTS The ‘EI’ instruction is a one byte instruction and is used to Enable the maskable interrupts. The ‘DI’ instruction is a one byte instruction and is used to Disable the maskable interrupts. The 8085 has a single Non-Maskable interrupt. 17/04/2013Punjab Edusat society16

8085 INTERRUPTS The 8085 has 5 interrupt inputs. The INTR input. The INTR input is the only non-vectored interrupt. INTR is maskable using the EI/DI instruction pair. RST 5.5, RST 6.5, RST 7.5 are all automatically vectored. RST 5.5, RST 6.5, and RST 7.5 are all maskable. 17/04/2013Punjab Edusat society17

8085 INTERRUPTS TRAP is the only non-maskable interrupt in the 8085 TRAP is also automatically vectored 17/04/2013Punjab Edusat society18 Interrupt Name MaskableVectored INTRYesNo RST 5.5Yes RST 6.5Yes RST 7.5Yes TRAPNoYes

8085 INTERRUPTS 17/04/2013Punjab Edusat society19 TRAP RST7.5 RST6.5 RST 5.5 INTR INTA 8085

Vectored Interrupts 17/04/2013Punjab Edusat society20 An interrupt vector is a pointer to where the ISR is stored in memory. All interrupts (vectored or otherwise) are mapped onto a memory area called the Interrupt Vector Table (IVT). The IVT is usually located in memory page 00 (0000H - 00FFH).

Vectored Interrupts 17/04/2013Punjab Edusat society21 There are four interrupt inputs in 8085 that transfer the operation immediately to a specific address:  TRAP : go to 0024  RST 7.5: go to 003C  RST  RST C  RST 7.5, RST 6.5 and RST 5.5 are maskable interrupts, they are acknowledged only if they are not masked !

Vectored Interrupts 17/04/2013Punjab Edusat society22 Finding the address of these vectored interrupts are very easy.Just multiply 8 with the RST value i.e for RST 7.5 the subroutine(ISR) address=8*7.5=60=(3c)H. For TRAP,its RST value is 4.5,then the subroutine address is 8*4.5=36=(24)H. similarly u can calculate for other vector interupt addresses. Memory page for all interrupts are (00).

Vectored Interrupts 17/04/2013Punjab Edusat society23

Masking RST 5.5, RST 6.5 and RST /04/2013Punjab Edusat society24 These three interrupts are masked at two levels: Through the Interrupt Enable flip flop and the EI/DI instructions. The Interrupt Enable flip flop controls the whole maskable interrupt process. Through individual mask flip flops that control the availability of the individual interrupts. These flip flops control the interrupts individually.

MASKABLE INTERRUPTS 25 Interrupt Enable Flip Flop INTR RST 5.5 RST 6.5 RST 7.5 M 5.5 M 6.5 M 7.5 RST7.5 Memory 17/04/2013Punjab Edusat society

Maskable/Vectored Interrupt Process 1. The interrupt process should be enabled using the EI instruction. 2. The 8085 checks for an interrupt during the execution of every instruction. 3. If there is an interrupt, and if the interrupt is enabled using the interrupt mask, the microprocessor will complete the executing instruction, and reset the interrupt flip flop. 17/04/2013Punjab Edusat society26

Maskable/Vectored Interrupt Process 4. The microprocessor then executes a call instruction that sends the execution to the appropriate location in the interrupt vector table. 5. When the microprocessor executes the call instruction, it saves the address of the next instruction on the stack. 6. The microprocessor jumps to the specific service routine. 17/04/2013Punjab Edusat society27

Maskable/Vectored Interrupt Process 7. The service routine must include the instruction EI to re-enable the interrupt process. 8. At the end of the service routine, the RET instruction returns the execution to where the program was interrupted. 17/04/2013Punjab Edusat society28

Maskable/Vectored Interrupt Process The Interrupt Enable flip flop is manipulated using the EI/DI instructions. The individual masks for RST 5.5, RST 6.5 and RST 7.5 are manipulated using the SIM instruction (Set Interrupt Mask). This instruction takes the bit pattern in the Accumulator and applies it to the interrupt mask enabling and disabling the specific interrupts. 17/04/2013Punjab Edusat society29

SIM Instruction 17/04/2013Punjab Edusat society30

SIM Instruction 17/04/2013Punjab Edusat society31 Bit 0 is the mask for RST 5.5, bit 1 is the mask for RST 6.5 and bit 2 is the mask for RST 7.5. If the mask bit is 0, the interrupt is available. If the mask bit is 1, the interrupt is masked. Bit 3 (Mask Set Enable - MSE) is an enable for setting the mask. If it is set to 0 the mask is ignored and the old settings remain. If it is set to 1, the new setting are applied.

SIM Instruction 17/04/2013Punjab Edusat society32 Bit 4 of the accumulator in the SIM instruction allows explicitly resetting the RST 7.5 memory even if the microprocessor did not respond to it. Bit 5 is not used by the SIM instruction Bit 6 & Bit 7 is used for extra functionality such as serial data transmission.

SIM Instruction 17/04/2013Punjab Edusat society33 Example: Set the interrupt masks so that RST5.5 is enabled, RST6.5 is masked, and RST7.5 is enabled. First, determine the contents of the accumulator - Enable 5.5bit 0 = 0 - Disable 6.5bit 1 = 1 - Enable 7.5bit 2 = 0 - Allow setting the masksbit 3 = 1 - Don’t reset the flip flopbit 4 = 0 - Bit 5 is not usedbit 5 = 0 - Don’t use serial databit 6 = 0 - Serial data is ignoredbit 7 = Contents of accumulator are: 0A H EI; Enable interrupts including INTR MVI A, 0A; Prepare the mask to enable RST 7.5, and 5.5, disable 6.5 SIM; Apply the settings RST masks

Triggering Levels : RST 7.5 is positive edge sensitive. When a positive edge appears on the RST7.5 line, a logic 1 is stored in the flip-flop as a “pending” interrupt. Since the value has been stored in the flip flop, the line does not have to be high when the microprocessor checks for the interrupt to be recognized. The line must go to zero and back to one before a new interrupt is recognized. RST 6.5 and RST 5.5 are level sensitive. The interrupting signal must remain present until the microprocessor checks for interrupts. 17/04/2013Punjab Edusat society34

Non Maskable Interrupt 17/04/2013Punjab Edusat society35 TRAP is the only non-maskable interrupt. It does not need to be enabled because it cannot be disabled. It has the highest priority amongst interrupts. It is edge and level sensitive. Must make a low-to-high transition and remain high to be acknowledged. After acknowledgement, it is NOT recognized again until it goes low, then high again and remains high.

TRAP 17/04/2013Punjab Edusat society36 It is to avoid false triggering due to noise/logic glitches. TRAP is usually used for power failure and emergency shutoff. When the 8085A is reset: Its internal interrupt enable flip-flop is reset. This disables ALL the maskable interrupts. So, the MPU only responds to TRAP. Vectored address for TRAP is 0024 H.

BUS IDLE (BI) Machine Cycle TRAP, RST5.5, RST6.5, and RST7.5 RST (internal) ((SP) – 1)  (PCH) ((SP) – 2)  (PCL) (SP)  (SP) – 2 (PC)  restart address 17/04/201337Punjab Edusat society

Non Vectored Interrupt 17/04/2013Punjab Edusat society38 1.The interrupt process should be enabled using the EI instruction. 2.The 8085 checks for an interrupt during the execution of every instruction. 3.If INTR is high, MP completes current instruction, disables the interrupt and sends INTA (Interrupt acknowledge) signal to the device that interrupted. 4.INTA allows the I/O device to send a RST instruction through data bus.

Non Vectored Interrupt 17/04/2013Punjab Edusat society39 5.Upon receiving the INTA signal, MP saves the memory location of the next instruction on the stack and the program is transferred to ‘call’ location (ISR Call) specified by the RST instruction. 6.Microprocessor Performs the ISR. 7.ISR must include the ‘EI’ instruction to enable the further interrupt within the program.

Non Vectored Interrupt 17/04/2013Punjab Edusat society40 8.RET instruction at the end of the ISR allows the MP to retrieve the return address from the stack and the program is transferred back to where the program was interrupted. 9.Although INTR is a maskable interrupt, it does NOT need SIM to get enabled. Just instruction EI is enough.

Non-Vectored Interrupt The 8085 recognizes 8 RESTART instructions: RST0 - RST7. Each of these would send the execution to a predetermined hard-wired memory location: 41 Restart Instruction Equivalent to RST0CALL 0000H RST1CALL 0008H RST2CALL 0010H RST3CALL 0018H RST4CALL 0020H RST5CALL 0028H RST6CALL 0030H RST7CALL 0038H 17/04/2013Punjab Edusat society

Restart Sequence 17/04/2013Punjab Edusat society42 The restart sequence is made up of three machine cycles In the 1st machine cycle:The Microprocessor sends the INTA signal. While INTA is active the microprocessor reads the data lines expecting to receive, from the interrupting device, the opcode for the specific RST instruction.

Restart Sequence 17/04/2013Punjab Edusat society43 In the 2nd and 3rd machine cycles:the 16-bit address of the next instruction is saved on the stack. Then the microprocessor jumps to the address associated with the specified RST instruction. There are 8 different RST instructions. Each RST instruction tells the processor to go to a specific memory address (call location – fixed)

44 Reading the RST5 Instruction The above example is for generating RST 5: RST 5’s opcode is EF = /04/2013Punjab Edusat society

Hardware Generation of RST Opcode During the interrupt acknowledge machine cycle, (the 1st machine cycle of the RST operation): The Microprocessor activates the INTA signal. This signal will enable the Tri-state buffers, which will place the value EFH on the data bus. Therefore, sending the Microprocessor the RST 5 instruction. The RST 5 instruction is exactly equivalent to CALL 0028H 17/04/2013Punjab Edusat society45

INTERRUPT ACKNOWLEDGE (INA) Machine Cycle INTR ( 0 =< n =< 7 ) RST n ((SP) – 1)  (PCH) ((SP) – 2)  (PCL) (SP)  (SP) – 2 (PC)  8*n 17/04/2013Punjab Edusat society46

INTR Interrupt The microprocessor checks the INTR line one clock cycle before the last T-state of each instruction. The INTR line must be deactivated before the EI is executed. Otherwise, the microprocessor will be interrupted again. Once the microprocessor starts to respond to an INTR interrupt, INTA becomes active (=0).Therefore, INTR should be turned off as soon as the INTA signal is received. 17/04/2013Punjab Edusat society47

INTR Interrupt In response to the acknowledge signal, external logic places an instruction OPCODE on the data bus. In the case of multibyte instruction, additional interrupt acknowledge machine cycles are generated by the 8085 to transfer the additional bytes into the microprocessor. On receiving the instruction, the 8085 save the address of next instruction on stack and execute received instruction. 17/04/2013Punjab Edusat society48

INTR Interrupt The Programmable Interrupt Controller (PIC) functions as an overall manager in an Interrupt-Driven system environment. It accepts requests from theperipheral equipment, determines which of the in- coming requests is of the highest priority. The 8259A is a device specifically designed for use in real time, interrupt driven microcomputer systems. 17/04/2013Punjab Edusat society49

INTR Interrupt It manages eight levels or requests and has built in features for expandability to other 8259A's (up to 64levels). It is programmed by the system's softwareas an I/O peripheral. Each peripheral device usually has a special program or ``routine'' that is associated with its specific functional or operational requirements; this is referred to as a ``service routine''. 17/04/2013Punjab Edusat society50

INTR Interrupt The PIC,after issuing an Interrupt to the CPU, must somehowinput information into the CPU that can ``point'' the Program Counter to the service routine associated with the requesting device. This ``pointer'' is an address in a vectoring table and will often be referredto, in this document, as vectoring data. 17/04/2013Punjab Edusat society51

INTR Interrupt 17/04/2013Punjab Edusat society52

Pending Interrupts 17/04/2013Punjab Edusat society53 Since the 8085 has five interrupt lines, interrupts may occur during an ISR and remain pending. Using the RIM instruction, it is possible to can read the status of the interrupt lines and find if there are any pending interrupts.

RIM instruction: Read Interrupt Mask Load the accumulator with an 8-bit pattern showing the status of each interrupt pin and mask. 54 Interrupt Enable Flip Flop RST 5.5 RST 6.5 RST 7.5 M 5.5 M 6.5 M 7.5 RST7.5 Memory SDI P7.5P6.5 P5.5 IE M7.5M6.5 M /04/2013Punjab Edusat society

RIM instruction: Read Interrupt Mask 55 SDI P7.5 P6.5 P5.5 IE M7.5M6.5 M RST5.5 Mask RST6.5 Mask RST7.5 Mask } 0 - Available 1 - Masked Interrupt Enable Value of the Interrupt Enable Flip Flop Serial Data In RST5.5 Interrupt Pending RST6.5 Interrupt Pending RST7.5 Interrupt Pending 17/04/2013Punjab Edusat society

RIM instruction: Read Interrupt Mask 17/04/2013Punjab Edusat society56 Bits 0-2 show the current setting of the mask for each of RST 7.5, RST 6.5 and RST 5.5.They return the contents of the three mask flip flops. Bit 3 shows whether the maskable interrupt process is enabled or not. It can be used by a program to determine whether or not interrupts are enabled.

RIM instruction: Read Interrupt Mask 17/04/2013Punjab Edusat society57 Bits 4-6 show whether or not there are pending interrupts on RST 7.5, RST 6.5, and RST 5.5. Bit 7 is used for Serial Data Input. The RIM instruction reads the value of the SID pin on the microprocessor and returns it in this bit.

Multiple Interrupts 17/04/2013Punjab Edusat society58 Microprocessor can be interrupted again before the completion of the ISR. As soon as the 1st interrupt arrives, all maskable interrupts are disabled. They will only be enabled after the execution of the EI instruction. If the EI instruction is placed early in the ISR, other interrupt may occur before the ISR is done.

Multiple Interrupts 17/04/2013Punjab Edusat society59 There are 8 different RST Instructions. Multiple interrupts coming from 8 different external devices

Multiple Interrupts 17/04/2013Punjab Edusat society60 How do MPU allow multiple devices to interrupt using the INTR line? The microprocessor can only respond to one signal on INTR at a time. Therefore, we must allow the signal from only one of the devices to reach the microprocessor. We must assign some priority to the different devices and allow their signals to reach the microprocessor according to the priority.

Priority Interrupt Structures 17/04/2013Punjab Edusat society61 The solution is to use a circuit called the priority encoder as opcodes for the different RST instructions follow a set pattern. By default 8085A have an internally established, fixed, multilevel priority structure. From highest to lowest:  TRAP  RST7.5  RST6.5  RST5.5  INTR

The 8085 Interrupts Interrupt Name Maskable Masking Method VectoredMemory Triggerin g Method INTRYesDI / EINo Level Sensitive RST 5.5 / RST 6.5 Yes DI / EI SIM YesNo Level Sensitive RST 7.5Yes DI / EI SIM Yes Edge Sensitive TRAPNoNoneYesNo Level & Edge Sensitive 62