bevezetés, történet, fogalmak, adatábrázolás, globális...

45
bevezetés, történet, fogalmak, adatábrázolás, globális bemutatás, Neumann architektúra CPU, vezérlő egység, aritmetikai logikai egység, utasítás : készlet, típusok, felépítése, végrehajtás MEMÓRIA hierarchia, cache, virtuális tárkezelés I/O rendszerek, megszakítás rendszer, DMA, csatorna, perifériák többprocesszoros, párhuzamos gépek, hálózatok, operációs rendszerek, egyebek... hardver, rendszer szoftver, alkalmazói szoftver 3 C nyelvű program ból,gépi kód m agas szintű program ozási nyelv (C ) swap(intv[],intk) {inttemp; tem p = v[k]; v[k]= v[k+1]; v[k+1]= tem p; } C fordító assem blernyelvű program sw ap: muli $2,$5,4 add $2,$4,$2 lw $15,0($2) lw $16,4($2) sw $16,0($2) sw $15,0($2) jr $31 bináris,gépikódú program assem bler 00000010110110010001110100011010 11101110010100101000101110000010 11111001000000010100001010000001 11111001000000011000001100000001 00011001000000011000001010000001 00011001000000010100001100000001 00101011100000000000000001111111 4 Logikai fizikai szintek elektronok, félvezető rétegek tranzisztorok, félvezetők logikaikapuk 0 -1 logikaiszintek „0 -5 Volt” m em ória,CPU, IO egységek, stb. CPU MEM „A szám ítógép” ALU CU REG logikaiáramkörök részegységek Számológép : Főleg számtani műveletek végzésére alkalmas, gyakori, közvetlen emberi beavatkozást igénylő eszköz Számítógép : Belső programvezérlésű digitális elektronikus gép, műveletek sorozatát képes adatokkal végezni emberi beavatkozás nélkül Korai számoló gépek és felfedezők (1) Eszközhasználat (~-300.000év) Számfogalom (~-30.000év), számrendszerek, kéz Abakusz, ~5000 éves, összeadás-kivonás, golyók tologatása rudakon, Papír és toll (csillagászat, navigáció, táblázatok, trigonometrikus fv.) Fizikai munka -> szellemi munka „gépesítése” Nagyon erős technológiai korlátok (mechanika) Számológépek készítése (1600- Ipari Forradalom) 1623 Wilheim Schickard, 4 alapművelet (terve) 1642 Blaise Pascal, tízes számrendszer, 8 jegyű, összeadó-kivonó, fogaskerék 1694 Gottfried Wilhem von Leibniz, pascal gépe + szorzás váltó tárcsák Automata, programvezérelt számítógép (gondolata) Charles Xavier Thomas de Colmar, 4 alapművelet 1769 Kempelen Farkas, billentyűvezérlésű hangszintetizátor 1820 Joseph-Marie Jacquard, lyukkártya vezérlésű szövőgép program - minta tárolás - vezérlés Babbage gépei (1) Charles Babbage : "I wish to God these calculations had been performed by steam!" 1812 gépek és matematika közötti összhang

Upload: others

Post on 28-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

bevezetés, történet, fogalmak, adatábrázolás, globális bemutatás, Neumann architektúraCPU, vezérlő egység, aritmetikai logikai egység, utasítás : készlet, típusok, felépítése, végrehajtásMEMÓRIA hierarchia, cache, virtuális tárkezelésI/O rendszerek, megszakítás rendszer, DMA, csatorna, perifériáktöbbprocesszoros, párhuzamos gépek, hálózatok, operációs rendszerek, egyebek...hardver, rendszer szoftver, alkalmazói szoftver

3

C nyelvű programból, gépi kódmagas szintű programozási

nyelv (C)

swap (int v[], int k){ int temp;

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

}C fordító

assembler nyelvű program

swap:muli $2, $5,4add $2, $4,$2lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 0($2)jr $31

bináris, gépi kódú program

assembler

00000010110110010001110100011010111011100101001010001011100000101111100100000001010000101000000111111001000000011000001100000001000110010000000110000010100000010001100100000001010000110000000100101011100000000000000001111111 4

Logikai fizikai szintek

elektronok, félvezető rétegek

tranzisztorok,félvezetők

logikai kapuk

0 - 1 logikai szintek

„0 - 5 Volt”

memória, CPU, IO egységek, stb.

CPU MEM„A számítógép”

ALU

CUREG logikai áramkörök

részegységek

Számológép :Főleg számtani műveletek végzésére alkalmas, gyakori, közvetlen emberi beavatkozást igénylő eszközSzámítógép :Belső programvezérlésű digitáliselektronikus gép,műveletek sorozatát képes adatokkal végezniemberi beavatkozás nélkül

Korai számoló gépek és felfedezők (1)• Eszközhasználat (~-300.000év)• Számfogalom (~-30.000év), számrendszerek, kéz• Abakusz, ~5000 éves, összeadás-kivonás, golyók tologatása rudakon,• Papír és toll (csillagászat, navigáció, táblázatok, trigonometrikus fv.)• Fizikai munka -> szellemi munka „gépesítése”• Nagyon erős technológiai korlátok (mechanika)

Számológépek készítése(1600- Ipari Forradalom)

• 1623 Wilheim Schickard, 4 alapművelet (terve)• 1642 Blaise Pascal,

tízes számrendszer, 8 jegyű, összeadó-kivonó, fogaskerék• 1694 Gottfried Wilhem von Leibniz, pascal gépe + szorzás váltó tárcsák

Automata, programvezérelt számítógép (gondolata)• Charles Xavier Thomas de Colmar, 4 alapművelet• 1769 Kempelen Farkas, billentyűvezérlésű hangszintetizátor• 1820 Joseph-Marie Jacquard, lyukkártya vezérlésű szövőgép program - minta tárolás - vezérlés

Babbage gépei (1)• Charles Babbage : "I wish to God these calculations had been performed by steam!"

1812 gépek és matematika közötti összhang• 1822 „Difference Engine”, gőz, tárolt program

(univerzális, külső programvezérlésű elektromechanikus számítógép terve)polinom helyettesítési értéket számol sorozatban ( ) 20 jegy, 6-od rendű

Babbage gépei (2)„Analytical Engine” általános célú számítógép:

• „malom” (processzor)• „tár” (memória)• utasítások lyukkártyán, algoritmus (vége, goto...)

Augusta Ada, Countesse of Lovelance (ADA nyelv) programozzaSzámoló gépek alkalmazásának a kezdete

• 1847-1854 George Boole, Boole algebra matematikai egyenletek : igaz/hamis • 1889 Herman Hollerith lyukkártya (1lyuk - 1szám, 2lyuk -1betű)

USA népszámlálás összesítés (10év -> 6hét) 1924 International Buisness Machines (IBM) alapítója• Kereskedelmi számológépek

Page 2: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

32

3. Generáció

Tár modul

Átviteli sínrendszer (busz)

Aritmetikai, logikaiprocesszor

I/Oprocesszor

Tár modul Tár modul

I/Oprocesszor

adatátvitel

1. Generáció1945-1956 (1)

• 1941 Konrad Zuse, Z3, elekromágneses relék, repülő és rakéta tervezés• 1943 Alain Turing, Colossus, német rejtjel visszafejtés (célgép)• 1944 Howard H. Aiken, Mark I., lövedékpálya táblázatok,

fél focipálya méret, 800km vezeték, relé, 3-5 sec/számolás, alapműveletek, komplex egyenletek1945-1956 (2) (ENIAC)1946, ENIAC John Presper Eckert, John W. Mauchly, első elektronikus digitális számítógép18.000 vákuumcső, 70.000 ellenállás, 5 millió forrasztás, 160 kW fogyasztás5000 + /sec , 400 * /sec, 10 jegyű számok, 20 regiszter, 1000* gyorsabb mint Mark I.külső programvezérlés (huzalozás), 30 Tonna , MTBF 40sec

• 1945 EDVAC, Neumann János (John von Neumann 1903-1957) memória tárolja az adatokat és a programotfeltételes vezérlés átadásközponti vezérlő egység

• 1951 UNIVAC I.első kereskedelemben kapható számítógép

• 1964 IBM 360első „igazi” általános célú számítógép

23

1. Generáció blokkvázlata

Aritmetikailogikaiegység

Operatív tár(Memória)

Vezérlő egység

Beviteli egység(Input)

Kiviteli egység(Output)

Processzor

vezérlés

adatátvitelperifériák perifériák28

2. Generációprocesszor

Csatorna

Vezérlő egység

Aritmetikai logikai egység

Operatív tár(memória)

perifériák háttértárak

Csatorna

vezérlés

adatátvitel

1. Generáció összefoglalás• Rendelésre készült műveletek, az elvégzendő feladathoz : tudományos műszaki számítások• Binárisan kódolt gépi nyelvű program (minden gépnek különböző), programozás gépi kódban• Processzorcentrikus, soros feldolgozás• Vákuumcsövek (nagy méret), adattárolók : mágnesdobok elektroncsöves, 10e3..10e4 művelet/sec• 10..100kW teljesítményfelvétel, kis megbízhatóság, magas ár, néhány darab

2. Generáció: 1956-1963• 1948 Tranzisztor felfedezése, félvezetős áramkörök (tranzisztor, dióda), 10e4..10e5 művelet/sec• Megbízhatóbb, kisebb méret, teljesítmény felvétel csökken, Teljesítmény/ár arány megnő• Önálló (a központi feldolgozó egységtől függetlenül) párhuzamosan működő csatornák (I/O)• Memória centrikus, Perifériák, háttértárak, Ferritgyűrűs memória (megbízhatóbb, olcsóbb, gyorsabb,

nagyobb kapacitás), Gépcsaládok• Assembly nyelv (rövidített kódok), COBOL, FORTRAN, ALGOL, software ipar...• Kötegelt (batch) feldolgozás, gazdasági adatfeldolgozás, ipari folyamatirányítás

3. Generáció: 1964-1971• 1958 Jack Kilby (Texas Instruments), Integrált áramkör

(IC), 3 elektronikus elem 1 szilícium lapkán• Integrált áramkörök (10..1000 egy tokban), 10e5..10e6

művelet /sec• Modularitás, bővíthetőség, Párhuzamos működés, több

processzor, I/O processzorok, Olcsó nagy tárak• Operációs rendszerek, szoftverek• Multiprogramozott üzemmód• Időosztásos rendszerek (Time sharing), távoli terminálok• IBM 360 / 370, PDP 11 (DEC másolat)

Page 3: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

4. Generáció: 1971-napjainkig (1)• Egyre több elem egy tokban (chipben) LSI, VLSI, ULSI (1e6 )• Csökkenő méret, csökkenő ár, növekvő teljesítmény, megbízhatóság• 1971 Intel 4004 : központi feldolgozó egység, memória, I/O vezérlés 1 chipben• Egy mikroprocesszor - több feladatra programozva , mikroszámítógépek• 1976 Cray 198 MFLOPS• Mini-számítógépek (Commodore, Apple, Atari)• 1981 IBM PC „személyi számítógép”• 1981: 2Millió, 1982: 5.5Millió, 1990: 65millió• Desktop, laptop, palmtop• 1984 Macintosh Apple, grafikus operációs rendszer• Hálózatok, LAN, internet

• Technológia : eletroncső, tranzisztor, integrált áramkör, LSI, VLSI• Operatív tár : művonal, ferritgyűrű, félvezető• Struktúra : processzorcentrikus, tárcentrikus, moduláris• Méret csökken („teremnyi” -> „körömnyi”), darabszám nő (1-2db. -> 10e6 db/típus.)• Alkalmazás : tudományos-műszaki számítások, gazdasági adatfeldolgozás, ipari folyamatirányítás,

általános• Programozás : gépi, assembler nyelv, magas szintű nyelvek, operációs rendszerek• Árarány : hardver / szoftver csökken

2. előadás tartalma• Informatikai fogalmak...• Turing gép• „Egyszerű gép”• Adat-tárolási formák, adatreprezentáció

– Bináris adat-tárolás– számok / betűk / egyebek– pozitív / negatív– egész / tört , fixpontos / lebegőpontos

• Informatika : „az a tudományág, amely az információk keletkezésével, továbbításával, feldolgozásával, hasznosításával foglalkozik a legszélesebb értelemben”(nem szűken számítógépes feldolgozás)

5

Hírközlési modell

forrás adó vevő címzetthír

kódol dekódolcsatorna

•kódolás•zajos csatorna•hibajavítás

6

Hír, adat, jel

hír adat

jel

feldolgozás céljából

továbbításcéljából

fizikaiábrázolása

fizikaiábrázolása

8

Közlemény, adat, információ

közlemény

adat információ

hasznos új ismeretforma tartalom

jelentéstől megfosztva

értelmezett ismeret

jelsorozat

9

Jelkészlet, kódrendszer, kódolás

kódrendszerjelkészlet

szabály-rendszer

kódrendszerjeljeljel

kódolás

közlemény

jel

SOS

Page 4: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Adat, információ, jel • Adat (data) = információ ami olyan formában van átalakítva hogy könnyebb legyen mozgatni vagy

feldolgozni.A mai számítógépekben: adat = információ bitek formájában

• Információ (information) = inger, ami a befogadójának értelemmel bír egy kontextusban.Információt át lehet alakítani adattá és átadni egy másik befogadónak.A mai számítógépekben: az információt adattá alakítják, az bekerül a számítógépbe, ahol tárolják és feldolgozzák, majd adatként kikerül és információként értelmezik.

• Jel (signal) = “amit küldünk vagy fogadunk”

10

Jel, karakterjel

a jel azon jellemzői amelyeknek az értékváltozása a hírt vagy az adatokat ábrázolja

analóg digitális

folytonosfüggvény

karakter

A/D átalakítás

D/A átalakítás

megállapodás szerintivéges halmaz (ABC)

jelparaméter

karakterkészlet

Algoritmus, program, utasítás• Feladat megoldása = műveletek, átalakítások sorozata• Algoritmus = egy feladatnak a megoldáshoz vezető lépéssorozata• Algoritmus elemi lépései = utasítások a feladatot megoldó számára• Program = utasítások sorozata• Meghatározott (megengedett) utasítások

Hardver - Szoftver• Hardver (hardware) : számítógép elektronikus áramkörei, mechanikus berendezései, kábelek,

csatlakozók, perifériák (önmagában nem működőképes) • Szoftver (software) : számítógépet működőképessé tevő programok és dokumentációi • Firmware : számítógép általános vezérlése (csak olvasható programok : ROM)

13

Turing gép

) w 8 X A w O . a... ... végtelen szalag„rekeszek”

T szimbólumirás / olvasás

véges állapotú gép

szimbólum

működés : az olvasott jel és az állapot alapján• egy más szimbólumot tud visszaírni• állapotot vált• balra vagy jobbra mozdul a szalagon

1928 David Hilbert : létezik-e olyan gép vagy eljárás,amivel minden matematikai kérdés eldönthető ?

1936 Alan Turing :

balra / jobbra mozdulás

14

Példa Turing gép működésére”Ha „n” állapotban van,ha a fej „x” jelet olvas,írd az „y” jelet,lépj balra vagy jobbra egyet,legyen az új állapot „m”.

áll. jel ír lép új áll.1 o o jobb 2 2 o o jobb 32 x x jobb 23 o üres bal 53 x o bal 44 o x jobb 2

szalag áll. megjegyzés oxxoxxxo 1 írj o-t, 2-es állapotoxxoxxxo 2 végig az első szám x-eseinoxxoxxxo 2 végig az első szám x-eseinoxxoxxxo 2 első szám vége, 3-as állapotoxxoxxxo 3 x-est o-ra átír, visszalépoxxxoxxo 4 o-át x-re átír...oxxxoxxo 2 első szám vége, 3-as állapotoxxxoxxo 3 x-est o-ra átír, visszalépoxxxooxo 4 o-át x-re átíroxxxxoxo 2 első szám vége, 3-as állapotoxxxxoxo 3 x-est o-ra átír, visszalépoxxxxoxo 4 o-át x-re átíroxxxxxoo 3 második szám vége, o-t töröloxxxxxo 5 nincs ilyen állapot, vége

feladat : oxxoxxxo -> oxxxxxo

Egy egyszerű gép

17

2 tárolós egyszerű logikai gép vázlata (műveleti egység)

műveletiegység

műveletválasztás

1. adat

2. adat

eredmény

18

2 tárolós egyszerű logikai gép vázlata (program tároló)

op

programtároló

műveletiegység

műveletválasztás

1. adat

2. adat

eredmény

Page 5: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

19

2 tárolós egyszerű logikai gép vázlata (adat tároló)

op x y

programtároló

adattároló

műveletiegység

műveletválasztás

1. adat címe

2. adat címe

1. adat

2. adat

eredmény

20

2 tárolós egyszerű logikai gép vázlata (következő utasítás címe)

op x y a

programtároló

adattároló

műveletiegység

műveletválasztás

következőutasításcíme

1. adat címe

2. adat címe

1. adat

2. adat

eredmény

21

2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)

op x y a

programtároló

adattároló

műveletiegység

műveletválasztás

következőutasításcíme

1. adat címe

2. adat címe

1. adat

2. adat

eredmény

24

Egyszerű gép vázlata

op x y a

memória(program+adat)

műveletiegység

művelet választás

következőutasításcíme

1. adatcíme 2. adat címe

1. adat

2. adat

eredmény

Neumann elvű számítógép I.• bináris (digitális)• elektronikus• belső programvezérlés• memória tárolja a programot és az adatokat• soros feldolgozás• A (központi egység) részei:

• a vezérlõ egység (control unit),• az aritmetikai és logikai egység (ALU), • a tár (memory) és• a ki/bemeneti egységek.• Mindezek teljesen elektronikusak legyenek és bináris számrendszert használjanak. Az ALU

képes legyen elvégezni az alapvetõ logikai és aritmetikai mûveleteket (néhány elemi matematikai és logikai mûvelet segítségével elvileg bármely számítási feladat elvégezhetõ).

• Tárolt program elvû (a program és az adatok ugyanabban a belsõ tárban tárolódnak). • A vezérlõ egység határozza meg a mûködést a tárból kiolvasott utasítások alapján, emberi beavatkozás

nélkül.Szám - számrendszer

• “radix-weighted positional number system”(számrendszer alapján súlyozott helyiértékes számrendszer)

• számjegy (pld. 0,1,2,3,4,5,6,7,8,9)• számrendszer alapja (pld. 10)

szokványos 10-es számrendszer (0,1,2,3,4,5,6,7,8,9)564,2 = 5*10^2 + 6*10^1 + 4*10^0 + 2*10^-1

28

Számok szokásos írásmódja fixpontos írásmód

írásmód: A=(an an-1...a2a1a0,a-1...a m-1am)

ahol :an,...,a1,0,a-1,...,am

az egyes helyiértékekenszereplő számjegyekalaki értékei

jelentése r (radix) alapú számrendszerben :

és ahol rai i 0:in

miiraA

29

Lebegőpontos írásmód

a : mantissza (fixpontos szám)

p : karakterisztika, a hatványkitevő (fixpontos egész szám)

r : radix, a számrendszer alapszáma

lebegőpontos szám :

110*62,54

pra

Page 6: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

30

Normalizálás

normalizálás (nullára) : 11a

r

normalizálás (egyesekre) : ra1

23 10*642,510*5642,02,564

Adatábrázolás kritériumai• Hatékony tárolás• Egyértelműség (könnyen értelmezhető)• Egyszerű, gyors műveletvégzés

Bináris adatfeldolgozás• számítógép : információ feldolgozó eszköz• információ : numerikus / nem-numerikus• bináris számábrázolás...• minden 0-k és 1-ek sorozatával van ábrázolva

Miért bináris? Miért a kettes számrendszert használjuk ?• Technikai okok :legjobban megkülönböztethető állapotok • Elvi, matematikai okok : „tömörség” (hány darab számjegy, hány féle számjegy)

36

Pozitív számok tárolása(Fixpontos tárolás)

egészek :

törtek :

8 7 6 5 4 3 2 10 0 1 0 1 1 0 0 .

8 7 6 5 4 3 2 11 0 1 1 0 0 0 0.

a tárolt számérték : 44

a tárolt számérték : 11/16= 0.6875

kettedespont

nA 20

12 An

n : a tárolócellák(bitek) száma

37

Pozitív számok tárolása, példák

egész, 2-es számrendszer :

tört :

7 6 5 4 3 2 1 00 0 1 0 1 1 0 0

-1 -2 -3 -4 -5 -6 -7 -81 0 1 1 0 0 0 0.

a tárolt számérték : 44

a tárolt számérték : 0.6875

02*0

02*0

322*1

02*0

82*1

42*1

02*0

02*0

7

6

5

4

3

2

1

0

0625,02*1

125,02*1

5,02*1

4

3

1

.

Page 7: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

38

Előjel és abszolút értékes ábrázolás :első bit 0 : pozitív , első bit 1 : negatív, utána az abszolút értek (n-1 biten)

Pozitív és negatív egész számok ábrázolása

101100=44

előjelbit+44

-44

példa :

| 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |

| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |

39

1-es komplemens :

Pozitív és negatív egész számok ábrázolása

101100=44példa :

... képzés

különben

ha A0

+44 00101100

-44k1 11010011

AAk1=

2n-1-|A|

40

2-es komplemens :

Pozitív és negatív egész számok ábrázolása

példa :

képzés ha Ak2<0 : Ak2 = Ak1 + 1ha A0 : Ak2 = Ak1 = A

ha A0

különben

+44 00101100-44k1 11010011-44k1+1 11010100

AAk2=

2n-|A|

41

többletes : At = A + tahol „t” a többlet

Pozitív és negatív egész számok ábrázolása

+44 „128+44” 172 10101100

- 44 „128 - 44” 84 01010100

példa 128 többletesre :

42

Pozitív és negatív egész számok tárolása, példák

számérték bitsorozat ábrázolás

+107 01101011 „sima”

-107 11101011 előjel, abszolútérték

-107 10010100 egyes komplemens

-107 10010101 kettes komplemens

-107 00010101 128 többletes

43

Számok lebegőpontos tárolásaANSI/IEEE 754

s : mantissza előjele (0 ha pozitív)b : mantissza törtrésze (egyesekre normalizált)p : karakterisztika értékee : eltolás (többlet)

előjel karakterisztika mantissza

S | (p+e) | b

A = a*2q = (-1)s * (1.b)*2p

44

Számok lebegőpontos tárolásaANSI/IEEE 754, példa

-13,375 : 13 + 0,375 : 1101,0112

negatív szám = előjel : 1egyesre normalizálva: 1,1010112*23

mantissza (szignifikandus): 101011000... 127 többletes karakterisztika = 130 : 100000102

előjel karakterisztika mantissza

1 1000001|0 1010110|00000000|0000000046

Számok lebegőpontos tárolásaANSI/IEEE 754, jellemzők

adatformátumok karakterisztika szignifikandus

normalizáltadatformátum

tetszőleges tetszőleges

denormalizáltadatformátum

0 <>0

nulla számérték 0 0végtelen értékénekadatformátuma

111... 0

nem meghatározottszámérték (NaNNot a Number)

111... <>0

47

BCD(Binary Coded Decimal)

példa:

1 9 7 3

0001 1001 0111 0011

1.byte 2.byte48

Gray kód

tulajdonsága: mindig csak 1 bit változik

Decimális Bináris Gray0 0000 00001 0001 00012 0010 00113 0011 00104 0100 01105 0101 01116 0110 01017 0111 0100… … …

Page 8: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

49

Hexadecimális számábrázolás0000 00001 1........ ..1000 81001 91010 A1011 B1100 C1101 D1110 E1111 F

hexadecimális kódok

példa :107 = 0110 10112 = 6B16

6 B50

Alfanumerikus karakterábrázolás

• EBCDIC (Extended Binary Coded Decimalcode for Informations Change) zónarész + számjegyrész

• ASCII (American Standard Code forInformation Interchange)ISO 7 bites

betűk, számok, írásjelek, vezérlő karakterekpéldául : 32=„ ” (szóköz), 48=„0”, 65=„A”

Egyéb (öndefiniáló) adattárolási módok• jelölt adatábrázolás (tagged storage) : + adat típus, felhasználás módja• deszkriptoros tárolási forma (data descriptor) : + hozzáférési jogok, cél)• összetett strukturális forma

53

1/16 és 1/10 a kettes számrendszerben

0,0001 (1/16)0,0001 (1/16)0,0010 (1/8)0,0010 (1/8)0,0100 (1/4)0,0100 (1/4)0,1000 (1/2)0,1000 (1/2)1,0000 (1)

1/1610= ?2

= 0,00012

1/1010= ?2

= 0,000110011001100110...2végtelen szakaszos kettedes tört... 54

0,1+0,1+0,1+ 0,1+0,1+0,1+ 0,1+0,1+0,1+0,1

= ?0,0001100110011... (0,110)0,0001100110011... (0,110)0,0011001100110... (0,210)0,0011001100110... (0,210)0,0110011001100... (0,410)0,0110011001100... (0,410)0,1100110011000... (0,810)0,001100110011... (0,210)0,111111111111... (110)

3. előadás tartalma• utasítás típusok, utasítás készlet• a központi feldolgozó egység működése• utasítás ciklus• utasítás szerkezet• címzési módok• adat-töltő, adat átvitel a számítógép funkcionális részei között• aritmetikai, logikai műveletek végzése adatokkal • program vezérlő, vezérlésátadás a program egyik részéről egy másik részére• speciális, rendszer vezérlő, hatékony működést segítő• I/O, adat átvitel a számítógép és a környezete között

Regiszter -> RegiszterRegiszter -> MemóriaMemória -> RegiszterMemória -> Memóriaaritmetikai műveletek: + - * / (különféle adattípusokon)logikai függvények: AND, OR, NOT, XORösszehasonlítások, vizsgálatokléptetések

feltétlen elágazás (ugró)feltételes elágazásszubrutin hívásHALT, WAIT megszakítás kezeléskölcsönös kizárás megvalósítása (Test And Set)adatátvitel a periféria és a gép közöttperiféria vezérlése

A központi feldolgozó egység• feladata, kapcsolata a többi egységgel• részei, felépítése• működése• megvalósítása

Page 9: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

18

Utasítás végrehajtás funkcionális vázlata

utas

ítás

szám

láló

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

13

memória(MEM)

központi feldolgozó egység(CPU)

ALUCU

adatsín

címsín

vezérlősín

regiszterek

14

A központi feldolgozó egység részei

A központi feldolgozó egység(Central Processing Unit - CPU) részei :

• műveleti egység (aritmetikai logikai egység)(Arithmetic Logical Unit - ALU)

• vezérlő egység (Control Unit - CU)• regiszterek (registers)• sínek (bus)

17

memória(MEM)

központi feldolgozó egység

ALU

CU

adatsín

címsín

vezérlősín

utasítás tárolóregiszter

adatregiszterek

utasítás számlálóregiszter

16

Utasítás ciklus

Fetch („elérés”) :• Utasítás kód beolvasása• Utasítás kód értelmezése (dekódolás)• Operandusok beolvasásaExecute („végrehajtás”) :• Műveletvégzés (ALU)• Eredmény tárolása• Következő utasítás címének kiszámítása

Utasítás végrehajtás lépései 1.• meghatározni a következő utasítás címét és a tár

címregiszterébe tölteni • az utasítást a tárból az utasításregiszterbe tölteni

Utasítás végrehajtás lépései 2.• meghatározni (címképzés) a tár címregiszterébe tölteni

az 1. adat címét• adat a tárból az egyik adatregiszterbe

Utasítás végrehajtás lépései 3.• meghatározni (címképzés) a tár címregiszterébe tölteni a

2. adat címét• adat a tárból egy másik adatregiszterbe

Utasítás végrehajtás lépései 4.• utasítani az aritmetikai logikai egységet a művelet elvégzésére• eredmény tárolása egy adatregiszterben

Utasítás végrehajtás lépései 5.• meghatározni (címképzés) a tár címregiszterébe tölteni az eredmény címét• az eredmény az adatregiszterből a tárba

Utasítás végrehajtás lépéseinek összefoglalása• következő utasítás címe, elérése, előkészítése• 1. adat címe, elérése, előkészítése• 2. adat címe, elérése, előkészítése• művelet elvégzése• eredmény címe, eltárolása

Utasítás végrehajtáshoz szükséges „információk”• vezérlőegységnek információ <- utasítás

– elvégzendő művelet– 1. adat címe (helye)– 2. adat címe (helye)– erdmény címe (helye)– következő utasítás címe

• nem lehetne máshogy ?!

Page 10: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

28

Utasítás végrehajtás 5.

utas

ítás

szám

láló

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

20

Utasítás végrehajtás 1.ut

asítá

ssz

ámlá

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

22

Utasítás végrehajtás lépései 2.

utas

ítás

szám

láló

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

24

Utasítás végrehajtás lépései 3.

utas

ítás

szám

láló

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

26

Utasítás végrehajtás 4.

utas

ítás

szám

láló

utas

ítás

regi

szte

r

ütem

ező

vezérlőjelek

adat

regi

szte

rek

tár puffer-regiszter

tár cím-regiszter

utas

ítás

deko

doló

aritmetikai logikai egység

cím

sín

adat

sín

operatív tár

cím

képz

és

Utasítások tárolási formáiutasítás szerkezetcímzési módokutasítás típusok, utasítás készletEgy utasítás felépítése, részei

34

4 címes utasítás forma

műveletikód

1. adatcíme

2. adatcíme

eredménycíme

következő utasításcíme

35

3 címes utasítás forma

műveletikód

1. adatcíme

2. adatcíme

eredménycíme

program számláló

utasítás számláló regiszter , Program Counter (PC)PC := PC + utasítás hossz

következő utasításcíme

36

2 címes utasítás forma

műveletikód

1. adatcíme

2. adatcíme

eredménycíme

az eredmény a 2. adat címére kerül

37

1 címes utasítás forma

műveletikód

1. adatcíme

2. adatcíme

eredménycíme

akkumulátorregiszter

a 2. adat címe helyett akkumulátor regiszter,az eredmény az akkumulátor regiszterbe kerül 38

0 címes utasítás forma

műveletikód

1. adatcíme

eredménycíme

akkumulátorregiszter

a művelet az akkumulátor regiszteren hajtódik végre40

jelölések

• S : tárcím• R : regisztercím• A : akkumulátor

regiszter• I : közvetlen adat az

utasításban

• MK : műveleti kód• @ : tetszőleges

művelet

• (S) : adat a tárban • (R) : adat a regiszterben• (A) : adat az

akkumulátor regiszterben

• LI(n) : az n. utasítás hossza

• SI(n) : az n. utasítás címe

műveleti kódmódósításra utaló részcímrész

Page 11: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

41

4 címes :MK S1 S2 S3 S4(S1) @ (S2) -> (S3), SI(n+1) = S4

3 címes :MK S1 S2 S3(S1) @ (S2) -> (S3), SI(n+1) = SI(n) + LI(n)

2 címes : MK S1 S2(S1) @ (S2) -> (S2) ”

1 címes :MK S1(S1) @ (A) -> (A) ”

0 címes :MK@ (A) -> (A) ” 42

1 R címes : MK R:@ (R) -> (R)

1 + R címes : MK R S :(R) @ (S) -> (R) vagy (R) @ (S) -> (S)

2 R címes : MK R1 R2 :(R1) @ (R2) -> (R1)

3 R címes : MK R1 R2 R3:(R1) @ (R2) -> (R3)

közvetlen operandusú :MK I S vagy MK II @ (S) -> (S) vagy @ I -> (A)

Címzési módokCímértelmezés, címmegadás

44

Címértelmezés

műv. kód adat

adatműv. kód

műv. kód

műv. kód

0

1

cím

cím

adat

cím

adat

közvetlen (immediat) adatmegadás

rejtett (inheritent), implicit címzés

közvetlen (direkt) címzés

közvetett (indirekt) címzés

regiszter

tár

45

Címmegadás

műv. kód

műv. kód

cím

cím (D)

adat

adat

abszolút címmegadás

rövidített címmegadás

bázis

+D

D = displacement (eltolás)vagy „offset”

Rövidített címmegadásMihez képest számítjuk a címet :

• lapcímes :az adott lap kezdetétől• bázisregiszteres : bázisregiszter értékétől (általában a bázisregiszter tartalma rögzített)• mutatós (pointeres) : a meghatározott regiszter értékétől (a regiszter tartalma a program végrehajtása

során változik, pld. PC) Kombinált címzési módok

• Címmódósítás : indexelés (vektor feldolgozása : első elem megadása, index automatikus növelése)• fix utasításhossz• változó utasításhossz

Az utasítások felépítése, szerkezete fix és változó utasításhosszPélda : 8 bites utasításhossz, 3 bites címhossz

• 3 címes címzés lehetetlen• 2 címes címzés : marad 2 bites műveleti kód : 4 féle utasítás• 1 címes címzés : marad 5 bites műveleti kód : 32 féle utasítás• 0 címes címzés : 8 bites műveleti kód : 256 féle utasítás

műveleti kód 1. cím 2. cím2 bit 3 bit 3 bit00 xxx yyy01 xxx yyy10 xxx yyy11 xxx yyy

Page 12: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

52

Utasítások kódolása („expanding”)

3 db2 címes utasítás

8 db1 címes utasítás

2 bitesműveleti kód

5 bitesműveleti kód

2bit 3bit 3bit00 xxx yyy01 xxx yyy10 xxx yyy11 000 yyy11 001 yyy11 010 yyy11 011 yyy11 100 yyy11 101 yyy11 110 yyy11 111 yyy 53

Eltérő címzésí módú gépek programozása példa (1)

Adott 4 különféle típusú gép :• 0 címes gép (verem), pld.: ADD, PUSH, POP• 1 címes gép, pld.: ADD M = ACC <- (ACC) +

(M)• 2 címes gép, pld.: ADD X,Y = X <- (X) + (Y)• 3 címes gép, pld.: ADD X,Y,Z = Z <- (X) + (Y)műveletek : MOV, ADD, SUB, DIV, MULKiszámolandó :

• Z:= (A+B*C)/(D-E*F)

54

Eltérő címzésí módú gépek programozása példa (2)

Adatok :• M - 20 bites memóriacím• X,Y,Z - 20 bites memória cím, vagy 3

bites regisztercím (R0-R7)• a műveleti kód rész hossza 8 bitKérdés mindegyik géptípusra (programra)

:• az utasítások száma• a program mérete (bit-ben)• a felhasznált regiszterek száma

55

• REG• ALU• FLAG• AC• CU• IR• PC

57

Fizikai struktura

• operatív tár• műveleti (aritmetikai logikai) egység• vezérlőegység• megszakítási rendszer• I/O rendszer

56

Logikai struktura

• adattípusok• programozható regiszterek• utasítás típusok (utasítás lista)• utasítás formák• címzési módok

4. előadás tartalma• ALU áramköri megvalósítása

– logikai áramkörök– összeadó áramkörök

• vezérlő egységek megvalósítása– huzalozott vezérlők– mikroprogramozott vezérlők

• feladata, kapcsolata a többi egységgel• részei, felépítése• működése• megvalósítása (ALU+CU+regiszterek)

Arithmetical Logical Unit - ALU

6

„és”

„vagy”

7

Elemi logikai kapuk

& 1 1

x y x.y0 0 00 1 01 0 01 1 1

x y x+y0 0 00 1 11 0 11 1 1

AND OR NOTx -x0 11 0

xy

xy

xx.y x+y

xy

x.yxy

x+y x

-x

-x

Page 13: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

8

Logikai kapuk

x y x NAND y0 0 10 1 11 0 11 1 0

x y x NOR y0 0 10 1 01 0 01 1 0

NAND

NOR

XOR

xy

xy

xy

x y x XOR y0 0 00 1 11 0 11 1 0

9

Multiplexer (2 bemenetű)

s0 z0 d01 d1 z

d0

d1

s0MUXd0

d1z

s0

10

Multiplexer (4x 2 bemenetű)

x3y3

x2y2

x1y1

x0y0

MUX

MUX

MUX

MUX

z3

z2

z1

z0

s 11

Multiplexer (4 bemenetű)

s1 s0 z0 0 d00 1 d11 0 d21 1 d3

MUXd0d1

zMUX

MUXd2

d3

s0 s1MUX

d0d1d2d3

s0 s1

z

12

4 bites logikai függvények (AND,

XOR) áramkör x3y3

x2y2

x1y1

x0y0

MUX

MUX

MUX

MUX

z3

z2

z1

z0

s 13

Félösszeadó (1bites)xy s

c

x XOR y

x.y

bemenet kimenetx y s c0 0 0 00 1 1 01 0 1 01 1 0 1

s = sum (összeg)c = carry (átvitel) 1/2+

xy

sc

14

Teljes-összeadó (1bites)bemenet kimenetx y cin s cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

cin = carry incout = carry out

1/2+xy s

cout

1/2+cin

1+xy

cin

scout

15

4 bites teljes összeadó („terjedő átvitel”, ripple carry)

1+

y3 x3

s3

1+

y2 x2

s2

1+

y1 x1

s1

1+

y0 x0

s0

c0

c4

c3 c2 c1

4 bites összeadó

y3 x3 y2 x2 y1 x1 y0 x0 cin

cout s3 s2 s1 s0

16

Kivonás kettes komplemenssel

5 0101+2 +0010

7 0111

5 0101-2 +1110

3 0011

2 0010-2 1101 egyes komplemens-2 1110 kettes komplemens

összeadás

kivonás 17

4 bites összeadó/kivonó áramkör

x3x2x1x0y3

y2

y1

y0

MUX

MUX

MUX

MUX

s cout

z3z2z1z0

A

B

C

4 bitesteljes

összeadó

cin

Page 14: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

18

4 bites 4 műveletes ALU

aritmetikaiegység(+/-)

logikaiegység

(AND/XOR)

x

y

s0s1

4x 2 bemenetűmultiplexer

z

44

4

4

4

4

4

Buszok (sínek)• Adatsín • Címsín• Vezérlő sín• külső / belső sínek (a CPU-hoz képest)• busz-szélesség

20

„Kapuzás”, vezérlés

sín

„A”egység

„B”egység

„C”egység

RA

WBWC

21

„sín”

Kétirányú busz

C

x1

y1

x2

y2

xn

yn

„egység”

A vezérlő egység Control Unit - CUA vezérlő egység feladata, működéseAz adott utasítás alapján a szükséges elemi műveleteket kiváltó vezérlőjelek megfelelő sorrendben való előállítása, illetve a szükséges címek képzése.Vezérlő típusok :

• huzalozott vezérlők• mikroprogramozott vezérlők

24

Egy töltő utasítás elemi lépései (példa)LDA X azaz (X) -> AC :

• (PC) -> adatsín, adatsín -> címsín, címsín -> MAR• címdekódolás, mem(MAR) -> MDR• (MDR) -> adatsín, adatsín -> IR• IR(op.kód) -> dekódolás• IR(címrész) -> címsín, címsín -> MAR• címdekódolás, mem(MAR) -> MDR• (MDR) -> adatsín, adatsín -> AC

címsín

adatsín

PCMEM

MDR

MARIRAC „kapuzás”

Huzalozott vezérlő egység megvalósítása

26

Számláló

2 bitesszámlálóCLK

reset q0q1

1 11

1

1 1

1

111

1

1

1

1

1

10

0

0

0

00

0 0

CLK

q0

q1

0 000 00 027

Demultiplexer (1 ből 4)

bemenet kimenete s1 s0 y0 y1 y2 y30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

1 ből 4demultiplexer

y0y1y2y3

s0 s1

e

Page 15: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

28

utasítás végrehajtás - kapuk vezérlése

MEM

ALU

ACC TMP OP

PC

MK

vezérlő

címsín

adatsín

k0

k1 k2

k3k4

k6

k5

k7

k8k9

1. utasítás elérés k4,k0,k1,k22. operandus elérés k3,k0,k1,k73. utasítás végrehajtás k5,k94. következő... ...

utasítástólfüggően

29

Kapuk vezérlése megfelelő sorrendben

...

clk

1. utasítás elérés k4,k0,k1,k22. operandus elérés k3,k0,k1,k73. utasítás végrehajtás k5,k94. következő... ...

a megfelelőutasítás számláló

demultiplexer

k0k1k2k3k4k5...

...

...

...

az utasításlépései

MK

demultiplexer

Mikroprogramozott vezérlő egység megvalósítása

31

Mikroprogramozott vezérlő

MAR

vezérlő jelek

következő mikro utasítás címe

mikroprogram tár

mikro utasítás

műveleti kód

...32

Mikroprogramozott vezérlő programja 1. utasítás elérés k4,k0,k1,k2

2. operandus elérés k3,k0,k1,k73. utasítás végrehajtás k5,k94. következő... ...

...1110100000 110 011101000100 110 100000010001 110 11... ...

vezérlő jelekkövetkező mikro utasítás címe

műveletikód

k0123456789

110 00 110 01110 10110 11

mikroprogram tár

mikro utasítás

memóriacímek

33

Huzalozott és mikroprogramozott vezérlők

összehasonlításaHuzalozott:• gyorsabb• egyszerűbb

Mikroprogramozott:• lassabb (ROM kiolvasás)• emuláció• kompatibilitás• speciális utasítások• pld. : IBM 370,

VAX 11, MC68000

RegiszterekRegiszterek szerinti osztályozás

• Általános regiszter készletű• Akkumulátoros• Verem alapú

Regiszterek• Általános célú regiszterek• Dedikált (speciális célú) regiszterek

– státusz regiszter (Status Register SR / Program Status Word PSW)– utasítás regiszter (Instruction Register IR)– utasítás számláló (Program Counter PC)– verem mutató (Stack Pointer SP)

Page 16: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

5. előadás tartalma• Processzor gyorsítási lehetőségek• Pipeline feldolgozás• Cache gyorsító tár• CISC vs. RISC...• Bitszelet processzorok• Co-processzorok• Pédák processzorokra...

Órajelfrekvencia, idő, távolság• 1 „normál” kapu kapcsolási idő = 10ns• 600 MHz-es órajel => 1/600*10e6 s (két órajel közötti idő) ≈ 1.6ns• „fénysebesség” ≈ 300.000 km/s• (300000*10e3 m/s) * (1/600*10e6s) => ≈ 0.5m (utat tesz meg a fény két órajel között!)

művelet végzés gyorsítása ?utasítás végrehajtás gyorsítása ?párhuzamosítás !Műveletvégzés gyorsításaÖsszeadás átvitel-előrelátás(addition carry-lookahead)

6

Teljes összeadó „késleltetése”(ripple carry)

1+

y3 x3

s3

1+

y2 x2

s2

1+

y1 x1

s1

1+

y0 x0

s0

c0

c4

c3 c2 c1

késleltetés (3dt)

1 dt = 1 kapu kapcsolási idő (kb. 10ns)

7

Gyorsított összeadás

• Ci+1= (Xi AND Yi) OR (Xi AND Ci) OR(Yi AND Ci)

• Ci+1=(Xi * Yi) + (Xi * Ci) + (Yi * Ci)• Ci+1=(Xi * Yi) + ((Xi + Yi ) * Ci)• Gi = generate = Xi *Yi

• Pi = propagate =Xi + Yi• Ci+1=Gi+Pi*Ci

8

4bites átvitel-előrelátás („carry lookahead”)

• C1=G0+P0*C0• C2=G1+P1*C1 =G1+P1*G0+P1*P0*C0

• C3=G2+P2*C2=G2+P2*G1+P2*P1*G0+P2*P1*P0*C0

• C4=G3+P3*C3=G3+P3*G2+P3*P2*G1+P3*P2*P1*G0+P3*P2*P1*P0*C0

Ci+1=Gi+Pi*Ci

C4 független C1..C3-tól, csak X1..4 , Y1..4 és C0-tól függ

C1 behelyettesítve

9

Szorzás ROM-ból kiolvasássalX Y Z

0*0 00 00 00000*1 00 01 00000*2 00 10 00000*3 00 11 00001*1 01 01 00011*2 01 10 00101*3 01 11 00112*0 10 00 00002*1 10 01 00102*2 10 10 01002*3 10 11 01103*0 11 00 00003*1 11 01 00113*2 11 10 01103*3 11 11 1001

MEM16x 4bit

Z

XY

• gyors, egyszerű, olcsó• tetszőleges függvényre• csak kisméretben

alkalmazható

Pipeline feldolgozás(csővezeték, futószalag feldolgozás)„Pipelining”

• részfázisokra bontás• független részfázisok, önálló erőforrásokkal• az egyik fázis eredménye a következő induló adata

12

Utasítások egymás utáni végrehajtása

1. utasításfeldolgozása

idő

végrehajtásutasításelőkészítés

dekódolás operandusmeghatározás

2. utasításfeldolgozása

3. utasításfeldolgozása

13

Utasítás végrehajtásfokozatokra bontása

végrehajtásop. meghatározás

dekódolásút. előkészítés 1

11

1

utasítás feldolgozása

idő

végrehajtásutasításelőkészítés

dekódolás operandusmeghatározás

2

22

2

Page 17: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

22

Cache memóriaProbléma : a központi memória általában

sokkal lassabb (5x-10x-...) mint a processzor...

Kicsi, gyors (drága!), puffer memória a központi memória és a processzor közé...

CPUKözpontimemória

Cachememória

14

Csővezetékszerű utasítás végrehajtás (pipelined)

végrehajtásop. meghatározás

dekódolásút. előkészítés 1

11

1

1. utasításfeldolgozása

idő2

22

23

33

34

44

45

55

56

67

...

...

...

3. utasításfeldolgozása2. utasítás

feldolgozása

15

Csővezetékszerű utasítás végrehajtás

végrehajtásop. meghatározás

dekódolásút. előkészítés 1

11

1 idő2

22

23

33

34

44

45 86 7 9

nem egyenlő hosszú fokozatok

Problémák a pipeline-naltárolóhivatkozás :

• lassú memória miatt várni kell az operandusokra• egyszerre kéne ugyanabból a tárból adatot és utasítást elérni

vezérlés átadó utasítások...megszakítások...->folyamatos pipeline feldolgozás megszakítása, felfüggesztéseMemória utasítások a pipeline-ban

• „Várakoztató utasítások” beiktatása - „lyukak” a pipeline-ben• késleltetett memória utasítás - utasítások átrendezése, üres utasítás beiktatása

load R1, (A)load R2, (B)add R1,R2,R3Elágazások kezelése a pipeline-ban

• az ugrási cím csak az utasítás feldolgozása után lesz ismert...• ha „rossz” ágat utasításait kezdi el feldolgozni akkor a pipeline-t (és az utasítások hatásait) törölni kell... • delayed branch (NOP utasítással feltöltés)

19

Adatok felhasználása a pipeline-ben

• adat függőség add R1,R2,R3 sub R3,R0,R4

ütközések :• írás utáni írás : 2. írás után ír az 1.• írás utáni olvasás : 2. előbb olvas mint az 1. ír• olvasás utáni írás : 2. előbb ír mint az 1. olvas• olvasás utáni olvasás :-)

scoreboarding...

internal forewarding...instruction scheduling...

20

Pipeline összefoglalás

• egyszerű elv• bonyolult, „trükkös” megvalósítás• sokat segíthet a fordítóprogram

Cache - „gyorsító” tár„Tipikus” cache

• 64 Mbyte memóriához 64 Kbyte cache• 20x gyorsabb• 1/1000 méret• 98% cache találat

Cache működés (olvasás)CPU által generált memóriacím küldése a cache-nek :1. ha az adat a cache-ben van

(cache hit, cache találat) :• adat elküldése a CPU-nak

2. ha az adat nincs a cache-ben (cache miss, cache „nemtalálat”, „találat hiba”) :

• a generált memóriacím küldése közp. memóriának• adat kiolvasása a központi memóriából,• adat elküldése a CPU-nak, és a cache-be

Cache• a memória és a cache között blokkos adatátvitel (4-64 szó) => programok lokalitása• teli cache esetén egy cache blokkot fel kell szabadítani (helyettesítési eljárások)

Cache hatása az átlagos elérési időre és a hatékonyságra

Page 18: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Adatok :• cache elérési idő tc = 160ns• memória elérési idő tm = 960ns• átlagos cache találati arány h = 90%

Kérdés : • mennyi az átlagos elérési idő ? (ta)• mekkora a hatékonyság növekedés ? (g)

ta = h*tc + (1-h)*(tc+tm)= 0.9*160 + 0.1*(960+160)= 256 ns (átlagos elérési idő)

r = tm/tc = 960/160 = 6g = 1/(1+r*(1-h)) =1/(1+6*0.1) = 0.625

= 62.5% (hatékonyság növekedés)Cache hatása (SuperSPARC példa)

• CPU 0.75 CPI (cycles per instruction)• 3% cache miss• memória késleltetés 10 ciklus• 1.33 memória referencia / utasítás• cache miss „büntetés” 0.4 CPI 0,75*1,33*3%*10• 35% teljesítmény csökkenés 1-1/(1+3%*(10+1))

Memória „leképzése” a cache-ra-Teljesen asszociatív cache-Közvetlen leképzésű cache-Csoport asszociatív cache

30

Teljesen asszociatív cache(fully associative cache)

központi memória blokk „i” (0<=i<=M-1) leképezhető bármelyik „j” (0<=j<=N-1) cache blokkra

memória

0

M-1

0

N-1

kk

M=2m N=2n

m

i„i”

...

blokkméret :

j

31

Közvetlen leképzésű cache(direct mapping cache)

egy-egy memória blokk csak meghatározott helyre kerülhet (I-way setassociative cache)

memória

0

M-1

0

N-1

kk

ii MOD N

m-n

i DIV N

32

Közvetlen leképzésű cache(direct mapping cache)

memória

0

M-1

0

N-1

kk

ii MOD N

m-n

i DIV N

Pld. 10-es számrendszer,M=1000, N=10

i=785

5. 78 xx785.

33

Közvetlen leképzésű cachecímformátuma

memória blokk címm bit

m-n bit n-bit

„tag” cache blokkcím

M=2m

N=2n

34

Közvetlen leképzésű cache

memória

0

M-1

0

N-1

kk

ii MOD N.

m-n

i DIV N

a memória cím„alsó” n bitje

„tag”

a memória cím„felső” m-n bitje

35

Csoport asszociatív cache(set associative cache)

memória

0

M-1

0

N-1km-n+s

j...

S=2sS csoport blokkonként

a memória cím„alsó” n-s bitje

„tag”

a memória cím„felső” m-n+s bitje

k

cachecsoportcím

blokk csoport

0

N/S-1

Page 19: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

4

CPU - Memória

Processzor Memória

címsín

adatsín

Cache-ben lévő adat megváltoztatása cache - memória koherencia fenntartása !

• azonnali átírás (write-through) : blokk tartalom módosítás esetén a blokk visszaírása a memóriába• visszamásolási eljárás (write back) :

• a frissen betöltött blokk „dirty” („piszkos”) bitje = 0• blokk tartalom módosítás esetén dirty bit = 1• blokk cache-ból törlésekor : ha dirty bit = 1 akkor vissza kell írni a memóriába (különben

nem)CISC vs. RISC processzorokCISC = Complet Instruction Set Computer (teljes utasítás készletű számítógép)RISC = Reduced Instruction Set Computer (csökkentett utasítás készletű számítógép)CISC vs. RISC processzorokCISC

• „könnyebb programozás”• összetett utasítások, sokféle címzési mód• utasítás végrehajtás több órajel alatt• mikroprogramozott• ...

CISC (VAX)• 14 féle címzési mód• 250 utasítás

RISC• egyszerűbb, gyorsabb• optimalizált fordítók• kevés utasítás és címzési mód• rögzített utasítás forma• utasítás végrehajtás 1 órajel alatt• kevés memória hozzáférés• sok regiszter• huzalozott vezérlő• pipeline feldolgozás

RISC • 1 féle címzési mód• 32 (50) regiszter... • 30-40 utasítás

Bit-szelet processzorokBit-szelet (bit slice) processzor

• példa : AM 2901• 4 bites ALU + regisztertömb• 3 aritmetikai, 5 logikai művelet• 9 bites vezérlés• állapot jelek

Segédprocesszorokco-processzorok

• gyorsabb lebegőpontos, mátrix, grafikai műveletek• új utasítások, adattípusok, regiszterek• együttműködés a processzorral

6. előadás tartalma• Memória hierarchia• Tárolókezelő egység• Virtuális tárkezelés (logikai-fizikai címek)• Szegmentálás• Lapozás

Tárolókezelő egységMMU - Memory Management UnitTárolókezelés feladatai

• a CPU által megcímzett címen lévő érték elérése• tárhierarchia hatékony működtetése : virtuális-logikai

címek kezelése, lapozás, szegmentálás• memória „szétosztása”

(több program, több felhasználó között...)• „védelem”

– rendszer programok a felhasználótól– felhasználók adatai

• felhasználók programjai (de közös eljárások)

Page 20: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

7

Overlay technika (átlapolásos technika)

Probléma : nagy program, kis memória

Program feldarabolása, csak a szükséges darab(ok) a memóriában

datap

p1

p2

p3

datap

p1

datap

p2

datap

p3 idő

program

memória

Virtuális tárkezelés

9

Cím, címtartomány, címszélesség

Címtartomány

Címszélesség

10010110

000000000001000010000011

111111

011010

memóriacímek

memóriaértékek

...

...

...

...

cím érték

címtartomány = 2címszélesség

10

Logikai - fizikai címek

Logikai cím(tartomány) Fizikai cím(tartomány)

központi memória mérete...a CPU által címezhető, programban használható

logikai - fizikai címek megfeleltetése ?!

11

MMU

logikaicím

fizikaicím

központimemória

program

MMU

i

j

logikaicímtartomány

fizikaicímtartomány

Szegmentálás (segmentation)

13

Szegmensek képzése

szegmens = nem rögzített méretű adatblokkdata1

p0

p1

stack

program

data2szegmensek

cím meghatározása =

szegmens meghatározása +

szegmensen belüli „eltolás” meghatározása 14

Szegmentált memória kezelés

szegmensszám eltolás

logikai cím:

s dszegmenstábla

báziscím hosszösszehasonlítóengedélyező

fizikai cím: eltolásbáziscím +

15

Szegmens elhelyezési stratégiák

p0

p1

p2

?Szegmens betöltési (elhelyezési) módszerek (stratégiák) :• első szabad hely (first fit)• következő szabad hely (next fit)• legjobb hely (best fit)• legrosszabb hely (worst fit)

16

„Szemétgyűjtés” (garbage collection, „memória kompaktálás”)

p0

p1

p2

p4

? p0

p1p2

szemétgyűjtés

nagyon időigényes !

szegmensek

Page 21: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Lapozás (paging)

18

Lapok képzéselapok = azonos, rögzített méretű adatblokkok

logikai címtartomány és a fizikai címtartomány

felosztása lapokra

logikaicímtartomány

fizikaicímtartomány

19

Lapok megfeleltetése

MMU

„logikai lapok”

„fizikai lapok”

?

20

Címkiszámítás (lapszám, eltolás)

lapszám

0.

1.

n.

lapon belüli „eltolás” k. d.

lapszám (k) eltolás (d)

cím:

m.

0.

i bit j bit

n = 2i m = 2j

21

Logikai-fizikai címképzés

q d

p

logikai cím

fizikai cím d

„MMU”

„lap leképző eljárás”

22

Logikai-fizikai címképzés

q d

p

logikai cím

fizikai cím d

p

„laptábla”

23

Logikai-fizikai címképzés

q d

p

logikai cím

fizikai cím d

p

„jelenléti bit” :lap a memóriában vanvagy háttértárolón

1

01

0

0...

...

...

...

...

háttértárolón a cím

„laptábla”

24

Lapcímzés (példa1)

Adatok :• logikai címtartomány : 15 bit• központi memória : 8 Kbyte• lapméret : 211 byte• háttértároló : 32 KbyteKérdés :• mekkora a laptábla mérete ?

25

Lapcímzés (példa1 megoldás)

• lapméret : 211 byte = 2 Kbyte • logikai címtartomány : 15 bit = 32 Kbyte = 16 lap• központi memória : 8 Kbyte = 4 lap• laptábla :

– 16 sor (a logikai lapokhoz)– soronként 16 bit (2 byte)

• 1 jelenléti bit, • 2 bit (a fizikai lapszám) vagy 15 bit (a

háttértároló)• laptábla mérete : 32 byte

Lapozási mechanizmusHa a lap nincs a memóriában : laphiba (page fault) -> megszakítás -> háttértárolóból a lap betöltéseHa nincs hely a memóriában : helyettesítési eljárás... („egy lap” eltávolítása a memóriából...)Helyettesítési eljárásokMelyik lapot kell cserélni (eltávolítani) ?

• optimal : „amire legkevésbé lesz szükség”...• legrégebben bentlévő (FIFO)• legrégebbi nem használt • legkevésbé használt (LRU - Least Recently Used)

Page 22: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

4

Memória hierarchia

háttérmemória

„belső” memória–regiszterek–puffer memóriák–mikroprogram tár

központi memória (első szintű,

operatív)

~ns~100 bytea CPU-ban

~Mbyte, ~10 ns

végrehajtás alatti program, adatok

CPU által nem közvetlenül elérhetőnem aktív programok, nagymennyiségű adatok

~ Gbyte, ~ms

28

- 2 2 2 2 2 2 5 5 1 1 1- - 3 3 3 6 6 6 6 6 6 6- - - - 4 4 4 4 4 4 4 4

Optimális laphelyettesítés (példa)

• Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6• Optimális helyettesítés

2 3 2 4 6 2 5 6 1 4 6

ok ok ok okok

„találati arány” (hit ratio) = 5/1129

FIFO laphelyettesítés (példa)

• Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6• FIFO helyettesítés

- 2 2 2 2 6 6 6 6 1 1 1- - 3 3 3 3 2 2 2 2 4 4- - - - 4 4 4 5 5 5 5 6

2 3 2 4 6 2 5 6 1 4 6

okok

„találati arány” (hit ratio) = 2/11

30

LRU laphelyettesítés (példa)

• Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6• LRU helyettesítés

- 2 2 2 2 2 2 2 2 1 1 1- - 3 3 3 6 6 6 6 6 6 6- - - - 4 4 4 5 5 5 4 4

2 3 2 4 6 2 5 6 1 4 6

ok ok okok

„találati arány” (hit ratio) = 4/11

31

Lapcímzés (példa2)

Adatok :• logikai címtartomány : 32 bit• központi memória : 8 Mbyte• lapméret : 4 KbyteKérdés :• mekkora a laptábla mérete ?

32

Lapcímzés (példa2 megoldás)

• lapméret : 4 Kbyte = 12 bit • logikai címtartomány : 32 bit = 4 Gbyte• központi memória : 8 Mbyte = 23 bit• laptábla :

– 32-12=20 azaz 220 sor (a logikai lapokhoz)– soronként 12 bit (2 byte)

• 1 jelenléti bit, • 11 (a fizikai lapszám)

• laptábla mérete 220 x 2 byte = 2 Mbyte !!!?Egyéb lehetőségek...

• Szegmentált lapcímzés kezelés... (szegmentálás + lapozás)• Translation Lookaside Buffer...

(a legutóbbi logikai-fizikai (lap)címmegfelelés tárolása cache-ban)Egyéb tulajdonságok...

• „overhead”• „working set”• „demand paging”...• „trashing” - multiprogramozás• Belady anomália

Belady 123451251234565 FIFO 4 lappal 4/15 5 lappal 3/15 7. előadás tartalma

• Memória típusok csoportosítása, jellemzése• ROM, RWM, RAM, CAM• 1x1bit -> n x m bit

Memóriák jellemzése („mennyiségi”)• kapacitás : tárolható adat mennyisége• legkisebb címezhető egység• hozzáférési szélesség : egy hozzáféréssel elérhető

adatmennyiség• átlapolhatósági fok : egyszerre müködhető modulok• elérési rendszer ...

Page 23: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Memóriák jellemzése („időbeli”)• elérési idő : időtartam az olvasási igénytől az adat megérkezéséig• ciklusidő : két hozzáférés közti minimális idő• átlapolhatósági fok : egyszerre müködhető modulok• adatátviteli sebesség : ...

•7

1 byte 1 szó 1 byte8

Memóriák osztályozásafizikai működési elv szerint

mágneses(remanenes mágneses vektor)

félvezetős(bistabil multivibrátor)

elérés szerint

cím szerint elérhető tartalom szerint elérhető(asszociatív)

9

Memóriák elérési rendszere

„véletlen” elérésű (címfüggetlen) (RAM - Random Access Memory)

sorbaállásos(FIFO - First In First Out)

verem rendszerű(LIFO - Last In First Out)

asszociatív (tartalom címzésű) (CAM - Content Adressable Memory)

sorosciklikus 10

Memóriák a tárolt információ megváltoztathatósága

szempontjábólátírható (törölhető)

RWMRead Write Memory

csak kiolvasható (fix) ROM

Read Only Memory

energia kimaradás esetén : felejtő / nem felejtőkiolvasáskor : törlődő (destruktív) / nem-törlődőstatikus / dinamikus (szükséges az információ „mozgatása”)

11

Memóriák hardware felosztása

ROM RWM

maszkolt PROM EPROM SRAM DRAM ferrit

címezhető memória

ROM-ok• mask programmable ROM• PROM : programmable ROM (1x csak)• EPROM : erasable programmable PROM (UV fény vagy áram)

RWM-ek („RAM”-ok)• SRAM (statikus RAM) olyan memóriachip, amely állandó feszültség hatására működik• DRAM (dinamikus RAM) az állandó feszültség mellett rendszeres frissítést, kiolvasást igényel.

14

Paritásbites memória ellenőrzés

1001101011100000101101010011000011010110110011110010110010000101

01101111

1

memóriatartalom

paritásbitek

11001111paritás hiba

15

Paritás ellenőrző áramkör

xy

x y x XOR y0 0 00 1 11 0 11 1 0

d0

...

d7

„tárolt paritás” bit

„számolt paritás”

Page 24: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Memóriák megvalósításaROMRWM

17

multiplexeres tároló...

MUX8-1

a2 a1 a0

z

d0

d7d6d5d4

d1d2d3

címzés :

01001100

000001010011100101110111

a2 a1 a0

18

„egyeniráyító” (dióda)

I áram

19

„maszkolt” ROMcímkiválasztás

adatkiolvasás 20

„maszkolt” ROM (működés)címkiválasztás

Iolvasó

adatkiolvasás

21

10101100

01

b3 b2 b1 b0

1-2

s0

22

PROM

Iiró

Iiró >> Iolvasó

„kiégetés”

23

Egy furcsa (visszacsatolt) kapcsolás

x y x NOR y0 0 10 1 01 0 01 1 0

a

b

c

d

24

RSFF érték beírás

a=0

b=1

c=x

d=y

a=0

b=1

c=x -> ?

d=y -> 0 x

y

a=0

b=1?

0 c=? -> 1

d=0

a=0

b=1

c=1

d=0

Page 25: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

25

RSFF érték tárolás

a=0

b=0

c=1

d=0

a=0

b=0

c=1

d=01

0

26

RSFF „nem megengedett állapot”

a=1

b=1

c=0

d=0

a=1

b=1

c=1

d=01

0

a=0

b=0

c=1

d=1

a=0

b=0

c=0

d=0 instabilállapot

27

RS flip-flop

R (reset)

S (set)

Q

_Q

R S Q(t) Q(t+1)1 0 x 00 1 x 10 0 x x1 1 x ???

R QS -Q

28

D flip-flop

R QS -Q

CLK

D (data)

Clk D Q(t) Q(t+1)0 x y y1 x y x

D Qclk -Q

állapotmegörzés

adateltárolás

29

1x1 bites memória cella

D Qclk

D-in D-out

CS___

WR/RD

1x1bitD-in D-out

CS___

WR/RD

ChipSelect Write/Read

30

1x4 bites memória

1x1bitD0-in D0-out

CS___

WR/RD

1x1bitD1-in D1-out

1x1bitD2-in D2-out

1x1bitD3-in D3-out

1x4 bit

d0 d1 d2 d3CS

R/W

31

4x8 bites memória

1x4 bit

CS

R/W

1-4

s0 s1

1x4 bit

1x4 bit 1x4 bit

1x4 bit 1x4 bit

1x4 bit 1x4 bit

d7-d4 d3-d0

32

MOSFET tárolócella

Gnd

C

T1 T2

T3

Töltéstárolás a C kondenzátoron

író vezeték olvasó vezeték

beírásengedélyezése

kiolvasásengedélyezése

Tartalom szerint elérhető memóriaasszociatív memória

34

Asszociatív keresés

kulcs (k)

kulcs (1)

kulcs (2)

kulcs (3)

kulcs (n)

érték (1)

érték (2)

érték (3)

érték (n)

összehasonlítás

összehasonlítás

összehasonlítás

összehasonlítás... ...

érték (k)találat esetén a keresett érték

maszkregiszter 43

DRAM olvasási ciklusa1. Sor cím a cím bemenetekre kerül az adatsínen keresztül2. /RAS aktiválás, amire sor cím bekerül a sor cím tárolókba3. Sor cím dekóder kiválasztja a megfelelő sort és az az

átmeneti tárolóba kerül4. Írás engedélyezés deaktiválás (NEM írás művelet)5. Oszlop cím a cím bemenetekre kerül az adatsínen keresztül6. /CAS aktiválás, amire oszlop cím bekerül az oszlop cím

tárolókba7. /CAS jelzi a kimenet engedélyezését,

amint a /CAS stabilizálódott az átmeneti tároló a kiválasztott sor/oszlopból az atatot áthelyezi az adat kimenetre, ami az adatsínen keresztül eljut a rendszerbe

8. /RAS és /CAS deakivizálódik

Page 26: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres
Page 27: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

8-9. előadás tartalma• Kapcsolatok, Input / Output• Sínrendszer• Megszakítási rendszer• I/O Rendszerek

– Programozott I/O– DMA– I/O processzorok, csatornák

Page 28: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

5

A ki/bemeneti egység feladata

ki/bemeneti eszköz input/output device

I/O eszközperiféria

• Kapcsolatok kezelése• Adatátvitel

processzor

memória I/O eszköz

9

I/O eszközök (portok) elérése

Memória I/O eszközCPU

címsínadatsín

Memória I/O eszközCPU

címsínadatsínMem/IO

IO eszközbizonyos címeket„felismer”

közvetlen I/O utasítások : közvetlenül az eszközvezérlő regiszterébe

tárolóhoz rendelt módon (memory mapped addressing) : a központi memórián keresztül

3

CPU, Memória, és még valami...

• Számítógép fő számítási funkciója csak a CPU-t és a Memóriát érinti.

• CPU beolvassa az utasításokat és az adatokat a memóriából, feldolgozza majd az eredményt a memóriában tárolja...

Hogyan kerülnek az adatok a memóriába ?

DE...

4

Kapcsolat a „külvilággal”A kimeneti és bemeneti egység feladata : információ csere a CPU vagy a központi memória és a külvilág között...

sín

CPU MEM

„külvilág”

Célok és problémák...Célok :

• eszközök minél gyorsabb, „jobb” kiszolgálása...• a CPU minél kisebb leterhelése...

Problémák :• eszközök (CPU - perifériák) eltérő sebessége...• eszközök különbözősége (kezelési mód)

7

Eszközök...

Bemeneti Be/kimeneti Kimeneti

nyomtató

képernyő

billentyűzet

scanner

egér

háttértárolók(lemezmeghajtók)

hálózat(modem)

CDROM

és még sokan mások...

8

Eszközökkel való kapcsolat (kezelése) port-okon keresztül

címsín

adatsín

s d

port-ok

eszközvezérlő

cparancs regiszter (c)

állapotjelző regiszter (s)

adat ki/bemenetiregiszter (d)

SínrendszerSínrendszer feladataA sínrendszer feladata :adatok, vezérlőjelek továbbításaÁtvitel létrehozásakor

Page 29: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

• eszközök kijelölése („cím” megadás...)• adatátvitel iránya• eszközök szinkronizálása

(működésének összehangolása)

Page 30: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Sínrendszer struktúrája• Külső / belső sínrendszer (CPU-hoz képest)

– Belső : (pld. 3 sín, külön adatsín írásra, olvasásra...)– Külső:

• helyi sín (local bus) (pld. co-processzor)• rendszer sín (system bus) (pld. I/O)• memória sín (memory bus)

• Sínrendszer részei :– Címsín– Adatsín– Vezérlősín

13

Sínrendszer(közös / külön IO sínrendszer)

rendszer sín (system bus)

CPU MEM

I/O-1 I/O-n...

egyszeres osztott sín

rendszer sín (system bus)

CPU MEM

I/O-processzor

ki/bemeneti sín (i/o bus)

I/O-1 I/O-n...

külön memória és ki/bemeneti sín

14

Sínek...

CPU

ALU

co-processzor cache

MEM

IO processzor

MEM

vez

IO eszköz IO eszköz IO eszköz

belső sín

helyi sín

rendszer sín

IO sín

Vezérlő jelek (a vezérlősínen)• Adatátvitelt vezérlő jelek :

– memória /periféria M/IO - cím a sínen – írás / olvasás R/W - adat a sínen– szó / byte átvitel WD/B - átvitel vége

• Megszakítást vezérlő jelek • Sínvezérlő jelek (kérés, foglalás, visszaigazolás)• Egyéb... (órajel, ütemezés, táp,...)

Sínfoglalás (bus arbitration)-Soros kiszolgálás (daisy chain)-Lekérdezéses kiszolgálás (polling)-Párhuzamos kiszolgálás (independent requesting)

17

Soros kiszolgálás (daisy chain)

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

sín engedélyezés(BG - bus grant)

sín18

Lekérdezéses kiszolgálás (polling)

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

lekérdező szám(polling count)

sín

19

Párhuzamos kiszolgálás

buszvezérlő

0.eszköz

1.eszköz

2.eszköz

sínkérés(BREQ - bus request)

sín engedélyezés(BG - bus grant)

sín

prioritás ? 21

A „sínhasználók”

processzormemória

I/O eszközco-processzor

DMAI/Olebegőpontos

utasítás

adat, utasítás

adat

aktív eszköz(master)

sínhasználat kezdeményezés sínhasználat végrehajtás

passzív eszköz(slave)

Page 31: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

26

Megszakítás vs. kivétel

megszakítás (interrupt) kivétel (exception)

n. utasítás n+1. utasítás

megszakítás kiszolgálása

megszakítás

n. utasítás

kivétel kiszolgálása

kivétel

...még a sínekhez kapcsolódik...• sínprotokoll (mechanikus, elektromos, logikai)• átlapolódó sínciklusok• blokk sínciklus (burst cycle)• sínfoglalás (bus arbitration)• Sínvezérlő (sínmeghajtó) egység (bus interface)• master / slave

Megszakítási rendszer - Interrupt systemMegszakítások

• „Váratlan események”...• megszakítás (interrupt)• megszakítási rendszer• megszakítási kérelem (IRQ - Interrupt Request)• megszakítási kérelem kiszolgálása

Cél :• események gyors kezelése...• minél kevésbé zavarja a feldolgozást...

24

Megszakítások

i.i+1.

megszakítástkiszolgálóprogram

megszakításkérelem

25

Megszakítási események kiváltója

program hardver

végrehajtás közbeni hiba0-val osztástúlcsorduláslapváltás

szinkron események

végrehajtás felfüggesztése aperiféria működése közben

aszinkron események

várható váratlan„hiba”„kért működés”

Megszakítás kezelés folyamata• megszakítás engedélyezés

– maszkolás– prioritás– megszakítható pont

• megszakítás analízis (kiszolgáló rutin ?)– kód - tárcím - utasítás

• állapotmentés• kiszolgálás• állapot visszaállítás

Maszkolás : bizonyos megszakítások „figyelmen kívül hagyása”megszakítási kérelmek engedélyezése / tiltása

Megszakítás-engedélyezés• megszakítás kérés „maszkolása”...• prioritások kezelése : ha több megszakítás egyidőben ?• többszörös megszakításkezelés : ha újabb megszakítás a megszakításkezelés közben ? • a megszakítást okozó eszköz megállapítása : ki kérte a megszakítást ?

30

Többszörös megszakításEgyszintű megszakítási rendszer : kiszolgáló rutin

nem megszakíthatóTöbbszintű megszakítási rendszer :

rutin-2

rutin-5

rutin-4

rutin-2

megszakítás kérelmek2 5 4

idő

prioritásszint

„normál” „normál”

prioritások31

Megszakítás analízisA megszakítást kezdeményező eszköz

megállapítása

Szoftver módszer

Hardver módszer

• operációs rendszer időnként megvizsgálja az eszközöket„lekérdezéses megszakításkezelés” (polling interrupt)

• 1 megszakítási vonal...• több megszakítási vonal...• vektoros módszer : kiszolgáló rutin kezdőcíme...

Page 32: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Vektoros módszer (a megszakítást kezdeményező eszköz megállapítása)• kiszolgáló rutint elindító utasítás átadása (pld.: CALL INT_RUT)• kiszolgáló rutint elindító utasítás címének az átadása (pld.: ADR, ahol [ADR]=CALL INT_RUT)• kiszolgáló rutint címének az átadása (pld.: INT_RUT)• sorszám átadása : megszakítási vektortáblában rutinok kezdőcímei, sorszám mint index a táblázatban

33

Megszakítás vektor tábla

CALL 4 01234

100

200

CALL 100CALL 200CALL ...A eszköz

beviteli rutin

A eszközkiviteli rutin

B eszközkiviteli rutin

CPU

IO port 0 IO port 1 IO port 2

A eszköz B eszköz

INT REQ 2

memória

adatsín

34

Megszakítás kiszolgálásának lépései (hardver által 1.)

eszköz

vezérlőmegszakítás

kezelő

processzor

adatsín

INT (1)

IACK (2)

megszakításivektor

sorszám (3)sorszám tárolás (4)

PC

PWSverem

IT vektortábla

PC és PWSelmentése (5)

rutin kezdőcíma táblázatból (6)

kezdőcím a PC-be (7)

35

Megszakítás kiszolgálásának lépései (2.)

Szoftver által :• regiszterek -> verem / memória• kiszolgáláshoz szükséges adatok

összegyűjtése• megszakítás kiszolgálása, kezelése

(kiszolgáló rutin lefutása...)• verem / memória -> regiszterekHardver által :• PC és PSW visszaállítása

állapotmentés

állapot visszaállítás

kiszolgálás

I/O rendszerek

2

I/O rendszerek

teljesen a CPU irányítja az I/O műveleteket

(DMA - Direct Memory Access) CPU csak „elindítja”, aztán az I/O eszköza CPU „nélkül” végzi az átvitelt

Megszakítás

memóriához hozzáférés, CPU felfüggesztése, I/O program végrehajtása

Programozott I/O

Közvetlen memória hozzáférés

I/O processzor

(interrupt)+

3

Programozott I/O

CPU

I/O eszköz

port

• IO eszköz kiválasztása a címsínnel• IO port : egy adott (memória)cím

memóriára leképzett IO (memory mapped IO)

Memória

adatátvitel a CPU-n keresztül

Programozott IO utasítások• alapvető IO utasítások :

– IN X : szó átvitele az X port-ról az akkumulátorba– OUT X : szó átvitele az akkumulátorból az X port-ra

• A beolvasott vagy kiírt szó lehet vezérlő, állapotjelző, stb. információ (a CPU nem értelmezi)• egyéb IO utasítások (teszt, blokk átvitel, ...)

5

Szó beolvasása programozott I/O-val

(Intel 8080 példa)

WAIT:IN 1

CPI ready

JNZ WAITIN 2...

státuszinformáció az 1-es port-on, az adat, ha kész az eszköz, a 2-es port-on

1-es port-ról státuszinformáció beolvasása az akkumulátorba...összehasonlítása a „ready” konstanssal,ha egyenlő Z flag = 1ha Z flag <> 1 ugrás WAIT-readat beolvasása a 2-es port-ról... 6

A programozott IO hátrányai

a CPU (feleslegesen) sok időt „veszít” az az eszköz állapotának a vizsgálatával és az adatátvitellel...

ha több (vizsgálandó) eszköz van...

az IO átvitel sebességét attól függ, hogy a CPU milyen gyorsan tudja az IO eszközt vizsgálni és kiszolgálni...

az adat a CPU-n halad keresztül, ahelyett hogy közvetlenül a memóriába jutna...

Page 33: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

Megszakításos I/O• az eszköz megszakítás kérelemmel jelez ha készen van... (CPU-nak nem kell várnia...)• sok nagysebességű eszköznél (+blokkátvitel) használhatatlan...

8

Közvetlen memória hozzáférés(DMA - direct memory access)

nagysebességű eszközöknél...

CPU elindítja az átvitelt

DMA vezérlő önállóan irányítja az átvitelt(a tároló és az I/O eszköz között)

CPU - DMA közötti kapcsolat : megszakítások...

DMA : címsín, adatsín vezérlése...

9

Közvetlen memória hozzáférés

AR IODRIOARDCAC

adatsín

címsín

központi memória

vezérlő vezérlő

CPU IO egység

DMAkérelem

DMAengedélyezés

(1)

(2)

(3)

(5)

(6)

(4)

Közvetlen memória hozzáférésAdatátviteli módok :

• Tömb átvitel (DMA block transfer)• Cikluslopás (cycle stealing)

11

I/O processzor(IOP)

+ IO utasítások végrehajtásaIO műveletek végzése

programozott I/O

közvetlen memória hozzáférés

CPU idő pazarlás...

kevésbé rugalmas...

12

I/O processzor(IOP)

IOP = kommunikációs kapcsolat („csatorna - channel”)a központi memória és az IO eszközök között

PPU - Peripherial processing unit

IOP : korlátozott (speciális IO) utasításkészletű feldolgozó egység

13

I/O processzor elvi működés

CPU által elindítottIO művelet CPU MEM

IOP

I/O-1 I/O-2 I/O-3

IOP által végrehajtottutasítások (CCW)

IOP-n keresztüliadatátvitel

START_IOSTOP_IOTEST_IO

14

CPU és IOP utasítások a memóriában

központi memóriaCPU

IOP

start_io...

test_io

...

...07000400h

...

CPU által végrehajtottutasítások

IOP általvégrehajtott CCW utasítások

a CPU „elindítja” az IOP-t

15

Blokk írása I/O processzor-ral(IBM System 360-370 IO program példa)

CCW - Channel Command Wordopcode abs. memory address flag - data count0 8 32 37 48 63

07h. .40h.37h. .40h.01h.buffer .40h.1001Fh. .40h.07h. .00h.

szalag visszatekeréselső rekord átugrása„buffer” címről 100 byte írásamarker írásaszalag visszatekerés, stop

CCW utasítások az IOP-nak

16

I/O processzorok szervezése

IOPIO IO IO

IOPIO IO IO

IO sín

IOP

IOP

IO IO IO

kapcsoló hálózat(crossbar switch)

egy IOP - több lassú IO eszköz : multiplexer channel

egy IOP - egy gyors IO eszköz : selector channel

...

Page 34: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

17

egyég lehetőség(ek)...(periféria cache/puffer tároló)

MEM

MEM

CPU

periféria

cache / puffer tároló

18

egyég lehetőség(ek)...(„periféria processzor”)

MEM

MEM

I/O eszköz memóriájaCPU

I/O eszköz processzora

periféria

PU

19

egyég lehetőség(ek)...(„memória lefedés”)

központi memória I/O eszköz memóriája

eszköza központi memória egy részétaz eszköz memóriája„lefedi”

Alpha 21164 processzor• 64-bit RISC• Superscalar: 4 utasítás órajel ciklusonként • Superpipelined:

– 7 lépcsős pipeline egész számos utasításokra, – 9 lépcsős pipeline lebegőpontos számos utasításokra

• 16K L1 cache (8K adat, 8K utasítás), 96K L2 cache • Pipelined Floating Point Unit: lebegőpontos egység 2 utasítás órajel ciklusonként (kivéve osztás)• órajel 600 MHz, 2.4 billió utasítás /sec• 9.6 millió tranzisztor • Dynamic Branch Prediction

Dinamikus elágazás előrelátás(Dynamic Branch Prediction)Probléma : feltételes elágazáskor a prefetch nem „tudja előre kitalálni” hogy lesz elágazás vagy sem (melyik lesz a következő utasítás) ->A végrehajtott feltételes elágazás utasításaihoz „elágazási információk” eltárolása...->az előző (két) esetben volt elágazás vagy sem...Prefetch and Dispatch Unit

• ensures that all execution units remain busy by fetching instructions before they are needed in the pipeline.

• Instructions can be prefetched from all levels of the memory hierarchy, including the I-cache, E-cache, and main memory.

• A 12-entry prefetch buffer decouples instruction prefetching from instruction dispatch and prevents pipeline stalls

• A 16 KB two-way associative I-cache that is physically indexed and tagged • Instructions in the I-cache are pre-decoded • A 9-stage instruction pipeline to minimize latency • Dynamic branch prediction to allow for greater prediction accuracy

Pipeline Organization• UltraSPARC-I uses a double-instruction-issue pipeline with nine stages: fetch, decode, grouping,

execution, cache access, load miss, integer pipe wait, trap resolution, and writeback. These stages imply that the latency (time from start to end of execution) of most instructions is nine clock cycles. However, at any given time, as many as nine instructions can execute simultaneously, producing an overall rate of execution of one clock per instruction in many cases. In reality, some instructions may require more than one cycle to execute due to the nature of the instruction, a cache miss, or other resource contentions.

• The first stage of the pipeline is a fetch from the I-cache.

Page 35: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

• In the second stage, instructions are decoded and placed in the instruction buffer. • The third stage, grouping, groups and dispatches up to four instructions. • Next, integer instructions are executed and virtual addresses calculated during the execution stage. • In the fifth stage the D-cache is accessed. Cache hits and misses are determined, and branches are

resolved. If a cache miss was detected, the loaded miss enters the load buffer. At this point, the integer pipe waits for the floating-point/graphics pipe to fill and traps are resolved.

• In the final stage, writeback, all results are written to the register files and instructions are committed.Integer Execution Unit

• 2 ALUs for arithmetic, logical, and shift operations • 8-window register file • Result bypassing • A Completion Unit which allows a nine-stage pipeline with• minimal bypasses

CRAY - 1• Semour Cray (kb. 1977 ?)• hosszú ideig a leggyorsabb számítógép• „tiszta” tervezés, „semmivel se spórolni”, tudományos, sok-sok lebegőpontos számításra• vektor processzor• kb. 5 IBM 370/195• 138 MFLOP (250 MFLOPS burst), 12,5ns (80MHz)• 1 millió szavas tár, 1 szó = 64 bit• 115KW fogyasztás, freon hűtés..., kb. 5 tonna, nagyon drága...• 128 utasítás (egész + lebegőpontos)• 0-3 címes utasítások• nincs karakter művelet, sem egész osztás• adattípusok : 2-es komplemens, lebegőpontos• szó hozzáférésű tár, 1 szó = 64 bit • 12 műveletvégző egység, pipeline feldolgozás• 8x24 bites címregiszter (A), 64x64 bites átmeneti címregiszter (B), 8x64 bites skalár regiszter (S),

64x64 bites átmeneti skalár regiszter (T), 8x64 elemes vektor regiszter (64bit/elem) (V)

4Kbyte+ 6ns -os regiszter tároló• memoria blokk töltése T regiszterekbe• vektoron végzett műveletek• verem nincs• cache nincs

VAX• 1970 DEC (Digital Equipement Corp.), CISC• VAX 11/780 sebessége kb. 1MIPS• kb. „hűtőszekrény” méret• egész aritmetika : különféle adat-mérettel, logikai : különféle adat-mérettel• cím és bit manipulációk• vezérlés átadó utasítások (elágazás, ugrás, ciklusok, eljárások)• lebegőpontos műveletek, karakter-string műveletek (pld. edit)• crc (Cyclic Redundancy Check), BCD műveletek

összesen több mint 200 utasítás...• 16db 32 bites „általános célú”...• R15 = PC (szabadon módósítható)• R14 = SP (varem mutató)• R13 = „keret mutató” (memória kezelés)• R12 = „argumentum mutató” (eljárások paraméterei)• byte, word (16 bits), longword (32 bits), quadword (64 bits), octaword (128 bits)• F floating point (32 bit, 7 bites exponens), D floating point (64 bit, 7 bites exponens)• G floating point (64 bits,10 bites exponens), H floating point (128 bit, 15 bites exponens)• character string , numeric string (egészeket ábrázoló ASCII kódok), BCD string

Párhuzamos feldolgozás...

Page 36: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

20

Neumann elv - soros feldolgozás

szekvenciális feldolgozás

Lassú

egy utasítás feldolgozásakor „több részegység tétlen”...

CPU

Mem

feladatot részlépésekre lehetne bontani...

Párhuzamosság...

párhuzamos feldolgozó egységek...párhuzamos számítógépek...

21

Párhuzamos számítás(Parallel computing)

párhuzamos programozás - operációs rendszer : • „látszólag” több program fut „egyszerre” • amíg egy prg. lassú I/O-ra várt egy másik prg.

fut• független folyamatok, „nem férnek egymáshoz”

program részeinek párhuzamos feldolgozása :• kommunikáció (információ csere)• szinkronizáció (összehangolt működés)

A párhuzamos programvégrehajtás szintjei • A hardver egységen belüli párhuzamosítás• Gépi utasítás végrehajtásán belüli párhuzamosítás• Párhuzamosítás a feldolgozott adatok szintjén• Gépi utasítások közötti párhuzamosítás• Eljárások (makro utasítások) közötti párhuzamosítás• Jobok közötti párhuzamosítás• Folyamatok közötti párhuzamosítás

1. szint: A hardver egységen belüli párhuzamosítás • Egyidejűleg több alkotóelem végez aktív feldolgozó munkát az aktuális programrészlet végrehajtása

érdekében. • Pl.: egy párhuzamos aritmetikai egységben az operandusok minden bitjén egyidejűleg történik az előírt

művelet végrehajtása, vagy egy buszon a memóriából felhozott utasításszó minden bitje egyidejűleg mozog.

2. szint: Gépi utasítás végrehajtásán belüli párhuzamosítás. • Egy gépi utasítás végrehajtása több fázisra bontható. A számítógépek sebessége nagymértékben

fokozható, ha ezeket a fázisokat átlapoltan, több utasításon párhuzamosan hajtja végre a számítógép. • Pld. az n-edik utasításhoz tartozó akciók végrehajtásával egyidejűleg folyik az n+1.-dik utasítás

dekódolása, és az n+2.-dik utasítás felhozása. • Ez a párhuzamosítási technika a pipeline (csővezeték) technika.

3. szint: Párhuzamosítás a feldolgozott adatok szintjén. • Vektorok feldolgozása esetén tipikus feladat, hogy ugyanazt a műveletet a vektor minden elemén végre

kell hajtani (pl. két vektor összeadása). N elemű vektor esetén a szokásos számítógépek az ilyen műveleteket N lépésben hajtják végre. Vannak azonban olyan többprocesszoros számítógépek, melyek ezt a műveletet egyetlen lépésben képesek végrehajtani. Ezek az ún. vektorprocesszorok, amelyekben N processzor egyidejűleg hajtja végre a vektor N elemén ugyanazt a műveletet.

4. szint: Gépi utasítások közötti párhuzamosítás. • A hagyományos számítógépekben az utasítások

végrehajtási sorrendje kötött, jóllehet legtöbb programban találhatók olyan utasítások, amelyeknek a végrehajtási sorrendje a program működésének helyességét nem befolyásolja. Az olyan utasítások, amelyek egymástól ily módon függetlenek, bármilyen sorrendben, akár egyidejűleg is végrehajthatók.

• A párhuzamosan végrehajtható utasítások automatikus felderítésére a Neumann-elvű többprocesszoros számítógépek nem voltak alkalmasak, mivel a párhuzamosítási előírások akkora túlmunkát jelentettek a

feldolgozó egységnek, hogy alapjaiban kérdőjelezte meg a gépi utasítások közötti párhuzamosítás létjogosultságát.

5. szint: Eljárások (makro utasítások) közötti párhuzamosítás. • Egy adott makro utasítást egyetlen gépi utasítás(ok) egy sorozata reprezentál• Mivel az eljárás végrehajtási ideje jelentős, ezért a párhuzamosítási előírások megvalósításából

származó többlet-ráfordítás elhanyagolható lehet az eljárás végrehajtási idejéhez képest. • Ezen a szinten már hatékonyan alkalmazhatók a Neumann-elvű processzorokból felépített

többprocesszoros számítógépek is.

Page 37: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

6. szint: Jobok közötti párhuzamosítás. • Jobon olyan véges működésű programot értünk, amely önálló működésre képes és a rendszer

erőforrásait használja. • Az eljárás és a job közötti rokonság, hogy mindkettő véges lefutású, lényeges különbség viszont, hogy

amíg az eljárás sosem önálló, addig a jobok egymástól logikailag függetlenek, egy-egy virtuális gépet reprezentálnak.

• A közös erőforrások használata miatt egy szinkronizációs mechanizmust kell alkalmazni. 7. szint: Folyamatok közötti párhuzamosítás.

• Folyamat (process) alatt olyan nem feltétlenül véges működésű programot értünk, amely önálló működésre képes, a rendszer erőforrásait használja és a többi folyamattal kommunikál.

• Szinkronizációs mechanizmust, az üzenetátadást, és az eseménykezelést is biztosítani kell.Többprocesszoros rendszerekTöbbprocesszoros rendszerek megjelenését segítő tényezők

• hardware elemek árának a csőkkenése• számítógépes hálózatok elméletének és technikájának a fejlődése• technológiai korlátok (több alkatrész már nem fér a chip-be)

Multiprocesszoros rendszerek csoportosítása és osztályozása(alkalmazásuk szerint)

• Általános célú rendszerek : cél az egyprocesszoros számítógépek működési sebességének a fokozása az architektúra módosításával.

• A redundáns (hibatűrő) rendszerek : cél a számítógépek megbízhatóságának a növelése több processzor alkalmazásával.

• A számítógép-hálózatok : cél nagytávolságú elosztott információs rendszerek kialakítása. Számítógépek teljesítőképességét befolyásoló tényezők

• technológia - sebességnövekedés (gyorsabb alkatrészek, tárak, stb...)• architektúra - különböző egységek kapcsolatának a megszervezése, kezelése

Példa : gép órajel mátrixszorzás

EDSAC1 2000ns 100/sCRAY-1 12,5ns 130 millió/s

160x 1.000.000xa rendszerek csoportosítása logikai struktúra :

• horizontális• vertikális

fizikai struktúra• közös tárterület (centralizált)• sínrendszer (osztott)

kölcsönhatás módja, csatolás foka :• szorosan csatolt• lazán csatolt („on site computing”)

processzor és passzív elemek (tár, I/O) közötti kapcsolat :• közös sín• crossbar• többszörös hozzáférésű tárak

feldolgozási mód (Flynn)• SISD• MISD• SIMD• MIMD

Multiprocesszoros rendszerek(általános célú)

• SISD Single Instruction stream on Single Data stream (egy utasítás egy adat)

• SIMD Single Instruction stream on Multiple Data stream (egy utasítás több adat) • MISD Multiple Instruction stream on Single Data stream (több utasítás egy adat) • MIMD Multiple Instruction stream on Multiple Data stream (több utasítás több adat)

Page 38: bevezetés, történet, fogalmak, adatábrázolás, globális ...progmat.uw.hu/oktseg/szfel/szf3.doc  · Web viewDRAM (dinamikus RAM) az állandó feszültség mellett rendszeres

SISD, SIMD, MISD, MIMD• A SISD rendszerek : a szokásos egyprocesszoros számítógépek. • A SIMD rendszerek : a program párhuzamosítás 3. szintjének támogatását szolgáló vektor (hardver

megvalósítása a CrayX számítógép) -, tömb (Connection Machine) - ill. asszociatív processzorok (Staran).

• A MISD rendszerek : a program 2. párhuzamosítási szint megvalósítására szolgáló pipeline processzorok tartoznak.

• A MIMD architektúra : a program párhuzamosítás 4., 5., 6. és 7. szintjének megvalósítása. előnyökfeldolgozási teljesítőképesség :

• átbocsájtóképesség• közös erőforrás használat• megbízhatóság

többprocesszoros rendszerek architektúrája„egyes rendszerelemek (processzorok - tárak - I/O) egymáshoz kapcsolódása, együttműködése, közös feladatvégrehajtása”fogalmak : adatút, kapcsolóelem (osztott/központi vezérlésű hálózat), kommunikáció létrehozási módja, modularitás, bővíthetőség, hibatűrés, egyidejüség, üzenetterítés, összekötöttség...osztott feldolgozás (distributed processing) :

• feldolgozás • adatbázis

A processzorok közötti kapcsolat megvalósítása :• a csatolás topológiája• a processzorok csatolásánalk módja• a kapcsolat fizikai megvalósítása• a kommunikációs csatorna működési módja• a passzív elemek használata• a kapcsolat technológiája

A processzorok csatolási módja• tárcsatolt• be/kiviteli csatolású

A kapcsolat fizikai megvalósítása• időosztásos közös sínrendszer• crossbar kapcsolórendszer• többszörös hozzáférésű tárak

A kommunikációs csatorna működési módja• szó (byte) átviteli• blokkátviteli

• vegyes átviteli

A passzív elemek használata• csak globális• globális és lokális

A kapcsolat technológiája• fizikai elosztottság...