implementing single- and double-precision operations
achieves 500mflops
– Extremely large on-chip primary cache
– On-chip secondary cache controller
x
MIPS-IV 64-bit ISA for improved computation
– Compound floating-point operations for 3D graphics and
floating-point DSP
– Conditional move operations
x
Large on-chip TLB
x
Active power management, including use of WAIT operation
Large, efficient on-chip caches
– 32KB Instruction Cache, 32KB Data Cache
– 2-set associative in each cach
– Virtually indexed and physically tagged to minimize cache
flushes
– Write-back and write-through selectable on a per page basis
– Critical word first cache miss processing
– Supports back-to-back loads and stores in any combination at
full pipeline rate
x
High-performance memory system
– Large primary caches integrated on-chip
– Secondary cache control interface on-chip
– High-frequency 64-bit bus interface runs up to 125MHz
– Aggregate bandwidth of on-chip caches, system interface of
5.6GB/s
– High-performance write protocols for graphics and data
communications
x
Compatible with a variety of operating systems
– Windows™ CE
– Numerous MIPS-compatible real-time operating systems
x
Uses input system clock, with processor pipeline clock
multiplied by a factor of 2-8
x
Industrial and commercial temperature range
Unpacker/Packer
Floating-point Control
The IDT logo is a registered trademark and RC32134, RC32364, RC64145, RC64474, RC64475, RC4650, RC4640, RC4600,RC4700 RC3081, RC3052, RC3051, RC3041, RISController, and RISCore are trade-
marks of Integrated Device Technology, Inc.
PDUJDL' NFRO%
PDUJDL' NFRO%
PDUJDL' NFRO%
PDUJDL' NFRO%
VHUXWDH)
VHUXWDH)
VHUXWDH)
VHUXWDH)
Phase Lock Loop
Data Set A
Store B uffer
SysAD
W rite Buffer
Read Buffer
Data Set B
DB us
Control
Tag
Floating Point Register File
Joint T LB
Coprocessor 0
System /M emory
Control
PC Increm enter
B ranch Adder
Instruction TL B Virtual
Program Counter
DVA
IVA
Integer Control
AuxTag
L oad Aligner
Integer Register File
Integer/Address Adder
Data T LB Virtual
Shifter/Store Aligner
Logic Unit
AB us
Integer M ultiply, Divide
FPIB us
Address B uffer
Instruction Tag A
ITL B Physical
Instruction Tag B
Instruction Set B
IntIB us
Data Tag A
DT LB Physical
Instruction Select
Integer Instruction Register
FP Instruction Register
Instruction Set A
Floating Point
M Add,Add,Sub, Cvt
Div, SqRt
1 of 15
2001 Integrated Device Technology, Inc.
April 10, 2001
DSC 5719
79RC5000
The RC5000 serves many performance critical embedded applica-
tions, such as high-end internetworking systems, color printers, and
graphics terminals.
The RC5000 is optimized for high-performance applications, with
special emphasis on system bandwidth and floating point operations,
through integration of high-performance computational units and a high-
performance memory hierarchy. For this class of application, the result
is a relatively low-cost CPU capable of approximately 330 Dhrystone
MIPS.
IDT’s objectives in offering the RC5000 include:
x
Offering a high performance upgrade path to existing embedded
customers in the internetworking, office automation and
visualization markets.
x
Providing a significant improvement in the floating- point
performance currently available in a moderately priced MIPS
CPU.
x
Providing improvements in the memory hierarchy of desktop
systems by using large primary caches and integrating a
secondary cache controller.
x
Enabling improvements in performance through the use of the
MIPS-IV ISA.
The RC5000 implements the MIPS-IV 64-bit ISA, including CP1 and
CP1X functional units (and their instruction set).
H QLO H SL3 U H J HW Q,
H QLO H SL3 U H J HW Q,
H QLO H SL3 U H J HW Q,
H QLO H SL3 U H J HW Q,
Load
Store
2
2
8
1
1
8
MULT/MULTU
DMULT/DMULTU
DIV/DIVU
DDIV/DDIVU
Other Integer ALU
Branch
Jump
12
36
68
1
2
2
12
36
68
1
2
2
Table 1 Integer Instruction Execution Speed
The RC5000 recognizes two general classes of instructions for multi-
issue:
x
Floating-point ALU
x
All others
These instruction classes are pre-decoded by the RC5000, as they
are brought on-chip. The pre-decoded information is stored in the
instruction cache.
Assuming that there are no pending resource conflicts, the RC5000
can issue one instruction per class per pipeline clock cycle. Note that
this broad separation of classes insures that there are no data depen-
dencies to restrict multi-issue.
However, long-latency resources in either the floating-point ALU (e.g.
DIV or SQRT instructions) or instructions in the integer unit (such as
multiply) can restrict the issue of instructions. Note that the R5000 does
not perform out-of-order or speculative execution; instead, the pipeline
slips until the required resource becomes available.
There are no alignment restrictions on dual-issue instruction pairs.
The RC5000 fetches two instructions from the cache per cycle. Thus, for
optimal performance, compilers should attempt to align branch targets
to allow dual-issue on the first target cycle, since the instruction cache
only performs aligned fetches.
The RC5000’s short pipeline keeps the load and branch latencies
very low. The caches contain special logic that allows any combination
of loads and stores to execute in back-to-back cycles without requiring
pipeline slips or stalls. (This assumes that the operation does not miss
in the cache.)
2 of 15
WDHSH5
HUXWFHWLKFU$ WH6 QRLWFXUWVQ,
HUXWFHWLKFU$ WH6 QRLWFXUWVQ,
HUXWFHWLKFU$ WH6 QRLWFXUWVQ,
HUXWFHWLKFU$ WH6 QRLWFXUWVQ,
\FQHWD/
QRLWDUHS2
PVLQDKFH0 HXVV, QRLWFXUWVQ,
PVLQDKFH0 HXVV, QRLWFXUWVQ,
PVLQDKFH0 HXVV, QRLWFXUWVQ,
PVLQDKFH0 HXVV, QRLWFXUWVQ,
12,73,5&6('
12,73,5&6('
12,73,5&6('
12,73,5&6('
The RC5000 is a limited dual-issue machine that utilizes a traditional
5-stage integer pipeline. This basic integer pipeline of the RC5000 is
illustrated in Figure 1. The integer instruction execution speed is tabu-
lated (in number of pipeline clocks) as follows:
April 10, 2001
79RC5000
I0
1I
2I
1R
2R
1A
2A
1D
2D
1W
2W
I1
1I
2I
1R
2R
1A
2A
1D
2D
1W
2W
I2
1I
2I
1R
2R
1A
2A
1D
2D
W
1
I3
1I
2I
1R
2R
1A
2A
1D
I4
1I
2I
1R
2R
1A
one cycle
Figure 1 R5000 Integer Pipeline Stages
Key to Figure
1I-1R
2I
2A-2D
1D
1D-2D
2R
2R
2R
2R
1A
1A-2A
1A
2A
1A
2W
Instruction cache access
Instruction virtual to physical address translation
Data cache access and load align
Data virtual to physical address translation
Virtual to physical address translation
Register file read
Bypass calculation
Instruction decode
Branch address calculation
Issue or slip decision
Integer add, logical, shift
Data virtual address calculation
Store align
Branch decision
Register file write
3 of 15
April 10, 2001
79RC5000
The RC5000 contains the following computational units:
where P is the maximum power consumption at hot temperature,
calculated by using the maximum I
CC
specification for the device.
Typical values for
∅
CA
at various airflows are shown in Table 1.
∅
CA
Airflow (ft/min)
PGA
BGA
0
16
14
200
7
6
400
5
4
600
3
3
800
2.5
2.5
1000
2
2
Integer ALU. The RC5000 implements a full, single-cycle 64-bit ALU
for all integer ALU functions other than multiply and divide. Bypassing is
used to support back-to-back ALU operations at the full pipeline rate,
without requiring stalls for data dependencies.
Integer Multiply/Divide Unit. This unit is separated from the primary
ALU, to allow these longer latency operations to run in parallel with other
operations. The pipeline stalls only if an attempt to access the HI or LO
registers is made before the operation completes.
Floating-point ALU. This unit is responsible for all CP1/CP1X ALU
operations other than DIV/SQRT. The unit is pipelined to allow a single-
cycle repeat rate for single-precision operations
Floating-point DIV/SQRT unit. This unit is separated from the other
floating-point ALU, so that these long latency operations do not prevent
the issue of other floating point operations.
In addition, the RC5000 implements separate logical units to imple-
ment loads, stores, and branches.
Per the RC5000 Documentation errata, Revision 1.0, dated February
1999 and per the RC5000 Device errata, dated February 1999, mode
bits 20, 33 and 37 must be set to 1.
The input clock operates in a frequency range of 33MHz to 100MHz.
The pipeline frequency for the RC5000 is 2 to 8 times the input clock (up
to the maximum for the speed grade of CPU).
January 1996:
Corrected pin list for Clock/Control, Initialization, and
Secondary Cache interfaces in Pin Description section. Changed pins
AA19 and AA21 from Vcc to Vss in Advance Pin-Out section.
March 1997:
Upgraded data sheet status from “Preliminary” to Final.
Added section on thermal considerations. Added section on absolute
maximum ratings.
June 1997:
Revised Power Consumption and System Interface
Parameters.
September 1997:
Added user notation on Boot Mode Bits 20 and 33
for 200 MHz frequency.
June 1998:
Added 250 MHz. Changed naming conventions.
June 1999:
Added 267 MHz and 300 MHz.
October 28, 1999:
Added industrial temperature data and revised
package designation code in the Ordering Information section.
March 23, 2000:
Expanded the data presentation in the System
Interface Parameters table and revised the values in this table.
April 10, 2001:
In the Data Output and Data Output Hold categories
of the System Interface Parameters table, changed values in the Min
column for all speeds from 1.5 and 1.0 to 0.
The RC5000 utilizes special packaging techniques, to improve the
thermal properties of high-speed processors. The RC5000 is packaged
using cavity down packaging in a 223-pin PGA package with integral
thermal slug, and a 272-pin BGA package. These packages effectively
dissipate the power of the CPU, increasing device reliability.
The RC5000 utilizes an all-aluminum package with the die attached
to a normal copper lead frame mounted to the aluminum casing. Due to
the heat-spreading effect of the aluminum, the package allows for an
efficient thermal transfer between the die and the case. The aluminum
offers less internal resistance from one end of the package to the other,
reducing the temperature gradient across the package and therefore
presenting a greater area for convection and conduction to the PCB for
a given temperature. Even nominal amounts of airflow will dramatically
reduce the junction temperature of the die, resulting in cooler operation.
The RC5000 is guaranteed in a case temperature range of 0° to
+85° C. The type of package, speed (power) of the device, and airflow
conditions affect the equivalent ambient temperature conditions that will
meet this specification.
The equivalent allowable ambient temperature, T
A
, can be calculated
using the thermal resistance from case to ambient (∅
CA
) of the given
package.
The following equation relates ambient and case temperatures:
T
A
= T
C
- P *
∅
CA
4 of 15
\ URWVL+ QRLVLYH5
\ URWVL+ QRLVLYH5
\ URWVL+ QRLVLYH5
\ URWVL+ QRLVLYH5
HWR1
HWR1
HWR1
HWR1
VWLQ8 ODQRLWDWXSPR& &5
VWLQ8 ODQRLWDWXSPR& &5
VWLQ8 ODQRLWDWXSPR& &5
VWLQ8 ODQRLWDWXSPR& &5
VQRLWDUHGLVQR& ODP UHK7
VQRLWDUHGLVQR& ODP UHK7
VQRLWDUHGLVQR& ODP UHK7
VQRLWDUHGLVQR& ODP UHK7
\FQHXTH U) JQLWDUHS2
\FQHXTH U) JQLWDUHS2
\FQHXTH U) JQLWDUHS2
\FQHXTH U) JQLWDUHS2
Table 2 Thermal Resistance (½CA) at Various Airflows
Note:
The RC5000 implements advanced power manage-
ment to substantially reduce the average power dissipation of
为了在产品众多、竞争激烈的市场上使产品与众不同,手持设备的制造商们往往把电池寿命和电源管理作为手机、PDA、多媒体播放器、游戏机、其它便携式消费类设备等产品的关键卖点来考虑。用户是从电池寿命这方面来看待电源管理的成效,其实它是多种因素共同作用的结果,这些因素包括 CPU 功能、系统软件、中间件,以及使用户可以在更长的充电或更换电池的间隔时间内享用各自设备的策略。 电源管理范围 任...[详细]