0% found this document useful (0 votes)
16 views7 pages

Chapter 1

Uploaded by

V Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views7 pages

Chapter 1

Uploaded by

V Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

CHAPTER-1 Understanding program performance: -

Introduction to the course Computer Organization & Architecture: - Hardware or software How this component affects
Computer Organization: - component performance
 Computer Organization refers to the Operational Units and there Determines both the number of source-level
interconnections that realize or recognize the specifications of Computer Algorithm statements and the number of I/O operations
Architecture. executed
 Examples of Organizational attributes include Hardware details transparent to Programming language, Determines the number of computer
the programmer such as control signals, Interface between computers and compiler, and architecture instructions for each source-level statement
peripherals and the memory technology used. Processor and memory Determines how fast instructions can be
system executed
Computer Architecture: - I/O system (hardware and Determines how fast I/O operations may be
 Computer Architecture refers to those attributes of a system visible to a operating system) executed
programmer, the other way those attributes that have direct impact on the
logical execution of the program. Below the program: -
 Examples of the Architectural attributes include the instruction set, the no of 1. Application software: -
bits used to represent the data types, Input Output mechanism and technique for  Application software is any program, or
addressing memories. group of programs, that is designed for the
end user.
NOTE: -Computer Architecture may remain for several years but organization  Applications software (also called end-
changes with changing technology. user programs) includes such things as
database programs, word processors, Web
Classes of computers: - browsers and spreadsheets.
1. Desktop computer: -A computer designed for use by an individual, usually 2. System Software: -
incorporating a graphics display, a keyboard, and a mouse.  Systems software consists of low-level
2. Server: - A computer used for running larger programs for multiple users, programs that interact with the computer
often simultaneously, and typically accessed only via a network. at a very basic level.
3. Supercomputer: - A class of computers with the highest performance and  System software includes operating systems, compilers, loader, and assembler.
cost; they are configured as servers and typically cost millions of dollars.  An operating system interfaces between a user‘s program and the hardware
4. Embedded computer: - A computer inside another device used for running and provides a variety of services and supervisory functions. Among the most
one predetermined application or collection of software. important functions are
a) Handling basic input and output operations
Performance of a program: - b) Allocating storage and memory
 The performance of a program depends on a combination of the effectiveness c) Providing for protected sharing of the computer among multiple
of the algorithms used in the program, the software systems used to create and applications and using it simultaneously.
translate the program into machine instructions, and the effectiveness of the  Examples of operating systems in use today are Linux, MacOS, and Windows.
computer in executing those instructions, which may include input/output (I/O)  Compiler: - A program that translates high-level language statements into
operations. assembly language statements.
 Assembly language: - A symbolic representation of machine instructions.
 Assembler: - A program that translates a symbolic version of instructions into
the binary version.
 Loader: -A loader reads the executable code into memory, does some address easily understood by human beings i.e. characters, graphical or audio visual.
translation and tries to run the program resulting in a running program or an This is performed by output devices. Some output devices are Visual display
error message (or both). unit (VDU), printer etc.
3. Hardware: - 3. Motherboard: - A plastic board containing packages of integrated circuits or
 Computer hardware is the physical parts or components of a computer, such as chips, including processor, cache, memory, and connectors for I/O devices
the monitor, mouse, keyboard, computer data storage, hard disk drive (HDD), such as networks and disks.
graphic cards, sound cards, memory, motherboard, and so on, all of which are 4. Memory (RAM): - The storage area in which programs are kept when they are
physical objects that are tangible. running and that contains the data needed by the running programs.
5. DRAM: -Dynamic random-access memory (DRAM) is a type of random-
From high level language to the language of hardware: - access memory that stores each bit of data in a separate capacitor within an
integrated circuit. The capacitor can be either charged or discharged; these two
High level programming language Assembly language Machine language states are taken to represent the two values of a bit, conventionally called 0 and
A portable language such as C, C++, A symbolic A binary 1.
Java, or Visual Basic that is representation of representation of 6. SRAM: - Static random-access memory (static RAM or SRAM) is a type of
composed of words and algebraic machine instructions. machine semiconductor memory that uses flip flop to store each bit. SRAM is faster and
notation instructions. more expensive than DRAM; it is typically used for CPU cache while DRAM
Compiler translates high level Assembler translates No translation is is used for a computer's main memory.
language to assembly language. assembly language to required. Computer 7. Central Processing Unit (CPU): - Also called as processor. The active part of
machine language. can understand the computer, which contains the data path and control and which adds
machine language. numbers, tests numbers, signals I/O devices to activate, and so on.
C=A+B add c, a, b 1000110010100000 8. Data path: -The component of the processor that performs arithmetic
operations.
Advantages of High level programming language: - 9. Control: - The component of the processor that commands the data path,
1. First, they allow the programmer to think in a more natural language, using memory, and I/O devices, according to the instructions of the program.
English words and algebraic notation. 10. Magnetic disk: - Also called hard disk. A form of non volatile secondary
2. Moreover, high level languages are designed according to their intended use. memory composed of rotating platters coated with a magnetic recording
Hence, FORTRAN was designed for scientific computation, COBOL for material.
business data processing, LISP for symbol manipulation, and so on. 11. Flash memory: - A non volatile semiconductor memory. It is cheaper and
3. Advantage of programming languages is improved programmer productivity. It slower than DRAM but more expensive and faster than magnetic disks.
takes less time to develop programs when they are written in languages that
require fewer lines to express an idea.
4. Programming languages allow programs to be independent of the computer on Performance: -
which they were developed, since compilers and assemblers can translate high- The performance of a computer can be measured by different parameters.
level language programs to the binary instructions of any computer. 1. Response time or Execution time: - The time between the start and the
completion of a task. The total time required for the computer to complete a
Components of computer: - task, including disk accesses, memory accesses, I/O activities, operating system
1. Input Devices: - An input unit takes the input from input devices and converts overhead, CPU execution time, and so on.
it into binary form so that it can be understood by the computer. E.g. keyboard,
mouse etc. 2. Throughput or bandwidth: - Total amount of work done i.e. task completed
2. Output Devices: - The output coming from the CPU is in the form of in a given time.
electronic binary signals which needs conversion in some form which can be
Example: -  Time is the measure of computer performance: the computer that performs the
Do the following changes to a computer system increase throughput, decrease same amount of work in the least time is the fastest.
response time, or both?
(a) Replacing the processor in a computer with a faster version Elapsed time: - The total time to complete a task, including disk accesses, memory
(b) Adding additional processors to a system that uses multiple processors for accesses, input/output (I/O) activities, operating system overhead—everything is
separate tasks—for example, searching the World Wide Web. called elapsed time.

ANS: - CPU execution time: - Also called CPU time. The actual time the CPU spends
Decreasing response time almost always improves throughput. Hence, in computing for a specific task. It does not include time spent waiting for I/O or
case 1, both response time and throughput are improved. In case 2, number of task running other programs.
gets done faster, so only throughput increases.
If, however, the demand for processing in the second case was almost as Types of CPU execution time: -
large as the throughput, the system might force requests to queue up. In this case, User CPU time: - The CPU time spent in a program itself.
increasing the throughput could also improve response time, since it would reduce System CPU time: - The CPU time spent in the operating system performing tasks
the waiting time in the queue. on behalf of the program.

Relationship between performance and execution time: - NOTE: - The term system performance is used to refer to elapsed time on an
 Performance and execution time for a computer X, is related as unloaded system and CPU performance is used to refer to user CPU time.
1
Performance X =
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑇𝑖𝑚𝑒 𝑋 Clock cycle: -
 This means that for two computers X and Y, if the performance of X is greater  Clock cycle is also called tick, clock tick, clock period, clock, cycle.
than the performance of Y, we have  The time for one clock period, usually of the processor clock, which runs at a
Performance X > Performance Y constant rate is called clock cycle.
1 1
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒
> 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒  Clock period The length of each clock cycle.
𝑋 𝑌
 Clock rate is the inverse of clock period.
 Execution time Y Execution time X
The execution time on Y is longer than that on X, if X is faster than Y. CPU performance and its factors: -
 When we say ―X is n times faster than Y‖, or ―X is n times as fast as Y‖, means CPU execution time for a program =
𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝑋 𝐸𝑥𝑒𝑐𝑢 𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑌 CPU clock cycles for a program × Clock cycle time
= =n
𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝑌 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑋 Since clock rate and clock cycle time are inverse of each other, so
CPU clock cycles for a program
CPU execution time for a program = 𝐶𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒
Example: - Thus, hardware designer can improve performance by reducing the number of
If computer ‗A‘ runs a program in 10 seconds and computer ‗B‘ runs the same clock cycles required for a program or the length of the clock cycles.
program in 15 seconds, how much faster is ‗A‘ than ‗B‘?
ANS: - Questions: -
𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝐴 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 15 Our favourite program runs in 10 seconds on computer A, which has a 2 GHz
𝑃𝑒𝑟𝑓𝑜𝑟 𝑚𝑎𝑛𝑐𝑒
= 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝐵 = n = 10 =1.5 clock. We are trying to help a computer designer to build a computer, B, which will
𝐵 𝐴
Thus Computer ‗A‘ is 1.5 times faster than ‗B‘. run this program in 6 seconds. The designer has determined that a substantial
increase in the clock rate is possible, but this increase will affect the rest of the
Measuring performance: - CPU design, causing computer B to require 1.2 times as many clock cycles as
computer A for this program. What clock rate should we tell the designer to target?
ANS: - CPU clock cycle for computer A = 2.0 × I
𝐶𝑃𝑈 𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 𝐴 CPU clock cycle for computer B = 1.2 × I
CPU time A = 𝐶𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 𝐴 CPU time for computer A = CPU clock cycles A × Clock cycle time
CPU time A = 10 seconds = I × 2.0 × 250
Cycles Cycles
Clock rate A = 2 GHz = 2 × 109 [Since, 1 GHz = 109 = 500 I ps
second second
Thus, CPU clock cycles A = CPU time A × Clock rate A CPU time for computer B = CPU clock cycles B × Clock cycle time
= 10 × 2 × 109 = 20 × 109 cycles. = 1.2 × I × 500
CPU time B = 6 seconds = 600 × I ps
CPU clock cycles B = 1.2 × CPU clock cycles A Clearly, Computer A is faster.
𝐶𝑃𝑈 𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝐴 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖 𝑚𝑒 𝐵 600 × I
= 1.2 × 20 × 109 = =n= =1.2
𝐶𝑃𝑈 𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝐵 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝐴 500 × I
CPU clock cycles B 1.2 × 20 × 10 9 Cycles
Clock rate B = CPU time 𝐵
= 6
= 0.2 × 20 × 109 = 4 × 109 second Thus, computer A is 1.2 times as fast as computer B for this program.
= 4 GHz The classic CPU performance Equation: -
Thus, to run the program in 6 seconds, B must have twice the clock rate. Instruction count: - The number of instructions executed by the program.
CPU time = Instruction count × CPI × Clock cycle time
Instruction Performance: - Since, the clock rate is the inverse of clock cycle time:
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛 𝑐𝑜𝑢𝑛𝑡 ×𝐶𝑃𝐼
CPU time = 𝐶𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒
CPI for each instructions
Example: -
A B C
A compiler designer is trying to decide between two code sequences for a
CPI 1 2 3
particular computer. The hardware designers have supplied the following facts:
 Since the compiler clearly generates instructions to execute, and the computer
had to execute the instructions to run the program, thus the execution time must For a particular high-level language statement, the compiler writer is considering
depend on the number of instructions in a program. two code sequences that require the following instruction counts:
 CPU clock cycles = Code Sequence Instruction Counts for each instruction class
Number of instructions for a program × Average clock cycles per instructions.
A B C
 The term clock cycles per instruction, which is the average number of clock
1 2 1 2
cycles each instruction takes to and is also known as CPI.
 Since different instructions may take different amounts of time depending on 2 4 1 1
what they do, CPI is an average of all the instructions executed in the program. Which code sequence executes the most instructions? Which will be faster? What
 CPI provides one way of comparing two different implementations of the same is the CPI for each sequence?
instruction set architecture, since the number of instructions executed for a ANS: -
program will be same. Code sequence-1 executes 2+1+2 = 5 instructions
Code sequence-2 executes 4+1+1 = 6 instructions.
Questions: -
Suppose we have two implementations of the same instruction set architecture. Thus code sequence-2 executes more number of instructions.
Computer A has a clock cycle time of 250 ps and a CPI of 2.0 for some program, CPU clock cycles for code sequence-1 is 2×1 + 1×2 + 2×3 = 10 cycles
and computer B has a clock cycle time of 500 ps and a CPI of 1.2 for the same CPU clock cycles for code sequence-2 is 4 × 1 + 1×2 + 1× 3 = 9 cycles
program. Which computer is faster for this program and by how much?
ANS: - So code sequence 2 is faster, even though it executes one extra instruction.
Since each computer executes the same program, so number of instructions for the
program will be same, let be I. Since code sequence 2 takes fewer overall clock cycles but has more instructions, it
must have a lower CPI. The CPI values can be computed by
𝐶𝑃𝑈 𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 features; for example, a language with
CPI = 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛 𝐶𝑜𝑢𝑛𝑡
heavy support for data abstraction (e.g.,
𝐶𝑃𝑈 𝐶𝐿𝑂𝐶𝐾 𝐶𝑌𝐶𝐿𝐸𝑆 1 10 Java) will require indirect calls, which
CPI 1 = 𝐼𝑁𝑆𝑇𝑅𝑈𝐶𝑇𝐼𝑂𝑁 𝐶𝑂𝑈𝑁𝑇1
= 5
= 2.0 will use higher CPI instructions.
Compiler Instruction count, The efficiency of the compiler affects
𝐶𝑃𝑈 𝐶𝐿𝑂𝐶𝐾 𝐶𝑌𝐶𝐿𝐸𝑆 2 9 possibly CPI both the instruction count and average
CPI 2 = = = 1.5
𝐼𝑁𝑆𝑇𝑅𝑈𝐶𝑇𝐼𝑂𝑁 𝐶𝑂𝑈𝑁𝑇2 6 cycles per instruction, since the compiler
determines the translation of the source
NOTE: - language instructions into computer
Execution time measured in seconds per program: instructions. The compiler‘s role can be
𝑆𝑒𝑐𝑜𝑛𝑑 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 𝐶𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 𝑆𝑒𝑐𝑜𝑛𝑑𝑠
Time = 𝑃𝑟𝑜𝑔𝑟𝑎𝑚 = 𝑃𝑟𝑜𝑔𝑟𝑎𝑚 × 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛 × 𝐶𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙 𝑒𝑠 very complex and affect the CPI in
complex ways.
Basic components of performance and how each is measured The instruction set architecture affects all
Components of performance Units of measure Instruction set Instruction count, three aspects of CPU performance, since
CPU execution time for a program Seconds for the program architecture clock rate, CPI it affects the instructions needed for a
Instruction Count Instructions executed for the program function, the cost in cycles of each
Clock cycles per instruction(CPI) Average number of clock cycles per instruction, and the overall clock rate of
instructions. the processor.
Clock cycle time Seconds per clock cycle.
Power Wall: -
 The dominant technology for integrated circuits is called CMOS
Understanding Program performance: -
The factors which affect the CPU performance equations are as follows. (complementary metal oxide semiconductor).
 For CMOS, the primary source of power dissipation is so-called dynamic
Hardware or Affects what? HOW?
power—that is, power that is consumed during switching.
software
 The dynamic power dissipation depends on the capacitive loading of each
component
transistor, the voltage applied, and the frequency that the transistor is switched:
The algorithm determines the number of
Power = Capacitive load × Voltage2 × Frequency switched.
source program instructions executed and
 Frequency switched is a function of the clock rate.
hence the number of processor
 The capacitive load per transistor is a function of both the number of transistors
instructions executed. The algorithm may
connected to an output.
Algorithm Instruction count, also affect the CPI, by favouring slower
possibly CPI or faster instructions. For example, if the
Example: -
algorithm uses more floating-point
Suppose we developed a new, simpler processor that has 85% of the capacitive
operations, it will tend to have a higher
load of the more complex older processor. Further, assume that it has adjustable
CPI.
voltage so that it can reduce voltage 15% compared to processor B, which results in
The programming language certainly
a 15% shrink in frequency. What is the impact on dynamic power?
affects the instruction count, since
ANS: -
Programming Instruction count, statements in the language are translated 𝑃𝑜𝑤𝑒𝑟 𝑛𝑒𝑤 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑖𝑣𝑒 𝑙𝑜𝑎𝑑 ×0.85 0.85 ×𝑣𝑜𝑙𝑎𝑡𝑔𝑒 2 𝐹𝑟𝑒𝑞𝑢𝑒𝑛 𝑐𝑦 𝑆𝑤𝑖𝑡𝑐 𝑕𝑒𝑑 ×0.85
language possibly CPI to processor instructions, which 𝑃𝑜𝑤𝑒𝑟 𝑜𝑙𝑑
= 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑖𝑣𝑒 𝑙𝑜𝑎𝑑
× 𝑉𝑜𝑙𝑡𝑎𝑔𝑒 2
× 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 𝑆𝑤𝑖𝑡𝑐 𝑕𝑒𝑑
determine instruction count. The language = (0.85)4
may also affect the CPI because of its = 0.52
Thus, the new processor uses about half the power of the old processor. SPEC CPU BENCHMARK: -
 Work Load: - The set of programs run would form a work load.
Chip manufacturing process: -  To evaluate two computer systems, a user would simply compare the execution
 The manufacturing process for integrated circuits is critical to the cost of the time of the work load on the two computers.
chips and hence important to computer designers.  Benchmark: - A program selected for use in comparing computer
 The process starts with a silicon crystal ingot, which looks like a giant performance.
sausage. Today, ingots are 8–12 inches in diameter and about 12–24 inches  SPEC (System Performance Evaluation Cooperative) is an effort funded
long. and supported by a number of computer vendors to create standard sets of
 An ingot is finely sliced into wafers no more than 0.1 inch thick. benchmarks for modern computer systems.
 These wafers then go through a series of processing steps, during which  The execution time measurements are first normalized by dividing the
patterns of chemicals are placed on each wafer, creating the transistors, execution time on a reference processor by the execution time on the measured
conductors, and insulators. computer; this normalization yields a measure, called the SPECratio, which
 Defect: -A microscopic flaw in a wafer or in patterning steps that can result in has the advantage that bigger numeric results indicate faster performance (i.e.,
the failure of the die containing that defect. the SPECratio is the inverse of execution time).
 To cope with imperfection, one strategy is to place many independent  When comparing two computers using SPECratios, use the geometric mean so
components on a single wafer. that it gives the same relative answer no matter what computer is used to
 Die: -The individual rectangular sections that are cut from a wafer, more normalize the results.
informally known as chips.  The formula for the geometric mean is
 Yield: - The percentage of good dies from the total number of dies on the 𝑛 n
i=1 Execution time ratioi , Where, Execution time ratio i is the execution
wafer. time, normalized to the reference computer, for the ith program of a total of n
in the workload.
n
i=1 ai Means the product a1 × a2 × a3 × . . . × an

The cost of an integrated circuit can be expressed in three simple equations:


𝐶𝑜𝑠𝑡 𝑝𝑒𝑟 𝑤𝑎𝑓𝑒𝑟
1. Cost per die =
𝐷𝑖𝑒𝑠 𝑝𝑒𝑟 𝑤𝑎𝑓𝑒𝑟 ×𝑦𝑖𝑒𝑙𝑑

𝑊𝑎𝑓𝑒𝑟 𝑎𝑟𝑒𝑎
2. Dies per wafer = 𝐷𝑖𝑒 𝑎𝑟𝑒𝑎

1
3. Yield = 𝐷𝑖𝑒 𝑎𝑟𝑒𝑎
(1+ 𝐷𝑒𝑓𝑒𝑐𝑡𝑠 𝑝𝑒𝑟 𝑎𝑟𝑒𝑎 × )2
2
Amdahl’s law: - 3. If a new program executes more instructions but each instruction is faster,
 The execution time of the program after making the improvement is given by MIPS can vary independently from performance.
the following simple equation known as Amdahl‘s law:
 Execution time after improvement =
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑎𝑓𝑓𝑒𝑐𝑡𝑒𝑑 𝑏𝑦 𝑖𝑚𝑝𝑟𝑜𝑣𝑒𝑚𝑒𝑛𝑡
𝐴𝑚𝑜𝑢𝑛𝑡 𝑜𝑓 𝑖𝑚𝑝𝑟𝑜𝑣𝑒𝑚𝑒𝑛𝑡
+ Execution time unaffected
*******
 Example: -Suppose a program runs in 100 seconds on a computer, with
multiply operations responsible for 80 seconds of this time. How much do I
have to improve the speed of multiplication, if i want my program to run five
times faster?
ANS: -
Execution time after improvement = 20sec.
According to question,
80
20 = 𝑛 + (100-80)
80
 20 = + 20
𝑛
80
 0= 𝑛
Thus, there is no amount by which we can enhance multiply to achieve a
fivefold increase in performance if multiply accounts for only 80% of the
workload.
 The performance enhancement possible with a given improvement is limited
by the amount that the improved feature is used.
 Amdahl‘s law also defines the speed up that can be gained by using a
particular feature.
𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎 𝑛𝑐𝑒 𝑓𝑜𝑟 𝑒𝑛𝑡𝑖𝑟𝑒 𝑡𝑎𝑠𝑘 𝑢𝑠𝑖𝑛𝑔 𝑡𝑕𝑒 𝑒𝑛 𝑕𝑎𝑛𝑐𝑒𝑚𝑒𝑛𝑡 𝑤𝑕𝑒𝑛 𝑝𝑜𝑠𝑠𝑖𝑏𝑙𝑒
 Speed up =
𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝑓𝑜𝑟 𝑒𝑛𝑡𝑖𝑟𝑒 𝑡𝑎𝑠𝑘 𝑤𝑖𝑡 𝑕𝑜𝑢𝑡 𝑢𝑠𝑖𝑛𝑔 𝑡𝑕𝑒 𝑒𝑛 𝑕𝑎𝑛𝑐𝑒𝑚𝑒𝑛𝑡
Alternatively,
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖 𝑚𝑒 𝑓𝑜𝑟 𝑒𝑛𝑡𝑖𝑟𝑒 𝑡𝑎𝑠𝑘 𝑤𝑖𝑡 𝑕𝑜𝑢𝑡 𝑢𝑠𝑖𝑛𝑔 𝑡𝑕𝑒 𝑒𝑛 𝑕𝑎𝑛𝑐𝑒𝑚𝑒𝑛𝑡
Speed up = 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑓𝑜𝑟 𝑒𝑛𝑡𝑖𝑟𝑒 𝑡𝑎𝑠𝑘 𝑢𝑠𝑖𝑛𝑔 𝑡𝑕𝑒 𝑒𝑛 𝑕𝑎𝑛𝑐𝑒𝑚𝑒𝑛𝑡 𝑤𝑕𝑒𝑛 𝑝𝑜𝑠𝑠𝑖𝑏𝑙𝑒 .

MIPS (Million instructions per second): -


 MIPS are an instruction execution rate.
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛 𝑐𝑜𝑢𝑛𝑡
 For a given program, MIPS = 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 × 10 6
 MIPS specify performance inversely to execution time; faster computers have a
higher MIPS rating.

Problems associated using MIPS: -


1. MIPS specify the instruction execution rate but do not take into account the
capabilities of the instructions.
2. MIPS varies between programs on the same computer; thus, a computer cannot
have a single MIPS rating.

You might also like