·
Terminologies
·
Hardware,
Software, Interface
·
The
computer design process and scope of the course
·
Moore’s
law and historical perspective
·
Application
of computer design principles in other designs
·
Signed
and Unsigned numbers
·
Binary
Addition and Subtraction
·
Improving
adder performance using Carry Look Ahead and Carry Select Adders
·
Multiplying
signed and unsigned numbers
·
IEEE
floating point number representation
·
Using
Verilog for design
·
Basic
organization
·
Von
Neumann machine, memory, registers
·
Data
movement
·
Logical
operations
·
Arithmetic
operations
·
Instructions
for making decisions
·
Supporting
procedures in hardware
·
MIPS
addressing
·
Translating
and starting a program
·
Writing
recursive program in assembly language
·
Using
SPIM simulator
·
CPU
performance factors
·
Basic
performance evaluation
·
Simple
implementation scheme
·
Multicycle
datapath implementation
·
Control
system design using state machines
·
Pipelined
datapath
·
Pipelined
control
·
Data
Hazards and stalls
·
Branch
Hazards
·
The
basics of Cache
·
Measuring
and improving cache performance
·
Virtual
memory
·
Disk
storage and dependability
·
Direct
mapped and memory mapped IO
·
Simple
peripheral control design
·
Power
issues
·
Superscalar
architecture
·
Multi-core
design: benefits and disadvantages