Documente Academic
Documente Profesional
Documente Cultură
Autori ale cror prezentri publice au fost folosite pentru pregtirea acestei forme a cursului
FII
hluchian@infoiasi.ro
Sivarama Dandamundi Jerry Breecher Randy Katz Michel Allemand Daniel Amyot John Morris
2
CUPRINS
I. Introducere n Arhitectura i organizarea calculatorului II. Circuite combinaionale i funcii booleene III. Circuite secveniale i automate IV. Reprezentri interne
FII 3 FII
Capitolul I INTRODUCERE
4
&I.1. EVOLUIE
Scurt istorie
a ideilor
inventarea logaritmilor
John Napier of Edinburgh
algebra boolean
George Boole, 1854
teorema de incompletitudine
Kurt Gdel, 1935
Scurt istorie
a calculatoarelor
1642 1 : Calculatoare mecanice - 945
Leibniz, Pascal, Babbage; Z1, Mark I
Scurt istorie
a microprocesoarelor
FII
IBM-PC (8088) : 1980 Mac Plus (68000) : 1984 80486 : 1990 Pentium : 1994 Pentium II : 1997 Pentium III : 1999 Pentium IV : 2001
11
FII
12
adresa instruciunii urmtoare se afl ntr u - n registru PC n fiecare moment, o singur instruciune este ncrcat pentru execuie
FII 13 FII
Memorie central
Magistrala de intrri/ieiri
Calea de date
Controler
Ieiri (Output)
Controler
Controler
Reea
FII 17 FII 18
Legi empirice
Legi ale oricrei tiine depind ntr u fel sau - n altul de experiment sau de observaii n lumea concret
Repetabilitatea, inerent noiunii de experiment, duce la ideea de legi empirice: adevruri valabile de cele mai multe ori, conform observaiilor Formulate n Informatic nc de la nceputuri
inginerie
FII 19 FII 20
A (a , f a ) =
1 (1 f a ) + fa a
Localizare temporal:
dac la un moment dat se execut instruciunea de la adresa i, atunci la momente apropiate se execut instruciunea de la aceeai adres
foarte probabil.
FII 23
Legile localizrii indic un tip esenial de relaie ntre ordinea fizic i ordinea logic
FII 24
Legile localizrii: n fiecare interval mic de timp, programul utilizeaz o mic poriune din spaiul de adrese Valabil pentru instruciuni ca i pentru date
Temporal: iteraii, reutilizri Spaial: ordinea fizic; tablouri de date
De mai bine de 20 de ani, soluiile hardware se bazeaz pe legile localitii pentru a ctiga vitez Un exemplu: ierarhia de memorii
FII 25 FII 26
Ierarhia de memorii
Soluioneaz dou probleme: 1. Programele foarte mari nu ncap n memoria principal
Nivelul inferior al ierarhiei (memoria secundar)
1. 2. 3. 4.
Ierarhia de memorii
Niveluri:
regitrii-generali procesor ( 1/4 Ko) memoria cache ( 1 Mo) memoria RAM ( 4 Go) memoria secundar disc (1 To)
Preul pe bit scade pe msura deprtrii de procesor.
28
Ierarhia de memorii
Programul ntreg se afl n memoria secundar Cu fiecare nivel urcat n ierarhie, sunt aduse de pe nivelul inferior ferestre din ce n ce mai mici ale programului. Execuia direct din cache.
succes: instruciunea urmtoare este gsit n cache eec : instruciunea urmtoare trebuie adus de pe un nivel inferior eecuri dese ar cauza o execuie mai lent dect dac instruciunile ar fi aduse direct din memoria secundar
Nivel superior Regitri Instr. / operanzi Cache Blocuri Memorie principal Pagini Disc Fiiere ? band
Utilizator /operator Mega-octei Controlul transferului Unitatea de transfer Program utilizator/ compilator 1-8 octei Hardware (Controller cache) 8-128 octei Sistemul de operare 512-4 Kilo-octei
Nivel inferior
29
Arhitectura calculatoarelor
FII
33
FII
34
Viziunea programatorului
Depinde de tipul i nivelul limbajului utilizat O ierarhie a limbajelor:
Limbajul main Limbajul de asamblare Limbaje de nivel nalt Programe- aplicaii creterea nivelului de abstracie
Viziunea programatorului
Independente de main
Independente de main:
Limbaje de nivel nalt / programe- aplicaii
Specifice mainii:
FII
35
FII
36
Viziunea programatorului
Limbajul main
Caracteristic fiecrui procesor Const din cuvinte peste alfabetul {0, 1}
1111 1111 0000 0110 0000 1010 0000 0000
Comparaie
Limbaj de asamblare Limbaj main
Limbajul de asamblare
Nivel ceva mai nalt Mai apropiat de modul de nelegere al omului Coresponden - la 1cu majoritatea 1 instruciunilor din limbajul main
(Assembly Language) (Machine Language) n hexazecimal inc result FF060A00 mov cl_size,45 C7060C002D00 and mask,128 80260E0080 add marks,10 83060F000A
inc
FII
count
37 FII 38
Viziunea programatorului
Asambloarele (assemblers) traduc din limbaj de asamblare n limbaj main
Dual: dez-asamblare
Viziunea programatorului
Compilator
Assembler
Viziunea programatorului
Limbaj de nivel nalt n C:
Niveluri de limbaje
Unele instruciuni simple de nivel nalt pot fi exprimate printr-o singur instruciune n limbaj de asamblare: Limbaj de asamblare C
inc mov and add
41 FII
FII
Niveluri de limbaje
Cea mai frecvent situaie este cea n care o instruciune de nivel nalt este echivalent cu o secven de instruciuni n limbaj de asamblare: C Limbaj de asamblare
size = value; sum += x + y + z; mov mov mov add add add mov
FII
Viziunea programatorului
Arhitectura setului de instruciuni (Instruction set architecture - ISA)
Specific funcionarea unui procesor
Definete nivelul logic al procesorului
44
Timp
Legile localitii cu mai puine excepii, deci execuie mai rapid (mai puine eecuri)
Traducerea n limbajul-main int urmeaz s fie fcut automat de un compilator specific calculatorului
Programele n limbaj de asamblare nu sunt portabile
FII 45 FII
Viziunea arhitectului
Proiectarea la nivel nalt
ca i arhitectul unei cldiri.
Viziunea arhitectului
Intrri/Ieiri
Viziunea arhitectului
Input/Output
interconectare
UCP
Memorie CPU
Memorie
FII
49
FII
50
Viziunea implementatorului
De la proiectul arhitectului coboar la nivelul porilor logice digitale / al circuitelor
Exemplu: Procesorul const din:
Unitatea de control Calea de date (Datapath) UAL Regitri
ALU
Unitate de control
52
Viziunea implementatorului
Bus C
Bus A Bus B
Viziunea implementatorului
B A Cin F1 F0
Magistrala sistem
I0 S1 S0 I1 I2 I3
A Control UAL A Sum B Sumator Cin Cout
M U X
UAL
C
B F0
53 FII
Cout
54
FII
&I.6.1. PROCESORUL
FII
55
FII
56
Procesorul
Ciclu de execuie
Fetch (cutare i ncrcare) Decodificare Execuie
Procesorul
Pipelining: descompunerea n mai muli pai a execuiei fiecrei instruciuni
Execuie simultan, pe pai, a mai multor instruciuni succesive decalate Crete numrul de instruciuni executate n unitatea de timp
Stadiu S5:R S4:IE I1 I1 I1 I1 1
57 FII
Ciclul de execuie II
ncrcarea instruciunii
I2 I3 I4 I5 6
I3 I4
I4 I5
I5 I6 ...
I6 ...
I2 I3 I4 I5 5
ID
Decodificarea instruciunii
OI
IE
R
Scrierea rezultatului
...
I1 I2 I3 3
I2 I3 I4 4
I5 I6 ... I6 ... 7 8 9 10
I2 2
I6 ... timp
58
Procesorul
Alt mod de a reprezenta execuia n pipeline:
Instruciune I5 I4 I3 I2 I1 II 1
FII
Proiectarea se simplific
II II II II ID 2 ID OI 3 ID OI IE 4 ID OI IE R 5 6 7 8 9 10 timp
59 FII
ID OI IE R
OI IE R
IE R
10
Procesorul
Procesorul
Microprogramare: dac apar modificri la nivelul ISA, acestea se pot implementa schimbnd doar microprogramul (nu circuitele)
Implementarea CISC
FII
Implementarea RISC
61 FII 62
Memoria
ir ordonat de octei (nivel logic)
&I.6.2. MEMORIA
Fiecare octet are un predecesor (cu excepia primului) i un succesor (cu excepia ultimului) Nivel fizic: matrice de matrici; piste concentrice
numerotarea ncepe de la 0 adresa absolut indic poziia fa de primul octet din memorie
FII 63 FII 64
Adres simbolic: identificator alfanumeric (nume) ataat adresei relative a unui octet
Exemplu: numele variabilelor Corespondena adrese simbolice adrese relative este fcut de compilator, printr-o tabel
FII
11
Pentru memoria cache se utilizeaz SRAM Static Random Access Memory Nu necesit refresh
6 tranzistori / bit fa de 1 tranzistor /bit; Dimensiunea fizic crete de 10 ori
Memoria
Unitatea de memorie comunicare cu exteriorul
Adresare Date Semnale de control
Read Write
Adresa
2 1
FII
Read Write
Unitate de memorie
Date
70
FII
12
Ordinea octeilor
Bitul cel mai semnificativ Bitul cel mai puin semnificativ
Ordinea octeilor
Adresa de nceput a unei date memorate pe un numr de octei egal cu un multiplu de 4 nu depinde de little / big - endian
Exemplul anterior: 100 Dar ordinea n care se citete (MSB etc. sau LSB etc.), depinde de aceast convenie
10110100
10011100
10110101
00001001
a) date pe 32 de bii
Adresa
1003 1002 1001 1000
Adresa
1003 1002 1001 1000
Little-endian - folosit la Pentium Big-endian - implicit folosit la PowerPC Procesoarele moderne permit configurarea
FII 74
FII
b) Ordinea little-endian
c) Ordinea big-endian
Probleme la proiectare
TIMP: Memorii ncete
Problema: diferen mare de vitez ntre procesor i memorie
fcnd procesorul s atepte cea mai mare parte a timpului
Memoria virtual
FII
75
FII
Magistrala sistem
76
Memoria virtual
Un program se poate memora n zone necontigue
de unde se aduc n fiecare moment doar instruciunile / datele necesare n acel moment (pagini)
Date
Devin posibile spaii logice de adrese (virtuale) orict de mari Permite multiprogramarea pe scar mai mare.
FII 77 FII
13
Memoria virtual
FII 79 FII 80
Intrri - ieiri
Mai multe feluri de a vedea I/O
I/O Proiectat pe memorie (memory-mapped I/O)
Citirile / scrierile sunt vzute ca i cnd s-ar face din / n memorie Aceleai semnale de control ca pentru citire/scriere din/n memorie Aa fac cele mai multe procesoare
I/O izolate
Spaiul de adrese pentru locaiile I/O difer de cel al memoriei Semnale de control R/W diferite de ale memoriei Pentium folosete I/O izolate
dar i I/O proiectate pe memorie
81 FII 82
FII
Comunicare cu perifericele
Date Magistrala sistem Magistral de adrese Stare Comanda Magistral de date
Controller I/O
Magistral de control
FII
83
FII
84
14
Interconexiuni
Componentele unui sistem de calcul sunt interconectate prin magistrale (bus-uri)
Bus: mai multe fire pentru comunicaii de date
Exist bus de date i bus de adrese pentru legturi cu memoria cache din chip
Magistrale interne
PCI, AGP, PCMCIA
Magistrale externe
Seriale, paralele, USB, IEEE 1394 (FireWire)
Conectori, porturi
FII 85 FII 86
Evoluia tehnologic
Pre g - eneraii
Difference engine a lui Charles Babbage
Densitatea tranzistorilor
Pn prin 1990, se dubla la fiecare 1824 luni De atunci, dublare la fiecare 2 ani i jumtate
Densitatea memoriei
Pn n 1990, quadruplare la fiecare 3 ani De atunci, se ntmpl la fiecare 5 ani
Generaia tranzistorilor
Aproximativ anii 1950 - 1960
Generaia VLSI
FII
FII
89
FII
90
15
FII
91
FII
92
16