Skip to content
@bare-metal-edu

Bare Metal

Resources for learning computer organization from bare metal.

Vector art of 200 in hex, subtitle of course: Bare Metal in pale green and printer's black

Canonical course description

A study of the low-level operation of computer systems. Participating in hands-on activities that often require teamwork, students investigate how computers process instructions in modern computers as information is encoded, stored, and executed in a machine’s physical structures. In addition to learning how to program in assembly and machine languages, students investigate the design and logical operation of processors and the mathematics of machine computation.

Learning objectives

  • Explain how programs written in high-level computer programming languages execute using lower-level computer circuitry
  • Identify levels of the Memory Hierarchy and the implications of using the various levels to implement high-performance programs
  • Develop C and Assembly language programs which use the appropriate levels of the Memory Hierarchy and processor registers to create performant, executable programs and arithmetic logic units
  • Describe and use parallel processing techniques to increase a program’s performance and efficiency
  • Integrate hardware and software components using original C and Assembly language code to develop hardware-based, performant computational projects

Popular repositories Loading

  1. gdbuddy gdbuddy Public

    Image of GitHub Actions self-hosted hardware-in-the-loop runner for Raspberry Pi Pico WH and other embedded devices.

    Tcl 1

  2. .github .github Public template

  3. assignment-gates-from-transistors assignment-gates-from-transistors Public template

    Assignment exploring building basic logic gates from silicon transistors.

  4. assignment-digital-logic assignment-digital-logic Public template

  5. assignment-binary-math assignment-binary-math Public template

  6. assignment-basic-computer-circuits assignment-basic-computer-circuits Public template

Repositories

Showing 10 of 12 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…