Systems Architecture

How to program a computer:

  1. Create model for programmable digital computer

  2. Specify programming interface for each computer

  3. Specify a generic programming language that works for all computers (software)

  4. Design digital computers that match specific/general interface (hardware)

  5. Design software engineering techniques to simplify and optimise coding (software stack)

A platform (simplified) is a set of technologies common to many applications. ISA: list of instructions a computer can perform, grouped by type

Von Neumann Architecture — memory connects to CPU. CPU receives input and sends output.

CPU contains registers, arithmetic and logic unit, control unit.

How to compare ISA:

  1. Complexity of what the ISA can do (flexibility)
  2. Complexity for programmer (programmability)
  3. Complexity for the hardware (implementation cost)

Memory structure: