The computer hierarchy

There are 7 levels we can study a computer at.

LevelNameContains
6UserExecutable Programs
5High-Level LanguagePython, Java, C++
4Assembly LanguageAssembly Code
3System SoftwareOperating System
2MachineInstruction Set Architecture
1ControlMicrocode or Hardwired
0Digital LogicCircuits or Logic Gates

Acronym: U HAS MCDonalds

6. User Level

This is the applications level, users typically interact with this level. At this level, users interact with different programs such as browsers, editors and games.

5. High-Level Language Level

This is the level at which programs written in languages such as Python, Java, and C++ exist. Programs written in high-level languages must first be compiled or interpreted then the assembly code can be executed.

4. Assembly Language Level

High-Level program instructions are translated into Assembly instructions which are then translated 1:1 to machine code (at level 2).

3. System Software Level

System software controls executing multiple processes on the system and protects system resources (e.g. from malicious software). These complex systems are referred to as operating systems.

2. Machine Level

This is also referred to as the Instruction Set Architecture, it consists of instructions that are specific to the architecture of the machine. They are not portable. Programs written in machine code do not need compilers, interpreters or assemblers.

1. Control Level

A control unit decodes and executed instructions. These can be microprogrammed or hardwired.

  • A microprogram is a program written in a low-level language that is implemented by the hardware.
  • Hardwired CUs consist of hardware that directly executed machine instructions.

0. Digital Logic

This level consists of digital circuits and microchips.

  • Digital circuits consists of gates and wires.
  • Physical components (such as transistors and resistors) implement mathematical logic.
    • These are a requirement for all the other levels.