Presentation on theme: "Measuring Performance Early method – MIPS (millions of instructions per second) -measured by dividing the number of instructions executed in running a."— Presentation transcript:
Measuring Performance Early method – MIPS (millions of instructions per second) -measured by dividing the number of instructions executed in running a program by the time required to run the program. -Less useful due to :- -Different systems often require different number of instructions to implement a given program. -MIPS does not provide number of instructions require to perform a given task.
CPI/IPC –Another method of measuring performance –Cycles per instruction (CPI). –Calculated by dividing the number of clock cycles required to execute the program by the number of instructions executed in running the program. –For systems that can execute more than one instruction per clock cycle, the number of instructions executed per clock cycle (IPC) is often used. –IPC is the reciprocal of CPI. –The lower CPI the better the system performance.
Example A given program consists of a 100- instruction loop that is executed 42 times. If it takes 16,000 cycles to execute the program on a given system, what are the system’s CPI and IPC for the program?
Solution Total number of instructions executed =100 x 42 = 4,200 It takes 16,000 cycle to execute the program. So CPI = 16,000 / 4200 = 3.81 IPC = 1/CPI or 4,200/16,000. =0.26
IPC and CPI –also rarely used because both are lack of system’s clock rate information. SPEED UP -Used to describe how the performance of an architecture changes as different improvements are made to the architecture. speedup=(Execution time before )/(Execution time after ) Example : if a program takes 25 seconds to run on one version of an architecture and 15 seconds to run on a new version, the overall speedup is 25 seconds / 15 seconds = 1.67.
Amdahl’s Law Amdahl’s Law: Make the common case (frequently used task) faster. Overall Speed up of a System = 1/ [( fraction unused) +( fraction used) / ( speed up) ] where fraction unused is the fraction of time for which the task is not in use, fraction used is the fraction of time for which the task is in use and speed up is the performance improvement for the task.
Example Suppose that a given architecture does not have hardware support for multiplication, so multiplication have to be done through repeated addition. If it takes 200 cycles to perform a multiplication in software, and 4 cycles in hardware, what is the overall speedup from hardware support for multiplication a)if a program spends 10 % of its time doing multiplications? b)if a program that spends 40 % of Its time doing multiplications.
Solution In both cases, speedup when multiplication hardware is used = 200/4 = 50 (ratio of time to do a multiplication without the hardware to time with the hardware) a) Overall Speed up of a System = 1/ [( fraction unused) +( fraction used) / ( speed up) ] = 1/ [( 0.9) +( 0.1) / (50) ] = 1.11 b)Overall Speed up of a System = = 1/ [( 0.6) +( 0.4) / (50) ] = 1.64
TUTORIAL #2 5.3 Differentiate between DRAM and SRAM and give the application example for each. 5.5Explain why one type of RAM is considered to be analog and the other digital. 5.6List the applications of ROM 5.7Differentiate among EPROM, EEPROM and Flash Memory. 6.2Briefly explain how are data written onto a magnetic disk 6.3Briefly explain how are data read from a magnetic disk 6.4Explain the difference between CAV system and a multiple zoned recording system. 6.3Consider a single-platter disk with the following parameters: Rotation speed = 7200 rpm; number of tracks on one side of platter=30,000; number of sectors per track=600; seek time=one ms for every hundred tacks traversed. Let the disk receive a request to access a random sector on a random track and assume the head starts at track 0. Determine the average seek time, average rotational latency, transfer time for a sector, the total average time to satisfy a request. 7.3 List the major functions of I/O Module. 7.4List and briefly define three techniques for performing I/O 7.5What is the difference between memory-mapped I/O and isolated I/O 7.6Suppose a device interrupt occurs, how does the processor determine which device issued the interrupt? 7.7When a DMA module takes control of a bus, and while it retains control of the bus, what does the processor do?
TUTORIAL #2 2.11 A common measure of performance for a processor is the rate at which instructions are executed, expressed in MIPS. Express the MIPS rate in terms of the clock rate and CPI. 2.12SEE P/g 46 2.13 SEE P/g 46 8.1Define an Operating System 8.2List and briefly define the key services provided by the operating system 8.3List and briefly define the major type of OS scheduling 8.4Differentiate between a process and a program 8.5What is the purpose of swapping 8.10What is the purpose of a translation look aside buffer? 13.1what are some typical characteristics of RISC organization? 13.2Briefly explain the two basic approaches used to minimize register-memory operations on RISC machines. 14.1What is the essential characteristic of the superscalar approach processor design? 14.2Differentiate between the superscalar and superpipelined approaches. 17.1What is the difference between a hardwired implementation and a microprogrammed implementation of a control unit? 17.6what is the basic tasks performed by a microprogrammed control unit? 17.10List some common applications of microprogramming.