osnove arhitekture računalniških sistemov

Post on 23-Jan-2016

119 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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 Osnove zbirnega jezika Horizontalna organizacija Vertikalna organizacija

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

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

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.

Pomembno !!! Obveznosti študentov

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

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

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

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)

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

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

Funkcije Poznamo naslednje funkcije

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

Pogled na funkcije računalniškega sistema

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

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

Prenos podatkov

Nadzornimehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

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

interneta na disk)

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

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

obresti bančnemu računu)

Prenos podatkov

Nadzorni mehanizem

Shranje-vanje podatkov

Proces-iranjepodatkov

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

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

Struktura računalniškega sistema – centralna procesna enota

Računalnik AritmetičnoLogičnaEnota

KontrolnaEnota

Povezave ZnotrajCPE

Registri

CPE

V/I

Pomnilnik

Sistemskovodilo

CPE

Struktura računalniškega sistema – Kontrolna enota

CPE

Nadzorni Pomnilnik

Registri, Multiplekserji inDekoderji

Sekvenčna logika

KontrolnalEnota

ALE

Registri

NotranjeVodilo

Kontrolna enota

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

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

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

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

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

Struktura Von Neumannovega računalnika

Glavnipomnilnik

Aritmetična in logična enota

Kontrolna enota

Vhodno – izhodna enota

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

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

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

IBM 1953 - model 701

Prvi IBM-ov računalnik s shranjenim programom

Namenjen znanstvenim izračunom 1955 - model 702

Namenjen poslovnim aplikacijam

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

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

Proizvedli so PDP-1

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

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

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

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)

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

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

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

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

Rast števila tranzistorjev na čip

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.

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

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

$100k+ za IBM 360 Uporaba vodil

DEC - PDP-8 vodilna struktura

OMNIBUS

ConsoleController

CPU Glavni pomnilnik

V/IModul

V/IModul

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

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

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

Lastnosti DRAM pomnilnikov in procesorjev skozi čas

Trendi pri uporabi DRAM pomnilnikov

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

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

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

pomnilniku

SISD

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

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

SIMD

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

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

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)

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

na del pomnilnika do katerega dostopa procesor

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

Š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

Delitev 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

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

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

Amhdalov zakon Izboljšanje zmogljivosti, če

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

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

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)

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/

top related