0% found this document useful (0 votes)
48 views63 pages

Chapter 2 - Computer Evolution and Performance

The document outlines the evolution of computers, detailing significant milestones from the first generation using vacuum tubes to the development of integrated circuits and microprocessors. It highlights key innovations, such as the ENIAC, the introduction of transistors, and the impact of IBM's System/360 and DEC's PDP-8 on the computer industry. Additionally, it discusses embedded systems and performance assessment in computer design.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
48 views63 pages

Chapter 2 - Computer Evolution and Performance

The document outlines the evolution of computers, detailing significant milestones from the first generation using vacuum tubes to the development of integrated circuits and microprocessors. It highlights key innovations, such as the ENIAC, the introduction of transistors, and the impact of IBM's System/360 and DEC's PDP-8 on the computer industry. Additionally, it discusses embedded systems and performance assessment in computer design.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.

+ 1

Electrical Engineering Department


ECO 223 Credits: 3

Computer Design

Spring 2025
+

William Stallings
Computer Organization
and Architecture
8th Edition
3

+
Chapter 2
Computer Evolution and Performance
Spring 2025
+ 4

Outline

◼A Brief History of Computers


◼ The Evolution of the Intel x86 Architecture
◼ Embedded Systems and the ARM
◼ Performance Assessment

Spring 2025
+ History of Computers 5

First Generation: Vacuum Tubes


◼ ENIAC
◼ Electronic Numerical Integrator And Computer

◼ Designed and constructed at the University of Pennsylvania


◼ Started in 1943 –completed in 1946
◼ By John Archly and John Eckert

◼ World’s first general purpose electronic digital computer


◼ Army’s Ballistics Research Laboratory (BRL) needed a way to supply range
and trajectory tables for new weapons accurately and within a reasonable
time frame
◼ Was not finished in time to be used in the war effort

◼ Its first task was to perform a series of calculations that were used to
help determine the feasibility of the hydrogen bomb

◼ Continued to operate under BRL management until 1955 when it was


disassembled
Spring 2025
+ 6

Spring 2025
+ John Von Neumann 7

EDVAC (Electronic Discrete Variable Computer)

◼ First publication of the idea was in 1945

◼ Stored program concept


◼ Attributed to ENIAC designers, most notably the
mathematician John von Neumann
◼ Program represented in a form suitable for storing in memory
alongside the data
◼ In 1946, von Neumann and his colleagues began the design of
a new stored program computer, referred to as the IAS
computer

◼ IAS computer
◼ Princeton Institute for Advanced Studies
◼ Prototype of all subsequent general-purpose computers
◼ Completed in 1952

Spring 2025
+ 8

Structure of von Neumann Machine

Spring 2025
+ 9

IAS - details

◼ The memory of the IAS consists of 1000 storage


locations, called words, of 40 binary digits (bits) each
◼ Binary number
◼ 2 x 20 bit instructions
◼ Set of registers (storage in CPU)
◼ Memory Buffer Register
◼ Memory Address Register
◼ Instruction Register
◼ Instruction Buffer Register
◼ Program Counter
◼ Accumulator
◼ Multiplier Quotient

Spring 2025
+ 10

IAS Memory Formats

Spring 2025
+ 11

Spring 2025
+ 12

Spring 2025
+ 13

Commercial Computers
UNIVAC
◼ The 1950s saw the birth of the computer industry with two
companies, Sperry and IBM, dominating the marketplace.

◼ 1947 –Eckert and Mauchly formed the Eckert-Mauchly


Computer Corporation to manufacture computers
commercially

◼ UNIVAC I (Universal Automatic Computer)


◼ First successful commercial computer
◼ Was intended for both scientific and commercial applications
◼ Commissioned by the US Bureau of Census for 1950 calculations
◼ The first paper describing the system listed matrix algebraic
computations, statistical problems, premium billings for a life
insurance company as a sample of the tasks it could perform.
Spring 2025
+ 14

Commercial Computers
UNIVAC
◼ UNIVAC II –delivered in the late 1950’s
◼ Had greater memory capacity and higher performance than the
UNIVAC I

◼ illustrates several trends that have remained characteristic of


the computer industry:
◼ First, advances in technology allow companies to continue to
build larger, more powerful computers.
◼ Second, each company tries to make its new machines backward
compatible with the older machines.

◼ The UNIVAC I& UNIVAC II became part of Sperry-Rand


Corporation, which went on to build a series of successor
machines.

Spring 2025
+ 15

IBM

◼ Was the major manufacturer of punched-card


processing equipment
◼ Delivered its first electronic stored-program computer
(701) in 1953
◼ Intended primarily for scientific applications

◼ Introduced 702 product in 1955


◼ Hardware features made it suitable to business
applications
◼ Series of 700/7000 computers established IBM as the
overwhelmingly dominant computer manufacturer

Spring 2025
+ 16

History of Computers
Second Generation: Transistors
◼ Smaller

◼ Cheaper

◼ Dissipates less heat than a vacuum tube


◼ Is a solid state device made from silicon
◼ Was invented at Bell Labs in 1947
◼ It was not until the late 1950’s that fully
transistorized computers were commercially
available

Spring 2025
+ 17

Table 2.2
Computer Generations

Spring 2025
+ 18

Second Generation Computers

◼ Introduced:
◼ More complex arithmetic and logic units and control units
◼ The use of high-level programming languages
◼ Provision of system software which provided the ability to:
◼ load programs

◼ move data to peripherals and libraries

◼ perform common computations

◼ Appearance of the Digital Equipment Corporation (DEC) in


1957
◼ PDP-1 was DEC’s first computer
◼ This computer and this company began the minicomputer
phenomenon that would become so prominent in the third
generation.
Spring 2025
+ 19

History of Computers
Third Generation: Integrated Circuits
◼ 1958 –the invention of the integrated circuit

◼ A single, self-contained transistor is called a discrete component.

◼ Throughout the 1950s and early 1960s, electronic equipment was


composed largely of discrete components—transistors, resistors,
capacitors, and so on.

◼ Discrete components were manufactured separately, packaged in their


own containers, and soldered or wired together onto masonite-like
circuit boards, which were then installed in computers.

◼ It is the integrated circuit that defines the third generation of computers.

◼ The two most important members of the third generation were the IBM
System/360 and the DEC PDP-8

Spring 2025
+ 20

Microelectronics

◼ MICROELECTRONICS :
◼ Microelectronics means, literally, “small electronics.”

◼ The basic elements of a digital computer, as we know, must


perform storage, movement, processing, and control
functions. Only two fundamental types of components are
required gates and memory cells.

◼ A gate is a device that implements a simple Boolean or


logical function,
◼ such as IF A AND B ARE TRUE THEN C IS TRUE (AND gate).
◼ Such devices are called gates because they control data flow in
much the same way that canal gates do.

Spring 2025
+ 21

Microelectronics

◼ By interconnecting large numbers of these fundamental


devices, we can construct a computer.

◼ We can relate this to our four basic functions as follows:


◼ Data storage: Provided by memory cells.
◼ Data processing: Provided by gates.
◼ Data movement: The paths among components are used to move
data from memory to memory and from memory through gates to
memory.
◼ Control: The paths among components can carry control signals.
◼ For example, a gate will have one or two data inputs plus a control
signal input that activates the gate.

Spring 2025
+ 22

Microelectronics

Spring 2025
+ 23

Integrated Circuits

◼ A computer consists of gates, memory cells, and


interconnections among these elements
◼ The gates and memory cells are constructed of simple
digital electronic components
◼ Exploits the fact that such components as transistors,
resistors, and conductors can be fabricated from a
semiconductor such as silicon
◼ Many transistors can be produced at the same time on a
single wafer of silicon
◼ Transistors can be connected with a process of
metallization to form circuits

Spring 2025
+ 24

Wafer, Chip,
and Gate
Relationship

Spring 2025
+ Moore’s Law 25

Spring 2025
+ 26

Spring 2025
+ 27

Spring 2025
+ 28

IBM SYSTEM/360

◼ By 1964, IBM had a firm grip on the computer market with its
7000 series of machines.

◼ the 360 product line was incompatible with older IBM


machines.

◼ This was a bold step by IBM, but one IBM felt was necessary
to break out of some of the constraints of the 7000
architecture and to produce a system capable of evolving
with the new integrated circuit technology.

◼ the architecture of the 360 remains to this day the


architecture of IBM’s mainframe computers.

Spring 2025
+ 29

Characteristics of the
System/360 Family

Spring 2025
+ 30

The characteristics of a family


◼ The characteristics of a family are as follows:
◼ Similar or identical instruction set: The exact same set of machine instructions is supported
on all members of the family. In some cases, the lower end of the family has an instruction set
that is a subset of that of the top end of the family. This means that programs can move up but
not down.

◼ Similar or identical operating system: The same basic operating system is available for all
family members. In some cases, additional features are added to the higher-end members.

◼ Increasing speed: The rate of instruction execution increases in going from lower to higher
family members.

◼ Increasing number of I/O ports: The number of I/O ports increases in going from lower to
higher family members.

◼ Increasing memory size: The size of main memory increases in going from lower to higher
family members.

◼ Increasing cost: At a given point in time, the cost of a system increases in going from lower
to higher family members.

Spring 2025
+ 31

DEC -PDP-8

◼ In the same year that IBM shipped its first System/360, another
momentous first shipment occurred:
◼ PDP-8 from Digital Equipment Corporation (DEC).
◼ PDP-8 small enough that it could be placed on top of a lab bench or
be built into other equipment.

◼ It could not do everything the mainframe could, but at $16,000,


it was cheap enough for each lab technician to have one.
◼ In contrast, the System/360 series of mainframe computers
introduced just a few months before cost hundreds of thousands of
dollars.

◼ later models of the PDP-8 used a structure that is now virtually


universal for microcomputers: the bus structure.

Spring 2025
+ 32

DEC -PDP-8 Bus Structure

◼ The PDP-8 bus, called the Omnibus, consists of 96 separate


signal paths, used to carry control, address, and data signals.

◼ Because all system components share a common set of signal


paths, their use must be controlled by the CPU.

Spring 2025
+ 33

Spring 2025
+ 34

Semiconductor Memory
◼ In the 1950s and 1960s, most computer memory was constructed from
tiny rings of ferromagnetic material .
◼ These rings were strung up on grids of fine wires suspended on small
screens inside the computer.
◼ Magnetized one way, a ring (called a core) represented a one; magnetized
the other way, it stood for a zero.
◼ Magnetic-core memory was rather fast; it took as little as a millionth of a
second to read a bit stored in memory.
◼ But it was expensive, bulky, and used destructive readout:
◼ The simple act of reading a core erased the data stored in it.
◼ It was therefore necessary to install circuits to restore the data as soon as it had been
extracted.

◼ Then, in 1970, Fairchild produced the first relatively capacious


semiconductor memory.
Spring 2025
+ 35

Spring 2025
+ 36

Spring 2025
+ 37

Microprocessors

◼ The density of elements on processor chips continued to rise


◼ More and more elements were placed on each chip so that fewer and
fewer chips were needed to construct a single computer processor

◼ 1971 Intel developed 4004


◼ First chip to contain all of the components of a CPU on a single chip
◼ Birth of microprocessor

◼ 1972 Intel developed 8008


◼ First 8-bit microprocessor

◼ 1974Intel developed 8080


◼ First general purpose microprocessor
◼ Faster, has a richer instruction set, has a large addressing capability

Spring 2025
+ 38

Spring 2025
+ 39

Spring 2025
+ 40

x86 Evolution (continued)

Spring 2025
+ 41

Evolution of Intel
Microprocessors

a. 1970s Processors

Spring 2025
b. 1980s Processors
+ 42

Evolution of Intel
Microprocessors

c. 1990s Processors

Spring 2025 d. Recent Processors


+ 43

Embedded Systems

◼ Embedded system. A combination of computer hardware and


software, and perhaps additional mechanical or other parts, designed
to perform a dedicated function.

◼ In many cases, embedded systems are part of a larger electrical or


mechanical system.

◼ The ARM architecture refers to a processor architecture that has


evolved from RISC design principles and is used in embedded
systems.

Spring 2025
+ 45

Spring 2025
+ 46

Possible Organization of an
Embedded System

Spring 2025
+ 47

Possible Organization of an
Embedded System
◼ In addition to the processor and memory, there are a number of elements
that differ from the typical desktop or laptop computer:

◼ There may be a variety of interfaces that enable the system to measure,


Manipulate, and otherwise interact with the external environment.

◼ The human interface may be as simple as a flashing light or as


complicated as real-time robotic vision.

◼ The diagnostic port may be used for diagnosing the system that is being
controlled—not just for diagnosing the computer.

◼ Special-purpose field programmable (FPGA), application specific (ASIC),


or even non-digital hardware may be used to increase performance or
safety.

◼ Software often has a fixed function and is specific to the application.

Spring 2025
+ ARM Evolution 48

DSP = digital signal processor


SoC = system on a chip
Spring 2025
+ 50

Performance Assessment
System Clock
◼ Operations performed by a processor, such as fetching an
instruction, decoding the instruction, performing an
arithmetic operation, and so on, are governed by a system
clock.

◼ Typically, clock signals are generated by a quartz crystal,


which generates a constant signal wave while power is
applied.

◼ This wave is converted into a digital voltage pulse stream


that is provided in a constant flow to the processor circuitry

◼ The speed of a processor is dictated by the pulse frequency


produced by the clock, measured in cycles per second, or
Hertz (Hz).
Spring 2025
+ 51

System Clock

Spring 2025
Very early Bell Labs crystals from
+ 52

Vectron International Collection

Spring 2025
+ 53

System Clock

◼ For example, a 1-GHz processor receives 1 billion pulses per


second. The rate of pulses is known as the clock rate, or
clock speed.

◼ One increment, or pulse, of the clock is referred to as a clock


tick. The time between pulses is the cycle time.

◼ Furthermore, depending on the physical layout of the


processor circuits, some signals may change more rapidly
than others. Thus, operations must be synchronized and
paced so that the proper electrical signal (voltage) values
are available for each operation.

Spring 2025
+ 54

Instruction Execution Rate

◼ A processor is driven by a clock with a constant frequency f or,


equivalently, a constant cycle time 𝜏 ,

where 𝜏 = 1/f

◼ Ic : instruction count for a program define as the number of


machine instructions executed for that program until it runs to
completion.

◼ CPI: the average cycles per instruction for a program.


◼ If all instructions required the same number of clock cycles, then CPI
would be a constant value for a processor.

◼ However, on any give processor, the number of clock cycles


required varies for different types of instructions, such as load,
store, branch, and so on.

Spring 2025
+ 55

Instruction Execution Rate

◼ Let:
◼ CPIi be the number of cycles required for instruction type i.
◼ Ii be the number of executed instructions of type i for a given
program.
◼ overall CPI :
σ𝑛𝑖=1 𝐶𝑃𝐼𝑖 × 𝐼𝑖
𝐶𝑃𝐼 =
𝐼𝑐
◼ The processor time T needed to execute a given program
can be expressed as

𝑇 = 𝐼𝑐 × 𝐶𝑃𝐼 × 𝜏

Spring 2025
+ 56

Instruction Execution Rate

◼ A common measure of performance for a processor is the


rate at which instructions are executed, expressed as millions
of instructions per second (MIPS),

◼ Referred to as the MIPS rate. We can express the MIPS rate


in terms of the clock rate and CPI as follows:

𝐼𝑐 𝑓
𝑀𝐼𝑃𝑆𝑟𝑎𝑡𝑒 = 6
=
𝑇 × 10 𝐶𝑃𝐼 × 106

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑒𝑥𝑒𝑐𝑢𝑡𝑒𝑑 𝑓𝑙𝑜𝑎𝑡𝑖𝑛𝑔 𝑝𝑜𝑖𝑛𝑡𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛𝑠 𝑖𝑛 𝑎 𝑝𝑟𝑜𝑔𝑟𝑎𝑚


𝑀𝐹𝐿𝑂𝑃𝑆𝑟𝑎𝑡𝑒 =
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 × 106

Spring 2025
Benchmarks
57

For example, consider this high-level language statement:

A = B + C /* assume all quantities in main memory */

With a traditional instruction set architecture, referred to as a complex


instruction set computer (CISC), this instruction can be compiled into
one processor instruction:

add mem(B), mem(C), mem (A)

On a typical RISC machine, the compilation would look


something like this:
load mem(B), reg(1);
load mem(C), reg(2);
add reg(1), reg(2), reg(3);
store reg(3), mem (A)
Spring 2025
+ 58

Desirable Benchmark
Characteristics
Written in a high-level language, making it portable
across different machines

Representative of a particular kind of programming


style, such as system programming, numerical
programming, or commercial programming

Can be measured easily

Has wide distribution

Spring 2025
+ 59

System Performance Evaluation


Corporation (SPEC)
◼ Benchmark suite
◼ A collection of programs, defined in a high-level language
◼ Attempts to provide a representative test of a computer in a
particular application or system programming area.

◼ SPEC
◼ An industry consortium
◼ Defines and maintains the best known collection of benchmark
suites
◼ Performance measurements are widely used for comparison and
research purposes

Spring 2025
+ ◼ Best known SPEC benchmark suite

◼ Industry standard suite for processor


intensive applications
SPEC ◼ Appropriate for measuring
performance for applications that
spend most of their time doing
computation rather than I/O
CPU2006 ◼ Consists of 17 floating point programs
written in C, C++, and Fortran and 12
integer programs written in C and C++

◼ Suite contains over 3 million lines of


code

◼ Fifth generation of processor intensive


suites from SPEC

Spring 2025
+ 61

Averaging Results

◼ If m different benchmark program, then a simple arithmetic


mean can be calculated as follows:
𝑚
◼ Arithmetic Mean: 1
◼ where Ri is the high-level language instruction 𝑅𝐴 = ෍ 𝑅𝑖
𝑚
𝑖=1
execution rate for the ith benchmark program.
◼ Ultimately, the user is concerned with the execution time of a
system, not its execution rate. 𝑚
𝑅𝐻 =
σ 𝑚 1
◼ Harmonic mean: 𝑖=1 𝑅
𝑖
◼ The arithmetic mean of the instruction rate does not cleanly
relate to execution time. On the other hand, the harmonic
mean instruction rate is the inverse of the average execution
time.

Spring 2025
+ ◼ Gene Amdahl [AMDA67]

◼ Deals with the potential speedup of a


program using multiple processors
compared to a single processor
Amdahl’s ◼ Illustrates the problems facing industry

Law
in the development of multi-core
machines
◼ Software must be adapted to a highly
parallel execution environment to
exploit the power of parallel
processing

◼ Can be generalized to evaluate and


design technical improvement in a
computer system

Spring 2025
+ 63

Amdahl’s Law

◼ The speedup using a parallel processor with N processors that


fully exploits the parallel portion of the program is as follows:
𝑡𝑖𝑚𝑒 𝑡𝑜 𝑒𝑥𝑒𝑐𝑢𝑡𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚 𝑜𝑛 𝑎 𝑠𝑖𝑛𝑔𝑙𝑒 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟
𝑆𝑝𝑒𝑒𝑑𝑢𝑝 =
𝑡𝑖𝑚𝑒 𝑡𝑜 𝑒𝑥𝑒𝑐𝑢𝑡𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚 𝑜𝑛 𝑁 𝑝𝑎𝑟𝑎𝑙𝑙𝑒𝑙 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜𝑟𝑠
𝑇 1 − 𝑓 + 𝑇𝑓 1
= =
𝑇𝑓 𝑓
𝑇 1−𝑓 + 1−𝑓 +
𝑁 𝑁
◼ Two important conclusions can be drawn:
◼ When f is small, the use of parallel processors has little effect.
◼ As N approaches infinity, speedup is bound by 1/(1 − 𝑓), so that
there are diminishing returns for using more processors.

Spring 2025
+ 64

Amdahl’s Law

◼ Amdahl’s law can be generalized to evaluate any design or


technical improvement in a computer system. Consider any
enhancement to a feature of a system that results in a
speedup.

◼ The speedup can be expressed as

Performance after enhancement Execution time before enhancement


𝑆𝑝𝑒𝑒𝑑𝑢𝑝 = =
Performance before enhancement Execution time after enhancement

Spring 2025
+ Summary
65

Computer Evolution
and Performance
Chapter 2
◼ Embedded systems
◼ First generation computers
◼ ARM evolution
◼ Vacuum tubes
◼ Second generation computers ◼ Performance assessment
◼ Transistors ◼ Clock speed and instructions
per second
◼ Third generation computers
◼ Benchmarks
◼ Integrated circuits
◼ Amdahl’s Law
◼ Evolution of the Intel x86 ◼ Little’s Law

Spring 2025

You might also like