4 ms·
>The problem is the hardware magics you need to make x86 actually performant, there's a lot of patents surrounding that area. Those aren't even patented, they'
by fluoridation 1y ago
>The problem is the hardware magics you need to make x86 actually performant, there's a lot of patents surrounding that area.
Those aren't even patented, they're straight up trade secrets. The relevant IPs concern the ISAs alone. Without doing anything too crazy you could implement x86 on your own silicon and make something that's slower than mainstream processors, but still usable for some things; certainly better than emulation in software, that's for sure.
- jacquesm 1y agoDo you have an example of such a project? I'd love to do this on an FPGA.
- phendrenad2 1y agohttps://github.com/MiSTer-devel/ao486_MiSTer https://github.com/MiSTer-devel/ao486_MiSTer Google is your freeeend
- jacquesm 1y agoNot quite. That's a board that contains both an FPGA and an ARM, what I meant was a board that just uses the FPGA for everything and an i386 or better core without any auxiliary processors. 100% clean hardware. But thank you for the link, fascinating project.
- fluoridation 1y agoNot really sure what you mean by "no auxiliary processors". Even the on the original IBM PC the CPU was not directly in charge of all the devices. That's generally undesirable because it means any IO ties up the CPU. I think that's what they're using the ARM core for, though I've only just heard of this board minutes ago.
- jacquesm 1y agoThat's a bit different. The whole idea I have revolves around a clean computer without any kind of 3rd party hidden tricks. Of course, the original PC already had several auxiliary processors in places that are important, such as drives, keyboard etc. But let's take those for granted. Adding a soft-core FPGA based i486 to a much more powerful ARM system opens up a massive can of worms: that ARM could do just about anything to the poor 486 without it ever being the wiser. Anyway, this project may be useful (I've been digging around in it some more since making the previous comment) because the FPGA itself is fairly common and the i486 bits and pieces could probably be recycled in something much simpler.
- fluoridation 1y ago>that ARM could do just about anything to the poor 486 without it ever being the wiser. Any device with DMA has that same issue, though. You could plug in a hard drive that takes control of the CPU by writing new instructions when certain conditions are met. Even if it doesn't have DMA, it could fulfill a request with crafted data. You can't defend against an adversary in your own machine.
- astrange 1y agoYou can limit them with IOMMUs. It's reduced to the power of a hostile process. Well, that's still bad if you're booted off it.
- fluoridation 1y agoOn i486?
- toast0 1y agoAn i486 certainly doesn't have an integrated iommu, and none of the chipsets for 486s had them either (afaik), but that doesn't mean you can't add one if you're building up your system from scratch.