3 ms·
As other commenters have said, just picking up an open source *NIX is a great start. If the lack of open hardware bothers you, there are several non-x86 archit
by charlesdaniels 6y ago
As other commenters have said, just picking up an open source *NIX is a great start.
If the lack of open hardware bothers you, there are several non-x86 architectures that are fully open source. Chief among them is RISC-V[0]; SiFive[1] is taping out RISC-V processors to real hardware, selling dev boards, and stuff like that. These are real, competitive, Linux-capable CPUs, although widespread adoption has not happened yet.
On the more minimalist front, the ZipCPU[2] is simpler (though has less software support), and it's author writes some really great blog posts about HDL[3] (Hardware Description Language -- how these CPUs are defined).
You might also enjoy developing for very small embedded systems. I like AVR CPUs such as the ATMega328P (of Arduino fame) for this purpose. Although not open-source, they have quite good and thorough datasheets. AVRs are very small 8 bit systems, but as a result, you can fit most of the important details in your head at once.
If you want to talk more about these topics, feel free to get it touch with me. You can find my contact info on my profile, and on my website (also listed in my profile).
0 - https://riscv.org/ https://riscv.org/
1 - https://www.sifive.com/ https://www.sifive.com/
2 - https://github.com/ZipCPU/zipcpu https://github.com/ZipCPU/zipcpu
3 - http://zipcpu.com/ http://zipcpu.com/