Intel IXP12xx manual Resource Utilization and Headroom Analysis

Page 14

Version 1.0, 4/10/02

RESOURCE UTILIZATION AND HEADROOM ANALYSIS

This section details system resource utilization, including per-microengine resources such as registers and microstore instructions; as well as shared resources such as Scratchpad RAM, SRAM, and DRAM. The memory utilization is shown using the default system memory map as shipped.3 One of the ATM utilities, config_print(), prints out the Scratchpad RAM, SRAM, and DRAM address maps to show the memory map in detail. Almost all of the data structure sizes in these memories are configurable.

Microengine Register and Microstore Headroom

Register utilization is measured by using the free_register_test() macro to soak up all available registers. This is an iterative process – the macro either prints out how many registers it successfully allocated, or the assembler quits because it failed to allocate the requested registers. In this analysis this macro is applied at the global level, so the result is worst-case. It is generally possible to allocate more registers if their scope does not overlap the deepest scope in the design.

 

 

Available

Available

Available

 

Microengine

 

General

SRAM

SDRAM

Available

 

Purpose

Transfer

Transfer

Threads

 

 

 

 

Registers

Registers

Registers

 

 

Configuration 1 – IXP1240 1xOC-12, 8xEthernet

 

 

 

 

 

0

ATM Receive

 

2

0

5

IP Route

 

11

4

0

0

Ethernet Receive

 

1

0

0

0

(2 microengines)

 

1

0

0

0

ATM Transmit

 

12

3

2

1

Ethernet Transmit

 

5

0

6

0

 

Configuration 2 – IXP1240 4xOC-3, 8xEthernet

 

 

 

 

0

ATM Receive

 

12

0

6

IP Route

 

11

4

0

0

Ethernet Receive

 

1

0

0

0

(2 microengines)

 

1

0

0

0

ATM Transmit

 

8

1

2

0

Ethernet Transmit

 

5

0

6

0

 

Configuration 3 – IXP1200 2xOC-3, 4xEthernet

 

 

 

 

 

 

ATM Receive

 

9

0

0

0

& IP Route

 

 

 

 

 

0

Ethernet Receive

 

1

0

0

CRC Check

 

12

3

2

0

CRC Generate

 

16

0

2

0

ATM Transmit

 

8

1

4

2

Ethernet Transmit

 

5

0

6

0

Figure 12 – Microengine register and microstore headroom

Available

Microstore

Instructions

1514

1677

1363

1363

1728

1235

1724

1677

1348

1348

1716

1235

1403

1370

1811

1847

1805

1235

3So that a single version of the ATM utilities in the foreign model DLL and the vxWorks utilities could handle any configuration, all three port configurations (IXP1240 1xOC12, IXP1240 4xOC3, and IXP1200 2xOC3) use the same memory map.

Page 14 of 17

Image 14
Contents IXP12xx ATM OC12/Ethernet IP Router Example Design Version 1.0, 4/10/02 Alternate Dram Timing OverviewMeasurement Environment Single Cell PDU Workload KEY Workloads & Approaches to Testing the Example DesignProtocol Performance of IP over ATM vs. Ethernet Frame and PDU Length versus IP Packet Length Cycle Budgets to support Line Rates Multiple Cells/PDU WorkloadCycle and Instruction Budgets Cycles/cellUsec/frame = 1559 cycles/frame Cells/PDU Virtual Circuits Cycles/Cell Cycles/cell -7ESimulation Measurement Procedure and Results Simulated 29-byte packet performance1Hardware Measurement Results Hardware Measurement Procedure and ResultsSimulated 40-byte and 1500-byte packet performance2 Single-cell/PDU Performance using 133MHZ Dram Hardware 29-byte packet performance9.5 Hardware 40-byte packet performance138 142 144 88,300517 Hardware 1500-byte packet performance518 Ethernet Queue to Core Throughput Queue to Core Measurement TechniqueATM Queue to Core Throughput Resource Utilization and Headroom Analysis Microengine Register and Microstore HeadroomScratchpad RAM Capacity Sram CapacitySdram Capacity Sram and Sdram BandwidthAppendix Buffer Allocation in Dram