Vous êtes sur la page 1sur 28

Module : Architecture des ordinateurs I

M. Eleuldj et D. El Ghanami

Architecture des ordinateurs 20h

Circuits logiques 18h
TP 18h
Total 56h
Terminologie et définition
• Anglais : computer ⇒ calculateur
• Français : ordinateur ⇒ ordre (commande et organisation)
• Arabe : ‫اﻟﺤﺎﺳﺐ‬, ‫اﻟﻜﻤﺒﻴﻮﺗﺮ‬

Structure des ordinateurs : composants matériels

• UCT (UAL + UC)
• Mémoire
• Unité E/S

Organisation des ordinateurs

• Composants matériels + interconnexion

Architecture des ordinateurs

• Composants matériels + interconnexion + logiciels + compilateurs + systèmes
d’exploitation + conception des circuits + SGBD +…

Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 2

Intérêt de l’architecture des ord.
Pas du tout
• Faire du traitement de texte ou les base de données
• Créer ou gérer un site Internet
• Développer des logiciels en Java ou en C++

Un peu quand même

• Satisfaire la curiosité intellectuelle : « Mais comment elle marche cette machine
sur laquelle je passe des journées (et certaines nuits) ? »

• Développer des systèmes de traitement haute performance (Audio – Video –
Médical – Spatial …)
• Développer des systèmes matériels (FPGA – uP …)
• Donner une expertise en choix de matériel
• Écrire des systèmes d’exploitation
• Développer des compilateurs

Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 3

cours architecture des ordinateurs
• Support de cours de MIT adapté par M. Eleuldj,
• Polycopié, M. Eleuldj, EMI, 1994
• Computer Organization & Design : The Hardware/Software Interface, D.
A. Patterson and J. L. Hennessy, Second Edition, MK, 1997
I. Premiers ordinateurs
II. Evolution des années cinquante
III. Evolution des années soixante
IV. microprogrammation
V. Processeurs à un cycle
VI. pipeline
VII. Hiérarchie de la mémoire
VIII. Optimisation de la mémoire cache
IX. Gestion de la mémoire

Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 4

Chapitre 1 : Premiers ordinateurs

1. Boulier à calculer
2. Machine à différences et machine analytique
3. Marki I
4. Solveur d’équations linéaires
6. IBM 701
7. Facteurs qui ont influencé l’architecture des ordinateurs

Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 5


Early Developments:

From Difference Engine to IBM



Computer Science & Artificial Intelligence Lab


Based on the material prepared by

Arvind and Krste Asanovic

Boulier (depuis 8 siècles en Chine)

• cadre rectangulaire muni de tiges sur lesquelles coulissent des boules.

• lié au système de numération décimale : chaque boule représente, selon la tige sur
laquelle elle se trouve, une unité, une dizaine, une centaine,…
• Le nombre représenté est 6 302 715 408
• outil servant à calculer : addition, soustraction, multiplication, division, racine
Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 6
Charles Babbage 1791-1871

Cambridge University

Machine à différences

Architecture des ordinateurs, M. Eleuldj, EMI, Février 2008 Ch.I. 7

6.823 L1-3

Charles Babbage
• Difference Engine 1823

• Analytic Engine 1833

– The forerunner of modern digital computer!

– Mathematical Tables – Astronomy
– Nautical Tables – Navy

– Any continuous function can be approximated by a
polynomial --- Weierstrass


– mechanical - gears, Jacquard’s loom, simple


September 7, 2005
6.823 L1-4

Difference Engine
A machine to compute mathematical tables

– Any continuous function can be approximated by a
– Any Polynomial can be computed from difference tables

An example
f(n) = n2+n+41

d1(n) = f(n) - f(n-1) = 2n

d2(n) = d1(n) - d1(n-1) = 2

f(n) = f(n-1) + d1(n) = f(n-1) + (d1(n-1) + 2)

n 0 1 2 3 4 ...
d2(n) 2 2 2
d1(n) 2 4 6 8
f(n) 41 43 47 53 61

all you need is an adder!

September 7, 2005
6.823 L1-5

Difference Engine
– Babbage’s paper is published

– The paper is read by Scheutz & his son in Sweden

– Babbage gives up the idea of building it;he is onto
Analytic Engine!

– Scheutz displays his machine at the Paris World Fare
– Can compute any 6th degree polynomial
– Speed: 33 to 44 32-digit numbers per minute!

Now the machine is at the Smithsonian

September 7, 2005
6.823 L1-6

Analytic Engine
1833: Babbage’s paper was published
– conceived during a hiatus in the development of the
difference engine

Inspiration: Jacquard Looms

– looms were controlled by punched cards
• The set of cards with fixed punched holes
dictated the pattern of weave ⇒ program

• The same set of cards could be used with different

colored threads ⇒ numbers

1871: Babbage dies

– The machine remains unrealized.

It is not clear if the analytic engine

could be built even today using only
mechanical technology
September 7, 2005
6.823 L1-7

Analytic Engine
The first conception of a general purpose computer

1. The store in which all variables to be operated

upon, as well as all those quantities which have
arisen from the results of the operations are
2. The mill into which the quantities about to be
operated upon are always brought.

The program
Operation variable1 variable2 variable3

An operation in the mill required feeding two punched

cards and producing a new punched card for the store.

An operation to alter the sequence was also provided!

September 7, 2005
6.823 L1-10

Harvard Mark I
• Built in 1944 in IBM Endicott laboratories
– Howard Aiken – Professor of Physics at Harvard
– Essentially mechanical but had some electro-
magnetically controlled relays and gears
– Weighed 5 tons and had 750,000 components
– A synchronizing clock that beat every 0.015


0.3 seconds for addition

6 seconds for multiplication
1 minute for a sine calculation

Broke down once a week!

September 7, 2005
6.823 L1-11

Linear Equation Solver

John Atanasoff, Iowa State University

– Atanasoff built the Linear Equation Solver.
– It had 300 tubes!

– Linear and Integral differential equations

– Vannevar Bush’s Differential Analyzer
--- an analog computer

– Tubes and Electromechanical relays

Atanasoff decided that the correct mode of

computation was by electronic digital means.

September 7, 2005
6.823 L1-12

Electronic Numerical Integrator


and Computer (ENIAC)

• Inspired by Atanasoff and Berry, Eckert and
Mauchly designed and built ENIAC (1943-45) at
the University of Pennsylvania
• The first, completely electronic, operational,
general-purpose analytical calculator!
– 30 tons, 72 square meters, 200KW
• Performance
– Read in 120 cards per minute
– Addition took 200 µs, Division 6 ms
– 1000 times faster than Mark I
• Not very reliable!
Application: Ballistic calculations

angle = f (location, tail wind, cross wind,

air density, temperature, weight of shell,
propellant charge, ... )

September 7, 2005
6.823 L1-13

Electronic Discrete Variable

Automatic Computer (EDVAC)
• ENIAC’s programming system was external
– Sequences of instructions were executed
independently of the results of the calculation
– Human intervention required to take instructions
“out of order”
• Eckert, Mauchly, John von Neumann and others
designed EDVAC (1944) to solve this problem
– Solution was the stored program computer
⇒ “program can be manipulated as data”
• First Draft of a report on EDVAC was published in
1945, but just had von Neumann’s signature!
– In 1973 the court of Minneapolis attributed the
honor of inventing the computer to John Atanasoff

September 7, 2005
6.823 L1-14

Stored Program Computer

Program = A sequence of instructions

How to control instruction sequencing?
manual control calculators

automatic control
external ( paper tape) Harvard Mark I , 1944
Zuse’s Z1, WW2
plug board ENIAC 1946
read-only memory ENIAC 1948
read-write memory EDVAC 1947 (concept )

– Thesame storage can be used to store program

and data

EDSAC 1950 Maurice Wilkes

September 7, 2005
6.823 L1-15

Technology Issues
18,000 tubes 4,000 tubes
20 10-digit numbers 2000 word storage
mercury delay lines

ENIAC had many asynchronous parallel units

but only one was active at a time

BINAC : Two processors that checked each other

for reliability.
Didn’t work well because processors never

September 7, 2005
6.823 L1-16

The Spread of Ideas

ENIAC & EDVAC had immediate impact
brilliant engineering: Eckert & Mauchley
lucid paper: Burks, Goldstein & von Neumann

IAS Princeton 46-52 Bigelow

EDSAC Cambridge 46-50 Wilkes
MANIAC Los Alamos 49-52 Metropolis
JOHNIAC Rand 50-53
ILLIAC Illinois 49-52
Argonne 49-53

UNIVAC - the first commercial computer, 1951

Alan Turing’s direct influence on these developments

is still being debated by historians.

September 7, 2005
6.823 L1-17

Dominant Problem: Reliability

Mean time between failures (MTBF)

MIT’s Whirlwind with an MTBF of 20 min. was perhaps
the most reliable machine !

Reasons for unreliability:

1. Vacuum Tubes

2. Storage medium
acoustic delay lines

mercury delay lines

Williams tubes


CORE J. Forrester 1954

September 7, 2005
6.823 L1-18

Commercial Activity: 1948-52


Selective Sequence Electronic Calculator

– 150 word store.
– Instructions, constraints, and tables of data were
read from paper tapes.
– 66 Tape reading stations!
– Tapes could be glued together to form a loop!
– Data could be output in one phase of computation
and read in the next phase of computation.

September 7, 2005
6.823 L1-19

And then there was IBM 701

IBM 701 -- 30 machines were sold in 1953-54

IBM 650 -- a cheaper, drum based machine,

more than 120 were sold in 1954
and there were orders for 750 more!

Users stopped building their own machines.

Why was IBM late getting into computer

IBM was making too much money!

Even without computers, IBM revenues

were doubling every 4 to 5 years in 40’s
and 50’s.

September 7, 2005
6.823 L1-20

Software Developments
up to 1955 Libraries of numerical routines

- Floating point operations

- Transcendental functions
- Matrix manipulation, equation solvers, . . .

1955-60 High level Languages - Fortran 1956

Operating Systems -
- Assemblers, Loaders, Linkers, Compilers
- Accounting programs to keep track of
usage and charges

Machines required experienced operators

⇒ Most users could not be expected to understand

these programs, much less write them

⇒ Machines had to be sold with a lot of resident


September 7, 2005
6.823 L1-21

Factors that Influence


Computer Architecture

Applications Computer Architecture


Software played almost no role in defining an

architecture before mid fifties.

special-purpose versus general-purpose

September 7, 2005
6.823 L1-22

Microprocessors Economics since 1990’s

• Huge teams design state-of-the-art

PentiumPro ~ 500 engineers

Itanium ~ 1000 engineers

• Huge investments in fabrication lines and

⇒ to improve clock-speeds and yields
⇒ to build new peripheral chips (memory controllers, ...)

• Economics
⇒ price drops to one tenth in 2-3 years
⇒ need to sell 2 to 4 million units to breakeven

The cost of launching a new ISA is prohibitive

and the advantage is dubious!
September 7, 2005
6.823 L1-23

Essential for portability and competition

Its importance increases with the market size

but it is also the most regressive force

What does compatibility mean?

Instruction Set Architecture (ISA) compatibility

The same assembly program can run on an

upward compatible model

then IBM 360/370 ... now Intel x86 (IA32), IA64

System and application software developers expect

more than ISA compatibility (API’s)
applications Java?
operating system
proc + mem + I/O Wintel
September 7, 2005
6.823 L1-24

Perpetual tension

Language/ Compiler/ Architect/Hardware

System software designer designer

Need mechanisms ⇒ Decompose each

to support important mechanism into essential
abstractions micro-mechanisms and
determine its feasibility
and cost effectiveness
Determine compilation ⇐ Propose mechanisms and
strategy; new language features for performance

Architects main concerns are performance (both

absolute and MIPs/$), and power (both
absolute and MIPs/watt) in supporting a broad
class of software systems.
September 7, 2005