Computer Organization TI1405 (former TI1400, now -1EC) Alexandru Iosup (lecturer) Parallel and Distributed Systems A Digital Computer CPU Type CPU Speed M/board chipset Memory Video card Max. Res. HDD Interface USB/FW Network wired … Intel Core i5 2430M 2.4 GHz Intel Mobile QM67 4GB DDR3 (SODIMM) NVIDIA Quadro NVS 4200M 1600x900 (WXGA++) 500GB at 5.400RPM eSATA, 2x USB 2.0 Ethernet 1Gbps … Source: http://tweakers.net/pricewatch/294153/lenovo-thinkpad-t420-(nw1b8mh)-+-3-jaar-garantie.html#tab:info A Digital Computer M/board floorplan. Source: Intel Corp., and Linda Null and Julia Lobur. A CPU IA-32 floorplan. Source: Intel Corp. TI1405/2013: Course Goals “gain fundamental knowledge about the organization and architecture of computer systems” • Organization = all physical aspects of the computer • Circuits, memory types, signals, making things tick • Architecture = all logical aspects • Let programmers interact with the working system • Instruction sets, opcodes, data structures, addressing, memory access, I/O mechanisms, etc. Know Thy Platform • Programming hot functions • Programming optimized functions • Linear algebra (BLAS) • Video, sound, and security codecs • Vertex and pixel shaders on GPUs • Building low-power devices (embed: $1Tn/2011) • Real-time platforms • Games, Simulations, Navigation systems, Medical equipment • Matching algorithm and platform: improve performance up to a factor of 100 (Michael Abrash: Doom, Quake, …) System Tuning ATARI VCS (1977) Home entertainment system • Video, Sound, Games • Pluggables: joystick, dance mat, … • Today we use Wiis and XBox360s Ultra-low-cost platform • CPU: MOS 6502 at 1MHz low cost, low mem • GFX, sound: 4 KB ROM (max 8K) • State, score: 128 bytes RAM (Apple II had 4 kilo-bytes) • RAM/Input/Output/Timer controller “Any mistake in timing produced visual artifacts, a problem programmers called racing the beam.” Doom (1993) • “For me, while I do take a lot of pride in shipping a great product, the achievements along the way are more memorable. I don't remember any of our older product releases, but I remember the important insights all the way back to using CRTC wraparound for infinite smooth scrolling in Keen (actually, all the way back to understanding the virtues of structures over parallel arrays in apple II assembly language…) Knowledge builds on knowledge.” John Carmack, .plan, Feb 1998 Program Optimization Peak vs Real Performance “One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.” Amazon EC2 • Original code ~10% Peak • w/o SIMD <50% • ACML ~90% Source: http://www.cs.berkeley.edu/~volkov/cs267.sp09/hw1/results/ The Performance Gap Processor-Memory Processor: CPU Speeds 2X every 2 years ~Moore’s Law; limit ~2010 Memory: DRAM Speeds 2X every 7 years Gap Still Growing? Gap: 2X every 2 years 10 TI1400/13-PDS TU-Delft Evolution of Computing The “Data Deluge”: Facts and Predictions "Everywhere you look, the quantity of information in the world is soaring. According to one estimate, mankind created 150 exabytes (billion gigabytes) of data in 2005. This year, it will create 1,200 exabytes. Merely keeping up with this flood, and storing the bits that might be useful, is difficult enough. Analysing it, to spot patterns and extract useful information, is harder still.“ The Data Deluge, The Economist, 25 February 2010. Conceptual Map of TI1405/2013 You are here L0. Introduction L1. Digital Logic L2. Digital Data L3. ISAs L4. Assembler L5. IA-32/MIPS L6. Basic Processing Unit L7.1. I/O + OS L9. Large Sys. L7.1. Memory + Perf. L8. Pipelining + Perf. Rd. Prog. Principles Course Mapping to CS Curricula of ACM/IEEE and TU Delft • Body of Knowledge: Architecture and Organization • AR1. Digital Logic and Data Representation [core] • AR2. Computer Architecture and Organization [core] • AR3. Interfacing and I/O Strategies [core] • AR4. Memory Architecture [core] • AR5. Functional Organization [core] • AR6. Multiprocessing [core] • AR7. Performance Enhancements [elective] • AR8. Directions in Computing [elective] • TU Delft: Logic, Digital Logic, Programming Fundamentals, Operating Systems, Distributed Algorithms, Distributed Systems, Cloud Comp., … Course Material (The Textbook, The Guides) • Class Material • V.C. Hamacher, Z.G. Vranesic, S.G. Zaky, Computer Organization, 2012, McGraw-Hill, 6th Ed. • Reader: Computer Organization, January 2007 • Lecture Slides • Info: BlackBoard • ATTN: textbook via • • • • CH (second-hand 5th edition now obsolete) Various online shops McGraw Hill The library 14 TI1400/13-PDS TU-Delft Overview ti1405 • Week 1 : Basic concepts, digital logic, memory elements, finite state machines • Hamacher Apendix A 15 TI1400/13-PDS TU-Delft Overview ti1405 • Week 2 : Number representation and arithmetic • Hamacher Chapter 9 16 TI1400/13-PDS TU-Delft Overview ti1400 [2/4] • Week 3 : Instructions, addressing modes, assembler + IA-32 • Hamacher Chapter 12 and Appendix E 17 TI1400/13-PDS Source: http://facepunch.com/showthread.php?t=267316 TU-Delft Overview ti1400 [3/4] • Week 4 : The Basic Processing Unit • Hamacher Chapter 5 • Week 5 : Input/Output and Memory Organization • Hamacher Chapters 7 and 8 18 TI1400/13-PDS TU-Delft Overview ti1400 [4/4] • Week 6: Pipelining • Hamacher Chapter 6 • Week 6 : Language levels and translation • Course Reader (Dictaat) 19 TI1400/13-PDS TU-Delft Overview ti1400 [4/4] • Week 7 : Large Computer Systems • Hamacher Chapter 12 20 TI1400/13-PDS TU-Delft TI1405/2013 Schedule (under Blackboard/Course Information) L L L L L L LP LP P T T T T T T L L L L L L E L P T Lecture (Hoorcollege) E Exam Lab (Practicum) Tutorial (Instructie) Coarse Time Allocation • Classes (Lectures + Discussion) • 2 hours per week (see College Rooster) • Tutorial (Instructie) • 1 hour per week (see College Rooster) • Laboratory assignments • 5 mandatory + several voluntary + 1 bonus • Self-Study • 4-8 hours per week or you have good chances (>25%) to fail 22 TI1400/13-PDS TU-Delft Detailed Time Allocation Lecture Tutorial Lab Self-Study 1. Digital Logic 4h 1/2h 10h 2. Data Repr./Processing 4h 1/2h 10h 3. ISAs/Assembler <6h 2h 8+16h 4. Basic Processing Unit <4h 2h 10h 5. I/O + OS Principles 2h 1h 5h 6. Memory + Performance 2h 1h 5h 7. Pipelining + Perf. 2h 2h 10h 8. Programming Principles <2h 4+8h 9. Parallelism/Distribution 2h 1h 10h Total (5EC ~ 140h) <28h 14h 12+24h 60h The Grading System This Course Is Gamified 1. Course Points 2. Access Tokens 3. Brownie Points 10,000 for straight 10 Start with 1 +1,000 team self-study Bonus Lab +1,000 lab bonus #2 I will bake assignments brownies for you! Lab and Self-Study, various (but not force Advanced topics +300 correct exam Q you to eat them) (GPUs, clouds) +50 activity in Slide Error/ Lecture/Tutorial activity +50 correct end-lecture quiz Discuss w Lecturer +500 entry quiz Rec. letter http://www.elanaspantry.com/brownies/ TI1400/13-PDS TU-Delft Mid-Term and Final Exams • In week 5 of Q1 there is a mid-term exam, 10 Qs • You can take the exam, but you do not have to • 3,000 points up for grabs • You can only win by taking the quiz! • November 11, 2013: Final exam, 30 Qs • • • • 10 Qs overlap with mid-term exam, we use your best score 15-20 Qs about new material Twice per year Old examinations will be found in due time on Blackboard (also, via material shared on other channels) 25 TI1400/13-PDS TU-Delft Contact Code • Include “[ti1405]” (without the quotes) in the Subject field of any TI1405-related email 26 TI1400/13-PDS TU-Delft The Grading System 1. Course Points 2. Access Tokens 3. Brownie Points Q: Why thisStart complicated 10,000 for straight 10 with system? 1 +1,000 team self-study A: Bonus Lab +1,000 lab bonus #2 I will bake 1. assignments Gamification = +500 lab bonus #1 more tracks of advancement +brownies for you! (but not force involved in the classroom Advanced topics +300 correct examkeeps Q top students you to eat them) (GPUs, clouds) +50 activity in 2. Decoupling grading schemes = to “cultuur van zesjes” Lab/Lecture/Tutorial responding Discuss w Lecturer 3. >65%quiz success rate at first exam for +25 correct end-lecture Propose Exam Qs2 years now. +500 entry quiz TI1400/13-PDS Rec. letter TU-Delft The Grading System Q: Can you explain this system again? Where does gamification play a role? 1. Course Points 2. Access Tokens 3. Brownie Points A: 10,000 for straight 10 Start with 1 +1,000 team self-study 1. Course = Exam + Lab + Lectures + Tutorial Bonus Lab +1,000 2. lab You bonus #2 I will bake prove your theoretical knowledge during the Exam. assignments brownies for you! +500 lab bonus #1 3. You prove your technical skill during the Lab. (but not force Advanced topics +300 correct exam Q between 4. You cross the bridge conceptual and practical in the Tutorial. you to eat them) (GPUs, +50 activity 5. inYou need to pass Lab toclouds) take the exam. Lab/Lecture/Tutorial 6. You can get extra (bonus) points forwLab, Lectures, and Tutorial, Discuss Lecturer through extra assignments, lecture participation and end-lecture quizzes, +25 correct end-lectureand quiz Propose Exam Qs team-/self-study, respectively. Rec. academic letter year, so make sure you 7. Extra points quiz count only for the current +500 entry pass the Exam. TI1400/13-PDS TU-Delft Questions? TI1400/13-PDS TU-Delft