Computer Organization TI1400 http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_0.ppt Alexandru Iosup (lecturer) Henk Sips (original slides) Parallel and Distributed Systems 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/ 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 Why iPads and Android GUIs Don’t Mix • About Android GUIs “They’re too slow” Matt Buchanan, Why You Should Avoid Phones With Android Skins, June 8, 2010, http://www.wired.com/gadgetlab/2010/06/androids-acne-problem/ • 4-core smartphones coming up—the throw more hardware solution 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 • 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, …) Computer Organization • Classes • 2 hours a week (see College Rooster) • Instructions • 1 hour per week (see College Rooster) 7 TI1400/11-PDS TU-Delft Course Material • Class Material • V.C. Hamacher, Z.G. Vranesic, S.G. Zaky, Computer Organization, 2002, McGraw-Hill, 5th Ed. • Reader: Computer Organization, January 2007 • Lecture Slides • Info: BlackBoard • ATTN: textbook via • CH (second-hand) • Amazon.com or bol.com • McGraw Hill link (e-version) 8 TI1400/11-PDS TU-Delft Lab Course (in1705_II/ti1400) • Programming in assembler • IA-32 assembly language • Start: first week of Q4 (see “rooster”) • 3 lab assignments • MUST be finished for entering in1805_II project ST-2 • Presence is mandatory !!!! 9 TI1400/11-PDS TU-Delft Examination(1) • Two exams per year • Each exam consists of 30 multiple choice questions • Old examinations can be found at the in1705 web pages • Additional exercises are on BlackBoard 10 TI1400/11-PDS TU-Delft Quiz bonus • In week 7 of Q3 there is a “quiz” test • Results contribute to first exam ti1400 according to the following formula: • max{r, 2r/3+test/3} where r is result first exam ti1400. • In other words: The test can count at most 1/3 result. The exam (r) counts at least 2/3 result. • You can only win by taking the quiz! 11 TI1400/11-PDS TU-Delft Overview ti1400 [1/4] • Week 1-2 : Basic concepts, digital logic, memory elements, finite state machines • Week 1 : Hamacher A.1 to A.6 • Week 2 : Hamacher A.7 to A.14 • Week 3-4 : Number representations and arithmetic • Week 3 : Hamacher 2.1, 6.1 • Week 4 : Hamacher 6.3 to 6.8 12 TI1400/11-PDS TU-Delft Overview ti1400 [2/4] • Week 5-6 : Instructions, addressing modes, assembler • Week 5 : Hamacher 2.2 to 2.4 • Week 6 : Hamacher 2.5 to 2.13 • Week 7 : IA-32 architecture • Week 7 : Hamacher 3.16 to 3.25 13 TI1400/11-PDS TU-Delft Overview ti1400 [3/4] • Week 8-9 : The Processing Unit • Week 8 : Hamacher 7 • Week 9 : Hamacher 7 • Week 10-11 : Input/Output and Memory Organization • Week 10 : Hamacher 2.7 and 4 • Week 11 : Hamacher 5 14 TI1400/11-PDS TU-Delft Overview ti1400 [4/4] • Week 12 : Pipelining • Week 12 : Hamacher 8 • Week 13 : Language levels and translation • Week 13 : Reader • Week 14 : Large Systems • Week 14 : Hamacher 12 15 TI1400/11-PDS TU-Delft