Manuel d'utilisation / d'entretien du produit IXP2800 du fabricant Intel
Aller à la page of 430
Order Number: 278882-010 Intel ® IXP2800 Network Processor Hardware Reference Manual August 2004.
2 Hardware Reference Manual Revision History INFORMA TION IN THIS DOCUMENT IS PRO VIDED IN CONNECTIO N WITH INTEL ® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH .
Hardware Reference Manual 3 Contents Contents 1 Introduction . ................ ............. ............. ................ ............. ............. ................ ............. ............. ... 25 1.1 About This Document ............... ......
4 Hardware Reference Manual Contents 2.6 Scratchpad Memory........... ............. ................ ................ ............. ................ ................ ...... .5 6 2.6.1 S cratchpad Atomic Operations ................. ................ ..
Hardware Reference Manual 5 Contents 3.2.7 Power Management ..................... ................ ............. ................ ............. ................ 81 3.2.8 Debugging ............ ................ ............. ................. .........
6 Hardware Reference Manual Contents 3.6.2.3.4 Write-Back versus Write-Through ............. ................ ........... 101 3.6.2.4 Round-Robin Replacement Algorithm ................... ................ .............. 1 02 3.6.2.5 Parity Protection.
Hardware Reference Manual 7 Contents 3.11.5 I/O Transaction ............ ............. ............. ................ ............. ............. ................ .... 130 3.11.6 Hash Access ... ................ ............. ............. ...........
8 Hardware Reference Manual Contents 4.3.1 B yte Align.... ............. ................ ............. ................. ............ ................. ............ ..... 174 4.3.2 C AM ............ ............. ............. ................ ......
Hardware Reference Manual 9 Contents 6.2.1 Internal Interface ............. ............. ................ ............. ................ ............. ............. . 2 09 6.2.2 Number of Channels ....... ............. ................ ............. .
10 Hardware Reference Manual Contents 8.2.5 Rx_Thread_Freelist_Timeout_# .. ......... ....... ............. ............. ................ ............. . 256 8.2.6 R eceive Operation Summary .......... ................ ................ ............. .
Hardware Reference Manual 11 Contents 8.7.2.3 Single IXP2800 Network Processo r ............. ............. ............. .............. 289 8.8 Interface to Command and Push and Pull Bu ses ..... ............. ............. ................ .........
12 Hardware Reference Manual Contents 9 PCI Unit . ............. ................ ............. ............. ................ ............. ............. ................ ............. ........ 319 9.1 Overview ............ ................ .........
Hardware Reference Manual 13 Contents 9.4.2 Push/Pull Command Bus Target Interface...... ................ ............. ................ ........ 345 9.4.2.1 Command Bus Master Access to Lo cal Configuration R egisters ........ 345 9.4.2.2 Command Bu s Master Acce ss to Local C ontrol and Status Registers .
14 Hardware Reference Manual Contents 10.3.2 PCI-Initiated Reset ....... ......... ............. ............. ................ ............. ............. ........... 366 10.3.3 Watchdog Timer-Initiate d Reset ..... ............. ............. ......
Hardware Reference Manual 15 Contents 11.4.6.7 ME01 Events Target ID(100001) / Design Blo ck #(1001) ... ................ . 410 11.4.6.8 ME02 Events Target ID(100010) / Design Blo ck #(1001) ... ................ . 411 11.4.6.9 ME03 Events Target ID(100011) / Design Blo ck #(1001) .
16 Hardware Reference Manual Contents Figures 1 IXP2800 Network Processor Functional Block Dia gram ............... ............. ............. ................ ... 28 2 IXP2800 Network Processor Deta iled Diagram ............. ................ ......
Hardware Reference Manual 17 Contents 48 An Interface Topology with Intel / AMCC* SONET/SDH Device ............................. ................ . 1 58 49 Mode 3 Second Interface Topo logy with Intel / A MCC* SONET/SDH Devic e ............... .......
18 Hardware Reference Manual Contents 98 CSIX Flow Control Interf ace — FCIFIFO and FCEFIFO in Full Du plex Mode .............. ........... 2 77 99 CSIX Flow Control Interf ace — FCIFIFO and FCEFIFO in Simp lex Mode ...... ................ .......
Hardware Reference Manual 19 Contents Tables 1 Data Terminology ................... ............. ................ ................ ............. ................ ............. .... ......... 26 2 Longword Formats ..... ................ ..............
20 Hardware Reference Manual Contents 47 Byte-Enable Generation by the Intel XScale ® Core for Byte Writes in Little- and Big-Endian Systems .................. ................ ............. ................ ............. ................ ...........
Hardware Reference Manual 21 Contents 95 Order in which Data is Transmitted from TBUF .......... ............. ............ ................. ............ ........ 263 96 Mapping of TBUF Partitions to Transmit Prot ocol ......................... .....
22 Hardware Reference Manual Contents 138 Byte Enable Alignm ent for 64-Bit PCI Da ta In (64 Bits PCI Little-Endian to Big- Endian with Swap) ..................... ............. ................ ............. ................ ............. ...........
Hardware Reference Manual 23 Contents 181 SRAM CH0 PMU Event List ................ ................ ................ ............. ................ ............. ........... 422 182 IXP2800 Network Processor Dram DPLA PMU Event List ............ .....
24 Hardware Reference Manual Contents.
Hardware Reference Manual 25 Intel ® IXP2800 Network Processor Introduction Introduction 1 1.1 About This Document This document is the hardware reference manual for the Intel ® IXP2 800 Network Processor .
26 Hardware Reference Manual Intel ® IXP2800 Network Processor Introduction 1.3 T erminology Ta b l e 1 and Ta b l e 2 list the terminology used in this manual. T able 1. Dat a T erminology T erm Words Bytes Bits Byte ½ 1 8 Wor d 1 2 16 Longword 2 4 32 Quadword 4 8 64 T able 2.
Hardware Reference Manual 27 Intel ® IXP2800 Network Proce ssor T echnical Description T echnical Description 2 2.1 Overview This section provides a brief overview of the IXP2800 N etwork Processor internal hardware. This section is intended as an overall hard ware introduction to the netwo rk processor .
28 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Figure 1. IXP2 800 Network Processor Functional Block Diagram A9226-02 Media Switch Fabric (MSF) Scratched Memo.
Hardware Reference Manual 29 Intel ® IXP2800 Network Proce ssor T echnical Description Figure 2. IXP2800 Net work Processor Det ailed Diagram A9750-03 SHaC Unit Scratch Hash CAP DRAM DRAM Controller .
30 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.2 Intel XScale ® Core Microarchitecture The Intel XScale ® microarchitecture consists of a 32-bi t general p urpose RISC processor that incorporates an extensive list of architecture features that allows it to achieve high performance.
Hardware Reference Manual 31 Intel ® IXP2800 Network Proce ssor T echnical Description 2.2.2.4 Branch T arget Buffer The Intel XScale ® microarchitecture provides a Branch T ar get Buffer (BTB) to predict the outcome of branch type instructions.
32 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.2.2.7 Address Map Figure 3 shows the parti tioning of the Inte l XScale ® core microarchitecture 4-Gbyte address space.
Hardware Reference Manual 33 Intel ® IXP2800 Network Proce ssor T echnical Description 2.3 Microengines The Microengines do most of the programmable pre-packet processing in the IXP2800 Network Processor . There are 16 Microe ngines, connected as shown in Figure 1 .
34 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Figure 4. Microengine Block Diagram B1670-01 128 GPRs (A Bank) d e c o d e 128 GPRs (B Bank) 128 Next Neighbor .
Hardware Reference Manual 35 Intel ® IXP2800 Network Proce ssor T echnical Description 2.3.1 Microengine Bus Arrangement The IXP2800 Network Processor sup ports a sing le D_Push/D _Pull bus, and both Microengine clusters interface to the same bus.
36 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Each of the eight Contexts is in one of four states. 1. Inactive — Some applications may not requ ire all eight contexts. A Context is in the Inact ive state when its CTX_ENABLE CSR enable bit is a 0.
Hardware Reference Manual 37 Intel ® IXP2800 Network Proce ssor T echnical Description The Microengine provides the following functi onality during the Idle st ate: 1. The Microengine continuously checks if a Contex t is in Ready state. If so, a new Context begins to execute.
38 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion methods to writ e TRANSFER_IN registers, fo r example a read instruction executed by one Microengine may cause the data to be returned to a different Microengine.
Hardware Reference Manual 39 Intel ® IXP2800 Network Proce ssor T echnical Description 2.3.4.4 Local Memory Local Memory is addressable storage within th e Microengine. Local Memory is read and written exclusively under p rogram control. Local Memory supplies o perands to the execut ion datapath as a source, and receives results as a destination.
40 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion As shown in Example 1 , there is a latency in loading LM_ADDR. Unt il the new value is loaded, the old value is still usable. Example 5 shows the maximum pipelined usage of LM_ADDR.
Hardware Reference Manual 41 Intel ® IXP2800 Network Proce ssor T echnical Description In Example 8 , the second instruction wi ll access the Local Memory location one past the source/ destination of the first. 2.3.5 Addressing Modes GPRs can be accessed in either a context-relati ve or an absolute ad dressing mode.
42 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.3.5.2 Absolute Addressing Mode W ith Absolu te addressing, any GP R can be read or written by an y of the eight Contexts in a Microengine. Absolute addressing enables register data to be shared among all of the Contexts, e.
Hardware Reference Manual 43 Intel ® IXP2800 Network Proce ssor T echnical Description 2.3.6 Local CSRs Local Control and Status registers (CSRs) are exte rnal to the Execution Datapath, and hold specifi c data.
44 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Example 10 shows a big-endian align sequence of instructions and the value of the various operands. Ta b l e 7 shows the data in the registers for this example. The value in BYTE_INDEX[1:0] CSR (which controls the shift amount) fo r this example is 2.
Hardware Reference Manual 45 Intel ® IXP2800 Network Proce ssor T echnical Description Example 1 1 shows a little-end ian sequence of instructions and the value of the various operand s. Ta b l e 8 shows the data in the registers for th is example. The value in BYTE_INDEX[1:0] CSR (which controls the shift am ount) for this example is 2.
46 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Note: The S tate bits are data associated with the entr y . The use is only by software.
Hardware Reference Manual 47 Intel ® IXP2800 Network Proce ssor T echnical Description The value in the State bits for an entry can be written, without modifying the T ag, by instruction: CAM_Write_State[entry_reg, state_ value] Note: CAM_Write_State does not modify the LRU list.
48 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion An algorithm for debug so ftware to find out the cont ents of the CAM is shown in Example 12 .
Hardware Reference Manual 49 Intel ® IXP2800 Network Proce ssor T echnical Description 2.3.9 Event Signals Event Signals are used to coordinate a program wi th comp letion of external events.
50 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.4 DRAM The IXP2800 Network Processor has controll ers for three Rambus* DRAM (RDRAM) channels. Each of the controllers independently accesses its own RDRAMs, and can operate concurrently with the other contro llers (i.
Hardware Reference Manual 51 Intel ® IXP2800 Network Proce ssor T echnical Description 2.4.2 Read and Write Access The minimum DRAM physical access le ngth is 16 bytes. Software (and PCI) can read or write as little as a single byte, however the time (and bandwid th) taken at the DRAMs is the same as for an access of 16 bytes.
52 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.5.1 QDR Clocking Scheme The controller drives out two pairs of K clock (K and K#). It also d rives out two pair s of C clock (C and C#). Both C/C# clocks externally return to the controller for reading data.
Hardware Reference Manual 53 Intel ® IXP2800 Network Proce ssor T echnical Description Each channel can be expanded by depth according to th e number of port enables available. If external decoding is used, then the number of SRAMs used is not limit ed by the number of port enables generated by the SRAM controller .
54 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.5.4 Queue Dat a Structure Commands The ability to enqueue an d dequeue data buf fers at a fast rate is key to meeting line-rate performance. This is a difficult problem as it involves dependent memory references that must be turned around very quickly .
Hardware Reference Manual 55 Intel ® IXP2800 Network Proce ssor T echnical Description V erification is requi red to test o nly the order rul es shown in T able 12 and T able 13 ).
56 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.5.5.2 Microengine Software Restrictions to Maint ain Ordering It is the Micr oengine programmer’ s job to ensure order where the program flow finds order to be necessary and where the architecture does not guarantee that order .
Hardware Reference Manual 57 Intel ® IXP2800 Network Proce ssor T echnical Description 2.6.1 Scratchp ad Atomic Operations In addition to normal reads and writes, the Sc ratchpad Memory supports the follo wing atomic operations.
58 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Head, T ail, and Size are registers in the Scratchpad Unit. Head and T ail point to the actual ring data, which is stored in the Scratchpad RAM. The co unt of how many entries are on the Ring is determined by hardware using th e Head and T ail.
Hardware Reference Manual 59 Intel ® IXP2800 Network Proce ssor T echnical Description 2.7 Media and Switch Fabric Interface The Media and Switch Fabric (MSF) Interface is us ed to connect the IXP2 800 Network Processor to a physical layer device (PHY) and/or to a Swit ch Fabric.
60 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion An alternate system configuration is shown in the block di agram in Figure 1 1 . In this case, a single IXP2800 Network Processor is used for both Ingress and Egress.
Hardware Reference Manual 61 Intel ® IXP2800 Network Proce ssor T echnical Description 2.7.2 CSIX CSIX-L1 (Common Switch Interface) defines an interface between a T raffic Manager (TM) and a Switch Fabric (SF) for A TM , IP , MPLS, Ethernet, and similar data commun ications applications.
62 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.7.3.1 RBUF RBUF is a RAM that holds received data. It stores received data in sub-blocks (referred to as elements), and is accesse d by Mi croengines or the Intel XScale ® core reading the received information.
Hardware Reference Manual 63 Intel ® IXP2800 Network Proce ssor T echnical Description 2.7.3.1.2 CSIX and RBUF CSIX CFrames are placed into either RBUF with each CFrame allocating an el ement. Unlike SPI-4, a single CFrame must not spill over into another element.
64 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Each RX_THREAD_FREELIST has an associated countdown timer . If the timer expires and no new receive data is available yet, the receive logi c will autopush a Null Recei ve S tatus W ord to the next thread on the RX_THREAD_FREELIST .
Hardware Reference Manual 65 Intel ® IXP2800 Network Proce ssor T echnical Description 2.7.4 T ransmit Figure 13 is a simp lified Block Diagram of the MSF transmit section.
66 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion All elements within a TBUF partition are transmitted in the order . Contro l information associated with the element defines which bytes are valid. The data from th e TBUF will be shifted and byte aligned as required to be transm itted.
Hardware Reference Manual 67 Intel ® IXP2800 Network Proce ssor T echnical Description 2.7.4.1.2 CSIX and TBUF For CSIX, payload information is put int o the data area of the element, and Base and Extension Header information is put in to the Element Control W ord.
68 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion There is a T ransmit V alid bit per element, that marks the element as ready to be transmitted. Microengines move all data into the element, by eit her or both of msf[write] and dram[tbuf_wr] instructions to the TBUF .
Hardware Reference Manual 69 Intel ® IXP2800 Network Proce ssor T echnical Description 2.8 Hash Unit The IXP2800 Network Processor contains a Hash Unit that can take 48-, 64-, or 128-bit data and produce a 48-, 64-, or a 128-bit hash index, re spectively .
70 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion Figure 14. Hash Un it Block Diagram A9367-02 128 48-bit, 64-bit or 128-bit Hash Select Data Used to Create Hash.
Hardware Reference Manual 71 Intel ® IXP2800 Network Proce ssor T echnical Description 2.9 PCI Controller The PCI Controller provides a 64-bit, 66 MHz capable PCI Local Bus Revision 2.
72 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion For PCI to DRAM transfers, the PCI command is Memory Read, Memory Read line, or Memory Read Multiple. For DRAM to PCI transfers, the PCI command is Memory W rite.
Hardware Reference Manual 73 Intel ® IXP2800 Network Proce ssor T echnical Description 2.9.3.2 DMA Channel Operation The DMA channel can be set up to read the first de scriptor in SRAM, or with the first descriptor written directly to the DMA channel registers.
74 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.9.3.3 DMA Channel End Operation 1. Channel owned by PCI: If not masked via the PCI Outbound Interrupt Mask re.
Hardware Reference Manual 75 Intel ® IXP2800 Network Proce ssor T echnical Description (either a PCI interrupt or an Intel XScale ® core interrupt). When an interrupt is received, the DOORBELL registers can be read and the bit mask can be interpreted.
76 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion 2.10 Control and S t atus Register Access Proxy The Control and Status Register Access Proxy (C AP) contains a number of chip-wide control and status registers.
Hardware Reference Manual 77 Intel ® IXP2800 Network Proce ssor T echnical Description 2.1 1.2 T imers The IXP2800 Network Processor contains four program mable 32-bit timers, which can be used for software support. Each timer can be clocked by the internal clock, by a divided versio n of the clock, or by a signal on an external GPIO pi n.
78 Hardware Reference Manual Intel ® IXP2800 Network Proce ssor T echnical Descrip tion The access is asynchronous. Insertion of delay cycles for both data setup and hold time is programmable via internal Cont rol registers. The transfer can also wait for a handshake acknowledge signal from the external device.
Hardware Reference Manual 79 Intel ® IXP2800 Network Processor Intel XScale ® Core Intel XScale ® Core 3 This section contains info rmation describing th e Intel XScale ® core, Intel XScale ® core gasket, and Intel XScale ® core Peripherals (XPI).
80 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.2 Features Figure 16 shows the major fun ctional blocks of the Intel XScale ® core. 3.2.1 Multiply/ACcumulate (MA C) The MAC unit supports early termin ation of multip lies/accumulates in two cycles and can sustain a throughput of a MAC operation every cy cle.
Hardware Reference Manual 81 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.2.3 Instruction Cache The Intel XScale ® core implements a 32-Kbyt e, 32-way set associativ e instruction cache with a line size of 32 bytes. All requests that “miss” the instruction cache generate a 32-byte read request to external memory .
82 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.3 Memory Management The Intel XScale ® core implements the Memory Management Unit (MMU) Arch itecture specified in the ARM Architectur e Reference Manual .
Hardware Reference Manual 83 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.3.1.2.2 Instruction Cache When examining these bits in a descriptor , the Instruction Cache only utilizes the C bit. If th e C bit is clear , the Instruction Cache considers a code fetch from that memory to be non-cacheable, and will not fill a cache entry .
84 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core If the Line Allocation Policy is rea d-allocate, all load operatio ns that miss the cache request a 32-byte cache line from external memory and allocate it into either the data cache or mini-data cache (this is assuming the cache is enabled).
Hardware Reference Manual 85 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.3.3 Interaction of the MMU, In struction Cache, and Data Cache The MMU, instruction cache, and da ta/mini-data cache may be enabled/disabled independently . The instruction cache can be enabled with the MMU enabled or disabled.
86 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.3.4.3 Locking Entries Individual entries can b e locked into the inst ruction and data TLBs. If a lock operation finds the virtual address translation already resident in th e TLB, the results are unpred ictable.
Hardware Reference Manual 87 Intel ® IXP2800 Network Processor Intel XScale ® Core The proper procedure for locking entr ies into the data TLB is shown in Example 16 . Note: Care must be exercised here wh en allowing exceptions to occur during this routine wh ose handlers may have data that lies in a page that is trying to be locked into the TLB.
88 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 17 illustrates locked entries in TLB. 3.4 Instruction Cache The Intel XScale ® core instruction cache enhances pe rformance by reducing the number of instruction fetches from external memory .
Hardware Reference Manual 89 Intel ® IXP2800 Network Processor Intel XScale ® Core The instruction cache is vi rtually addressed and virtually tagged . The virtual addr ess presented to the instruction cache may be remapped by the PID register . 3.4.
90 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.4.1.2 Operation when Inst ruction Cache is Disabled Disabling the cache prevents any lin es from being written into th e instruction cach e. Although the cache is disabled, it is still accessed and may genera te a “hit” if the data is already in the cache.
Hardware Reference Manual 91 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.4.1.5 Parity Protection The instruction cache is pr otected by parity to ensu re data integrity . Each instruction cache word has 1 parity bit. (The instruction cache tag is not parity protected.
92 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.4.2 Instruction Cache Control 3.4.2.1 Instruction Cache St ate at Reset After reset, the instructio n cache is alwa ys disabled, unlocked, and in validated (flushed).
Hardware Reference Manual 93 Intel ® IXP2800 Network Processor Intel XScale ® Core There are several requirements for locking down co de: 1. The routine used to lock lin es down in the cache must be placed in non-cacheable memory , which means the MMU is enabled.
94 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Example 20 shows how a routine, called “lockMe” in th is example, might be locked into the instruction cache. Note that it is possible to receive an exception while locking code.
Hardware Reference Manual 95 Intel ® IXP2800 Network Processor Intel XScale ® Core The BTB takes the cu rrent instructio n address and checks to see if this address is a branch that was previously seen. It uses bits [8:2 ] of the current address to read ou t the tag and then compares this tag to bits [31:9,1] of the current instruct ion addr ess.
96 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.5.2 Up date Policy A new entry is stored into the BTB when the following condi tions are met: • The branch inst.
Hardware Reference Manual 97 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.1 Overviews 3.6.1.1 Dat a Cache Overview The data cache is a 32-Kbyt e, 32-way set associative cache, i. e., there are 32 sets and each set has 32 ways. Each way of a set contains 32 bytes (one cache line) and one valid bit.
98 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.1.2 Mini-Dat a Cache Overview The mini-data cache is a 2-Kbyte, 2-way set associ ative cac he; this means there are 32 sets with each set containing 2 ways. Each way of a set cont ains 32 bytes (one cache line) and one valid bit.
Hardware Reference Manual 99 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.1.3 Write Buffer an d Fill Buffer Overview The Intel XScale ® core employs an eight en try write buffer , each entry containing 16 bytes. Stores to external memory are first placed in the write buf fer and subsequently taken out when the bus is available.
100 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.2.3 Cache Policies 3.6.2.3. 1 Cacheab ility Data at a specified address is cacheable given the following: • The MMU is enabled • The cacheable attribute is set in th e descriptor for the accessed address • The data/mini-data cache is enabled 3.
Hardware Reference Manual 101 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.2.3.3 Write Miss Policy A write operation that misses the cache, requests a 32-byte cache line from external memory if the access is cacheable and write alloca tion is specified in the page; th en, the following events occur: 1.
102 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.2.4 Round-Robin Replacement Algorithm The line replacement algorithm for the data cache is round-robin. Each set in the data cache has a round-robin pointer that keeps track of the next line (in that set) to replace.
Hardware Reference Manual 103 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.3 Dat a Cache and Mi ni-Dat a Cache Control 3.6.3.1 Dat a Memory St ate Af ter Reset After processor reset, both the da ta cache and mini-data cache are disa bled, all valid bits are set to 0 (invalid), and the round-robin bit points to way 31.
104 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.3.3.1 Global Clean and Invalida te Operation A simple software routine is used to globally cl ean the data cache. It takes advantage of the line- allocate data cache operation, which allocates a line into the data cache.
Hardware Reference Manual 105 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.4 Reconfiguring the Da t a Cache as Dat a RAM Software has the ability to lock tags associated with 32-byte lines in the data cache, thus creating the appearance of data RAM.
106 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.6.5 Write Buffer/Fill Buff er Operation and Control The write buffer is always enabled, which means stores to external memory will be buffered.
Hardware Reference Manual 107 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.8 Performance Monitoring The Intel XScale ® core hardware provides two 32-bi t pe rformance counters that allow two unique events to b e monitored simult aneously .
108 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Some typical combination of counted events are listed in th is section and summarized in T able 25 . In this section, we call such an event combination a mode . 3.8.
Hardware Reference Manual 109 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.8.1.2 Dat a Cache Efficiency Mode PMN0 totals the number of data cache accesse s, which includes cacheable and non-cacheable accesses, mini-data cache access and accesses made to locations configured as data RAM.
110 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Statistics derived from these two events: • The average number of cycles the pr ocessor stalle d on a data-cache access that may overflow the data-cache bu ffers .
Hardware Reference Manual 111 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.8.1.6 Instruction TLB Efficiency Mode PMN0 totals the n umber of instructio ns that we re executed, which does not include instructions that were translated by the instruction TLB a nd never executed.
112 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.1 Interrupt Latency Minimum Interrupt Latency is defined as the minimum number of cycles from the assertion of any interrupt signal (IRQ or FIQ) to the execution of the inst ruction at the vector for that interrupt.
Hardware Reference Manual 113 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.3 Addressing Modes All load and store addressing mode s implemented in the Intel XScale ® core do not add to the instruction latencies numbers.
114 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Minimum Issue Latency (wit hout Branch Misprediction) to the min imum branch late ncy penalty numb er from Ta b l e 2 6 , which is four cycles.
Hardware Reference Manual 115 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.4.2 Branch Instruction Timings ( 3.9.4.3 Dat a Processing Instructio n Timings T able 28.
116 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.4.4 Multiply Instruction Timings T able 31. Multiply Instruct ion Timings (Shee t 1 of 2) Mnemonic Rs V alue (.
Hardware Reference Manual 117 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.4.5 Saturated Arit hmetic Instructions h UMULL Rs[31:15] = 0x00000 0 1 RdLo = 2; RdHi = 3 2 13 3 3 Rs[31:27] = 0x00 0 1 RdLo = 3; RdHi = 4 3 14 4 4 all others 0 1 RdLo = 4; RdHi = 5 4 15 5 5 1.
118 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.4.6 St atus Register Access Instructions 3.9.4.7 Load/Store Instructions 3.
Hardware Reference Manual 119 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.9.4.9 Coprocessor Instructions 3.9.4.10 Miscellaneous Instruction Timing 3.9.4.1 1 Thumb Instructions The timing of Thu mb instructio ns are the same as their equivalent ARM* instructions.
120 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.10.1 IXP2800 Network Processor Endianness Endianness defines the way bytes are addressed with in a word. A little-endi an system is one in which byte 0 is the least significant byte (LSB) in the word and byte 3 is the most significant byte (MSB).
Hardware Reference Manual 121 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.10.1.1 Read and Write T ransactions Initiated by the Intel XScale ® Core The Intel XScale ® core may be used in either a little-e ndian or big-endian configuration.
122 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 16-Bit (Word ) Read When reading a word, the Intel XScale ® core generates the byte_enabl e that corresponds to the proper byte lane as defi ne d by the endianness setting.
Hardware Reference Manual 123 Intel ® IXP2800 Network Processor Intel XScale ® Core 32-Bit (Lon gword) Read 32-bit (longword) reads are independent of endianness.
124 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Word W rite (16-Bit s Write) When the Intel XScale ® core writes a 16-bit word to external memory , it puts the b.
Hardware Reference Manual 125 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1 Intel XScale ® Core Gasket Unit 3.1 1.1 Overview The Intel XScale ® core uses the Core Memory Bus (CMB ) to communicate with the functional blocks.
126 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core The Intel XScale ® core coprocessor bus is not us ed in the IXP2800 Net work Processors, therefore all accesses are only through the Command Me mory Bus. Figure 27 shows the block diagram of the global bus connections to the gasket.
Hardware Reference Manual 127 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.2 Intel XScale ® Core Gasket Functional Description 3.1 1.
128 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.4 Atomic Operations The Intel XScale ® core has Swap (SWP ) and Swap Byte (S WPB) instructions that generate an atomic read-write pair to a si ngle address.
Hardware Reference Manual 129 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.4.1 Summary of Rules for th e Atomic Command Regarding I/O The following rules summarize the Atomic comm and, regarding I/O. • SWP to SRAM/Scratch and Not cbiIO, Xscale_ IF generates an Atomic operation command.
130 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.5 I/O T ransaction The Intel XScale ® core can request an I/O tr ansaction by asserting xsoCBI_IO concurrently with xsoCBI_Req. The value of xsoCBI_IO is undefined when xsoCBI_Req is not asserted.
Hardware Reference Manual 131 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.7 Gasket Local CSR There are two sets of Control a nd S tatus registers resi ding in the gasket Local CSR space. ICSR refers to the Interrupt CSR. The ICSR address range is 0xd600_0000 – 0xd6ff_f fff.
132 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.1 1.8 Interrupt The Intel XScale ® core CSR controller contains local CSR( s) and interrupts inputs from multiple sources. The diagram in Figure 28 shows the flow through the control ler .
Hardware Reference Manual 133 Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 29. Interrupt Mask Block Diagram A9699-01 {Error ,Thread}RawStatus IRQ{Error ,Thread}Status FIQ{Error ,Thre.
134 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12 Intel XScale ® Core Peripheral Interface This section describes the Intel XScale ® core Peripheral Interface unit (X PI).
Hardware Reference Manual 135 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.1.1 Data T ransfers The current rate for data transf ers is four bytes, except for the Slowport. The 8-bit and 16-bit accesses are only available in the Slowport bus.
136 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.1.3 Address Sp aces for XPI Internal Devices Ta b l e 5 3 shows the address space assignment for XPI devices.
Hardware Reference Manual 137 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.2 UART Overview The UAR T performs serial -to-parallel conversion on data characters received from a peripheral device and parallel-to-serial conversion on data characters receive d from the network processor .
138 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.3 UART Operation The format of a UAR T data frame is shown in Figure 31 . Figure 31. UART Data Frame Each data frame is between 7 bits and 12 bits lo ng depending on the size of data programmed, if parity is enabled and if two stop bits i s selected.
Hardware Reference Manual 139 Intel ® IXP2800 Network Processor Intel XScale ® Core Character Time-out Interrupt When the receiver FIFO and receive r time-out interrupt are enabled, a character time-out interrupt occurs when all of the following cond itions exist: • At least one character is in the FIFO.
140 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.5 General Purpose I/O (GPIO) The IXP2800 Network Processor has eight General Purpose Input/Ou tput (GPIO) port pins fo r use in generating and capturing application-specific input and ou tput signals.
Hardware Reference Manual 141 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.6 T imers The IXP2800 Network Processor sup ports four tim ers. These timers are clocke d by the Advanced Peripheral/Bus Clock (APB-CLK), which runs at 50 MHz to produce the PLPL_APB_CLK, PLPL_APB_CLK/16, or PLPL_APB_CLK/ 256 signals.
142 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 34 shows the Timer Internal logic. 3.12.7 Slowport Unit The IXP2800 Network Processor Sl owport Unit supports b asic PROM access and 8 -, 16-, and 32-bit microprocessor device access.
Hardware Reference Manual 143 Intel ® IXP2800 Network Processor Intel XScale ® Core The Flash memory interface is used for the PR OM device. The micropro cessor interface can be used for SONET/SDH Framer microproces sor access. There are two ports in the Slowpo rt unit.
144 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.3 Slowport Unit Interfaces Figure 35 shows the Slowport unit interface diagram.
Hardware Reference Manual 145 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.4 Address Sp ace The total address space is defined as 64 Mbytes, wh ich is further divided into two segments of 32 Mbytes each. T wo devices can be connect to this bus.
146 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.6 Slowport 8-Bit Device Bus Protocols The write/read transfer protocols are discussed in the following sections. The burst transfers are going to be broken down into single mode transfer .
Hardware Reference Manual 147 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.6.1 Mode 0 Single Write T ransfer for Fixed-T imed Device Figure 38 , shows th e single write transfer for a fixe d-timed device with th e CSR programmed to a value of setup=4, pulse width=0, and ho ld=2, followed by anot her read transfer .
148 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.6.2 Mode 0 Single Write T ransfer for Self-T iming Device Figure 39 depicts the single write transfer for a se lf-timing device with the C SR programmed to setup=4, pulse width=0, and hold=3.
Hardware Reference Manual 149 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.6.3 Mode 0 Single Read T ransfer for Fixed-T imed Device Figure 40 demonstrates the single read transfer issued to a fixed- timed PROM device follow ed by another write transaction.
150 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.6.4 Sin gle Read T ransfer fo r a Self-Timing Device Figure 41 demonstrates the single read transfer issu ed to a self-timing PROM device followed by another write transaction.
Hardware Reference Manual 151 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.7.1 Mode 1: 16-Bit Microprocessor Interface Support with 16-Bit Addr ess Lines The address size control register is programmed to 16-bit address sp ace for this case.
152 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 42. An Interface T opology with Lucent* TDA T042G5 SONET/SDH A9370-03 R/W# CS# DT# ADS# ADDR[16:0] DATA[15:.
Hardware Reference Manual 153 Intel ® IXP2800 Network Processor Intel XScale ® Core 16-Bit Mic roprocessor Writ e Interface Protoco l Figure 43 uses the Lucent* TDA T042G5 device.
154 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core 16-Bit Microprocessor Re ad Interface Protocol Figure 44 , likewise depicts a singl e read transaction launched from the IXP2 800 Network Processor to the Lucent* TDA T042G 5 device followed by a single r ead transaction.
Hardware Reference Manual 155 Intel ® IXP2800 Network Processor Intel XScale ® Core 3.12.7.7.2 Mode 2: Interface with 8 Dat a Bits and 1 1 Address Bit s This application is designed for the PMC- Sierra* PM5351 S/UNI-TETRA * device.
156 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core PMC-Sierra* PM5351 S/UNI-TETRA* W rite Interface Protocol Figure 46 depicts a single write transaction launched from the IXP2 800 to the PMC-Sierra* PM5351 device followed by single read transaction.
Hardware Reference Manual 157 Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 47 , depicts a single read transaction launched from the IXP2800 Network Processor to the PMC-Sierra* PM5351 device, followed by a single writ e transaction.
158 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core For a write, SP_CP loads the data onto the 74 F646 (or equivalent) tri-stat e buffers, using two clock cycles.
Hardware Reference Manual 159 Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 49. Mode 3 Se cond Interface T opology with In tel / AMCC* SONET/SDH Device A9715-02 SP_RD_L SP_CS_L[1] SP_.
160 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Mode 3 Wr ite Interface Protocol Figure 50 depicts a single write transaction launched from the IXP2800 Network Processor to the Intel and AMCC* SONET/SDH device, follow ed by two consecutive reads.
Hardware Reference Manual 161 Intel ® IXP2800 Network Processor Intel XScale ® Core Mode 3 Read Interface Protocol Figure 51 depicts a single read transaction launched from the IXP2800 to the Intel and AMCC* SONET/SDH device, followed by two consecutive writes.
162 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core It employs the same way to pack and unpack the data between the IXP2800 Netw ork Processor Slowport interface and the Intel an d AMCC* microprocessor interface.
Hardware Reference Manual 163 Intel ® IXP2800 Network Processor Intel XScale ® Core Figure 53. Second Interfa ce T opology with Intel / AMCC* SONET/SDH Device A9719-02 SP_RD_L SP_CS_L[1] SP_ACK_L SP.
164 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core Mode 4 Wr ite Interface Protocol Figure 54 depicts a single write transaction launched from the IXP2800 Network Processor to the Intel and AMCC* SONET/SDH device, follow ed by two consecutive reads.
Hardware Reference Manual 165 Intel ® IXP2800 Network Processor Intel XScale ® Core Mode 4 Read Interface Protocol Figure 55 shows a single read transaction launched from th e IXP2800 Network Processor to the Intel and AMCC* SONET/SDH device, followed by two consecut ive writes.
166 Hardware Reference Manual Intel ® IXP2800 Network Processor Intel XScale ® Core.
Hardware Reference Manual 167 Intel ® IXP2800 Network Processor Microengines Microengines 4 This section defines the Network Processor Microe ngine (ME). This is the second version of the Microengine, and is often referred to as the MEv2 (Microengine V ersion 2).
168 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines Figure 56. Microengine Block Diagram B1670-01 128 GPRs (A Bank) d e c o d e 128 GPRs (B Bank) 128 Next Neighbor 128 D XFER.
Hardware Reference Manual 169 Intel ® IXP2800 Network Processor Microengines 4.1.1 Control Store The Control Store is a static RA M that holds the program that th e Microengine executes. It holds 8192 instructions, each of which is 40 bits wide. It is initialized by an external device that writes to Ustore_Addr and Ustore_Data Local CSRs.
170 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines The Microengine is in Idle state wh enever no Context is running (all Contexts are in either Inactive or Sleep states). This state is entered: 1. After reset (because CTX_Enable Local CSR is clear, putting all Contexts into Inactive states).
Hardware Reference Manual 171 Intel ® IXP2800 Network Processor Microengines 4.1.3 Dat ap ath Registers As shown in the block diagram in Figure 5 6 , each Microengine contains four types of 32-bit da.
172 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines T ypically , the external units access the T ransfer registers in response to commands sent by the Microengines.
Hardware Reference Manual 173 Intel ® IXP2800 Network Processor Microengines It is also possible to make use of both or one LM_Addrs as global by setting CTX_Enable[LM_Addr_0_Glob al] and/or CTX_ Enable[LM_Addr_ 1_Global].
174 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines 4.1.4.2 Absolute Addressing Mode W ith Absolu te addressing, any GPR can be read or wri tten by any one of the eight Context s in a Microengine. Absolute addressing enables register data to be shared among all of the Contexts, e.
Hardware Reference Manual 175 Intel ® IXP2800 Network Processor Microengines Example 24 sh ows an align sequence of instructions and the value of the vari ous operands. T able 59 shows the data in the reg isters for this example. The value in Byte_Index [1:0] CSR (which controls the shift am ount) for this example is 2.
176 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines Example 25 shows another sequence of instructions and the value of the various operands. Ta b l e 6 0 , shows the data in the registers for this examp le. The value in Byte_Index[1:0] CS R (which controls the s hift am ount) for this example is 2.
Hardware Reference Manual 177 Intel ® IXP2800 Network Processor Microengines Note: The State bits are data associated with the entry . State bits are only used by software.
178 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines One possible way t o use the result of a lo okup is to dispat ch to the proper code u sing instruction : jump[register, label#],defer [3] where the register holds the result of the lookup.
Hardware Reference Manual 179 Intel ® IXP2800 Network Processor Microengines The CAM can be cleared with CAM_Clear instruction . This instruction writes 0x00000000 simultaneously to all entries t ag, clears all the state bits, and put s the LRU into an initial state (where entry 0 is LRU, .
180 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines 4.5 Event Signals Event Signals are used to coordi nate a program with completion o f external events.
Hardware Reference Manual 181 Intel ® IXP2800 Network Processor Microengines 4.5.1 Microengine Endianness Microengine op eration from an “endian” point o f view can be di vided into followi ng ca.
182 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines 4.5.1.2 Write to TBUF Data in TBUF is arranged in L WBE order . When writing from th e Microengine transfer registers to TBUF , treg0 goes into LDW0, treg1 goes into LDW1, etc.
Hardware Reference Manual 183 Intel ® IXP2800 Network Processor Microengines 4.5.1.6 Write to Hash Unit Figure 62 explains 48-, 64-, and 12 8-bit hash operat ions. When the Microeng ine transfers a 48-bit hash operand to the hash unit, the operand resides in two transfer registers and is transferred, as shown in Figure 62 .
184 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines 4.5.2.1 Read from RBUF T o analyze the endianness on the media-receive in terface and the way in wh ich bytes are arranged inside RBUF , a brief introduction of how bytes are generated from the serial interface is provided here.
Hardware Reference Manual 185 Intel ® IXP2800 Network Processor Microengines 4.5.2.2 Write to TBUF For writing to TBUF , the header comes from the Microengine and data comes from RBUF or DRAM.
186 Hardware Reference Manual Intel ® IXP2800 Network Processor Microengines Since data in RBUF or DRAM is arranged in L WBE order , it is swapped o n the way into the TBUF to make it t ruly big-endian, as shown in Figure 64 .
Hardware Reference Manual 187 Intel ® IXP2800 Network Processor DRAM DRAM 5 This section describes R ambus* DRAM operatio n. 5.1 Overview The IXP2800 Network Processor has controllers for three Rambus* DRAM (R DRAM) channels. Either one, two, o r thr ee channels can be enabled.
188 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM 5.2 Size Configuration Each channel can be populated with 1 – 4 R DRA Ms (Short Channel Mode). For supported loading configurations, refer to T a ble 61 . The RAM technology used dete rmines the increment size and maximum memory per channel as shown in T able 62 .
Hardware Reference Manual 189 Intel ® IXP2800 Network Processor DRAM 5.3 DRAM Clocking Figure 66 shows the clock generati on for one channel (this descriptio n is just for reference; for more information, refer to Ramb us* design literature). The ot her channels use the sam e configuration.
190 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM 5.4 Bank Policy The RDRAM Controller uses a “closed bank” polic y . Banks are activated long enough to do an access and then closed and precharged. They are not left open in anticipation of another a ccess to the same page.
Hardware Reference Manual 191 Intel ® IXP2800 Network Processor DRAM 5.5 Interleaving The RDRAM channels are interleaved on 128-byte boundaries in hardware to improv e concurrency and bandwidth util ization.
192 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM T able 63. Address Rearrangement for 3-W ay Interleave (She et 1 of 2) When these bits of address are all “1”s… 1 Shift 30:7.
Hardware Reference Manual 193 Intel ® IXP2800 Network Processor DRAM T able 64. Address Rearrangement for 3-W ay Interleave (Sheet 2 of 2) (Rev B) 5.5.2 T wo Channels Active (2-W ay Interleave) It is possible to have only two channels populated for system cost and ar ea savings.
194 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM 5.5.4 Interleaving Acro ss RDRAMs and Banks In addition to interleaving acros s the different RDRAM channels, addresses are also interleaved across RDRAM chips and internal banks.
Hardware Reference Manual 195 Intel ® IXP2800 Network Processor DRAM 5.6.2 Parity Enabled On writes, odd byte parity is computed for each byt e and written into the co rresponding parity bit. Partial writes (writes of less than eight bytes) are done as masked writes.
196 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM T o avoid the detection of fals e ECC errors, the RDRAM ECC mode must be initialized using the procedure described below: 1. Ensure that parity/ECC is not enabled: program DRAM_CTRL[15:14] = 00 2.
Hardware Reference Manual 197 Intel ® IXP2800 Network Processor DRAM 5.8 Microengine Signals Upon completion of a read or wr ite, the RDRAM controller can signal a Microengine context, when enabled. It does so using the sig_done token; see Example 27 .
198 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM Serial r eads are done by the followin g steps: 1. Read RDRAM_Serial_Comma nd; test Busy bit until i t is a 0. 2. W rite RDRAM_Serial_Command to start the read. 3. Read RDRAM_Serial_Comma nd; test Busy bit until i t is a 0.
Hardware Reference Manual 199 Intel ® IXP2800 Network Processor DRAM 5.10.1 Commands When a valid command is placed on the command bus, the co ntrol logic checks to see if the address matches the channel’ s address range, based on interleaving as described in Section 5.
200 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM 5.10.3 DRAM Read When a read (or TBUF_WR, which does a DRAM read) command is at the head of the Command Inlet FIFO, it is moved to the proper Bank CMD FIFO if there is room.
Hardware Reference Manual 201 Intel ® IXP2800 Network Processor DRAM 5.10.6 Arbitration The channel needs to arbitrate am ong several dif ferent operations at RMC. Arbitration rules are given here for those cases: from highest to lowest priori ty: • Refresh RDRAM.
202 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM • Supports chaining for bu rst DRAM push operations t o tell the arbiter to grant co nsecutive push requests. • Supports data error bit handling and delivery . Figure 71 shows the functional blocks for the DRAM Push /Pull Arbiter .
Hardware Reference Manual 203 Intel ® IXP2800 Network Processor DRAM 5.1 1.2 DRAM Push Arbiter Description The general data flow for a push operation is as shown in T able 68 . The DRAM Push Arbiter functional blocks are shown in Figure 72 . The push arbiter takes push requests from any reque stors.
204 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM The DRM Push Arbiter boundary conditions are: • Make sure each of the push_request queues as sert the full signal and back pressure the requesting unit. • Maintain 100% bus utilization, i.
Hardware Reference Manual 205 Intel ® IXP2800 Network Processor DRAM When a requestor gets a pull command on the CMD_ BUS, the requestor sends the command to the pull arbiter .
206 Hardware Reference Manual Intel ® IXP2800 Network Processor DRAM.
Hardware Reference Manual 207 Intel ® IXP2800 Network Processor SRAM Interface SRAM Interface 6 6.1 Overview The IXP2800 Network Processor c ontains four i ndependent SRAM controllers. SRAM controllers support pipelined QDR synchron ous static RAM (S RAM) and a coprocessor that adheres to QDR signaling.
208 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface 6.2 SRAM Interface Configurations Memory is logically four bytes (one longword ) wide while physically , the data pins are tw o bytes wide and double-clocked. Byte parity is supported.
Hardware Reference Manual 209 Intel ® IXP2800 Network Processor SRAM Interface In general, QDR and QDR II bursts of two SRAMs are supported at speeds up to 233 MHz.
210 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface Each channel can be expanded in depth according to the number of port enables available. If external decoding is used, then the number of SRAMs is not limited by the number of port enables generated by the SRAM control ler .
Hardware Reference Manual 211 Intel ® IXP2800 Network Processor SRAM Interface A side-effect of the pipeline registers is to add latency to reads, and the SRAM controller must account for that delay by waiting extra cycles (relat ive to no external pipeline reg isters) before it registers the read data.
212 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface Up to two Microengine signals are assigned to each read-modify -write reference. Microcode should always tag the read-modify-write referen ce with an e ven-numbered signal.
Hardware Reference Manual 213 Intel ® IXP2800 Network Processor SRAM Interface 6.4.3 Queue Dat a Structure Commands The ability to enqueue and dequeue data buffers at a fast rate is key to meeting chip performance goals. This is a difficult problem as it involves dependent memory references that must be turned around ver y quickly .
214 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface The ENQ_tail_and_link command followed by ENQ_tail enqueue a pr eviously linked string of buffers. The string of buffers is used in the case where one packet is too la rge to fit in one buffer .
Hardware Reference Manual 215 Intel ® IXP2800 Network Processor SRAM Interface There are two different modes for the dequeue command. One mode re moves an entire buf fer from the queue. The second mode removes a piece of the buf fer (referred to as a cell).
216 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface Note: For a Ring or Journal, Head and Tail must be initialized to the same address.
Hardware Reference Manual 217 Intel ® IXP2800 Network Processor SRAM Interface 6.4.3.3 ENQ and DEQ Commands These commands add or remove element s from the queue structure while updating the Q_array registers.
218 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface Note: If incorrect parity is detected on the read portion of an atomic read-modify-write , the incorrect parity is preserved after the w rite (that is, the byte(s) wi th bad parity during the read will have incorrect parity writt en during the write).
Hardware Reference Manual 219 Intel ® IXP2800 Network Processor SRAM Interface 6.7 Reference Ordering This section describes the or dering between accesses to any one SRAM controller . V arious mechanisms are used to guarantee order — for ex ample, references that always go to the same FIFOs remain in order .
220 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface 6.7.2 Microcode Restriction s to Maint a in Ordering The microcode programmer must ensure order wher e the program flow requires order and where the architecture does not guarantee that order .
Hardware Reference Manual 221 Intel ® IXP2800 Network Processor SRAM Interface Other microcode rules: • All access to atomic variables should be through read-modify- write instructions. • If the flow must know that a write is completed (actually in the SRAM itself), follow the write with a read to the same address.
222 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface The external coprocesso r interface is based on FIFO communication. A thread can send parameters to the coprocesso r by .
Hardware Reference Manual 223 Intel ® IXP2800 Network Processor SRAM Interface There can be multiple operatio ns in progress in the coprocessor . The SRAM cont roller sends parameters to the coprocessor in response to each SRAM write instruc tion without waiting for return results of previous writes.
224 Hardware Reference Manual Intel ® IXP2800 Network Processor SRAM Interface.
Hardware Reference Manual 225 Intel ® IXP2800 Network Processor SHaC — Unit Expansion SHaC — Unit Expansion 7 This section covers the operation of the Scratchpad, Hash Unit, and CSRs (SHaC).
226 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion Figure 84. SHaC T op Level Diagram A9751-03 Scratch RAM (4 K x 32) Scratch/CAP Control Logic Intel XScale ® Co.
Hardware Reference Manual 227 Intel ® IXP2800 Network Processor SHaC — Unit Expansion 7.1.2 Scratchp ad 7.1.2.1 Scratchp ad Description The SHaC Unit contains a 16-Kbyte Scratchpad memory , or ganized as 4K 32-bit words, that is accessible by the Intel XScale ® core and Microengines.
228 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion Figure 85. Scratchp ad Block Diagram A9756-02 Scratchpad State Machine CSR_CONTROL_SIGNALS APB_CONTROL_SIGNALS .
Hardware Reference Manual 229 Intel ® IXP2800 Network Processor SHaC — Unit Expansion 7.1.2.2 Scratchp ad Interface Note: The Scratchpad command and S_Push and S_Pull bus interfaces actually are shared with the Hash Unit. Only one command, to either of those units, can be accepted per cycle.
230 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion If the Command Inlet FIFO becomes fu ll, the Scratchpad controller sends a full signal to the command arbiter that prevents it from sen ding further Scratchpad commands.
Hardware Reference Manual 231 Intel ® IXP2800 Network Processor SHaC — Unit Expansion When the RMW command reaches the head of the Command pipe, the Scratchpad reads the memory location in the RAM . If the source requests the pre-mo dified data (T oken[0] set), it is sent to the Push Arbiter at the time of the read.
232 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion Head, T ail, Base, and Size are registers in the Sc ratchpad Unit. Head and T ail point to the actual ring data, which is stored in th e Scratchpad RAM. For each ring in use, a region of Scratchpad RAM must be reserved for t he ring data.
Hardware Reference Manual 233 Intel ® IXP2800 Network Processor SHaC — Unit Expansion The ring commands operate as outlined in th e pseudo-code in Example 32 . The operations are atomic, meaning that mult i-word “Gets” and “Puts” do all the reads and writes, with no other intervening Scratchpad accesses.
234 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion For writes using the Reflector mode , Scratchpad arbitrates for the S_ Pull_Bus, pull s the write data from the.
Hardware Reference Manual 235 Intel ® IXP2800 Network Processor SHaC — Unit Expansion 7.1.2.3.3 Clocks and Rese t Clock generation and distributi on is handled outside of CAP and is dependent on the specific chip implementation. Separate clock rates are required for CAP CSRs/Push/Pull Buses and ARB since APB devices tend to run slower .
236 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion 7.1.3 Hash Unit The SHaC unit contains a Hash Unit that can take 48-, 64-, or 128-bit data and pro duce a 48-, 64-, or a 128-bit hash index, respectively . The Hash Unit is accessible by the Microengines and the Intel XScale ® core.
Hardware Reference Manual 237 Intel ® IXP2800 Network Processor SHaC — Unit Expansion 7.1.3.1 Hashing Operation Up to three hash indexes (see Example 33 ) can be created by using one Microengine instruction.
238 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion The Intel XScale ® core initiates a hash operation by writing a set of memory- mapped Hash Operand registers (which ar e built into the Intel XScale ® core gasket) with the data to be used to generate the hash index.
Hardware Reference Manual 239 Intel ® IXP2800 Network Processor SHaC — Unit Expansion The Hash Unit shares the Scratchp ad’ s Push Data FIFO. After each hash index is completed, the index is plac.
240 Hardware Reference Manual Intel ® IXP2800 Network Processor SHaC — Unit Expansion Equation 7. (48-bi t hash oper ation) Equation 8. (64-bi t hash oper ation) Equation 9.
Hardware Reference Manual 241 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Media and Switch Fabric Interface 8 8.1 Overview The Media and Switch Fabric (MSF) Interface c onnects the IXP2800 Netw ork Processor to a physical layer device (PHY) and/or to a Switch Fa bric.
242 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The use of some of the receive and transmit pins is based on protocol, SPI-4 or CS IX. For the L VDS pins, only the active high name is given (f or L VDS, there are two pins per signal).
Hardware Reference Manual 243 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.1.1 SPI-4 SPI-4 is an interface for packet and cell transfer between a physi cal layer (PHY) device.
244 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Control words are inserted only between burst tran sfers; once a transfer has begun, data words are sent uninterrupted until eith er End of Packet or a multipl e of 16 bytes is reached.
Hardware Reference Manual 245 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface T able 84 shows th e order of bytes on SPI-4; this example shows a 43-byte packet. Figure 90 shows two wa ys in which the SPI-4 clockin g can be done. Note that it is also possible to use an internally-supp lied clock and leave TCLK_REF unused.
246 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.1.2 CSIX CSIX_L1 (Common Switch Interface) defines an interface between a Traf fic Manager (TM) and a Switch Fabric (SF) for A TM, IP , MPLS, Ethernet , and similar data comm unications applications.
Hardware Reference Manual 247 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2 Receive The receive section consists of: • Receive Pins ( Section 8.2.1 ) • Checksum ( Section 8 .2.2 ) • Receive Buffer (RBUF) ( Section 8.2.
248 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.1 Receive Pins The use of the receive pins is a f unction of RPROT input, as shown in Ta b l e 8 6 . In general, hardware does framing, parity checking, and flow control message handling.
Hardware Reference Manual 249 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The data in each partition is further broken up into elemen ts, based on MSF_Rx_Control[RBU F_Element_Size_#] (n = 0, 1, 2). There are three choices of element size – 64, 128, or 256 b ytes.
250 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The src_op_1 and src_op_2 operands are added together to fo rm the addres s in RBUF (note that the base address of the RBUF is 0x2000).
Hardware Reference Manual 251 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Section 8.2.7.1 ). The SPI-4 Control W ord T ype, EO PS, SOP , and ADR fields are placed into a temporary status register . The Byte_Count field of the el ement status i s set to 0x0.
252 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The status contains th e following information: The definitions of the fields are shown in T able 90 .
Hardware Reference Manual 253 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.2.2 CSIX CSIX CFrames are placed into eith er RBUF or FCEFIFO as follows: At chip reset, all RBUF elem ents are marked invalid (ava ilable) and FCEFIFO is empty .
254 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Note: In CSIX protocol, an RBUF element is alloca ted only on RxSof assertion. Therefore, the element size must be programmed based on the Switch Fabric usage.
Hardware Reference Manual 255 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.3 Full Element List Receive control hardware maintains the Full El ement List to hold th e status of valid RBUF elements, in the order in which they were received.
256 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.5 Rx_Thread_Freelist_Timeout_# Each Rx_Thread_Fr eelist_# has an associated countdown timer .
Hardware Reference Manual 257 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface When an mpacket becomes valid as described in Section 8.
258 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Ta b l e 9 3 summarizes the dif ferences in RBUF operation betw een th e SPI-4 and CSIX protocols. 8.2.7 Receive Flow Control St atus Flow control is handled in hardware.
Hardware Reference Manual 259 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface When MSF_RX_CONTROL[RX_Calendar_Mode] is set to Force_Override , the value of RX_POR T_CALENDAR_ST A TUS_# is used to determine which statu s value is sent.
260 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.7.2. 2 Virtual Output Queue CSIX protocol provides V irtual Ou tput Queue Flow Control via Flow Control CFrames.
Hardware Reference Manual 261 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.2.8.2 CSIX 8.2.8.2.1 Horizont al Parity The receive logic computes Horizo ntal Parity on each 16 bits of each received Cword (there is a separate parity for data received on ri sing and falling edge of the clock).
262 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3 T ransmit The transmit section consists of: • Tr a n sm i t P i ns ( Section 8.3.1 ) • T ransmit Buffer ( Section 8.3.2 ) • Byte Aligner ( Section 8.
Hardware Reference Manual 263 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.2 TBUF The TBUF is a RAM that holds data and status to be transmitted. The data is written into sub- blocks referred to as elements, by Microengine or the Intel XScal e ® core.
264 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Ta b l e 9 7 shows the TBUF partition options. Not e that the choice of element size is independent for each partition.
Hardware Reference Manual 265 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Payload Offset — Number of bytes to skip from th e last 64-bit word of the Prepend to the start of Payload.
266 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.2.1 SPI-4 For SPI-4, data is put into the data portion of the element, and informat ion for the SPI-4 Control W ord that will precede the data is put into the Element Control W ord.
Hardware Reference Manual 267 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.2.2 CSIX For CSIX protocol, the TBUF should be set to two partitions in MSF_Tx_Contr ol[TBUF_Partition] , one for Data traffic and one for Control traffic.
268 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.3 T ransmit Operation Summary During transmit processing data to be transmi tted is placed into the TBUF under Microengine control, which allocates an elem ent in software.
Hardware Reference Manual 269 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface If the next sequential element is not valid wh en its turn comes up: 1. Send an idle Control W ord with SOP set to 0, and EOPS set to the val ues determined from the most recently sent el ement, ADR field 0x00, correct parity .
270 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Note: A Dead Cycle is any cycle after the end of a CFrame, and prior to the start of another CFrame (i.e., SOF is not asserted). The end of a CFrame is defined as after the V ertical Parity has been transmitted.
Hardware Reference Manual 271 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.4.1 SPI-4 FIFO status inform ation is sent pe riodically over the TST A T si gnals from the PHY to the Link Layer device, which is the IXP2800 Network Processor .
272 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The TX_Port_S tatus_# or the TX_Multiple_Port_S tatus_# registers must be read by the software to determine the status of each port a nd send data to them accord ingly .
Hardware Reference Manual 273 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.4.2 CSIX There are two types of CSIX flow control: • Link-level • V irtual Output Queue (V OQ) 8.3.4.2.1 Link-Level The Link-level fl ow control function is done via hard ware and consists o f two parts: 1.
274 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.3.5.2 CSIX 8.3.5.2. 1 Horizon tal Parity The transmit logic computes odd Horizontal Parity for each tr ansmitted 16-bits of each Cword, and transmits it on TxPar .
Hardware Reference Manual 275 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.5 CSIX Flow Control Interface This section describes th e Flow Control Interface. Section 8.2 and Section 8.3 of this chapter also contain descriptio ns of how those functions in teract with Flow Co ntrol.
276 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The information transmitted on TXCSRB can be read in FC_Egress_S tatus CSR, and the information received on RXCSRB can be read in FC_Ingress_S tatus CSR.
Hardware Reference Manual 277 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.5.2.1 Full Duplex CSIX In Full Duplex Mode, the inform ation from the Switch Fabric is sen t to the Egress IXP2800 Network Processor and must be communicated to the Ingress IXP2800 Netw ork Processor via TXCSRB or RXCSRB.
278 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The FCIFIFO supplies two signals to Microe ngines, which can be tested using the BR_ST A T E instruction: 1. FCI_Not_Empty — indicates that there is at least one CW ord in the FCIFIFO.
Hardware Reference Manual 279 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The TXCSRB and RXCSRB pins are not used in Simplex Mode.
280 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.5.3 TXCDA T/RXCDA T , TXCSOF /RXCSOF , TXCP AR/RXCP AR, and TXCFC/RXCFC Signals TXCDA T and RXCDA T.
Hardware Reference Manual 281 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The IXP2800 Network Processor suppo rts all three methods. There are thr ee group s of high-speed pins to which this applies, as shown in Ta b l e 1 0 4 , Ta b l e 1 0 5 , and Ta b l e 1 0 6 .
282 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.6.1 Dat a T raining Pattern The data pin training sequence is show n in T able 107 . This is a superset of SPI-4 training sequence, because it includes the TP AR/R P AR and TPROT/RPOT pins, which are not included in SPI-4.
Hardware Reference Manual 283 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The training sequence when the pins are used for SPI-4 Status Channel is shown in Ta b l e 1 0 9 .
284 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The second case is when the Switch Fabric or SPI-4 framing device indicates it needs Data training.
Hardware Reference Manual 285 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The IXP2800 Network Processor need s training at re set, or whenever it loses train ing. Loss of training is typically detect ed by parity errors on recei ved flow control information.
286 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Ta b l e 1 1 2 lists the steps to initiate the traini ng. CSIX Full Duplex and CSIX Simplex cases follow similar , but slightly different sequences. The last case is when the Switch Fabric i ndicates it needs Flow Control train ing.
Hardware Reference Manual 287 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.7 CSIX St artup Sequence This section defines the sequence requ ired to startup the CSIX interface. 8.7.1 CSIX Full Duplex 8.7.1.1 Ingress IXP2 800 Network Processor 1.
288 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.7.1.3 Single IXP 2800 Network Processor 1. The Microengine or the Intel XScale ® core writes a 1 to MSF_Tx_Control [T ransmit_Idle] and MSF_Tx_Control[T ransmit_En able] so that Id l e CFrames with low CReady and DReady bits are sent over TDA T .
Hardware Reference Manual 289 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.7.2.2 Egress IXP2800 Network Processor 1. On reset, FC_ST A TUS_OVERRI DE[Ingress_Force_En] is set.
290 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.8 Interface to Command and Push and Pull Buses Figure 100 shows the interface of the MSF to the comm and and push and pull buses.
Hardware Reference Manual 291 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.8.1 RBUF or MSF CSR to Microengine S_TRANSFER_IN Register for Instruction: msf[read, $s_xfer_reg, src_op_1, src_op_2, ref_cnt], optional_token For transfers to a Microengine, the MSF acts as a tar get.
292 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.8.5 From DRAM to TBUF for Instruction: dram[tbuf_wr, --, src_op1, src_op2, ref_cnt], indirect_ref For the transfers from DRAM, the TB UF acts like a slave.
Hardware Reference Manual 293 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface SPI-4.2 supports up to 256 port a ddresses, with independent flow control for each. For dat a received by the PHY and passed to the link layer devi ce, flow control is optional.
294 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The SPI-4.2 mode of the simplex configuration supports an L VTTL reverse path or status interface clocked at up to 125 MHz or a DDR L VDS reverse path or status interface clocked at up to 500 MHz.
Hardware Reference Manual 295 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.1.3 Dual Network Processo r Full Duplex Configuration In the dual Network Processor, full dupl ex.
296 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.1.4 Single Network Pr ocessor Full Duplex Co nfiguration (SPI-4.
Hardware Reference Manual 297 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.1.5 Single Network Processo r , Full Duplex Configuration (SPI-4.
298 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.2.1 Framer , Single Network Pr ocessor Ingress and Egress, an d Fabric Interface Chip Figure 107 .
Hardware Reference Manual 299 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.2.3 Framer , Single Network Pr ocessor Ingress and Egress, and CSIX-L1 Chip s for T ranslation and Fabric Interface T o interface to existing standard CSIX-L1 fabric interface chips, a translation bridge can be employed, as shown in Figure 109 .
300 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.2.5 Framer , Single Networ k Processor , Co-Processor , and Fabric Interface Chip The network processor support s multiplexing t he SPI-4.2 and CSIX-L1 protocols over it s physical interface via a protocol signal.
Hardware Reference Manual 301 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.3 SPI-4.2 Support Data is transferred across the SPI-4.2 interface in variously-sized bursts and encapsulated with a leading and trailing control word .
302 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface As threads complete processing of the data in a buffer , the buffer is returned to a free list. Subsequently , the thread also returns to a separate free list.
Hardware Reference Manual 303 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.4 CSIX-L1 Protocol Support 8.9.4.1 CSIX-L1 Interface Reference Model: T raffic Manager and Fabric Interface Chip The CSIX-L1 protocol operates between a T raffic Manger and a Fabric Interface Chip(s) across a full-duplex interface.
304 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface Information is passed across the interface in CFrames.
Hardware Reference Manual 305 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The network processor supports a vari ation of the standard CSIX-L1 vertical parity .
306 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The backpressure signal (TXCFC, RXCFC) is an asynchronous signal and is asserted by the ingress network processor to prevent overfl ow of the ingress network p rocessor ingress flow control FIFO.
Hardware Reference Manual 307 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The transfer time of CFrames acros s the RPCI is fo ur times that of the da ta interface. The latency of link-level flow control notifi cations depends on the frequency of sending new CFrame base headers.
308 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The SPI-4.2 interface does not support a virtua l output queue (VOQ) flow control mechanism.
Hardware Reference Manual 309 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface The training pattern for the flow control data signals consists of 10 nibbles of 0xc followed by 10 nibbles of 0x3. The parity and serial “ready bits” signal is de-asserted for the fi rst 10 nibbles and asserted for the second 10 nibbles.
310 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.4.4 CSIX-L1 Protoc ol T ransmitter Support The Intel ® IXP2800 Network Processor transmitter suppo rt for the CSIX-L1 protoco l is similar to that for SPI-4.
Hardware Reference Manual 311 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.4.5 Implement ation of a Bridge Chip to CSIX-L1 The Intel ® IXP2800 Network Processor support fo.
312 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.5 Dual Protocol (SPI and CSIX-L1) Support In many system designs that ar e less bandwidth-intensive, a singl e network processor can forward and process data from the framer to the fabric and from the fabr ic to the framer .
Hardware Reference Manual 313 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.5.3 Implement ation of a Bridge Chip to CSIX-L1 and SPI-4.2 A bridge chip can provide support for bot h standard CSIX-L1 and standard physical layer device interfaces such as SPI-3 or UTOPIA Level 3.
314 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.6 T ransmit St ate Mach ine Ta b l e 1 1 4 describes the transmit ter state machine by providin g guidance in interfacing to the network processor .
Hardware Reference Manual 315 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.6.2 T raining T ransm itter St ate Machine The T raining State Machine makes st ate transitions on each bus transfer of 16 bits, as described in T able 1 15 .
316 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.7 Dynamic De-Skew The Intel ® IXP2800 Network Processor supports optiona l dynamic de-skew for the signals of th e 16-bit data interface and th e signals of the 4-bit flow control interface or the signals of the 2-bit SPI-4.
Hardware Reference Manual 317 Intel ® IXP2800 Network Processor Media and Switch Fabric Interface 8.9.8 Summary of Receiver and T ransmitter Signals Figure 1 1 7 summarizes the Receiver and T ransmitter Signals.
318 Hardware Reference Manual Intel ® IXP2800 Network Processor Media and Switch Fabric Interface.
Hardware Reference Manual 319 Intel ® IXP2800 Network Processor PCI Unit PCI Unit 9 This section contains information on the IXP2800 Network Processor PCI Unit. 9.1 Overview The PCI Unit allo ws PCI target tr ansactions to internal regist ers, SRAM, and DRAM.
320 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit Figure 1 18. PCI Functional Blocks A9765-01 Initiator Address FIFO Initiator Read FIFO Initiator Write FIFO Target Read FIFO T.
Hardware Reference Manual 321 Intel ® IXP2800 Network Processor PCI Unit 9.2 PCI Pin Protocol Interface Block This block generates the PCI compliant protoco l logic. It operates either as an initiator or a target device on the PCI Bus. A s an initiator, all bus cycles are generated by the core.
322 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit If a read address is latched, the subs equent cy cles will be retried and no address will be latch ed until the read completes. The in itiator addres s FIFO can accumulate up to four addresses that can be PCI reads or writes.
Hardware Reference Manual 323 Intel ® IXP2800 Network Processor PCI Unit PCI functions not supported by t he PCI Unit i nclude: • IO Space response as a tar get • Cacheable memory • VGA palette snooping • PCI Lock Cycle • Multi-function devices • Dual Address cycle 9.
324 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.2.2.1 Initialization by the Intel XScale ® Core The PCI unit is initialized to an inactive, disabled state until th e Intel XScale ® core has set the Initialize Complete bit in the Control register .
Hardware Reference Manual 325 Intel ® IXP2800 Network Processor PCI Unit 9.2.3 PCI T ype 0 Configuration Cycles A PCI access to a configuration re gister occurs when the follow ing conditions are satisfied: • PCI_IDSEL is assert ed. (PCI_IDSEL only supports PCI_A D[23:16] bits).
326 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.2.5 PCI T arget Cycles The following PCI transact ions are not supported by the PCI Unit as a target: • IO read or write • T ype 1 configuratio n read or writ e • Special cycle • IACK cycle • PCI Lock cycle • Multi-function devi ces • Dual Address cycle 9.
Hardware Reference Manual 327 Intel ® IXP2800 Network Processor PCI Unit 9.2.5.5 T arget Read A ccesses from the PCI Bus A PCI read occurs if the PCI a ddress matches one of the base address registers and the PCI command is either a Memory Read, Memory Read Line, or Memory Read Multip le.
328 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit never de-asserts it prior to recei ving gnt_l[0] or de-asse rts it after receiving gnt_l[0] without doing a transaction. PCI Unit de-asserts req_l[0] for two cycles when it receives a retry or disconnect response from the target.
Hardware Reference Manual 329 Intel ® IXP2800 Network Processor PCI Unit 9.2.6.6 Special Cycle As an initiator , special cycles ar e broadcast to all PCI agents, so DEVSEL_L is not asserted and no error can be received. 9.2.7 PCI Fast Back-to-Back Cycles The core supports fast back-to-back target cycles on the PCI Bus.
330 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.2.1 1 PCI Central Functions The CFG_RSTDIR pin is active high fo r enabling the PCI Unit central function. The CFG_PCI_ARB(GPIO[2]) pin is the strap pin for the internal arbiter .
Hardware Reference Manual 331 Intel ® IXP2800 Network Processor PCI Unit 9.2.1 1.3 PCI Internal Arbiter The PCI unit contains a PCI bus arbiter that supports two external masters in additio n to the PCI Unit’ s initiator interface. T o enable the PCI arbiter , the CFG_PCI_ARB(GPIO[2]) strapping pin must be 1 during reset.
332 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.3 Slave Interface Block The slave interface logic supports internal slave de vices interfacing to the target port of the FBus. • CSR — register access cycles to local CSRs.
Hardware Reference Manual 333 Intel ® IXP2800 Network Processor PCI Unit 9.3.2 SRAM Interface The SRAM interface connects the FBus to the in ternal push/pull comm and bus and the SRAM push/pull data buses. Request to me mory is sent on the command bu s.
334 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.3.2.2 SRAM Slave Reads For a slave read from SRAM, a 32-bit DWORD is fetched from the memory for memory read command, one cache line is fetched for memory read line command, and two cache lines are read for memory read multipl e comm and.
Hardware Reference Manual 335 Intel ® IXP2800 Network Processor PCI Unit 9.3.3.2 DRAM Slave Reads For target reads from IXP2800 Network Processo r memory , the entire 64 -byte block is fetched from DRAM. For target reads from IXP2800/IXP 2850 Network Processor memory , the b lock size is 16 bytes.
336 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit Note: The IXP2800/IXP2850 always disconnects after tran sferring 16-bytes fo r DR AM target reads. The PCI core will also d isconnect at a 64-byte address boundary . The PCI core resets the read FIFO before is su ing a memory read data request on FBus.
Hardware Reference Manual 337 Intel ® IXP2800 Network Processor PCI Unit The doorbell interrupt s are controlled through the registers sh own in T able 124 . The Intel XScale ® core and PCI devices write to the corresponding DOORBELL register to generate up to 32 doorbe ll interrupts.
338 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit The Doorbell Setup register allows the Intel XScale ® core and a PCI device to perform two functions that are not po ssible using the D oorbell register . This register is used during setup and diagnostics and is not used during normal oper ations.
Hardware Reference Manual 339 Intel ® IXP2800 Network Processor PCI Unit 9.3.5 PCI Interrupt Pin An external PCI interrupt can be generated in the following way: • The Intel XScale ® core initiates a Doorbell i nterrupt XSCALE_INT_ ENABLE. • One or more of the DMA channels have completed the DM A transfers.
340 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.4 Master Interface Block The Master Interface consists of the DMA engine and the Push/pull tar g et interface.
Hardware Reference Manual 341 Intel ® IXP2800 Network Processor PCI Unit 9.4.1.1 Allocation of the DMA Channels Static allocation are employed su ch that the DMA resources are cont rolled exclusively by a single device for each channel. The Intel XScale ® core, a Microengine and the external PCI host can access the two DMA channels.
342 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.4.1.3 DMA Descriptor Each descriptor occupies four 32-bit Dword s and is aligned on a 16-byte boundary . The DMA channels read the descriptors fr om local SRAM into the four DMA working registers once the control register has been set to initiate the transaction.
Hardware Reference Manual 343 Intel ® IXP2800 Network Processor PCI Unit 9.4.1.4 DMA Channel Operation Since a PCI device, Microeng ine, or the Intel XScale ® core can access the internal CSRs and memory in a similar way , the DMA chan nel operation description that follows will apply to all channels.
344 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.4.1.5 DMA Channel End Operation 1. Channel owned by PCI: If not masked via the PCI Outbound Interrupt Mask register , the DM.
Hardware Reference Manual 345 Intel ® IXP2800 Network Processor PCI Unit A 64-bit double Dword with byte enables is pushed into the FBus FIFO from the DMA buffers as soon as there is data available in the buf fer and there is space in the FBus FIFO. The Core logic will transfer the exact number of bytes to the PCI Bus.
346 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.4.2.2 Command Bus Master Access to Local Control and St atus Registers These are CSRs within the PCI Un it that are acces sible from push /pull bus masters. The masters include the Intel XScale ® core, Microengines.
Hardware Reference Manual 347 Intel ® IXP2800 Network Processor PCI Unit 9.4.2.3.2 PCI Address Generati on for Conf iguration Cycles When a push/pull command bus mast er is accessing the PCI Bus to ge nerate a configuration cycle, the PCI address is generated based on the a Command Bus Master address as shown in T a ble 128 and Figure 129 : 9.
348 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.5 PCI Unit Error Behavior 9.5.1 PCI T arget Error Behavior 9.5.1.1 T arget Access Has an Address Parity Error 1. If PCI_CMD_ST A T[P ERR_RESP] is not set, PCI Uni t will ignore the parity error .
Hardware Reference Manual 349 Intel ® IXP2800 Network Processor PCI Unit 9.5.1.5 T arget W rite Access Receives Ba d Parity PCI_P A R with the Dat a 1. If PCI_CMD_ST A T[PERR_RESP] is not set, PCI Unit will ignore the parit y error . 2. If PCI_CMD_ST A T [PERR_RESP] is set: a.
350 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.5.2.2 DMA Read from SRAM (Descr iptor Read) Gets a Memory Error 1. Set PCI_CONTROL[DMA_SRAM_ERR] whic h will interrupt the Intel XScale ® core if enabled. 2. Master Interface clears the Channe l Enable bit in CHAN_X_CONTROL.
Hardware Reference Manual 351 Intel ® IXP2800 Network Processor PCI Unit 9.5.2.5 DMA T ransfer Experiences a Master Abort (Time-Out) on PCI Note: That is, nobody asserts DEVSEL during the DEVSEL window . 1. Master Interface sets PCI_CONTROL[RMA] which will interrupt the Intel XScale ® core if enabled .
352 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit 9.5.3.3 Master from the Intel XSc ale ® Core or Microengine T ransfer (Write to PCI) Receiv es PCI_PERR_L on PCI Bus 1. If PCI_CMD_ST A T[P ERR_RESP] is not set, PCI Uni t will ignore the parity error .
Hardware Reference Manual 353 Intel ® IXP2800 Network Processor PCI Unit -- T able 130. Byte Lane Alignment for 64-Bit PCI Da ta In (64 Bit s PCI Little-Endian to Big-Endian with Swap) PCI Data IN[63.
354 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit T able 134. Byte Lane Alignment for 64-Bit PC I Data Out (Big-Endia n to 64 Bits PCI Little Endian with Swap) SRAM Data IN[7:0.
Hardware Reference Manual 355 Intel ® IXP2800 Network Processor PCI Unit The BE_DEMI bit of the PCI_CONTROL register can be set to enable big-endian on the incoming data from the PCI Bus to both the SRAM an d DRAM.
356 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit T able 141. Byte Enable Alignment for 32-Bit PCI Dat a In (32 Bits PCI Big-Endian to Big-Endian without Swap) PCI Add[2 ]=1 PC.
Hardware Reference Manual 357 Intel ® IXP2800 Network Processor PCI Unit The BE_BEMI bit of the PCI_CONTROL register can be set to enable big-endian on the incoming byte enable from the PCI Bus to both th e SRAM and DRAM.
358 Hardware Reference Manual Intel ® IXP2800 Network Processor PCI Unit T able 146. PCI I/O Cycles with Dat a Swap Enable Stepping Des cription A Ste pping A PCI IO cycle is treated like CSR where the data bytes are not sw apped. It is sent in the same byte order whether the PCI bus is configured in Big-Endian or Little-Endian mode.
Hardware Reference Manual 359 Intel ® IXP2800 Network Processor Clocks and Reset Clocks and Reset 10 This section describes the IXP2800 Network Processo r clocks and reset.
360 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset Figure 130. Overall Clock Generatio n and Distribution A9777-02 Scratch, Hash, CSR PCI Slow P or t Devices , i.
Hardware Reference Manual 361 Intel ® IXP2800 Network Processor Clocks and Reset The fast frequency on the IXP2800 Network Pro cessor is generated by an on-chip PLL that multiplies a reference frequency provided by an on -board L VDS oscillator (frequency 10 0 MHz) by a selectable multiplier .
362 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset Figure 131 shows the clocks generation circuitry for the IX P2800 Network Pr ocessor .
Hardware Reference Manual 363 Intel ® IXP2800 Network Processor Clocks and Reset 10.2 Synchronization Betw een Frequency Domains Due to the internal design architecture o f the IXP2800 Netwo rk Processor , it is guaranteed that one of the clock domains of an asynchronous tr ansfer will be the Push/Pull domain (PLL/4).
364 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset 10.3 Reset The IXP2800 Network Processor can be reset fo ur ways. • Hardware Reset Using nRESET or PCI_RST_L. • PCI-Initiated Reset. • W atchdog T imer Initiated Reset.
Hardware Reference Manual 365 Intel ® IXP2800 Network Processor Clocks and Reset “reset_out_strap” is sampled as 0 on the trailing edge of reset, nRESET_OUT is de-asserted based on the value of IXP_RESET_0[15] which i s written by software.
366 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset 10.3.2 PCI-Initiated Reset CFG_RST_DIR is not asserted and PCI_RST_L is asserted. When the CFG_RST_DIR strap pin is not assert ed (sampled 0), PCI_RST_L is input to the IXP2800 Network Processor an d is used to reset all the internal functions.
Hardware Reference Manual 367 Intel ® IXP2800 Network Processor Clocks and Reset 10.3.3.1 Slave Network Pro cessor (Non-Central Function) • If the W atchd og timer reset enable bit set to 1, W atch.
368 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset Once in operation, if the watchdog timer expires with watchdog timer enable bit WDE from Timer W atchdog Enable regist.
Hardware Reference Manual 369 Intel ® IXP2800 Network Processor Clocks and Reset T able 149. IXP2800 Network Processor St rap Pins Signal Name Description CFG_RST_DIR RST_DIR PCI_RST direction pin: (Also called PCI_HOST) Need to be a dedicated pin. 1—IXP2800 Network Processor is the host supporting central function.
370 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset Ta b l e 1 5 0 lists the supported Strap combinations of CFG_PROM_BOOT , CFG_RST_DIR, and CFG_PCI_BOOT_HIST . One more restriction in the PCI unit is that, if the IXP2800 Network Processor is a PCI_HOST or PCI_ARBITER, it should also be PCI_CENTRAL_FUNCTION.
Hardware Reference Manual 371 Intel ® IXP2800 Network Processor Clocks and Reset Figure 135. Boot Pro cess A9782-03 No Yes Reset Signal asserted (hardware, software, PCI or Watchdog) CFG_PROM_BOOT- Boot From Present START Yes No CFG_PROM_ BOOT_HOST START START START START 1.
372 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset 10.4.1 Flash ROM At power up, if FLA SH_ROM is present, strap pin CFG_PROM_BOOT should be sample d 1 (should be pulled up). Therefore after reset being remov ed by the PLL logic from the IXP_RESET0 register , the Intel XScale ® core reset is automatical ly removed.
Hardware Reference Manual 373 Intel ® IXP2800 Network Processor Clocks and Reset code is written in DRAM, PCI ho st writes 1 at bi t [8] of Misc_Control register called Flash Alias Disable (Reset value 0).
374 Hardware Reference Manual Intel ® IXP2800 Network Processor Clocks and Reset.
Hardware Reference Manual 375 Intel ® IXP2800 Network Processor Performance Monitor Unit Performance Monitor Unit 11 1 1.1 Introduction The Performance Monito r Unit (PMU) is a hardware bl ock consis.
376 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.1.2 Motivation for Choosing CHAP Counters The Chipset Hardware Architect ure Performance (C HAP) counters enabl e statistics gathering of internal hardware events in r eal-time.
Hardware Reference Manual 377 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.1.3 Functional Overvi ew of CHAP Counters At the heart of the CHA P counter ’ s functionality ar e counters, each with asso ciated registers. Each counter has a corresponding co mmand, event, status, and da ta register .
378 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.1.4 Basic Operation of the Performance Monitor Unit At power-up, the Intel XScale ® core i nvokes the performance monit oring software code. The PMU software has the application code to generate di fferent types of data, such as histograms and graphs.
Hardware Reference Manual 379 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.1.5 Definition of CHAP T erminology Figure 138. Basic Block Diag ram of IXP2800 Network Processor with PMU Duration Count The counter is incremented for each clock for which the event signal is asserted as logic high.
380 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.1.6 Definition of Clock Domains The following abbreviati ons are used in the events table under clock domain.
Hardware Reference Manual 381 Intel ® IXP2800 Network Processor Performance Monitor Unit 11 . 2 . 1 A P B P e r i p h e r a l The APB is part of the AMD* co ntroller Bus Architecture (AMBA) hierarchy of buses that is optimized for minimal p ower consumption and reduced design comp lexity .
382 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit acknowledge signal (CAP_CSR_RD_RDY). When the data is returned, CAP puts the read data into the Push Data FIFO, arbitrates for the S_Push_Bus, and then the Push/Pull Arbiter pushes the data to the destination identified in PP_ID.
Hardware Reference Manual 383 Intel ® IXP2800 Network Processor Performance Monitor Unit T able 152. Hardware Blocks and Their Performance Measurement Events (She et 1 of 2) Hardware Block Performanc.
384 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit Chassis/Push-Pull Command Bus Utilization These statistics give the number of the command requ ests issued by the different Masters in a particular period of time.
Hardware Reference Manual 385 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4 Event s Monitored in Hardware T ables in this section describe the events that can be measured, including th e name of the event and the Event Selection Code (ESC).
386 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.3 Design Block Select Definitions Once an event is d efined, its defin ition must remain consistent between p roducts. If the definitio n changes, it should have a new ev ent selection code.
Hardware Reference Manual 387 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.4 Null Event Not an actual event. When used as an increment or decrement event, no action takes plac e. When used as a Command Tr igger, it causes the command to be triggered immediately aft er the command register is written to by the software.
388 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.5 Threshold Event s These are the outputs of the threshol d comparators. When the value in a data register is compared to its corresponding counter valu e and the condition is true, a threshold event is generated.
Hardware Reference Manual 389 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6 External Input E vent s 1 1.4.6.1 XPI Event s T arget ID(000001) / Design Block #(0100) T able 155.
390 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 26 TURNA0_C_P APB_CLK single separate It enters the ter mination state of the state machine 0 for the mode 0 of Slowport. 27 IDLE1_0_P APB_CLK single separate It displays the idle state of the state machine 1 for the mode 1 of Slowport.
Hardware Reference Manual 391 Intel ® IXP2800 Network Processor Performance Monitor Unit 48 SETUP2_4_P APB_CLK single s eparate It enters the pulse width of the data transaction cycle for the state machine 2 for the mode 2 of Slowport.
392 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 70 TURNA3_8_P APB_CLK single separate It enters the turnaround state of the transaction when the state machine 3 is active for the mode 3 of Slowport.
Hardware Reference Manual 393 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.2 SHaC Event s T arget ID(000010) / Design Block #(0101) T able 156.
394 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 22 Scratch Ring_1 Status P_CLK s ingle separate If SCRA TCH_RING_BASE_x[26] = 1, RING_1_ST A TUS indicates empty . If SCRA TCH_RING_BASE_x[26] = 0, RING_1_ST A TUS indicates full.
Hardware Reference Manual 395 Intel ® IXP2800 Network Processor Performance Monitor Unit 35 Scratch Ring_14 St atus P_CLK single separate If SCRA TCH_RING_BASE_x[26] = 1, RING_14_ST A TUS indicates empty . If SCRA TCH_RING_BASE_x[26] = 0, RING_14_ST A TUS indicates full.
396 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.3 IXP2800 Network Processor MS F Event s T arget ID(00001 1) / Design Block #(01 10) 63 Hash Cmd_Pipe.
Hardware Reference Manual 397 Intel ® IXP2800 Network Processor Performance Monitor Unit 19 reserv ed 20 S_PULL data FIFO 1 enqueue P_CLK pulse separate 21 S_PULL data FIFO 1 dequeue P_CLK pulse sepa.
398 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 45 Detect FC_DEAD MRX_CLK level separate Indicates that a dead cycle has been received on the RXCDA T inputs for greater than 2 clock cycles; the valid signal from the MTS_CLK domain is synchronized; as such , it yields an approximate value.
Hardware Reference Manual 399 Intel ® IXP2800 Network Processor Performance Monitor Unit 70 SPI-4 Packet received P_CLK pulse separate Indicates that the SPI-4 state machine after the Receive input FIFO has received an SPI-4 packet.
400 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 97 Rx null autopush P_CLK pulse separate 98 Tx skip P_CLK pulse separate An mpacket was dropped due to the Tx_Skip bit being set in the T ransmit Control Wor d.
Hardware Reference Manual 401 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 15 FCE receive active MR_CLK level separate Indicates a valid Flow Control Packet received on the RX_DA T A bus and may be used to measure bus util ization; the act ive signal from the MR_CLK domain is synchronized; as such, it yield s an approximate value.
402 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.4 Intel XScale ® Core Even t s T arget ID(000100) / Design Block #(01 1 1) T able 158.
Hardware Reference Manual 403 Intel ® IXP2800 Network Processor Performance Monitor Unit 32 reserved 33 reserved 34 XG_CFIFO_EMPTYN_CPP P_C LK single separate XG command F IFO empty flag 35 XG_DFIFO_.
404 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 71 XG_SRAM_WR_2_CPP P_CLK single separate XG SRAM write length=2 on cpp bus 72 XG_SRAM_WR_3_CPP P_CLK single .
Hardware Reference Manual 405 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.5 PCI Event s T arget ID(000101) / Design Block #(1000) 1 10 XG_MSF_WR_3_CPP P_CLK single separate XG .
406 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 13 PCI_TG T_WBUF_NEMPTY P_CLK single separate P CI T arget W rite Buffer Not Empty 14 PCI_TG T_WBUF_WR P_C LK.
Hardware Reference Manual 407 Intel ® IXP2800 Network Processor Performance Monitor Unit 52 PCI_DRAM_BURST_WRITE P_CLK single separate PCI Burst Write to PCI_CSR_BAR 53 PCI_DRAM_BURST_READ P_CLK sin .
408 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 89 PCI_XS_CFG_RD P_CLK single separate PCI Intel XScale ® Core Read PCI Bus Config S pace 90 PCI_XS_CFG_WR P.
Hardware Reference Manual 409 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.6 ME00 Event s T arget ID(100000) / Design Block #(1001) 1 18 PCI_ ARB_GNT[2] PCI_CLK single separate .
410 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.7 ME01 Event s T arget ID(100001) / Desi gn Block #(1001) 12 ME_FIFO_DEQ P_CLK single separate Command FIFO Dequeue 13 ME_FIFO_NOT_EMPTY P_CLK single separate Command FIF O not empty Note: 1.
Hardware Reference Manual 411 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.8 ME02 Event s T arget ID(100010) / Design Block #(1001) 1 1.4.6.9 ME03 Event s T arget ID(10001 1) / Design Block #(1001) T able 162. ME02 PMU Ev ent List Event Number Event Name Clock Domain Pulse/ Level Burst Description Note: 1.
412 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.10 M E04 Event s T arget ID(100100) / Desi gn Block #(1001) 1 1.4.6.1 1 M E05 Event s T arget ID(100101) / Desi gn Block #(1001) T able 164. ME04 PMU Event List Event Number Event Name Clock Domain Pulse/ Level Burs t Desc riptio n Note: 1.
Hardware Reference Manual 413 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.12 ME06 Events T arget ID(1001 10) / Design Block #(1001) 1 1.4.6.13 ME07 Events T arget ID(1001 1 1) / Design Block #(1001) T able 166. ME06 PMU Ev ent List Event Number Event Name Clock Domain Pulse/ Level Burst Description Note: 1.
414 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.14 M E10 Event s T arget ID(1 10000) / Design Block #(1010) 1 1.4.6.15 ME1 1 Events T arget ID(1 10001) / Design Block #(1010) T able 168. ME10 PMU Event List Event Number Event Name Clock Domain Pulse/ Level Burs t Desc riptio n Note: 1.
Hardware Reference Manual 415 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.16 ME12 Events T arget ID(1 10010) / Design Block #(1010) 1 1.4.6.17 ME13 Events T arget ID(1 1001 1) / Design Block #(1010) T able 170. ME12 PMU Ev ent List Event Number Event Name Clock Domain Pulse/ Level Burst Description Note: 1.
416 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.18 M E14 Event s T arget ID(1 10100) / Design Block #(1010) 1 1.4.6.19 M E15 Event s T arget ID(1 10101) / Design Block #(1010) T able 172. ME14 PMU Event List Event Number Event Name Clock Domain Pulse/ Level Burs t Desc riptio n Note: 1.
Hardware Reference Manual 417 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.20 ME16 Events T arget ID(1001 10) / Design Block #(1010) 1 1.4.6.21 ME17 Events T arget ID(1 101 1 1) / Design Block #(1010) T able 174. ME16 PMU Ev ent List Event Number Event Name Clock Domain Pulse/ Level Burst Description Note: 1.
418 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.22 S RAM DP1 Event s T arget ID(001001) / Desi gn Block #(0010) 1 1.4.6.23 S RAM DP0 Event s T arget ID(001010) / Desi gn Block #(0010) T able 176. SRAM DP1 PMU Event List Event Number Event Name Clock Domain Pulse/ Level Burs t Desc riptio n Note: 1.
Hardware Reference Manual 419 Intel ® IXP2800 Network Processor Performance Monitor Unit 13 sps_s0_enq_wph P_CLK single separate SRAM0 Push Command Queue FIFO Enqueue 14 sps_s0_deq_wph P_CLK single s.
420 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.24 SRAM CH3 Events T arge t ID(00101 1) / Desi gn Block #(0010) 45 spl_s1_enq_cmd_wph P_CLK single se.
Hardware Reference Manual 421 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.25 SRAM CH2 Events T arget ID(001 100) / Design Block #(0010) 1 1.4.6.26 SRAM CH1 Events T arget ID(001 101) / Design Block #(0010) T able 179. SRAM CH3 PMU Event List Event Number Event Name Clock Domain Pulse/ Level Burst Description Note: 1.
422 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.27 SRAM CH0 Events T arge t ID(001 1 10) / Design Block #(0010) T able 181.
Hardware Reference Manual 423 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.28 DRAM DPLA Event s T arget ID(010010) / Design Block #(001 1) 33 FIFO Full – Queue Cmd Q P_CLK lon.
424 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 1 1.4.6.29 D RAM DPSA Even ts T arget ID(01001 1) / Design Block #(001 1) 9 d2_deq_id_wph P_CLK single separa.
Hardware Reference Manual 425 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.30 IXP2800 Netwo rk Processor DRAM CH2 Events T arget ID(010100) / Design Block #(001 1) 17 cr1_deq_id.
426 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 14 deq_push_ctrl_wph P_CLK single separate Active when dequeueing from the push control FIFO; occurs on the last cycle of a burst or on the only cycle of a single transfer .
Hardware Reference Manual 427 Intel ® IXP2800 Network Processor Performance Monitor Unit 33 DAP_DEQ_B3_DA T A_RPH P_CLK single separate Indicates pull data and command are being dequeued from the data and command bank FIFOs to the RMC (the command and data FIFOs used in tandem for pulls to supply the address and data respectively).
428 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit 57 reserved 58 reserved 59 deq_split_cmd_fifo_wph P_CLK single separate Act ive when dequeueing from the split inlet FIFO. 60 de q_inlet_fifo1_wph P_CLK single separate Active when dequeueing from the inlet FI FO.
Hardware Reference Manual 429 Intel ® IXP2800 Network Processor Performance Monitor Unit 1 1.4.6.31 IXP2800 Netwo rk Processor DRAM CH1 Events T arget ID(010101) / Design Block #(001 1) 1 1.
430 Hardware Reference Manual Intel ® IXP2800 Network Processor Performance Monito r Unit.
Un point important après l'achat de l'appareil (ou même avant l'achat) est de lire le manuel d'utilisation. Nous devons le faire pour quelques raisons simples:
Si vous n'avez pas encore acheté Intel IXP2800 c'est un bon moment pour vous familiariser avec les données de base sur le produit. Consulter d'abord les pages initiales du manuel d'utilisation, que vous trouverez ci-dessus. Vous devriez y trouver les données techniques les plus importants du Intel IXP2800 - de cette manière, vous pouvez vérifier si l'équipement répond à vos besoins. Explorant les pages suivantes du manuel d'utilisation Intel IXP2800, vous apprendrez toutes les caractéristiques du produit et des informations sur son fonctionnement. Les informations sur le Intel IXP2800 va certainement vous aider à prendre une décision concernant l'achat.
Dans une situation où vous avez déjà le Intel IXP2800, mais vous avez pas encore lu le manuel d'utilisation, vous devez le faire pour les raisons décrites ci-dessus,. Vous saurez alors si vous avez correctement utilisé les fonctions disponibles, et si vous avez commis des erreurs qui peuvent réduire la durée de vie du Intel IXP2800.
Cependant, l'un des rôles les plus importants pour l'utilisateur joués par les manuels d'utilisateur est d'aider à résoudre les problèmes concernant le Intel IXP2800. Presque toujours, vous y trouverez Troubleshooting, soit les pannes et les défaillances les plus fréquentes de l'apparei Intel IXP2800 ainsi que les instructions sur la façon de les résoudre. Même si vous ne parvenez pas à résoudre le problème, le manuel d‘utilisation va vous montrer le chemin d'une nouvelle procédure – le contact avec le centre de service à la clientèle ou le service le plus proche.