Title: Computer Organization
1Computer Organization
- Course Web Site
- http//www.engr.uconn.edu/ibrahim/hardware
2Textbooks
- Computer Organization, 5th ed.
- Carl Hamacher, Zvonko Vranesic, SafwatZaky
3Computer Functional Units
Arithmetic Logic
Input
Memory
Control
Output
4Course Organization
- Computer Structure (Ch 1)
- Instruction Sets Addressing Modes (Ch 2)
- Control Unit Design (Ch 7)
- Computer Arithmetic (Ch 6)
- Memory (Ch 5)
- Input/Output (Ch 4)
- Pipelining (Ch 8)
- Embedded Systems (Ch 9)
5Computer Information (Binary)
- (Machine) Instructions
- (Machine Language) Programs
- Data
- 2's complement
- BCD
- ASCII
6I/O
- Output
- Display
- Printer
- Speakers
- Input
- Keyboard
- Mouse
- Microphone
- Camera
- Scanner
- Serial Communications
- Network
- Modem
7Memory
- Primary
- Random Access Memory (RAM)
- Read Only Memory (ROM)
- Organization
- Word
- Address
- Read/Write
- Secondary
- Magnetic
- Disks
- Tape
- Optical Disks
- Hierarchy
- Cache
- Main
- Virtual
8ALU
- Arithmetic
- Addition
- Subtraction
- Multiplication
- Division
- Comparison
9Control Unit
- Coordinates/Directs other Units
- Computer Operation
- Input
- Program/Data stored in Memory
- Processing
- Information fetched into Registers
- Processed by ALU
- Output
10History
- First Generation (miliseconds)
- von Neumann (stored program)
- Vacuum Tubes
- Magnetic Core Memory
- Teletypes/Magnetic Tapes
- Second Generation (microseconds)
- Transistor
- High-level Languages (Fortran)
- Compilers
- I/O Processors
11History
- Third Generation
- Integrated Circuits
- Microprogramming
- Parallelism/Pipelining
- Operating Systems (sharing)
- Cache/VM
- Fourth Generation (nanoseconds)
- VLSI (Single Chip Microprocessor)
- Personal Computers
- Networks
12Computer Functional Units
Arithmetic Logic
Input
Memory
Control
Output
13Control Unit
Arithmetic Logic Unit
MAR - Memory Address Register MDR - Memory Data
Register
PC - Program Counter IR - Instruction Register
14Computer Instructions
- Assembly Language
- MOVE NUM1,R1
- MOVE 1,R2
- ADD 1,R1
- ADD R1,R2
- Register Transfer Notation
- R1 ? NUM1
- R2 ? 1
- R1 ? 1 R1
- R2 ? R1 R2
15The fetch-execute cycle
- Fetch the instruction whose address is in the
program counter - Increment the PC so it holds the address of the
next instruction - Execute the instruction just fetched
- Fetch the next instruction
- Etc.
16Arithmetic/Logic Unit
Control Unit
Instruction Register
Data Register
instruction fetch
Program Counter
Data Register
instruction
Memory
17Instruction Fetch
CPU
PC
IR
Memory
MAR
MDR
Memory Control
instruction address
Bus
instruction
18Arithmetic/Logic Unit
Control Unit
instruction execute
Instruction Register
Data Register
Program Counter
Data Register
data
Memory
data
19Instruction Execution
CPU
IR
R1
Memory
MAR
MDR
Memory Control
operand (data) address
Bus
data
20Example Instruction
MOVE NUM1,R1
- Fetch
- MAR ? PC
- PC ? PC 1
- MDR ? MEM(MAR)
- IR ? MDR
- Execute
- MAR ? NUM1
- MDR ? MEM(MAR)
- R1 ? MDR
21Another Example
ADD 1,R1
- Fetch
- MAR ? PC
- PC ? PC 1
- MDR ? MEM(MAR)
- IR ? MDR
22Single-Bus Structure
Memory
Processor
Input
Output
23System Software
- Compiler
- High-level Language ? Machine Language
- Assembler
- Assembly Language ? Machine Language
- Text Editor
- Keyboard Input ? File
- Operating System
- Control Sharing Interaction
- Assign Manage Resources
- Memory
- Disk Space
- Handle I/O
24Memory Performance
Main Memory
Processor
Cache Memory
25Processor Clock
CLK
26Performance Equation
- Processor Execution Time (T)
- Number of Machine Language Instructions (N)
- Average Steps per Machine Instruction (S)
- Clock Rate (R)
- MIPS Millions of instructions per second
- Megaflops Millions of floating point operations
per second - Megahertz Millions of clock cycles per second
27Pipelining
28Parallel Processing
- Parallel Execution
- Superscalar
- Multiprocessors
- Shared-Memory
- Multicomputers
- Message-Passing
29Multiprogramming
Multiprocessing, multitasking. A system that
provides for concurrent execution of multiple
programs, i.e., manages multiple
processes Programs share use of the processor
(take turns).
30Multiprogramming
1) Multiprogramming 2) Parallel processing
(multiple processors)
Multiprocessing
depending on context
Multitasking
- 1) Multiprogramming
- 2) A particular form of multiprogramming
depending on context
31Printer
Disk
OS
routines
Program
t
t
t
t
t
t
1
2
3
4
5
Time
0
Figure 1.4. User program and OS routine sharing
of the processor.
Figure 1.4. User program and OS routine
sharing of the processor.
32CISC vs RISC
- Complex Instruction Set Computers (CISC)
- Smaller N
- Larger S
- Reduced Instruction Set Computers (RISC)
- Larger N
- Smaller S
- Easier to Pipeline