Live data from Hacker News

Finding a CPU Design Bug in the Xbox 360 (2018)

randomascii.wordpress.com

31–40 of 55 posts

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#31

Earlier quoted context omitted.

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?

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.

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.

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#32
post #28

Earlier quoted context omitted.

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.

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 re…

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

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#34

Earlier quoted context omitted.

> 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…

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?

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.

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#35
post #10

Earlier quoted context omitted.

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…

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.

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.

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#36
post #28

Earlier quoted context omitted.

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.

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 re…

"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.

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#37
post #9

Earlier quoted context omitted.

And Apple iBook G3s too. There's a whole thing with owners reflowing the GPU: https://www.instructables.com/Fixing-the-infamous-iBook-scre...

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.

IIRC this is to do with the phase in of RoHS and bad lead free solder

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#38
post #10

Earlier quoted context omitted.

And there was the same problem with early PS3s, on Nvidia's GPU package...it was a fairly widespread problem at the time.

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…

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

Re: Finding a CPU Design Bug in the Xbox 360 (2018)

#39
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?
Post reply on HN