Can We Replace Intel x86 With an Open Source Chip? (zdnet.com)
An anonymous reader quotes Jason Perlow, the senior technology editor at ZDNet:
Perhaps the Meltdown and Spectre bugs are the impetus for making long-overdue changes to the core DNA of the semiconductor industry and how chip architectures are designed... Linux (and other related FOSS tech that forms the overall stack) is now a mainstream operating system that forms the basis of public cloud infrastructure and the foundational software technology in mobile and Internet of Things (IoT)... We need to develop a modern equivalent of an OpenSPARC that any processor foundry can build upon without licensing of IP, in order to drive down the costs of building microprocessors at immense scale for the cloud, for mobile and the IoT. It makes the $200 smartphone as well as hyperscale datacenter lifecycle management that much more viable and cost-effective.
Just as Linux and open source transformed how we view operating systems and application software, we need the equivalent for microprocessors in order to move out of the private datacenter rife with these legacy issues and into the green field of the cloud... The fact that we have these software technologies that now enable us to easily abstract from the chip hardware enables us to correct and improve the chips through community efforts as needs arise... We need to stop thinking about microprocessor systems' architectures as these licensed things that are developed in secrecy by mega-companies like Intel or AMD or even ARM... The reality is that we now need to create something new, free from any legacy entities and baggage that has been driving the industry and dragging it down the past 40 years. Just as was done with Linux.
The bigger question is which chip should take its place. "I don't see ARM donating its IP to this effort, and I think OpenSPARC may not be it either. Perhaps IBM OpenPOWER? It would certainly be a nice gesture of Big Blue to open their specification up further without any additional licensing, and it would help to maintain and establish the company's relevancy in the cloud going forward.
"RISC-V, which is being developed by UC Berkeley, is completely Open Source."
Just as Linux and open source transformed how we view operating systems and application software, we need the equivalent for microprocessors in order to move out of the private datacenter rife with these legacy issues and into the green field of the cloud... The fact that we have these software technologies that now enable us to easily abstract from the chip hardware enables us to correct and improve the chips through community efforts as needs arise... We need to stop thinking about microprocessor systems' architectures as these licensed things that are developed in secrecy by mega-companies like Intel or AMD or even ARM... The reality is that we now need to create something new, free from any legacy entities and baggage that has been driving the industry and dragging it down the past 40 years. Just as was done with Linux.
The bigger question is which chip should take its place. "I don't see ARM donating its IP to this effort, and I think OpenSPARC may not be it either. Perhaps IBM OpenPOWER? It would certainly be a nice gesture of Big Blue to open their specification up further without any additional licensing, and it would help to maintain and establish the company's relevancy in the cloud going forward.
"RISC-V, which is being developed by UC Berkeley, is completely Open Source."
No
No.
"You want to know how to help your kids? Leave them the fuck alone." -George Carlin
Didnt take much engineering effort or money to develop modern intel processors - this should be easy to do.
OpenSPARC is open source, the entire reason for the existence of that word was to brand Sun's open-source SPARC project. So, given it's a relatively mature and respected design, you could definitely use OpenSPARC as the basis of an open source CPU design.
The question is really whether the OS hardware community is actually likely to produce something comparable to Intel or AMD, even given a start with the SPARC design. I... don't want to say it's impossible, but it certainly seems somewhat more difficult than producing a better operating system than Microsoft can.
You are not alone. This is not normal. None of this is normal.
What version of DOS would you like to run on it?
you must be
The onboard L1 L2 cache designs alone would take years of effort to produce fully custom, multi-GHz physical designs. This effort isn't about writing some pretty Verilog/VHDL.
Being open source doesn't magically prevent bugs from reaching the silicon stage of a chip's design, nor does it make it any easier to fix bugs baked into a completed design. There are only so many people in the world smart enough to even fully understand modern superscalar designs let alone contribute usefully to it.
Yes, look at IBM's Power9-based Talos Workstation. It has open firmware, open microcode, open BMC firmware so pretty much all of it is auditable. Is it secure? Who knows...
The downside is obviously the price.
Repositories:
https://git.raptorcs.com/git/
https://github.com/open-power
https://github.com/openbmc
Figure out some way to fund the billions in development costs, legal/IP issues and marshal the necessary talent then maybe... Of course, there is no reason to believe the result would be any better: RISC-V memory model has severe problems due to underspecified memory ordering that were revealed by formal testing and are still being resolved. Perhaps this is an example of an open process working well, but just throwing out RISC-V doesn't guarantee a bug free design.
Not every semiconductor foundry can make a modern CPU, you can get your hands on latest i7 IP but only Intel will have the foundry with equipment to make a equivalent chip out of it. When moore's law truly flattens out then rest of the semiconductor manufacturing might catch up and difference between a CPU and CPU will truly be just the IP.
No.
I lean towards "not yet."
The fab cost is too high for a small company to take on. So for now, we are beholden to the Intels, AMDs, ARMs, IBMs, and so on.
There is OpenSPARC, but it lost mindshare to the x86 architecture and is unlikely to be a major player going forward.
I would see an open-source chip dominating if one of the major x86 players got the open-source religion, either because they saw a strategic advantage, or they were forced by other circumstances. But I'm not holding my breath.
If it weren't for deadlines, nothing would be late.
To a reasonable approximation all patents must have been filed before then - as soon as details are published they cannot be patented. Post 1995 lifetime of a patent is 20 years.
So anything 20 years or older must be patent free. I.e. anything before 1998 or so should be fine. Oddly enough that means that the original 386 instruction set is OK. So is MIPS.
SSE etc is not though
Intel published a helpful chart of when each SIMD instruction set was patented
https://arstechnica.com/inform...
Since x64 requires SSE2 which was patented in 2001, there's still a bit of life in x64 patents. Also practically modern x64 and x86 applications probably all use more recent SIMD instruction sets and may not run on a chip which doesn't implement them.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
OpenSSL being open source didnâ(TM)t find or prevent Heartbleed.
An open chip likely wouldnâ(TM)t have affected meltdown or spectre. This wasnâ(TM)t negligence by Intel (as evidenced that some of the recent vulnerabilities were shared by AMD chips on a completely different architecture.
The problem isnâ(TM)t that Intel failed to secure something obvious. Itâ(TM)s that there was a mechanism that everyone knew about, but which all experts thought couldnâ(TM)t be used to extract data. Then someone found a clever technique nobody thought of before that made everyone realize it WAS vulnerable.
Being open wouldnâ(TM)t have prevented the issue. Indeed, the issue was found by third-party researchers who didnâ(TM)t have access to the low level details of the architecture.
Open Source is not a panacea.
we need the equivalent for microprocessors in order to move out of the private datacenter rife with these legacy issues and into the green field of the cloud...
What a fucking retard.
"The Cloud" is nothing but a bunch of private datacenters.
Apparently the position of Senior Technology Editor doesn't require much thinking.
Is it technically possible? Sure, there are already open-source core designs available. All you have to do is come up with the hundreds of thousands of engineers, designers, and manufacturing experts, replicate about 40 years of legacy toolchains from basic compilers to OSes, languages and frameworks, add in a smidgen of semi-conductor factories, testing facilities and packaging support. Oh! Did I mention sales and marketing? Go right-da-fuck ahead!
Linux was incremental. You had the kernel, a command line and things were slowly added to it but even early on you had something people could play with. It's easy to transfer software, it's easy to work on small parts. Hardware is a bit different. Your first open source CPU is going to suck. It will have absolutely no advantage over the existing processors and won't for many years. How are you going to keep a community going with very little tangible to show.
As mentioned, plus a few:
OpenSparc
OpenRisc 1k
RISC-V
J-Core (Hitachi SH replacement now that they are falling out of patent protection.)
opencores.org has a few others, including 486/pentium cores.
However all of these require larger expensive FPGAs to replicate, and even getting your Verilog/VHDL design manufactured on an ASIC, besides the redesign work to avoid implementation issues or improve performance/power efficiency on the process, would cost a non-trivial amount in stencils, wafer cutting, and chip packaging. And that *STILL* leaves you without a chipset.
Having said all this, as I have suggested before:
Socket 7/Super Socket 7 reimplementation with initial boards leveraging SDRAM or DDR, PCI, and if needed, 48 bit LBA IDE. If I/O performance isn't a huge concern for you, these implemented on an iCE40 should be able to reach original bus speeds (25/33/50/66/75/83/100/125/133mhz) easily, provide opportunities for modern security boundaries/performance improvements while still being hardware interface/software compatible with dos/win9x/beos/old unixes/etc, and prove the interest necessary for future manufacturing of full-stack ASIC components necessary to reclaim the clone-PC market from Intel/AMD/VIA, all of whom have shown themselves unwilling to truly compete in a free market, as they proprietary documentation, or code signing initiatives have proven again and again. And yes folks, AMD is just as bad as Intel in this regard, or else we would have unsigned AMD Secure Processors, full chipset documentation, and unsigned GPUs so that when the next round of exploits happens and our hardware turns out to be too old to recieve an official fix, we have the opportunity to attempt our own mitigations instead of realizing our hardware is signed and without the key we are never going to have power-on mitigation capabilities written into our firmware.
I don't see ARM donating its IP to this effort...
I don't imagine Softbank paid $32B for ARM Holdings just so they could give the IP away.
I was just asking about that in a previous thread. So, if MIPS is really unchained by patents etc, then we might have a chance.
“He’s not deformed, he’s just drunk!”
"It would certainly be a nice gesture of Big Blue"
Indeed. Perhaps they could throw in a nice free pony for everybody.
Comment removed based on user account deletion
AMD chips have their own security flaw[1].
Surprising that it hasn't been reported here yet.
It's apparently easier to fix than Intel's.
[1] http://www.theregister.co.uk/2...
A fairly unthoughtful, knee jerk reaction from someone who is clearly no more involved in technology than being a writer.
Bugs happen. Everywhere on every layer. Save your outrage for true malfeasance. Get angry at Feds for storing FS86 forms (the questionnaire for top secret clearance) on OPM servers unencrypted. Get angry at Equifax management for making the conscious, criminally liable decision, of storing PIN of pretty much every US tax payer “in the clear” at rest.
But for bugs that take years or generational development and understanding to discover, it’s unavoidable.
And certainly don’t suggest replacing it with a questionably supportable ecosystem. Linux, despite global usage, outside of a few niche hardcore users has completely failed on the desktop. (I know he didn’t specifically say Linux, but it’s an example of an attempt at global open source) Not a tolerable trajectory for hardware manufacture, let alone one that already represents market majority.
If you really want an Open Source, after-market bug fixes, and security, the best way to do that is to use not a CPU at all but a programmable gate-array. This also gives you the ability to have evolution in purchased hardware, for example improvement of the instruction set. The problem is finding a gate-array that is fast enough, dense enough, and power-conserving enough.
It would be cool to code your own special-purpose algorithm accelerators in VHDL or Verilog, etc.
This is sort of on the edge of practical, if you have the money to spend. Not as fast, not as powerful, uses more electricity, infinitely flexible. Certainly there would be some good research papers, etc., in building one.
Bruce Perens.
Software has the luxury that you can be behind the curve in development and still manage as an alternative. That doesn't work in hardware. If you are late to the game nobody supports you. And people aren't going to spend money making hardware that nobody wants supports.
I know a guy who designed his own CPU for the lulz, implemented on FPGA, if it was any good and he was willing to throw in megabucks he could have ordered it put on silicon too. Not much point in creating few decade old PIC equivalent chips tho. Chip design is not magic and yes people can just up and do it, getting it implemented with modern processes tho is expensive(in the realm of crowdfunding tho) and getting it implemented in bleeding edge Intel processes is basically impossible. But Moore's law is winding down and the gap between what Intel can do and what everyone else can do is reducing.
There is a massive amount of tooling and infrastructure needed to design a modern CPU architecture. Sure, you can start with open designs that are 20 years old, but you'll need to add massive amount of changes around out of order execution, speculative execution (yes, it caused this problem, it's also a critical optimization), cache management and coherency and so on. A lot of this requires highly specialized workers that expect to be paid well for their expertise.
Much better to invest to formal verification research and tools, but that is already happening at all levels from academics to industry.
Why is this even an idea? As an aside: Every major architecture suffered the same type of defect because it is approach that has a major performance impact. Why wouldnâ(TM)t an open source project have the same problem? This defect is so central to the design that it canâ(TM)t be fixed with microcode.
x86 isn't going anywhere and too much manpower has been spent perfecting compilers, interpreters and OSs on it and the superscalar/ooe/pipelining below it. The cost of implementing any new ISA, even if open source, would simply be too much compared to an equivalent x86 chip and it still wouldn't perform as well. It would become another costly walled garden. A better idea would probably be to create an open-source x86 chip, i.e. open source the microcode and all the architecture below the ISA. It could be a community designed processor, a publicly available VHDL/verilog/whatever file that anyone with a silicon wafer etching machine in their backyard could print for themselves. Cheap chinese manufacturing would make the processor easily available to everyone, and it would be plug-in replaceable for intel/amd chips. It would probably make Intel and AMD both charge less for their IP and bring prices down all around.
Successful companies probably are. The problem is Zdnet editors haven't gone through the purifying fire of the free market and thus haven't been cleansed of their impurities, like ore in a blast furnace being converted to steel.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
I'm one of the 'kooks' who has been ranting and raving about both Intel ME and AMD's PSP/Secure Processor implementations for years now (AMD's dates to the FM2 or FM2+ era hardware, although finding out exact versions and whether those versions are actually correctly documented has been non-trivial.) Hint for you: Signed firmware with a separate processor, full memory access and privileges on your system above supervisor level. Both of those implementations allow the sort of damage possible with meltdown without any way for a user to mitigate them, allow other serious dangers like providing an identification code for the cpu/motherboard (lots of other components of a modern system have software visible serial numbers now, which sadly people don't consider a threat despite all that CPUID concern back in the late 90s/early '00s with the Pentium 3 was it?)
Without a system devoid of userspace accessable serial numbers and a out of band management system securable by the administrator or end-user which can provide that polling when necessary, we cannot consider our hardware either trustworthy or more importantly, pseudo-anonymous anywhere where are and anything we do. While it might not have yet been used publicly for a conviction, the time when it will be is rapidly coming, and every application you run may be the one that will leak all that information and tie it to your real life persona (thanks to all those serials being tied to the purchases you made on your credit card, or via a paper with your name on it at a store, like microcenter, or fry's, or best buy...)
There are multiple facets of danger people need to be made aware of, but I fear, outside of us techies, that it is already too late.
Is no one going to mention RISC-V?
The real "Libtards" are the Libertarians!
Thank you for this vast work of erudition, anonymous moron.
Someday, perhaps, when you are a pre-adolescent, you may aquire somewhat more knowledge of computers, though probably not enough to make you top-heavy. At that time, you may hear of a miraculous device called a gate-array which makes it possible to craft a running CPU similarly to the way that programmers write software. With this device, someone of greater skill than you will put together a computer that might not be as fast as you like, and might not have as many transistors as you like, and might use more power than you like, but will be capable of running an Open Source CPU with a known-bitstream so that the chance of there being nasties that we're not told about that spy on us built into the CPU die is reduced from today's horrible state (gate-arrays can still have them, but the people who make these nasties don't know in advance where we put the CPU implementation).
The instruction set and currently-fixed hardware features like the MMU and the translation look-aside buffer (a feature implicated today) will be repairable by changing the bitstream.
This will never be as efficient as a fully-custom chip, but it can be good enough. Many of us will be happier using it. And for those of us who require algorithm acceleration (hopefully for better reasons than mining cryptocoins, but that is one example) it will be possible to code it into the system and get the advantages of a hardware implementation without it being so hard.
Bruce Perens.
TL;DR No, you can not replace X86, AMD64, Power, Sparc, MIPS and ARM with a FOSS design.
openSparc, openPower, MIPS-V?
Those have opened the 'ISA', but NOT the design, so you have to design your microprocessor from scratch.
ARM? MIPS? You can get the full design, if you pay. Or you can pay for rights to the ISA, and design everything from scratch.
Designing a somewhat modern microprocesor is hard enough, even if you already have the ISA, and the beast is cruft free (64 or 128 bits from the get go, without being "somewhat compatible with everything dating back to the 8080").
If, on top of that you need to make it as fast in the datacenter as X86, AMD64, Power or Sparc. Or, if you have to make it as power-saving as ARM or RISC on mobile and IoT, well, that's a mighty struggle (it took Apple, using ARM's bootstrap several YEARS to get a good design of the ground).
Here you do not have the source code (in Verilog or VHDL) of other microprocessors to study, inspire and bootstrap the stuff, like one had the Soruce Code of AT&T SystemV , BSD, and Minix (please notice that I said Bootstrap, not copy, I am very clear that Linus developed his baby on his own), nor a pool of drop-down replacement modules like in GNU, and there are orders of magnitude fewer people that understand hardware AND microprocessor design, than the people that can contribute to software design (even if we compare only to Kernel, Drivers and Compilers only, and not to Software as a general category).
So no. The only chance is if you can get a big sponsor for the initiative (Like IBM at the time was with Linux, only MUCH, MUCH bigger). Probably one or more nation-states. Perhaps the BRICS. One can dream, but at the end of the day, no, nope.
Sorry for us all, me included.
*** Suerte a todos y Feliz dia!
as ubiquitous as Arm is in the embedded market, it still remains a non-player in the productivity consumer and desktop arena. Why no standard form factor MBs with Arm or MIPS that could be popped into a standard case or rack. I'm not talking about $10,000 high end "solutions". I'm talking buisiness, SOHO, and consumer pricing.
You realize some chromebooks run ARM?
And that they are running the Linux kernel?
And that it is possible to install Desktop Linux to those chromebooks if the owner chooses to?
Designing bug free hardware that is extremely fast and efficient is so easy i'm surprised people aren't already building this stuff in their kitchen in their spare time. It's not in Intel's interests to make hardware with bugs. Unless it comes out that they were grossly negligent or were working with the NSA, i think this just falls into one of those unfortunate categories. Besides every few years people need to buy new CPUs anyways, so the problem will resolve itself, just in time for another issue to make its appearance.
Scott
It's not surprising that someone who doesn't seem to know that "the cloud" *is* private data centers also knows nothing of IC fab.
Warning: This signature may offend some viewers.
What socket will this ' free fantasy CPU' use? What chipset will it use? Are we talking about a volunteer clone effort to reverse-engineer the X86 processors, or something wholly new, so that we require new drivers, OS, BIOS, etc?
Only by being ignorant of what's involved can someone make such a proposition.
This is really an over-sized reaction to a minor problem that will be resolved in the next generation of silicon from every chipmaker.
Ken
lol and a power hungry slow piece of crap. whatever happened to them? oh yah.....
Scott
The comment above mine said, "While I don't think your post should have been modded down, it is unnecessarily rude."
Bruce, I agree with that comment. Don't act out anger.
Another quote from the comment above mine: "I doubt that open source hardware would prevent hardware bugs, but it would provide a way of avoiding backdoors that are intentionally placed. You're absolutely right in that respect."
The possibility of backdoors may cause Intel to go bankrupt. How can Intel be re-organized so that it can stay in business?
Previous comments about this issue:
Intel news stories (April 17, 2017)
Articles about spyware in CPUs (June 18, 2017)
"ME is turning into a colossal dumpster fire." (December 10, 2017)
In more than 11 years, I haven't seen anything like full awareness by other people of the fact that Intel is badly managed. To me, the fact that Intel has provided forced secret access to its hardware, later found to have vulnerabilities, is a tragedy for Intel, the United States, and the world.
I mentioned that in another comment to a Slashdot story: FREE BOOK about the Intel Management Engine. Part of what I said: "A Slashdot comment of mine from 11 1/2 years ago: More Intel employees should say in public what they have told me in private: Intel CEO Paul Otellini is not a competent leader. He lacks social ability. (June 09, 2006)"
Otellini is no longer the CEO of Intel. The present management does not seem much better. For example, Intel advertising is wacky, in my opinion. I got an email message from Intel on December 18, 2017 ago that says: "Final call for awesome prizes -- train now or miss out". I don't need "awesome prizes". I need excellent technology and excellent, reliable explanation of Intel's technology.
Again, very important: Intel needs better management. Intel surviving and thriving would be good for the entire world, IMO.
Comment removed based on user account deletion
"The reality is that we now need to create something new, free from any legacy entities and baggage that has been driving the industry and dragging it down the past 40 years. Just as was done with Linux."
For Linux you just needed a copy of gcc. Chip design and fabrication requires just a weee bit more.
then in my opinion, the next generation of CPUs should have re-programmable gate logic. Kinda like how FPGA works, but significantly faster and on a massive scale. Just imagine the kind of power you'd get if the OS switches large areas on the silicon to fit certain tasks. When you play games or do some massive 3D work, the CPU would be reprogrammed for that task. When you want to mine crypto or do some massive encryption/decryption/compression/decompression, the CPU would be reprogrammed accordingly.
All those moments will be lost in time, like tears in rain... time... to... die...
It's too bad the project at Sun to produce an asynchronous CPU was cancelled; that seemed like an interesting path. I wonder if anyone else if experimenting with that now.
Intel have poured literally billions of dollars into R&D of their products for decades to get to where they are now.
I know there's a lot of clever people out there, but I'd be amazed if the open source community could ever catch up then stay with whatever Intel's current CPUs are for features and performance.
Before you design a core, you need to specify an assembly-language instruction set. Here is one, with main features of 64-bit addressing and 128-bit data-processing registers (and 128 bits of data at every single address, instead of 8), which was declared Public Domain (last paragraph) back in 2001. Ahead of its time, it is now easily possible to build, and perhaps, because of progress in inventing new instructions since that time, should be upgraded to 256-bit data-processing (while still using 64-bit addressing, because we can expect to not need more than that for a couple more decades). Enjoy!
It looks great!
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
And even if we had an open source CPU, the fix wouldn't be any faster: the "bug" (actually design issue) that has been existing for 20 years, is based on having as much speed as possible, while keeping data safe (data is not "retired" if it's not supposed to be seen by the user). And that work(ed) well. These new attacks based on the time taken by the CPU to load some data into the cache, or not if it's there already, are subtle, really clever, and the fix at the CPU level requires a lot of deep changes.
Slashdot, fix the reply notifications... You won't get away with it...
Conversion really is not that hard.
For every problem, there is at least one solution that is simple, neat, and wrong.
Sure. But if a cpu costed 50 bucks then you'd ready to replace it with a fixed one.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
No?
I've fallen off your lawn, and I can't get up.
Intel tried to kill x86 four times, to varying degrees: First the iAPX 432, then the i960, then i860, and most recently with the Itanic.
MS Windows NT tried become a popular option on PowerPC, MIPS, and DEC Alpha, because MS didn't want to be so heavily reliant on Intel. It ended up being forced to stick with x86 (Itanic doesn't count).
Intel will soon begin pumping out x86 CPUs that aren't vulnerable to Meltdown or Spectre.
Trying to create what is essentially a new and unique system architecture, for general-purpose users, is a dead end. Who's going to make the chipsets, much less the mobos?
Slashdot: Playing Favorites Since 1997
At least some of the complexity of these modern CPUs seems to be in their hardware-implemented on-the-fly code optimization. If more of that could be done by the compiler or runtime software (maybe creating CPU designs that are especially amenable to that kind of outside assistance) then maybe the CPUs could afford to be simpler
By the same token, memory technology seems to me to be overdue for a breakthrough that would improve speed
Maybe there are some ways to reduce CPU complexity by shifting the burden of mitigating sub-optimal instruction sequencing and slow memory to the point where today's hyper expensive, top-end FPGAs would be up to the job, and then drive the volume to bring down the cost and spur FPGA innovation.
An open source CPU shouldn't try to beat intel at its own game, it should change the playing field
Nullius in verba
We used to have a lot of Motorola, but now that Intel dominates the market, most processors are little-endian. Not a defined standard (why would we make one), but a kind of standard by popularity.
Slashdot, fix the reply notifications... You won't get away with it...
You might want to read all the stuff about Meltdown!
The MMU is supposed to keep each thread's data private
Sent from my ASR33 using ASCII
The requirements of the kernel and scheduler are largely different than the requirements of the main processing cores/threads of a CPU.
Giving the scheduler its own die/core/silicon would allow it to have cpu-reflection primitives so it can make more informed decisions, and the benefits of not having an interrupt come along and stomp your cache/bus states would help high-perf apps a lot.
Think about a big-data or finance linux server architecture for a moment. You have these finely-crafted, high-perf processes burning cpu threads to try and process expensive data loads and, when you paw thru the code, you find lots of repetition of scheduling and system reflection for self tuning, because the operating system does such a terrible job of scheduling once you stop pretending it's a 386 system.
You need a lot more insight into CPU state to be able to determine whether super-massively tuned, false-cache-avoiding, cache-warming super-app or "tail -f" would be worst affected by swapping it with a bash process or syslogd or ...
Providing some dedicated kernel silicon would (eventually) be massively advantageous. Initially for virtualization and containerization, but ultimately (if you think it through) having the bulk of the kernel or it's facilities on separate silicon would have huge benefits.
-- A change is as good as a reboot.
It's not the fab costs, it's the ecosystem costs. Getting an OS and a C compiler working with a new ISA is fairly expensive. Getting them working and optimised is more expensive. Now add in tools like debuggers, valgrind, and so on that all have large architecture-dependent aprts. Add in all of the other languages (Java, JavaScript, and so on) that people care about having high-performance JITs for and it's even more. The RISC-V team conservatively estimates the cost of recreating the ARM software ecosystem at $1bn (ARM estimates it at about double that, the reality is probably somewhere in the middle). You can design and fab a small run of chips for a few tens of millions, which is cheap in comparison.
I am TheRaven on Soylent News
Yup.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Loongson has targeted cheap - now is the opportunity to go up market by the targeting secure and open source markets.
MIPS is basically a good architecture, and Lenovo has a good grip on how to do volume and quality.
Secure, Open source, Volume and Quality markets: they surely should get volume from that while Intel is out of the running - and even when Intel do produce a CPU that is slightly secure, they still have the ME and trust issues! It might be a big window of opportunity - And Lenovo buying Chinese and selling in the west should be politically supported and cheap.
We have to hope that they understand NOT to go cheap on this - the cheap market won't care about quality, and will want spyware^H^H^H^H^HWindows. I normally use OpenBSD, but would try Octane if it was available - I know other people who like it.
Sent from my ASR33 using ASCII
Unfortunately what you'll end up with are dozens of incompatible CPUs and never ending holy wars that get in the way of getting work done.
It is rather trivial to make a processor which can run up to, say, 500 MHz. Above that, things start to become more complicated. When Intel was getting close to 1 GHz, they actually had to throw out digital designers and get guys in who understood analoog, for the simple reason you can't get there with simple digital synthesis tools alone any more. So, the answer is no, unless you want a Pentium 3.
You can't create an open source x64 chip because you would need to license the instruction sets (x86, SSE, x86_64, ...) from Intel and AMD, as they have cross licensed them from each other.
The best way to approach it would be to create a new processor (along with motherboard because it would need a new socket) running it's own instruction set. Then have the open source operating systems move over and use virtual machines to run Windows, Mac, etc. Even better would be to build something like Rosetta from Apple when they moved from PowerPC to Intel which ran the apps seamlessly together.
No - mostly we need illegal accesses to kernel mode memory to hare the result substituted with a value like 0xf00l like used to be done in the old days, and for a hardware signal to purge all speculative results during the "retire" instead of a allowing them to hang around.
I suspect that careful investigation will result in a few more cache refreshes, and pipeline flushing than we have now - but it won't cost more than 1% of performance, and will be a permanent fix for these problems.
Hopefully, people have learned that you need to check for security breaches even when you think the change is "more of the same".
Sent from my ASR33 using ASCII
May I assume this variant has exactly the same Meltdown/Spectre-type issues as Intel has with x86 ?
I believe that BOOM is vulnerable to at least some of the variants of Spectre, though I'm not 100% sure. If it doesn't allow speculative execution to fill cache lines (no idea if it does), then it will be harder to exploit. Meltdown specifically requires speculative execution across software interrupts / system calls and I don't know if BOOM does this.
In hindsight, the fact that this kind of speculative execution is a high-bandwidth side channel is not a surprise. A few years ago, I was talking to some of the Apple folk, who found that the new version of their ARM core was much slower on one of their hot paths. It turned out that the old version was speculatively executing the wrong path and causing some data to be faulted into L1 from main memory. The speculated instructions were then quickly cancelled, but the data was in L1 for when they did need it a couple of hundred cycles later. The new core improved the branch predictor, so they weren't taking a small penalty from the mispredicted branch and were instead taking a large penalty from the cache miss later on. Once they figured this out, they could insert a prefetch instruction, but the fact that performance of a later bit of code varied so much based on speculative execution should have been a clue that there were side channels here.
Then what is the advantage ?
Of RISC-V? That there are an increasing number of competing implementations and, because a lot of them are open source, they can cooperate on common components.
I am TheRaven on Soylent News
Proof of correctness is elusive, because it first requires that you specify what 'correctness' means. Processors vulnerable to this would have passed formal verification until recently, because processor vendors explicitly did not consider side channels to be easily exploitable. Now people are scrambling to add things like 'speculative execution must not change any observable aspects of microarchitectural state' to their specs. That's easy to write in English, but defining what 'observable aspects of microarchitectural state' are in a formal specification is really hard (particularly given that temporal aspects are really hard to talk about at all in most existing specification languages). That said, I'm collaborating with a group that is working on some of this.
seL4 (not L4) is actually a really good example. It was about 6 hours between the release of the formally verified microkernel and the first exploit being released. The implementation was correct with regard to the specification, but the specification didn't account for everything. It's worth remembering that Goedel's Incompleteness Theorem basically tells you that this kind of verification is impossible: a sufficiently detailed specification of what 'correct' means will, for any nontrivial system, be more complex than the implementation and must itself be correct for the proof to be useful.
I am TheRaven on Soylent News
Written by a dreamer for dreamers. My take on it is they're looking for something other than x86 and x86_64 that's cheap for anyone to use. Well since even IBM's Power systems (I don't recall which models) are susceptible to Specter, jumping architectures won't prevent things like this happening.
I think I understand what they're going for with being able to quickly fix these design flaws when they're revealed, but methinks they don't have any understanding what so ever of how these things are developed and manufactured or that once the chip is made it can't be altered. Sure there are some advantages to being able to jump architectures since some architectures are better for different jobs, but for general computing nothing's been able to topple the x86/x86_64 dynasty (for one reason or another). Not even Intel could do it and you need to license the instruction sets from them! If they couldn't beat their own platform....good luck.
Also, design flaws like these don't break a system. The systems are already up and running and have been running pretty well with them for over a decade. When the new chips come out without the flaw, software designers will be able to speed things back up again. It's not like other flaws that cause miscalculations or fried CPUs.
That said, it must be nice to dream.
I often feel like we've designed ourselves into a corner. Or rather, the Jevons paradox allowed us to do that to ourselves. When cranking out gates and lines of codes became extremely cheap, we've taken it as a blank check to create whole systems that are very difficult to fix, duplicate or replace.
Ezekiel 23:20
We do need to move to RISC V, the question is how.
The easiest way I see is to convince Apple, or Samsung, or Microsoft to release flagships supporting it. That seems really difficult. But then the other ways I see to get RISC V into the mainstream seem even harder or may take longer.
I think a lot of the problem is a feedback cycle that I've complained about before: people write C code, because C is fast. People design processors optimised for C code, because performance-critical code is written in C. This has led to a push for high-levels of instruction-level parallelism (and therefore speculative execution), because that's the easiest way of getting good performance out of a language that's designed to be close to the metal, when the metal in question is a PDP-11. If you designed a processor for a language that had cheap thread creation and enforced immutable-xor-shared, such as Erlang, then you would have a lot of cores, much simpler cache coherency (anything where two cores are accessing the same mutable data is either a bug or a thread migration event, and so can be slow), no speculative execution, no need for high ILP. You might dedicate more transistors to making context switches fast (even allowing cores to have an arbitrarily large pool of threads that they can pull in from memory when some of the ones occupying hardware contexts are blocked). If you don't care about ILP, then suddenly the big advantage of register machine instruction sets over stack machines goes away (ILP from stack machines is hard) and you're left with stack machines giving better code density.
The thing is, we know how to build these machines. There are commercial projects with most of the characteristics that I've outlined and research projects with the others. My hope with the Spectre debacle is that we'll see a some new chips that are faster when running code written in higher-level languages than they are running C programs.
I am TheRaven on Soylent News
Just because it's hard, and you don't personally like the potential outcome, doesn't make it unworthy, in itself.
Nor does that require him to support it either. Your support of an idea doesn't require everyone else to suspend disbelief and support your idea.
Ken
How long would it take to get an 'Open Source chip' to the point that it can run xbill or support a current standards web browser? Heck, how long would it take to make a system that can handle console I/O, store data on SATA drives, and connect to an Ethernet network?
If all design decisions were made, no changes needed, how long would it take to come up with either a chip that plugs into an existing motherboard, or a board that includes both the processor and all supporting I/O, like say a Raspberry Pi does?
The answer is hundreds and hundreds, if not thousands upon thousands of worker-years, and if this is a truly free, open-source effort, don't forget to multiply the above estimate times some multiplier that each worker will only be part-time before you try and 'spit-ball' a number of calendar years before it is available.
RMS famously spent decades trying to develop his own software environment that ran on commercial hardware and failed, due to in-fighting and his constant quest for the ever-elusive, always-evolving "best" architecture for his Kernel... Then Linus came along, cane up with a 'good enough' Kernel and made 'Linux'. As RMS will tell you, Linus didn't build Linux on his own in 18 months, he leveraged countless years of work by hundreds of GNU contributors and came up with the one thing RMS was missing - that's the part that took 18 months.
Ken
How long would it take for the imagined 'open source chip' to be as fast, feature-full, and robust as a $35 Raspberry Pi is today?
Ken
A link would have sufficed, that was the Slashdot equivalent of sending an email with a 12 Meg attachment...
Ken
Of RISC-V? That there are an increasing number of competing implementations and, because a lot of them are open source, they can cooperate on common components.
Translation: because RISC-V has forked into an "increasing number of implementations" it is poised to take over the world! Just like Linux, right?
Ken
There are easier ways to build a pree-2000 era PC than design your own CPU and scrounge Pentium MB/IDE drives.
Ken
ARM is now owned SoftBank Group - but I wonder what the ARM originators - Steve Furber (Manchester University) and Sophie Wilson (Broadcom) - and first ARM CEO Robin Saxby (retired but active) think about this fiasco?
It could be done. You'd have to find one really smart dude to pull it off. Even then, they'd give it away? Not impossible, things like that happen. Very unlikely though.
Even then the big guys would be very quick to shoot it down. Make up lies. Their bottom line depends on it after all.
RISC-V hasn't forked, because RISC-V is a specification, not an implementation. For a healthy CPU ecosystem, you want a large number of competing implementations. When Intel, Cyrix, AMD, and IDT were all producing Pentium chips, prices went down and performance went up a lot. The ARM ecosystem benefits hugely from having ARM, Qualcomm, Apple, Cavium and others all designing different CPUs. Partly the competition helps push down prices, but it also means that there's less of a need for anyone to try to produce one-size-fits-all implementations. Cavium's 48-core server ARM chips aren't competing with Qualcomm's 4-core mobile ones, but both will run the same OS, use the same compilers, and so on. As a result, both benefit from sharing software costs. Similarly, some RISC-V vendors are looking at high-end superscalar designs, some at low-end microcontrollers, and so on. The open source versions targeting different markets; however, can share components. Rocket and BOOM share execution pipelines, for example, but Rocket has a single one with a fairly simple register file, whereas BOOM has a scheduler and register rename engine attached and instantiates multiple copies of the Rocket pipelines.
I am TheRaven on Soylent News