Lecture1 Cda3101
Lecture1 Cda3101
CLASSES OF COMPUTERS
• A computer is a device that can be instructed to carry out arbitrary sequences of
arithmetic or logical operations automatically.
• Computers share a core set of technologies, the implementation and use of these
technologies varies with the chosen application.
• Servers
• Emphasize great performance for a few complex applications.
• Or emphasize reliable performance for many users at once.
• Greater computing, storage, or network capacity than personal computers.
• Embedded Computers
• Largest class and most diverse.
• Usually specifically manufactured to run a single application reliably.
• Stringent limitations on cost and power.
PERSONAL MOBILE DEVICES
• PMDs, including small general-purpose devices such as tablets and smartphones
• generally have the same design requirements as PCs
• much more stringent efficiency requirements (to preserve battery life and reduce heat emission).
• PMDs are just as powerful as desktop computers but with more sensitive data
• What is the most widely used operating system? Windows, Linux, or MacOS?
GREAT ARCHITECTURE IDEAS
There are 8 great architectural ideas that have been applied in the design of
computers for over half a century now.
As we cover the material of this course, we should stop to think every now and then
which ideas are in play and how they are being applied in the current context.
GREAT ARCHITECTURE IDEAS
• Design for Moore's law.
• The number of transistors on a chip doubles every 18-24 months.
• Architects have to anticipate where technology will be when the design of a system is completed.
1 1
>
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛8 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛:
Alternatively,
𝐶𝑃𝑈 𝐶𝑙𝑜𝑐𝑘 𝐶𝑦𝑐𝑙𝑒𝑠
𝐶𝑃𝑈 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑇𝑖𝑚𝑒 =
𝐶𝑙𝑜𝑐𝑘 𝑅𝑎𝑡𝑒
Clearly, we can reduce the execution time of a program by either reducing the
number of clock cycles required or the length of each clock cycle.
CPU PERFORMANCE
Our favorite program runs in 10 seconds on computer A, which has a 2 GHz clock.
We are trying to help a computer designer build computer B, which will run this
program in 6 seconds. The designer has determined that a substantial increase in the
clock rate is possible, but it will affect the rest of the 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?
CPU PERFORMANCE
Answer to previous slide: To run the program in 6 seconds, B must have twice the clock
rate of A.
CPU PERFORMANCE
Another way to think about program execution time is in terms of instruction
performance. Generally, execution time is equal to the number of instructions
executed multiplied by the average time per instruction.
𝐶𝑃𝑈 𝐶𝑙𝑜𝑐𝑘 𝐶𝑦𝑐𝑙𝑒𝑠 = 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 𝑓𝑜𝑟 𝑎 𝑃𝑟𝑜𝑔𝑟𝑎𝑚 ×𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝐶𝑙𝑜𝑐𝑘 𝐶𝑦𝑐𝑙𝑒𝑠 𝑃𝑒𝑟 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛
The average number of clock cycles per instruction is often abbreviated as CPI. The
above equation can be rearranged to give the following:
Alternatively,
Instruction Count, CPI, and Clock Period combine to form the three important
components for determining CPU execution time. Just analyzing one is not enough!
Performance between two machines can be determined by examining non-identical
components.
AMDAHL’S LAW
Amdahl's Law states that the performance improvement to be gained from using some
faster mode of execution is limited by the fraction of the time the faster mode can be
used.
Amdahl's Law depends on two factors:
• The fraction of the time the enhancement can be exploited.
• The improvement gained by the enhancement while it is exploited.
• Around 2006, Dennard scaling breaks down as current leakage and thermal
runaway worsen.
• Megahertz war à core war
• AMD Threadripper 1950x TDP 180 Watt
TRENDS IN IMPLEMENTATION TECHNOLOGY
• Transistor count on a chip is increasing by about 40% to 55% a year, or doubling
every 18 to 24 months (Moore's law).
• DRAM capacity per chip is increasing by about 25% to 40% a year, doubling every
two to three years.
• Flash capacity per chip is increasing by about 50% to 60% a year, doubling
recently about every 1.5 years. Flash memory is 15 to 20 times cheaper per byte
than DRAM.
• Disk density is increasing about 40% per year, doubling every two years. Disks per
byte are 15 to 25 times cheaper than flash.
TRENDS IN IMPLEMENTATION TECHNOLOGY
• Increasing the number of transistors per chip has benefits.
• Reduces chip manufacturing cost since less material is being used and it improves yield as die sizes
decrease.
• Improves performance since there is less distance for electricity to travel, which means the rate of
executing machine instructions can increase.