COMS 361 Computer Organization Title: Introduction to COMS 361 Date: 08/26/2004 Lecture Number: 1
Announcements I try to make class announcements at this time Like assignments, program due dates, etc… Brush up on discrete math
Review I try to give a brief review of what we covered in the last class to motivate you for this class Pretty much an outline of the previous classes material
Outline I try to give an outline of the topics we will cover in this class If all goes well, the outline for this class becomes the review for the next class Rules of the Game Go through the syllabus and calendar Overview of Computer Organization
COMS 361 - Syllabus Professor Paul F. Hemler New at the HSC this year Office: Bagby 110 Office Hours: MWF: 3:00pm - 4:00pm TR: 10:00am - 12:00noon By Appointment There is no reason we cannot find and set-up a meeting time Semester Schedule
COMS 361 - Syllabus Class Times: TR: 8:30am - 9:50am My email address: phemler@hsc.edu My phone number: 223 – 6202 My home page Course home page Department home page
COMS 361 - Syllabus Course Objectives To show a hierarchical approach (abstraction) to understand a complex system Gain a thorough understanding of Rudimentary digital design principles, The organization and operation of digital computers, Machine and assembly language programming and their relationship to high-level languages
COMS 361 - Syllabus Course Objectives (Cont.) To understand Performance benchmarks, The meaning of different computer specifications To understand how architectural and organizational issues effect program design and execution
COMS 361 - Syllabus Course Textbook Computer Organization and Design: The Hardware/Software Interface, second edition by David A. Patterson and John L. Hennessy
COMS 361 - Syllabus Course Grading Policy Straight-up, no curves, tricks, or illusions Letter Points A 95 - 100 A- 90 - 94 B+ 87 - 89 B 83 - 86 B- 80 - 82 Letter Points C+ 77 - 79 C 73 - 76 C- 70 - 72 D+ 65 - 69 D 60 - 64 F 0 - 59
COMS 361 - Syllabus Point Distribution Homework 20% Projects 25% Exams 30% Final Exam
COMS 361 - Syllabus Homework: 20% Homework assignments to help you understand the book material No late homework will be accepted Homework is due at the start of class on the due date
COMS 361 - Syllabus Homework: 20% (Cont.) Write your solutions clearly and concisely on the paper you hand in The work you hand in is a reflection of you Make it look good and easy for me to evaluate Put a box around you final answer
COMS 361 - Syllabus Exams: 30% Exam Exam Date Weight 1 10/12/04 15% 2 Two exams spaced throughout the semester Closed book, Open mind No make-up exams unless your absence is excused Exam Exam Date Weight 1 10/12/04 15% 2 11/18/04
COMS 361 - Syllabus Final Exam: 25% Mandatory on the assigned date and time. Cumulative Your last opportunity to demonstrate mastery of the course material It is important you prepare for this exam
COMS 361 - Syllabus Class Attendance: Mandatory I will keep a class roll We will cover material that may not be in the book, but is important for you to know Class is fun, interesting, and informative Your third unexcused absence get you a special meeting with me
COMS 361 - Syllabus Class Attendance: (Cont.) Your sixth unexcused absence gets you A letter from the Dean Grade Drop of a letter (B- goes to a C-) Class roll taken at the start of class (8:30 sharp) If you miss the roll but are in the class, see me at the end of class
COMS 361 - Syllabus Class Attendance: (Cont.) There are good reasons for missing a class Sickness, death in the family, ..., You will be excused from the class if you let me know before the class you intend to miss Send email, call me, stop by, ... There are no reasons for anyone to have unexcused absences
COMS 361 - Syllabus Commitment: You should expect to spend 9 hours a week on this class 3 hours in class 2 hours reading the text book 4 hours doing homework/projects Less than 4 hours or more than 12 hours per week means there is something is wrong
COMS 361 - Syllabus Extra curricular activities: Let me know if your play a sport that will require travel and missing class You should have a schedule of those classes you will miss Share it with me ASAP
Course Content Introduction to computer organization Using the MIPS RISC architecture Quantitative performance Assembly language Number representations Digital logic design Datapath and control circuits Pipelining
Course Content Memory hierarchy, fast but inexpensive Input and output devices
COMS 361 Course Calendar
Computer Organization Rapidly changing field: Vacuum tube -> transistor -> IC -> VLSI doubling Doubling every 1.5 years: Memory capacity Processor speed (Due to advances in technology and organization)
Overview Why learn this stuff? You want to call yourself a “computer scientist” You want to build software people use (need performance) Knowing how a program is executed helps one write better programs!
Overview You need to make a purchasing decision or offer “expert” advice Impress co-workers by knowing what computer specifications mean
Types of Computer Systems Computers can be put into three categories Desktop
Types of Computer Systems Servers
Types of Computer Systems Embedded Computer Systems
Desktop Computer Systems For “General-Purpose” Use Word-Processing, Web surfing, Multimedia, etc. Computation and Programming What’s in the box Microprocessor Memory - Synchronous DRAM Hard disk(s), CDROM/DVD, etc. I/O - mouse, keyboard, video card, monitor, network, etc. Important Issues: Performance - how fast is “fast enough”? Basic capabilities (and expandability) Cost
Server Computer Systems Large-Scale Services File storage Computation Transaction Processing, Web What’s in the Box(es) Microprocessor(s) Hard disks Network Interface(s) Important issues: Performance Reliability, availability Cost One Rack-Mount PC Unit (Google uses ~ 10,000)
Embedded Computer Systems Computer as part of larger system Consumer electronics, appliances Networking, telecommunications Automotive / aircraft control What’s in the box Microcontroller / Microprocessor Memory: RAM, ROM; Disk Special-purpose I/O (including analog stuff) Important issues Cost, Power Consumption Performance (against real-time constraints) Reliability and Safety
Computer System Organization “Five classic components” Processor Input Control Datapath Output Memory 1001010010110000 0010100101010001 1111011101100110 7
Computer System Operation Executing Programs - the “fetch/execute” cycle Processor fetches instruction from memory Processor executes “machine language” instruction next instr Load Data Perform Calculation Store Results OK, but how do we write useful programs using these instructions? Processor Control Datapath 1001010010110000 0010100101010001 1111011101100110 Memory Address 1001010010110000 Instruction 8
Abstractions Designers use abstraction to manage complexity Focus on pertinent information Suppress unnecessary detail Example: Auto controls Well-understood interface (inputs, outputs) Details suppressed 55 E F 9
Languages Machine Language High-Level Language (C) c = a + b; Compiler Assembly Language add R8,R1,R2 Assembler Machine Language 00000000001000100100000000100000
Instruction Set Architecture The most important abstraction of computer design Software Compiler Application Programs Operating System Application Instruction Set Architecture Interface between SW & HW Logic - gates, state machines, etc. Circuit - transistors, etc. Layout - mask patterns, etc. Hardware Processor I/O System 12
Top 5 Reasons to Study MIPS 5. It’s in the book 4. It’s used in many applications 3. Learning its architecture and implementation exposes you to important concepts 2. It’s relatively simple and easy to implement (compared to other architectures) 1. Ideas presented using MIPS generalize to other architectures (even the 80x86!)
Under the Hood: The Pentium 4 Die Photo Package
What is a computer? Our primary focus: The processor (datapath and control) Implemented using millions of transistors Impossible to understand by looking at each transistor To deal with this complexity, we need...
Abstraction Delving into the depths reveals more information An abstraction omits unnecessary details, helps us cope with complexity One set of abstractions for computer organization entails the conversion of a program written in a high-level language so it can execute on a specific architecture
Abstraction
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
Instruction Set Architecture Modern instruction set architectures: 80x86/Pentium/K6 PowerPC DEC Alpha MIPS SPARC HP
Where we are headed Performance issues (Chapter 2) Vocabulary and motivation A specific instruction set architecture (Chapter 3) Arithmetic and how to build an ALU (Chapter 4)
Where we are headed Constructing a processor to execute our instructions (Chapter 5) Pipelining to improve performance (Chapter 6) Memory Caches and virtual memory (Chapter 7) I/O (Chapter 8)
Key to getting a good grade Read the book Before class and again after class Understand class material There is a reason things are the way they are Ask questions Do all the homework Work Hard: Material is fascinating