Computer Organization ECE 445 Computer Organization Course Web Site http://www.engr.uconn.edu/~ibrahim/hardware 11/10/2018 445_01 RJH
Textbooks Computer Organization, 5th ed. ECE 445 Textbooks Computer Organization, 5th ed. Carl Hamacher, Zvonko Vranesic, Safwat Zaky 11/10/2018 445_01 RJH
Computer Functional Units ECE 445 Computer Functional Units I/O Processor Input Arithmetic & Logic Memory Output Control 11/10/2018 445_01 RJH
Course Organization Computer Structure (Ch 1) ECE 445 Course 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) 11/10/2018 445_01 RJH
Computer Information (Binary) ECE 445 Computer Information (Binary) (Machine) Instructions (Machine Language) Programs Data 2's complement BCD ASCII 11/10/2018 445_01 RJH
I/O Input Output Serial Communications Keyboard Mouse Microphone ECE 445 I/O Input Keyboard Mouse Microphone Camera Scanner Output Display Printer Speakers Serial Communications Network Modem 11/10/2018 445_01 RJH
Memory Primary Organization Secondary Hierarchy ECE 445 Memory Primary Random Access Memory (RAM) Read Only Memory (ROM) Organization Word Address Read/Write Secondary Magnetic Disks Tape Optical Disks Hierarchy Cache Main Virtual 11/10/2018 445_01 RJH
ALU Arithmetic Logic Registers Addition Subtraction Multiplication ECE 445 ALU Arithmetic Addition Subtraction Multiplication Division Comparison Logic AND OR NOT XOR Registers Store Shift 11/10/2018 445_01 RJH
Control Unit Coordinates/Directs other Units Computer Operation Input ECE 445 Control Unit Coordinates/Directs other Units Computer Operation Input Program/Data stored in Memory Processing Information fetched into Registers Processed by ALU Output 11/10/2018 445_01 RJH
History First Generation (miliseconds) ECE 445 History 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 11/10/2018 445_01 RJH
History Third Generation Fourth Generation (nanoseconds) ECE 445 History Third Generation Integrated Circuits Microprogramming Parallelism/Pipelining Operating Systems (sharing) Cache/VM Fourth Generation (nanoseconds) VLSI (Single Chip Microprocessor) Personal Computers Networks 11/10/2018 445_01 RJH
Computer Functional Units ECE 445 Computer Functional Units I/O Processor Input Arithmetic & Logic Memory Output Control 11/10/2018 445_01 RJH
Control Unit Arithmetic Logic Unit MAR - Memory Address Register ECE 445 Control Unit Arithmetic Logic Unit MAR - Memory Address Register MDR - Memory Data Register PC - Program Counter IR - Instruction Register 11/10/2018 445_01 RJH
Computer Instructions ECE 445 Computer 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] 11/10/2018 445_01 RJH
The “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. 11/10/2018 445_01
Arithmetic/Logic Unit Control Unit Instruction Register Data Register instruction fetch Program Counter Data Register instruction Memory 11/10/2018 445_01
Instruction Fetch CPU PC IR Memory MAR MDR Memory Control instruction address Bus instruction 11/10/2018 445_01
Arithmetic/Logic Unit Control Unit instruction execute Instruction Register Data Register Program Counter Data Register data Memory data 11/10/2018 445_01
Instruction Execution CPU IR R1 Memory MAR MDR Memory Control operand (data) address Bus data 11/10/2018 445_01
Example Instruction Fetch Execute MOVE NUM1,R1 MAR [PC] ECE 445 Example Instruction MOVE NUM1,R1 Fetch MAR [PC] PC [PC] + 1 MDR [MEM([MAR])] IR [MDR] Execute MAR NUM1 MDR [MEM([MAR])] R1 [MDR] 11/10/2018 445_01 RJH
Another Example Fetch Execute ADD #1,R1 MAR [PC] PC [PC] + 1 ECE 445 Another Example ADD #1,R1 Fetch MAR [PC] PC [PC] + 1 MDR [MEM([MAR])] IR [MDR] Execute R1 1 + [R1] 11/10/2018 445_01 RJH
Single-Bus Structure Input Output Memory Processor 11/10/2018 445_01 ECE 445 Single-Bus Structure Input Output Memory Processor 11/10/2018 445_01 RJH
System Software Compiler Assembler Text Editor Operating System ECE 445 System 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 11/10/2018 445_01 RJH
Memory Performance Main Processor Memory Cache Memory 11/10/2018 ECE 445 Memory Performance Main Memory Processor Cache Memory 11/10/2018 445_01 RJH
Processor Clock Period (P) Rate (R) R = 1/P 1 GHz = 1/1ns CLK ECE 445 Processor Clock CLK Period (P) Rate (R) R = 1/P 1 GHz = 1/1ns 11/10/2018 445_01 RJH
Performance Equation Processor Execution Time (T) ECE 445 Performance 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 11/10/2018 445_01 RJH
Pipelining F1 E1 I1 F2 E2 I2 F3 E3 I3 Sequential Execution F1 E1 I1 F2 ECE 445 Pipelining F1 E1 I1 F2 E2 I2 F3 E3 I3 Sequential Execution F1 E1 I1 F2 E2 I2 F3 E3 I3 Pipelined Execution 11/10/2018 445_01 RJH
Parallel Processing Parallel Execution Multiprocessors Multicomputers ECE 445 Parallel Processing Parallel Execution Superscalar Multiprocessors Shared-Memory Multicomputers Message-Passing 11/10/2018 445_01 RJH
Multiprogramming 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). 11/10/2018 445_01
Multiprogramming Multiprocessing: 1) Multiprogramming 2) Parallel processing (multiple processors) depending on context Multitasking: 1) Multiprogramming 2) A particular form of multiprogramming depending on context 11/10/2018 445_01
Figure 1.4. User program and OS routine sharing of the processor. Printer Disk OS routines Program t t t t t t 1 2 3 4 Time 5 Figure 1.4. User program and OS routine sharing of the processor. Figure 1.4. User program and OS routine sharing of the processor. 11/10/2018 445_01
CISC vs RISC Complex Instruction Set Computers (CISC) ECE 445 CISC vs RISC Complex Instruction Set Computers (CISC) Smaller N Larger S Reduced Instruction Set Computers (RISC) Larger N Smaller S Easier to Pipeline 11/10/2018 445_01 RJH