ece 511 microprocessors l.
Skip this Video
Loading SlideShow in 5 Seconds..
ECE 511 Microprocessors PowerPoint Presentation
Download Presentation
ECE 511 Microprocessors

Loading in 2 Seconds...

  share
play fullscreen
1 / 33
Download Presentation

ECE 511 Microprocessors - PowerPoint PPT Presentation

jaden
562 Views
Download Presentation

ECE 511 Microprocessors

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. ECE 511 Microprocessors Subbaiah Venkata

  2. Class Introduction • About the Lecturer • No TA for the class • About Students: need some info • CS vs ECE vs Other • Software vs Hardware • Programmers vs Non-Programmers • Full-timve vs Part-time • New vs Old Students • Course Webpage • http://mason.gmu.edu/~svenkata/ECE511 • Keep looking for all course-related information ECE 511 Microprocessors

  3. Beautiful Computer Courses • Algorithms – CS 583 • Operating Systems – CS 571 • Microprocessors – ECE 511 • Language Processors/Compilers – CS 540 • … • Computer Networks – ECE 542 • … • … ECE 511 Microprocessors

  4. Course Outline • Computer Organization, Design and Architecture • Number systems and computer arithmetic • Assembly language programming • ISA and instruction encoding • Performance evaluation and metrics • Microprocessor design • Data path • Control path • Pipelining • Superscalar • Out-of-order execution • Memory hierarchy • I/O subsystem ECE 511 Microprocessors

  5. Grading • Exams - 60% • Midterm - 30% • Final - 30% • Projects - 30% • Project I - 15% • Project II - 15% • Homeworks - 10% • Class participation – required for various reasons • Grading policy: relative ECE 511 Microprocessors

  6. Books • Primary Textbook • Modern Processor Design:  Fundamentals of Superscalar Processorsby John Paul Shen and Mikko H. Lipasti, 1st Edition, McGraw Hilll, 2005. • Reference Textbook • Computer Organization & Design: The Hardware/Software Interfaceby David A. Patterson and John L. Hennessy, 3rd Edition, June 2007. • Additional references are in the course webpage • Lectures will not follow any book directly ECE 511 Microprocessors

  7. Introduction Overview of Computer Systems

  8. Overview • Applications & Developers • Apple vs Microsoft • Browser, Email, Blog, Calculator, Office, Games, … • Languages & Compilers • Assembly, C, C++, Java, C#, Perl, Python, Ruby … • Operating Systems • Unix (BSD, Linux, Solaris, MacOS) vs Windows • Communication & Network Systems • LAN, MAN, WAN and Wireless • TCP/IP • Computer Systems • Apple, Microsoft, Intel, IBM, HP, Google, Dell … • Microprocessors • General purpose - Pentium vs AMD vs PowerPC • Special purpose – Embedded, Cell and Network Processors ECE 511 Microprocessors

  9. History of Microprocessor • A CPU that is manufactured as a single integrated circuit is usually known as a microprocessor. • Inventors • Intel vs Texas Instruments (TI) • Microprocessor vs Microcontroller (single chip calculator) • Jack Kilby, Nobel Prize laureate in physics in 2000 for his invention of the integrated circuit in 1958 while working at TI. He is also the inventor of handheld calculator and thermal printer. • Gary Boone, TI was awarded U.S. Patent 3,757,306 for the single-chip microprocessor architecture on September 4, 1973 • So many pioneers… ECE 511 Microprocessors

  10. Hardware Designer thinks about circuits, components, timing, functionality, ease of debugging “construction engineer” Computer Architect thinks about high-level components, how they fit together, how they work together to deliver performance. “building architect” Hardware Designer vs Computer Architect Big picture, high-level view ECE 511 Microprocessors

  11. Why do I care? • It is a core class • You may actually do computer architecture someday • You may actually care about software performance someday • The ability of application programs, compilers, operating systems, etc. to deliver performance depends critically on an understanding of the underlying computer organization. • That becomes more true every year. • Computer architectures become more difficult to understand every year. ECE 511 Microprocessors

  12. What you can expect to get out of this class • To become conversant with computer architecture terms and concepts. • To understand fundamental concepts in computer architecture and how they impact computer and application performance. • To be able to read and evaluate architectural descriptions of even today’s most complex processors. • To gain experience designing a working CPU completely from scratch. • To learn experimental techniques used to evaluate advanced architectural ideas. ECE 511 Microprocessors

  13. load R1, addr1 store R1, addr2 add R0, R2 -> R3 subtract R4, R3 -> R5 add R0, R6 ->R7 store R7, addr3 load R1, addr1 add R0, R2 -> R3 add R0, R6 -> R7 store R1, addr2 subtract R4, R3 -> R5 store R7, addr3 Which is faster? Twice as fast on some machines and same on others • Three ways to improve performance • Algorithm improvement • Compiler Generated Code improvement • Processor execution improvement ECE 511 Microprocessors

  14. Instruction Set Architecture (ISA)

  15. The Instruction Set Architecture • Is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it. Application Software Operating System Compiler Instruction Set Architecture Instr. Set Proc. I/O system Digital Design Hardware Circuit Design Understand the Power of Abstraction ECE 511 Microprocessors

  16. Computer Organization • Once you have decided on an ISA, you must decide how to design the hardware to execute those programs written in the ISA as fast as possible (or as cheaply as possible, or using as little power as possible, …). • This must be done every time a new implementation of the architecture is released, with typically very different technological constraints ECE 511 Microprocessors

  17. What is Computer Architecture? Computer Architecture = Machine Organization + Instruction Set Architecture What the machine looks like How you talk to the machine ECE 511 Microprocessors

  18. Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Assembly Language Program Assembler 1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100 Machine Language Program ISA Machine Interpretation Control Signal Spec ALUOP[0:3] <= InstReg[9:11] & MASK How to Speak Computer High Level Language Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Need translation from application to physics ECE 511 Microprocessors

  19. Memory Game Accounting Program Editor Program C compiler Students Data Book text C code Stored Program Concept • Today’s computers are build on two key principles: • Instructions are represented as numbers • Programs are stored in memory to be read or written, just like numbers I/O Subsystem Address & Data Bus CPU ECE 511 Microprocessors

  20. The Five Classic Components of Computers Computer Control Input Memory Output Datapath We will study these components in this class ECE 511 Microprocessors

  21. Calculator vs Computer Memory Data Stream (output) Data Stream (input) Instructions/Control Stream (Input) ALU Registers CPU ECE 511 Microprocessors

  22. The Instruction Set Architecture • That part of the architecture that is visible to the programmer • opcodes (available instructions) • number and types of registers • instruction formats • storage access, addressing modes • exceptional conditions ECE 511 Microprocessors

  23. Key ISA decisions destination operand operation • operations • how many? • which ones y = x + b source operands • operands • how many? • location • types • how to specify? (add r1, r2, r5) • instruction format • size • how many formats? We will learn in this course how to make these decisions ECE 511 Microprocessors

  24. Processor Performance with Time Technology shift towards multi-cores [Multiple processors on the same chip] Performance Scalar Superscalar Out-of-order SMT Year of introduction We will study the various kinds of processors ECE 511 Microprocessors

  25. Price being paid Always need to think about design in terms of constraints ECE 511 Microprocessors

  26. The Challenge of Computer Architecture • The industry changes faster than any other. • The ground rules change every year. • new problems • new opportunities • different tradeoffs • It’s “all” about making programs run faster than the next guy’s machine. Or more efficiently. ECE 511 Microprocessors

  27. Microprocessor Design

  28. Determine required actions and instruction size Instruction Decode Locate and obtain operand data Operand Fetch Compute result value or status Execute Deposit results in storage for later use Result Store Determine successor instruction Next Instruction The Instruction Execution Cycle Obtain instruction from program storage Instruction Fetch ECE 511 Microprocessors

  29. CPU Stages ECE 511 Microprocessors

  30. CPU Blocks Back End Front End ECE 511 Microprocessors

  31. CPU Elements • Program Counter or PC contains the address of the instruction that will be executed next • Stack – a data structure of last in first out type • A stack is described by a special register – stack pointer • It can be used explicitly to save/restore data • It is used implicitly by procedure call instructions (if available in the instruction set) • IR – instruction register that holds the current instruction being processed by the microprocessor; it is not exposed through the instruction set architecture; just an organization element ECE 511 Microprocessors

  32. Computer of the day Input: ears Output: mouth Memory: paper Datapath: eye-brain-pencil Control: brain • Human brain has about 10 billion neurons. • Each is connected to about 100,000 other neurons. • A neuron can “fire” about 1000 times/sec. • Estimate when microprocessors will exceed a human’s brainpower. • Assume each “fire” decision corresponds to computation of 100,000 transistors (one per connection) for one clock cycle. Computers: 4000 BC to 1940’s ECE 511 Microprocessors

  33. Number Systems andBit Operations Next