Saturday, September 2, 2017

Computer Abstractions and Technology

Chapter Objectives
1. be able to identify which ones are Hardware, or System Software, or Application software of a computer
2. be able to identify which ones are High-level languages, or Assembly language, or Machine language
3. be able to identify which ones are Operating systems, or Compilers, or Assemblers

4. be able to evaluate a computer’s performance based on its clock rate and CPI
What You Will Learn
nHow programs are translated into the machine language
nAnd how the hardware executes them
nThe hardware/software interface
nWhat determines program performance
nAnd how it can be improved
nHow hardware designers improve performance
nWhat is parallel processing

Understanding Performance
nAlgorithm
nDetermines number of operations executed
nProgramming language, compiler, architecture
nDetermine number of machine instructions executed per operation
nProcessor and memory system
nDetermine how fast instructions are executed
nI/O system (including OS)
nDetermines how fast I/O operations are executed
Eight Great Ideas
Below Your Program


Levels of Program Code
Inside the Processor (CPU)
nDatapath: performs operations on data
nControl: sequences datapath, memory, ...
nCache memory
nSmall fast SRAM memory for immediate access to data

Networks
nCommunication, resource sharing, nonlocal access
nLocal area network (LAN): Ethernet
nWide area network (WAN): the Internet
nWireless network: WiFi, Bluetooth


Manufacturing ICs
Integrated Circuit Cost
Defining Performance
Response Time and Throughput
nResponse time
nHow long it takes to do a task
nThroughput
nTotal work done per unit time
ne.g., tasks/transactions/… per hour
nHow are response time and throughput affected by
nReplacing the processor with a faster version?
nAdding more processors?
nWe’ll focus on response time for now…
Relative Performance
CPU Clocking
CPU Time

 CPU Time Example
Instruction Count and CPI
CPI Example
CPI in More Detail
CPI Example
Performance Summary


Concluding Remarks
nCost/performance is improving
nDue to underlying technology development
nHierarchical layers of abstraction
nIn both hardware and software
nInstruction set architecture
nThe hardware/software interface
nExecution time: the best performance measure
nPower is a limiting factor
        Use parallelism to improve performance


Share:

0 comments:

Post a Comment

Search This Blog

Powered by Blogger.

Blog Archive