lecture 2 ads 2004 topics computation model: data flow vs Von Neumann sequentialisation organisation performance metrics computation model y = ax + bx^2 + c two kinds: data flow x * x -- 1 b * 1 -- 2 a * x -- 3 2 + 3 -- 4 4 + c -- y (graph) finished in 4 time steps sequential model ld r1 a ld r2 x mul r3 r1 r2 ld r4 b mul r5 r2 r2 mul r6 r4 r5 add r7 r4 r3 ld r8 c add r9 r7 r8 st y r9 convention: op dest src, op dest src1 src2 finished in 10 time steps but it reused the functional unit. organisation data flow | | | | | fu --------- switched matrix | | | | | fu --------- | | | | | fu --------- ... ... von neumann --> registers --> func.unit-- ^ | | | | | ----------------------------- | bus interface unit | memory control unit in the bird-eyes view P -- M where P is a processor M is memory von neumann's bottleneck performance metrics 1 how long it takes to finish a specified job? 2 how many job it can do within a unit of time? p = 1 / t p is performance, t is time to measure performance, a program is run and time to complete that program is measured. The problem is, performance figure depends on the program it runs. different program may give different performance figure. to compare two machines performance, they must run the same program. throughput measures the amount of job a computer can do in a given time. machine 1 is 50 % faster than machine 2. what does it mean? machine 1 takes 5 s. to run program A. machine 2 takes 10 s. to run the same program. m1 is (10-5)/10 = 50% faster than m2. 50% means m1 takes "half" of the time of m2 to finish the same job. this figure is also called "speedup". what happen when this figure approach 100%? (the faster machine is infinitely faster than the other machine) benchmark is a suite of program to measure the performance. there are several benchmarks and measurements such as MIPS (million instruction per second), SPEC, etc. 11 June 2004 P. Chongstitvatana