TC1796
System Units (Vol. 1 of 2)
Interrupt System
User’s Manual
14-12
V2.0, 2007-07
Interrupt, V2.0
14.4
Arbitration Process
The arbitration process implemented in the TC1796 uses a number of arbitration cycles
to determine the pending interrupt request with the highest priority number, SRPN. In
each of these cycles, two bits of the SRPNs of all pending service requests are
compared against each other. The sequence starts with the high-order bits of the SRPNs
and works downwards, such that in the last cycle, bits[1:0] of the SRPNs are compared.
Thus, to perform an arbitration through all 8 bits of an SRPN, four arbitration cycles are
required. There are two factors determining the duration of the arbitration process:
•
Number of arbitration cycles, and
•
Duration of arbitration cycles.
Both of these can be controlled by the user.
14.4.1
Controlling the Number of Arbitration Cycles
In a real-time system where responsiveness is critical, arbitration must be as fast as
possible. However, to maintain flexibility, the TC1796 system is designed to have a large
range of service priorities. If not all priorities are needed in a system, arbitration can be
speeded up by not examining all the bits used to identify all 255 unique priorities.
For instance, if a 6-bit number is enough to identify all priority numbers used in a system,
(meaning that bits [7:6] of all SRPNs are always 0), it is not necessary to perform
arbitration on these two bits. Three arbitration cycles will be enough to find the highest
number in bits [5:0] of the SRPNs of all pending requests. Similarly, the number of
arbitration cycles can be reduced to two if only bits [3:0] are used in all SRPNs, and the
number of arbitration cycles can be reduced to one cycle if only bits [1:0] are used.
The ICR.CARBCYC bit field controls the number of cycles in the arbitration process. Its
default value is 0, which selects four arbitration cycles.
gives the options for
arbitration cycle control.
Note: If less than four arbitration cycles are selected, the corresponding upper bits of the
SRPNs are not examined, even if they do not contain zeros.
Table 14-1
Arbitration Cycle Control
Number of Arbitration Cycles
4
3
2
1
ICR.CARBCYC
00
B
01
B
10
B
11
B
Relevant bits of the SRPNs
[7:0]
[5:0]
[3:0]
[1:0]
Range of priority numbers covered
1..255
1..63
1..15
1..3