Skip to content

Instantly share code, notes, and snippets.

@scott-fleischman
Last active February 13, 2020 21:14
Show Gist options
  • Save scott-fleischman/ebb9c7b66b61906f77a6cad2585e7724 to your computer and use it in GitHub Desktop.
Save scott-fleischman/ebb9c7b66b61906f77a6cad2585e7724 to your computer and use it in GitHub Desktop.
Low level resources

But How Do It Know - The Basic Principles of Computers for Everyone

http://buthowdoitknow.com/

MyCPU - Homebrew Computer

http://mycpu.thtec.org/www-mycpu-eu/index1.htm

How Computers Boot Up, The Kernel Boot Process

https://manybutfinite.com/post/how-computers-boot-up/
https://manybutfinite.com/post/kernel-boot-process/

Building an Operating System for the Raspberry Pi

https://jsandler18.github.io/

Learning operating system development using Linux kernel and Raspberry Pi

https://github.com/s-matyukevich/raspberry-pi-os

What's new in CPUs since the 80s and how does it affect programmers?

https://danluu.com/new-cpu-features/

A history of branch prediction from 1500000 BC to 1995

https://danluu.com/branch-prediction/

Software optimization resources

http://agner.org/optimize/

Google's BBR fixes TCP's dirty little secret

http://everythingsysadmin.com/2017/07/googles-bbr.html

Risc-V

RISC-V: The Free and Open RISC Instruction Set Architecture

Project IceStorm (FPGA)

http://www.clifford.at/icestorm/

Breaking the x86 ISA

https://www.youtube.com/watch?v=KrksBdWcZgQ

A processor is not a trusted black box for running code; on the contrary, modern x86 chips are packed full of secret instructions and hardware bugs. In this talk, we'll demonstrate how page fault analysis and some creative processor fuzzing can be used to exhaustively search the x86 instruction set and uncover the secrets buried in your chipset. We'll disclose new x86 hardware glitches, previously unknown machine instructions, ubiquitous software bugs, and flaws in enterprise hypervisors. Best of all, we'll release our sandsifter toolset, so that you can audit - and break - your own processor.

Eight-bit floating point

https://www.johndcook.com/blog/2018/04/15/eight-bit-floating-point/

NES Documentation (PDF)

http://nesdev.com/NESDoc.pdf

NES Reference Guide (Wiki)

http://wiki.nesdev.com/w/index.php/NES_reference_guide

6502 CPU Reference

https://web.archive.org/web/20020816174633/http://www.obelisk.demon.co.uk:80/6502/

The art of picking Intel registers

https://www.swansontec.com/sregisters.html

High-Performance Matrix Multiplication

https://gist.github.com/nadavrot/5b35d44e8ba3dd718e595e40184d03f0

Inside the Machine- An Illustrated Introduction to Microprocessors and Computer Architecture

(Book) https://nostarch.com/insidemachine.htm

Inside the die of Intel's 8087 coprocessor chip, root of modern floating point

http://www.righto.com/2018/08/inside-die-of-intels-8087-coprocessor.html

A2Z Computer: A computer invented, designed and built from scratch. Custom CPU on FPGA.

https://hackaday.io/project/18206-a2z-computer

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

https://www.youtube.com/watch?v=WDIkqP4JbkE

Everything You Always Wanted to Know About Fsync()

http://blog.httrack.com/blog/2013/11/15/everything-you-always-wanted-to-know-about-fsync/

You probably know more or less how databases (or things that look like one) store their data on disk in a permanent and safe way. Or at least, you know the basic principles. Or not?

x86 Bare Metal Examples

Dozens of minimal operating systems to learn x86 system programming.
https://github.com/cirosantilli/x86-bare-metal-examples

GPU

Raph Levien’s blog - GPU resources

https://raphlinus.github.io/gpu/2020/02/12/gpu-resources.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment