Sunteți pe pagina 1din 59

Calculatoare Numerice

- Cursul 0 Dan Tudose


Facultatea de Automatic i Calculatoare Universitatea Politehnica Bucureti

20.02.2013

Comic of the day

28-Feb-13

Calculatoare Numerice

http://abstrusegoose.com/98
slide 2

Important Stuff
Dan Tudose dan.tudose@cs.pub.ro dantudose1984@yahoo.com
Laboratoare: http://elf.cs.pub.ro/cn/wiki
Notare:
3 puncte activitatea laborator 2 puncte lucrare laborator 5 puncte examen final

Cerinte pentru a promova:


Activitate la curs!

minim 6 prezente la laborator minim 1.5 puncte din cele 3 puncte pentru activitatea laborator minim 2.5 puncte din cele 5 puncte din examenul final

28-Feb-13

Calculatoare Numerice

slide 3

Ce este o arhitectur de calcul?


Aplicaie

Distan prea mare pentru a fi acoperit ntr-un singur pas (cu cteva excepii, e.g. Busola magnetic)
Fenomen fizic

Definiie general: o arhitectura de calcul presupune design-ul unor niveluri succesive de abstractizare ce ne permit implementarea eficient a unei aplicaii de procesare de informaie, n limitele tehnologiilor curente de fabricaie.
28-Feb-13 Calculatoare Numerice slide 4

Niveluri de abstractizare ntrun sistem de calcul modern


Aplicaie
Algoritm Limbaj de programare Sistem de operare/Main virtual

Instruction Set Architecture (ISA)


Microarhitectur Pori logice/Transfer de registre Circuite electronice Dispozitive i componente Fenomen fizic

28-Feb-13

Calculatoare Numerice

slide 5

Arhitectura este ntr-o continu schimbare


Aplicaiile dau indicii asupra modului n care poate fi mbuntit tehnologia de fabricaie i produc venit pentru a finana dezvoltarea. Aplicaii mbuntirea tehnologiei de calcul face posibil dezvoltarea de noi aplicaii

Technologie

Costul software development face compatibilitatea s fie o for puternic pe pia


Calculatoare Numerice slide 6

28-Feb-13

Sistemele de calcul atunci...

EDSAC, University of Cambridge, UK, 1949


28-Feb-13 Calculatoare Numerice slide 7

Sisteme de calcul contemporane


Reele de senzori Camere

Playere media

Set-top boxes
Laptopuri

Console Servere Rutere Roboi

Smart phones Automobile


28-Feb-13

Supercalculatoare
Calculatoare Numerice slide 8

Performana procesoarelor
10000

Din Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 4th edition, October, 2006
Performance (vs. VAX-11/780)

??%/year

1000 52%/year
100

10 25%/year

1 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006

VAX : 25%/an 1978 to 1986 RISC + x86: 52%/an 1986 to 2002 RISC + x86: ??%/an 2002 to present
28-Feb-13 Calculatoare Numerice slide 9

?
Major Technology Generations
Vacuum Tubes Relays Bipolar pMOS CMOS nMOS

Electromechanical
28-Feb-13

[from Kurzweil]

Computer Engineering

slide 10

Sfritul erei uni-procesor

Cea mai important schimbare din ntreaga istorie a sistemelor de calcul

28-Feb-13

Calculatoare Numerice

slide 11

Arhitectura Calculatoarelor: Scurt Istoric


De ce ar trebui s ne preocupe aa ceva? Ajut n nelegerea procesului de proiectare a structurilor de calcul i explic de ce au fost luate anumite decizii Pentru c tehnologiile viitoare ar putea fi la fel de supuse la constrngeri ca i cele trecute Cei care ignor istoria sunt predispui s o repete
Fiecare greeal fcut n proiectarea de calculatoare mainframe a fost fcut i n proiectarea minicomputerelor i a microcomputerelor.

28-Feb-13

Calculatoare Numerice

slide 12

Charles Babbage 1791-1871


Lucasian Professor of Mathematics, Cambridge University, 1827-1839

28-Feb-13

Calculatoare Numerice

slide 13

Charles Babbage
Maina diferenial Maina analitic
Aplicaii
Tabele matematice - astronomie Tabele nautice - marin

1823 1833

Precursorul calculatorului digital modern!

Ideea de baz
Orice funcie continu poate fi aproximat printr-un polinom --Weierstrass

Tehnologie
mecanic roi dinate, rzboiul lui Jacquard, calculatoare simple

28-Feb-13

Calculatoare Numerice

slide 14

Maina diferenial
O main pentru calculul tabelelor matematice Weierstrass:
Orice funcie continu poate fi aproximat printr-un polinom Orice polinom poate fi calculat folosind tabele difereniale

De exemplu
f(n) d1(n) d2(n) = n2 + n + 41 = f(n) - f(n-1) = 2n = d1(n) - d1(n-1) = 2

f(n)

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

Tot ce trebuie s faci este s aduni!


n d2(n) d1(n) f(n)
28-Feb-13

1 2

2 2 4 47

3 2 6 53

4 2 8 61

41

43

Calculatoare Numerice

slide 15

Maina diferenial
1823
Babbage public un articol n care descrie maina diferenial

1834
Articolul este citit de Scheutz i fiul lui n Suedia

1842
Babbage renun la ideea de-a construi un prototip funcional; dorete s construiasc Maina Analitic!

1855
Scheutz expune maina la Expoziia Mondial de la Paris Poate calcula orice polinom pn la gradul 6. Vitez de calcul: 33 pn la 44 numere de 32 de cifre pe minut!

Acum, maina se afl la Smithsonian


28-Feb-13 Calculatoare Numerice slide 16

Maina Analitic
1833: Babbage public un articol n care-i descrie funcionarea
Dezvoltat n timpul unei pauze pe care a fcut-o n dezvoltarea mainii difereniale

Inspiraia: Rzboaiele de esut Jacquard


Controlate prin cartele perforate
Modelul gurilor perforate n cartele dicteaz modelul esturii program Acelai set de cartele poate fi folosit cu fire de culori diferite numere

1871: Babbage moare


Maina analitic rmne neconstruit

Nu este clar dac maina analitic ar fi putut fi construit cu tehnologia din vremea lui Babbage
28-Feb-13 Calculatoare Numerice slide 17

Maina Analitic
Primul model al unui calculator numeric 1. 2. Unitatea de stocare, n care sunt pstrate toate variabilele folosite precum i rezultatele operaiilor precedente. Rnia, n care sunt adui operanzii.

Programul Operaia

variabila1

variabila2

variabila3

O operaie n rni necesit introducerea a dou catele perforate i rezult n producerea unei noi cartele perforate ce va fi dus n unitatea de stocare.

28-Feb-13

Calculatoare Numerice

slide 18

Primul programator
Ada Byron aka Lady Lovelace 1815-52

Mentorul lui Lady Lovelace a fost chiar Babbage!


28-Feb-13 Calculatoare Numerice slide 19

Influena lui Babbage


Ideile lui Babbage au fost influeniale, n mare parte datorit
Luigi Menabrea, care a publicat lucrrile lui Babbage n Italia Lady Lovelace, care a tradus notiele lui Menabrea n englez, cu multe adugiri ... Analytic Engine weaves algebraic patterns....

La nceputul sec. XX interesul s-a mutat spre calculatoarele analogice, dar


Harvard Mark I construit n 1944 este foarte apropiat ca i concept de Maina Analitic.

28-Feb-13

Calculatoare Numerice

slide 20

Harvard Mark I
Construit n 1944 n Labortoarele IBM Endicott
Howard Aiken Profesor de fizic la Harvard n mare parte mecanic, dar include i relee i angrenaje acionate electro-magnetic Cntarea 5 tone i avea 750,000 de componente Ceas pentru sincronizare cu o perioad de 0.015 secunde (66Hz)

Performan:
0.3 secunde pentru adunare 6 secunde pentru o nmulire 1 minut pentru calculul sin(x) Aritmetic zecimal Fr salturi condiionale!
28-Feb-13 Computer Engineering Se defecta o dat pe saptamn !

slide 21

Linear Equation Solver


John Atanasoff, Iowa State University

1930:

Aplicaie:

Atanasoff construiete Linear Equation Solver. Avea 300 de tuburi! Calculator digital binar dedicat. RAM dinamic(valori binare stocate n condensatoare la care se fcea refresh)

Competiia: Tehnologie:

Rezolvarea ecuaiilor liniare integrale i difereniale.


Analizorul Diferenial al lui Vannevar Bush --- calculator analogic Tuburi i relee electromagnetice

Atanasoff a decis c modul corect de-a face calcule este prin folosirea de numere binare stocate electronic ca tensiuni.
28-Feb-13 Calculatoare Numerice slide 22

Electronic Numerical Integrator and Computer (ENIAC)


Inspirai de Atanasoff i Berry, Eckert i Mauchly construiesc ENIAC (1943-45) la University of Pennsylvania Primul calculator electronic digital, complet operaional i generalpurpose! 30 tone, 72 metri ptrai, 200KW Performan Citea 120 cartele pe minut Adunare n 200ms, mprire in 6ms Proiectat n timpul WW2 De 1000x mai rapid dect Mark I Nu i foarte fiabil!

Applicaie: Calcule balistice

unghi = f (locaie, vnt spate, vnt lateral, densitate aer, temperatur, greutate obuz, putere propelant, ... )
28-Feb-13

Calculatoare Numerice

slide 23

Electronic Discrete Variable Automatic Computer (EDVAC)


Unitatea de programare pt ENIAC era extern
Diferite secvene de operaii erau executate independent de rezultatele operaiilor respective Pentru a modifica ordinea execuiei era nevoie de intervenia unui operator uman

Eckert, Mauchly, John von Neumann i alii au proiectat EDVAC (1944) pentru a rezolva aceast problem
Soluia era calculatorul cu program stocat (stored program computer) programul poate fi manipulat ca i datele

Primul draft despre EDVAC publicat n 1945, dar avea doar pe von Neumann ca autor!
n 1973 tribunalul Minneapolis atribuie onoarea inventrii primului calculator lui John Atanasoff
28-Feb-13 Calculatoare Numerice slide 24

Stored Program Computer


Program = O secven de instruciuni
Cum poate fi controlat secvenierea instruciunilor? control manual calculatoare
Control automat extern (band perforat) intern Tablou de conexiuni read-only memory read-write memory

Harvard Mark I , 1944 Zuse Z1, WW2


ENIAC 1946 ENIAC 1948 EDVAC 1947 (concept )

Aceeai memorie poate fi folosit i pentru instruciuni i pentru date EDSAC 1950 Maurice Wilkes
28-Feb-13 Calculatoare Numerice slide 25

Probleme tehnologice
ENIAC
18,000 tuburi 20 numere de 10 cifre

vs.

EDVAC
4,000 tuburi 2000 de cuvinte stocate linii de ntrziere cu mercur

ENIAC avea mai multe uniti asincrone paralele dar numai una era activ la un moment dat BINAC : Dou procesoare care se verificau unul pe cellalt pentru a mri fiabilitatea.
nu a funcionat foarte bine pentru ca procesoarele cdeau rareori de acord
28-Feb-13 Calculatoare Numerice slide 26

Problema major: Fiabilitatea!


Mean time between failures (MTBF)
Whirlwind de la MIT, cu un MTBF de 20 min. era probabil cea mai fiabil main de calcul a vremii!

Motivele lipsei de fiabilitate


1. Tuburi cu vid 2. Mediul de stocare Linii acustice de ntrziere Linii de ntrziere cu mercur Tuburi Williams Selecii Fiabilitatea mrit odat cu inventarea memoriei cu miez de ferit de J. Forrester 1954 la MIT pentru proiectul Whirlwind
28-Feb-13 Calculatoare Numerice slide 27

Activitate comercial: 1948-52


IBM SSEC (versiunea avansat a Harvard Mark I) Selective Sequence Electronic Calculator
Memorie de 150 cuvinte. Instruciuni, constrngeri, i tabele de date citite de pe band de hrtie perforat. 66 citittoare de band! Benzile puteau fi lipite la capate pentru a forma o bucl! Datele puteau fi scrise ntr-o etap a calculelor apoi citite ntr-o alt faz a calculelor.

28-Feb-13

Calculatoare Numerice

slide 28

i apoi a venit IBM 701


IBM 701 -- 30 maini vndute intre 1953-54 foloseau tuburi catodice drept memorie, 72 tuburi, 32x32 biti fiecare IBM 650 -- versiune mai ieftin bazat pe memorie pe tambur, mai mult de 120 de uniti vndute n 1954 i comenzi pentru nc 750! De ce a intrat IBM n industria tehnicii de calcul?

IBM fcea prea muli bani!


Chiar i fr calculatoare, veniturile IBM se dublau o dat la 4-5 ani n anii 40 i 50.
28-Feb-13 Calculatoare Numerice slide 29

Calculatoarele anilor 50
Hardware-ul foarte costisitor Memorii foarte mici (mii de cuvinte)
Fr un program rezident de sistem n memorie!

Accesul la memorie de 10-50x mai lent dect un ciclu de procesor


Timpul de execuie al unei instruciuni era dominat de timpul de acces la memorie.

Capabilitatea de-a proiecta circuite complexe de control pentru execuia unei instruciuni era principala problem i nu viteza de execuie sau decodificare a unei instruciuni Modul n care un programator vedea maina de calcul nu era deloc diferit fa de un proiectant hardware.
28-Feb-13

Calculatoare Numerice

slide 30

IBM 650 (1953-4)


Tambur magnetic (1,000 sau 2,000 cuvinte de 10 cifre zecimale) Instruciunea curent (inclusiv contorul de program)

Registru acumulator de 20 de cifre


28-Feb-13

UAL serial
[Din 650 Manual, IBM]
Calculatoare Numerice slide 31

IBM 650 perspectiva programatorului


O main cu tambur magnetic i 44 de instruciuni
Instruciune: 60 1234 1009 ncarc coninutul locaiei 1234 n registrul distribuie; ncarc-l de asemenea n acumulatorul superior; seteaz acumulatorul inferior la zero; apoi merrgi la locaia 1009 pentru urmtoarea instruciune

Programatorii pricepui optimizau amplasamentul instruciunilor pe tambur pentru a reduce latena!


28-Feb-13 Calculatoare Numerice slide 32

Primele seturi de instruciuni


Single Accumulator - o motenire de la mainile de calcul.
LOAD STORE ADD SUB MUL DIV SHIFT LEFT SHIFT RIGHT x x x x x x AC <- M[x] M[x] <- (AC) AC <- (AC) + M[x] exista un registru pentru rezultat AC <- 2 (AC)

JUMP JGE
LOAD ADR STORE ADR

x x
x x

PC <- x if (AC) >= 0 then PC <- x


AC <- adresa la care pointeaz (M[x])

De obicei, mai puin de 24 de instruciuni!


28-Feb-13 Calculatoare Numerice slide 33

Programare: Single Accumulator Machine


Ci Ai + Bi, 1 i n
LOOP LOAD JGE ADD STORE LOAD ADD STORE JUMP HLT N DONE ONE N A B C LOOP A

C -n 1

F1 F2 F3 DONE

N ONE

cod

Cum pot modifica adresele A, B i C ?


28-Feb-13 Calculatoare Numerice slide 34

Cod care se auto-modific


LOOP LOAD JGE ADD STORE LOAD ADD STORE JUMP ADR LOAD HLT ADD STORE ADR LOAD ADR ADD STORE ADR LOAD ADR ADD STORE ADR JUMP HLT N DONE ONE N A B C LOOP F1 ONE F1 F2 ONE F2 F3 ONE F3 LOOP

Ci Ai + Bi, 1 i n

F1 F2 F3 DONE Modific programul pentru urmtoarea iteraie

Fiecare iteraie total instruction fetches operand fetches stores

bookkeeping
14 8 4

17
10 5

DONE

28-Feb-13

Calculatoare Numerice

slide 35

Registre de index
Tom Kilburn, Manchester University, mid 50s

De ce s nu folosim unul sau mai multe registre special pentru calculul adreselor? Modific instruciunile existente
LOAD ADD ... x, IX x, IX AC M[x + (IX)] AC (AC) + M[x + (IX)]

Addaug instruciuni noi pentru a modifica registrele de index


JZi x, IX

LOADi ...

x, IX

if (IX)=0 then PC x else IX (IX) + 1 IX M[x] (truncated to fit IX)

Registrele de index au o funcionalitate similar cu acumulatoarele


28-Feb-13 Calculatoare Numerice slide 36

Folosirea registrelor index


Ci Ai + Bi, 1 i n
LOOP LOADi JZi LOAD ADD STORE JUMP HALT -n, IX DONE, IX LASTA, IX LASTB, IX LASTC, IX LOOP A

LASTA

DONE

Programul nu se mai auto-modific Eficien mbuntit dramatic (ops / iter)


instruction fetch operand fetch store

Costuri:

cu index regs fr index regs 17 (14) 5(2) 10 (8) 2 5 (4) 1

Instruciunile sunt cu 1-2 bii mai lungi Registrele index necesit circuite similare cu UAL Control complex
Calculatoare Numerice slide 37

28-Feb-13

Operaii cu registre index


Incrementeaz registrul index cu k
AC (IX) AC (AC) + k IX (AC) instrucine nou

instruciune nou

De asemenea, coninutul AC trebuie salvat i refcut. Mai bine incrementm IX direct


INCi k, IX IX (IX) + k

Mai multe instruciuni care manipuleaz reg. index


IX ncepe s arate ca un reg. acumulator mai multe registre index Mai multe acumuatoare General Purpose Registers
28-Feb-13 Calculatoare Numerice slide 38

STOREi ...

x, IX

M[x] (IX)

Evoluia modurilor de adresare


1. Single accumulator, absolute address
LOAD LOAD x x, IX

2. Single accumulator, index registers 3. Indirection


LOAD
LOAD LOAD

(x)
R, IX, x R, IX, (x) ce nseamn?

4. Multiple accumulators, index registers, indirection sau

R M[M[x] + (IX)] or R M[M[x + (IX)]]

5. Indirect through registers


LOAD RI, (RJ) RI, RJ, (RK) RJ = index, RK = base addr

6. The works
LOAD

28-Feb-13

Calculatoare Numerice

slide 39

Varietatea formatelor de instruciune


One address format: Main cu acumulator
Registrul acumulator este ntotdeauna sursa precum i destinaia pentru unul din operanzi

Two address format: destinaia este identic cu unul din operanzi

(Reg Reg) to Reg RI (RI) + (RJ) (Reg Mem) to Reg RI (RI) + M[x] x poate fi operand imediat sau specificat printr-un registru Calculul efectiv al lui x poate implica indexare, adresare indirect etc.

Three address format: O destinaie i pn la dou surse pentru operanzi pentru fiecare instruciune
(Reg x Reg) to Reg (Reg x Mem) to Reg RI (RJ) + (RK) RI (RJ) + M[x]

28-Feb-13

Calculatoare Numerice

slide 40

Formatul pentru Zero Address


Operanzii sunt pui pe stiv
add load M[sp-1] M[sp] + M[sp-1] M[sp] M[M[sp]]

Stiva poate fi mapat peste registre sau n memorie (de obicei, pointer-ul ctre vrful stivei se afl ntr-un registru general)

Registru SP A B C

28-Feb-13

Calculatoare Numerice

slide 41

Arhitectura Burrough B5000:


Main ALGOL, Robert Barton, 1960 Implementarea hadware poate fi complet transparent pentru programator, dac acesta are la dispoziie o interfa de limbaj de nivel nalt. Organizat ca o main cu stiv, pentru c astfel de maini sunt utile pentru: 1. Evaluarea expresiilor; 2. Apeluri la subrutine, recursivitate, ntreruperi imbricate; 3. Accesul la variabile pentru limbajele structurate pe blocuri. B6700, un model mai trziu, avea mai multe funcionaliti Date etichetate Memorie virtual Suport pentru procesoare i memorii multiple

28-Feb-13

Calculatoare Numerice

slide 42

Evaluarea Expresiilor
(a + b * c) / (a + d * c - e)
/

+ a
b

*
c a

+ *
d

c bb *c a

Reverse Polish abc*+adc*+e-/ push ab c push push multiply


28-Feb-13

Evaluation Stack
slide 43

Calculatoare Numerice

Evaluarea Expresiilor
(a + b * c) / (a + d * c - e)
/

+ a
b

*
c a

+ *
d

c +

b*c
a+a b*c

Reverse Polish abc*+adc*+e-/ add


28-Feb-13

Evaluation Stack
slide 44

Calculatoare Numerice

Organizarea hardware a stivei


Stiva face parte din starea procesorului
stiva trebuie sa fie limitat i de dimensiune mic numrul de registre, nu mrimea memoriei principale

Conceptual, stiva este nelimitat

o parte a stivei este inclus n starea procesorului; restul este inut n memoria principal
Calculatoare Numerice slide 45

28-Feb-13

Operaiile pe stiv i referinele implicite la memorie Presupunem c primele 2 elemente din stiv sunt inute n registre i restul n memorie.
fiecare push pop 1 referint la memorie 1 referin la memorie

Nu e suficient de bine!
Performane mai bune pot fi atinse dac primele N elemente sunt stocate n registre i referinele la memorie sunt fcute doar atunci cnd stiva face overflow sau underflow. Problem cnd s fac Load/Unload la registre?
28-Feb-13 Calculatoare Numerice slide 46

Mrimea stivei i referinele la memorie


abc*+adc*+e-/
program push a push b push c * + push a push d push c * + push e /
28-Feb-13

stack (size = 2) memory refs R0 a R0 R1 b R0 R1 R2 c, ss(a) R0 R1 sf(a) R0 R0 R1 a R0 R1 R2 d, ss(a+b*c) R0 R1 R2 R3 c, ss(a) R0 R1 R2 sf(a) R0 R1 sf(a+b*c) R0 R1 R2 e,ss(a+b*c) R0 R1 sf(a+b*c) R0 4 stores, 4 fetches (implicit)
Calculatoare Numerice slide 47

Mrimea stivei i evaluarea expresiilor


abc*+adc*+e-/
program push a push b push c * + push a push d push c * + push e / stack (size = 4) R0 R0 R1 R0 R1 R2 R0 R1 R0 R0 R1 R0 R1 R2 R0 R1 R2 R3 R0 R1 R2 R0 R1 R0 R1 R2 R0 R1 R0
Calculatoare Numerice slide 48

a i c sunt ncrcate de 2x

Nu e cea mai bun utilizare a registrelor!

28-Feb-13

Folosirea registrelor ntr-o main GPR


(a + b * c) / (a + d * c - e) Load Load Load Mul Add Load Mul Add Load Sub Div R0 R1 R2 R2 R2 R3 R3 R3 R0 R3 R2 a c b R1 R0 d R1 R0 e R0 R3 Mai mult control asupra registrelor. Pot fi numite explicit n cod. Load Load Load Ri m Ri (Rj) Ri (Rj) (Rk)

Reuse R2 Reuse R3 Reuse R0

Load-uri i Store-uri inutile -Mai puine registre dar crete dimensiunea instruciunilor!
Calculatoare Numerice slide 49

- Elimin nevoia pentru

28-Feb-13

Maini cu stiv: caracteristici eseniale Pe lng push i pop, setul de instruciuni trebuie s aib i capabiliti pentru:
Adresarea oricui element din memoria de date Salturi la orice instruciune din memoria de program Mut orice element din stiv n vrful stivei
machinery to carry out +, -, etc.

stack a b c

SP DP PC push push push * + push / code a b c e

. . .
data

28-Feb-13

Calculatoare Numerice

slide 50

Mainile cu stiv au disprut n anii 80


1. Programele lor nu sunt mai mici ca dimensiune dac este permis adresarea scurt. 2. Compilatoarele moderne pot s adreseze mai eficient registrele generale dect s lucreze cu stiva. Registrele i memoriile cache sunt mai bune dect stiva

Arhitecturile timpurii nu ineau cont de rolul pe care l avea compilatorul!


B5000, B6700, HP 3000, ICL 2900, Symbolics 3600

28-Feb-13

Calculatoare Numerice

slide 51

Dezvoltarea software
Pn n 1955 librrii de rutine numerice
- Operaii n virgul mobil - Funcii transcendentale - Manipulare de matrici, rezolvare de ecuaii . . .

1955-60

Limbaje de nivel nalt - Fortran 1956 Sisteme de operare - Asambloare, Loadere, Linkere, Compilatoare - Programe pentru monitorizarea utilizrii i ncrcrii sistemului

Mainile aveau nevoie de operatori experimentai


Majoritatea utilizatorilor nici nu puteau nelege programele darmite s scrie altele noi Mainile de calcul erau vndute cu suita software aferent

28-Feb-13

Calculatoare Numerice

slide 52

Probleme de compatibilitate
n anii 60, IBM avea 4 familii incompatibile de calculatore!
701 650 702 1401 7094 7074 7080 7010

Fiecare sistem avea propriul

Set de instruciuni Sistem I/O i elementr de stocare: band magnetic, memorii pe tambur i uniti de disc asambloare, compilatoare, librrii,... ni de pia afaceri, cercetare, timp real, ...
Calculatoare Numerice

IBM 360
slide 53

28-Feb-13

IBM 360 : Idei de design


Amdahl, Blaauw and Brooks, 1964 Design-ul trebuie s fie fcut a.. s permit extinderea i dezvoltarea de maini succesoare O metod general de-a conecta dispozitive de I/O Performana total rezultate pe lun n locul bii pe microsecund Maina trebuie s fie capabil s se auto-monitorizeze, fr intervenia operatorului uman. Fault checking construit n hardware i metode de-a localiza un defect, pentru a reduce timpii de nefuncionare Sisteme simplu de asamblat cu dispozitive I/O, memorii, procesoare redundante, pentru a implmenta toleranta la defecte Operaii n virgul mobil cu precizie mare

28-Feb-13

Calculatoare Numerice

slide 54

IBM 360: O main GeneralPurpose Register (GPR)


Starea procesorului
16 registre General-Purpose de 32 de biti

Pot fi folosite pentru adresare indexat i bazat Registrul 0 avea proprieti speciale
4 registre n virgul mobil de 64 de bii Program Status Word (PSW) PC, Flag-uri condiionale, Flag-uri de control

O main de 32 de bii cu adresare pe 24 de bii


Nici o instruciune nu putea s conin o adres pe 24 de bii!

Format diferit pentru date


8-bit bytes, 16-bit half-words, 32-bit words, 64-bit double-words

Din cauza IBM 360 un byte are 8 bii n ziua de azi!


28-Feb-13 Calculatoare Numerice slide 55

IBM 360: Implementri iniiale


Storage Datapath Circuit Delay Local Store Control Store Model 30 ... 8K - 64 KB 8-bit 30 nsec/level Main Store Read only 1~sec Model 70 256K - 512 KB 64-bit 5 nsec/level Transistor Registers Conventional circuits

Arhitectura setului de instruciuni (ISA) IBM 360 ascundea complet diferenele tehnologice dintre diferitele modele. Primul ISA proiectat s aib o interfa portabil hardwaresoftware!

nc este prezent n ziua de azi, cu mici modificri!


28-Feb-13 Calculatoare Numerice slide 56

IBM 360: 47 de ani mai trziu


The zSeries z11 Microprocessor
5.2 GHz in IBM 45nm PD-SOI CMOS technology 1.4 billion transistors in 512 mm2 64-bit virtual addressing
original S/360 was 24-bit, and S/370 was 31-bit extension

Quad-core design Three-issue out-of-order superscalar pipeline Out-of-order memory accesses Redundant datapaths
every instruction performed in two parallel datapaths and results compared

[ IBM, HotChips, 2010]

64KB L1 I-cache, 128KB L1 D-cache on-chip 1.5MB private L2 unified cache per core, on-chip On-Chip 24MB eDRAM L3 cache Scales to 96-core multiprocessor with 768MB of shared L4 eDRAM

28-Feb-13

Calculatoare Numerice

slide 57

n concluzie
Arhitectura Calculatoarelor >> ISA i RTL CN se bazeaz pe interaciunea dintre hardware i software i design-ul nivelelor de abstractizare Arhitectura de calcul este modelat de tehnologie i aplicaii
Istoria dispozitivelor de calcul ne poate da indicii despre viitorul tehnologiei

Computer Science este la un punct de trecere ntre calculul secvenial i cel paralel
Meninerea creterii de performan necesit numeroase inovaii, inclusiv n domeniul arhitecturii de calcul.

28-Feb-13

Calculatoare Numerice

slide 58

Acknowledgements
Aceste slide-uri contin materiale dezvoltate de:
Arvind (MIT) Krste Asanovic (MIT/UCB) Joel Emer (Intel/MIT) James Hoe (CMU) John Kubiatowicz (UCB) David Patterson (UCB)

MIT material derived from course 6.823 UCB material derived from course CS252

28-Feb-13

Calculatoare Numerice

slide 59

S-ar putea să vă placă și