Live data from Hacker News

When teaching computer architecture, why are universities using obscure CPUs?

academia.stackexchange.com

41–50 of 117 posts

Re: When teaching computer architecture, why are universities using obscure CPUs?

#41
Less optimizations, simpler instruction sets, easier to implement.

Going from transistors to C is like petrol to driving.

Do you want to learn how a car works by building some 2024 safety and tech enabled car?

Or would you rather start with something that resembles a 60s Beetle but with even less bells and whistles?

Re: When teaching computer architecture, why are universities using obscure CPUs?

#43
I do remember in my computer architecture class being a little disappointed we only studied educational ISAs, and ran them through emulation rather than "on the metal". Then in my first engineering job after college, I ended up programming mainly the TSK3000A soft processor, for about a year. Then ARM, some other more weird systems, and finally moved up to module/driver development on the server side. Back on x64, in kernel space no less -- but that was the one instruction set in the whole stack I never had to deal with.

Re: When teaching computer architecture, why are universities using obscure CPUs?

#44
post #36

IP issues. As I understand it, Harris and Harris changed their textbook from ARM to RISC-V because of IP issues and ARM's lawyers. The MIPS architecture was also sabotaged by IP issues. As a result, architecture students are learning how to use and implement RISC-V. Thanks ARM.

It's amazing how a lot of companies just forget how they got so big. If people can learn for cheap or at least very cheaply with your stuff, then they are going to use it when making money. Restricting teaching with it or charging students the high corporate fees are just going to backfire in the long run. People will learn with whatever is cheap or free . Davinci Resolve is getting more popular, because it's "free"…

Developers developers developers developers

Re: When teaching computer architecture, why are universities using obscure CPUs?

#45
post #31

Because my professor hated the x86 architecture. At least I appreciated the honesty. We looked at some popular RISC and CISC architectures, even looked at Itanium [1] as it was the hot new thing at the time. The professor didn't necessarily hate Intel, just the x86 architecture. [1] https://en.wikipedia.org/wiki/Itanium

x86 should be taught as a follow-up course in the following semester as an example of how not to design a CPU architecture, specifically from the long term evolution perspective.

It would have been fine if x86 ceased to exist after 80486 or 80586, yet it has persevered and has continued to cause trouble with an incessant stream of extensions supplanting the previous generations, or expanding or «enhancing» them: MMX, then SSE (plus a further extension to the extension courtesy of amd64), SSE2, SSE3, SSSE3, then AVX, AVX2 and AVX512, and now AVX10 that is an overhaul of all previous extensions.

With a little bit of the design thinking and future proofing in mind, that hairy abominable mess could have been replaced with a single, scalable vector extension that would have not required a complete code rewrite over the next 30 years. Yet, MBA's over at Intel continued to milk the already ailing cow.

Re: When teaching computer architecture, why are universities using obscure CPUs?

#46
post #38

I agree that x86 is a terrible choice, but I think there might be middle-ground found in a simplified RISC-V or ARM.

RISC-V is definitely simpler than the MIPS I studied back in university.

At just 40 instructions, it is well-suited for education.

Re: When teaching computer architecture, why are universities using obscure CPUs?

#47
post #16

You can teach 8086 assembly which is still compatible with modern x86 and it only has like 20 instructions. It's lots of fun I made a whole bootable text editor an assembler and an almost finished lisp interpreter too.

Yeah, though the concept of segmented memory access can be confusing and so far hasn't been very useful this century. :-)

Re: When teaching computer architecture, why are universities using obscure CPUs?

#48
post #3

Much as I also have never understood universities teaching to "teaching" architectures (DLX), or "teaching" languages (Eiffel - luckily removed from our curriculum before I started), at the same time I did not land a job based on having learned "practical" architectures 68k or MIPS either.

A lot of my compsci education was in Pascal, which was not exactly a real-world language (though I guess Delphi had a dedicated niche for many years)

I actually think this was probably better than learning with real-world languages?

I believe it taught me to be a computer programmer. Not a Java guy or a C guy or a whatever guy. I think that was super valuable.

For assembly language we learned VAX assembly, which was already hilariously outdated, but again very valuable. It had a very beginner friendly instruction set, much more friendly than x86 which would have been the other realistic choice at the time.

Re: When teaching computer architecture, why are universities using obscure CPUs?

#49

Earlier quoted context omitted.

MIPS is great. You can learn it in great depth and fully understand the whole microprocessor while compacting it into a single class. You can make your own adder and multiplier with logic gates. It’s a scope that you can actually master

I agree. It's a shame that MIPS is mostly dead at this point. (And a moment of silence for SPARC and OpenSPARC T1/T2 in particular - full 64-bit CPUs that were used in production.) However, RISC-V shares most of the implementation benefits of MIPS, is unencumbered by IP issues, and seems to be steadily improving in terms of software and hardware support.

RISC-V has slightly more complicated instruction formats, but is otherwise feels a lot like a cleaned up and simplified MIPS.

The fact that you can easily see MIPS's 16 bit and (most of) 26 bit immediates in a hex editor is one low-key advantage (for teaching) that MIPS has over RISC-V.

But overall RISC-V is a much better teaching ISA. One great thing about is that there is a core version of the RISC-V spec that only has 47 instructions and essentially nothing else. There is no Memory Paging or Privileged Supervisor mode, and you can skip implementing proper exceptions to make the design even simpler.

Re: When teaching computer architecture, why are universities using obscure CPUs?

#50
post #45
post #31

Because my professor hated the x86 architecture. At least I appreciated the honesty. We looked at some popular RISC and CISC architectures, even looked at Itanium [1] as it was the hot new thing at the time. The professor didn't necessarily hate Intel, just the x86 architecture. [1] https://en.wikipedia.org/wiki/Itanium

x86 should be taught as a follow-up course in the following semester as an example of how not to design a CPU architecture, specifically from the long term evolution perspective. It would have been fine if x86 ceased to exist after 80486 or 80586, yet it has persevered and has continued to cause trouble with an incessant stream of extensions supplanting the previous generations, or expanding or «enhancing» them: MMX,…

SVE didn't standardize a shuffle usable for processing strings without specializing your code to a specific vector width until October 2022, so it seems a bit unreasonable to expect Intel to have had it in 1997.
Post reply on HN