I got a lot of mileage out of that class. The knowledge easily translates to other ISAs I’ve encountered in my career.
When teaching computer architecture, why are universities using obscure CPUs?
11–20 of 117 posts
Re: When teaching computer architecture, why are universities using obscure CPUs?
#12An introductory computer architecture course is generally starting from "here is what a transistor is" and hoping to end with "here is how basic computer games work" (e.g., nand2tetris). And has about 40 hours of instruction to do it.
Assembly is but a small part of the course. The ideal assembly language for such a course is one that is simple, something that you can let the interested student figure out how to implement it themselves with just a little bit of prompting. And frankly, most assembly languages aren't up to that task, even if you're willing to pretend that most of the ISA doesn't exist. x86 has issues with things like ModR/M or two-address instructions. ARM has things like r15-is-actually-the-program-counter-and-kinda-special. RISC-V coalesces most of the jump instructions into one or two instructions that is going to complete teaching subroutines in assembly (and also eschews condition codes).
At the end of the day, the stuff you're covering in introductory computer architecture is very far in almost every detail from how modern computers work, and it will take several courses on top of it to actually reach those details. The most important goal of such a course isn't to teach you how they work, it's to give you the information you need to understand the explanations of how they actually work.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#13Not all of them do --- MIPS was very common once (now probably being replaced by RISC-V), and I've come across recent (<5 years old) lecture slides from Indian universities where they still use the 8086/88, 8051, 8080/8085/Z80, etc.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#14Obscure CPUs have the same advantage. Plus with careful choice of architecture, or simply inventing your own, you make pedagogy much simpler because the architecture doesn't have all the complicated bits like branch predictors, register windows, speculative execution, etc. that modern CPUs have and you can focus on the basic, "must-have" components.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#15Because x86/x64 is horribly CISC. I challenge you to list the instructions a current x64 processor runs in a table. You will get so lost in the extensions it does and does not support that you will give up. Because Apple's M chips have not been on the market long enough for us to adjust, nor are there cheap versions we can pick up for our hardware labs. Because phones are not good for teaching computer architecture.…
If I were, my students' first CPU would be something like a 6502 -- quite possibly God's perfect CPU architecture. Then move on to something more complicated, RISCy, and 32-bit.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#16Re: When teaching computer architecture, why are universities using obscure CPUs?
#17The final assignment at the time I took it was to write a program which compiles a subset of ARM machine code into RISC-V machine code, which was a challenging but so rewarding thing for a younger me to cut my teeth on.
It was a surprisingly modern class too. The in-class material was learning about pipelining, instruction/memory latency, and general CPU concepts, while the assignment and lab material was focused on writing RISC-V assembly and implementing more and more complex programs.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#18Re: When teaching computer architecture, why are universities using obscure CPUs?
#19The MIPS architecture was also sabotaged by IP issues.
As a result, architecture students are learning how to use and implement RISC-V. Thanks ARM.
Re: When teaching computer architecture, why are universities using obscure CPUs?
#20My local university used to teach MIPS, and as of some years ago they’ve switched to RISC-V. The final assignment at the time I took it was to write a program which compiles a subset of ARM machine code into RISC-V machine code, which was a challenging but so rewarding thing for a younger me to cut my teeth on. It was a surprisingly modern class too. The in-class material was learning about pipelining, instruction/me…
This sounds like fun little project to learn risk v with. It's on my to do list with a million other things.