On Tuesday 12. May 2020 19.20.37 Christopher Havel wrote:
Forgive me for asking, because I didn't quite pass the requisite fervency test to be enrolled in the Joint OSHW-F|L|OSS Technical Militia ( :P ), but remind me, please, of a couple things, if I may ask them...?
I can try and provide some suggestions, but I'm sure Luke can give you plenty of additional insight.
(1) Why are there none of these OSHW devices using existing x86-compatible CPUs/SoCs?
I can think of a few reasons, some mundane and some more important for open source hardware.
One mundane but practical reason might be that there is a degree of additional complexity in board design and assembly with x86(-64) products. Looking at recent AMD products where the socket support has been fairly stable, the actual CPUs seem to have large numbers of pins. If the CPUs are actually socketed, maybe the techniques involved are less demanding than having to mount the CPUs directly on the boards, but then I can still imagine that the engineering isn't going to be easy.
For lower-power products, things like the embedded Ryzen stuff uses a different socket type (FP5) to normal Ryzen (AM4) - even the GE variants of normal Ryzen - and for some products I get the impression that the "socket" is just an indicator of the footprint and not an actual socket where you would be able to swap out the CPUs, but I could be wrong. And this is just AMD: Intel seem to change "socket" types all the time which would make everything more complicated and demanding. It isn't a surprise that there are just a handful of major mainboard vendors presumably having deep relationships to AMD and Intel.
For open source hardware, it is also potentially interesting to make low-power products, and here the power consumption of x86(-64) seems rather high. At the lower end, Intel seem to offer Atom-branded and Pentium-branded products that consume a few watts and seem to be based on relatively modern microarchitectures, and they did try to make embedded CPUs based on earlier microarchitectures - Quark, I think it was - that didn't catch on.
There is also a strong temptation to drop the x86 legacy altogether when you are not strongly invested in it. My impression is that SoCs for other architectures provide a degree of freedom from that legacy at the cost of a lack of standardisation. But it also means that there is a certain potential to avoid the more recent undesirable aspects of BIOS-related technologies, although there are x86-64-based laptops being sold that supposedly address such issues (in certain regards) and that are promoted as being friendly to Free Software even if they are not actually open source hardware as well.
(2a) Are there any meaningful barriers to creating an OSHW-compatible x86 CPU/SoC, independent of major chip houses (Intel, AMD) or established niche players (VIA, etc)?
Yes: patents. VIA only got away with releasing x86-compatible products because of some ancient agreement, as far as I remember, and Intel has been rather aggressive in preventing new entrants getting into the market. The histories of various companies passing through the x86 market are quite interesting: Cyrix, NexGen, National Semiconductor, IBM, Transmeta, and so on. Many of the alternative x86 implementations seem to have ended up at AMD over the years.
(2b) I've heard noises of a homegrown sort of effort out of China, from a company and fab house over there... could that CPU be considered as an acceptable candidate for such an effirt, and if not, why...? (I assume not, and because "China!", but I'm wide open here.)
I think I heard something of the sort, too. There is nothing to stop anyone from making their own x86(-64) implementation technically, and we must be at the stage where a fair amount of the x86 architecture is not patent encumbered. Then again, there are plenty of other architectures that are a lot more interesting and performant than old-style x86.
That brings us to another pertinent point about modern x86-64 CPUs: the performance presumably comes from the microarchitecture that is effectively internal and specific to each of the big players' products (things like Core and Zen). Seeking to compete with existing x86 products would involve a colossal amount of work replicating what they have managed to do with those microarchitecture efforts.
Well, those were just a few ideas, some more credible than others.
Paul