Copyright Paul GASNERCopyright Paul GASNER 1
Arhitectura Arhitectura CalculatoarelorCalculatoarelor
Fizică - Informatică an IIFizică - Informatică an II
[email protected]@uaic.ro
Copyright Paul GASNERCopyright Paul GASNER 2
Conţinutul cursuluiConţ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 GASNERCopyright Paul GASNER 3
IntroducereIntroducere
● Ce este o maşină de calcul?● Istorie şi clasificări ale calculatoarelor
Copyright Paul GASNERCopyright Paul GASNER 4
Ce este o maşină de calcul?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 GASNERCopyright Paul GASNER 5
Ce este o maşină de calcul?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 GASNERCopyright Paul GASNER 6
Evoluţia maşinii de calcul - concepteEvoluţ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 GASNERCopyright Paul GASNER 7
Evoluţia maşinii de calcul - tehnologieEvoluţ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 GASNERCopyright Paul GASNER 8
Calculatoare mecanice (1)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 GASNERCopyright Paul GASNER 9
Calculatoare mecanice (2)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 GASNERCopyright Paul GASNER 10
La PascalineLa Pascaline
Copyright Paul GASNERCopyright Paul GASNER 11
Maşina lui LeibnizMaşina lui Leibniz
Copyright Paul GASNERCopyright Paul GASNER 12
Calculatoare mecanice (3)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 GASNERCopyright Paul GASNER 13
Mark IMark IIBM automatic sequence controlled calculator (ASCC)
– 750 000 componente
– 5 tone
– 18m lungime
– 3m înălţime
Copyright Paul GASNERCopyright Paul GASNER 14
Calculatoare cu tuburi electronice (1)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 GASNERCopyright Paul GASNER 15
ENIACENIACElectronic Numerical Integrator and Calculator● maşină programabilă pentru calcul de tabele balistice
Copyright Paul GASNERCopyright Paul GASNER 16
EDVACEDVAC● Electronic Discrete Variable Calculator● von Neumann stochează programul în maşină
Copyright Paul GASNERCopyright Paul GASNER 17
Calculatoare cu tuburi electronice (2)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 GASNERCopyright Paul GASNER 18
Calculatoare tranzistorizate (1)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 GASNERCopyright Paul GASNER 19
Calculatoare tranzistorizate (2)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 GASNERCopyright Paul GASNER 20
Calculatoare cu circuite integrateCalculatoare 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 GASNERCopyright Paul GASNER 21
VAX780VAX780
Copyright Paul GASNERCopyright Paul GASNER 22
VLSI – familia IntelVLSI – 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 GASNERCopyright Paul GASNER 23
VLSI (2)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 GASNERCopyright Paul GASNER 24
Procesoare paraleleProcesoare 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 GASNERCopyright Paul GASNER 25
Unităţi de măsură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 GASNERCopyright Paul GASNER 26
Calculatorul von Neumann 1946Calculatorul 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 GASNERCopyright Paul GASNER 27
Arhitectura unei maşini de calculArhitectura unei maşini de calcul
Aplicaţii(programe utilizator)
Sistem de operare
Limbaj maşinăCompilator Firmware
Procesor+memorie intrări/ieşiri
calea de date şi control
design digitaldesign electronic
circuit
Copyright Paul GASNERCopyright Paul GASNER 28
Arhitectura unei maşini de calcul (2)Arhitectura unei maşini de calcul (2)arhitectura setului de
instrucţiuni (ISA)
+ organizarea maşinii
+ componente hardware
set de instrucţiuni
software
hardware
Arhitectura calculatoarelor =
Copyright Paul GASNERCopyright Paul GASNER 29
Arhitectura unei maşini de calcul (3)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 GASNERCopyright Paul GASNER 30
Arhitectura von NeumannArhitectura 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 GASNERCopyright Paul GASNER 31
Arhitectura non-von Neumann (Flynn)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 GASNERCopyright Paul GASNER 32
Maşini multiprocesor: SIMD şi MIMD 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 GASNERCopyright Paul GASNER 33
Componentele unui sistem von NeumannComponentele 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 GASNERCopyright Paul GASNER 34
Arhitectura tip IntelArhitectura tip Intel
CPU
I/O BUS
Bridge Memory
KeyBoardMouse
Scanner
LAN
LanAdap
USBHub
GraphicAdapt
VideoBuffer
Mem BUSCPU BUS
Cache
Scsi/IDEAdap
Scsi Bus
HardDisk
North
South
Copyright Paul GASNERCopyright Paul GASNER 35
Arhitectura tip SPARCArhitectura tip SPARC
Top Related