A Note on Hardware vs. Software
- This course might seem like it is only "Computer Hardware"
- However, you will be much more capable if yout master both hardware and software (and the interface between them)
-- Can develop better software if you understand the hardware
-- Can design better hardware if you understand the software
-- Can design a better computing system if you understand both
- This course covers the HW/SW interface and microarchitecture
-- We will focus on tradeoffs and how they affect software
- Recall the example chips & platforms we surveyed
What is A Computer?
- Three key components
- Computation
- Communication
- Storage/memory
Computing System
Computing Unit
<-> Communication Unit
<-> Memory/Stoage Unit(Memory System, Storage System)
- We will cover all three components
|Processing | |Memory |
|control(sequencing) | <-> |(program and data)| <-> I/O
|datapath | | |
What We Will Cover (1)
- Combinational Logic Design
- Hardware Description Languages (Verilog)
- Sequential Logic Design
- Timing and Verification
- ISA (MIPS and LC3b as examples)
- Assembly Programming
Problem
Algorithm
Program/Language
System Software
SW/HW Interface