Download CS 141: Introduction to Computer Architecture - Course Overview and Materials and more Study notes Introduction to Sociology in PDF only on Docsity! Page 1 CS 141 Chien 1 Jan 11, 2000 CSE141 and 141L: Introduction to Computer Architecture Outline – Administrivia – Background (expected knowledge) – Course Overview Announcements – Book: Computer Organization and Design: The Hardware/software Interface (Patterson and Hennessy), 2nd Edition – Reading assignment: P&H Chapter 1 » Light reading, for perspective – Course Information, Syllabus, Lecture Slides, etc. all on the web at http://www-csag.ucsd.edu/teaching/cse141-w00/cse141.htm » will be linked from department pages and my home page CS 141 Chien 2 Jan 11, 2000 Professor Andrew Chien (CSE141) – 4808 AP&M, x2-2458, achien@cs.ucsd.edu – Office Hrs: after lectures (TuTh355pm, and by appointment) Professor Dennis Bauman (CSE141L) Course Secy: Lisa Bodecker, 4016 APM (bodecker@cs.ucsd.edu) Teaching Assistants – Andre Barroso abarroso@cs.ucsd.edu – Abdulaziz Al-Shammari , shammari@cs.ucsd.edu – Bao Liu (CSE 141L), bliu@cs.ucsd.edu – Office Hours to be announced. – Electronic mail is a good way to get ahold of us. We’ll try to set up a class newsgroup as well. Please read this regularly, particularly close to when assignments are due or exams. Course Staff Page 2 CS 141 Chien 3 Jan 11, 2000 Course Meetings Lectures: TuTh355-515, HSS 1330 Section – M1115-1205, Center 105 All material in lectures, readings, sections, and homeworks. Overheads and course materials as possible will be made available electronically on web site. – Check often for new information or try TA’s or Course Secretary CS 141 Chien 4 Jan 11, 2000 Coursework Material, Grading Material & Grading – ~4 homeworks (20%) – Collaboration: discuss issues, but you’re best served by solving the problems yourself. – Late homeworks? Not accepted. – We’ll try to give good turnaround with graded homeworks. Exams: – ~Weekly Quizzes (20%) – every Thursday at the *START* of class – Midterm (25%) – Final exam (35%) Grade weights are approximate. Page 5 CS 141 Chien 9 Jan 11, 2000 Computer Arithmetic and Basic Arithmetic Circuits Basic number representations (integers -- twos complement, floating point numbers, concepts of limited precision) Adders (basic, ripple carry, faster methods and circuits, subtraction) More complex operations (multiplication, division?) Floating point arithmetic => building blocks for a computer, we’ll focus mostly on the other pieces (stuff that controls how these operations are composed into a computation) CS 141 Chien 10 Jan 11, 2000 Basic C (or C++) programming knowledge C expressions, types (int, float, char, etc.) C/C++ structs and classes Control structures (while, for, break, goto, etc.) Functions calls General comfort and familiarity with these things. => These language constructs are rather low level, and we’ll show their close correspondence to assembly/machine instructions. => Important to know what they mean (function) so implementations and correspondence make sense. Page 6 CS 141 Chien 11 Jan 11, 2000 Course Overview The Idea of Computer Architecture Performance and Cost Machine Language: Elements and Utility The Relationship of Higher level languages and Machine Language Implementation of a Machine Language – Basic Processor – Pipelined – Cache Memory Computer Systems (outside the processor) CS 141 Chien 12 Jan 11, 2000 What should you get out of this course? Appreciation of the basic elements of a computer system – Levels of software (HL language, assembly, hardware) – Elements of the System (processor, cache, memory, I/O, peripherals) Detailed understanding of how programming language features and the relationship of programming constructs to their execution cost Detailed understanding of instruction execution and some basic techniques for high performance Page 7 CS 141 Chien 13 Jan 11, 2000 Elements of Computer Systems Computer Systems are a series of interfaces – There’s lots of complex activity going on inside your computer. – Millions of transistors (one per bit of memory!) – Hundreds of simultaneous activities – All of this going on at speeds of up to 600 Megahertz! Application Software: Word, Excel, Lotus, SimCity Operating System: MSWindows, MacOS, DOS,Unix Instruction Processor:Pentium,PowerPC,486,68040 Hardware Technology: Logic Gates,Transistors,etc. CS 141 Chien 14 Jan 11, 2000 Hardware in Computer Systems Millions of transistors in 0.5”x0.5” square (1.25cm x 1.25cm) -- too small to see! Many chips connected together into a computer All of this operating at VERY high speeds Chips with Millions of transistors Tens of Chips in a computer Running at 600 Million operations per second! Page 10 CS 141 Chien 19 Jan 11, 2000 Computer Architecture: Instruction Set Architecture Software/Hardware interface, vertical interfaces ISA is critical, as a basis for software portability across machines ISA’s form the notion of processor families: 386--486— Pentium—PII--PIII, Sparc, MIPS, PowerPC—G4, 68000-- 68020--68040, IBM 360, etc. logic gates, wires, transistors “add” “multiply” “subtract” “read_mem” “write_mem” “jump” CS 141 Chien 20 Jan 11, 2000 Interfaces are critical for Performance Instruction sets <--> hardware organization Simple Instruction Sets (simple operations) – Very fast operation rate Complicated instruction Sets – Slower operation rate add r2, r3, r4 mul r3,r4,r5 + Operations Abstraction Registers Page 11 CS 141 Chien 21 Jan 11, 2000 Interfaces are not Flat Jagged interfaces reflect the operations exposed Layers on top must “fill the gaps” themselves Clean high-level interfaces make building atop easy, but may make it hard to get performance. Lower level interfaces, make it hard to make things to work, and may make it hard to optimize performance. Performance is accessible. CS 141 Chien 22 Jan 11, 2000 Computer SYSTEM Architecture: Horizontal Interfaces Interfacing parts of the computer system: logical operations (protocols) and electrical signals (signalling) Design of interfaces, parts, which shape the SYSTEMs, influencing the performance, cost, and flexibility Page 12 CS 141 Chien 23 Jan 11, 2000 System Issues = Integration Issues Interfaces become standards, enabling interoperability -- must be general and cost effective (examples) Design of interfaces is critical, or they rapidly become performance bottlenecks Most useful interfaces are continually redesigned/extended Pentium I, II, II Memory 40 GB Eide or SCSI DisksRS 232,USB, Firewire 72 or 144 pin 64-512 MB DIMM’s, SIMM’s, RAMBUS CS 141 Chien 24 Jan 11, 2000 Scope of Computer Architecture Vertical (layering) and Horizontal (integration) interfaces How systems are organized, and the issues that drive that organization Interfaces have a major impact on performance => Architecture is key to delivering system performance!