
I might add these:
- Computer Architecture, Fifth Edition: A Quantitative Approach - https://dl.acm.org/doi/book/10.5555/1999263
- Computer Organization and Design RISC-V Edition: The Hardware Software Interface - https://dl.acm.org/doi/10.5555/3153875
both by Patterson and Hennessy
Edit: And if you want to get into CPU design and can get a grip on "Advanced Computer Architecture: Parallelism, Scalability, Programmability" by Kai Hwang, then i'd recommend that too. It's super old and probably some things are made differently in newer CPUs, but it's exceptionally good to learn the fundamentals. Very well written. But I think it's hard to find a good (physical) copy.
see http://www.amazon.co.uk/Advanced-Computer-Architecture-Proce...
It seems to me that the techniques that were in silicon then are being brought into kernels today. Crays ran a modified BSD4.3. All we need now is someone to say Hypercube.
Today's HPC is pretty messy. Driven by MPI and Fortran they have even pushed the Linux kernel out of contention by using OS-Bypass because the kernel is too slow getting bytes on the wire. In Plan9 we are experimenting with Syscall currying to reduce latency
http://iwp9.quanstro.net/papers/usecsys.pdf
I've drifted a bit because I wanted to use this quote :
"You want to make your way in the CS field? Simple. Calculate rough time of amnesia (hell, 10 years is plenty, probably 10 months is plenty), go to the dusty archives, dig out something fun, and go for it. It's worked for many people, and it can work for you." - Ron Minnich
oh if you liked that pdf here's another one about Plan9 on the Blue Gene