Low Level Programming
June 6, 2025
Actually, “registers” are just memory locations. It’s a speed-of-light thing. The closer that the memory cells are to hardware logic, the faster everything runs. You have to make design decisions. If you design-in too many registers, the footprint of the circuit becomes so large that wires need to be longer and things run slower.
Register memory cells and RAM memory cells have different addressing modes. Addressing of ‘’registers“ is usually built into the opcodes. Addressing of RAM is done by using the address bus needing more transistor-chaining cycles.
L1/L2/Ln caches are just post-1960s kinds of registers.
Rhetorical question: define “low level programming”.
I think that “low level programming” is programming, whereas what we currently call “programming” is but a useful paradigm laid over top of, and severely restricting, true low level programming. Computer Science has repurposed the word “programming” to mean cranking equations, whereas I think of “programming” to mean dealing with reprogrammable electronic machines, which includes thinking about details like mutation, control flow, etc.
See Also
Email: ptcomputingsimplicity@gmail.com
References: https://guitarvydas.github.io/2024/01/06/References.html
Blog: guitarvydas.github.io
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/65YZUh6Jpq
Leanpub: [WIP] https://leanpub.com/u/paul-tarvydas
Gumroad: tarvydas.gumroad.com
Twitter: @paul_tarvydas
Substack: paultarvydas.substack.com

