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
Same answer!
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.
Open source hardware is tricky and not really analogous to open source software.
With open source software, anyone with a compiler can build their own software without the need for external involvement. It's far, far more complex and difficult when dealing with open source hardware. People generally don't have the ability to manufacturer their own chips, especially with the processes necessary in modern processors. While I support more openness about the hardware and it's functionality (especially the ME and equivalent systems), and I support giving the user more control over their hardware, open source hardware just won't work in this instance.
What version of DOS would you like to run on it?
Me being Devil's advocate: Yes.
I'm so going to hell for that.
Seriously, look at the last 20 Slashdot posts that end in a question mark. The answer is always NO.
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.
https://en.wikipedia.org/wiki/...
There are places where open source could work. Certainly opening up the ME and the AMD equivalent is a place where open source could succeed. I suppose you could also develop an open source microcode. These give the user more control over the hardware, and I think it really would be beneficial for the ME to be opened up. However, these are really still examples of software, just at a lower level and with greater control over the hardware.
Anyone with a computer can run a compiler and build their own software. However, the manufacturing processes involved in creating modern microprocessors mean that virtually no ordinary user has their ability to go and create their own processors. Sure, you can comment on the specifications and design your own if you so desire, but you remain at the mercy of the manufacturer. You can definitely make your own custom build of open source software, but no manufacturer is going to be able to charge an affordable price and let you make just a few processors. It's going to be very expensive unless you're making a lot of chips and scale the process up.
Do the last 20 Slashdot posts really end with a question mark?
#DeleteFacebook
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.
Yes. It's possible. I plan to do it. Problem is I only have like 0.0001% of the money required to actually make one. (fabs are kind of exepnsive) Well I'll keep saving up!
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;
There are places where open source could work. Certainly opening up the ME and the AMD equivalent is a place where open source could succeed. I suppose you could also develop an open source microcode. These give the user more control over the hardware, and I think it really would be beneficial for the ME to be opened up. However, these are really still examples of software, just at a lower level and with greater control over the hardware.
Anyone with a computer can run a compiler and build their own software. However, the manufacturing processes involved in creating modern microprocessors mean that virtually no ordinary user has their ability to go and create their own processors. Sure, you can comment on the specifications and design your own if you so desire, but you remain at the mercy of the manufacturer. You can definitely make your own custom build of open source software, but no manufacturer is going to be able to charge an affordable price and let you make just a few processors. It's going to be very expensive unless you're making a lot of chips and scale the process up.
Let me give you a practical response, shaped by decades of experience, derived from the wisdom earned from countless mistakes and successes, without any sugarcoating and ambiguity as is expected in business communication.
No -OP (Yes I'm quoting the OP).
Caveat: Once we replace Syscalls with UEFI, and all applications run in a VM, then we can have a meaningful conversation about running multiple processor architectures on a single machine and doing open-source risc with open-source architecture. Until the Wintel Monopoly is slain, and that is coming, we will remain in the dark ages.
Over the years I have followed closely the development of alternative architectures and manufacturing processes.
It's not the lack of reasonable designs, or even fabbed silicon. The problem is the inertia of not adapting existing alternatives to the various industry standard busses, form factors, standard MB sizes, and standard connectors.
Until someone offers an alternative chip with support that plays nice with established standards for business and consumer computers, than it will remain a pipe dream.
For example, 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.
Until you have economy of scale, x86 alternatives will remain relegated to niche, embedded markets, tablets, and cell phones.
Open source is not a good solution for everything. In the case of hardware, you can't simply fabricate ASIC's and release new ones every time someone has a new feature that breaks backwards compatibility. Look no further than C++ and now no two compilers produce the same assembly. Now multiple that across 1000s of versions of ISA's
We are lucky that FPGA cores exist that we can experiment with and not have to invest millions of dollars in chip fabrication only to have errors during fabrication.
In software, we accept some fragmentation because it ensures that the best solution is eventually found by trying multiple versions with different goals in mind.
Spectre is not something that open source cores would solve, if anything, it will still result in millions of SoC's being abandoned just because they are older than 2020 and not patchable in software because not every core is of a known quality.
The only place for Open Source CPU cores is for FPGA systems of legacy hardware (eg Nintendo and Sega consoles, Atari and Amiga computers), because that ensures that future generations can still use software designed for these platforms.
But there will never be a market for open source SoC/cores for current generations of chips because people do not not to spend 2000$ for a CPU that runs at the same performance of a 50$ chip.
That is why Android is circling the toilet, there is no minimum capability with each version of the OS, so software that works perfectly fine on iOS or Desktops, can't even run at 1/100th of the speed on most Android devices because the CPU+GPU combination has to be patched around in software to run, or refuse to work on 90% of Android devices that are cheap rubbish.
Western Digital has made a commitment to use it for their products like HDDs.
What is it with idiots using 'we'?
You can do that if you want. Good luck to you. Leave me the hell out of your stupid universe.
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.
Another possibility is the J-Core processor.
http://www.j-core.org
Make the business case. The problem is everyone likes leverage, pressure for you to use their process for your chip. If any foundry/assembly house develops (or licenses IP) then it becomes "use our process and this ARM processor is 'free'" the IP is a leverage tool.
Where open designs make sense is in the research area. A number of universities should band together and make not an Open Source design but rather a minimal RAND design. Where the design is free for research and only costs a bit if you make commercial products. That way everyone can use it for research, the design gets many eyes and if someone does something unique with it they can profit off it.
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.
No.
And if the question was the topic of a Slashdot post, according to Betteridge Law of Headlines the answer would still be no, just as it was for the last 20 Slashdot posts that did end with a question mark.
If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
Realistically speaking, you aren't going to fabricate a cutting edge physical CPU by any grassroots "to hell with the incumbents" method.
Instead, you'd do better using the buggy Intel chip to *software simulate* a better architecture. The actual hardware would only ever run trusted, vetted code. Risky code would only ever run in simulation.
Note that this is distinct from typical hardware-assisted virtual machine architectures where you depend on hardware logic to turn rule violations by the client code into exceptions - some of the same hardware logic that is broken. To be fully safe, you would enforce this instead in trusted software, obviously eating a large performance penalty for doing so.
So taking yet another step back, the alleged performance degradations from software workarounds for the recently found hardware bugs start to look comparatively minor in income.
Indeed, the world sucks. And you _will_ say "thank you" for that.
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
I love AMD and use AMD CPUs even currently but I have always been an Nvidia user because the ATI Graphics drivers sucked on any Linux outside of the mainstream distros.
Has this really changed by that much? I'm not trying to put you down just being honest and asking for your opinion. I still prefer the binary drivers myself.
With very little near term reward, lots of legal hurtles and massive effort from many people from other disciplines who are not software oriented in the open source ways.
I work in the cap tooling sector of semi, and the ARM licensing model shows the feasibility of ip licensing for the Samsungâ(TM)s and the tsmcâ(TM)s who generally focus on the manufacturing side.
Companies like Synopsis supplies the cad infrastructure to simulate and design chips. Independent design houses like esilicon does the design and builds the socâ(TM)s usually through licensed modules. Say you want the Bluetooth module, well you design a block of silicon real estate and pay a royalty to the Vikings.
Problem is that mooreâ(TM)s Law is nowhere close to being over with 1nm gates in lab demonstrated. And with vertical stacks and quantium computing and quantum entangled communication and solid state batteries and mems and ... we have a very long way to go until things begin to settle.
Letâ(TM)s let the physicists and material scientists do their work for now.
There are some interesting technologies in the pipeline like programable masks that may mature to the nano level thus making it a whole hell of a lot less expensive. So maybe someday...
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...
Say people who have no capital, no design capability, no engineering capacity, no manufacturing resources, and only the flimsiest of rationales as to why FOSS hardware is important.
FOSS uber alles! Now if only someone else could do all the hard work...
>into the green field of the cloud
Mixed your metaphors, there. Unless the promised land is on a mountain, perhaps.
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.
It isn't even the fab cost, it is the foundry technology. Sure you can make a comparable chip that a lot of people can build at 45nm, but when you get a more advanced process, doing large chips and maintaining yields gets tough. Intel is still the leader in yield and multi-chip and multi-die packaging.
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.
Sure you can, as long as you don't care if your computer performs like it was made in the 1990s.
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.
Northbridge, Southbridge, etc.
Socket 7/SS7 should be easy to implement the support chips for using iCE40's plus some voltage stepper circuits.
If you get all the other components of a motherboard running and use adapters, like PCI to PCIe and IDE to SATA, plus ensure you don't have any of the oversights that the original chipsets had (like lack of LBA-48 support, or addressing issues above certain boundaries), then you will have access to the majority of modern storage and peripheral devices. It may not all be as fast as on newer busses or using patented performance optimizations, but it can be done today and could help inspire new open FPGA designs (if the iCE40 became the FPGA equivalent of the Raspberry Pi thanks to its reverse engineered toolchain/open documentation) of sufficient LUT geometry and other features needed to perform as a cpu or more complicated logic support chips. Once that infrastructure and marketshare was in place, there would be room for an open hardware maker movement somewhere between the 3d printer/small run electronics businesses and the 'big boy' custom bitcoin ASICs that almost nobody can actually buy in time to turn a profit from. At that point in time, as long as the open hardware licenses ensure they cannot be used by people who aren't part of an (anti-)patent covenant to protect the openness of the hardware designs and IP for all, many groups of individuals can throw their designs into the market, some compatible and some incompatible, but all providing new components or designs to the pool which will help to slowly improve designs in all corners of the market, even as each groups engineers strive to stay one step ahead of the competition, or better cater to a particular client market.
0. Find skilled people. The best of their generation. Hire only on merit not on social advancement.
1. Consider the CPU design needed and that existing hardware around a new CPU design can support.
2. Find yourself this generations Berkeley RISC https://en.wikipedia.org/wiki/...
3. Find some fab to help design and make the CPU, collect related parts.
4. Bring the software and hardware together so people can code with your CPU and for your CPU using your free dev tools.
Study everything thats needed and don't forget the support that people expect from any CPU. Software later cannot always undo what was not done during CPU design.
5. Learn from the past. Study past CPU efforts and their software offered. What was needed, what was supported, what attracted developers. What should have been done, what was not done, what could have been done to better support developers.
The funding, gov support, how complex software was just expected to support a CPU. Limitations that could have been worked on before using a CPU design.
Zilog https://en.wikipedia.org/wiki/...
Dragon 32/64 https://en.wikipedia.org/wiki/...
Cyrix https://en.wikipedia.org/wiki/...
Eagle Computer https://en.wikipedia.org/wiki/...
Acorn Computers https://en.wikipedia.org/wiki/... and Acorn Archimedes https://en.wikipedia.org/wiki/...
Have a programming language that works and is supported. A good CPU needs a good set of free tools to create applications.
Do not encumber your project trying to tell developers what to do on their own projects. Let them code in anyway they want.
Let your project be the platform that does not try and micromanage other peoples code. Attract the fun, smart projects away from the more restrictive OS, repository services by not "telling" them how to use your tools, code, CPU. What other people do with your CPU, tools is their project to support.
An open CPU with the freedom to get on with creating great code.
Find people to tell the world about your project from an average users perspective and that of creating very complex applications.
Cover a few languages used globally by very smart nations and have 24/7 support. Be ready to do blog, talk radio, TV, online, magazine interviews 24/7 as needed by a news cycle. Never attempt to reschedule an interview because its 4 am for you. Always thank the interviewer and be ready do any interview at any time at any skill level. That trade publication or a game, music, art blog. Win hearts and minds away from other projects.
Have a media kit ready with translations, lots of different usable images that are publication ready. The history of your design, the design now and future directions.
Have your own translator if needed who knows your CPU design ready at 4 am if needed. Let every interview spread the message of your project and CPU design.
Make sure people talking about your project are articulate, charming, charismatic, photogenic and have the skills to present complex issues to any audience.
Set up an online community thats not linked to your CPU work to support later code, projects, art work, music, games, FAQ, OS, bug reporting, security.
So it can be responsive, dynamic and ready for changes in the free code and market place. Something to keep your CPU supported for users without having to get official approval for every normal support question.
That keeps your CPU team working on the next CPU and not getting bored doing end user support work.
Be aware for what offers of gov and mil funding will do to your production line and staff. With huge tax b
Domestic spying is now "Benign Information Gathering"
The quality of such designs is on par with the quality of code produced by CS grads. Most of it is fine for academic purposes but isn't worth a damn in the real world.
If we can emulate a whole computer in the container evironments, then why can't we emulate a processor? Just stuff the box with ram and boot the processor first. Get it?
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.
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.
Have a look at R&D expenditures by semiconductor manufacturers. Think about what you were looking for the last time you purchased a processor, or considered the processor as part of your decision to purchase a device. Are you going to buy the open source processor where they just figured out a legal way to copy what Intel did three years ago? Or, are you going to buy the processor the does the most work fastest for the least money?
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?
When people as me what makes Intel good, I tell them that it isn't the CPU designers, for the most part - it's their fab engineers. They are the best in the world at manufacturing semiconductors, period.
It's too bad that about once a decade their egos get the best of them and they have a pretty major fuck-up to set them straight...
Why? this makes no sense, an open source chip doesn't suddenly make a chip immune to design flaws and if anything makes it even harder to hold someone accountable for the fuckup. Creating chips and tooling foundries to manufacturer chips that are of sufficient performance also takes billions of investment, good luck getting that together with an open source version.
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
Does everyone remember Transmeta? Self-modifying microcode, loadable...
So who can tell if some group slide in a backdoor hardware design into some open source CPU?
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
To get good performance Intel basically moved _everything_ into the CPU: memory controller, PCIe controller, etc. It also tends to drive down cost I imagine -- It must be quite a bit easier to route the boards (still harder but easier than huge parallel buses). But there really isn't an open source equivalent for PCIe (or even PCI last time I checked).
This doesn't mean you couldn't write one. It just hasn't been done.
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.
Well, look, it's already done by the OpenRISC project. Complete with Linux, gdb and gcc ports.
Of course; I don't know how fast this runs, or how expensive this would be.
Just take a look at the Freedom U500 Platform from SiFive.
I think RISC-V is going to be that thing. Although don't expect it to become competitive immediately. It will take a decade or two before we can see anything resembling the experience you have on your PC. Although you might be able to run Debian and Ubuntu very soon but with many constraints (for example lack of a good open GPU design).
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...
I don't care which, just pick one and make all future processors compliant.
While we're at it, let's pick a standard newline code - 0x0A, 0x0D, or both - but across the board.
I'd say it's more possible now than ever before. Windows is less relevant, you just need an OS that can run a web browser and that can do about 90% of what people need a computer for these days.
RISC-V + NUMA-cc + lower-consumption Wake-On-Land.
I wanted to integrate a firewall in my laptop with at-least two ethernet connectors. why not?
And to let "*.jar" as "*.exe" in linux, please. why not?
($PATH to "*.jar"s directories).
To omit the "java" except when it is needed (... java -server ...)
So, it will be nice to threat virtual machines (JVM, CLR, ...) as if they are real machines. (a kind of abstraction).
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.
If it were me would much rather spend my time on an open effort to meaningfully push the bounds of design automation. By necessity it is increasingly the direction everything is headed anyway. Don't focus on the goal. Focus on the process.
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!
>Basically the best you'll be able to say with a purely open source CPU is, "buy this for 10x the cost and at 1/10th the performance... but you can feel good that it's open source." At that point, all I can say is, "good luck with that."
It absolutely has to start somewhere. With folks like you, we'd have never gotten to the moon.
Just because it's hard, and you don't personally like the potential outcome, doesn't make it unworthy, in itself.
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...
Today, we can easily attach many gigabytes of RAM to a CPU. It's not only possible, it's practical.
So for a home computer, with say, 64 or 256 gigabytes of ram, or hell, a terabyte, why do we need an MMU that translates memory addresses?
Wouldn't one that just enforces process execution bounds be enough? And cost a lot less silicon, and speed, and therefore tears and money?
Give me a 64 bit address bus, I'm pretty sure I'd be able to run any app that mattered to a consumer at this point in time, as long as you let me add RAM.
As an old-school ASM programmer, it also seems to me that a really good CPU design would provide a couple hundred thousand register sets, so that process, task and thread switching would not be constantly, and slowly, fudging around with context. It's not like memory is expensive any more.
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
I saw "Cloud-centric future" in the title. I'd rather have a buggy chip than live in that kind of world. Long live the desktop. There's a reason why TSA can't force people to open their cloud accounts. They don't need to. I'm a Linux user and I don't use Google services beyond Youtube as embed MP4. All those guys do is yell "open source please use our programming language (Go) and nothing else." I really wish people understood the data cattle hell this crap creates. You are not special enough for anyone to care to hack you anytime soon, but no one has to hack your cloud. There are backdoors and numerous bots crawling all over those services, on top of which the biometrics you've supplied on social networking and the digital fingerprinting that has been paired with it. Your ssl is becoming useles because they know it's you from browsing habits and canvas recording. If you do go cloud, make your own.
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...
Well, you can start with it whenever you want. Tell me when youâ(TM)re finished, please.
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.
Obligatory:Intel CPU Backdoor Report (Jan 1 2018)
Change log:
2018 Jan - Added 14 Useful Links, Intel CPU CVE links (CVE-2017-5689 CVSS Score 10.0), how to disable Intel ME 11 via undocumented NSA "High Assurance Platform" mode.
Intel CPU Backdoor Report
The goal of this report is to make the existence of Intel CPU backdoors a common knowledge and provide information on backdoor removal.
What we know about Intel CPU backdoors so far:
TL;DR version
Your Intel CPU and Chipset is running a backdoor as we speak.
The backdoor hardware is inside the CPU/Bridge and the backdoor firmware (Intel Management Engine) is in the chipset flash memory.
30C3 Intel ME live hack:
[Video] 30C3: Persistent, Stealthy, Remote-controlled Dedicated Hardware Malware
@21:43, keystrokes leaked from Intel ME above the OS, wireshark failed to detect packets.
[Quotes] Vortrag:
"the ME provides a perfect environment for undetectable sensitive data leakage on behalf of the attacker".
"We can permanently monitor the keyboard buffer on both operating system targets."
Backdoor removal:
The backdoor firmware can be removed by following this guide using the me_cleaner script.
Removal requires a Raspberry Pi (with GPIO pins) and a SOIC clip.
2017 Dec Update:
Intel ME on recent CPUs may be disabled by enabling the undocumented NSA HAP bit.
Decoding Intel backdoors:
The situation is out of control and the Libreboot/Coreboot community is looking for BIOS/Firmware experts to help with the Intel ME decoding effort.
If you are skilled in these areas, download Intel ME firmwares from this collection and have a go at them, beware Intel is using a lot of counter measures to prevent their backdoors from being decoded (explained below).
Useful links (Added 2018 Jan 1):
Disabling Intel ME 11 via undocumented mode (NSA High Assurance Platform mode)
Blackhat 2017: How To Hack A Turned Off Computer Or Running Unsigned Code In Intel Management Engine
EEF: Intel's Management Engine is a security hazard, and users need a way to disable it
Sakaki's EFI Install Guide/Disabling the Intel Management Engine
Intel ME bug storm: Hardware vendors race to identify and provide updates for dangerous Intel flaws.
CVE-2017-5689: An unprivileged network attacker could gain system privileges to provisioned Intel manageability SKUs
CVE-2017-5705: Multiple buffer overflows in kernel in Intel Manageability Engine Firmware
CVE-2017-5706: Multiple buffer overflows in kernel in Intel Server Platform Se
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
The thing is that in the software side, most widely used OS seems to be a pile of spaghetti spyware, which most have been shoveling same crap year after year with different OS name/number. To be fair spyware was introduced in 10, and updated to older ones but anyway, there weren't much if any innovation coming from Microsoft, until they introduced w8 which basic "innovative ideas" users hated. Like the idea of: " let's bring same experience from phones to a desktop", yay. Still think best things microsoft has done are Visual Studio, DirectX and AD. DirectX is the thing that keeps Windows popular. As an OS windows is actually kinda terrible (low level of customisation, still no real package management, a lot of advanced settings are now locked to enterprise version which us lowly professional users cannot get without founding company).
I might be wrong but to me, it seems that AMD and Intel actually try to refresh their design every couple of years and to be honest there are a lot of smart people employed by these folks and Intel has deep pockets when it sees something it likes. Problem is also the physical aspect, while anyone can make code basically free, making the actual physical chip would cost real money to produce. I guess you could do simulation, but i don't think simulators Nvidia uses are that cheap.
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
I think it's possible, open source hardware is much easier to sell than open source software because unlike software it's a physical object. Just having the source code isn't enough to "compile" it, it will cost you much.
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.
Techno hippies believe that (open source = best way) is some kind of obligatory axiom we must all just accept without question. Fuck that noise.
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.
According to wikipedia, Loongson also has "four-way superscalar, out-of-order execution, 64-bit MIPS architecture processor core". So it will most likely have the similar security issues as Intel has.
It really helps to use BRAIN before typing.
Loongson has most likely similar security issues as Intel, because they also use Speculative Execution. For a long time "speed" was the primary aspect of comparing CPUs. Now the speed chickens are coming home to roost.
Future generations of hardware and software will need a fundamentally different approach to design and verification. Or maybe we simply stop to use computers the way Amazon, Google and Mozilla want us to do. The entire "cloud" and "JavaScript in Browser" things seem to be rotten, as long as they run on almost ANY contemporary processor from x86 to IBM z.
OpenSSL is open source.... then my "heartbleeed". A simple validation mistake.
But just because RISC-V is Open Source does not mean it is secure. It could actually be a horrible mess of thousands of security risks, if other FOSS projects like OpenSSL are taken as an example. Nobody cared to look at the mess of OpenSSL for something like 20 years, probably because it was 400k LOC of nasty shite.
What we need is FOSS plus something else: Formal Proof of Correctness, as they do in the L4 OS kernel or the Compcert Compiler. And no, that is not the same as "writing lots of unit tests".
Everybody, including the Chinese ("Loongson") and the Russians ("Elbrus 2000") seems to be hypnotized by the "need for speed". Intel, AMD, ARM and the rest of the "western world" are *selling* CPUs on the meme of "mine is faster than the competitors".
All of which is understandable to a certain degree. "Speed" translates into time savings, which translates into economic efficiency. Which translates into "viability of your social system". The Russians and the Chinese now from their own mistakes how important economics is for the viability of the entire social system.
I honestly don't know how to fix these issues; maybe we need to use the Transputer Approach and allocate entire CPUs to "untrusted code". Don't share CPUs for "cloud" or "browser code". Then we can still use all the glory of caches, branch prediction caches and speculative execution. All the hostile code can do is to reconnoiter itself, which is benign by definition.
Something from a Russian guy. Judge yourself:
https://zaitcev.livejournal.com/241876.html
May I assume this variant has exactly the same Meltdown/Spectre-type issues as Intel has with x86 ?
Then what is the advantage ?
Just because something is FOSS does not mean it is bug-free. See the OpenSSL debacle.
The vast majority of users and office workers out there could switch to ARM, and whatever per-core-loss they would experience in the same price bracket, would not hamper them or what they do.
We should've moved away from Intel on desktop long ago. With the year-long price-hikes of HUNDREDS OF DOLLARS for just consumer CPUs, and what we've seen now, it should've been clear that the Intel monopoly was only going to cause more damage. With monopoly comes irresponsibility.
heh he thinks we went to the moon. whats next, you'll say the earth is round?
That's what this was for:
IOW, if it's not your memory, you can't get at it. This is a lot less resource-intensive than actually remapping the memory to different addresses, which you shouldn't need if you actually have, you know, your own memory allocation(s).
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.
Are we asking the wrong question? How about designing laptops, etc so that the components (CPU, mem, etc) have an industry standard interface and are easily replaceable?
People are not going to throw their old laptops away and buy brand new ones just because some security guy says so.
If I could pull the old CPU out of my laptop (and send it back to Intel for recycling!) and pop in a fixed one, I'd be more inclined to do it.
64 bits should be enough for anybody :)
Yes. There is already open source processor, called RISC-V:
https://riscv.org/
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.
Biodiversity is good. Some level of CPU diversity is also good.
Unfortunately, there is a huge pile of software which requires x86 and x86_64 as the underlying CPU.
So switch to AMD processors and:
1 - avoid the two recently disclosed nasty security fails in Intel chips
2 - save huge amounts of $$$
the current Ryzen/Threadripper processors are already performance competitive with Intel offerings (prior to knocking off whatever overhead due to extra overhead to fix the problem inside OS kernels)
Full disclosure - I do not currently own stock in either company. Nor am I an employee of either company
A few more decades? Try 2.923 billion years since 1970, if we're using UNIX time.
Source: https://www.wolframalpha.com/input/?i=9223372036854775807+seconds
We will not need anything beyond 64-bit time for a loooooooong time.
Every one of IBM's POWER processors has taken about ten years to develop. That's why IBM works concurrently on three generations at a time so they can release a new processor about every three to four years. (POWERx will be released three years from now, POWERx+1 has been in development about four years now, POWERx+2 in development for about a year now).
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
All are now untrust-worthy data thefting scum.
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
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.
Amber is an ArmV2 knockoff that is open sourced. Also the OpenCore project has a lot of open sourced stuff including some processors.
And an integrated open source GPU!