[HN Gopher] Finding a CPU Design Bug in the Xbox 360 (2018)
       ___________________________________________________________________
        
       Finding a CPU Design Bug in the Xbox 360 (2018)
        
       Author : mariuz
       Score  : 145 points
       Date   : 2026-03-13 13:40 UTC (4 days ago)
        
 (HTM) web link (randomascii.wordpress.com)
 (TXT) w3m dump (randomascii.wordpress.com)
        
       | jszymborski wrote:
       | Would need "(2018)" in the title.
        
       | chasil wrote:
       | It is interesting that IBM dominated this generation of consoles,
       | and was vanquished in the next.
       | 
       | The high failure rates of the Xbox 360 did not help.
       | 
       | https://en.wikipedia.org/wiki/Xbox_360_technical_problems
        
         | vondur wrote:
         | I thought the design flaws of the Xbox 360 cooling system had
         | more to do with Microsoft than any inherent design flaw by IBM.
         | I assumed that switching to x86 processors let Microsoft
         | leverage their native developer tools from Windows which helped
         | developers.
        
           | chasil wrote:
           | The main issue was revealed to be solder.
           | 
           | "Microsoft did not reveal the cause of the issues publicly
           | until 2021, when a 6-part documentary on the history of Xbox
           | was released. The Red Ring issue was caused by the cracking
           | of solder joints inside the GPU flip chip package, connecting
           | the GPU to the substrate interposer, as a result of thermal
           | stress from heating up and cooling back down when the system
           | is power cycled."
        
             | thenthenthen wrote:
             | Sounds like the 2012(?) Macbook Pro after the switch to
             | leadless solder (?). I had to cook my motherboard 3 times
             | in the oven to revive it.
        
               | chasil wrote:
               | Funny!
               | 
               | I've heard that flash memory can also be revived with
               | heat, either long duration or high intensity.
               | 
               | https://www.extremetech.com/science/142096-self-healing-
               | self...
        
               | thenthenthen wrote:
               | Some macbook hacks involved disabling sleepmode, running
               | a benchmark and putting it in a pile of blankets for a
               | few hours
        
             | timw4mail wrote:
             | And there was the same problem with early PS3s, on Nvidia's
             | GPU package...it was a fairly widespread problem at the
             | time.
        
               | rwmj wrote:
               | And Apple iBook G3s too. There's a whole thing with
               | owners reflowing the GPU:
               | https://www.instructables.com/Fixing-the-infamous-iBook-
               | scre...
        
               | keyringlight wrote:
               | I seem to recall baking PC nvidia GPU boards in your oven
               | was a reasonably common out-of-warranty fix around that
               | era.
        
               | Moosdijk wrote:
               | I had to do this with my MacBook Pro models early 2015
               | and late 2017.
               | 
               | It seems like there was a period in time when solder just
               | wasn't done well, it seems like.
        
               | rangestransform wrote:
               | IIRC this is to do with the phase in of RoHS and bad lead
               | free solder
        
               | hbn wrote:
               | I don't have any solid numbers on me, but I believe early
               | 360s failing wasn't just widespread; it was straight up
               | most of them dying within the first couple years. It's
               | honestly insane they more or less got away with that. And
               | I guess also speaks to how much Microsoft was killing it
               | in that era that people were willing to go through
               | multiple console RMAs (which I heard was a terrible,
               | slow, and unreliable process) to play 360 games. How far
               | they've fallen.
        
               | rustystump wrote:
               | Family got first gen 360. Still works to this day. We hit
               | the jackpot with that console. It out lasted 2 wiis and a
               | ps2
        
               | kjkjadksj wrote:
               | Whenever we lost a 360 we got a pre owned 360 from
               | gamestop. I think they went for like $70 for one without
               | any hdd.
        
               | bombcar wrote:
               | That was the real story, by the time they started dying
               | you could just grab a working one for "decently cheap" if
               | you still cared.
               | 
               | However, I wonder how many people got "burned" by it and
               | swore off Xbox consoles going forward.
               | 
               | I know that era we got a lot more use out of the Xbox
               | (original) and the Wii.
        
               | Aarostotle wrote:
               | Simple answer: Halo 3.
        
               | mrguyorama wrote:
               | It was something like 25% - 50% of _all_ first version
               | 360s died.
               | 
               | Microsoft spent over a billion dollars replacing and
               | repairing consoles to maintain the good brand name of
               | Xbox.
               | 
               | https://en.wikipedia.org/wiki/Xbox_360_technical_problems
        
             | esaym wrote:
             | When did the industry transition to different/lead free
             | solders? Wonder if that was part of the issue?
        
               | monocasa wrote:
               | Yeah, it was the transition to RoHS.
        
         | cptskippy wrote:
         | > It is interesting that IBM dominated this generation of
         | consoles, and was vanquished in the next.
         | 
         | IBM's Power was the only logical option at the time.
         | 
         | These consoles were being designed around 2000. Intel and AMD
         | weren't partnering on bespoke CPUs at that time. I don't even
         | think AMD would have been considered a viable partner. Neither
         | had viable 64 bit options and part of console marketing at the
         | time was the ever increasing bit depths.
         | 
         | Prior console generations had use MIPS which wasn't keeping up
         | with ever increasing performance expectations and players like
         | Toshiba and Sony were looking for a higher performance CPU
         | architecture. IBM's Power architecture was really the only
         | option. Sony, Toshiba, and IBM partnered to develop their a new
         | 64 bit microarchitecture called Cell.
         | 
         | Microsoft's first console was basically a PC and that's how
         | everyone saw it. The 360 was an opportunity for Microsoft to
         | show that it could compete with the big boys. It was also an
         | opportunity to keep a toe dipped in RISC, because it had
         | dropped support for RISC CPUs with Windows 2000.
        
           | Grazester wrote:
           | By the way, the AMD athlon 64-bit launched 2003. The PS3
           | launched in 2006. I had an AMD64 bit process in my laptop in
           | 2005.
           | 
           | What wasn't viable?
        
             | Narishma wrote:
             | Yeah that part didn't make sense, not to mention that
             | neither the PS3 nor the 360 were running 64-bit software.
             | They didn't have enough memory for it to be worth it.
        
               | sidewndr46 wrote:
               | you don't need memory to make 64 bit software worth it.
               | Just 64 bit mathematics requirements. Which basically no
               | video game console uses as from what I understand 32-bit
               | floating point continue to be state of the art in video
               | game simulations
        
               | duped wrote:
               | Fundamentally it's still a memory limitation, just in
               | terms of memory latency/cache misses instead of capacity.
               | If you double the size of your numbers you're doubling
               | the space it takes up and all the problems that come with
               | it.
        
               | sidewndr46 wrote:
               | No it isn't. The 64-bit capabilities of modern CPUs have
               | almost nothing to do with memory. The address space is
               | rarely 64 bits of physical address space anyways. A
               | "64-bit" computer doesn't actually have the ability to
               | deal with 64 bits of memory.
               | 
               | If you double the size of numbers, sure it takes up twice
               | the space. If the total size is still less that one page
               | it isn't likely to make a big difference anyways. What
               | really makes a difference is trying to do 64-bit
               | mathematics with 32-bit hardware. This implies some
               | degree of emulation with a series of instructions,
               | whereas a 64-bit CPU could execute that in 1 instruction.
               | That 1 instruction very likely executes in less cycles
               | than a series of other instructions. Otherwise no one
               | would have bothered with it
        
               | chasil wrote:
               | The original 8087 implemented 80-bit operands in its
               | stack.
               | 
               | It would also process binary-coded decimal integers, as
               | well as floating point.
               | 
               | "The two came up with a revolutionary design with 64 bits
               | of mantissa and 16 bits of exponent for the longest-
               | format real number, with a stack architecture CPU and
               | eight 80-bit stack registers, with a computationally rich
               | instruction set."
               | 
               | https://en.wikipedia.org/wiki/Intel_8087
        
               | bombcar wrote:
               | "Bitness" of a CPU almost always refers to memory
               | addressing.
               | 
               | Now you could build a weird CPU that has "more memory"
               | than it has addressable width (the 8086 is kind of like
               | this with segmentation and 8/16 bit) but if your CPU is
               | 64 bit you're likely not to use anything less than 64 bit
               | math in general (though you can get some tricks with
               | multiple adds of 32 bit numbers packed).
               | 
               | But a 32 bit CPU can do all sorts of things with larger
               | numbers, it's just that moving them around may be more
               | time-consuming. After all, that's basically what MMX and
               | friends are.
        
               | comex wrote:
               | Typically, it doesn't have the ability to deal with a
               | full 64 bits of memory, but it does have the ability to
               | deal with more than 32 bits of memory, and all pointers
               | are 64 bits long for alignment reasons.
               | 
               | It's possible but rare for systems to have 64-bit GPRs
               | but a 32-bit address space. Examples I can think of
               | include the Nintendo 64 (MIPS; apparently commercial
               | games rarely actually used the 64-bit instructions, so
               | the console's name was pretty much a misnomer), some
               | Apple Watch models (standard 64-bit ARM but with a
               | compiler ABI that made pointers 32 bits to save memory),
               | and the ill-fated x32 ABI on Linux (same thing but on
               | x86-64).
               | 
               | That said, even "32-bit" CPUs usually have some kind of
               | support for 64-bit floats (except for tiny embedded
               | CPUs).
        
               | monocasa wrote:
               | The 360 and PS3 also ran like the N64. On PowerPC, 32 bit
               | mode on a 64 bit processor just enables a 32 bit mask on
               | effective addresses. All of the rest is still there line
               | the upper halves of GPRs and the instructions like ldd.
        
               | monocasa wrote:
               | Parts of the 360 did. The hypervisor ran in 64bit mode,
               | and use multiple simultaneous mirrors of physical address
               | space with different security properties as part of its
               | security model.
        
             | chasil wrote:
             | I have some confidence that AMD's acquisition of ATI had a
             | huge impact.
             | 
             | That allowed both a CPU and an advanced GPU to be on the
             | same die.
             | 
             | They also wisely sold Global Foundries, and were able to
             | scale with TSMC.
        
             | cptskippy wrote:
             | You have to remember that the AMD and Intel of today are
             | very different companies than they were 20-25 years ago.
             | AMD split off it's fab capabilities, acquired ATI, adopted
             | TSMC as a fab, and developed a custom silicon business.
             | 
             | At that time AMD wasn't in the custom CPU business, AMD64
             | was a new unproven ISA, and x86 based CPUs of that time
             | were notoriously hot for a console. These were also some of
             | the reasons why Microsoft moved away from the Pentium III
             | it had used in the original Xbox.
             | 
             | The PS3 was launched in 2006 but the hardware design was
             | decided years earlier to provide a reference platform for
             | the software.
        
             | 0x457 wrote:
             | Because consoles don't use off-the-shelf CPUs for many
             | reasons. Neither Intel nor AMD of that time would even
             | consider making a bespoke CPU for Sony or MS.
             | 
             | Even they could use off-the-shelf SKU it wouldn't be viable
             | - neither one had one that fits in power envelope (not that
             | it helped xbox...)
        
             | monocasa wrote:
             | They would have started designing the systems in 2003, and
             | one of the first choices is CPU partner.
             | 
             | Do you trust the new line of CPUs that just launched that
             | year?
        
         | hrmtst93837 wrote:
         | Sony stuck with Cell even longer and it locked them into a
         | decade of weird ports and missed optimization tricks, so
         | "vanquished" cuts both ways.
        
         | brucedawson wrote:
         | It did not help that the performance of the Xbox 360 CPU (and
         | Cell) was terrible. In-order execution without the crazy-high
         | frequencies the CPU was designed for was a failure.
        
       | TazeTSchnitzel wrote:
       | This article is from 2018.
       | 
       | Previously:
       | 
       | - https://news.ycombinator.com/item?id=16094925
       | 
       | - https://news.ycombinator.com/item?id=27480448
        
       | NooneAtAll3 wrote:
       | unrelated, but recently XBox One was hacked for the first time
       | 
       | https://www.youtube.com/watch?v=FTFn4UZsA5U
        
         | brcmthrowaway wrote:
         | How does XBox get hacked when it uses Secure Boot?
        
           | Tuna-Fish wrote:
           | Voltage glitching. An outside attacker who has direct,
           | extremely fine-grained control over the power supply to the
           | chip can cause it to brown out for one instruction cycle,
           | preventing a result of an instruction from being written.
           | 
           | With enough sophistication, physical access is more powerful
           | than root access, no exceptions.
        
       | alumno_007 wrote:
       | Sobre calentamiento
        
       | dev-ns8 wrote:
       | Wow... A speculative branch prediction path actually get's
       | preemptively executed despite the branch outcome? No matter if
       | the execution has side-affects??? That's quite amazing. Are
       | modern CPUs doing speculative execution like this and just put
       | extra safeguards around affects or do they just prefetch / decode
       | instructions now-a-days?
        
         | brucedawson wrote:
         | Author here: This is not a common problem. I think I was told
         | that Alpha had basically the same bug but it is a bug, for
         | sure. Speculative execution causing problematic side effects is
         | a deal killer.
         | 
         | Speculative execution, however, can cause less problematic side
         | effects. For instance, a speculatively executed load or
         | prefetch will usually actually prefetch which will pollute the
         | cache, TLB, etc., and reveal side-band information, but that is
         | a performance problem and perhaps a subtle security flaw, not a
         | correctness bug like this was.
        
           | MBCook wrote:
           | I remember reading this many years ago, it was great.
           | 
           | In the last week Raymond Chen on his The Old New Thing
           | mentioned the concept of delay slots on some CPUs.
           | 
           | It sounds like a similar thing, just formalized so it's not a
           | bug. Knowing that the instruction after a branch always
           | executes, regardless of if the branch is taken.
           | 
           | Do I have that right?
        
       ___________________________________________________________________
       (page generated 2026-03-17 23:00 UTC)