MIT 6.004 L14: Implementing RISC-V Processor in Hardware
twitter.com
twitter.com
[1] https://ocw.mit.edu/courses/electrical-engineering-and-compu...
The link from the original Twitter post seems to load to the right RISC course from Fall 2020: https://6004.mit.edu/web/fall20/resources/sp20
By the way you can thank Hal Abelson* (also known for SCIP, patronage of the FSF, and many other things) for making this happen almost 20 years ago. And “making it happen” was more than just sticking some videos online — which wasn’t even the first thing — but aiming to put all the course material online and encouraging others to use it for their own courses.
It’s particularly striking to me that it was MIT that did this as the institute is notorious for feeling and acting like it considers the educational part of its mission as an annoying distraction.
* Don’t get me wrong — many people were involved. But Hal was IMHO the most instrumental.
Actually putting video (and, for the most part, audio) wasn't even really all that practical when OCW was created. One also suspects that it was an easier sell that OCW was for educators rather than being, in any way, an alternative to taking the courses in-person. OCW was a great innovation though even if it wasn't what a lot of would-be students were looking for. Which ended up being MOOCs that were more directly consumable although still mostly flawed in various ways.
[1] Just one random example http://pages.hmc.edu/harris/cmosvlsi/4e/index.html
What do you mean by "version" here? How does it add to its accessibility?
I'm curious about your or anyone else's opinion of that "CMSO VLSI Design" text book you linked to. It's quite expensive and I haven't been able to bring myself to buy it. Would you recommend it?
I think the Weste text book is an excellent introduction to the reality of (mostly) modern digital VLSI design. My only gripe is it’s weak on analog, which is my forte. For An introduction to the reality of that I think Baker’s text at cmosedu.com is better.
Basically, if you have interest in the subject buying a used copy of Weste is not likely to disappoint. Or perhaps see if your local library can snag a copy before you buy.
That's probably because I was using the wrong word. I should've said "variant".
The base variant of RISC-V (RV32/64I) is extremely bare bones.
Even instructions for integer multiplication/division and floating points, atomics, ... are all added by extensions.
https://selfie.cs.uni-salzburg.at/
> An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor.
> Selfie is a project of the Computational Systems Group at the Department of Computer Sciences of the University of Salzburg in Austria.
> The Selfie Project provides an educational platform for teaching undergraduate and graduate students the design and implementation of programming languages and runtime systems. The focus is on the construction of compilers, libraries, operating systems, and even virtual machine monitors. The common theme is to identify and resolve self-reference in systems code which is seen as the key challenge when teaching systems engineering, hence the name.
(No affiliation, I just like it.)
e.g. https://www.zdnet.com/article/amd-owns-up-to-cpu-bug/ , https://www.extremetech.com/computing/254750-amd-replaces-ry...
Similar example to this one... latest publishing of CS193P (iOS Development) was released a few months back, its awesome, but no traces of it on iTunes or other sites, found it on Twitter, so I have the feeling I am missing many of these..
RISC-V is pretty close, so work on verifying -V should mostly carry over to -6. A MIPS engineer posted a list, recently, of errata that mostly would not be hard to fix, such as (IIRC) having separate opcodes for call and return so the microarchitecture can optimize them independently.
I would add making the ABI bool true value ~0 instead of 1; and a POPCNT instruction in the base set, not dependent on a big "bitmanip" extension package.
The extensions infrastructure is itself a problem, illustrated by the last point. Often, certain key parts of an extension are disproportionately useful, but you don't get the sink without a whole kitchen attached.
We probably won't get a new mainstream architecture for decades, so it is worth getting this one right before too much is committed. It would be disruptive to try to fix -V, but -6 work can go on in parallel.