Sunteți pe pagina 1din 16

Facultatea de Informatic - Iai Arhitectura Calculatoarelor

Curs pentru anul I Informatic


FII - 2003

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

Cnd au aprut mainile de calcul?


Dup fiecare redefinire a noiunii de calcul
abac: adunri roi dinate Leibniz (2) i Pascal (10): adunri, nmuliri Babbage: instruciuni din exterior, calcul ramificat von Neumann: program memorat; execuie n secven de instruciuni; ierarhii de memorii calculatoare paralele (de fapt, calcul paralel) calcul(atoare) probabilist(e), neuronal(e), evolutiv(e), cuantic(e)

&I.1. EVOLUIE

ncearc automatizarea calculului n nelesul respectiv


FII 5 FII 6

Maini de calcul universale


O main de calcul universal se poate comporta ca oricare main de calcul particular Exemple:
Introducnd n calculator un program corect de lucru cu
matrici, calculatorul se va comporta ca o main de calcul cu matrici linii, unghiuri, forme main de proiectare grafic cuvinte, paragrafe, texte main de tehnoredactat
FII 7 FII

Scurt istorie
a ideilor

inventarea scrierii poziionale a numerelor


indieni, arabi

inventarea logaritmilor
John Napier of Edinburgh

algebra boolean
George Boole, 1854

teorema de incompletitudine
Kurt Gdel, 1935

conceptul de calculator neumannian


John von Neumann, 1946 Toate sunt legate de calcul(ator) n nelesul de astzi
8

Scurt istorie - invenii abstracte i concrete


1850: George Boole inventeaz algebra boolean propoziii logice sunt transformate n simboli calcule cu propoziii logice, folosind reguli de tip matematic 1938: Claude Shannon leag algebra boolean de circuite (comutatoare) n teza sa de dizertaie 1945: John von Neumann proiecteaz primul calculator cu program memorat comutatoarele erau lmpi 1946: ENIAC primul calculator electronic 18,000 de lmpi 5000 de adunri, sute de nmuliri pe secund 1947: Shockley, Brittain i Bardeen inventeaz tranzistorul permite integrarea mai multor circuite ntr-un modul deschide drumul electronicii moderne
FII 9 FII

Scurt istorie
a calculatoarelor
1642 1 : Calculatoare mecanice - 945
Leibniz, Pascal, Babbage; Z1, Mark I

1945 1 : Lmpi - 955


ENIAC, EDSAC, UNIVAC, IBM 70x
1952: primul succes comercial 19 calculatoare IBM vdute

1955 1 : Tranzistori - 965


PDP-1, IBM 7094, CDC 6600,

1965 1 : Circuite integrate - 980


IBM 360, PDP-11, 4004, 8008, VAX VLSI, ULSI
10

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

&I.2. CALCULATOARE VON NEUMANN

FII

12

Calculatoare von Neumann


program memorat
memorie infinit (ideal), timp de acces egal
realizat practic prin ierarhii de memorie

Calculatoare von Neumann


Anterior:
conceptul de automatizare a operaiilor luate separat (Pascal, Leibniz) conceptul de program exterior (Babbage) conceptul de calcul ramificat / control

la execuie, dup o instruciune i urmeaz


instruciunea memorat imediat dup ea (regula) eventual instruciunea indicat de i (dac i este instruciune de control)

adresa instruciunii urmtoare se afl ntr u - n registru PC n fiecare moment, o singur instruciune este ncrcat pentru execuie
FII 13 FII

Conceptul de program memorat


John von Neumann e.a. (1946) Concept arhitectural fundamental procesoarele moderne
14

Calculatoare von Neumann


Programul i datele- stocate n (aceeai) memorie
ideal: infinit, omogen (locaii la fel de rapid accesabile) practic: o ierarhie de memorii fiecare fiind omogen

Arhitectura unui sistem de calcul


programe utilizator compilatoare sistem de operare

Program counter (PC) indic locul din memorie al instruciunii de executat


coninutul PC este actualizat la execuia fiecrei instruciuni o dat sau de dou ori

LIMBAJ MAIN procesormemorie intrri / ieiri

Instruciunile programului sunt aduse pe rnd din locaii de memorie n procesor


regula: locaii succesive incrementare PC excepia: instruciuni de salt ordine fizic i ordine logic
FII 15 FII

proiectare digital circuite


16

Componentele hardware ale unui calculator


Procesor Intrri (Input) Control Memorie

Organizarea unui calculator


Magistrala sistem Cache N2 Procesor CPU Cache N1
Adaptor

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

&I.3. LEGI EMPIRICE

unele tiine sunt sau au capitole preponderent empirice (medicina)

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

Legi empirice n informatic


Exist legi empirice aplicabile hard-ului sau soft-ului:
legea 90:10 (Donald Knuth): 90% din timpul de execuie al unui program, este utilizat pentru 10% din instruciuni; legea lui Amdahl: eficiena maxim n mbuntirea unui sistem (concret sau abstract) se atinge dac se optimizeaz subsistemul cel mai folosit legile localizrii spaial, temporal.
FII 21

Legea lui Amdahl


mbuntirea unui sistem trebuie fcut n partea cel mai frecvent folosit.

A (a , f a ) =

1 (1 f a ) + fa a

Pentru creteri semnificative, trebuie ca a i fa s fie ct mai mari.


Exemplu: Dac procesorul lucreaz 50% din timp i devine de dou ori mai rapid, atunci A = 4/3. Observaie. Sumatorul va fi cel mai intens mbuntit.
FII 22

Legile localizrii (pentru instruciuni)


Localizare spaial:
dac la un moment dat se execut o instruciune i, atunci e foarte probabil ca la momente apropiate s se execute instruciuni din apropierea lui i.
spaiul de memorie, n care se afl instruciunile.

Ordine fizic i ordine logic


Instruciunile de executat se afl n memorie ntr-o anumit ordine: ordinea fizic. Ele se citesc din memorie i se execut
regula: n ordinea n care sunt memorate excepia: srind peste un numr de instruciuni

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

Rezult ordinea logic a instruciunilor


n ordinea logic la o anumit rulare, fiecare instruciune poate s apar de 0, 1, 2, ori

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

&I.4. IERARHIA DE MEMORII

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.

2. Necesitatea creterii vitezei de execuie a programelor


Nivel superior al ierarhiei (memoria cache)
FII 27 FII

Timp de comunicare i capacitate de memorare foarte mici pe primele dou niveluri


corespunznd ferestrelor din legile localizrii permind memorarea programelor foarte mari

dar foarte mari pe ultimele

28

Nivelurile ierarhiei de memorii


Capacitate Timp de acces Cost Regitrii CPU 4-64 octei 1 ns Memorie Cache Nivel 1: <16 Kilo-octei Nivel 2: < 2Mega-octei 3 ns; 15 ns 0.1 ceni/bit Memorie principal < 4Giga-octei 150 ns $.0001-.00001 / bit Disc 100 Giga-octei 5 ms (5,000,000 ns) 10-5 - 10-6 ceni/bit Band infinit secunde-minute 10-8 ceni/bit

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

Vitez mai mare

Legile localizrii fac ca ierarhiile de memorii s accelereze execuia programelor


Capacitate mai mare

Nivel inferior
29

pe poriuni. O valoare uzual a ratei de succes poate fi de ordinul a 95%.


FII 30

&I.5. ARHITECTURA CALCULATORULUI: VIZIUNI POSIBILE

Arhitectura calculatoarelor (Computer Architecture) Ce este arhitectura calculatoarelor?


Arhitectura setului de instruciuni (ISA) + organizarea mainii Viziunea programatorului asupra mainii
32

Arhitectura calculatoarelor

Arhitectura setului de instruciuni


FII 31 FII

Viziunea utilizatorului &I.5.1. PROGRAMATOR I UTILIZATOR


Sistemul hardware

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

Limbaje de nivel sczut Specifice fiecrei maini

Independente de main:
Limbaje de nivel nalt / programe- aplicaii

Specifice mainii:
FII

Limbajele main i de asamblare

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

Compilatoarele traduc din limbaje de nivel nalt n limbaj main


Direct sau Indirect, via limbaj de asamblare
interpretoare
FII 39 FII 40

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

result = count1 + count2 + count3 + count4


Limbaj de nivel jos n limbaj de asamblare Pentium:

FII

mov add add add mov

AX,count1 AX,count2 AX,count3 AX,count4 result,AX

result size,45 mask1,128 marks,10

result++; size = 45; mask1 &= 128; marks += 10;


42

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

AX,value size,AX AX,sum AX,x AX,y AX,z sum,AX


43

O ISA poate fi implementat fizic n diverse feluri, care sunt


identice la nivel logic, dar pot diferi ca
FII

performan (vitez) pre

44

Viziunea programatorului: avantajele limbajelor de nivel nalt


Dezvoltarea de programe este mai rapid
Instruciuni de nivel nalt (mai puine instruciuni de scris)

Viziunea programatorului: La ce ajut programarea n limbaj de asamblare?


Dou mari avantaje:
eficien
Spaiu
cod compact, localitate i din limbaj de nivel nalt se ajunge la programe n limbajmain, dar compactitate mai mic

ntreinerea programelor este mai uoar


Aceleai motive ca mai sus

Programele sunt portabile


Conin puine detalii dependente de main
Se pot folosi cu mici modificri sau chiar fr pe diverse tipuri de maini

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

accesibilitate la resursele hardware ale sistemului


deoarece specificitile mainii sunt luate n considerare
46

Viziunea arhitectului
Proiectarea la nivel nalt
ca i arhitectul unei cldiri.

&I.5.2. ARHITECT I IMPLEMENTATOR

Folosete blocuri de construcie de nivel nalt, pe care nu le detaliaz pn la ultimul nivel


d.e., Unitatea Aritmetic i Logic (UAL)

Vede trei mari componente:


Procesorul Memoria Dispozitivele de intrare ieire (I/O devices)

Legate prin interconexiuni (magistrala)


FII 47 FII 48

Viziunea arhitectului
Intrri/Ieiri

Viziunea arhitectului
Input/Output

interconectare

UCP

Memorie CPU

Magistrala de date Magistrala de adrese Magistrala de control

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

Viziunea implementatorului Procesor


Regitrii
Calea de date

ALU

Implementarea: proiectarea acestor componente (de nivel mai jos).


FII 51 FII

Unitate de control

52

Viziunea implementatorului
Bus C
Bus A Bus B

Viziunea implementatorului
B A Cin F1 F0

Magistrala sistem

Regitrii generali PC IR MAR MDR Regitrii de interfa cu memoria

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. SCURT TRECERE N REVIST A ORGANIZRII CALCULATORULUI

&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

Arhitectura von Neumann


Modelul programului memorat
Nici o deosebire la nivel fizic ntre datele de prelucrat i instruciunile care le prelucreaz Deosebirile apar la execuie Instruciunile se execut secvenial

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

ncrcarea Executarea operandului instruciunii

...

S3:OI S2:ID S1:II

I1 I2 I3 3

I2 I3 I4 4

I5 I6 ... I6 ... 7 8 9 10

I2 2

I6 ... timp
58

Faza de execuie a instruciunii


FII

Procesorul
Alt mod de a reprezenta execuia n pipeline:

Procesorul - Arhitecturi RISC/CISC


Reduced Instruction Set Computer
Are instruciunimain simple Instruciunile mai complicate se obin din cele simple ca secvene Operanzii n regitrii procesorului
nu n memorie

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

d.e., instruciunile au lungimi fixe

Complex Instruction Set Computer


Folosete instruciuni complexe Operanzii pot fi n regitrii procesorului sau n memorie
Lungimea instruciunilor nu este fix

De obicei se folosete microprogramarea


o instruciune n limbaj main devine un program scris cu instruciuni i mai simple abia acestea din urm sunt executate prin construcie (cablate) i nu ca un program
60

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

Adresa absolut a unui octet: numrul su de ordine din ir


memorie adresabil la nivel de octet
fiecare octet are o adres unic

numerotarea ncepe de la 0 adresa absolut indic poziia fa de primul octet din memorie
FII 63 FII 64

Alte tipuri de adrese


Adresa relativ a unui octet: indic poziia sa fa de un octet de referin, altul dect primul octet din memorie
Adresa absolut a octetului de referin se numete adres de baz De regul, de la adresa de baz ncepe zona rezervat programului / datelor din care face parte octetul indicat prin adres relativ

Msuri ale performanei memoriei


Timpul de acces: timpul dintre cerere i terminarea operaiei asupra cuvntului solicitat Ciclu: timpul minim dintre dou cereri succesive
65 FII 66

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

Memorii DRAM i SRAM


Memoria principal este de tip DRAM Dynamic Random Access Memory Dinamic: necesit remprosptare periodic (refresh)
La fiecare 8 milisecunde

Spaiul adreselor de memorie


Element esenial al arhitecturii unui calculator Dimensiunea sa este strns legat de capacitatea magistralei de adrese La Pentium, capacitatea busului de adrese este de 32 de bii
Spaiul de adrese 4GB (232)

Adresele sunt constituite din 2 jumti


memoria ca matrice bidimensional RAS (Row Access Strobe) CAS (Column Access Strobe)

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

Itanium - cu bus de adrese tot de 32 bii


Spaiul de adrese peste 232 octei.
67 FII 68

Adresele nu sunt divizate n cele dou jumti


FII

Memoria adrese absolute


Adresa (n zecimal) 232-1 Adresa (n hexa) FFFFFFFF FFFFFFFE FFFFFFFD

Memoria
Unitatea de memorie comunicare cu exteriorul
Adresare Date Semnale de control
Read Write

Adresa
2 1
FII

00000002 00000001 00000000


69 FII

Read Write

Unitate de memorie

Date

70

Ciclul citire memorie (Read) activitatea procesorului


1. Aducerea adresei de citire pe busul de adrese 2. Emiterea semnalului de control citire memorie 3. Ateptare pn cnd memoria gsete data de citit E nevoie de starea de ateptare (wait state) dac memoria utilizat este nceat 4. Citirea datei de pe busul de date 5. Inactivarea semnalului de control citire memorie Pentium: o citire necesit trei cicluri de ceas (tacte) Clock 1: paii 1 i 2 Clock 2: pasul 3 Clock 3 : paii 4 i 5.
FII 71

Ciclul scriere memorie (Write) activitatea procesorului


1. 2. 3. 4. Aducerea adresei de scriere pe busul de adrese Activarea semnalului de control scriere memorie Aducerea datei de scris pe busul de date Ateptare pn cnd memoria efectueaz scrierea starea de ateptare (wait state) dac memoria este nceat 5. Inactivarea semnalului de control scriere memorie. La Pentium, o scriere necesit trei cicluri de ceas Clock 1: paii 1 i 2 Clock 2: pasul 3 Clock 3 : paii 4 i 5
72

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

... 10110100 10011100 10110101 00001001 ...

Adresa
1003 1002 1001 1000

... 00001001 10110101 10011100 10110100 ...


73

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

Folosirea memoriilor cache


Prelucrarea instruciunii Aritmetica ntreag Aritmetica n virgul mobil

Soluie: Memoria cache (Cache memory)


Se folosete o mic memorie rapid Memoria nceat pare a fi devenit rapid Are efect datorit legilor localitii

SPAIU: Limitri de capacitate


Cantitate limitat de memorie fizic (unitatea de memorie)
Tehnici de refolosire a zonelor de memorie prin suprapunere
n timpul rulrii programului gestionate de programator Cache pt. instruciuni Unitatea de interfa cu magistrala Cache pt. date

Memoria virtual
FII

Automatizeaz gestionarea suprapunerilor Aduce i alte ctiguri

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)

Comunicare n mecanismul de memorie virtual


UCP Adres virual Translare adrese Adres fizic Succes Eec Cache Memorie principal

Date

Devin posibile spaii logice de adrese (virtuale) orict de mari Permite multiprogramarea pe scar mai mare.
FII 77 FII

Frame (fizic) Regitri Cache Memorie principal

Pagin (logic) Disc


78

13

Proiecia memoriei virtuale pe memoria fizic


Corespondena
Memoria fizic

&I.6.3. INTRRI - IEIRI

Memoria virtual
FII 79 FII 80

Intrri ieiri (Input/Output)


Perifericele de intrare ieire (I/O devices) au interfaa gestionat de (cte) un I/O controller

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

Gestioneaz detalii legate de operaiile de nivel jos (periferic)

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

Modaliti de transmitere date I/O


Intrri ieiri programate (programmed I/O)
Programul folosete o bucl busy-wait Se aplic transferurilor pentru care se tie de la nceput momentul cnd vor aprea

Acces direct la memorie (Direct Memory Access DMA)


Dispozitiv I/O

Un controller special (DMA controller) efectueaz transferurile

Controller I/O
Magistral de control

I/O gestionate prin ntreruperi (Interrupt-driven I/O)


ntreruperile sunt folosite pentru a iniia i / sau termina transferuri de date
Tehnic extrem de eficient Utilizat pentru transferuri despre care nu se tie de la nceput cnd vor aprea

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

La diverse niveluri, se folosesc mai multe bus-uri


Magistrale on-chip
Interconecteaz UAL i regitrii
Magistralele A, B, i C din exemplul de la pag. 20

&I.7. O PERSPECTIV ISTORIC

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

Generaia tuburilor cu vid


Anii 1940 - 1950

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 circuitelor integrate


1960 - 1970

Capacitile diverselor tipuri de discuri


La 3.5 La 2.5 La 1.8 (e.g., periferice portabile USB)
87 FII 88

Generaia VLSI
FII

De la mijlocul anilor 70 ULSI etc.

Evoluia tehnologic: integrare

Evoluia tehnologic (memorie)

FII

89

FII

90

15

Evoluia tehnologic (discuri)

Submultipli; scara binar a multiplilor


(sub)multiplu p (pico) n (nano) (micro) m (mili) Unitatea K (kilo) M (mega) G (giga) T (tera) P (peta) Zecimal 10-12 10-9 10-6 10-3 1 (=100) (103) (106) (109) (1012) (1015) Binar 1 (=20) 210 220 230 240 250

FII

91

FII

92

16

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