1CS 365 1CS 365: Computer SystemsArchitectureSpring 2006, Section 002Prof. Yih HuangCS 365 2Welcome to CS365 Instructor: Yih (Ian) Huang– Office: ST2, 443– Office Hours: Wednesday 1 to 3pm– Email: [email protected] All course materials will be available at the course home pagecs.gmu.edu/~huangyih/3652CS 365 3 Check the course page before class. You are responsible for– Print out slides before class– Complete reading assignments after class We will also use emails for communications; you must have a GMU account and check the account for messages daily.CS 365 4Teaching Assistant TA: Abhilasha ChaudharyOffice: 365 S&T II Office Hours: TBA Email:[email protected] 365 5Textbook Required: Hennessy/Patterson, Computer Organization & Design, 3rdEdition. Slides, available on the course home page–Contributions by Dr. Setia, Dr. Chen, and Dr. Simon are gratefully acknowledgedCS 365 6Prerequisites CS 265 (Assembly Language Programming) ECE 301 (Digital Logic) Understanding of binary numbers, 2’s complement numbers are fundamental to the course.4CS 365 7Grading Midterm exam (25%) Final Exam (40%) Quizzes and Assignments (35%) Grading is proficiency-based (no curve). Cutoffs will be in the vicinity of, but not higher than:A > 95%, A- > 90%, B+ > 85%, B > 80%, C > 70%, D > 60%CS 365 8Quizzes and Assignments There will be weekly/biweekly quizzes. Quizzes also serve as roll calls.– There will be no make-ups– If you cannot attend a class for good reasons, inform me in advance and the quiz is waived. Late assignment policy:– Unless under prearranged conditions, no late assignments will be accepted5CS 365 9Introduction What does your shining new PC reallyknow?– The Start button?– Word processing?– Counter your moves in Doom? The processor knows very little. It merely follows instructions provided by humans.– All intelligence is oursCS 365 10Programs Programs are instructions we give to computers to follow. High level language programstemp = v[k];v[k] = v[k+1];v[k+1] = temp;6CS 365 11 Assembly languagelw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2) Machine language0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 CS 365 12Instruction Set A processor is hardwired to perform a set of very primitive actions, called machine instructions.– Integer arithmetic– Floating point arithmetic– Change of control flow based on (simple) conditions Machine instructions are expressed as binary numbers.7CS 365 13Languages Assembly languages allow us to give machine instructions in a relatively convenient way.– The machine does not understand assembly language– A translator, assembler, is needed High level language allow us to give instructions in human-friendly notations.– Very complicated translators, called compilers, needed to produce machine instructions.CS 365 14Instruction Set ArchitectureInstruction SetUserApplicationCompiler FirmwareOperating SystemI/O systemInstr. Set Proc.Digital DesignCircuit DesignDatapath & Control LayoutTransistors / SemiconductorElectrons / Holes8CS 365 15Computer ArchitectureComputer Architecture =Instruction Set Architecture +Machine OrganizationInstruction Set Architecture is the interface between the hardware + software–Focus of next few classesCS 365 16Course Objectives By the end of the semester, you will understand– the interface between software and hardware– how the hardware executes the program– what determines computer performance and how to improve it It will help you – Appreciate how much existing software is doing for you– Procure a comprehensive understanding of this modern beast called computer– Be a better programmer9CS 365 17Topics Instruction set architecture MIPS instruction set Performance issues Arithmetic and how to build an ALU Constructing a processor Pipelining to improve performance Caches and virtual memory I/OCS 365 18Why Do I Have to Take this Course? It’s requiredDon’t narrowly define you career Truly understand how computers work Communication with hardware guys Talk to nerds confidently10CS 365 19Isn’t this an EE Course ? Computer performance is determined by the underlying VLSI technology (EE) and how all the hardware resources are organized and utilized (CS). Traditionally, the driving force of advances is clock rate --- An EE focus Recent trends, such as multi core processors, however put the CS in the driver’s seat.CS 365 20Challenges Concepts are really not that hard (no difficult proves or algorithms) They are often buried in huge amount of details. In the exam, I provide cheat sheets to cover boring details. You learn how to use them in class, with the help of exercises, quizzes and
View Full Document