71
Osnove arhitekture računalniških sistemov Predavatelj:Milan Ojsteršek Asistenta: Aleksander Kvas, Milan Zorman

Osnove arhitekture računalniških sistemov

  • Upload
    caden

  • View
    142

  • Download
    8

Embed Size (px)

DESCRIPTION

Osnove arhitekture računalniških sistemov. Predavatelj:Milan Ojsteršek Asistenta: Aleksander Kvas, Milan Zorman. Vsebina predmeta:. Uvod: Lastnosti računalniških sistemov Zgodovina Klasifikacija računalniških arhitektur Zmogljivost računalniških sistemov Mikroprogramirani nivo - PowerPoint PPT Presentation

Citation preview

Page 1: Osnove arhitekture računalniških sistemov

Osnove arhitekture računalniških sistemov

Predavatelj:Milan Ojsteršek Asistenta: Aleksander Kvas, Milan Zorman

Page 2: Osnove arhitekture računalniških sistemov

Vsebina predmeta: Uvod:

Lastnosti računalniških sistemov Zgodovina Klasifikacija računalniških arhitektur Zmogljivost računalniških sistemov

Mikroprogramirani nivo Osnove zbirnega jezika Horizontalna organizacija Vertikalna organizacija

Page 3: Osnove arhitekture računalniških sistemov

Vsebina predmeta - nadaljevanje

Nivo strojnega jezika Vodila Von Neumanova in Harvardska arhitektura Cevljenje CISC - RISC Predstavitev podatkov v računalniku Vrste in format ukazov Vrste registrov Vrste naslavljanj

Page 4: Osnove arhitekture računalniških sistemov

Vsebina predmeta - nadaljevanje

Hierarhija pomnilnikov Lokalnost dostopov Verjetnost zadetka in zgrešitve Predpomnilnik Navidezni pomnilnik

Vhodno-izhodne enote Nivo operacijskega sistema Paralelni računalniški sistemi

Page 5: Osnove arhitekture računalniških sistemov

Literatura D. Kodek: Arhitektura računalniš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.

Page 6: Osnove arhitekture računalniških sistemov

Pomembno !!! Obveznosti študentov

Najmanj 80 % udeležba na vajah Opravljene vaje Ustni izpit

Materiali na internetu: http://chp.uni-mb.si/oars

Page 7: Osnove arhitekture računalniških sistemov

Arhitektura in organizacija 1 Z računalniško arhitekturoračunalniško arhitekturo definiramo lastnosti

računalniškega sistema, kot jih vidi programer če programira na njegovem strojnem nivoju:

Nabor ukazov, predstavitev podatkovnih tipov na strojnem nivoju, načini naslavljanja ukazov.

Z organizacijo računalniškega sistemaorganizacijo računalniškega sistema definiramo lastnosti, ki so nevidne za programerja na strojnem nivoju računalniškega sistema in so odvisne od tehnologije, ki je uporabljena za implementacijo:

Nadzorni signali, vmesniki, seštevalniki, množilniki, pomnilniki ….

Page 8: Osnove arhitekture računalniških sistemov

Arhitektura in organizacija 2 Vsi tipi računalnikov Intel x86 iz družine

imajo isto računalniško arhitekturo. Podobno velja za IBM System/370

družino računalnikov. Kompatibilnost programskega koda

( navzdolna (bacwards), navzgorna (forward)

Organizacija je različna za posamezne tipe računalnikov (npr. med Intel 486 in Pentium ali Pentium II)

Page 9: Osnove arhitekture računalniških sistemov

Kaj vpliva na uspeh in preživetje računalniške arhitekture? Veliki proizvajalci Baza uporabnikov Obstoječa programska oprema Enostavnost uporabe Konkurenčna cena Arhitektura, ki je neodvisna od tehnologije

(razširljivost, prilagodljivost) Odprtost (proizvajalci publicirajo njene

specifikacije) Zmogljivost

Page 10: Osnove arhitekture računalniških sistemov

Struktura in funkcija računalniškega sistema

S strukturo računalniškega sistema definiramo način kako so komponente računalniškega sistema med seboj povezane

S funkcijo računalniškega sistema definiramo posamezne operacije, ki jih izvajajo posamezne komponente računalniškega sistema

Page 11: Osnove arhitekture računalniških sistemov

Funkcije Poznamo naslednje funkcije

komponent računalnikega sistema: Procesiranje podatkov Shranjevanje podatkov Prenos podatkov Nadzor nad operacijami

Page 12: Osnove arhitekture računalniških sistemov

Pogled na funkcije računalniškega sistema

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

Page 13: Osnove arhitekture računalniških sistemov

Operacije (1) Prenos podatkov (npr. tipkovnica ali zaslon)

Prenos podatkov

Nadzornimehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

Page 14: Osnove arhitekture računalniških sistemov

Operacije (2) Shranjevanje podatkov (npr. prenos podatkov iz

interneta na disk)

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

Page 15: Osnove arhitekture računalniških sistemov

Operacije (3) Procesiranje podatkov iz pomnilnika (npr. pripis

obresti bančnemu računu)

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

Page 16: Osnove arhitekture računalniških sistemov

Operacije (4) Procesiranje iz pomnilnika v vhodno-izhodne enote (npr.

tiskanje podatkov o transakcijah na bančnem računu)

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

Page 17: Osnove arhitekture računalniških sistemov

Struktura računalniškega sistema – najvišji nivo abstrakcije

Računalnik

Glavni pomnilnik

Vhod/izhod

Sistemskekomunikacijske povezave

Vhodno-izhodne enote

Zunanje komunikacije

Centralna procesna enota

Računalnik

Page 18: Osnove arhitekture računalniških sistemov

Struktura računalniškega sistema – centralna procesna enota

Računalnik AritmetičnoLogičnaEnota

KontrolnaEnota

Povezave ZnotrajCPE

Registri

CPE

V/I

Pomnilnik

Sistemskovodilo

CPE

Page 19: Osnove arhitekture računalniških sistemov

Struktura računalniškega sistema – Kontrolna enota

CPE

Nadzorni Pomnilnik

Registri, Multiplekserji inDekoderji

Sekvenčna logika

KontrolnalEnota

ALE

Registri

NotranjeVodilo

Kontrolna enota

Page 20: Osnove arhitekture računalniških sistemov
Page 21: Osnove arhitekture računalniških sistemov

Zgodovina računskih strojev Abakus Antiktere (stara Grčija) Obdobje mehanike (uporaba zobnikov)

Leibnitz Babbage

Analitični stroj

Mlin Pomnilnik

Tiskalnik in

luknjalnik kartic

Ukazne kartice

Podatkovne kartice

UkaziPodatki

Podatki

Podatki

Page 22: Osnove arhitekture računalniških sistemov

Zgodovina računskih strojev - nadaljevanje Obdobje elektromehanike

Holerith – ustanovitelj IBM 1924 Zuse – Z3 - 1941

Numerični prikaz – žarnice Pomnilnik – 64 22 bitnih besed Ukazi na luknjanem traku Binarna in desetiška aritmetika Plavajoča vejica 2600 relejev

Mark 1 – Aiken – Harvardska arhitektura 1943 Ukazi A1,A2 OP

Page 23: Osnove arhitekture računalniških sistemov

Zgodovina računskih strojev – elektronski računalniki ENIAC Electronic Numerical Integrator

And Computer Eckert and Mauchly Univerza v Pensilvaniji Izračun poti balističnih istrelkov Začetek 1943 Konec 1946 Uporabljal se je do 1955

Page 24: Osnove arhitekture računalniških sistemov

ENIAC - podrobnosti Desetiška števila 20 akomulatorjev za 10 cifer Programiral se je z nastavljanjem 6000 stikal 18 000 elektronk 30 ton 140 kW porabe električne energije 5000 seštevanj na sekundo

Programska enota

Centralna procesna

enotaPomnilnik

Čitalec kartic

TiskalnikLuknjalnik

karticStikala

Ukazi

PodatkiPodatki

Page 25: Osnove arhitekture računalniških sistemov

Von 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 računalnik takšnega tipa so naredili na

Princeton Institute for Advanced Studies IAS

Končan je bil 1952

Page 26: Osnove arhitekture računalniških sistemov

Struktura Von Neumannovega računalnika

Glavnipomnilnik

Aritmetična in logična enota

Kontrolna enota

Vhodno – izhodna enota

Page 27: Osnove arhitekture računalniških sistemov

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

Page 28: Osnove arhitekture računalniških sistemov

Struktura IAS - podrobnosti

Glavnipomnilnik

Aritmetična in logična enota

Krmilna enota

VhodnoIzhodna enota

MBR

Vezja ALE

MQAkomulator

MAR

Vezja KE

IBR

IR

PC

Naslov

Ukaziin podatki

Centralna procesna enota

Page 29: Osnove arhitekture računalniških sistemov

Poslovni računalniki 1947 - Eckert-Mauchly Computer

Corporation UNIVAC I (Universal Automatic

Computer) US Bureau of Census 1950

calculations Konec1950 - UNIVAC II

Hitrejši Več pomnilnika

Page 30: Osnove arhitekture računalniških sistemov

IBM 1953 - model 701

Prvi IBM-ov računalnik s shranjenim programom

Namenjen znanstvenim izračunom 1955 - model 702

Namenjen poslovnim aplikacijam

Page 31: Osnove arhitekture računalniških sistemov

Tranzistorji 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

Page 32: Osnove arhitekture računalniških sistemov

Računalniki, ki so uporabili trazistorsko tehnologijo Druga generacija računalnikov IBM 7000 DEC - 1957

Proizvedli so PDP-1

Page 33: Osnove arhitekture računalniških sistemov

Generacije računalnikov Prva generacija - Elektronke - 1946-1957 Druga generacija - Tranzistorji - 1958-1964 Tretja generacija - Small scale integration (SSI) - 1965 do

100 tranzistorjev na čip Tretja genracija - Medium scale integration (MSI) do 1971

100-3000 tranzistorjev na čip Četrta generacija - Large scale integration (LSI) - 1971-

1977 3000 - 100000 tranzistorjev na čip

Četrta generacija - Very large scale integration (VLSI)- 1978 do danes

100 000 – 100 000 000 tranzistorjev na ćip Ultra large scale integration (ULSI)

Več kot 100 000 000 tranzistorjev na čip

Page 34: Osnove arhitekture računalniških sistemov

Prva računalniška generacija 1946-1957 Primeri ENIAC, EDVAC, IAS Aritmetika s fiksno vejico Releji in elektronke Strojni in zbirni jezik Čitalci in luknjalci kartic Magnetni boben

Page 35: Osnove arhitekture računalniških sistemov

Druga računalniš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 plavajočo vejico• V/I procesorji

Page 36: Osnove arhitekture računalniških sistemov

Tretja računalniška generacija 1964 – 1978 SSI in MSI integracija Polprevodniški pomnilniki Predpomnilnik Navidezni pomnilnik Mikroprogramiranje Multiprogramiranje Multiprocesiranje Cevljenje Vektorski računalniki (TI-ASC) SIMD računalniki (ILIAC 4) MIMD računalniki (CMMP)

Page 37: Osnove arhitekture računalniških sistemov

Četrta računalniška generacija 1979 – LSI, VLSI, ULSI RISC Časovno dodeljevanje (time sharing) Paralelno procesiranje (podatkovno

vodeni računalniki, sistolična polja, rekonfigurabilni

Masovni paralelizem (Connection machine)

Page 38: Osnove arhitekture računalniških sistemov

Peta računalniška generacija 1980 – Procesiranje znanja Direktno izvajanje logičnih jezikov (npr.

PROLOG – strojni jezik) Inteligentni sistemi Ekpertni sistemi Nevronske mreže Multimedia

Page 39: Osnove arhitekture računalniških sistemov

Šesta računalniška generacija 1980 – Molekularni računalniki Optični računalniki Fotonika

Page 40: Osnove arhitekture računalniških sistemov

Moore – ov Zakon Law

Gordon Moore - soustanovitelj Intel-a Rekel je, da se bo število tranzistorjev na čip

podvojilo vsako drugo leto Od 1970 naprej se število tranzistorjev na čip

podvoji vsakih 18 mesecev Cena čipov ostaja enaka Večja gostota na cm2 pomeni krajše električne

povezave, kar pomeni večjo zmogljivost. Zmanjševati moramo napajalno napetost, da ne pride do prebojev, povečujemo lahko frekvenco Manj povezav med čipi pomeni večjo zanesljivost

Page 41: Osnove arhitekture računalniških sistemov

Rast števila tranzistorjev na čip

Page 42: Osnove arhitekture računalniških sistemov

Grosch – ev zakon

Zmogljivot = konstanta * cena2

Nakup računalnikov iz zgornjega nižjega razreda je bolj

ekonomičen, kot nakup računalnikov iz spodnjega višjega

razreda.

Page 43: Osnove arhitekture računalniških sistemov

IBM 360 družina računalnikov 1964 Zamenja serijo 7000 in ni kompatibilna z

njenimi izvedenkami Prva planirana “družina” računalnikov

Enak ali identičen nabor ukazov Enak ali identičen operacijski sistem Iz generacije v generacijo se povečuje

zmogljivost (možno število priključenih terminalov, večji pomnilnik, večje število izvedenih ukazov na sekundo) in cena

Stikalna povezava med enotami

Page 44: Osnove arhitekture računalniških sistemov

DEC PDP-8 1964 Prvi miniračunalnik $16,000

$100k+ za IBM 360 Uporaba vodil

Page 45: Osnove arhitekture računalniških sistemov

DEC - PDP-8 vodilna struktura

OMNIBUS

ConsoleController

CPU Glavni pomnilnik

V/IModul

V/IModul

Page 46: Osnove arhitekture računalniških sistemov

Intel 1971 - 4004

Prvi mikroračunalnik Vse CPE komponente na enem čipu 4 bitna arhitektura

1972 8008 8 bitna arhitektura

1974 - 8080 Prvi splošno namenski mikroračunalnik

Page 47: Osnove arhitekture računalniških sistemov

Povečevanje zmogljivosti Cevljenje Povečanje števila registrov in izravnalnikov Vektorsko izvajanje Predpomnilnik (cache) na matični plošči L1 in L2 predpomilnik na marični plošči Predvidevanje vejitev (branch prediction) Data flow analiza Spekulativno izvajanje ukazov

Page 48: Osnove arhitekture računalniških sistemov

Zmogljivost Hitrost procesorjev se povečuje Kapaciteta pomnilnikov se

povečuje Hitrost dostopov do pomnilnikov se

povečuje počasneje, kot se povečuje hitrost procesorjev

Page 49: Osnove arhitekture računalniških sistemov

Lastnosti DRAM pomnilnikov in procesorjev skozi čas

Page 50: Osnove arhitekture računalniških sistemov

Trendi pri uporabi DRAM pomnilnikov

Page 51: Osnove arhitekture računalniških sistemov

Rešitve Povečevanje prenosa večjega števila bitov

istočasno 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 več predpomnilnika direktno na čipu, kjer je CPE

Povečati pasovno širino komunikacijske strukture Hitrejša vodila Hierarhično organizirana vodila

Page 52: Osnove arhitekture računalniških sistemov

Flinova klasifikacija računalniš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

Page 53: Osnove arhitekture računalniških sistemov

Single Instruction, Single Data Stream - SISD En sam procesor En sam tok ukazov Podatki so shranjeni v enem

pomnilniku

Page 54: Osnove arhitekture računalniških sistemov

SISD

Page 55: Osnove arhitekture računalniških sistemov

Multiple 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

Page 56: Osnove arhitekture računalniških sistemov

Single Instruction, Multiple Data Stream - SIMD En sam strojni ukaz Nadzorna enota nadzira izvajanje

ukaza nad večimi instancami podatkov

Več procesnih elementov Vektorski in poljski (array)

procesorjip1 p2 p3 p4 p5 p6

i1 i1 i1 i1 i1 i1

i2 i2

čas

procesorji

i2 i2 i2 i2i3 i3 i3 i3 i3 i3

Page 57: Osnove arhitekture računalniških sistemov

SIMD

Page 58: Osnove arhitekture računalniških sistemov

Multiple Instruction, Multiple Data Stream- MIMD Množica procesorjev Sočasno izvršujejo vsak svoje

ukaze Vsak ukaz uporablja svoje podatke SMP (Symetric Multiprocessors),

grozdi (clusters) in NUMA (Non Uniform Memory Access) sistemi

Page 59: Osnove arhitekture računalniških sistemov

MIMD – močno sklopljeni rač. Sistem (Tightly coupled)

Page 60: Osnove arhitekture računalniških sistemov

Močno 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

Čas dostopa do pomnilnika je enak za vse procesorje (UMA – Uniform Memory Access)

Page 61: Osnove arhitekture računalniških sistemov

Močnosklopljeni rač. sistemi - NUMA Nonuniform memory access Časi dostopa se razlikujejo glede

na del pomnilnika do katerega dostopa procesor

Page 62: Osnove arhitekture računalniških sistemov

MIMD – šibko sklopljeni rač. Sistem (Loosely Coupled)

Page 63: Osnove arhitekture računalniških sistemov

Šibko sklopljeni – Grozdi (Clusters) Kolekcija neodvisnih

enoprocesorskih sistemov ali SMP-jev

Združeni so v grozd Komunicirajo prek skupne

komunikacijske povezave (npr. Crossbar) ali računalniške mreže

Page 64: Osnove arhitekture računalniških sistemov

Delitev računalniških sistemov

Page 65: Osnove arhitekture računalniških sistemov

Kaj lahko merimo v rač. sistemih? Čas izvajanja programa (execution time) Zakasnilni čas (latency time) -

komunikacije Čas odziva (response time) Propustnost (število obdelanih poslov na

sekundo – troughtput) Pasovna širina (število dostavljenih

podatkov na sekundo bandwith) – pomnilnik, V/I enote, komunikacije

Page 66: Osnove arhitekture računalniških sistemov

Zmogljivostzmogljivost = 1/čas izvajanja

čas izvajanjaY/čas izvajanjaX =1 + n/100

= zmogljivostx/zmogljivostY

n = 100 *((zmogljivostx – zmogljivostY)/zmogljivostY)

n = ((čas izvajanjaY/čas izvajanjax)- 1) 100

Page 67: Osnove arhitekture računalniških sistemov

Pospešek - speedup

Pr - zmogljivost z uporabo razširitev

Pc – zmogljivost brez uporabe razširitev

Sr – Povečanje hitrosti z uporabo razširitev

Sr = Pr/Pc

Page 68: Osnove arhitekture računalniških sistemov

Amhdalov zakon Izboljšanje zmogljivosti, če

uporabljamo izboljšave v računalniku, je omejeno z delom časa, v katerem lahko to izboljšavo izkoristimo.

Page 69: Osnove arhitekture računalniških sistemov

Amhdalov zakon Fr – del časa, ko lahko uporabimo izboljšave Sr – pospešek pri uporabi izboljšave Sc- pospešek sistema Ts – čas izvajanja brez uporabe izboljšave Tn – čas izvajanja z uporabo izboljšave

Tn = Ts (1-Fr+(Fr/Sr))

Sc= Ts/Tn = (1/ (1-Fr+(Fr/Sr))

Page 70: Osnove arhitekture računalniških sistemov

Enote 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)

Page 71: Osnove arhitekture računalniških sistemov

Zmogljivostni testi Drystone Whetstone Linpack Livermore Loops Specmark (12 programov) Transaction Processing Test Debit/credit test Perfect Club Suite Več na http://www.netlib.org/