Sunteți pe pagina 1din 35

Arhitectura

Calculatoarelor
Fizică - Informatică an II

gasner@uaic.ro

Copyright Paul GASNER 1


Conţinutul cursului

● Introducere
● Circuite digitale şi funcţii booleene
● Arhitectura setului de instrucţiuni
● Magistrale, CPU, I/O
● Arhitectura memoriei
● Arhitectura x86
● Arhitectura DEC Alpha

Copyright Paul GASNER 2


Introducere

● Ce este o maşină de calcul?


● Istorie şi clasificări ale calculatoarelor

Copyright Paul GASNER 3


Ce este o maşină de calcul?
● se urmăreşte automatizarea calculului
● definirea maşinii depinde de noţiunea de calcul
– adunare – abac
– adunare şi înmulţire
– instrucţiuni externe
– calcul paralel
– calcul probabilistic
– calcul neuronal
– calcul cuantic etc.

Copyright Paul GASNER 4


Ce este o maşină de calcul?
● se urmăreşte automatizarea calculului
● definirea maşinii depinde de noţiunea de calcul
– adunare – abac (chinezi, sec. 13)
– adunare şi înmulţire – maşinile lui Leibnitz sau Pascal
– instrucţiuni externe – maşina lui Babbage
– execuţie secvenţială, program memorat – von Neumann
– calcul paralel – multiprocesor, cluster, grid
– calcul probabilistic
– calcul neuronal
– calcul cuantic etc.

Copyright Paul GASNER 5


Evoluţia maşinii de calcul - concepte
● scrierea poziţionată a numerelor (indieni)
● algoritmii (Napier)
● algebra booleană
● calculatorul von Neumann

● se ajunge la conceptul de maşină universală de calcul –


maşina care programată corespunzător se comportă ca o
maşină specializată de calcul:
– procesare grafică
– tehnoredactare
– etc
Copyright Paul GASNER 6
Evoluţia maşinii de calcul - tehnologie

● mecanice/electromecanice (roţi dinţate/relee


electromagnetice)
● tuburi electronice
● Tranzistori
● Circuite integrate
● Very Large Scale Integration (VLSI) – Microprocesorul
● Procesoare Paralele

Copyright Paul GASNER 7


Calculatoare mecanice (1)
● rigla lui Edmund Gunter (1624)
– înmulţiri şi împărţiri folosind logaritmii lui Napier
● calculatorul lui Wilhelm Schickard (1624)
– Kepler pentru calculul efemeridelor
● maşina lui Blaise Pascal – la pascaline (1643)
– adunări şi multiplicări
– prima maşină de calcul comercializată
● calculatorul lui Gottfried Wilhelm Liebniz (1685)

Copyright Paul GASNER 8


Calculatoare mecanice (2)
● Variante ale maşinilor lui Liebniz şi Pascal
– Lepine (1725)
– Hillerin (1730)
– Pereire(1751)
– Earl Stanhope (1775)
– etc.
● războiul de ţesut al lui Joseph Jacquard (1805)
– prima maşină programabilă (cartele perforate)
● Arithmometerul Charles Thomas (1820)
– primul calculator mecanic comercializat pe scară largă (timp
de 100 ani)
Copyright Paul GASNER 9
La Pascaline

Copyright Paul GASNER 10


Maşina lui Leibniz

Copyright Paul GASNER 11


Calculatoare mecanice (3)
● maşina lui Charles Babbage (1833, 1837, 1853)
– motoare diferenţiale şi analitice
– calcul de tabele
● maşina Herman Hollerith (1890)
– materializarea maşinii Babbage
● Analizorul diferenţial Vannevar Bush (1931)
– ecuaţii diferenţiale
● calculatoare electromecanice Konrad Zuse (1936, 1939)
● Mark I - Howard Aiken, Grace Hooper (Harvard-1944)
– 0.3 sec pentru o adunare
– 6 sec pentru înmulţire
Copyright Paul GASNER 12
Mark I
IBM automatic sequence controlled calculator (ASCC)
– 750 000 componente
– 5 tone
– 18m lungime
– 3m înălţime

Copyright Paul GASNER 13


Calculatoare cu tuburi electronice (1)
● Atanasoff (1940)
–tuburi şi relee
– memorii cu condensatoare (ca la RAM-ul modern)
● COLOSSUS (1943)
British Intelligence, decriptare

● ENIAC (1946)
Moore School of Engineering, John von Neumann

● MADM (1948)
Manchester Automatic Digital Machine (pentru teste)

● EDVAC şi EDSAC (1949)
Copyright Paul GASNER 14
ENIAC
Electronic Numerical Integrator and Calculator
● maşină programabilă pentru calcul de tabele balistice

Copyright Paul GASNER 15


EDVAC
● Electronic Discrete Variable Calculator
● von Neumann stochează programul în maşină

Copyright Paul GASNER 16


Calculatoare cu tuburi electronice (2)
● UNIVAC (1951)
–memorii cu tuburi catodice
– primul computer digital programabil comercializat
● IAS (1952)
● JOHNNIAC (1953)
● Whirlwind (1953)
● IBM 701 (1953)
● IBM 709 (1958)

Copyright Paul GASNER 17


Calculatoare tranzistorizate (1)
● TX-0 (1955)
Ken Olsen înfiinţează Digital Equipment Corp. (DEC)
● DEC PDP-1 / 4 / 7 / 9 / 15
18 bits

● DEC PDP-5 / 8 / 12
12 bits

– primul minicomputer comercializat
● DEC PDP-6 / 10
– 36 bits

Copyright Paul GASNER 18


Calculatoare tranzistorizate (2)
● IBM 7090 / 7094 / Stretch
–36 bits
– calcul cu virgulă mobilă
● IBM 1401
reprezentare BCD

● CDC1604 (1958)
Seymour Cray

● CDC 6600 (1964)
– primul supercomputer
– 60 bits

Copyright Paul GASNER 19


Calculatoare cu circuite integrate
● IBM 360/370
● DEC PDP-8/I
● DEC PDP-11/40
● DEC VAX 11/780
● TI ASC
● CDC Cyber
● Illliac IV
● STARAN

Copyright Paul GASNER 20


VAX780

Copyright Paul GASNER 21


VLSI – familia Intel
● Intel 4004 (1971)
● Intel 8008 (1972)
● Intel 8080 / 8085
● Zilog Z80 / Z8 / Z8000
● Intel 8086 / 8088 - 16 bits
● Intel 80186 / 80286 / 80386 / 80486
● Intel IA-32: Pentium, PII, PIII, P4, Celeron, Xeon...
● Intel Itanium: Merced, McKinley, Madison, Deerfield...

Copyright Paul GASNER 22


VLSI (2)
● Motorola 6800
● MOS Technology 6502
● Motorola 68000 / 68010 / 68020 / 68030/68040/68060
● Intersil 6100
● Western Digital / DEC PDP-11/03
● DEC MicroVAX
● Texas Instruments 9900
● MIPS R2000 / R3000 / R4000, R8000, R10000, R12000
● SPARC-1 / SPARC-2 / SuperSPARC, HyperSPARC, UltraSPARC
● IBM RISCSystem-6000, Power series
● IBM/Motorola/Apple PowerPC 601/603/604/620, 750, 7450
● DEC Alpha
● HP Precision Architecture
● Intel i860
Copyright Paul GASNER 23
Procesoare paralele
● propus de Babbage (von Neumann)
● Staran
● MPP
● Transputer
● Connection Machine CM-2, CM-5
● MasPar, DAP
● Intel iPSC, Paragon, Teraflop
● IBM SP, Meiko CS
● Sequent Symmetry, SGI Challenge, SGI Origin etc.

Copyright Paul GASNER 24


Unităţi de măsură
● MIPS -- million instructions per second
● BIPS, BOPS, GIPS, GOPS - billions (giga = 109) of
instructions/operations per second
● TOPS -- Trillions or tera operation per second. Often
teraops.
● FLOPS -- floating point operations per second
(MFLOPS, GFLOPS, TFLOPS)
● LIPS -- logical inferences per second
● CPS or COPS -- Connections per second

Copyright Paul GASNER 25


Calculatorul von Neumann 1946
● program memorat – ideal memorie infinită, timp de
acces egal, practic însă:
● ierarhii de memorii
● programul şi datele sunt stocate în aceeaşi memorie
● execuţie secvenţială a instrucţiunilor
● Program Counter (PC) – adresa instrucţiunii următoare
se află într-un registru
– conţinutul PC este actualizat la execuţia fiecărei instrucţiuni
● la un moment dat, o singură instrucţiune este încărcată
pentru execuţie
– regulă: locaţii succesive, incrementare PC
– excepţie: instrucţiuni de salt
Copyright Paul GASNER 26
Arhitectura unei maşini de calcul

Aplicaţii
(programe utilizator)

Sistem de operare
Compilator Firmware
Limbaj maşină
Procesor+memorie intrări/ieşiri
calea de date şi control
design digital
design electronic
circuit

Copyright Paul GASNER 27


Arhitectura unei maşini de calcul (2)
arhitectura setului de
Arhitectura instrucţiuni (ISA)
calculatoarelor = + organizarea maşinii
+ componente hardware

software

set de instrucţiuni

hardware

Copyright Paul GASNER 28


Arhitectura unei maşini de calcul (3)
● Instruction-set architecture (ISA) – arhitectura setului
de instrucţiuni
determină caracteristicile de calcul ale calculatorului

● Hardware system architecture (HSA) – arhitectura
hardware a sistemului
subsistemele hardware şi interconectarea acestora

(CPU, sisteme de stocare, I/O)
● O arhitectură poate avea diferite implementări. O
familie de computere este un set de implementări care
au aceeaşi ISA sau similare.

Copyright Paul GASNER 29


Arhitectura von Neumann
● 3 subsisteme hardware: un CPU, un sistem de
memorie principală şi un sistem I/O
● program stocat în memoria maşinii de calcul
● interpretarea secvenţială a instrucţiunilor
● o singură cale de acces (magistrală, bus) între memorie
şi unitatea de control a CPU (sau cel puţin aşa se „vede”
din exterior) – von Neumann bottleneck

Copyright Paul GASNER 30


Arhitectura non-von Neumann (Flynn)
● Single instruction stream, single data stream (SISD)
– un singur flux de instrucţiuni, un singur flux de date
de ex. calculatorul von Neumann

● Single instruction stream, multiple data stream
(SIMD) – un singur flux de instrucţiuni, multiple fluxuri
de date
● Multiple instruction stream, single data stream
(MISD) – multiple fluxuri de instrucţiuni, un singur flux
de date (nu există în realitate)
● Multiple instruction stream, multiple data stream
(MIMD) – multiple fluxuri de instrucţiuni, multiple
fluxuri de date
Copyright Paul GASNER 31
Maşini multiprocesor: SIMD şi MIMD
● Sistemele SIMD utilizează de obicei memoria globală
● Sistemele MIMD utilizează şi memoria locală şi cea
globală, existând următoarele posibilităţi:
–procesoarele partajează doar memoria globală, nu şi
memoria locală
– procesoarele partajează memoria globală şi memoria
locală
– procesoarele nu partajează memoria globală
● Notă: memoria cache este diferită de memoria locală
(datele din cache sunt dependente de ceea ce există în
memorie). Datele din cache trebuie să fie aceleaşi cu
cele din memorie!
Copyright Paul GASNER 32
Componentele unui sistem von Neumann
● CPU care conţine:
–o unitate de control – control unit (CU)
– o unitate aritmetica şi logică – arithmetic and logic
unit (ALU)
– un set de regiştri de stocare în decursul operaţiilor
calculatorului
● program counter (PC) – de foarte multe ori PC este
inclus în setul de regiştri
● sistemele de memorie (ierarhii de memorii)
● magistrale – bus
● subsistemul I/O
Copyright Paul GASNER 33
Arhitectura tip Intel
Cache
North

CPU BUS Mem BUS


CPU Bridge Memory

I/O BUS

Scsi/IDE Lan USB Graphic


Adap Adap Hub Adapt

South Scsi Bus

Hard
LAN Video
Disk KeyBoard
Buffer
Mouse
Scanner

Copyright Paul GASNER 34


Arhitectura tip SPARC

Copyright Paul GASNER 35

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