In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Hardware"

From WiiBrew
Jump to navigation Jump to search
m (more syntax fixes)
 
(41 intermediate revisions by 18 users not shown)
Line 1: Line 1:
[[Image:Wii_hw_diagram.png|thumb|right|Wii hardware diagram]]
+
The [[Wii]]'s hardware is one of the most well-understood of any home console. Due to extensive research in the homebrew community, the Wii's inner workings have been reverse-engineered and have been exploited heavily in the usage of homebrew.
==Wii specs==
 
===CPU===
 
* IBM '[http://en.wikipedia.org/wiki/Broadway_%28microprocessor%29 Broadway]' 90 nm based on IBM's Power architecture.
 
*Runs at a speed of 729 MHz. Maximum Bandwidth is 1.9 GB/s.
 
*Bus to main memory: 243 MHz, 64 bits (maximum bandwidth: 1.9 GB/s)
 
*32 KB 8-way set-associative L1 instruction cache
 
*32 KB 8-way set-associative L1 data cache (can set up 16-kilobyte data scratch pad)
 
*Superscalar microprocessor with six execution units (floating-point unit, branching unit, system register unit, load/store unit, two integer units)
 
*DMA unit (15-entry DMA request queue) used by 16-kilobyte data scratch pad
 
*Write-gather buffer for writing graphics command lists to the graphics chip
 
*Onboard 256-kilobyte 2-way set-associative L2 integrated cache
 
*Two, 32-bit integer units (IU)
 
*One floating point unit (FPU) (supports single precision (32-bit) and double precision (64-bit))
 
*The FPU supports paired single floating point (FP/PS)
 
*The FPU supports paired single multiply add (ps_madd). Most FP/PS instructions can be issued in each cycle and completed in three cycles.
 
*Fixed-point to floating-point conversion can be performed at the same time as FPU register load and store, with no loss in performance.
 
*The branch unit supports static branch prediction and dynamic branch prediction.
 
*When an instruction is stalled on data, the next instruction can be issued and executed. All instructions maintain program logic and will complete in the correct program order.
 
*Supports three L2 cache fetch modes: 32-Byte, 64-Byte, and 128-Byte.
 
*Supports these bus pipeline depth levels: level 2, level 3, and level 4.
 
Reference Information: Broadway is upward compatible with Nintendo GameCube’s CPU (Gekko).  
 
  
*Broadway CPU version is 87102, Gekko is 83410. Source: http://forum.wiibrew.org/viewtopic.php?t=210
+
== Processors ==
*Information about its [[Broadway/Registers|registers]] is available
+
The Wii has three processors. The main processor of the Wii's system, codenamed Broadway, which is a PowerPC processor that does the job of running executable code, and interfacing with legacy hardware, which includes every aspect of the Gamecube's system, with a few exceptions, which are handled by the PowerPC. The Broadway is also called the PPC, because that is its architecture.
  
===Graphics===
+
The second processor is a custom macronix 16-bit dsp that does side task jobs for boot, audio, memory card unlocking, gba decryption, etc.
* ATi '[[Hollywood]]' processor
 
*Runs at a speed of 243 MHz.
 
Includes:
 
*Graphics processing unit (with 3 MB of eDRAM)
 
*Audio DSP
 
*I/O Bridge
 
*24 MB of internal main memory
 
*Internal main memory operates at 486 MHz.
 
Maximum bandwidth between [[Hollywood]] and internal main memory: 3.9 GB/s
 
*Possible to locate a program here
 
Reference Information: [[Hollywood]] is similar to Nintendo GameCube’s Flipper and Splash components.  
 
  
The [[Hollywood]] is a multi-chip package composed of two dies, named Vegas and Napa. Vegas is the GPU, and is also responsible for I/O functions, including memory access. Napa is the DSP, and includes 24 MiB of 1T RAM on the die. Vegas has direct access to 3 MiB of 1T RAM for use as a frame buffer and texture storage.
+
The third processor is nicknamed the Starlet chip, due to the fact that it lives inside the Hollywood graphics processor. The Starlet is an ARM processor that communicates with hardware, as well as the DVD drive. The program that handles communication between the PPC and the hardware is known as [[IOS]], and exists for security.
  
* Qimonda HYB18HS1232 64 MiB GDDR3 graphics RAM
+
[[NAND]] is the term for the Wii's internal flash memory, which is based on a NAND flash.
  
See [[Video Output]] for more information on the output connectors and the available video modes.
+
== Nintendo Wii Hardware Summary ==
 +
*'''CPU:''' IBM PowerPC '''729 MHz'''
 +
*'''DSP:''' [[Hardware/Macronix_DSP|Macronix DSP]] '''121.5 MHz'''
 +
*'''GPU:''' ATI graphics '''243 MHz'''
 +
**3 MB embedded memory
 +
*NEC ARM9 '''243 MHz'''
 +
*'''512 MB''' Internal Flash Memory (NAND)
 +
*'''88 MB''' Main Memory<nowiki>*</nowiki>
 +
**24 MB "internal" 1T-SRAM
 +
**64 MB "external" GDDR3 SDRAM<nowiki>*</nowiki>
 +
*12 cm optical drive<nowiki>*</nowiki>
 +
*Wi-Fi  '''802.11b/g'''
 +
**Mitsumi DWM-W004
 +
*Bluetooth
 +
*2x USB 2.0<nowiki>*</nowiki>
 +
*SD/SDHC<nowiki>*</nowiki>
  
===Memory===
+
== Board scans ==
* Elpida S1616AGTA 16-Mbit SDRAM
+
[[File:Wii_hw_diagram.png|thumb|right|Wii hardware diagram]]
* Samsung K9F4G08U0A 65-nm, 4-Gbit NAND flash
+
Some hi-resolution board scans by bushing:
* 64 MB of GDDR3 (MEM2) as the external main memory. Can be accessed from the CPU and GPU with a bandwidth of 4GB/s and can also store programs in the MEM2.
+
* Top side of main board: [http://www.flickr.com/photos/bushing/4002792703/in/set-72157622251043764/ 600dpi] [http://www.flickr.com/photos/bushing/4002786841/in/set-72157622251043764/ 1200dpi]
 +
* Bottom side of main board: [http://www.flickr.com/photos/bushing/4003561674/in/set-72157622251043764/ 1200dpi]
 +
* Overlays: [http://www.flickr.com/photos/bushing/4002815415/in/set-72157622251043764/ Top over bottom] [http://www.flickr.com/photos/bushing/4003569106/in/set-72157622251043764/ Bottom over top]
  
===Optical Drive===
+
== Notes ==
* Supports single sided 4.7 GB and double sided 8.51 GB discs. Nintendo GameCube discs are also supported.
+
<small>1 & 2. Certain devkits such as the [[NDEV]] have higher memory than retail Wii systems.</small>
  
===Wireless===
+
<small>3. Not seen on certain devkits such as NDEV and [[RVT-H]].</small>
* Broadcom BCM4318 Wi-Fi transceiver
 
* Broadcom BCM2045 [[Bluetooth]] device connected via USB
 
  
==References==
+
<small>4 & 5. Not seen on [[Wii mini]] units.</small>
# http://www.techonline.com/showArticle.jhtml?articleID=194500380
+
 
# http://techon.nikkeibp.co.jp/english/NEWS_EN/20061127/124495/
+
<small>6. MXIC DSP hardware can be seen here [[Hardware/Macronix_DSP|Macronix DSP]].</small>
 +
 
 +
 
 +
{{Navbox hardware}}
  
 
[[Category:Hardware]]
 
[[Category:Hardware]]

Latest revision as of 21:38, 7 January 2025

The Wii's hardware is one of the most well-understood of any home console. Due to extensive research in the homebrew community, the Wii's inner workings have been reverse-engineered and have been exploited heavily in the usage of homebrew.

Processors

The Wii has three processors. The main processor of the Wii's system, codenamed Broadway, which is a PowerPC processor that does the job of running executable code, and interfacing with legacy hardware, which includes every aspect of the Gamecube's system, with a few exceptions, which are handled by the PowerPC. The Broadway is also called the PPC, because that is its architecture.

The second processor is a custom macronix 16-bit dsp that does side task jobs for boot, audio, memory card unlocking, gba decryption, etc.

The third processor is nicknamed the Starlet chip, due to the fact that it lives inside the Hollywood graphics processor. The Starlet is an ARM processor that communicates with hardware, as well as the DVD drive. The program that handles communication between the PPC and the hardware is known as IOS, and exists for security.

NAND is the term for the Wii's internal flash memory, which is based on a NAND flash.

Nintendo Wii Hardware Summary

  • CPU: IBM PowerPC 729 MHz
  • DSP: Macronix DSP 121.5 MHz
  • GPU: ATI graphics 243 MHz
    • 3 MB embedded memory
  • NEC ARM9 243 MHz
  • 512 MB Internal Flash Memory (NAND)
  • 88 MB Main Memory*
    • 24 MB "internal" 1T-SRAM
    • 64 MB "external" GDDR3 SDRAM*
  • 12 cm optical drive*
  • Wi-Fi 802.11b/g
    • Mitsumi DWM-W004
  • Bluetooth
  • 2x USB 2.0*
  • SD/SDHC*

Board scans

Wii hardware diagram

Some hi-resolution board scans by bushing:

Notes

1 & 2. Certain devkits such as the NDEV have higher memory than retail Wii systems.

3. Not seen on certain devkits such as NDEV and RVT-H.

4 & 5. Not seen on Wii mini units.

6. MXIC DSP hardware can be seen here Macronix DSP.


edit  

Wii hardware