Computer Organization TI1400 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 GHz 2007 Opteron or 2007 Xeon processor.” Amazon EC2 Source: Original code w/o SIMD ACML ~90% ~10% Peak <50%
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, 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, …)
TU-Delft TI1400/11-PDS 7 Computer Organization Classes 2 hours a week (see College Rooster) Instructions 1 hour per week (see College Rooster)
TU-Delft TI1400/11-PDS 8 Course Material Class Material V.C. Hamacher, Z.G. Vranesic, S.G. Zaky, Computer Organization, 2002, McGraw-Hill, 5 th 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)
TU-Delft TI1400/11-PDS 9 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 !!!!
TU-Delft TI1400/11-PDS 10 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
TU-Delft TI1400/11-PDS 11 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!
TU-Delft TI1400/11-PDS 12 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
TU-Delft TI1400/11-PDS 13 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
TU-Delft TI1400/11-PDS 14 Overview ti1400 [3/4] Week 8-9 : The Processing Unit Week 8 : Hamacher 7 Week 9 : Hamacher 7 Week : Input/Output and Memory Organization Week 10 : Hamacher 2.7 and 4 Week 11 : Hamacher 5
TU-Delft TI1400/11-PDS 15 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