Documente Academic
Documente Profesional
Documente Cultură
20.02.2013
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
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
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
28-Feb-13
Calculatoare Numerice
slide 5
Technologie
28-Feb-13
Playere media
Set-top boxes
Laptopuri
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
28-Feb-13
Calculatoare Numerice
slide 11
28-Feb-13
Calculatoare Numerice
slide 12
28-Feb-13
Calculatoare Numerice
slide 13
Charles Babbage
Maina diferenial Maina analitic
Aplicaii
Tabele matematice - astronomie Tabele nautice - marin
1823 1833
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)
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!
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
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
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
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:
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
unghi = f (locaie, vnt spate, vnt lateral, densitate aer, temperatur, greutate obuz, putere propelant, ... )
28-Feb-13
Calculatoare Numerice
slide 23
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
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
28-Feb-13
Calculatoare Numerice
slide 28
Calculatoarele anilor 50
Hardware-ul foarte costisitor Memorii foarte mici (mii de cuvinte)
Fr un program rezident de sistem n 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
UAL serial
[Din 650 Manual, IBM]
Calculatoare Numerice slide 31
JUMP JGE
LOAD ADR STORE ADR
x x
x x
C -n 1
F1 F2 F3 DONE
N ONE
cod
Ci Ai + Bi, 1 i n
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)]
LOADi ...
x, IX
LASTA
DONE
Costuri:
Instruciunile sunt cu 1-2 bii mai lungi Registrele index necesit circuite similare cu UAL Control complex
Calculatoare Numerice slide 37
28-Feb-13
instruciune nou
STOREi ...
x, IX
M[x] (IX)
(x)
R, IX, x R, IX, (x) ce nseamn?
6. The works
LOAD
28-Feb-13
Calculatoare Numerice
slide 39
(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
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
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
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
Evaluation Stack
slide 44
Calculatoare Numerice
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
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
a i c sunt ncrcate de 2x
28-Feb-13
Load-uri i Store-uri inutile -Mai puine registre dar crete dimensiunea instruciunilor!
Calculatoare Numerice slide 49
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
. . .
data
28-Feb-13
Calculatoare Numerice
slide 50
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
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
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
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
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
Arhitectura setului de instruciuni (ISA) IBM 360 ascundea complet diferenele tehnologice dintre diferitele modele. Primul ISA proiectat s aib o interfa portabil hardwaresoftware!
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
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