Chip123 科技應用創新平台

標題: The Xbox 360 CPU architecture [打印本頁]

作者: masonchung    時間: 2007-2-9 10:39 AM
標題: The Xbox 360 CPU architecture
The Xbox 360 CPU architecture
6 D9 O0 [, r' ?2 ]. Y* u' w8 F " J( C9 u, @! u/ O0 C
The Xbox 360 system has a single chip (with 165 million transistors) for its CPU. This chip is in fact a three-way symmetric multiprocessor design. The three PowerPC cores are identical, except that they are physically reflected through the X and Y axis. Each of the CPU cores is a specialized PowerPC chip with a VMX128 extension related to (and partially compatible with) the VMX instructions in the G4 and G5 CPUs. The three CPU cores share a 1MB Level2 cache. Each processor has 32KB each of data and instruction Level1 cache. The chip's front-side bus/physical interface has a 21.6GB/second bandwidth, and runs at 5.4GHz. The high frequency clocks are generated on-chip by four phase-locked loops: two for the core clocks, two for the PHY clock.
, @  |& u% ?; z. u4 p4 b$ Q4 p1 N" F% f7 W# k
The Xbox 360 CPU chip has testing and debug functions, including tracing, configuration control, and performance monitoring features. Access to these functions is through the block in Figure 1 labeled test/debug. The block labeled Miscellaneous IO provides a JTAG port, a POST monitor, and an interface for a serial EEPROM in case patch logic configuration was needed during bring-up. ; K0 f5 W) L4 O/ p  ]' k2 I' b

% G) P" Z" m& h9 H% T- qTo improve manufacturing yield, the SRAM Arrays used in the L1 and L2 caches support both row and column redundancy. This redundancy is enabled at chip test by burning electronic fuses. The eFuses are one of the unique capabilities of the IBM 90nm CMOS SOI technology the chip is fabricated in. Efuses were also used to record a unique supply voltage to be used for each chip. Finally, to help reduce the potential impact of process variations on the operation of the PHY analog circuits, eFuses were used for parametric adjustment in the analog units.
, Z7 ?3 j7 C& z/ O* W; s, g. [3 f. D& X& O6 U3 L. P
The physical package of the chip matters, too. A crucial design goal in the CPU of a consumer electronics device is high volume with good yield and comparatively low cost. The package is a 2-2-2 FC-PBGA, measuring 31mm by 31mm.  C7 w) F$ w, |4 J7 ~  b
2 R/ E; S" M- G# g* a
The CPU core examined
. |3 j4 s$ Y/ {! [
( [5 H6 U$ x* _, o9 ^) Y" F8 C3 `# oThe CPU cores (there are three) are the highest frequency PowerPC cores currently available, running at 3.2GHz. Throughout, the CPU uses extensive clock gating, leaving pipelines shut down until there are instructions to be processed; this dramatically reduces power consumption under real-world loads. The basic design is a 64-bit PowerPC architecture, with the complete PowerPC ISA available.
  @2 x: N" k7 V0 m5 l& ]5 V5 R  g) C/ p7 b+ I4 S
$ o! \9 |* R( \) z* c1 Q( ]2 |* k% H
The instruction unit is multithreaded, with two simultaneous threads. The instruction cache is 32KB. The core implements a two-issue, in-order execution microarchitecture. This means two instructions are issued at a time but execution within the units is in sequential order. Execution is delayed to cover the load use penalty without stalling the pipeline. , V; o+ |7 k/ O) n9 T3 _6 Q5 K
( y' p  K# K, Z+ W& d6 p
The L1 instruction cache (Icache) is a 32K Byte cache with parity error checking. It is two-way set associative cache with 128B lines. First-level translation for instruction addresses is done using a 64-entry, two-way set associative effective to real address translation cache.1 z! g7 `. R# Z9 Z2 z( E
$ a3 d; u. h1 n0 W( V7 c+ Q
The two issued instructions can go to one of five execution pipes: Branch (which is really part of the instruction unit), Load/Store , Fixed Point, Floating Point, and VMX. Difficult instructions are implemented through microcode. At dispatch they are cracked and converted into multiple micro-ops.) W& u7 t* B: M: z! c
0 E9 O7 N" G8 O- m" X8 S
The branch unit includes a 4KB two-way set-associative Branch History Table per thread.
+ S2 v$ P9 ^' F4 J8 B- X" |& y" [
The Fixed Point pipe actually has two units: one to handle the simple operations like (add/sub, cmp, logical ops, and rotate); and one to handle the complex operations like multiply/divide.& ^. f- g1 b* j+ _/ G
2 \$ E; s; Y2 R$ e  A
The Load/Store pipe handles access to the L1 Data cache and the storage hierarchy. Like the L1 Icache, the L1 Dcache is a 32KByte cache with parity error checking. However, it is four-way set associative. It is "store through" and provides non-blocking access so a cache miss does not hold up a subsequent hit.
) N+ l. X1 w& N# f( ^' f0 J) Y' m: g" t* F$ _- `
A 64 entry two-way associative ERAT handles first-level data address translation. Second-level translation for both data and instructions is handled by a 1K entry four-way associative TLB (translation lookaside buffer) which can be software as well as hardware-managed.0 a0 q& n& j. N
1 k, |* C: D! }, w9 L( Z

" j3 @, C$ t1 E% q% v9 c( y4 P. R7 H: t" W' e& {
http://www-128.ibm.com/developerworks/power/library/pa-fpfxbox/?ca=dgr-lnxw09XBoxDesign( T. M4 X3 b5 T8 P# w( l
/ p8 L( k( q9 D  M- p& @
[ 本帖最後由 masonchung 於 2007-2-9 10:41 AM 編輯 ]
作者: armmips    時間: 2008-9-7 01:30 AM
感謝分享,這是很有用的資料。1 N, T# j$ P6 W! Q! M, o
只是3+1式的多處理器架構,會不會有編程上的困難?




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2