![Intel IXP45X Скачать руководство пользователя страница 63](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092063.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Reference Number: 306262-004US
63
Functional Overview—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
• The first four stages of the Integer pipe (BTB/Fetch 1 through Register File/ Shift)
. . . then finish with the following MAC stages
• MAC 1
• MAC 2
• MAC 3
• MAC 4
• Data Cache Writeback
The MAC pipe supports a data-dependent early terminate where stages MAC 2, MAC 3,
and/or MAC 4 are bypassed.
Deep pipes promote high instruction execution rates only when a means exists to
successfully predict the outcome of branch instructions. The branch target buffer
provides such a means.
2.2.2
Branch Target Buffer
Each entry of the 128-entry Branch Target Buffer (BTB) contains the address of a
branch instruction, the target address associated with the branch instruction, and a
previous history of the branch being taken or not taken. The history is recorded as one
of four states:
The BTB can be enabled or disabled via Coprocessor 15, Register 1.
When the address of the branch instruction hits in the BTB and its history is strongly or
weakly taken, the instruction at the branch target address is fetched. When its history
is strongly or weakly not-taken, the next sequential instruction is fetched. In either
case the history is updated.
Data associated with a branch instruction enters the BTB the first time the branch is
taken. This data enters the BTB in a slot with a history of strongly not-taken
(overwriting previous data when present).
Successfully predicted branches avoid any branch-latency penalties in the super
pipeline. Unsuccessfully predicted branches result in a four-to-five-cycle, branch-
latency penalty in the super pipeline.
2.2.3
Instruction Memory Management Unit
For instruction pre-fetches, the Instruction Memory Management Unit (IMMU) controls
logical-to-physical address translation, memory access permissions, memory-domain
identifications, and attributes (governing operation of the instruction cache).
The IMMU contains a 32-entry, fully associative instruction-translation, look-aside
buffer (ITLB) that has a round-robin replacement policy. ITLB entries zero through 30
can be locked.
When an instruction pre-fetch misses in the ITLB, the IMMU invokes an automatic
table-walk mechanism that fetches an associated descriptor from memory and loads it
into the ITLB. The descriptor contains information for logical-to-physical address
translation, memory-access permissions, memory-domain identifications, and
attributes governing operation of the I-cache. The IMMU then continues the instruction
• Strongly
taken
• Weakly taken
• Weakly not
taken
• Strongly not taken