What is Computer Architecture?

Computer Organization + Instruction Set Design (TODO)

  • Computer Architect (building architect)
    • high-level design
    • organization
    • functionality
    • performace
    • power/security/…
  • Hardware Designer (builder, construction engineer)
    • materials
    • implementation details Can also think of it as:
  • First computer science discipline
    • the first computer scientists, eckert and machly, John von Neumann, maurice wilkes, and alan turing — were computer architects.
  • The part of the machine that is visible to the user (programmer/compiler-write/ OS writer/user)
    • software interface (instruction Set Design)
    • performance(Computer Org)
    • power, energy, security, etc(Computer Org)

Goals of Good Instruction Set Design and Computer Organization

PERFORMANCE!!! and power / energy / fault tolerance / fault avoidance / security

Why is Computer Architecture important?

  • You may actually do computer architecture someday
  • You may actually care about software performance someday
    • ability of application programs, compilers, OS, etc to deliver perf depends on understanding computer organization

The Forces on Computer Architecture

  • TODO: image

Instruction Set Architecture

  • That part of the program …
  • Examples:
    • Intel x86
    • RISC v
    • MIPS
    • ARM
  • TODO (image)
  • ISA provides a level of abstraction for both the hardware and the software

Machine Organization

  • After deciding on ISA design hardware to execute those programs as fast as possible
  • must be done every time a new implementation of the architecture is released, with typically very different technological constraints??? (TODO)

Challenges of Computer Architecture

  • TODO

Key Points (TODO)