10 ms·
Playstation 3 Architecture
- deleted 5y ago[deleted]
- vvanders 5y agoThis is pretty good overview. One fun tricks we would regularly do was move all the background audio off the disk and into GPU ram. We'd stream just enough that we wouldn't saturate the bus but could get back 20-30mb of system memory. There was also that time we ran out of open file handles ahead of key demo at one of the tradeshows. I remember rewriting the whole audio streaming subsystem to piggyback on the seekfree texture loading system so that we could use the that single big file as a source for both streaming texture and audio data. Did that in 24 hours less than 2 days ahead of the show, fun times. [Edit] Another fun thing from that era was that almost no one other than the in-house Sony Studios used the SPUs well. X360 came out just ahead and had tooling that was miles ahead(PIX!) so everyone started from the X360. None of the workloads we're vectorized so it was absolutely brutal to get them to fit into the SPUs. For a long time a good chunk of that silicon was just idle. If you did start from the PS3 though because of the vectorized workloads you had insane cache coeheranch and usually ran better on the X360/PC as well.
- Sunspark 5y agoI'm having the weirdest problem with my old PS3.. the HDMI chip got overloaded in some manner and I can't get it to connect to my monitor anymore. My monitor is fine with everything else, but on the PS3 it is just a black screen. Weirdly, I can get it to generate a signal that will display on the monitor briefly up to a certain point but not after. I put in a different drive and get initial setup screens, so the video circuitry and cpu still work, but after the setup part gets to the video setup or something it goes black. I need to find a tv with component video so I can find out if the unit will boot on component and maybe reset something in memory to get hdmi working again properly, or if there's some kind of chip that is burnt out and won't let hdmi run after power on.
- tacocataco 5y agoHope this doesn't sound inflammatory but have you tried other HDMI cables?
- Sunspark 5y agoNot inflammatory no worries, and I have. It's a head scratcher, and a lesson to me. It happened when I disconnected and reconnected a cable while the system was turned on. I thought maybe the HDMI port or chip broke because it is something that can happen, but the fact that I am able to get an initial picture with the help of a box tells me that the hdmi port is actually intact as is the graphics chip. So, maybe it's a HDCP thing. Could be that a HDCP chip is burnt out or something.. I have ordered a component cable and will take the system over to a tv that has component to see what happens, and if I can reset the hdmi if I am able to boot into component first.
- ece 5y agoI wonder where the even-odd approach for the SPE comes from. Avoiding data hazards and extracting performance seems great as long as the software is up to the task.
- danbolt 5y agoGiven how parallel ECS workloads like Unity’s DOTS are coming more into vogue, it feels a bit strange reading this retrospectively.
- StreamBright 5y agoI used to work on the hardware testing of the platform that is used in Playstation 3. The blade versions of this platform is called QS20, QS21 and QS22. The latter was used in Roadrunner. Fun times. https://en.wikipedia.org/wiki/Roadrunner_(supercomputer) https://en.wikipedia.org/wiki/Roadrunner_(supercomputer)
- wiliaonson 5y agoThis is a good, well-explained article. I'm quite curious about the Ps4 and ps5's architecture. I'm quite wondering if it's complex than this.
- flipacholas 5y agoAlternative edition without styles: https://classic.copetti.org/writings/consoles/playstation-3/ https://classic.copetti.org/writings/consoles/playstation-3/ (ideal if you use accessibility tools, like text to speech, or want to read from an eBook or legacy browser) If you spot a mistake, please log an issue on the repo (https://github.com/flipacholas/Architecture-of-consoles https://github.com/flipacholas/Architecture-of-consoles). Thanks!
- azalemeth 5y agoIt's worth saying that the whole site is an absolute gold mine of fantastic information about console architectures over the ages, and I particularly like the way he always highlights how the DRM has been broken. It's really fascinating to see the convergent and occasionally divergent evolution that goes on in these machines, speaking to, but slightly independent from, the technological trends of their time.
- Agentlien 5y agoIt's not public but I would like to say that I think the official PS4 and PS5 developer pages are also wonderful resources.
- hbn 5y agoIf anyone is interested in a less in-depth, but still informative overview of game console architectures and DRM cracking history, ModernVintageGamer on YouTube has a lot of videos on the subject that I've enjoyed. https://www.youtube.com/channel/UCjFaPUcJU1vwk193mnW_w1w https://www.youtube.com/channel/UCjFaPUcJU1vwk193mnW_w1w
- ronama 5y agoWhile MVG does a good video production job, he tends to get a lot of information wrong [1] and never corrects it after he's told [2]. Don't get me wrong, he's done very good videos in the past, but I wish he would take better care of his content. [1] https://www.reddit.com/r/Games/comments/fnl0o1/why_playstation_1_graphics_warped_and_wobbled_so/flamnve/ https://www.reddit.com/r/Games/comments/fnl0o1/why_playstati... [2] https://news.ycombinator.com/item?id=26222361 https://news.ycombinator.com/item?id=26222361
- ivraatiems 5y agoA fascinating writeup! It's a small thing, but I love the UI here for choosing images where the caption above the image tells you what you get if you click. Very user-friendly.
- NikolaeVarius 5y agoReally cool. I remember when Sony really pushed the idea that the Cell arch would power so many different things, shame that never took off. I wonder if that university still uses their PS3 based supercomputer cluster
- pavlov 5y agoHmm, probably not. Seems like the biggest PS3 cluster had 1,760 units and was rated at 500 teraflops (single precision float, presumably). An NVIDIA A100 GPU does about 20 teraflops. So you only need 25 of those chips to match the theoretical rating, and they have many other advantages like much higher memory per core, etc.
- teruakohatu 5y agoHave you got the NVIDIA numbers right? A NVIDIA DGX Station A100 (desktop/workstation sized computer with 4x A100 and draws 1.5 kW of power, is rated at 2.5 petaFLOPS, so a good 30+% more than the PS3 cluster. Also the PS3 apparently drew up to 200w, so a cluster that size would have drawn 352 kW.
- spijdar 5y agoThe units being used here are likely different. In most press releases Nvidia uses their "tensor core" performance, usually with either sparsity or 16 bit data. A single A100 is said to have 320 teraflops of "tensor float" performance but only 19 teraflops of "normal" full FP32 performance. This is way out of my field so I don't know the whole implications, but my understanding is Nvidia cards cam only reach these speeds at the loss of precision or full functionality, so it's an apples to oranges comparison versus non-nvidia chips.
- deleted 5y ago[deleted]
- pcwalton 5y agoI mean, the Cell SPU design is everywhere, it's just now part of every GPU and called compute shader. Vector processors are a good idea, but they have to be accessible to programmers through standard, easy-to-use, ideally-cross-platform APIs or invariably they won't get used to their full potential.
- midwestemo 5y agohttps://www.copetti.org/writings/consoles/ https://www.copetti.org/writings/consoles/ If anyone's interested in more writeups about console architectures from this person.
- qqtt 5y agoI find the PS3 historically interesting partially because the convoluted architecture was a natural evolution of Sony's continuing steps to make developing for their consoles harder and harder, driven partially by their arrogance at past success. The PS1 was basically a repackaged project from their Nintendo partnership. They didn't really have time to develop proper development tools for it, and almost as a consequence of that, the development environment was very scrappy - it hooked into existing PCs and included a bunch of libraries that developers were somewhat familiar with using. As a result, the developer toolset was relatively easy to use. It allowed many developers to get started making 3D games and experiences very quickly. This caused developers to be swayed to the Playstation ecosystem early, and drove all 3D resources into Playstation development away from the Sega Saturn, which had the typically convoluted development environment from past generations (further exacerbated by Sega bolting together additional chips onto the Saturn to try to compete with the PS1). PS2 came along, and Sony was already deviating from their easy to use console debut. Their "emotion engine" was notoriously hard to develop for, but Sega with the Dreamcast didn't have the legs to compete with Sony's momentum from the PS1, and quit the console business. Nintendo also screwed the pooch that generation with the Gamecube and Microsoft didn't seem to be a threat with the Xbox which was a major flop in Japan. Along comes PS3, and Sony goes full speed ahead on their hubris - expensive console, impossible to develop for, an architecture somewhat reminiscent of Saturn's hodge podge of chips. At this point they completely lost their way from what made the PS1 set them up for multi-generations of success. It's interesting to consider how the ecosystem matters when developing these hardware products, and how easy it seems for companies to lose sight of that.
- rbanffy 5y ago> impossible to develop for This is what I remember from the Cell (both BE and the “serious” version IBM used in blade servers). It’s a fascinating machine, but being inconvenient to write software for is a key weakness.
- hbn 5y agoOn one hand, it's obviously the smart thing to keep your architecture standard in a world where most games are released cross-platform. Consoles are essentially just PCs with a set spec and in a clean wrapper at this point. But on the other hand it's also a bit disappointing that it's not really an option to make strange/interesting new architectures for a console. Consoles are one of the last holdovers from the era where computers were designed with the hardware and software built and integrated from the bottom up into a cohesive package. Where they'll do a new one only every 7 years or so, and users just expect to have to buy new software for them every time. So it sounds like a space where they could get away with weird innovations and risks, but because of the need to keep cross-platform development feasible, it's not really an option. I don't know. I see why it is the way it is, but I'd like to live in a world where consoles could get away with weirder things. Nintendo has kind of occupied that space with their touch screens and motion controls and whatnot, but the Switch is also more standard than ever before. Probably a net good for consumers though, with how much software is able to be ported to it.
- mhh__ 5y agoIf the author sees this: Well done, really nice read.
- flipacholas 5y agoThanks. I was worried about the fact this console has so much going on inside, so if I end up writing too much (like 100k words) about it, the reader may get too tired and lose interest. In the end, I wrote 20k words with lots of diagrams to help out. I also adapted the site to properly add citations, in case the reader wants to know more about a specific topic.
- johnzim 5y agoI remember the Idle Thumbs podcast made a running joke of the fact that 2010 was supposed to be "Year of the PS3" because I believe Kaz Hirai had suggested that it would take multiple years for developers to unlock the true power of the system. Which is an excellent way to brand how much of a pain it was for Devs to wring performance out of it.
- itisit 5y agoI think it’s been 3-4 years for devs to utilize the potential of a given console from the 5th gen onwards. I’d be curious to read of a console that was a dream to develop for soon as people got their hands on a devkit.
- maccard 5y agoThere's an element of truth in that, but also there's the fact that as a developer, if you have to choose between a) shipping on a new console with a smaller install base, b) shipping on an old console with an established user base, c) shipping on 2 platforms at once Then option (c) is only possible if you reduce the game to the lowest common denominator(with option option (a) becomes more appealing 2-3 years after the fact). Nowadays the difference is less significantbetween PS4 and PS5 (or Xbox One and Xbox Series), but it's still a non-trivial amount to maintain; it would have been vastly more difficult with orders of magnitude in performance (between a PS2 and a PS3), or different programming paradigms (PS3 cell vs PS4 x86).
- mywittyname 5y agoThis wasn't unusual sentiment for the time. Historically, consoles had a stark difference in quality between the initial batch of games for any system, and the last AAA titles for it. Compare Super Mario to Super Mario 3 on the NES. Or Donkey Kong Country vs Super Mario World on the SNES. Or LoK: Soul Reaver to Tomb Raider 1 on the PS1. Some of the later PS3 games still look incredible. The biggest graphics limitation is resolution.
- Grazester 5y agoAnd some of those games on the PS3 ran at 20 fps. Hitting 30 when nothing was happening on screen.
- Lammy 5y ago> The RSX inherits existing Nvidia technology, it’s reported to be based on the 7800 GTX model sold for PCs You can also see this in the early Cell Evaluation systems which at first had 6800s in SLI and switched to a 7800 GTX before the RSX was ready: http://www.edepot.com/playstation3.html#Early_PS3_Models http://www.edepot.com/playstation3.html#Early_PS3_Models
- monocasa 5y agoApparently the addition of the RSX was a last minute modification of the console. They got hit by the same dennard scaling issue that killed of the Netburst derived architectures too [0]. They had been planning on cranking the Cell to over 4Ghz, just including two of them in the PS3, and running GPU tasks 'in software' on the SPUs. The Ghz wall hit them hard and had them reeling looking for an actual graphics chip at the last minute. [0] https://en.wikipedia.org/wiki/Dennard_scaling#Breakdown_of_Dennard_scaling_around_2006 https://en.wikipedia.org/wiki/Dennard_scaling#Breakdown_of_D...
- corysama 5y agoThe story I have heard directly from insiders is that they had a GPU design from Toshiba. But, it was so deeply VLIW that writing an effective compiler for it was deemed infeasible and hand-coding for it would require deeply dedicated skills. So, they gave up on it late in production and went to Nvidia. They looked at the G80, but that was too early and risky to jump on at the time. So, they settled for the 7800. It's a shame. If they had delayed the release and went with the G80, the PS3 would have crushed the 360 as far as graphics. Instead, a whole lot of Cell SPU time had to be dedicated to shoring up the PS3's GPU issues to bring it on par with 360 titles.
- monocasa 5y agoI heard that the Toshiba GPU was also part of that last minute change after the dual Cell design didn't work out. The Nvidia talks happened sort of in parallel, but that was the last option. I want to say it's mentioned in The Race For A New Game Machine too, but I'm not 100% on that.
- Moosdijk 5y agoThe ps3 dev wiki [1] is also a great resource on thi topic [1]https://www.psdevwiki.com/ps3/Main_Page https://www.psdevwiki.com/ps3/Main_Page
- k__ 5y agoI remember my university buying a bunch of PS3s for their datacenter back in the days.
- jt_thurs_82 5y agominor correction > The accelerators included within PS3’s Cell are the Synergistic Processor Element (SPE). Cell includes eight of them, although one is physically disabled during manufacturing. This was disabled in software (by syscon) early on in the boot process. Many people "unlocked" theirs without stability issues. My understanding was that it was a yield thing, and definitely not intended for general use ;) > This makes you wonder if IBM/Sony/Toshiba hit a wall while trying to scale Cell further, so Sony had no option but to get help from a graphics company. Interviews from early 2nd party developers confirm this: https://www.ign.com/articles/2013/10/08/playstation-3-was-de https://www.ign.com/articles/2013/10/08/playstation-3-was-de... That's also why the PS3 has two separate RAM, compared to the xbox 360's unified memory - Sony was trying to do that as well. > HDMI connector idk if anyone remembers this, but sony was talking about multi display gaming, such as having a status display. There was a prototype that had two hdmi ports and three ethernet - sony claimed it would also be a home server and router at that time. devkits did include two hdmi ports, and i suspect that the two screen claim was something that they made up almost on the spot, but who knows. https://commons.wikimedia.org/wiki/File:PS3_e3_2005_prototype_AV_out.jpg https://commons.wikimedia.org/wiki/File:PS3_e3_2005_prototyp...
- sbierwagen 5y ago>https://www.ign.com/articles/2013/10/08/playstation-3-was-de https://www.ign.com/articles/2013/10/08/playstation-3-was-de Truncated URL. Was it copied from another comment?
- jt_thurs_82 5y agohttps://www.ign.com/articles/2013/10/08/playstation-3-was-delayed-originally-planned-for-2005 https://www.ign.com/articles/2013/10/08/playstation-3-was-de... my bad
- deleted 5y ago[deleted]
- sydthrowaway 5y agoLove this. Any good books on HW architecture at this level?
- pixiemagic 5y agoThere are some things mentioned in "Supporting readings" from that site. I can't vouch for them, but perhaps they're of interest: https://www.copetti.org/writings/consoles/materials/readings/ https://www.copetti.org/writings/consoles/materials/readings...
- atgreen 5y agoBrings back memories. I worked on tools for the PS2, and I have vivid memories of SCEI disclosing their PS3 plans in 2000; how it would be Power-based and that IBM would be doing all of the tools work for free. Bah. In the end it worked out because IBM bought our company for $34B.
- djmips 5y agoInteresting, so you worked on the PS2 TOOL (IE PS2 dev system kits)? What was that like?
- atgreen 5y agoI worked for Cygnus (acquired by Red Hat (acquired by IBM)), who was contracted for the GNU toolchain for the PS2 (and simulator). I wasn't working on the toolchain code itself, but worked with our hackers to scope the work, wrote SOWs and negotiated with Sony. I loved that period of time, as I got to travel to Japan a lot (for SONY and our other Japanese customers), and I loved the people, culture and food there. Also, that's when I grew an appreciation for masking up when sick!