Computer Architecture & Operations I Instructor: Yaohang Li
Administrivia Class Web Page Blackboard 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 Instructor: Yaohang Li yaohang@cs.odu.edu Instructor: Yaohang Li Office phone: 757-683-6001x5085 Office location: 3212 E&CS Office hours: T, R: 2:00PM-3:00PM by appointment
Administrivia Grading Policy (5+) Assignments 40% (2) Midterms: 30% Late Assignment Policy 0~24 hrs: -5% 24~48 hrs: -10% >48 hrs: grade = 0 (2) Midterms: 30% (1) final: 30%
Administrivia Textbook Same textbook in CS270 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 Attend class regularly and on time Ask questions Work on in-class exercises and labs Notes 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
Morgan Kaufmann Publishers April 13, 2018 What You Will Learn How programs are translated into the machine language And how the hardware executes them The hardware/software interface What determines program performance And how it can be improved How hardware designers improve performance What is parallel processing Chapter 1 — Computer Abstractions and Technology
Understanding Performance Morgan Kaufmann Publishers April 13, 2018 Understanding Performance Algorithm Determines number of operations executed Programming language, compiler, architecture Determine number of machine instructions executed per operation Processor and memory system Determine how fast instructions are executed I/O system (including OS) Determines how fast I/O operations are executed Chapter 1 — Computer Abstractions and Technology
Topics Overview of Computer Architectures Classes of computers Components of a computer Input Output Processing Programming languages High-level language Hardware language Performance 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
The Computer Revolution Morgan Kaufmann Publishers April 13, 2018 The Computer Revolution §1.1 Introduction Progress in computer technology Underpinned by Moore’s Law Makes novel applications feasible Computers in automobiles Cell phones Human genome project Computational biology/chemistry/physics World Wide Web Search Engines Computers are pervasive Chapter 1 — Computer Abstractions and Technology
Morgan Kaufmann Publishers April 13, 2018 Classes of Computers Desktop computers General purpose, variety of software Subject to cost/performance tradeoff Chapter 1 — Computer Abstractions and Technology
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? “Collection of interconnected stand-alone computers working together as a single, integrated computing resource” Cluster consists of 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
Morgan Kaufmann Publishers April 13, 2018 The Processor Market Chapter 1 — Computer Abstractions and Technology
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 147 remainder 0 Divide by 2 result 73 remainder 1 Divide by 2 result 36 remainder 1 Divide by 2 result 18 remainder 0 Divide by 2 result 9 remainder 0 Divide by 2 result 4 remainder 1 Divide by 2 result 2 remainder 0 Divide by 2 result 1 remainder 0 Divide by 2 result 0 remainder 1 Answer: 100100110
Significant Bits Most Significant Bit (MSB) 100100110 Least Significant Bit (LSB)
Octal Representation 294 = 100100110b Binary to Octal 100 100 110 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