0% found this document useful (0 votes)
17 views12 pages

Chapter 1 Summary

Uploaded by

11832842
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)
17 views12 pages

Chapter 1 Summary

Uploaded by

11832842
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/ 12

Chapter 1: Computer Abstractions and Technology

Introductory Concepts

Personal Computer (PC): A computer designed for use by an individual, usually incorporating a graphics
display, a keyboard, and a mouse.

Server: A computer used for running larger programs for multiple users, often simultaneously, and
typically accessed only via a network.

Supercomputer: A class of computers with the highest performance and cost; they are configured as
servers and typically cost tens to hundreds of millions of dollars.

Terabyte (TB): Originally 1,099,511,627,776 (240) bytes, although communications and secondary storage
systems (e.g. hard disks) developers started using the term to mean 1,000,000,000,000 (1012) bytes. To
reduce confusion, we now use the term tebibyte (TiB) for 240 bytes, defining terabyte (TB) to mean 1012
bytes.

Embedded Computer: A computer inside another device used for running one predetermined application
or collection of software.

Personal Mobile Devices (PMDs): are small wireless devices to connect to the Internet; they rely on
batteries for power, and software is installed by downloading apps. Conventional examples are smart
phones and tablets.

Cloud Computing: refers to large collections of servers that provide services over the Internet; some
providers rent dynamically varying numbers of servers as a utility.

Software as a Service (SaaS): delivers software and data as a service over the Internet, usually via a thin
program such as a browser that runs on local client devices, instead of binary code that must be installed,
and runs wholly on that device. Examples include web search and social networking.

1/12
v 0.1
Multicore Microprocessor: A microprocessor containing multiple processors (“cores”) in a single
integrated circuit.

Systems Software: Software that provides services that are commonly useful, including operating
systems, compilers, loaders, and assemblers.

Operating System: Supervising program that manages the resources of a computer for the benefit of the
programs that run on that computer.

Compiler: A program that translates high-level language statements into assembly language statements.

Binary Digit: Also called a bit. One of the two numbers in base 2 (0 or 1) that are the components of
information.

Instruction: A command that computer hardware understands and obeys.

Assembler: A program that translates a symbolic version of instructions into the binary version.

Assembly language: A symbolic representation of machine instructions.

Machine language: A binary representation of machine instructions.

High-Level Programming Language: A portable language such as C, C++, Java, or Visual Basic that is
composed of words and algebraic notation that can be translated by a compiler into assembly language.

Input Device: A mechanism through which the computer is fed information, such as a keyboard.

2/12
Output Device: A mechanism that conveys the result of a computation to a user, such as a display, or to
another computer.

3/12
4/12
Integrated Circuit: Also called a chip. A device combining dozens to millions of transistors.

Central Processor Unit (CPU): Also called processor. The active part of the computer, which contains the
datapath and control and which adds numbers, tests numbers, signals I/O devices to activate, and so on.

Datapath: The component of the processor that performs arithmetic operations control The component
of the processor that commands the datapath, memory, and I/O devices according to the instructions of
the program.

Memory: The storage area in which programs are kept when they are running and that contains the data
needed by the running programs.

Dynamic Random Access Memory (DRAM): Memory built as an integrated circuit; it provides random
access to any location. Access times are 50 nanoseconds and cost per gigabyte in 2012 was $5 to $10.

Cache Memory: A small, fast memory that acts as a buffer for a slower, larger memory.

Static Random Access Memory (SRAM): Also memory built as an integrated circuit, but faster and less
dense than DRAM.

Instruction Set Architecture: Also called architecture. An abstract interface between the hardware and
the lowest-level software that encompasses all the information necessary to write a machine language
program that will run correctly, including instructions, registers, memory access, I/O, and so on.

Application Binary Interface (ABI): The user portion of the instruction set plus the operating system
interfaces used by application programmers. It defines a standard for binary portability across computers.

Implementation: Hardware that obeys the architecture abstraction.

Volatile Memory: Storage, such as DRAM, that retains data only if it is receiving power.

Nonvolatile Memory: A form of memory that retains data even in the absence of a power source and that
is used to store programs between runs. A DVD disk is nonvolatile.

Main Memory: Also called primary memory. Memory used to hold programs while they are running;
typically consists of DRAM in today’s computers.

Secondary Memory: Nonvolatile memory used to store programs and data between runs; typically
consists of flash memory in PMDs and magnetic disks in servers.

Magnetic Disk: Also called hard disk. A form of nonvolatile secondary memory composed of rotating
platters coated with a magnetic recording material. Because they are rotating mechanical devices, access
times are about 5 to 20 milliseconds and cost per gigabyte in 2012 was $0.05 to $0.10.

Flash Memory: A nonvolatile semiconductor memory. It is cheaper and slower than DRAM but more
expensive per bit and faster than magnetic disks. Access times are about 5 to 50 microseconds and cost
per gigabyte in 2012 was $0.75 to $1.00.

5/12
Measuring, Reporting, and Summarizing Performance

Response Time: Also called execution time. The total time required for the computer to complete a task,
including disk accesses, memory accesses, I/O activities, operating system overhead, CPU execution time,
and so on.

Throughput: Also called bandwidth. Another measure of performance, it is the number of tasks completed
per unit time.

CPU Execution Time: Also called CPU time. The actual time the CPU spends computing for a specific task.

User CPU Time: The CPU time spent in a program itself.

System CPU Time: The CPU time spent in the operating system performing tasks on behalf of the program.

Clock Cycle: Also called tick, clock tick, clock period, clock, or cycle. The time for one clock period, usually
of the processor clock, which runs at a constant rate.

Clock Period: The length of each clock cycle.

Clock Cycles per Instruction (CPI): Average number of clock cycles per instruction for a program or
program fragment.

Instruction Count: The number of instructions executed by the program.

Instruction Mix: A measure of the dynamic frequency of instructions across one or many programs.

6/12
Million Instructions per Second (MIPS): A measurement of program execution speed based on the
number of millions of instructions. MIPS is computed as the instruction count divided by the product of
the execution time and 106.

A computer is faster than another means the response time is decreased and throughput is increased. In
other words, “X is n times faster than Y” will mean:

1
Execution TimeY PerformanceY Performance X
n 
Execution Time X 1 PerformanceY
Performance X

CPU time: means the time the processor is computing, not including the time waiting for I/O or running
other programs.

Workloads: the mixture of programs and operating system commands that users run on a computer.

7/12
To determine the time needed for a program to execute, we need to count the clock cycles of that
program:

CPUtime  CPU clock cycles for a program  Clock cycle time


CPU clock cycles for a program
CPUtime 
Clock rate
CPUtime  IC  CPI  T
CPU clock cycles for a program
CPI 
Instruction count
CC  IC  CPI

T  Clock cycle time


f  Clock rate
1
f 
T
IC : Instruction count
CPI : Clocks Per Instruction
IPC : Instructions Per Clock
1
CPI 
IPC
CC : Clock cycles

Basic technologies involved in changing each characteristic are interdependent:

 Clock cycle time—Hardware technology and organization


 CPI—Organization and instruction set architecture
 Instruction count—Instruction set architecture and compiler technology

For different types of instructions (let say n types):

n
CPU clock cycles   ICi  CPI i
i 1
n
ICi
CPI    CPI i
i 1 Instruction count

ICi
Where is the fraction of type i from the total number of instructions in the program.
Instruction count

8/12
Instruction count Clock rate
MIPS= 
Instruction count  CPI
106 CPI 10
6

Clock rate

Seconds Instructions Clock cycles Seconds


    IC  CPI  T
Program Program Instruction Clock cycle

9/12
10/12
11/12
Component Enhancement vs. System Enhancement

Amdahl’s Law: A rule stating that the performance enhancement possible with a given improvement is
limited by the amount that the improved feature is used. It is a quantitative version of the law of
diminishing returns.

Performance for entire task using the enhancement when possible Performancenew
Speedup  
Performance for entire task without using the enhancement Performanceold
Execution time for entire task without using the enhancement Execution timeold
 
Execution time for entire task using the enhancement when possible Execution timenew

Execution timeold 1
Speedup  
Fraction enhanced
Execution timenew
1  Fraction enhanced  
Speedupenhanced

12/12

You might also like