Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... ·...

35
Copyright Paul GASNER Copyright Paul GASNER 1 Arhitectura Arhitectura Calculatoarelor Calculatoarelor Fizică - Informatică an II Fizică - Informatică an II [email protected] [email protected]

Transcript of Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... ·...

Page 1: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 1

Arhitectura Arhitectura CalculatoarelorCalculatoarelor

Fizică - Informatică an IIFizică - Informatică an II

[email protected]@uaic.ro

Page 2: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 3: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 3

IntroducereIntroducere

● Ce este o maşină de calcul?● Istorie şi clasificări ale calculatoarelor

Page 4: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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.

Page 5: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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.

Page 6: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 7: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 8: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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)

Page 9: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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)

Page 10: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 10

La PascalineLa Pascaline

Page 11: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 11

Maşina lui LeibnizMaşina lui Leibniz

Page 12: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 13: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 14: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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)

Page 15: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 15

ENIACENIACElectronic Numerical Integrator and Calculator● maşină programabilă pentru calcul de tabele balistice

Page 16: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 16

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

Page 17: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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)

Page 18: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 19: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 20: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 21: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 21

VAX780VAX780

Page 22: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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...

Page 23: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 24: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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.

Page 25: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 26: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 27: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 28: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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 =

Page 29: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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.

Page 30: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 31: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 32: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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!

Page 33: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 34: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

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

Page 35: Arhitectura Calculatoarelor - mail.uaic.rogasner/FI2_Arhitectura_Calculatoarelor/01... · calculatoare electromecanice Konrad Zuse (1936, ...

Copyright Paul GASNERCopyright Paul GASNER 35

Arhitectura tip SPARCArhitectura tip SPARC