Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Processor Design: An Introduction (1998) (gamezero.com)
84 points by ibobev on Nov 19, 2022 | hide | past | favorite | 14 comments


Does anyone know of resources similar to this, but more advanced? Especially, what is state of the art in terms of architectures and implementations?


Computer Architecture: A Quantitative Approach by Hennessy and Patterson: https://www.elsevier.com/books/computer-architecture/henness... is the standard text in this area, though it's more focused on architecture and microarchitecture design rather than the actual circuitry.

Computer Organization and Design https://www.elsevier.com/books/computer-organization-and-des... is a similar book but at a more basic level

Digital Design and Computer Architecture https://www.elsevier.com/books/digital-design-and-computer-a... is more hands on, taking you through how to build a RISC-V CPU in verilog


I strongly recommend all programmers at least skim Hennessy and Patterson. It will give you a much better understanding of what's happening inside the processor, the cache hierarchy, etc. Not just how it operates, but _why_ it's designed that way and what tradeoffs were involved.


"Modern Processor Design" - John Shen and Mikko Lipasti

edit: There are also a lot of open-source out-of-order machines nowadays, ie. https://docs.boom-core.org/en/latest/

edit: Also, Onur Mutlu @ ETH Zurich has a lot of lectures on YouTube, highly recommended. https://www.youtube.com/c/OnurMutluLectures


The really advanced stuff is usually kept secret for obvious reasons, but if you're just looking for some OoO/superscalar stuff, Intel published a series of papers about the P6 microarchitecture and there are also plenty of patents (many of which are now expired) to refer to.

https://people.computing.clemson.edu/~mark/330/p6.html


IBM released their A2I and A2O cores https://en.wikipedia.org/wiki/IBM_A2 open source https://github.com/openpower-cores/

The A2I was used in the Blue Gene/Q supercomputer line. A2O is out of order variant which was not used in a product. They have multi-threading, hypervisor features, superscalar, etc. They are "real" cores, not state of the art but probably not too far off.

Not likely to be something you can easily just pick up and learn without good HDL knowledge and working understanding of processor implementations though.


This site covers a lot of FPGA projects: https://opencores.org/projects

Also interesting: https://openrisc.io

In general, at one time the full Sun Sparc Processor was available to developers (complete with transparent encrypted memory manager unit), but forget about finding the source these days. Also, it is a bit overwhelming for 1 person to cover. =)



Try this

https://inst.eecs.berkeley.edu/~cs152/sp22/

Previous years was teached by the RISCV creators. This year they have the MIPS creators as guest lecturer.


Related:

Processor Design: An Introduction (1998) - https://news.ycombinator.com/item?id=20805246 - Aug 2019 (16 comments)


Seems to have an error on the "or" logic explanation on the boolean algebra page under "rules of the game"?


0 or 0 = 0 0 or 0 = 1


Indeed. Also "compliment" should be "complement" if one wanted to be really picky.


For this level, please also check, in case you ever missed it, "the NAND game":

www.nandgame.com

Interactive, from transistor (or relay) to computer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: