ECE3055 Computer Architecture and Operating Systems Lecture 1 Introduction Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute of Technology 1 Objectives To Learn Core concepts of microprocessor architecture ISA (review of 2030) Pipelining Hazards Cache/Memory hierarchy Memory management Core concepts of operating systems Processes/threads Protection Resource Management Scheduling File System 2 Course Information Web page: http://www.ece.gatech.edu/~leehs/ECE3055 Will be constantly updated, so check it out regularly Prerequisite: ECE2031 Digital Design Lab Textbooks Patterson and Hennessey, Computer Organization & Design: The Hardware/Software Interface (3rd edition), Morgan Kaufmann, 2004. ISBN 1-55860604-1. Silberschatz, Galvin, and Gagne, Operating System Concepts with Java (6th edition), John Wiley, 2004. ISBN 0471489050. 3 Grading Policy 5 Programming Assignments: 35% (5, 10, 10, 5, 5%) Individual work, no collaboration Due in the first 5 min before class starts No late turn-in will ever be accepted Exams 3 in-class exams: 45% (15% each, dates TBD) Final: 20% (date on Oscar) Final Grade is relative to your peer in class 4 Part I: Patterson & Hennessy book 5 Introduction Rapidly changing field: vacuum tube -> transistor -> IC -> VLSI (see section 1.4) doubling every 1.5 years: memory capacity processor speed (Due to advances in technology and organization) Things you’ll be learning: how computers work, a basic foundation how to analyze their performance (or how not to!) issues affecting modern processors (caches, pipelines) Why learn this stuff? you want to call yourself a “computer scientist” you want to build software people use (need performance) you need to make a purchasing decision or offer “expert” advice 6 Moore’s Law P4 Extreme Ed. 178 millions w/ 2MB L3 IBM latest POWER5 has 276 million transistors Intel Dual-Core Xeon (P4-based Tulsa) w/ 16MB unified L3: 1.328 billion, 2006 2,250 Core 2 Duo (Conroe) 291 millions, July 2006 42 millions Exponential growth Transistor count will be doubled every 18 months Gordon Moore, Intel co-founder 7 Integrated Circuits Capacity 8 Feature Size We are currently at 0.09µm and moving towards 0.065µm 9 Average Transistor Cost Per Year 10 What is a computer? Components: Processor(s) Co-processors (graphics, security) Memory (disk drives, DRAM, SRAM, CD/DVD) input (mouse, keyboard, mic) output (display, printer) network Our primary focus: the processor (datapath and control) implemented using millions of transistors Impossible to understand by looking at each transistor We need... 11 Abstraction High Level Language main() { int i,b,c,a[10]; for (i=0; i<10; i++)… a[2] = b + c*i; } Compiler ISA … lw r2, mem[r7] add r3, r4, r2 st r3, mem[r8] Delving into the depths reveals more information An abstraction omits unneeded detail, helps us cope with complexity What are some of the details that appear in these familiar abstractions? Assembler 12 A Typical PC System Architecture 13 A Typical PC Motherboard (D975XBX) 14 A Typical PC Motherboard (D975XBX) 15 Instruction Set Architecture A very important abstraction interface between hardware and low-level software standardizes instructions, machine language bit patterns, etc. advantage: different implementations of the same architecture disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? Modern instruction set architectures: 80x86 (aka iA32), PowerPC (e.g. G4, G5) Xscale, ARM, MIPS Intel/HP EPIC (iA64), AMD64, Intel’s EM64T, SPARC, HP PA-RISC, DEC/Compaq/HP Alpha 16 Where we are headed Performance issues A specific instruction set architecture Arithmetic and how to build an ALU Constructing a processor to execute our instructions Pipelining to improve performance Memory: caches and virtual memory I/O I will try to cover as much as possible, but do not forget we have another half of the semester for OS 17