Cpu - Memory (Disk Drives, DRAM, SRAM, CD) - Input (Mouse, Keyboard) - Output (Display, Printer) - Network - Software
Cpu - Memory (Disk Drives, DRAM, SRAM, CD) - Input (Mouse, Keyboard) - Output (Display, Printer) - Network - Software
Cpu - Memory (Disk Drives, DRAM, SRAM, CD) - Input (Mouse, Keyboard) - Output (Display, Printer) - Network - Software
Hardware:
Instruction set processing
I/O System
Digital design
Circuit design
Layout
Computer Architecture =
Instruction Set Architecture +
Machine Organization
Instruction Set Architecture
• Organization of Programmable Storage
• Data type and Structures: encodings and machine representation
• Instruction set
• Instruction Formats
• Addressing Modes and Accessing Data and Instructions
• Exception Handling
Computer Organization
instruction set
hardware
What is “Computer Architecture”?
Application
Operating
System
Compiler Firmware
Instruction Set
Architecture
Instr. Set Proc. I/O system
Datapath & Control
Digital Design
Circuit Design
Layout
Data
Register #
PC Address Instruction Registers ALU Address
Register #
Instruction
memory Data
Register # memory
Data
Software level
C:
•A=B+C
Assembler
• B -> $s1, C -> $s2
• add $t0, $s1, $s2
• $t0 -> A
Machine instruction:
op rs rt rd … funct
• decimal: 0 17 18 8 0 32
• binary: 000000 10001 10010 01000 00000 100000
0
M
u
x
ALU
Add result 1
Add Shift PCSrc
RegDst left 2
4 Branch
MemRead
Instruction [31 26] MemtoReg
Control
ALUOp
MemWrite
ALUSrc
RegWrite
Instruction [5 0]
Register file and ALU
ALU operation
Read 3
register 1 Read
Read data 1
register 2 Zero
Instruction
Registers ALU ALU
Write result
register
Read
Write data 2
data
RegWrite
Inside register file
Write
Read register
number 1
C
Register 0 0
Register 0
Register 1 1 D
M
u Read data 1 n-to-1 C
x Register number
Register n – 1 decoder Register 1
Register n D
n– 1
Read register n
number 2
C
M Register n – 1
u Read data 2 D
x
C
Register n
Register data D
Arithmetic Logic Unit (ALU)
CarryIn Operation
a0 CarryIn
Result0
ALU operation b0
ALU0
CarryOut Operation
CarryIn
a
a1 CarryIn
a
Zero ALU1
Result1 0
b1
ALU Result CarryOut
Overflow 1
Result
b a2 CarryIn
Result2 2
ALU2
b2 b
CarryOut
CarryOut
CarryOut
a31 CarryIn
Result31
ALU31
b31
ALU: Carry Out logic
CarryIn or
Sum
CarryIn
b
a
CarryOut
CarryOut
Logic gates
1. AND gate (c = a . b) a b c=a.b
0 0 0
a
c 0 1 0
b
1 0 0
1 1 1
2. OR gate (c = a + b) a b c=a+b
0 0 0
a
c 0 1 1
b
1 0 1
1 1 1
3. Inverter (c = a) a c=a
a c 0 1
1 0
4. Multiplexor d d c
(if d = = 0, c = a;
else c = b) 0 a
a 0 1 b
c
b 1