Live data from Hacker News

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

academia.stackexchange.com

51–60 of 117 posts

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

#51

We used Sparc, PowerPC, and 68HC12 (or something in that family). They weren't x86, but they weren't obscure, either. What they all have in common is they instruction sets are small enough to be manageable.

We used 68HC11 for our operating system course and had to write a simple multitasking OS that ran on real hardware. I got to use that OS the next semester to run on a car that needed to follow a track, avoid collisions, and a few other things.

Being a microcontroller you got a bunch of things that today need full development boards right on the chip (ADC, RAM, etc).

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

#52
Many universities use LEGv8 to teach computer architectures, which is a more didactic version of the ARMv8 ISA.

LEGv8 was developed as part of the semi-standard textbook in Computer architectures which is the David Patterson's one.

The problem of course is that this ISA is completely fictional and code written for it cannot be ran anywhere.

Fortunately ARM themselves have developed and made available a web-based simulator of the LEGv8 ISA.

Unfortunately the project is basically abandoned, has critical bugs that impede even the simplest of operations and nobody knows how to develop on it.

That is why for my bachelor's thesis I managed to get it up and running again and added the necessary functionalities to make it the first simulator to run every instruction of the LEGv8 ISA [0].

I am trying to get it merged with the official one so that students and teachers can easily find it and finally use it in their courses, so if any of you uses that textbook in your teaching or you can pull a few internal strings at ARM maybe this could interest you.

[0] https://github.com/simdeistud/LEGv8-Simulator

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

#53
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,…

To my understanding Intel tried to move from x86 with Itanium. That's the consumers who wanted it to linger around.

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

#55

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?

But aren't there real architectures that are simple enough? Z80, MOS 6502, Pic, AVR?

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

#56
post #45

Earlier quoted context omitted.

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.

Shuffle is different, it is not a foundational SIMD instruction, it is actually a good example of an extension that can be added later as an add-on that does not require a complete code rewrite.

Whereas each of the MMX, SSE and AVX extensions was effectively a new instruction set, AND each had its own register set – 64, 128, 256 and 512 bit registers. Later generations (i.e. AVX2 and AVX-512) are better thought out, but, e.g. MMX – I do not think anyone uses it today, yet it is present in the silicon as the dead space.

Prior art existed long before – Cray had vector instructions first, so it is not like Intel had to invent them from scratch.

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

#59
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. :-)

64kb is a lot when you’re hand coding assembly. You just assemble to a .com file and pretend segments don’t exist.

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

#60
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. :-)

I think Linux uses it to implement thread-local storage.
Post reply on HN