1. 16

  2. 6

    The branding history is more complex. Originally there was POWER, a proprietary IBM ISA. The AIM (Apple, IBM, Motorola) alliance then created PowerPC as a reaction to the winter duopoly. PowerPC was a superset of a large subset of POWER and it was possible to target the common subset. Later POWER chips implemented the PowerPC bits and so POWER cores were PowerPC implementations. IBM then tried to relaunch PowerPC as an ‘open source’ ISA (though without telling anyone what the license conditions were) via OpenPOWER. This initiative is now dead and IBM is using the POWER branding (presumably because they own the trademarks outright).

    1. 4

      You’re thinking of Power.org, not OpenPower. The efforts with Power.org have been largely replaced by OpenPOWER. OpenPOWER is still extant and is thriving under stewardship of the Linux Foundation, and the Power ISA is still open source.

      1. 3

        Do you know if anyone besides IBM and maybe some embedded/military/automotive people actually manufacture Power chips? IIRC part of the success of RISC-V is that the RISC-V foundation has a patent pool of the “use what you want for free as long as you don’t sue other members” variety, and I’m wondering if the Power ISA lacks such a thing and that might be a reason not many people seem to build new hardware with it.

        On the other hand, SPARC is also open source (or at least a large subset of it is?), and outside some CPU design classes I haven’t heard of anyone making third-party implementations of that either, so idk.

        1. 4

          IIRC part of the success of RISC-V is that the RISC-V foundation has a patent pool of the “use what you want for free as long as you don’t sue other members” variety

          No it doesn’t, this is one of the big problems for trying to adopt RISC-V. Arm has a pool like this. The biggest problem when we evaluated building POWER chips was that IBM wouldn’t even tell you the license terms early on and then it turned out that ‘open source’ didn’t mean anything useful (I am not a lawyer, talk to a lawyer before building POWER chips).

          SPARC is open and Sun even open sourced the RTL for the T1, but it’s a pretty simple ISA that has a lot missing relative to modern ones. The Leon cores were a good example of alternate implementations here.

          The real problem is that designing a good ISA is very hard, building a software ecosystem around one is even harder.

          1. 1

            Simple is relative.

            The SPARC ISA requires the runtime environment to provide a quad float implementation, since it is optional to implement. Since it is optional, there are no known hardware implementations of it. (At least, there wasn’t in 2017 when I looked into this.)

            The SPARC ISA’s memory barriers and threading primitives are also significantly more complex to write against than Power’s, Arm’s, or even x86’s, in my experience.

            It’s a decent ISA for what it is, and some of the cores Fujitsu and Sunacle were able to make were truly ahead of their time. It’s probably my next target when I have Linux on Power shored up to my satisfaction, since I think the community would be well-served by multiple open ISAs, too. But as a low-level systems programmer, I hesitate to call it “simple”.

            1. 1

              “Simple” here was clearly used to mean “simple to implement”, not “easy to write against”, right? It doesn’t surprise me one bit that an ISA that’s simple to implement is harder to write software for.

            2. 1

              I misremembered then, thanks.

              1. 1

                How long ago was that? You’ve now got open designs like A2I, A2O and Microwatt, all either blessed by IBM and/or maintained by IBM engineers.

              2. 2

                Arctic Tern is Raptor’s ECP5 implementation of Microwatt, a Power9-based core. libre-SOC pivoted from RISC-V to Power, though they aren’t at manufacture yet.

                I think one issue that a lot of people may not fully grasp is that the Power ISA was only open sourced in 2019. That sounds like a long time in the software world, but it’s not very long at all in the hardware world. The fact that I could find these two projects easily is somewhat notable and in my opinion shows the pent-up demand in this space for an ISA that is already well-established (like Arm) while also being open.

                1. 1

                  I think one issue that a lot of people may not fully grasp is that the Power ISA was only open sourced in 2019.

                  My scepticism comes from the fact that IBM claimed it was open source before then, but hid the license terms behind an NDA. What does open source mean to them now? Do I get a license to all IBM patents required for a high-performance implementation? Can I add custom instructions? Can I remove instructions that I don’t like and emulate them in the kernel or firmware? Can I recycle opcodes from things like BCD instructions if I know I won’t need them in my target market? Under what conditions can I call my chip a POWER implementation? What rights does IBM get to any extensions that I add.

                  With their previous license terms, I think that every single one of those questions had an answer that made me sad.

                  1. 1

                    I am not speaking from experience, only from my limited knowledge, so please do not take this as any sort of official statement on the matter:

                    Can I add custom instructions?

                    Yes, as libre-SOC is doing just that.

                    Can I recycle opcodes from things like BCD instructions if I know I won’t need them in my target market?

                    I do not believe that would be conformant.

                    Can I remove instructions that I don’t like and emulate them in the kernel or firmware? Under what conditions can I call my chip a POWER implementation?

                    Somewhat, as there are optional instructions. There is a baseline ISA that you have to conform to in order to use the Power name/trademark. I believe that the SFS/SFFS allow you to remove VSX entirely, for instance.

                    1. 2

                      Thanks, that sounds like the situation is much improved.

            3. 1

              the winter duopoly

              I like it!

              1. 1

                Ugh, stupid iPad autocomplete. I’m going to leave it though, it has a nice ring.

                1. 2

                  winter duopoly.

                  I was going to ask but I think it’s clear you meant Wintel – right?

                  If so, I’d query that.

                  Apple was evaluating Motorola 88000, but it decided the changes didn’t look good.

                  (It was right: it was used in Data General Aviion workstations and servers, of which only Clariion storage survived I think, and the original BeBox… And I believe it’s the CPU architecture which specifically inspired the Dis VM inside the Inferno kernel. But otherwise, it died young.)

                  Apple wanted a more mainstream RISC arch than 88000, and pressured Motorola into cooperating, and the partner they got was IBM.

                  AIUI Apple wanted to move from 680x0 and found 88000 wanting, so it made an inexpensive single-chip POWER. That is the basic story.

                  Apple’s platform in general could be seen as a response to Wintel, but the Mac inherited the platform basis from the Lisa, and the Lisa predates MS Windows and was not long after the IBM PC itself… so I think describing it as a response to Wintel is, well, wildly inaccurate… no?

                  1. 2

                    Apple saw m68k slipping behind and wanted something better. They evaluated a few things, but saw PCs beating them on economies of scale, so they needed something that other companies were using (m68k had been popular with other manufacturers before then). IBM saw the commoditization of the PC market hurting their traditional businesses. Only two companies had high margins for things going into commodity PCs: Intel and Microsoft. Their plans to reclaim this were OS/2 and PowerPC, where the OS and CPU in IBM PCs would be first-party components. At the same time, they saw Intel chips as a longer-term threat to the workstation and server markets and wanted to unify some of their lines and gain economies of scale. Motorola wanted to keep Apple as a customer and also keep all of their embedded customers happy and saw some customers moving elsewhere rather than to a new Motorola ISA, so they wanted something with a second source that wasn’t interested in their core markets.

                    All of the press releases that the AIM group released were squarely focused on why PowerPC was better than x86 and especially about how it would be usable for everything from cheap PCs to expensive workstations and servers. They managed to persuade MS to do a half-arsed port of NT to PowerPC, but IBM’s vision of PCs with PowerPC chips and OS/2 displacing x86 + Windows, competing on price, but the largest slice of the revenue going to IBM, never materialised. Apple’s vision was that PowerPC would be so fast that they could run emulated Windows and everyone would just buy a Mac and run Mac and Windows software, discover the Mac was better and never go back, and they’d displace Compaq as the largest home computer vendor. This also failed to materialise. Motorola’s vision of PowerPC dominating automotive and a bunch of other embedded markets did come to pass, though it never seemed to make them as much money as they expected.

                    1. 1

                      That is not how I remember the press coverage going at the time at all, but hey, it was indeed the obvious big competition. I always considered Workplace OS/2 almost an afterthought, but a very serious amount of R&D must have gone into it.

                      1. 1

                        emulated Windows

                        I certainly didn’t have insider access to Apple in the 1990s, but I was an adolescent at the time the PPC switchover took place and I remember being absolutely enthralled with the idea of the 7200/120 PC Compatible. The main selling point of this expensive piece of forward-looking hardware was that it was both a PowerPC 601 and a Pentium 100. This is somewhat similar to how early PlayStation 3 consoles have an entire PlayStation 2 on the board so that compatibility is “perfect”, or how the Nintendo 3DS has an ARM9 that it boots off of just to have DS/DSi compatibility.

                        I don’t see anyone at Apple believing that the 601 could replace a Windows PC for Windows workloads on emulation alone. I mean, SoftPC and SoftWindows existed for the 68k, and I’m sure Apple were working with Insignia on the PowerPC version early in the hardware development cycle. Of course, by 1995 you already have a lot of business titles like Word, Excel, QuickBooks, AutoCAD, etc on Mac, so businesses could (and did) consider Apple. The problem was the home market, and I don’t know that most home users would have been able to use – let alone afford – SoftWindows.

                        I’d be fascinated to read any contemporary sources that dive into this.

              2. 3

                For POWER9 you don’t need to use the bcl 20,31,.+4 and mflr business anymore because it adds lnia/addpcis, which get you the PC value directly. I’d write for that instead of having “pld” and “everything else,” since lnia/addpcis works on Power10 also, and benefits a lot more systems.