Computer Organization TI1400 Alexandru Iosup (lecturer) Henk Sips (original slides) Parallel and...

15
Computer Organization TI1400 Alexandru Iosup (lecturer) Henk Sips (original slides) Parallel and Distributed Systems http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_0.pp

Transcript of Computer Organization TI1400 Alexandru Iosup (lecturer) Henk Sips (original slides) Parallel and...

Computer OrganizationTI1400

Alexandru Iosup (lecturer)Henk Sips (original slides)

Parallel and Distributed Systems

http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_0.ppt

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

Source: http://www.cs.berkeley.edu/~volkov/cs267.sp09/hw1/results/

• 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, 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, …)

TU-DelftTI1400/11-PDS

7

Computer Organization• Classes• 2 hours a week (see College Rooster)

• Instructions• 1 hour per week (see College Rooster)

TU-DelftTI1400/11-PDS

8

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)

TU-DelftTI1400/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-DelftTI1400/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-DelftTI1400/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-DelftTI1400/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-DelftTI1400/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-DelftTI1400/11-PDS

14

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

TU-DelftTI1400/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