Title: Osnove arhitekture racunalni
1Osnove arhitekture racunalniških sistemov
- PredavateljMilan Ojsteršek
- Asistenta Aleksander Kvas, Milan Zorman
2Vsebina predmeta
- Uvod
- Lastnosti racunalniških sistemov
- Zgodovina
- Klasifikacija racunalniških arhitektur
- Zmogljivost racunalniških sistemov
- Mikroprogramirani nivo
- Osnove zbirnega jezika
- Horizontalna organizacija
- Vertikalna organizacija
3Vsebina predmeta - nadaljevanje
- Nivo strojnega jezika
- Vodila
- Von Neumanova in Harvardska arhitektura
- Cevljenje
- CISC - RISC
- Predstavitev podatkov v racunalniku
- Vrste in format ukazov
- Vrste registrov
- Vrste naslavljanj
4Vsebina predmeta - nadaljevanje
- Hierarhija pomnilnikov
- Lokalnost dostopov
- Verjetnost zadetka in zgrešitve
- Predpomnilnik
- Navidezni pomnilnik
- Vhodno-izhodne enote
- Nivo operacijskega sistema
- Paralelni racunalniški sistemi
5Literatura
- D. Kodek Arhitektura racunalniških sistemov.
BI-TIM, Ljubljana 2000. - D. A. Patterson, J. L. Hennessy Computer
Architecture A Quantitative Approach. Morgan
Kaufman Publishers, INC., San Mateo, California
1998. - W. Stallings Computer Organization and
Architecture, Fifth edition, Prentice Hall 2000. - R. J. Baron in L. Higbie Computer Architecture.
Adisson Wesley, Wokingham 1992. - A. S. Tanenbaum Structured Computer
Organization. Third Edition, Prentice-Hall, Inc.,
Englewood Cliffs 1999.
6Pomembno !!!
- Obveznosti študentov
- Najmanj 80 udeležba na vajah
- Opravljene vaje
- Ustni izpit
- Materiali na internetu
- http//chp.uni-mb.si/oars
7Arhitektura in organizacija 1
- Z racunalniško arhitekturo definiramo lastnosti
racunalniškega sistema, kot jih vidi programer ce
programira na njegovem strojnem nivoju - Nabor ukazov, predstavitev podatkovnih tipov na
strojnem nivoju, nacini naslavljanja ukazov. - Z organizacijo racunalniškega sistema definiramo
lastnosti, ki so nevidne za programerja na
strojnem nivoju racunalniškega sistema in so
odvisne od tehnologije, ki je uporabljena za
implementacijo - Nadzorni signali, vmesniki, seštevalniki,
množilniki, pomnilniki .
8Arhitektura in organizacija 2
- Vsi tipi racunalnikov Intel x86 iz družine imajo
isto racunalniško arhitekturo. - Podobno velja za IBM System/370 družino
racunalnikov. - Kompatibilnost programskega koda ( navzdolna
(bacwards), navzgorna (forward) - Organizacija je razlicna za posamezne tipe
racunalnikov (npr. med Intel 486 in Pentium ali
Pentium II)
9Kaj vpliva na uspeh in preživetje racunalniške
arhitekture?
- Veliki proizvajalci
- Baza uporabnikov
- Obstojeca programska oprema
- Enostavnost uporabe
- Konkurencna cena
- Arhitektura, ki je neodvisna od tehnologije
(razširljivost, prilagodljivost) - Odprtost (proizvajalci publicirajo njene
specifikacije) - Zmogljivost
10Struktura in funkcija racunalniškega sistema
- S strukturo racunalniškega sistema definiramo
nacin kako so komponente racunalniškega sistema
med seboj povezane - S funkcijo racunalniškega sistema definiramo
posamezne operacije, ki jih izvajajo posamezne
komponente racunalniškega sistema
11Funkcije
- Poznamo naslednje funkcije komponent
racunalnikega sistema - Procesiranje podatkov
- Shranjevanje podatkov
- Prenos podatkov
- Nadzor nad operacijami
12Pogled na funkcije racunalniškega sistema
13Operacije (1)
- Prenos podatkov (npr. tipkovnica ali zaslon)
14Operacije (2)
- Shranjevanje podatkov (npr. prenos podatkov iz
interneta na disk)
15Operacije (3)
- Procesiranje podatkov iz pomnilnika (npr. pripis
obresti bancnemu racunu)
16Operacije (4)
- Procesiranje iz pomnilnika v vhodno-izhodne enote
(npr. tiskanje podatkov o transakcijah na bancnem
racunu)
17Struktura racunalniškega sistema najvišji nivo
abstrakcije
Vhodno-izhodne enote
Racunalnik
Centralna procesna enota
Glavni pomnilnik
Racunalnik
Sistemske komunikacijske povezave
Vhod/ izhod
Zunanje komunikacije
18Struktura racunalniškega sistema centralna
procesna enota
CPE
Aritmeticno Logicna Enota
Racunalnik
Registri
V/I
CPE
Sistemsko vodilo
Povezave Znotraj CPE
Pomnilnik
Kontrolna Enota
19Struktura racunalniškega sistema Kontrolna enota
Kontrolna enota
CPE
Sekvencna logika
ALE
Kontrolnal Enota
Notranje Vodilo
Registri, Multiplekserji in Dekoderji
Registri
Nadzorni Pomnilnik
20(No Transcript)
21Zgodovina racunskih strojev
- Abakus
- Antiktere (stara Grcija)
- Obdobje mehanike (uporaba zobnikov)
- Leibnitz
- Babbage
- Analiticni stroj
22Zgodovina racunskih strojev - nadaljevanje
- Obdobje elektromehanike
- Holerith ustanovitelj IBM 1924
- Zuse Z3 - 1941
- Numericni prikaz žarnice
- Pomnilnik 64 22 bitnih besed
- Ukazi na luknjanem traku
- Binarna in desetiška aritmetika
- Plavajoca vejica
- 2600 relejev
- Mark 1 Aiken Harvardska arhitektura 1943
- Ukazi A1,A2 OP
23Zgodovina racunskih strojev elektronski
racunalniki
- ENIAC Electronic Numerical Integrator And
Computer - Eckert and Mauchly
- Univerza v Pensilvaniji
- Izracun poti balisticnih istrelkov
- Zacetek 1943
- Konec 1946
- Uporabljal se je do 1955
24ENIAC - podrobnosti
- Desetiška števila
- 20 akomulatorjev za 10 cifer
- Programiral se je z nastavljanjem 6000 stikal
- 18 000 elektronk
- 30 ton
- 140 kW porabe elektricne energije
- 5000 seštevanj na sekundo
Programska enota
Centralna procesna enota
Pomnilnik
Ukazi
Podatki
Podatki
Stikala
Citalec kartic
Tiskalnik
Luknjalnik kartic
25Von Neumannov in Turingov koncept
- Glavni pomnilnik hrani program in podatke
- ALE izvaja operacije nad binarnimi števili
- Nadzorna enota vzame ukaz iz pomnilnika, ga
dekodira in izvede - Delovanje vhodno izhodnih enot nadzoruje
kontrolna enota - Prvi racunalnik takšnega tipa so naredili na
Princeton Institute for Advanced Studies - IAS
- Koncan je bil 1952
26Struktura Von Neumannovega racunalnika
Aritmeticna in logicna enota
Vhodno izhodna enota
Glavni pomnilnik
Kontrolna enota
27IAS - podrobnosti
- 1000 x 40 bitne besede
- Bnarna števila
- 2 x 20 bitni ukazi v eni pomnilniški besedi
vsak ukaz ima operacijsko kodo in naslov v
pomnilniku - Registri v CPE
- Pomnilniški podatkovni register (Memory Buffer
Register - MBR) - Pomnilniški naslovni register (Memory Address
Register - MAR) - Ukazni register (Instruction Register IR)
- Ukazni vmesni register (Instruction Buffer
Register IBR) - Programski števec (Program Counter PC)
- Akomulator (Accumulator AC)
- Multiplier Quotient
28Struktura IAS - podrobnosti
Centralna procesna enota
Aritmeticna in logicna enota
MQ
Akomulator
Vezja ALE
MBR
Vhodno Izhodna enota
Ukazi in podatki
Glavni pomnilnik
PC
IBR
MAR
IR
Vezja KE
Naslov
Krmilna enota
29Poslovni racunalniki
- 1947 - Eckert-Mauchly Computer Corporation
- UNIVAC I (Universal Automatic Computer)
- US Bureau of Census 1950 calculations
- Konec1950 - UNIVAC II
- Hitrejši
- Vec pomnilnika
30IBM
- 1953 - model 701
- Prvi IBM-ov racunalnik s shranjenim programom
- Namenjen znanstvenim izracunom
- 1955 - model 702
- Namenjen poslovnim aplikacijam
31Tranzistorji
- Zamenjajo elektronk
- Manjši
- Cenejši
- Manj se grejejo in porabijo manj energije
- Narejeni iz silicija
- Iznašli so ga v Bellovih Laboratorijih - William
Shockley
32Racunalniki, ki so uporabili trazistorsko
tehnologijo
- Druga generacija racunalnikov
- IBM 7000
- DEC - 1957
- Proizvedli so PDP-1
33Generacije racunalnikov
- Prva generacija - Elektronke - 1946-1957
- Druga generacija - Tranzistorji - 1958-1964
- Tretja generacija - Small scale integration (SSI)
- 1965 do 100 tranzistorjev na cip - Tretja genracija - Medium scale integration (MSI)
do 1971 - 100-3000 tranzistorjev na cip
- Cetrta generacija - Large scale integration (LSI)
- 1971-1977 - 3000 - 100000 tranzistorjev na cip
- Cetrta generacija - Very large scale integration
(VLSI)- 1978 do danes - 100 000 100 000 000 tranzistorjev na cip
- Ultra large scale integration (ULSI)
- Vec kot 100 000 000 tranzistorjev na cip
34Prva racunalniška generacija
- 1946-1957
- Primeri ENIAC, EDVAC, IAS
- Aritmetika s fiksno vejico
- Releji in elektronke
- Strojni in zbirni jezik
- Citalci in luknjalci kartic
- Magnetni boben
35Druga racunalniška generacija
- 1958-1964
- Tranzistorji
- Magnetni diski
- Feritni pomnilniki
- Visoki programski jeziki (FORTRAN, COBOL)
- Primeri IBM 7094, CDC 6600
- Paketna obdelava (batch processing)
- Aritmetika s plavajoco vejico
- V/I procesorji
36Tretja racunalniška generacija
- 1964 1978
- SSI in MSI integracija
- Polprevodniški pomnilniki
- Predpomnilnik
- Navidezni pomnilnik
- Mikroprogramiranje
- Multiprogramiranje
- Multiprocesiranje
- Cevljenje
- Vektorski racunalniki (TI-ASC)
- SIMD racunalniki (ILIAC 4)
- MIMD racunalniki (CMMP)
37Cetrta racunalniška generacija
- 1979
- LSI, VLSI, ULSI
- RISC
- Casovno dodeljevanje (time sharing)
- Paralelno procesiranje (podatkovno vodeni
racunalniki, sistolicna polja, rekonfigurabilni - Masovni paralelizem (Connection machine)
38Peta racunalniška generacija
- 1980
- Procesiranje znanja
- Direktno izvajanje logicnih jezikov (npr. PROLOG
strojni jezik) - Inteligentni sistemi
- Ekpertni sistemi
- Nevronske mreže
- Multimedia
39Šesta racunalniška generacija
- 1980
- Molekularni racunalniki
- Opticni racunalniki
- Fotonika
40Moore ov Zakon Law
- Gordon Moore - soustanovitelj Intel-a
- Rekel je, da se bo število tranzistorjev na cip
podvojilo vsako drugo leto - Od 1970 naprej se število tranzistorjev na cip
podvoji vsakih 18 mesecev - Cena cipov ostaja enaka
- Vecja gostota na cm2 pomeni krajše elektricne
povezave, kar pomeni vecjo zmogljivost.
Zmanjševati moramo napajalno napetost, da ne
pride do prebojev, povecujemo lahko frekvenco
Manj povezav med cipi pomeni vecjo zanesljivost
41Rast števila tranzistorjev na cip
42Grosch ev zakon
- Zmogljivot konstanta cena2
- Nakup racunalnikov iz zgornjega nižjega
razreda je bolj ekonomicen, kot nakup
racunalnikov iz spodnjega višjega razreda.
43IBM 360 družina racunalnikov
- 1964
- Zamenja serijo 7000 in ni kompatibilna z
njenimi izvedenkami - Prva planirana družina racunalnikov
- Enak ali identicen nabor ukazov
- Enak ali identicen operacijski sistem
- Iz generacije v generacijo se povecuje
zmogljivost (možno število prikljucenih
terminalov, vecji pomnilnik, vecje število
izvedenih ukazov na sekundo) in cena - Stikalna povezava med enotami
44DEC PDP-8
- 1964
- Prvi miniracunalnik
- 16,000
- 100k za IBM 360
- Uporaba vodil
45DEC - PDP-8 vodilna struktura
V/I Modul
Glavni pomnilnik
V/I Modul
Console Controller
CPU
OMNIBUS
46Intel
- 1971 - 4004
- Prvi mikroracunalnik
- Vse CPE komponente na enem cipu
- 4 bitna arhitektura
- 1972 8008
- 8 bitna arhitektura
- 1974 - 8080
- Prvi splošno namenski mikroracunalnik
47Povecevanje zmogljivosti
- Cevljenje
- Povecanje števila registrov in izravnalnikov
- Vektorsko izvajanje
- Predpomnilnik (cache) na maticni plošci
- L1 in L2 predpomilnik na maricni plošci
- Predvidevanje vejitev (branch prediction)
- Data flow analiza
- Spekulativno izvajanje ukazov
48Zmogljivost
- Hitrost procesorjev se povecuje
- Kapaciteta pomnilnikov se povecuje
- Hitrost dostopov do pomnilnikov se povecuje
pocasneje, kot se povecuje hitrost procesorjev
49Lastnosti DRAM pomnilnikov in procesorjev skozi
cas
50Trendi pri uporabi DRAM pomnilnikov
51Rešitve
- Povecevanje prenosa vecjega števila bitov
istocasno iz pomnilnika v procesor - Narediti DRAM daljši ne globlji
- Spremeniti vmesnik do DRAM-a
- Predpomnilnik
- Zmanjšati frekvenco dostopov do glavnega
pomnilnika - Boljši predpomnilnik ali vec predpomnilnika
direktno na cipu, kjer je CPE - Povecati pasovno širino komunikacijske strukture
- Hitrejša vodila
- Hierarhicno organizirana vodila
52Flinova klasifikacija racunalniških sistemov
- Single instruction, single data stream - SISD
- Single instruction, multiple data stream - SIMD
- Multiple instruction, single data stream - MISD
- Multiple instruction, multiple data stream- MIMD
53Single Instruction, Single Data Stream - SISD
- En sam procesor
- En sam tok ukazov
- Podatki so shranjeni v enem pomnilniku
54SISD
55Multiple Instruction, Single Data Stream - MISD
- Zaporedje podatkov
- Pošljejo se množici procesorjev
- Vsak procesor izvaja druge ukaze nad istim
podatkom - Model nikoli ni bil implementiran
56Single Instruction, Multiple Data Stream - SIMD
- En sam strojni ukaz
- Nadzorna enota nadzira izvajanje ukaza nad vecimi
instancami podatkov - Vec procesnih elementov
- Vektorski in poljski (array) procesorji
procesorji
p5
p1
p2
p3
p4
p6
cas
i1
i1
i1
i1
i1
i1
i2
i2
i2
i2
i2
i2
i3
i3
i3
i3
i3
i3
57SIMD
58Multiple Instruction, Multiple Data Stream- MIMD
- Množica procesorjev
- Socasno izvršujejo vsak svoje ukaze
- Vsak ukaz uporablja svoje podatke
- SMP (Symetric Multiprocessors), grozdi (clusters)
in NUMA (Non Uniform Memory Access) sistemi
59MIMD mocno sklopljeni rac. Sistem (Tightly
coupled)
60Mocno sklopljeni - SMP
- Procesorji si delijo skupni pomnilnik
- Preko skupnega pomnilnika komunicirajo
- Symmetric Multiprocessor (SMP)
- Delijo si en sam pomnilnik ali množico
pomnilnikov (pool) - Delijo si skupno vodilo, preko katerega prihajajo
do pomnilnika - Cas dostopa do pomnilnika je enak za vse
procesorje (UMA Uniform Memory Access)
61Mocnosklopljeni rac. sistemi - NUMA
- Nonuniform memory access
- Casi dostopa se razlikujejo glede na del
pomnilnika do katerega dostopa procesor
62MIMD šibko sklopljeni rac. Sistem (Loosely
Coupled)
63Šibko sklopljeni Grozdi (Clusters)
- Kolekcija neodvisnih enoprocesorskih sistemov ali
SMP-jev - Združeni so v grozd
- Komunicirajo prek skupne komunikacijske povezave
(npr. Crossbar) ali racunalniške mreže
64Delitev racunalniških sistemov
65Kaj lahko merimo v rac. sistemih?
- Cas izvajanja programa (execution time)
- Zakasnilni cas (latency time) - komunikacije
- Cas odziva (response time)
- Propustnost (število obdelanih poslov na sekundo
troughtput) - Pasovna širina (število dostavljenih podatkov na
sekundo bandwith) pomnilnik, V/I enote,
komunikacije
66Zmogljivost
- zmogljivost 1/cas izvajanja
- cas izvajanjaY/cas izvajanjaX 1 n/100
- zmogljivostx/zmogljivostY
- n 100 ((zmogljivostx zmogljivostY)/zmogljivos
tY) - n ((cas izvajanjaY/cas izvajanjax)- 1) 100
67Pospešek - speedup
- Pr - zmogljivost z uporabo razširitev
- Pc zmogljivost brez uporabe razširitev
- Sr Povecanje hitrosti z uporabo razširitev
- Sr Pr/Pc
68Amhdalov zakon
- Izboljšanje zmogljivosti, ce uporabljamo
izboljšave v racunalniku, je omejeno z delom
casa, v katerem lahko to izboljšavo izkoristimo.
69Amhdalov zakon
- Fr del casa, ko lahko uporabimo izboljšave
- Sr pospešek pri uporabi izboljšave
- Sc- pospešek sistema
- Ts cas izvajanja brez uporabe izboljšave
- Tn cas izvajanja z uporabo izboljšave
- Tn Ts (1-Fr(Fr/Sr))
- Sc Ts/Tn (1/ (1-Fr(Fr/Sr))
70Enote za merjenje zmogljivosti
- Dryston
- Whetston
- MIPS (Milion Instructions per Second)
- VUP (VAX MIPS)
- IBM MIPS
- MFLOP (Milion Floating Point Instructions per
Second) - SPECINT, SPECFP
- TPS (Transactins per Second)
- MBS (Megabytes per Second)
71Zmogljivostni testi
- Drystone
- Whetstone
- Linpack
- Livermore Loops
- Specmark (12 programov)
- Transaction Processing Test
- Debit/credit test
- Perfect Club Suite
- Vec na http//www.netlib.org/