UNIT1
UNIT1
UNIT1
For
example, today's $500 phones are as powerful as a $50 million computer from 1993.
Early Performance Growth: In the rst 25 years, computer performance grew by 25% annually
due to technological advances and better designs.
Microprocessor Rise: The late 1970s introduced microprocessors, which improved performance by
35% each year and were mass-produced, making computers cheaper.
New Architecture: Two major changes helped new computer designs succeed:
Complex Translations Simpli ed: By the late 1990s, translating more complex computer
instructions (like x86) became easier with more transistors.
ARM Architecture: In low-power devices (like phones), ARM’s RISC architecture became
dominant due to its ef ciency in power and size.
Sustained Growth: From 1980 to 1997, computer performance grew by over 50% annually.
New Computer Classes: Affordable computers like personal computers and workstations appeared
due to improved cost-performance.
Moore’s Law: The prediction that transistor counts would double every two years drove
semiconductor manufacturing improvements, favoring microprocessor-based computers.
Multi-core Processors: By 2004, companies like Intel moved away from single, fast processors and
began using multiple ef cient cores for better performance.
Rapid Progress: Computers have advanced rapidly, offering more performance at lower costs. For
example, today's $500 phones are as powerful as a $50 million computer from 1993.
Early Performance Growth: In the rst 25 years, computer performance grew by 25% annually
due to technological advances and better designs.
Microprocessor Rise: The late 1970s introduced microprocessors, which improved performance by
35% each year and were mass-produced, making computers cheaper.
New Architecture: Two major changes helped new computer designs succeed:
4. Impact: This continuous exponential growth in the number of transistors led to more
powerful, smaller, and cost-ef cient chips, which fueled advancements in computing
technology.
1. De nition of ISA: ISA acts as the interface between software and hardware. It de nes how
the software communicates with the hardware, specifying the instructions a computer's
processor can execute.
2. ISA Examples:
◦ ARM is the most widely used RISC processor, found in smartphones, tablets, and
many embedded systems.
fi
fl
fi
fi
fi
fi
fi
◦ RISC-V is an open-source ISA, available for use in custom chips and eld-
programmable gate arrays (FPGAs). It also has a full software ecosystem, including
compilers and operating systems.
2. Memory Addressing:
◦ Byte Addressing: Most computers, like 80x86, ARMv8, and RISC-V, use byte
addressing to access memory.
◦ Alignment: Some architectures, like ARMv8, require data to be aligned (address
must be divisible by data size). While 80x86 and RISC-V don't strictly require
alignment, aligned data is accessed faster.
3. Addressing Modes:
◦ General operations include data transfer, arithmetic logic, control, and oating-
point.
◦ RISC-V: Known for simplicity and ef cient pipelining, which makes it a
representative RISC architecture.
6. Control Flow Instructions:
◦ Flash memory, used in devices like phones, is growing fast in capacity (50-60% per
year, doubling every two years).
◦ Flash is 8-10 times cheaper per bit than DRAM, making it more popular for storage.
4. Magnetic Disk Technology (Hard Drives):
◦ Disk density increased rapidly in the past, but growth has now slowed to less than
5% per year.
◦ Hard drives are still cheaper per bit than Flash (8-10 times) and DRAM (200-300
times), so they are important for large-scale storage.
◦ New technology like HAMR is the last chance for signi cant improvement in disk
density.
5. Network Technology:
1. Bandwidth Improvements:
◦ Microprocessors and networks have seen major gains in bandwidth, increasing by
32,000 to 40,000 times.
◦ For memory and disks, bandwidth has also improved signi cantly, increasing by 400
to 2,400 times.
2. Latency Improvements:
◦ Bandwidth generally grows much faster than latency, typically increasing by at least
the square of the latency improvement.
Takeaway: Designers should focus more on increasing bandwidth rather than latency, as bandwidth
tends to grow at a much faster rate and has a larger impact on performance
◦ The maximum power a processor needs is crucial to ensure the power supply can
meet the demand.
◦ Voltage drops can occur if the supply can't provide enough power, leading to device
malfunction.
◦ Modern processors regulate voltage and slow down to manage peak power demands.
3. Thermal Design Power (TDP):
1. Importance of Cost:
◦ While cost is less crucial for supercomputers, it is increasingly important for cost-
sensitive designs.
2. Impact of Time:
◦ The cost of manufactured computer components tends to decrease over time, even
without major technological advancements.
◦ This is in uenced by the learning curve, where manufacturing costs decrease as
more units are produced.
◦ The learning curve is often measured by yield, or the percentage of devices that
pass testing.
3. Price of DRAM:
◦ The price per megabyte of DRAM has generally fallen over the long term.
◦ DRAM prices are closely tied to production costs, except during shortages or
oversupply situations.
4. Microprocessor Pricing:
◦ Microprocessor prices also decline over time but are more complex due to their less
standardized nature compared to DRAM.
5. Volume Effects on Cost:
◦ Commodities are products sold by multiple vendors in large quantities that are
essentially identical (e.g., DRAM, Flash memory, keyboards).
◦ High competition among vendors drives prices closer to costs, reducing overall
product costs.
◦ The competitive nature of commodity markets allows suppliers to achieve economies
of scale, further lowering costs.
In summary, the cost of computer components is in uenced by time, volume, and market dynamics.
Understanding these trends can help in designing cost-effective systems.
• Subjectivity of Performance:
◦ Performance can mean different things to different stakeholders.
◦ An analogy from the airline industry can illustrate this:
▪ Cruising Speed: Indicates how fast the system operates.
▪ Flight Range: Re ects how far the system can go before needing a recharge
or refuel.
▪ Passengers: Represents how many tasks or users the system can handle
simultaneously.
Performance Metrics
◦
De nition: The total number of tasks completed in a speci c period.
◦
Signi cance: Most relevant for batch processing applications (e.g., billing, credit
card processing).
◦ Relevance: Primarily used in input/output systems, like disk access and printers,
where the volume of tasks is essential.
In summary, evaluating performance requires understanding different metrics, considering the
speci c context of applications, and recognizing the factors that in uence performance outcome
◦ The most effective benchmarks for measuring performance are real applications,
such as Google Translate.
◦ Simpler programs often lead to misleading performance results.
2. Types of Benchmarks:
fi
fi
fi
fi
fi
fi
fl
fi
fi
fl
◦
Kernels: Small, essential parts of real applications that are critical for performance
measurement.
◦ Toy Programs: Simple programs (e.g., Quicksort) typically used in introductory
programming that do not re ect real-world performance.
◦ Synthetic Benchmarks: Invented programs designed to mimic the behavior of real
applications (e.g., Dhrystone).
3. Compiler Flags:
◦Designers must balance allowing modi cations with ensuring benchmarks accurately
predict real-world performance.
◦ The aim is to create a benchmark suite that effectively characterizes the relative
performance of computers for applications not included in the suite.
6. Standardized Benchmark Suites:
◦
Desktop benchmarks are divided into two main categories:
▪ Processor-Intensive Benchmarks: Focus on measuring CPU performance.
▪ Graphics-Intensive Benchmarks: Evaluate graphics processing, often
involving signi cant CPU activity.
2. SPEC Benchmark Evolution:
◦The SPEC benchmark suite began with a focus on processor performance (initially
called SPEC89) and has evolved through six generations, with the latest being
SPEC2017.
◦ In SPEC2017, integer benchmarks are represented above the line and oating-point
benchmarks below the line.
3. Characteristics of SPEC Benchmarks:
◦ SPEC benchmarks are real programs that have been modi ed to ensure portability
and minimize I/O effects on performance.
◦ Integer Benchmarks: Include various applications such as parts of a C compiler, a
Go program, and video compression.
◦ Floating-Point Benchmarks: Feature applications like molecular dynamics, ray
tracing, and weather forecasting.
fi
fi
fi
fi
fi
fi
fi
fl
fl
fi
fi
fi
fl
fl
◦ The SPEC CPU suite is suitable for benchmarking processors in both desktop
systems and single-processor servers.
Server Benchmarks
1. Variety of Server Benchmarks:
◦ Most server benchmarks involve signi cant I/O activity related to storage or network
traf c.
◦ Types of benchmarks include:
▪ File server systems
▪ Web servers
▪ Database and transaction processing systems
5. Transaction-Processing (TP) Benchmarks:
◦ The rst TPC benchmark, TPC-A, was published in 1985, later replaced and
enhanced by various benchmarks.
◦ TPC-C (1992): Simulates a complex query environment.
◦ TPC-H: Models ad hoc decision support with unrelated queries.
◦ TPC-DI: Focuses on data integration tasks, important for data warehousing.
◦ TPC-E: Represents an online transaction processing (OLTP) workload for a
brokerage rm’s customer accounts.
7. Performance Measurement:
◦ All TPC benchmarks measure performance in transactions per second and include
response time requirements to ensure throughput is only measured when response
time limits are met.
◦ The cost of the benchmark system is also considered for accurate cost-performance
comparisons.
fi
fi
fi
fi