Introduction to Computer Organization What is inside a computer? How does it execute my program? ?
System Organization I/O Bus Memory Bus Core Chip Set interrupts Processor Cache Memory Bus I/O Bridge Core Chip Set I/O Bus Main Memory Disk Controller Graphics Controller Network Interface Graphics Disk Disk Network
What is Computer Architecture? Coordination of levels of abstraction Application Software Operating System Interface Between HW and SW Compiler Firmware Instruction Set Architecture, Memory, I/O CPU Memory I/O system Digital Design Circuit Design Hardware Under a set of rapidly changing Forces
Coordination of many levels of abstraction Application (Netscape) Operating Compiler System (Windows 98) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors Coordination of many levels of abstraction
Computer System: Layers of Abstraction Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms Software Hardware
Levels of Representation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Assembly Language Program Assembler 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Language Program Machine Interpretation Control Signal Specification
Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. = = PDA Workstation Supercomputer PDA (Personal Digital Assistant)
Evolution of Multilevel Machines Bare hardware Microprogramming Operating system Compilers Hardware / software interface Simple ISA CISC RISC EPIC (Explicitly Parallel Instruction Computing)
RISC and CISC designs Reduced Instruction Set Computer (RISC) Uses simple instructions Operands are assumed to be in processor registers Not in memory Simplifies design Example : Fixed instruction size Complex Instruction Set Computer (CISC) Uses complex instruction Operands can be in registers or memory Instruction size varies Typically uses a microprogram
Computer Organization Von Neumann Machine Processor Accumulator หน่วยความจำส่วนที่ใช้เก็บผลที่ได้จากการคำนวณ โดยเก็บเอาไว้ในตำแหน่ง ของ register
Processor and Caches To main memory Processor Processor Module External Cache Datapath Registers Internal Cache Control Processor To main memory
Datapath Memory I/O
Bus-Based Computer
Anatomy of a Modern PC (Peripheral Component Interconnet) (Industry Standard Architecture)
Multiprocessors
Forces on Computer Architecture Programming Technology Languages Applications Computer Architecture Operating Systems History (A = F / M)
Applications and Languages CAD, CAM, CAE, . . . Lotus, DOS, . . . Multimedia, . . . The Web, . . . JAVA, . . . The Net => ubiquitous computing ???
Where are We Going?? מבנה מחשבים Arithmetic Single/multicycle Datapaths µProc 60%/yr. (2X/1.5yr) DRAM 9%/yr. (2X/10 yrs) 1 10 100 1000 1980 1981 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 CPU 1982 Processor-Memory Performance Gap: (grows 50% / year) Performance Time “Moore’s Law” מבנה מחשבים IFetch Dcd Exec Mem WB Pipelining Memory Systems I/O