1 / 27

CSE/EEE 230: Computer Organization and Assembly Language Programming

CSE/EEE 230: Computer Organization and Assembly Language Programming. Aviral Shrivastava. Department of Computer Science and Engineering School of Computing and Informatics Arizona State University. Slides courtesy: Prof. Yann Hang Lee, ASU, Prof. Mary Jane Irwin, PSU, Ande Carle, UCB.

chacha
Download Presentation

CSE/EEE 230: Computer Organization and Assembly Language Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE/EEE 230: Computer Organization and Assembly Language Programming Aviral Shrivastava Department of Computer Science and Engineering School of Computing and Informatics Arizona State University Slides courtesy: Prof. Yann Hang Lee, ASU, Prof. Mary Jane Irwin, PSU, Ande Carle, UCB

  2. Computer Architecture • Hot(-est) Topic • Multi-billion dollar industry • Intel - $40 billion • More than 100 International Conferences • A conference every 3 days (and lasts 3 days) • Extremely fast pace of innovation • Had transportation industry kept pace • We could keep car in our pockets • We could travel between any two points on earth in a fraction of a second • New car would cost less than a cent • “Not a dry and dreary field where progress is glacial and new ideas atrophy from neglect” • Patterson and Hennessy, “Computer Organization and Design” • Enabler of the Information Revolution in history for Civilization • After Agricultural Revolution, Industrial Revolution

  3. Technology Trends: Moore’s Law • In 1965, Gordon Moore, co-founder of Intel predicted that the number of transistors on a chip will double every 1.5 years • True since since 1980! 8000X increase

  4. How small is it? Cell processor contains more than 250 million transistors ENIAC had 18,000 vacuum tubes The original transistor built by Bell Labs in 1947 could be held in your hand, while hundreds 45nm transistors can fit on the surface of a single red blood cell.

  5. Technology Trends: Processor Performance Year • How fast is it? • A 45nm transistor can switch on and off approximately 300 billion times a second. A beam of light travels less than a tenth of an inch during the time it takes a 45nm transistor to switch on and off.

  6. Range of a wire in one clock cycle

  7. Technology Trends: Power Consumption Year

  8. Sun's Surface 1000 Rocket Nozzle Nuclear Reactor 100 Pentium® 4 2 Watts/cm Pentium® III Hot plate Pentium® II 10 Pentium® Pro Pentium® i386 i486 1 1.5m 1m 0.7m 0.5m 0.35m 0.25m 0.18m 0.13m 0.1m 0.07m How much power is it?

  9. Exciting Field to Work in! • Fastest developing field • Extremely wide impact • Computer Architecture is at the edge of the biggest revolution since the invention of computer itself • Power consumption problem • Scaling problems • Reliability problems • Performance problems

  10. Course Objectives • What is the organization of a computer? • What are the main components? • How do they interact? • How are they designed? • How to compare different computers • Other than by looks • Learn the language of computers • Computer-ish • Lets start by opening a computer!!

  11. A Peek inside the computer Power Supply Disk and drives Motherboard Processor Disk and drive I/f Memory I/O bus Graphics

  12. Major Components of a Computer • How do these components work together? Processor Devices Control Input Memory Datapath Output

  13. Input Device Inputs Object Code 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Processor Devices Control Input Memory Datapath Output

  14. Object Code Stored in Memory Memory Processor Devices 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Control Input Datapath Output

  15. Processor Fetches an Instruction Processor fetches an instruction from memory Memory Processor Devices 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Control Input Datapath Output

  16. Control Decodes the Instruction Control decodes the instruction to determine what to execute Processor Devices Control 00000000100000100001000000100000 Memory Input Datapath Output

  17. Datapath Executes the Instruction Datapath executes the instruction as directed by control Processor Devices Control 00000000100 000100001000000100000 Memory Input Datapath contents Reg #4 ADD contents Reg #2 results put in Reg #2 Output

  18. What Happens Next? Memory Processor Devices 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Control Input Datapath Output Fetch Execute Decode

  19. Output Data Stored in Memory At program completion the data to be output resides in memory Memory Processor Devices Control Input 00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000 Datapath Output

  20. Output Device Outputs Data Processor Devices Control Input Memory Datapath Output 00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000

  21. The Instruction Set Architecture (ISA) software instruction set architecture hardware The interface between the software and hardware

  22. How does this fit in? CSE 100: C/C++ CSE 110: Java • How do these simple logic elements implement such complex languages? • Simple Logic Gates • AND, NAND, OR • Complex High-level Languages • Functions, structs, unions, lists, array, vector, class, object CSE 230 CSE 200: Concepts of CS CSE 120: Digital Design

  23. In the grand scheme of things… Application (ex: browser) • This course cuts through several layers of abstractions Operating CS 230 Compiler System (WinXP) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design Transistors

  24. Course Administration • Lectures: BYAC 270 TT, 9:00 am – 10:30 am • Instructor: Aviral Shrivastava Contact: Aviral.Shrivastava@asu.edu Office Hours: BY 408, TT 10:30 am – 11:00 am • TA: Ke Bai Contact: kbai3@asu.edu Office Hours: MW TBD • Textbook: Computer Organization and Design - The Hardware/Software Interface 4rd Edition Patterson and Hennessy Publishers: Morgan Kaufman now Elsevier

  25. Course Grading • 7 Quizzes: 30% • 45 min quiz, and then discuss solutions • The quiz with the minimum score will be automatically dropped • 4 Projects: 30% • Programming exercises • 1 Midterm: 15% • 1 hour in-class exam • 1 Final 25% • 1 hour in-class exam

  26. Course Information • Submit Projects on Blackboard • Late Projects are not acceptable • Submission may become slow near the deadline • Submitting early is in your advantage • Re-grade Request • Within one week • Academic Integrity • Do read and understand the university “Policy on Academic Integrity” • Ask if you have questions • Ignorance is not an excuse

  27. Yoda says… Always in motion is the future

More Related