Renesas 7700 FAMILY User Manual page 524

Mitsubishi 16-bit single-chip microcomputer
Table of Contents

Advertisement

Q
There is a routine where a certain interrupt request should not be accepted (with enabled acceptance
of all other interrupt requests). Accordingly, the program set the interrupt priority level select bits of
the interrupt to be not accepted to "000
the interrupt request of that interrupt has been accepted immediately after the priority level had been
changed. Why did this occur and what can I do about it?
Interrupt request is
a c c e p t e d i n t h i s
interval
A
When changing the interrupt priority level, the microcomputer can behave "as if the interrupt request
is accepted immediately after it is disabled " if the next instruction (the LDA instruction in the above
case) is already stored in the BIU's instruction queue buffer and conditions to accept the interrupt
request which should not be accepted are met immediately before executing the instruction which is
in that buffer.
When writing to a memory or an I/O, the CPU passes the address and data to the BIU. Then, the
CPU executes the next instruction in the instruction queue buffer while the BIU is writing data into
the actual address. Detection of interrupt priority level is performed at the beginning of each instruc-
tion.
In the above case, in the interrupt priority detection which is performed simultaneously with the
execution of the next instruction, the interrupt priority level before changing it is detected and the
interrupt request is accepted. It is because the CPU executes the next instruction before the BIU
finishes changing the interrupt priority levels.
Sequence of execution
Interrupt priority detection time
CPU operation
BIU operation
" in order to disable it before executing the routine. However,
2
:
LDM #00H, XXXIC ; Writes "000
; Clears interrupt request bit to "0."
LDA A,DATA
; Instruction at the beginning of the routine that
:
;
Interrupt request generated
Previous instruction
executed
(Instruction prefetch)
7751 Group User's Manual
" to interrupt priority level select bits.
2
should not accept one certain interrupt request.
Interrupt request accepted
LDM instruction
executed
Interrupt priority level select bits set
Change of interrupt priority levels
APPENDIX
Appendix 9. Q & A
LDA instruction
executed
completed
Interrupt
(1/2)
20–73

Advertisement

Table of Contents
loading

This manual is also suitable for:

7751 series

Table of Contents