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:

Slides:



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

Hardver eszközök II. rész
Hardver ismeretek Háttértárolók
A számítógép felépítése
BIOS A BIOS mozaikszó, a Basic Input/Output System rövidítése, magyar fordításban alapvető ki- és bemeneti rendszerként szokták emlegetni.
RAID (Redundant Array of Independent/Inexpensive Disks) Független/Olcsó lemezek redundáns tömbje.
Small Liga Mozgás vezérlő rendszere
Adatbázisrendszerek elméleti alapjai 6. előadás
Adatbázisrendszerek elméleti alapjai 5. előadás
JavaScript.
A szoftver.
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
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,
EKG kapuzott (ECG gated) szív vizsgálat
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
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Felkészítő tanár: Széki Tibor tanár úr
A memóriák típusai, jellemzői
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
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 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,
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.
Összetett adattípusok a Pascal nyelvben
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.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Egy második generációs gép (az IBM 7094) felépítése
A Mikroprocesszor Harmadik rész.
Objektum orientált programozás
A Visual Basic nyelvi elemei
Háttértárak.
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Ismerkedjünk tovább a számítógéppel
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
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.
FAT (File Allocation Table)
Írja fel a tizes számrendszerbeli
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.
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.
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.
nagy tárterület létrehozása teljesítménynövelés
procedure MásodikMenet; 2. menet, vázlat
Cache példák 2019 (IMSC).
Előadás másolata:

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: 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;

Máté: Architektúrák13. előadás2 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);

Máté: Architektúrák13. előadás3 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;

Máté: Architektúrák13. előadás4 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 

Máté: Architektúrák13. előadás5 Ö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,...

Máté: Architektúrák13. előadás6 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),...

Máté: Architektúrák13. előadás7 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ák13. előadás8 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.

Máté: Architektúrák13. előadás9 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.

Máté: Architektúrák13. előadás10 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.

Máté: Architektúrák13. előadás11 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.

Máté: Architektúrák13. előadás12 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.

Máté: Architektúrák13. előadás13 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

Máté: Architektúrák13. előadás14 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.

Máté: Architektúrák13. előadás15 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.

Máté: Architektúrák13. előadás16 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évszegmens névszimbólumtípuscím...

Máté: Architektúrák13. előadás17 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ás1hivatkozás2... szimbólumtípusszegmens név offszet cím szegmens név offszet cím...

Máté: Architektúrák13. előadás18 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_STRSTRUCT CIMDDFAR PTR CSATOLO NEVDB’ ’; 8 szóköz CSAT_STRENDS

Máté: Architektúrák13. előadás19 CSAT_STRSTRUCT CIMDDFAR PTR CSATOLO NEVDB’ ’; 8 szóköz CSAT_STRENDS Pl. a dinamikusan szerkesztendő ALFA eljáráshoz az: ALFACSAT_STR csatoló blokk tartozhat. Az eljárás csatolása, hívása: MOVBX, 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.

Máté: Architektúrák13. előadás20 CSAT_STRSTRUCT CIMDDFAR PTR CSATOLO NEVDB’ ’; 8 szóköz CSAT_STRENDS 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.

Máté: Architektúrák13. előadás21 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).

Máté: Architektúrák13. előadás22 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.

Máté: Architektúrák13. előadás23 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.

Máté: Architektúrák13. előadás24 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ő.

Máté: Architektúrák13. előadás25 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!

Máté: Architektúrák13. előadás26 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.

Máté: Architektúrák13. előadás27 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.

Máté: Architektúrák13. előadás28 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.

Máté: Architektúrák13. előadás29 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.

Máté: Architektúrák13. előadás30 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.

Máté: Architektúrák13. előadás31 Programok hangolása Két operációs rendszerMULTIXTSS/67 Alkalmazott programozási nyelv 95%-ban PL/Iassembly Program lista3.000 oldal oldal Programozók száma50300 Költség10 millió $50 millió $ Egy programozó néhány évig egy nagyobb feladaton dolgozva havi átlagban csak kb (!!) 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 ?

Máté: Architektúrák13. előadás32 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.

Máté: Architektúrák13. előadás33 A költségek és futási idők alakulása: programozó évfutási idő Assembly nyelv50333 Probléma orientált nyelv Hangolás előtt a kritikus 10%1900 a többi 90%9100 Összesen Hangolás után a kritikus 10% a többi 90%9100 Összesen15400

Máté: Architektúrák13. előadás34 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).

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

Máté: Architektúrák13. előadás36 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.

Máté: Architektúrák13. előadás37 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 ( fordulat/sec). Átviteli sebesség: 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: zóna, a külső zónákban több szektor van egy sávon (2.21. ábra).

Máté: Architektúrák13. előadás38 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.

Máté: Architektúrák13. előadás39 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.

Máté: Architektúrák13. előadás40 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.

Máté: Architektúrák13. előadás41 EIDE (Extended IDE): LBA (logikai blokk címzés - Logical Block Addressing). Cím: 0 – 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 MB/s, 48 bites szektor cím

Máté: Architektúrák13. előadás42 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.

Máté: Architektúrák13. előadás43 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).

Máté: Architektúrák13. előadás44 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).

Máté: Architektúrák13. előadás45 RAID szintek szint:Nagy blokkok mozgatása gyorsabb. 1. szint:Írás két példányban. Nagyobb biztonság, olvasás gyorsabb Csoportok Csíkozás (striping).

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

Máté: Architektúrák13. előadás47 4. szint: Az összetartozó csoportokhoz paritás csoport. Íráshoz olvasni is kell mindegyik diszkről. Nagyon terheli a paritás diszket. 5. szint: Elosztja a paritás diszk terhelését paritás csoportok paritás

Máté: Architektúrák13. előadás48 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ák13. előadás49 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ák13. előadás50 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ák13. előadás51 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ák13. előadás52 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ák13. előadás53 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ák13. előadás54 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ák13. előadás55 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?