Low-Level Computing Resources

Comments recommend courses, books, and projects like Nand2Tetris, assembly for classic CPUs (e.g., 6502, 8086), and FPGA implementations to understand computer architecture from logic gates to software.

➡️ Stable 0.5x Hardware
3,360
Comments
20
Years Active
5
Top Authors
#57
Topic ID

Activity Over Time

2007
2
2008
20
2009
61
2010
87
2011
92
2012
110
2013
125
2014
184
2015
133
2016
219
2017
180
2018
235
2019
218
2020
267
2021
246
2022
340
2023
271
2024
261
2025
300
2026
9

Keywords

e.g CPU MIPS ARM hackernewsbooks.com STORE PC computerenhance.com VHDL JVM assembly 6502 nand instruction tetris gates recommend computer learning computers

Sample Comments

user_7832 Oct 19, 2022 View on HN

Not really identical, but I'd recommend the course Nand to Tetris (I believe on YouTube/also some online platforms) and this introduction to assembly - https://github.com/hackclub/some-assembly-required

rustcharm Oct 2, 2018 View on HN

Why not assembly language? Learn a simple one in a simulator (like 6502 or 8080).

linuxlizard Oct 16, 2018 View on HN

Seconded! Also play with assembly language for a small CPU, even in an emulator. Doing assembly in the 68k and Z80 really helped me grok computers. Even the old assembly makes super CPUs of today more understandable.

tsuraan Oct 28, 2009 View on HN

Perhaps it's not too popular, but VHDL or Verilog are a ton more useful for learning about how a machine works. Seriously, writing some x86 assembly teaches you a thing or two, but implementing a full CPU from the design of the ISA to putting it on an FPGA is the way to go. Once you've done that, all the magic is gone, and computers are completely transparent and understandable.

ActorNightly Sep 30, 2024 View on HN

Nandgame is very good, id skip the nand2tetris as its a bit outdated.My recommendation is to move to playing around with microcontrollers and writing stuff in C for them, compiling it to assembly and understanding what each instruction does.Past that, there is the whole "how to write an OS" which is a fairly complicated topic. You can skip that as you are never gonna really be in that area unless you are working on consumer facing product that needs some ABI.You can go stra

GuestHNUser Aug 9, 2023 View on HN

OP, you should take a look at Casey Muratori's course at computerenhance.comThe first part of the course's homework creates a simulator of the 1978 intel 8086 (which modern x86_64 assembly still closely resembles). You will learn a lot of things about computers that are really difficult to find elsewhere.

pamoroso Jun 30, 2022 View on HN

I recommend Assembly, specifically for classic 8-bit CPUs like the Z80 or 6502. Assembly is unique and fun and, if you go with the classics, the learning curve is shallower and you won't be distracted by the constraints of modern chips such as pipelining and power consumption.

__rito__ Oct 4, 2023 View on HN

Please consider reading and working through nand2tetris.It's really great.

xavierJohnson Jul 28, 2016 View on HN

Start learning 8086 or more commonly known a x86 Assembly... That will get you much closer to the hardware and will give you entirely new sets of problems to solve and an immense knowledge of how computers work.Guaranteed to make you a better software engineer.

spoiler Sep 16, 2022 View on HN

I personally doubt you'll get anything out of this route, but maybe I'm not seeing a line of reasoning that led to this.On a more helpful note, I'd check out a few books (try https://hackernewsbooks.com) and then pick a subject/domain you find interesting and create a small project to use as a learning medium.Also, to tinker with assembly you could start with simple but interactive processor an