Osnove arhitekture ra unalni kih sistemov
This presentation is the property of its rightful owner.
Sponsored Links
1 / 71

Osnove arhitekture računalniških sistemov PowerPoint PPT Presentation


  • 149 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Osnove arhitekture računalniških sistemov

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

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 arhitekturo definiramo lastnosti računalniškega sistema, kot jih vidi programer če programira na njegovem strojnemnivoju:

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

  • Z organizacijo 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

  • Vsitipi 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


Shranje-

vanje

podatkov

Prenos

podatkov

Nadzorni

mehanizem

Proces-

iranje

podatkov

Pogled na funkcije računalniškega sistema


Shranje-

vanje

podatkov

Prenos podatkov

Nadzorni

mehanizem

Proces-

iranje

podatkov

Operacije (1)

  • Prenos podatkov (npr. tipkovnica ali zaslon)


Shranje-

vanje

podatkov

Prenos podatkov

Nadzorni

mehanizem

Proces-

iranje

podatkov

Operacije (2)

  • Shranjevanje podatkov (npr. prenos podatkov iz interneta na disk)


Shranje-

vanje

podatkov

Prenos podatkov

Nadzorni

mehanizem

Proces-

iranje

podatkov

Operacije (3)

  • Procesiranje podatkov iz pomnilnika (npr. pripis obresti bančnemu računu)


Shranje-

vanje

podatkov

Prenos

podatkov

Nadzorni

mehanizem

Proces-

iranje

podatkov

Operacije (4)

  • Procesiranje iz pomnilnika v vhodno-izhodne enote (npr. tiskanje podatkov o transakcijah na bančnem računu)


Strukturaračunalniškega sistema – najvišji nivo abstrakcije

Vhodno-izhodne enote

Računalnik

Centralna

procesna

enota

Glavni

pomnilnik

Računalnik

Sistemske

komunikacijske

povezave

Vhod/

izhod

Zunanje komunikacije


Struktura računalniškega sistema – centralna procesna enota

CPE

Aritmetično

Logična

Enota

Računalnik

Registri

V/I

Sistemsko

vodilo

CPE

Povezave

Znotraj

CPE

Pomnilnik

Kontrolna

Enota


Struktura računalniškega sistema – Kontrolna enota

Kontrolna enota

CPE

Sekvenčna

logika

ALE

Kontrolnal

Enota

Notranje

Vodilo

Registri,

Multiplekserji in

Dekoderji

Registri

Nadzorni

Pomnilnik


Tiskalnik

in

luknjalnik

kartic

Podatki

Mlin

Pomnilnik

Podatki

Ukazi

Podatki

Ukazne

kartice

Podatkovne

kartice

Zgodovina računskih strojev

  • Abakus

  • Antiktere (stara Grčija)

  • Obdobje mehanike (uporaba zobnikov)

    • Leibnitz

    • Babbage

      • Analitični stroj


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

  • 18000 elektronk

  • 30 ton

  • 140 kW porabe električne energije

  • 5000 seštevanj na sekundo

Programska

enota

Ukazi

Centralna

procesna

enota

Pomnilnik

Podatki

Podatki

Stikala

Čitalec

kartic

Tiskalnik

Luknjalnik

kartic


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

Aritmetična in

logična enota

Vhodno –

izhodna enota

Glavni

pomnilnik

Kontrolna 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

Centralna procesna enota

Aritmetična in logična enota

Akomulator

MQ

Vezja ALE

MBR

Vhodno

Izhodna

enota

Ukazi

inpodatki

Glavni

pomnilnik

PC

IBR

MAR

IR

Vezja KE

Naslov

Krmilna 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

    • 100000 – 100000000 tranzistorjev na ćip

  • Ultra large scale integration (ULSI)

    • Več kot 100000000 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 zgornjeganiž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

V/I

Modul

Glavni

pomnilnik

V/I

Modul

Console

Controller

CPU

OMNIBUS


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

  • Vektorskiinpoljski (array) procesorji

procesorji

p5

p1

p2

p3

p4

p6

čas

i1

i1

i1

i1

i1

i1

i2

i2

i2

i2

i2

i2

i3

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


Zmogljivost

zmogljivost = 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/


  • Login