
TM1100 Preliminary Data Book
Philips Semiconductors
19-4
PRELIMINARY INFORMATION
File: arb.fm5, modified 7/23/99
Hierarchy makes it also easy and natural to allocate bus
bandwidth or latency to a group of devices. Most band-
width or latency demanding devices are located at the
top of the hierarchy while the less demanding are at the
bottom of the hierarchy and get a small amount of overall
bandwidth.
19.4
ARBITER ARCHITECTURE
In addition to the dual priority mechanism described in
ture made of 6 fixed levels of hierarchy. This is combined
with a programmable weighted round robin algorithm per
The weights can be adjusted by software, to allocate
bandwidth and latency depending on application require-
ments.
Within a level of hierarchy the devices can have equal
weights, giving them an equal share of bandwidth or they
can have different weights, giving them an unequal share
of the bandwidth for that level.
The arbitration weights at each level are described in
Table 19-2 presents the minimum bandwidth allocation
at Level 1 between the DSPCPU and the peripherals (the
level 2) according to the different weight values that can
be programmed. Note that programming a weight of 3/3
or 2/2 instead of 1/1 is legal and results in the same allo-
cation.
Note: The different types of requests from the DSPCPU
caches are arbitrated amongst each other, resulting in a
single CPU request to the arbiter. So does the PCI unit.
The weight programming is done by setting the MMIO
register ARB_BW_CTL
. Register offset as well as field
The hardware RESET value of ARB_BW_CTL is 0, re-
sulting in a weight of 1 for all requests.
Note that each media processor application needs to
carefully review its arbiter settings.
Table 19-2. Minimum Bandwidth Allocation Between
CPU Caches and Peripheral Units.
weight of
CPU and
caches
weight of
level 2
bandwidth
at level 1
bandwidth
at level 2
3
1
75%
25%
2
1
67%
33%
3
2
60%
40%
1
50%
2
3
40%
60%
1
2
33%
67%
1
3
25%
75%
Table 19-3. Arbitration Weights at Each Level
Level
Arbitration Weights
level 1:
CPU MMIO, Dcache, Icache are arbitrated with xed
priorities between each other and together have a
programmable weight of 1, 2 or 3.
Level 2 has a programmable weight of 1, 2 or 3.
level 2:
Video Out has a programmable weight of 1, 3 or 5.
Level 3 has a programmable weight of 1, 3, 5 or 7.
level 3: The ICP has a programmable weight of 1,3,5 or 7.
Level 4 has a programmable weight of 1,3 or 5.
level 4
The Video In has a programmable weight of 1 or 2.
Level 5 has a programmable weight of 1,3 or 5.
level 5: The PCI unit has a programmable weight of 1,3 or 5.
Level 6 has a programmable weight of 1 or 2.
level 6: Level 6 contains several lower bandwidth and/or
latency tolerant devices. The VLD has a weight of 2.
Audio In, Audio Out, DVDD and the boot block (only
active during booting) have a weight of 1.
Table 19-4. ARB_BW_CTL MMIO register
Offset
level of
arbitration
eld
bits
allowed
values
0x100104
n/a
RESERVED
25:18
level 1
CPU weight
17:16
00 = weight 1
01 = weight 2
10 = weight 3
level 1
L2 weight
15:14
00 = weight 1
01 = weight 2
10 = weight 3
level 2
VO weight
13:12
00 = weight 1
01 = weight 3
10 = weight 5
level 2
L3 weight
11:10
00 = weight 1
01 = weight 3
10 = weight 5
11 = weight 7
level 3
ICP weight
9:8
00 = weight 1
01 = weight 3
10 = weight 5
11 = weight 7
level 3
L4 weight
7:6
00 = weight 1
01 = weight 3
10 = weight 5
level 4
VI weight
5
0 = weight 1
1 = weight 2
level 4
L5 weight
4:3
00 = weight 1
01 = weight 3
10 = weight 5
level 5
PCI weight
2:1
00 = weight 1
01 = weight 3
10 = weight 5
level 5
L6 weight
0
0 = weight 1
1 = weight 2