Term Definitions
- Instruction: a single operation a processor can perform
- Instruction Set
- Architecture: An abstract specification of a computer’s hardware—an interface—in order to be able to write software for it. (a contract between HW and SW to interact)
- Micro-architecture: the actual implementation of the architecture design
- Computer: machine that follows simple instructions deterministically
technology of the time, programming language design, operating system design, the applications to write, and the history of the architecture design.
OSes and languages may also be influenced by the design of the architecture
The Five Component of a Computer are: Processor(CPU) / Control / Datapath / Memory / IO.
Moore’s Law determines the trend of
C Programming Language
Unix invented by: Ken Thompson
C language by: Dennis Ritche
(Think of it as: Newton, to create a new branch of science—physics—, invented calculus to make it possible.)
The contraints of technology of the time shaped the design of C.
Limitations of: compiler size / code size / performance / portability
→ became a portable assembly language
Didn’t consider: security / robustness / maintainability / legacy code