A Superscalar Out-of-Order x86 Soft Processor for FPGA

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
Ancient
Posts: 81
Joined: Tue Mar 27, 2018 11:32 pm

A Superscalar Out-of-Order x86 Soft Processor for FPGA

Post by Ancient » Sun Jun 23, 2019 5:20 am

This is a link to the online seminar at Stanford University about a superscaler FPGA open source 32 bit X86 single core processor design. He doesn't seem to have fully completed it, on the other hand, he is implementing an open source single core 32 bit solution, which only consumes about 7 percent of an Stratix III FPGA. This is an Intel chip, a development kit costs about $2,500. His design used the included Altera Quartus II 10.0 SP1 CAD software to program the FPGA, and various open source components. His thesis is here https://tspace.library.utoronto.ca/bits ... thesis.pdf he is with the University of Toronto.

The Intel kit used is here https://www.intel.com/content/www/us/en ... l#ordering

Now follow me for a minute, there is also an open source UEFI/BIOS here https://coreboot.org/ which recently had some help offered by the NSA (identifying which bit to turn off to disable the Intel Management Engine and all it's security issues). Story here https://www.tomshardware.com/news/nsa-c ... 39704.html

The NSA isn't nice, but if it's offering open source submissions, at least many can take a look to see if it's legitimate.

Anyway, it occurs to me, we have one group working on a single core open source Windows 32 bit single processor OS, another group in Toronto has developed most of a single core 32 bit X86 open source hardware solution, and a third group seems to have an open source UEFI/BIOS which is mostly limited by chip makers unwillingness to share set up information (mostly about management engines and what not).

If somehow there was contact and coordination between these three groups, it may be possible to produce an open source X86 system with everything from hardware, BIOS to operating system fully open and public. An FPGA solution can be transformed into system on chip and mass produced. This doesn't cover everything everyone would want, but it seemed interesting to me that 3 disparate groups are perhaps unknowingly working toward the various ends of a solution to the monopoly chip and OS vendors have worldwide.

Just thought it was interesting and worth mentioning. Having an open source FPGA chip as a basis for development of ReactOS could be nice. If not an FPGA chip, then the source he compared his chip design against was Bochs x86 PC emulator. Which emulates an X86 processor in software. It can be found here https://sourceforge.net/p/bochs/discuss ... /1e9fccad/

A tool like this could offer a common development platform which may not require a virtual machine and be easy to set up (no need for FPGA).

A common specification for X86, one which is easy to evaluate and instruction set / trap, and which can easily be ported to hardware, may be a good basis to develop ReactOS on, particularly if Coreboot can be compiled to boot from it.

Anyway it's a thought. The idea of open source Windows is fantastic, but also our loss of control over BIOS / UEFI and things like undocumented RISC engines, and hardware embedded back doors, make working with open software on potentially an open hardware solution seem appealing as then nothing is closed to anyone.

Quim
Posts: 242
Joined: Wed Jul 04, 2018 11:45 pm

Re: A Superscalar Out-of-Order x86 Soft Processor for FPGA

Post by Quim » Sun Jun 23, 2019 6:16 am

Ancient wrote:
Sun Jun 23, 2019 5:20 am
This is a link to the online seminar at Stanford University about a superscaler FPGA open source 32 bit X86 single core processor design. He doesn't seem to have fully completed it, on the other hand, he is implementing an open source single core 32 bit solution, which only consumes about 7 percent of an Stratix III FPGA. This is an Intel chip, a development kit costs about $2,500. His design used the included Altera Quartus II 10.0 SP1 CAD software to program the FPGA, and various open source components. His thesis is here https://tspace.library.utoronto.ca/bits ... thesis.pdf he is with the University of Toronto.

The Intel kit used is here https://www.intel.com/content/www/us/en ... l#ordering

Now follow me for a minute, there is also an open source UEFI/BIOS here https://coreboot.org/ which recently had some help offered by the NSA (identifying which bit to turn off to disable the Intel Management Engine and all it's security issues). Story here https://www.tomshardware.com/news/nsa-c ... 39704.html

The NSA isn't nice, but if it's offering open source submissions, at least many can take a look to see if it's legitimate.

Anyway, it occurs to me, we have one group working on a single core open source Windows 32 bit single processor OS, another group in Toronto has developed most of a single core 32 bit X86 open source hardware solution, and a third group seems to have an open source UEFI/BIOS which is mostly limited by chip makers unwillingness to share set up information (mostly about management engines and what not).

If somehow there was contact and coordination between these three groups, it may be possible to produce an open source X86 system with everything from hardware, BIOS to operating system fully open and public. An FPGA solution can be transformed into system on chip and mass produced. This doesn't cover everything everyone would want, but it seemed interesting to me that 3 disparate groups are perhaps unknowingly working toward the various ends of a solution to the monopoly chip and OS vendors have worldwide.

Just thought it was interesting and worth mentioning. Having an open source FPGA chip as a basis for development of ReactOS could be nice. If not an FPGA chip, then the source he compared his chip design against was Bochs x86 PC emulator. Which emulates an X86 processor in software. It can be found here https://sourceforge.net/p/bochs/discuss ... /1e9fccad/

A tool like this could offer a common development platform which may not require a virtual machine and be easy to set up (no need for FPGA).

A common specification for X86, one which is easy to evaluate and instruction set / trap, and which can easily be ported to hardware, may be a good basis to develop ReactOS on, particularly if Coreboot can be compiled to boot from it.

Anyway it's a thought. The idea of open source Windows is fantastic, but also our loss of control over BIOS / UEFI and things like undocumented RISC engines, and hardware embedded back doors, make working with open software on potentially an open hardware solution seem appealing as then nothing is closed to anyone.
I hope that Open Source Iniciative and other Open Source authorities will be able to coordinate between these 3 projects...

ReactOS running on Open hardware seems an excellent combination. :D

Keep us informed about these interesting projects.

Ancient
Posts: 81
Joined: Tue Mar 27, 2018 11:32 pm

Re: A Superscalar Out-of-Order x86 Soft Processor for FPGA

Post by Ancient » Sun Jun 23, 2019 8:10 pm

My thinking is the University of Toronto is likely full of masters and doctorate students desperate for something to focus their skills on and get credentialed. Also the guy who did this project at Toronto made a presentation at Stanford University (generally after a PhD a person looks for a job in academia. If he's hoping to move to Stanford, or if he presents to other Universities he may spread word about the possibility of mating these three projects. His Stanford lecture is recorded over here - https://youtu.be/vhHR6fNHyG8 during the group there is a discussion that an Intel ATOM (Cherry Trail IIRC) was entirely created in FPGA. Assuming Intel uses the same FPGA chips and development kits it sells to the public, it is possible a quad core ATOM Cherry Trail equivalent could be implemented on this silicon. It is doubtful the Intel Cherry Trail FPGA code is open source.

Since he wasn't really optimizing this build but proving a concept, and there is some discussion of an ATOM PC being built on the same FPGA, it is possible an open source 64 bit quad core with graphics can be constructed. Conversion from FPGA CAD to a foundry specific FTL (Flash Translation Layer) may be possible. An FTL would take a concept FPGA, optimize it, and produce a much faster more efficient and depending on production quantity much cheaper chip. Starting with an 8086 type processor then moving to a 486 type using the same development tools over time, while working in parallel with ReactOS could yield a ReactPC, a true open source PC from Boolean functions to finished product.

If Toronto knows of this project, like say someone from ReactOS development contacts the author of the piece, and explains how desirable a finished single core 32 bit X86 open source product would be. We could have students at a university assisting with development of their own hardware, but also with ReactOS.

Additionally if Toronto finishes an FPGA open source CPU, the folks at Coreboot may be interested in compiling an open source BIOS for ReactOS.

Getting an endowed University interested in this project, could be beneficial to this community as more Universities are likely to be attracted over time, students and faculty talk a lot to each other.

This could result in getting some lift off on development due to an influx of interested developers. Developing for an open source CPU and open source UEFI seems like a great solution for ReactOS as it isn't concerned about being obsolete. It is offering security from hardware, firmware to operating system all open for public review.

Eventually a ReactPC would be the goal.

Quim
Posts: 242
Joined: Wed Jul 04, 2018 11:45 pm

Re: A Superscalar Out-of-Order x86 Soft Processor for FPGA

Post by Quim » Sun Jun 23, 2019 10:12 pm

Ancient wrote:
Sun Jun 23, 2019 8:10 pm
Eventually a ReactPC would be the goal.
Seems the best of the Open Source world. :D

Ancient wrote:
Sun Jun 23, 2019 8:10 pm
If Toronto knows of this project, like say someone from ReactOS development contacts the author of the piece, and explains how desirable a finished single core 32 bit X86 open source product would be. We could have students at a university assisting with development of their own hardware, but
Has onyone from ReactOS project contacted the Cannadian developer?

justincase
Posts: 436
Joined: Sat Nov 15, 2008 4:13 pm

Re: A Superscalar Out-of-Order x86 Soft Processor for FPGA

Post by justincase » Mon Jun 24, 2019 9:43 pm

Ancient wrote:
Sun Jun 23, 2019 5:20 am
about a superscaler FPGA open source 32 bit X86 single core processor design
I'll admit I didn't read the whole thesis (yet?) but I don't see any statement that it's open source, and I haven't been able to find the source. Where are you getting the idea that it's open source? Were you able to find the source? Where?

EDIT: It's also interesting to note that one of the test workloads they mentioned running was ReactOS 0.3.14 :o.
I reserve the right to ignore any portion of any post if I deem it not constructive or likely to cause the discussion to degenerate.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests