chapter 1-Basic Structure of Computers
chapter 1-Basic Structure of Computers
Basic
Structure of Computers
Introduction
● Computer Hardware: electronic circuits,
displays, magnetic and optical storage media,
electromechnical equipment, communication
facilities
● Computer Architecture: instruction set and
hardware units that implements the
instructions
Computer Types
● Definition of digital computer
● Based on storage capacity and computing
power
● Personal computer
● Workstations
● Enterprise systems and servers
● Supercomputers
Functional Units
Functional Units
Arithmeti
Inpu c an
t d
logi
c
Memor
y
Outpu Contro
t l
I/O Processo
r
Main Cache
memory memory Processor
Bus
How to improve T?
Pipeline and Superscalar
Operation
● Instructions are not necessarily executed one after
another.
● The value of S doesn’t have to be the number of
clock cycles to execute one instruction.
● Pipelining – overlapping the execution of successive
instructions.
● Example: Add R1, R2, R3
● Superscalar operation – multiple instruction
pipelines are implemented in the processor.
● Goal – reduce S (could become <1!)
● Issue: Must preserve Logical correctness of the
program
Clock Rate
● Increase clock rate
Improve the integrated-circuit (IC) technology to make
the circuits faster
Reduce the amount of processing done in one basic step
(however, this may increase the number of basic steps
needed)
● Increases in R that are entirely caused by
improvements in IC technology affect all
aspects of the processor’s operation equally
except the time to access the main memory.
CISC and RISC
● Tradeoff between N and S
● A key consideration is the use of pipelining
S is close to 1 even though the number of basic steps
per instruction may be considerably larger
It is much easier to implement efficient pipelining in
processor with simple instruction sets
● Reduced Instruction Set Computers (RISC)
● Complex Instruction Set Computers (CISC)
Compiler
● A compiler translates a high-level language program
into a sequence of machine instructions.
● To reduce N, we need a suitable machine instruction
set and a compiler that makes good use of it.
● Goal – reduce N×S
● A compiler may not be designed for a specific
processor; however, a high-quality compiler is
usually designed for, and with, a specific processor.
Performance Measurement
● T is difficult to compute.
● Measure computer performance using benchmark programs.
● System Performance Evaluation Corporation (SPEC) selects and
publishes representative application programs for different application
domains, together with test results for many commercially available
computers.
● Compile and run (no simulation)
● Reference computer