procedure MásodikMenet; 2. menet, vázlat

Slides:



Advertisements
Hasonló előadás
A számítógép műszaki, fizikai része
Advertisements

A számítógép felépítése
RAID (Redundant Array of Independent/Inexpensive Disks) Független/Olcsó lemezek redundáns tömbje.
Small Liga Mozgás vezérlő rendszere
JavaScript.
Bevezetés a Java programozásba
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Máté: Architektúrák13. előadás1 procedure MásodikMenet;  2. menet, vázlat  const méret = 8; EndUtasítás = 99; var HelySzámláló, osztály, hossz, kód:
I/O fej: vékony légrés választja el a lemeztől.
Az ISA szint tervezési szempontjai
Operációs rendszer szintje Operating System Machine (OSM)
Máté: Architektúrák13. előadás1 Mágneslemez (2.19. ábra) I/O fej: vékony légrés választja el a lemeztől. Sáv (track, /cm), Szektor (tipikusan 512B,
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Lemezkezelés, RAID, partícionálás, formázás, defragmentálás
A számítógéprendszer.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.
CISC - RISC processzor jellemzők
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Felkészítő tanár: Széki Tibor tanár úr
A memóriák típusai, jellemzői
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Operációs Rendszerek II.
Máté: Architektúrák12. előadás1 Operációs rendszer szintje Operating System Machine (OSM) Ezen a szinten programozóknak rendelkezésre állnak a felhasználói.
Máté: Architektúrák11. előadás1 Szegmens, szegmens csoport sz_név SEGMENT aling_type combine_type ’osztály’... szegmens sz_név ENDS sz_név a szegmens (szelet)
RAID lemezek (Redundant Array of Independent or Inexpensive Disks)
LBA és CHS módok Demeter Zoltán 641.
Mágneses háttértárolók
Körlevél.
Programozási nyelvek Páll Boglárka.
Tömbök és programozási tételek
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
A háttértárak felépítése és működése
Egy második generációs gép (az IBM 7094) felépítése
A központi egység Informatika alapjai Készítette: Senkeiné B. Judit.
A Visual Basic nyelvi elemei
Funkciós blokkok A funkciós blokkok áttekintése Az alkalmazás előnyei.
Háttértárak.
Ismerkedjünk tovább a számítógéppel
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
C Programozási alapok.
Írja fel a tizes számrendszerbeli
Háttértárak 2.óra.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Máté: Architektúrák13. előadás1 Assembler egy sor olvasása a beolvasott sor fordítása a lefordított utasítás az object file-ba a sor és a lefordított utasítás.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Az 5,6,7 laborok VBA anyagának összefoglalása
Védelmi technikák: fizikai védelem UPS RAID
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
Ma használatos háttértárakat és azok tárolási technológiái (Informatika érettségi 5.tétele) Készítette:Dobrovolni Edit 12.c.
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Programok készítése és futtatása. Integrált fejlesztői környezet (IDE) tartalmaz:  szövegszerkesztőt a program forráskódjának szerkesztésére,  fordítóprogramot.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Adatok tárolása. Tárolók Félvezető tárak RAM Operatív tár Cache tár Regiszterek CMOS RAM ROM BIOS Mágnestárak Mágneslemez Hajlékony lemez Merevlemez MágnesszalagMágneskártya.
Háttértárak.
Háttértárak.
nagy tárterület létrehozása teljesítménynövelés
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
Tároló perifériák.
Cache példák 2019 (IMSC).
Előadás másolata:

procedure MásodikMenet; 2. menet, vázlat const méret = 8; EndUtasítás = 99; var HelySzámláló, osztály, hossz, kód: integer; VanInput: boolean; szimbólum, mnemo: array[1..méret] of char; sor: array[1..80] of char; operandusok[1..3] of integer; op1, op2, címzési mód byte object: [1..10] of byte; begin Előkészítés2; {nincs TáblákIinicializálása;} HelySzámláló := 0; VanInput = true; A97-101, 544-545 Máté: Architektúrák 12. előadás

while VanInput do begin sorok feldolgozása SorOlvasás2(sor); {nincs Megőrzés(sor);} if NemKomment(sor) then begin nem kommentár SzimbólumDef(sor, szimbólum); if szimbólum[1]  ’ ’ then szimbólum definíció SzimbólumEllenőrzés (sor, szimbólum, HelySzámláló); {nincs LiterálKeresés(sor, literál); hossz := 0; OpKódKeresés(sor, mnemo); OpKódTáblában(sor, mnemo, osztály, kód); A97-101, 544-545 Máté: Architektúrák 12. előadás

if osztály  0 then nem létező utasítás PszeudoTáblában(sor,mnemo, osztály, kód); if osztály  0 then HibásOpKód2; Most készül a lista! case osztály of 0: hossz := fordít0(sor, operandusok); 1: hossz := fordít1(sor, operandusok); ... end; Összeállítás (kód, osztály, operandusok, object); ObjectKiírás(object); Listázás(HelySzámláló, object, sor); HelySzámláló := HelySzámláló + hossz; A97-101, 544-545 Máté: Architektúrák 12. előadás

if osztály = EndUtasítás then begin VanInput := false; {nincs LiterálTáblaRendezés; DuplikátumokKiszűrése;} Lezárások2; end; {if osztály = } end; nem kommentár end; while VanInput  end; 2. menet A97-101, 544-545 Máté: Architektúrák 12. előadás

Összeállítás = assemble Az assembler számos hibát ismerhet fel: használt szimbólum nincs definiálva, egy szimbólum többször van definiálva, nem létező operációs kód, nincs elegendő operandus, túl sok operandus van, hibás kifejezés (pl. 9 egy oktális számban), illegális regiszter használat, típus hiba, nincs END utasítás, . . . A97-101, 544-545 Máté: Architektúrák 12. előadás

Számos olyan hibát azonban, melyet a magasabb szintű nyelvek fordítói könnyen felismernek – vagy egyáltalán elő se fordulhatnak – az assembler nem tud felderíteni: az eljárás hívás paramétereinek típusa nem megfelelő, a regiszter mentések és helyreállítások nem állnak „párban”, hibás vagy hiányzik a paraméter vagy a lokális változó terület ürítése a veremből, a hívás és a hívott eljárás helyén érvényes ASSUME-ok ellentmondásosak (nem feltétlenül hiba, de az lehet), . . . A97-101 Máté: Architektúrák 12. előadás

Az object file nemcsak a lefordított utasításokat tartalmazza, hanem további – a szerkesztőnek szóló – információt is. Máté: Architektúrák 12. előadás

Makró definíciók felismerése Makró generátor Feladata a makró definíciók megjegyzése (pl. makró táblába helyezése) és a makró hívások kifejtése. Általában az assembler első menetében működik. Makró definíciók felismerése Amennyiben az assembler a forrás szöveg olvasása közben makró definíciót talál (ezt könnyű felismerni a műveleti kód részen lévő MACRO szó alapján), akkor a makró definíció teljes szövegét – az ENDM műveleti kódot tartalmazó sor végéig – elhelyezi a makró táblában. A felismerést és a tárolást a SorOlvasás vagy a PszeudoTáblában eljárás végezheti. A101-102, 538 Máté: Architektúrák 12. előadás

Makró hívások kifejtése Az OpKódTáblában(sor,mnemo, osztály, kód); if osztály  0 then nem létező utasítás PszeudoTáblában(sor, mnemo, osztály, kód); programrész után be kell szúrni az if osztály  0 then MakróTáblában(sor, mnemo, osztály, kód); sorokat. A eljárás feladata a makró hívás felismerése és a makró helyettesítés is. A kifejtett makró egy pufferbe kerül, a puffer tartalma az INCLUDE utasításnál látottakhoz hasonlóan illeszthető a program szövegébe. A101-102 Máté: Architektúrák 12. előadás

A makró kifejtés egy ciklusban: EgySzóOlvasásaAMakróTörzsből; if FormálisParaméter then AMegfelelőAktuálisParaméterÁtmásolása; else ASzóÁtmásolása; ElválasztójelFeldolgozása; Az ElválasztójelFeldolgozása legtöbbször az elválasztójel másolását jelenti, de a makró definícióban különleges szerepet játszó karakterek esetén ettől eltérő – magától értetődő – speciális feladatot kell végrehajtani. A101-102 Máté: Architektúrák 12. előadás

A LOCAL utasítás feldolgozásához a makró generátor egy 0 kezdeti értékű változót használ. Makró híváskor a LOCAL utasításban szereplő szimbólumot, és az összes előfordulását a makró törzsben ??xxxx alakú azonosítóval helyettesíti, ahol xxxx a változó aktuális értéke hexadecimális számrendszerben. A változó értékét minden a LOCAL utasításban szereplő szimbólum feldolgozása után 1–gyel növeli. Legegyszerűbb, ha a lokális szimbólumot formális paraméternek tekinti, és a generált ??xxxx alakú azonosítót a megfelelő argumentumnak. A101-102, 537-538 Máté: Architektúrák 12. előadás

A következő feladatokat kell megoldania: Szerkesztő A következő feladatokat kell megoldania: az azonos nevű és osztályú szegmens szeletek egymáshoz illesztése a szegmens szeletek definíciójában megadott módon, a GROUP pszeudo utasítással egy csoportba sorolt szegmensek egymás után helyezése, a relokáció elvégzése, a külső hivatkozások (EXTRN) feloldása. Az object file nemcsak a lefordított utasításokat tartalmazza, hanem további – a szerkesztőnek szóló – információt is. A103-105, 547-552 Máté: Architektúrák 12. előadás

Futtatható bináris program Szerkesztő (~7.13. ábra) Lehetővé teszi a program akár különböző nyelveken készített részleteinek összeillesztését. 1. Forrás modul 2. Forrás modul 3. Forrás modul 1. Fordító 2. Fordító 3. Fordító 1. Tárgy modul 2. Tárgy modul 3. Tárgy modul Szerkesztő Futtatható bináris program A103-105, 547-552 Máté: Architektúrák 12. előadás

Két menetben dolgozik: Az első menetben táblázatokat készít (térkép – map és globális szimbólum tábla). A második menetben a táblázatokban elhelyezett információk alapján elvégzi a szerkesztést. A103-105, 547-552 Máté: Architektúrák 12. előadás

A térkép (map) szegmens szeletenként a következő információt tartalmazza: modul név, szegmens név, osztály, illesztés típusa, kombinációs típus, hossz, kezdőcím, relokációs konstans. Az első menet végén a térképet átrendezi, majd kitölti kezdőcímeket és a relokációs konstansokat. A103-105 Máté: Architektúrák 12. előadás

A globális szimbólum tábla a PUBLIC változókból: A PUBLIC utasítás nem tartalmazza a típust és a szegmens nevét, de az assembler ismeri, és el tudja helyezni a tárgy (object) modulban. A cím a táblázat összeállításakor még relokálatlan címet jelent. Az első menet végén ebben a táblázatban is elvégezhető a relokáció. modul név szegmens név szimbólum típus cím . . . A103-105 Máté: Architektúrák 12. előadás

Definiálatlan külső hivatkozások. Moduláris programozás. Az assembler az EXTRN utasítás alapján a következő információt adja át: Definiálatlan külső hivatkozások. Moduláris programozás. Object könyvtárak. hivatkozás1 hivatkozás2 . . . szimbólum típus szegmens név offszet cím A103-105 Máté: Architektúrák 12. előadás

Dinamikus szerkesztés Nagyméretű programokban bizonyos eljárások csak nagyon ritkán szükségesek. Ezeket nem kell statikusan a programhoz szerkeszteni. Csatoló táblázat (Linkage Segment): minden esetleg szükséges eljáráshoz egy csatoló blokkot (struktúrát) tartalmaz. CSAT_STR STRUCT CIM DD FAR PTR CSATOLO NEV DB ’ ’; 8 szóköz CSAT_STR ENDS A108-110, 555-559 Máté: Architektúrák 12. előadás

Pl. a dinamikusan szerkesztendő ALFA eljáráshoz az: CSAT_STR STRUCT CIM DD FAR PTR CSATOLO NEV DB ’ ’; 8 szóköz CSAT_STR ENDS Pl. a dinamikusan szerkesztendő ALFA eljáráshoz az: ALFA CSAT_STR <, ’ALFA’> csatoló blokk tartozhat. Az eljárás csatolása, hívása: MOV BX, OFFSET ALFA CALL [BX].CIM Első híváskor a CSATOLO kapja meg a vezérlést. A csatolandó eljárás neve a [BX].NEV címen található. A név alapján betölti és a programhoz szerkeszti a megfelelő eljárást. A108-110, 555-559 Máté: Architektúrák 12. előadás

CSAT_STR STRUCT CIM DD FAR PTR CSATOLO NEV DB ’ ’; 8 szóköz CSAT_STR ENDS A szerkesztés végeztével CIM -et a most a programhoz szerkesztett eljárás kezdőcímére változtatja, és erre a címre adja a vezérlést: JMP [BX].CIM JMP , és nem CALL, hogy a veremben a CSATOLO -t hívó programhoz való visszatérés címe maradjon. További hívások esetén a CSATOLO közbeiktatása nélkül azonnal végrehajtásra kerül az imént csatolt eljárás. A108-110, 555-559 Máté: Architektúrák 12. előadás

CSATOLO használhatja és módosíthatja a program szerkesztésekor készült térképet (map) és a globális szimbólumok táblázatát. Szokásos megszorítás: a csatolandó eljárás nem tartalmazhat EXTRN utasítást, és egyetlen, a memóriába bárhová betölthető modulból áll. Ekkor a szerkesztés magára a betöltésre, és ennek a tényét rögzítő adminisztrációra egyszerűsödik. A dinamikusan szerkesztett eljárásokat könyvtárakba szokás foglalni (pl.: .dll), az eljárások általában többszöri belépést tesznek lehetővé (re-entrant). A108-110, 555-559 Máté: Architektúrák 12. előadás

A csatoló paraméterként kapja meg a felhívandó eljárás nevét. Továbbfejlesztés: A csatoló paraméterként kapja meg a felhívandó eljárás nevét. A csatoló program hoz létre egy csatoló táblázatot. A csatoló a táblázatban ellenőrzi, hogy csatolva van-e a kívánt eljárás. Ha nincs, akkor elvégzi a csatolást, ha pedig csatolva van, akkor közvetlenül meghívja az eljárást. A108-110 Máté: Architektúrák 12. előadás

Menü vezérelt rendszer esetében, ha a kiválasztott menü elemhez tartozó szövegből generálni lehet az – esetleg csatolandó, majd – végrehajtandó eljárás nevét és az eljárást tartalmazó file nevét, akkor a program bővítését, javítását a megfelelő file-ok hozzáadásával vagy cseréjével és a menü szöveg file-jának cseréjével akár üzemelés közben is elvégezhetjük. A108-110 Máté: Architektúrák 12. előadás

A csatolt program törlése: a törlendő eljárás csatoló blokkjában a CIM visszaállítása – illetve a csatoló tábla törlése – után az eljárás törölhető. Szokásos, hogy egy dinamikusan szerkesztendő eljáráshoz tartozik egy számláló, melynek értéke a csatolás előtt 0. A hívó program először „bejelenti” az igényét az eljárásra. Ha a számláló 0, akkor megtörténik a csatolás, és mindenképpen: számláló ++. Ha a továbbiakban már nem igényli az eljárást, akkor „elengedi”: számláló --. Ha a számláló =0, akkor senki sem igényli az eljárást, tehát törölhető. A108-110 Máté: Architektúrák 12. előadás

Cím hozzárendelés (binding) Időosztásos (time sharing) rendszer. Egy program elindításakor többek között a következő feladatokat kell végrehajtani: betöltés – indítás – felfüggesztés – kimentés a program folytatásakor: visszamentés – futtatás – felfüggesztés – kimentés Általában nem biztosítható, hogy a visszamentett program a memóriának ugyanarra a területére kerüljön vissza, ahol korábban futott! A106-108, 552-555 Máté: Architektúrák 12. előadás

A cím hozzárendelés különböző időpontokban történhet: Ha pl. a programunk egy JMP L ugró utasítást tartalmaz, akkor L-hez valamikor hozzá kell rendelnünk egy konkrét fizikai címet – binding = (cím) hozzárendelés. A cím hozzárendelés különböző időpontokban történhet: Program írásakor (gépi kódú programozás): Manapság már ritka. Fellelhető a szegmens definícióban alkalmazható AT kifejezés kombinációs típusban. A106-108, 552-555 Máté: Architektúrák 12. előadás

Fordításkor: pl. szintén az AT kifejezés kombinációs típussal kapcsolatban, ha a szegmensben szimbolikus címzést használnak. Általánosan használt volt, amikor még nem különült el a fordítás és szerkesztés folyamata. Szerkesztéskor: Ma ez a cím hozzárendelés egyik legelterjedtebb módja. Általában ez valósul meg az assembly programokban is. A106-108, 552-555 Máté: Architektúrák 12. előadás

Betöltéskor: Ekkor a betöltő átveszi a szerkesztő feladatainak egy részét, pl. a FAR típusú cím konstansok értékének kiszámolását, hiszen ezek értéke a betöltés helyétől függ. A program betöltése valamivel hosszabb időt vesz igénybe, előnye viszont, hogy a betöltési cím tetszőleges lehet. A106-108, 552-555 Máté: Architektúrák 12. előadás

A címzéshez használt bázis regiszter kitöltésekor: Ez a módszer már biztosítja az időosztásos rendszerben futtatható alakú programok elkészítését, de a FAR címek nagy problémát jelentenek, mert a program áthelyezésekor módosítandók a FAR címek. Megfelelően kialakított hardver: pl. a Motorola 680x0 processzor család rendelkezik egy program bázis regiszterrel. Minden utasítás tartalmaz egy bitet, hogy a benne szereplő hivatkozás módosítandó-e a program bázis regiszterrel. A106-108, 552-555 Máté: Architektúrák 12. előadás

Az utasítás végrehajtásakor: Ehhez a cím hozzárendelést két lépésben valósítják meg. Először a szimbolikus címet virtuálissá alakítják (történhet pl. fordítási vagy szerkesztési időben), majd a virtuális címet fizikai címmé. Ez utóbbi a lap (page) tábla kitöltésekor, tehát gyakran az utasítás végrehajtásának megkezdése után történik. Amikor ugyanis a hivatkozott lap még nincs a memóriában, akkor azt az utasítás végrehajtása előtt be kell tölteni, a lap táblának a megfelelő elemét módosítani kell (cím hozzárendelés), majd ezután történhet a megkezdett utasítás végrehajtásának befejezése. A106-108, 552-555 Máté: Architektúrák 12. előadás

Programok hangolása Két operációs rendszer MULTIX TSS/67 Alkalmazott programozási nyelv 95%-ban PL/I assembly Program lista 3.000 oldal 30.000 oldal Programozók száma 50 300 Költség 10 millió $ 50 millió $ Egy programozó néhány évig egy nagyobb feladaton dolgozva havi átlagban csak kb. 100-200 (!!) ellenőrzött utasítást ír, függetlenül az alkalmazott programozási nyelvtől, és egy PL/I utasítás 5-10 assembly utasításnak felel meg. Sokkal gyorsabb TSS/67 ? A111-112, 526-528 Máté: Architektúrák 12. előadás

A kritikus részek felderítése. Irodalmi adatok alapján azt lehet mondani, hogy (hangolás előtti) nagyobb programok 1%-a felelős a program futási idejének kb. 50%-áért, 10%-a a 90%-áért. Program hangoláson azt a folyamatot értjük, amikor megállapítjuk a kritikus részeket, és ezek gyorsításával az egész program futását felgyorsítjuk. A kritikus részek felderítése. Tételezzük fel, hogy ugyanannak a feladatnak a megoldásához assemblyben 5-ször annyi utasításra (és időre) van szükség, mint probléma orientált nyelv esetén, és az elkészült program 3-szor olyan gyors. A probléma orientált nyelven készült változatának kritikus 10%-át assemblyben újra programozzuk. A111-112, 526-528 Máté: Architektúrák 12. előadás

programozó év futási idő 50 333 10 1000 1 900 9 100 1+5 300 15 400 A költségek és futási idők alakulása: programozó év futási idő Assembly nyelv 50 333 Probléma orientált nyelv 10 1000 Hangolás előtt a kritikus 10% 1 900 a többi 90% 9 100 Összesen Hangolás után 1+5 300 15 400 A111-112, 526-528 Máté: Architektúrák 12. előadás

a sebessége csak 20%-kal gyengébb (333 helyett 400). A program probléma orientált nyelven történő elkészítésének és hangolásának ideje (és költsége) kb. harmada (15 programozó év) annak, mintha az egészet assemblyben készítenénk (50 programozó év), a sebessége csak 20%-kal gyengébb (333 helyett 400). A111-112, 526-528 Máté: Architektúrák 12. előadás

I/O fej: vékony légrés választja el a lemeztől. Mágneslemez (2.19. ábra) I/O fej: vékony légrés választja el a lemeztől. Sáv (track, 5000-10000 sáv/cm), Szektor (tipikusan 512B, 50.000-100.000 bit/cm), pl.: fejléc + 4096 bit (= 512B) adat + hibajavító kód (Hamming vagy Reed-Solomon). 97-100 Máté: Architektúrák 12. előadás

Szektor rés: hogy az írás ne rontsa el a szomszédos szektort. Formázott és formázatlan kapacitás. Winchester lemez (IBM), légmentesen lezárt. Kezdetben 30 MB fix + 30 MB cserélhető. Az átmérő régen 50 cm, mostanában 3 – 12 cm közötti, sőt, kisebb is lehet. Lemezegység (2.20. ábra): közös tengelyen több (6-12) lemez. Cilinder. 97-100 Máté: Architektúrák 12. előadás

Keresési idő: sáv/cilinder keresés (seek) 5-10 ms. Forgási késleltetés: átlagosan egy fél fordulat ideje, 3-6 ms (60-180 fordulat/sec). Átviteli sebesség: 20-40 MB/sec. Maximális  átlagos Írás sűrűség: Régen: belül maximális, kifelé egyre kisebb (forgás szög alapján). Jelenleg: 10-30 zóna, a külső zónákban több szektor van egy sávon (2.21. ábra). 97-100 Máté: Architektúrák 12. előadás

Lemezvezérlő: vezérli a hardvert, nyilvántartja és átcímzi a hibás sávokat. Szoftver parancsokat hajt végre: kar mozgatás, READ, WRITE, FORMAT, … utasítások. További feladatai: hiba felismerés/javítás, soros – párhuzamos és párhuzamos – soros átalakítás. 97-100 Máté: Architektúrák 12. előadás

Hajlékony (floppy) lemez: szerviz célokra (karbantartási információk tárolására) találták ki. Az I/O fej hozzáér a lemezhez: gyorsan kopik, ezért leáll, ha éppen nincs feladata. Kb. 0.5 s, míg a lemez fölpörög. 100-101 Máté: Architektúrák 12. előadás

Később kevés lett 10 bit a cilinder címzésére. Lemez vezérlés PC-ken kezdetben CPU regiszterekbe töltött fej, cilinder, szektor címek alapján a BIOS (Basic Input Output System) vezérelt. Seagate lemezegység: 20 bites szektor cím. 4 fej (4 bit), 306 cilinder (10 bit) és sávonként 17 db 512 bájtos szektor (6 bit). Később kevés lett 10 bit a cilinder címzésére. IDE (Integrated Drive Electronics, max. 504 MB): a meghajtóba integrált vezérlő. Seagate kompatibilis! „Hazudnak” a BIOS-nak. A címet a vezérlő fej-cilinder-szektor címre fordítja. 101-102 Máté: Architektúrák 12. előadás

ATA-3 (AT Attachment, AT kiegészítő), majd EIDE (Extended IDE): LBA (logikai blokk címzés - Logical Block Addressing). Cím: 0 – 228-1. Maximum 128 GB ATA-3 (AT Attachment, AT kiegészítő), majd ATAPI-4 (ATA Packet Interface, ATA-csomaginterfész) 33 MB/s ATAPI-5 66 MB/s ATAPI-6 100 MB/s, 48 bites szektor cím 101-102 Máté: Architektúrák 12. előadás

ATAPI-7 A korábbi 80 vezetékes szalagkábel helyett 7 vezetékes kerek kábelt alkalmaz: jobb a légáramlás. Kezdetben 150 MB/s soros átvitel, ami várhatóan hamarosan 1,5 GB/s fölé emelkedik. 5 V helyett 0.5 V: kisebb energia fogyasztás. 101-102 Máté: Architektúrák 12. előadás

SCSI (Small Computer System Interface) lemezek: sokkal gyorsabb átvitelt biztosít (2.22. ábra), drágábbak is. SCSI: sín, vezérlő + maximum 7 (15) SCSI eszköz (lemez, nyomtató, CD, …) csatolható. A sín „átmegy” az eszközökön: az eszközöknek van egy bemenő és egy kimenő csatlakozója. A visszaverődő jelek kiszűrése miatt az utolsó eszközön a sínt le kell zárni. Minden eszköznek 0-7 (15) közötti azonosítója van. Egyszerre több eszköz is aktív lehet (EIDE: csak egy). 103-108 Máté: Architektúrák 12. előadás

Ipar: Inexpensive  Independent RAID (2.23. ábra): olcsó lemezek redundáns tömbje - Redundant Array of Inexpensive Disks. Több lemezt foglal egységbe, és ezeket úgy kezeli, mintha egyetlen nagyobb lemez lenne. A redundancia javítja a megbízhatóságot. Ipar: Inexpensive  Independent SLED: egyetlen nagy, drága lemez – Single Large Expensive Disk. RAID = RAID SCSI vezérlő + több SCSI lemez. Szabványok. Csoport = k szektor (k ≥ 1). 103-108 Máté: Architektúrák 12. előadás

Csoportok Csíkozás (striping). RAID szintek 0. szint: Nagy blokkok mozgatása gyorsabb. 1. 5. 9. 2. 6. 10. 3. 7. 11. 0. 4. 8. Csoportok Csíkozás (striping). 1. szint: Írás két példányban. Nagyobb biztonság, olvasás gyorsabb. 1. 5. 9. 2. 6. 10. 3. 7. 11. 0. 4. 8. 104-108 Máté: Architektúrák 12. előadás

3. szint: Ha egy diszk kiesik, nincs adatvesztés. 2. szint: Hamming kód: 4 adat bit + 3 ellenőrző bit. Nagyobb biztonság. Nagy átviteli sebesség. A diszkeknek szinkronban kell forogni. bit 2 bit 3 bit 4 bit 1 bit 6 bit 7 bit 5 3. szint: Ha egy diszk kiesik, nincs adatvesztés. bit 2 bit 3 bit 4 bit 1 paritás 104-108 Máté: Architektúrák 12. előadás

5. szint: Elosztja a paritás diszk terhelését. 4. szint: Az összetartozó csoportokhoz paritás csoport. Íráshoz olvasni is kell mindegyik diszkről. Nagyon terheli a paritás diszket. 0-3 4-7 8-11 paritás 1. 5. 9. 2. 6. 10. 3. 7. 11. 0. 4. 8. csoportok 5. szint: Elosztja a paritás diszk terhelését. csoportok 8. 12. 16-19. 0. 4. 9. 12-15. 16. 1. 5. 8-11. 13. 17. 2. 6. 10. 14. 18. 3. 4-7. 11. 15. 19. 0-3. 7 paritás 104-108 Máté: Architektúrák 12. előadás

Milyen hibákat ismerhet föl az assembler? Feladatok Milyen hibákat ismerhet föl az assembler? Milyen hibákat nem képes fölismerni az assembler? Mi a makró generátor feladata? Hogy ismerhetők föl a makró definíciók? Mi a makró generátor feladata makró definíció esetén? Hogy ismerhetők föl a makró hívások? Hogy illeszthető a program szövegéhez a makró kifejtés eredménye? Hogy működhet a makró kifejtés? Hogy történhet a LOCAL utasítás feldolgozása? Máté: Architektúrák 12. előadás

Mi teszi lehetővé a moduláris programozást? Feladatok Mi teszi lehetővé a moduláris programozást? Milyen előnyi vannak a moduláris programozásnak? Mire szolgál a szerkesztő? Milyen feladatai vannak a szerkesztőnek? Hogy működik a szerkesztő? Milyen táblázatokat készít a szerkesztő? Milyen információt tartalmaz a térkép (map)? Milyen információt tartalmaz a globális szimbólum tábla? Milyen információt helyez el az assembler az EXTRN utasítás alapján az object kódban? Mit nevezünk definiálatlan külső hivatkozásnak? Mire szolgálnak az object könyvtárak? Máté: Architektúrák 12. előadás

Mi a cím hozzárendelés (binding)? Mikor történhet a cím hozzárendelés? Feladatok Mi a cím hozzárendelés (binding)? Mikor történhet a cím hozzárendelés? Mi a hátránya a fordításkor történő cím hozzárendelésnek? Mi a hátránya a szerkesztéskor történő cím hozzárendelésnek? Mi a hátránya a betöltéskor történő cím hozzárendelésnek? Mi a hátránya a címzéshez használt bázis regiszter kitöltéskor történő cím hozzárendelésnek? Mi a program bázis regiszter? Mi a program bázis regiszter előnye? Máté: Architektúrák 12. előadás

Mi a dinamikus szerkesztés? Feladatok Mi a dinamikus szerkesztés? Mikor előnyös a dinamikus szerkesztés használata? Milyen dinamikus szerkesztési módokat ismer? Hogy nézhet ki a csatoló táblázat? Hogy hívható fel egy dinamikusan szerkesztendő eljárás? Milyen megszorításokat szokás alkalmazni dinamikusan szerkesztendő eljárások esetén? Milyen előnyökkel jár a dinamikus szerkesztés menü vezérelt rendszerek esetén? Hogy törölhető egy csatolt eljárás? Hogy ellenőrizhető, hogy törölhető-e egy csatolt eljárás? Máté: Architektúrák 12. előadás

Érdemes-e általában egy egész feladatot assembly-ben programozni? Feladatok Érdemes-e általában egy egész feladatot assembly-ben programozni? Mikor célszerű assembly programot írni? Mit értünk programok hangolásán? Miért gyorsítható egy program futása hangolással? Mit nevezünk kritikus résznek? Hogy deríthetők fel a kritikus részek? Hogy befolyásolja a hangolás egy probléma orientált nyelven írt program futási idejét és költségét? Máté: Architektúrák 12. előadás

Hogy vannak tárolva az adatok a mágneslemezen? Mi a sáv? Mi a szektor? Feladatok Hogy vannak tárolva az adatok a mágneslemezen? Mi a sáv? Mi a szektor? Milyen adatokat tartalmaz egy szektor? Miért van szükség a szektor résre? Mi a formázatlan és formázott kapacitás? Mi a lemez egység? Mi a cilinder? Milyen késleltetések lépnek fel a mágneslemez használatánál? Mi a keresési idő: Mi a forgási késleltetés? Mi az átviteli sebesség? Máté: Architektúrák 12. előadás

Mi a zónákra osztás szerepe? Feladatok Mi az írássűrűség? Mi a zónákra osztás szerepe? Milyen feladatai vannak a lemezvezérlőnek? Jellemezze a hajlékony lemezt (floppy)! Milyen lemez vezérlést ismer? Mi az IDE vezérlő fő jellemzője? Mi az EIDEvezérlő fő jellemzője? Mi az LBA lényege? Jellemezze az ATA-3, ATAPI-4, -5, -6 vezérlőket! Jellemezze az ATAPI-7 vezérlőt! Máté: Architektúrák 12. előadás

Milyen RAID szabványokat ismer? Mi a csíkozás (striping)? Feladatok Mi a SCSI? Mi a RAID? Milyen RAID szabványokat ismer? Mi a csíkozás (striping)? Milyen előnyei vannak a RAID-nek? Máté: Architektúrák 12. előadás