1. Introduction
1.1. Introduction
CPU performance factors
Instruction count
Determined by ISA and compiler
CPI and Cycle time
Simple subset, shows most aspects
Memory reference :
lw
,
sw
Arithmetic/logical :
add
,
sub
,
or
,
slt
Control transfer :
beq
,
j
1.2. Introduction Execution
Instruction fetch
→ PC가 가르키고 있는 instruction을 memory로부터 읽어 옴
PC → instruction memory, fetch instruction
Instruction decoding
and
register prefetch
→ register를 읽음
Decodes instruction
→ 어떤 instruction인지 해석 ⇒
op code로 파악
Register number → register file, read registers
depending on instruction class
Use ALU to calculate
Arithmetic result
Memory address for load/store → memory address 계산하기 위해
Branch target address → branch target address를 계산하기 위해
Access data memory for load/store
PC ← target address or PC + 4
1.3. CPU Overview
1.4. Multiplexers
MUX를 사용
1.5. Control
2. Logic Design Conventions
2.1. Logic Design Basics
Information encoded in binary
Low voltage = 0, High voltage = 1
One wire per bit
Multi-bit data encoded on
multi-wire buses
Combinational element
Output is a function of input
input이 바로 output에 전달
ex) a + b = c