TI1400 Computer Organization at TU Delft

Download Report

Transcript TI1400 Computer Organization at TU Delft

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