COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li Administrivia Class Web Page http://www.cs.odu.edu/~yaohang/cs170 Syllabus Class Policy Class Notes Posted before class Read class notes before class Assignments Posted after class Pay attention to the due dates Blackboard Posting grades Sending out emails to class Administrivia Instructional E-Mail Addresses yaohang@cs.odu.edu Instructor: Yaohang Li Office phone: 757-683-6001x5085 Office location: 3212 E&CS Office hours: T, R: 12:30PM-1:30PM by appointment Administrivia Grading Policy (5+) Assignments 40% Late Assignment Policy 0~24 hrs: -5% 24~48 hrs: -10% >48 hrs: grade = 0 (2) Midterms: 30% (1) final: 25% (5/6) quizzes: 5% Announced in the last class before quiz Administrivia Textbook Computer Organization and Design: The Hardware/Software Interface, 5th Edition, by Patterson and Hennessy, Morgan and Kaufman Publishers, Inc., 2014 Same textbook in CS270 Honor Code All assignments, unless explicitly specified, are to be completed on your own ODU Honor Council http://orgs.odu.edu/hc/ Evidence of cheating, plagiarism, or unauthorized collaboration will result in a 0 grade for quiz/assignment/exam May have further consequences How to get help? Ask questions in class (or after class) Attend office hours Email me Make sure that you put “CS170” in your subject line Send it from your .odu account It wouldn’t come to my spam folder State clearly what you need in your email How to Get an A in this Class Attendance Notes Attend class regularly and on time Ask questions Work on in-class exercises and labs Read over class notes before class Review class notes after class Homework Get started as early as possible Contact me or TA if you encounter problems CS170 will cover Chapters 1, 2, 3 Appendix B What you will learn What is a Computer? What you will learn Representing numbers in computers Binary, Octal, Hexadecimal Positive, Negative Floating Point Numbers Designing Computer Logic Computer Hardware Components What You Will Learn How programs are translated into the machine language The hardware/software interface What determines program performance And how the hardware executes them And how it can be improved How hardware designers improve performance What is parallel processing Understanding Performance Algorithm Programming language, compiler, architecture Determine number of machine instructions executed per operation Processor and memory system Determines number of operations executed Determine how fast instructions are executed I/O system (including OS) Determines how fast I/O operations are executed Topics Overview of Computer Architectures Classes of computers Components of a computer Programming languages High-level language Hardware language Performance Input Output Processing Definition Measure Power wall Topics (cont.) Basics of Logic Design Gates Truth Tables Logic Equations Combinational Logic Hardware Description Language ALU Clocks Memory Elements Flip-Flops, Latches, and Registers SRAM and DRAM Timing Methodologies Programmable Devices Topics (cont.) Instructions of the Computer Operations and Operands of the Computer Hardware Logical Instruction Decision Making Instructions Representation of numbers Instruction representations Communication Addressing Synchronization Parallelism Topics (cont.) Arithmetic Addition and Subtraction Multiplication Division Floating Point Parallelism Importance of This Course Prerequisite for CS270 You must get a C or better to pass Foundation for advanced courses Operating Systems Programming Language Compiler Design Networking Parallel Programming Algorithm I/O Management About Me I got my Master’s and Ph.D. Degrees from Florida State University. I did my postdoc at Oak Ridge National Laboratory under University of Tennessee I taught 7 years at North Carolina A&T State University Join ODU in 2010 My research Computational Biology High Performance Computing How about you? Name/Year/Major Something interesting about yourself Expectation in this class Computer Evolution Moore’s Law The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years Chip performance double every two years So does CPU speed Memory Number of sensors Number of Pixels in digital camera Moore’s Law Progress in computer technology Makes novel applications feasible Underpinned by Moore’s Law Computers in automobiles Cell phones Human genome project Computational biology/chemistry/physics World Wide Web Search Engines Computers are pervasive §1.1 Introduction The Computer Revolution Classes of Computers Desktop computers General purpose, variety of software Subject to cost/performance tradeoff Classes of Computers Server computers Network based High capacity, performance, reliability Range Small file servers Supercomputers Poor Man’s Super Computer What is a Cluster? Cluster consists of “Collection of interconnected stand-alone computers working together as a single, integrated computing resource” Nodes Network OS Cluster middleware Standard components Avoiding expensive proprietary components Classes of Computers Embedded computers Hidden as components of systems Examples Computer in your car Processor in your cell phone Stringent power/performance/cost constraints The Processor Market Decimal Representation Example 5489 = 5x103 + 4x102 + 8x101 + 9x100 Binary Representation Only 0s and 1s Example 100100110b =1x28+0x27+0x26+1x25+0x24+0x23+1x22+1x21+0x20 Decimal to Binary Number 294 Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Divide by 2 result Answer: 100100110 147 73 36 18 9 4 2 1 0 remainder remainder remainder remainder remainder remainder remainder remainder remainder 0 1 1 0 0 1 0 0 1 Significant Bits Most Significant Bit (MSB) 100100110 Least Significant Bit (LSB) 100100110 Octal Representation 294 = 100100110b Binary to Octal 100 100 110 4 4 68 Hexadecimal Representation 296 = 100101000b Binary to Hexadecimal 0001 0010 1000 1 2 816 Binary to Decimal 100100110b =1x28+0x27+0x26+1x25+0x24+0x23+1x22+1x21+0x20 =294 Decimal terms and Binary Terms Summary Syllabus Moore’s Law Classes of Computers Decimal, Binary, Octal, Hexadecimal Representations Conversion btw. Different Representations What I want you to do Review Chapter 1 and Class Slides Enjoy your new semester