Tartalmi kivonat
DUNAÚJVÁROSI FŐISKOLA INFORMATIKAI INTÉZET Számítógéprendszerek és Irányítástechnika Tsz. Számítógép architektúrák I. (előadásvázlat) DR.CSERNY LÁSZLÓ főiskolai tanár DUNAÚJVÁROS, 2005/2006 2001, 2005 Cserny László (1399.Budapest,62 Pf685) Ezen dokumentum egészének és részeinek szerzői és egyéb jogai a feltüntetett szerzőt illetik. A dokumentum elektronikus formában másolható, de kizárólag saját, nem kereskedelmi célú felhasználásra, változtatások nélkül és a forrásra történő megfelelő hivatkozással. Minden más terjesztési és felhasználási mód esetében, a szerző hozzájárulása szükséges. Ennek a szerzői jogra vonatkozó szövegnek a dokumentumban mindig benne kell maradnia. Tartalomjegyzék TARTALOMJEGYZÉK . 2 1.BEVEZETÉS 5 1.1N É H Á N Y F O G A L O M É R T E L M E Z É S E 8 1.2S Z Á M Í T Á S A U T O M A T I Z Á L Á S A L A P J A I 9 2.ARCHITEKTÚRÁKRÓL ALAPFOKON 13 2.1A Z A R C H I T E
K T Ú R A L É N Y E G E 13 2.2A R C H I T E K T Ú R Á T B E F O L Y Á S O L Ó É S M E G H A T Á R O Z Ó T É N Y E Z Ő K 15 2.21Technológiai eszközök 15 2.22Szoftver eszközök 16 2.23Strukturális eszközök 16 2.3S Z Á M Í T Ó G É P E K A R C H I T E K T U R Á L I S C S O P O R T O S Í T Á S I L E H E T Ő S É G E I 18 2.4T I P I K U S S T R U K T Ú R Á K 19 2.41Klasszikus, egyprocesszoros, Neumann-elvű számítógépek 19 2.42Harvard struktúra 20 2.43Vektorszámítógépek(vector computers) 20 2.44Tömbprocesszoros számítógépek(array computer) 21 2.45Többprocesszoros számítógépek 22 2.46Adatvezérelt(data-flow) számítógép 24 2.47Neurális hálózatok 25 2.5N E U M A N N - E L V Ű , E G Y P R O C E S S Z O R O S G É P E K F E L É P Í T É S E 26 2.51Neumann-elvű gépek jellemzői 29 2.52Számítógépek erőforrásai 29 2.53Neumann-elvű, egyprocesszoros gépek korlátjai 34 3.SZÁMÍTÓGÉPEK ERŐFORRÁSAI 37 3.1K Ö Z P O
N T I E G Y S É G , P R O C E S S Z O R 37 3.11Adatok tárolási formái 38 3.12Utasítások tárolási formái 47 3.13Műveletek végrehajtása 51 3.14Utasítások végrehajtása 63 3.15RISC struktúra 67 3.2F O L Y A M A T O K P Á R H U Z A M O S Í T Á S A 72 3.21Átlapolt (pipeline) feldolgozási technika 72 3.22Szuperskalár technika 82 3.3T Á R O L Ó K E Z E L É S 88 3.31Alapfogalmak, tárolóhierarchia 88 3.32Valós tárkezelés(főtár használata) 89 3.33Regisztertárak 94 3.34Gyorsító(cache)-tárak 96 Cserny: Szg. arch 2005/06 2 3.35Virtuális tárkezelés 104 3.36Tárvédelmi módszerek 116 3.4K A P C S O L A T O K K E Z E L É S E 117 3.41Megszakítási rendszer 117 3.42Sínrendszer(buszrendszer) 120 3.43Adatbevitel/kivitel 127 4.PERIFÉRIÁLIS ESZKÖZÖK 132 4.1T Á R O L Ó E S Z K Ö Z Ö K 132 4.11Általános jellemzők 132 4.12Információtárolás 134 4.13Floppy illesztő 140 4.14Merevlemez illesztő 140 4.2M O N I T O R O K É S
V E Z É R L É S Ü K 144 4.21Alapfogalmak 144 4.22Kártyatípusok 146 4.3E G Y É B B E V I T E L I / K I V I T E L I E S Z K Ö Z Ö K 154 4.31Billentyűzet, egér 154 4.32Nyomtatók 155 ELLENŐRZŐ KÉRDÉSEK . 158 Cserny: Szg. arch 2005/06 3 Számítógép architektúrák Dr.Cserny László Témakörök: 1.Bevezetés • Számításautomatizálás alapjai 2.Architektúrákról alapfokon • Struktúrát meghatározó tényezők • Alapvető struktúrák • Neumann-elvű gépek elemei 3.Legfontosabb erőforrások • Központi egység, processzor • Korszerű processzor architektúrák • Tárolókezelés (valós, virtuális) • Kapcsolatok kezelése 4.Perifériális eszközök • Tárolóeszközök • Monitorok • Egyéb perifériák Cserny: Szg. arch 2005/06 4 1.Bevezetés Néhány alapkérdés: Mire használjuk a számítógépet? feladat: valamilyen probléma, feladat megoldásának segítése feldolgozás lépései (algoritmus - szoftver) feladat
adatai adatok feldolgozása (átalakítása) eredmény feldolgozás eszköze (hardver) (1.ábra) cél: a lehető legrövidebb időn belül, minimális ráfordítással előállítani az eredményt teljesítmény, hatékonyság probléma: = feladatok bonyolultsága, = több feladat egyidejű megoldása. Cserny: Szg. arch 2005/06 5 Mit kell tenni a teljesítmény növelése érdekében? A teljesítménynövelés forrása: • feldolgozási lépések párhuzamosítása, • erőforrások többszörözése. g a feladat részekre bontása munkamegosztás g megfelelő feldolgozó részegységek kialakítása erőforrások = ellenőrizhetőség, = hatékonyság(specializált egység). g részfeladatok végrehajtási sorrendjének kidolgozása, tekintettel az erőforrásokra: algoritmus, ütemezés; (2.ábra) g erőforrások és részfeladatok egymáshoz rendelésének, (rész)eredmények egységek közötti továbbításának, tárolásának időbeli szabályozása
vezérlés Cserny: Szg. arch 2005/06 6 Milyen legyen a feldolgozó eszköz? V (vezérlés) M (tárolás) felhasználó - algoritmus - adatok B/K K (kapcsolatok) (bevitel/kivitel) P (feldolgozó egység) (3.ábra) tetszőleges feladat megoldásához univerzális digitális csak algoritmizálható feladatokhoz használható ! (elvi jelentőségű - a gyakorlatban igazából csak ilyenekkel találkozunk) programozható Cserny: Szg. arch 2005/06 7 1.1Néhány fogalom értelmezése információ, informatika, adat, adatfeldolgozás, kód, kódolás, kódrendszer, algoritmus, utasítás, program, számítógép, hardver(hardware), szoftver(software), förmver (firmware), CISC(Complex Instruction Set Computer), RISC(Reduced Instruction Set Computer) Cserny: Szg. arch 2005/06 8 1.2Számításautomatizálás alapjai cél: műveletek automatikus elvégzése, adatbevitel/kihozatal biztosításával tárolt program, tárolt adatok. V (vezérlés) M (tárolás)
felhasználó - algoritmus - adatok B/K K (kapcsolatok) (bevitel/kivitel) P (feldolgozó egység) (4.ábra) követelmények, szükséges részegységek: • feldolgozó egység(minimális műveletkészlet: logikai alapműveletek) • tároló eszköz(program, adatok részére) • beviteli/kihozatali egységek • kapcsolatokat biztosító rendszer jelsorozatok átvitele • vezérlő egység működtetés (utasítások értelmezése, előző állapot figyelembevételével, feltételes végrehajtások kezelése) Cserny: Szg. arch 2005/06 9 Példák a részegységek kialakítására 1.példa: az egységek közötti adatforgalom biztosítása processzor tároló P/D CU ALU sínrendszer I/O külvilág (5.ábra) 2.példa: processzor - memória közötti átvitel gyorsítása tároló gyorsítótár P/D CACHE processzor CU ALU sínrendszer (6.ábra) Cserny: Szg. arch 2005/06 10 3.példa: grafikus megjelenítés problémája: nagy mennyiségű adat
átvitele igen rövid idő alatt. képméret: 600x400 pixel, színek száma: 256 8 bináris jegy = 8 bit, képváltás sebessége: 30 kép/sec, sebesség: 600x400x30x8 [bit/sec] = 57,6 mill. [b/s] ha 32 bites szavak átvitelét kell megoldani, ⇒ 1,8 mill. [szó/s] következmény: 0,55 [µs/szó] = külön videomemória, = kapcsolat a rendszersín és a videovezérlő felé is, = külön sín a videomemória és a videovezérlő között; a grafikus adatátvitel és az utasítások átvitele egymástól elkülönítetten történik egymást nem zavarják! Cserny: Szg. arch 2005/06 11 utasításfeldolgozás elemi lépései: = utasítás előkészítés(lehívás, kikeresés), = műveleti előírás értelmezése('mit kell csinálni?'), = a művelethez szükséges adatok (operandusok) kikeresése a tárolóból, = a művelet elvégzése, = az eredmény visszaírása a tároló meghatározott helyére, = a következő utasítás helyének(címének)
meghatározása Ha az utasítás és az adatok ugyanabban a tárolóban találhatók, akkor csak egymást követően lehet azokat kikeresni MAR cím dekódoló 2 utasításlehívás 4 operandus lehívás MBR operandus beírás 7 program ALU adatok 6 AC MBR mûv. vezérlés utasítás olvasás 1 PC 5 operandus olvasás CU op. cím IR 3 (7.ábra) Cserny: Szg. arch 2005/06 12 2.Architektúrákról alapfokon 2.1Az architektúra lényege számítógép rétegelvű felfogása virtuális gépek legegyszerűbb: felhasználó ↓ szoftver ↓ hardver általánosabb: alkalmazások operációs rendszerek architektúrák dig.árkörök technológiák felhasználói keretrendszer alkalmazói programok szintje ↓ operációs rsz. felső szintje (parancs szint) operációs rsz. alsó szintje (rutin hívási szint) ↓ gépi kódú utasítások szintje elemi műveleti szint (µ-program szint) ↓ áramköri egység szintje ↓ áramköri elemek szintje Cserny:
Szg. arch 2005/06 13 virtuális gép: bármely szinten a szemlélő által látott egységek és működési, viselkedési jellemzők összessége. (pl. felhasználói szinten: = PC, billentyűzet, monitor, egér, nyomtató; = bekapcsolás, felhasználói rendszer - pl. szövegszerkesztő - funkcióinak használata, kikapcsolás, stb.) architektúra: az adott virtuális gép egységei, szerkezeti (strukturális) felépítése, működési elvei. architektúra meghatárózója: számítási (feldolgozási) modell. probléma: a felhasználói alkalmazás feladatfelbontása (műveletei) és a végrehajtás elemi egységei közötti összhang, megfeleltethetőség: utasítás ↔ végrehajtható művelet összerendelhetősége; szoftver-hardver rés (software - hardware gap); cél: ennek csökkentése megfelelő rétegzéssel és a hozzájuk tartozó modularizált (funkcionális) feldolgozó egységek kialakításával. Cserny: Szg. arch 2005/06 14 2.2Architektúrát
befolyásoló és meghatározó tényezők Cél: a feladatok végrehajtási idejének a csökkentése: teljesítmény növelése, hatékonyság növelése, megbízhatóság növelése. lehetőségek: sebesség növelése, párhuzamosság növelése, erőforrások többszörözése. 2.21Technológiai eszközök • Órajelfrekvencia növelése(1-2 GHz) korlátozza: − az áramkörök kapcsolási sebessége: = bipoláris techn.: gyors működésűek = MOS(metal-oxid semiconductor) technológia kisebb teljesítményigény − az áramkörök integráltsági foka (a lapkán lévő tranzisztorok száma, vezetéktávolság: 0.13-018 µm): = VLSI(very large SI) 100e-mill. Cserny: Szg. arch 2005/06 15 2.22Szoftver eszközök • Operációs rendszer: = multiprogramozott feldolgozás, = védelmi funkciók, = erőforrások hatékony használata. • Magassszintű programozási nyelvek(HLL = High Level Language) és gépi kód közötti távolság csökkentése ===>
'semantic gap'. • Optimalizáló fordítóprogramok használata. Kérdés: mit bizzunk a hardverre és mit a szoftverre? 2.23Strukturális eszközök a.)Erőforrások használata (különösen: processzor, tárolók) • processzor funkcióinak javítása = műveletek, utasítások végrehajtásának átlapolása 'pipeline' (csővezeték, futószalag) feldolgozás, = végrehajtó egységek számának növelése szuperskalár feldolgozás; = belső struktúra illesztése a magasszintű nyelvekhez, feladatokhoz(pl. ciklusszervezés); Cserny: Szg. arch 2005/06 16 • tárolókezelés = adatelérési lehetőségek formája: - közös (shared) memória egyetlen adat - elosztott memória; üzenet-továbbítós rendszer. = tárhierarchia kialakítása cache-tár, = virtuális tárkezelés; • periféria használata = csatorna-elv, = sínrendszer; • erőforrások(processzorok) többszörözése. b.)Vezérlés elve ( számítási modell) = vezérlés
áramlásos(control driven, -flow), = adatvezérelt(data driven, -flow), = igényvezérelt(demand driven), c.)Utasításszerkezet, utasításkészlet = bonyolultság növekedett CISC processzorok végrehajtás sebessége csökkent = egyszerűsített utasításkészlet RISC processzorok • műveleti (utasítás végrehajtási) vezérlés megvalósítása: = huzalozott(általában: RISC), = mikroprogramozott(általában: CISC). Cserny: Szg. arch 2005/06 17 2.3Számítógépek architekturális csoportosítási lehetőségei a.)Folyamatok 1966): szerinti csoportosítás(Flynn, SISD(Single Instruction Single Data Stream), ===> pl. Neumann-féle modellek SIMD(Single Instruction Multiple Data Stream), ===> pl. vektor-, tömbprocesszoros számítógépek MISD(Multiple Instruction Single Data Stream), ===> nincs ilyen(esetleg: pipeline) MIMD(Multiple Instruction Multiple Data Stream), ===> pl. multiprocesszoros gépek b.)Vezérlési elv szerinti csoportosítás: •
vezérlésáramlásos, vezérlésfolyam elvű (control-flow, control-driven), • adatfolyam elvű(data-flow, data-driven), • igény elvű(demand-driven), Cserny: Szg. arch 2005/06 18 2.4Tipikus struktúrák 2.41Klasszikus, egyprocesszoros, elvű számítógépek Neumann- • jellemzők: = 'control-flow' vezérlés utasítások végrehajtása egymást követöen; SISD elvű, = tárolt program, = közös program- és adattárolás program módosíthatósága, = funkcionális egységei: - központi egység(CU, ALU), - központi tár, - perifériák. központi tároló utasítások adatok CPU CU ALU (8.ábra) • korlát: processzor-memória közötti adatátvitel sebessége. • párhuzamosítás lehetősége mérsékelt: = multiprogramozás(programszintű párhuzamosítás), = utasítások és műveletek átlapolt/párhuzamos végrehajtása 'pipeline'/szuperskalár techn. = funkcionális egységek(pl.: ALU) többszörözése = processzor és I/O
műveletek átlapolása 'spooling' technika, Cserny: Szg. arch 2005/06 19 2.42Harvard struktúra - jellemző: u.a mint a Neumann-elvű számítógép, csak külön program- és külön adattároló van programmódosítás lehetősége megszűnik. központi tároló M1 utasítások adatok CPU CU M1 = programtároló M2 = adattároló M2 ALU (9.ábra) 2.43Vektorszámítógépek(vector computers) - jellemzői: = SIMD típusú számítógép, = adatsor(vektor) feldolgozása ugyanazzal a művelettel adat-pipeline, = vektor-utasításokkal rendelkezik, = memóriából adatsor letöltése adatsor (vektor) címzése átlapolt memóriakezelés (memory interleaving), = skalár processzor is célszerű. - szuperszámítógépek: Cray 1,2(138-250 MFLOPS), CDC Cyber 205 Cserny: Szg. arch 2005/06 20 2.44Tömbprocesszoros számítógépek(array computer) - jellemzők: = SIMD típusú számítógép, = multiprocesszoros, = minden processzor ugyanazt az
utasítást (műveletet) hajtja végre. központi tároló vezérlés CU P1 P2 Pn-1 Pn processzorok Mn tárolók kapcsoló hálózat M1 M2 Mn-1 (10.ábra) - szuperszámítógépek: Borroughs ILLIAC-IV (1966-72), 4x(8x8) processzor, 200 MIPS, 55 MFLOPS; Borroughs Scientific Processor(BSP) (1977-80), 50 MFLOPS; ICL DAP. Cserny: Szg. arch 2005/06 21 2.45Többprocesszoros számítógépek - jellemzők: = MIMD típusú számítógépek, = processzorok között feladatmegosztás lehetséges, = processzoronként több folyamat is lehet ütemezési problémák, - memóriahasználat (folyamatok közötti adatcsere) alapján: = közös használatú(shared) memória: dinamikus kapcsolóhálózat köti össze a processzorokat és a közös memóriá (ka)t közös változók, struktúrája hasonló a 9.ábrán lévőhöz; = elosztott(distributed) memória: statikus kapcsolóhálózat, adatcsere üzenetek segítségével (message passing); formája: • cél(fogadó)
processzor azonosítója, • küldő processzor azonosítója, • egyéb jellemzők(pl.: kvánt művelet), • adatok. Cserny: Szg. arch 2005/06 22 - típusai, példák: közös memóriahasználatú: Denelcor HEP 16 feldolgozó egység, csomagkapcsolt hálózat, C.mmp(Carnegie-Mellon Univ)1971-1978; 16 db DEC PDP-11, 16x1 MB memória, crossbar kapcsolóhálózat, C.m* (Carnegie-Mellon Univ.), 5 db proc csoport(cluster) DEC LSI-11 mikroszámítógépekből; elosztott memóriahasználatú: Caltech(California Institute of Technology) Cosmic Cube 64 proceszszor(1983), Intel iPSC/1,2 [Personal Super Comp.] (1985, '86), egyetlen 'chip'-ben(proc., mem, I/O egység DMA) transputer (INMOS T212, T414, T800); CPU1 CPU2 CPUn-1 CPUn CPU = processzor = memória = I/O egység = belsõ sín kapcsoló hálózat (11.ábra) Cserny: Szg. arch 2005/06 23 2.46Adatvezérelt(data-flow) számítógép - utasítások végrehajtása: = ha az előző utasítás kész
control-flow, Neumann-struktúra, = ha az operandusok rendelkezésre állnak adatvezérelt számítógép (data-driven, -flow) - programozással egy-egy csomóponthoz(node) egy-egy eljárást, műveletet rendelnek hozzá. - kiinduló pont: az adatfolyam gráf, pl.: 2 kifejezés = b - 4*ac a b c * 4 * b * b 2- 4*ac (12.ábra) Cserny: Szg. arch 2005/06 24 - példa: Manchester Ring Machine (1976-1980) programtároló utasításelõkészítés token összeillesztõ elõfeldolgozó tokenek várakozósora vezérlõ számítógép kapcsoló hálózat bemeneti sín P1 Pn-1 P2 processzorok Pn kimeneti sín (13.ábra) 2.47Neurális hálózatok − speciális feldolgozóelemek(neuronok) különböző típusú hálózatai alkotják, − nem programozzák, tanítják mintapéldák segítségével nem univeryális, − alkalmazása: mesterséges intelligencia, irányítástechnika, robottechnika. Cserny: Szg. arch 2005/06 25 2.5Neumann-elvű, egyprocesszoros
gépek felépítése • előzmények(C.Babbage, Neumann J) • felépítés bemutatási módjai: = funkcionális felépítés: háttér tárolók program adatok beviteli központi kiviteli eszközök egység eszközök eredmény ember-gép kapcsolat (14.ábra) Cserny: Szg. arch 2005/06 26 = rendszertechnikai felépítés: proceszszor monitor cachetár grafikus illesztõ memóriasín fõtár videomemória PCI rendszer sín SCSI illesztõ hálózati illesztõ hangkártya bõvítõ illesztõ SCSI sín ISA bõvítõ sín (PCMCIA bõvítõ sín) lemez streamer I/O vezérlõk CD-ROM I/O vezérlõk I/O vezérlõk (15.ábra) Cserny: Szg. arch 2005/06 27 = elrendezési rajz(PC): ( nem a legújabb változat !) alaplap FDD MEM HDD vez. FD csatlakozók FD AGP HD CPU BIOS ROM µP csatlakozók CU ALU I/O vez. bill. vez. mon. vez. PRT PCI vez. chip hangvez. vez. chip memória EIDE ATX BILL MON SPKR a.) alaplap rendszerkapcsolatai b.)
alaplap elrendezése (16.ábra) Cserny: Szg. arch 2005/06 28 2.51Neumann-elvű gépek jellemzői • vezérlése: vezérlés-áramlásos(control flow), az utasítások soros feldolgozása az utasításszámláló regiszter(PC=Program Counter) segítségével, • tárolt program alapján működik, • közös program- és adattárolás ===> program módosíthatósága, • aritmetikai(összeadás/kivonás - szorzás/osztás) és logikai('ÉS'-, 'VAGY'-, 'NEM'-) műveletek végzésére alkalmas, • önálló beviteli/kiviteli egységgel rendelkezik. 2.52Számítógépek erőforrásai • központi egység(CPU=Central Processing Unit), processzor = vezérlő egység(CU=Control Unit), = aritmetikai és logikai egység (ALU=Arithmetic-Logic Unit), = központi tár(?) helyette: regiszterek, gyorsító tárak; • tárolók(regisztertárak, gyorsító tárak, főtár, másodlagos-, vagy háttértárak), • kapcsolati, átviteli
eszközök(sínrendszer, csatornarendszer), • perifériák(beviteli/kiviteli egységek, embergép-kapcsolat eszközei). Cserny: Szg. arch 2005/06 29 a.) Processzor • feladata: • részegységei: − végrehajtó egységek(fixpontos, lebegőpontos ALU, elágazásfeldolgozó), − vezérlőegység műveleti vezérlés = huzalozott logikával(RISC), = mikroprogramvezérelt módon(CISC). IR op.k cím FLAG feltételjelzõk µ P-tár címdekódoló vezérlõjelek következõ mikroutasítás címe (17.ábra) Cserny: Szg. arch 2005/06 30 − tárolók: = regiszterek funkcionális(utasításszámláló regiszter[PC=Program Counter], utasításregiszter[IR=Instruction Register], vezérlő/állapotjelző regiszter [Control/ State Register], akkumulátor regiszter [AC=Accumulator Register], stb), általános célú regisztertár; = gyorsító(cache)tárak; − belső sínrendszer(adatutak) • típusai, pl.: − Intel pr.család(i386/486, iP,iP II, iP III, iP4), −
AMD(K5, K6, Athlon), Cyrix(M1, M2) hasonmások, − Motorola család(MC68030, MC68040, MC68060), − Apple-IBM-Motorola(Power1,2 PowerPC család), − Sparc, MIPS (RISC processzorok). Cserny: Szg. arch 2005/06 31 b.)Tárolók • feladatuk tárhierarchia • regiszterek(funkcionális, általános), • gyorsítótárak(cache-tárak), • főtár(bit, byte, rekesz, cím, címtartomány) − RAM=Random Access Memory(DRAM, SRAM) − ROM=Read Only Memory(PROM, EPROM); • háttértárak(tulajdonképpen perifériális eszközök): − mágnesszalagtárak, − mágneslemeztárak(merevlemez, hajlékonylemez), − optikai lemezek; c.)Kapcsolati rendszerek • feladatuk: kapcsolatteremtés a gép különböző egységei között (processzor - memória, processzor - periféria, memória - periféria) • sínrendszer(ISA, EISA, PCI, VESA, AGP, stb) • csatornarendszer(szelektor, multiplexor csatornák): Cserny: Szg. arch 2005/06 32 KBD gyorsítótár CH processzor PR MEM PRT
DPL ≈ ≈ bill. vezérlõ mon. vezérlõ HD ≈ FD ≈ lemez vezérlõ prt. vezérlõ helyi sín adat cím vezérlés rendszer sín (18.ábra) memória-csatorna sín I/O-vezérlés MEM SEL MPX rendszersín D DPL KBD D CPU PRT D TAF gyors perifériák lassú perifériák távadatfeldolgozás T T (19.ábra) Cserny: Szg. arch 2005/06 33 d.)Perifériális eszközök • feladatuk: • típusaik(billentyűzet, egér, szkenner, nyomtató, rajzgép, hálózati csatoló, távközlési csatoló, stb.) 2.53Neumann-elvű, egyprocesszoros gépek korlátjai Egyidőben csak egy folyamat feldolgozása történhet csak egy processzor van csak; az erőforrások használata nem, vagy csak részben megosztható. (Memória sávszélesség!) Részleges (program-, illetve utasításszintű) párhuzamosítás alkalmazható: = program szintű párhuzamosítás: ===> multiprogramozás, = processzor működése: utasításszintű párhuzamosítás: ===>
'pipeline' technika, ===> szuperskalár technika, = processzor-memória kapcsolat gyorsítása: ===> gyorsítótár(cache-tár), ===> 'memory interleaving' technika, = processzor - I/O műveletek párhuzamosítása: ===> I/O 'spooling' Cserny: Szg. arch 2005/06 34 A multiprogramozás lényege: több feladat (program) látszólag párhuzamos feldolgozása. Kötegelt feldolgozás(batch processing): eszközök K-eszköz B-eszköz Processzor idõ 1.program indulása 1.program vége (20.ábra) Multiprogramozott(multi-programming) feldolgozás: eszközök Ki-eszköz Be-eszköz idõ Processzor 3.program 2.program 1.program indulása 1.program 2program vége (21.ábra) Cserny: Szg. arch 2005/06 35 A processzor, mint erőforrás, időtartamának felosztási módszerei: = prioritásos módszer, = időosztásos(time-sharing) módszer, = időazonos(real time) módszer 'Spooling' technika: az I/O műveleteket(pl.
nyomtatás, vagy adatbetöltés) függetlenítjük a processzor működésétől; Tárhierarchia, gyorsítótárak, "pipeline', szuperskalár technika: később tárgyaljuk. Cserny: Szg. arch 2005/06 36 3.Számítógépek erőforrásai 3.1Központi egység, processzor Miről lesz szó? = adat- és utasítástárolási formák, = aritmetikai és logikai műveletek végrehajtása, = utasításfeldolgozás. A processzor struktúráját = mind az adatok, = mind az utasítások tárolási, kezelési formája befolyásolja. A Neumann-elvű számítógépeknél a tárolt jelsorozat alapján nem dönthető el, hogy az a jelsorozat adat-e, vagy utasítás! Csak az értelmezés módja határozza ezt meg! Cserny: Szg. arch 2005/06 37 3.11Adatok tárolási formái a.)Számok szokásos írásmódjai Napi gyakorlatban: helyiértékes, tízes számrendszer alapján. A számok szokásos írásmódja az alábbi: A ≡ (± a−m a−m+1a−m+ 2 K a−1a0 , a1a2 a Kan ) a h o
l a− m , a− m +1 , K, a−1 , a0 , K, an a z e g y e s h e l y i é r t é k e k e n szereplő számjegyek alaki értékei. A jelsorozat értelmezése(r = radix, az alapszám): n A = ± ∑ ai r − i és i =− m 0 ≤ ai < r minden i-re. Például: B = 7346 = 7 ⋅ 103 + 3 ⋅ 102 + 4 ⋅ 101 + 6 ⋅ 100 = 7000 + 300 + 40 + 6 = 7346 10 10 10 B = 7346 = 7 ⋅ 83 + 3 ⋅ 82 + 4 ⋅ 81 + 6 ⋅ 80 = 3584 + 192 + 32 + 6 = 3814 8 8 10 A leggyakrabban használt formák: = fixpontos irásmód(pl.: 63.5 -45 0.68), = lebegőpontos, hatványkitevős forma (pl.: 3452⋅105 -0.683⋅10-7), = normalizált(nullára, vagy egyesekre). Cserny: Szg. arch 2005/06 38 b.)Tárolási formák Feladat: mindig a célnak leginkább megfelelő tárolási forma használata: = numerikus adatok: kettes számrendszer szerint, tízes számrendszer szerint, = alfanumerikus adatok: ASCII, EBCDI b1.)Numerikus adatok tárolása kettes számrendszer alapján Cél: az aritmetikai műveletek gyors
elvégezhetősége helyiértékes számrendszer alapján, kettes számrendszer alapján. Szokásos formái: = kettes számrendszer alapján: - fixpontos egész, tört, - lebegőpontos, normalizált, = decimális forma szerint(BCD). Cserny: Szg. arch 2005/06 39 Fixpontos egész és tört tárolási formája(2-4 byte): elõjelbit elõjelbit kettedes pont helye kettedes pont helye fixpontos egészszám fixpontos törtszám (22.ábra) például: n-1 n-2 fixpontos egészszám . 3 2 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 a tárolt számérték: 44 n-1 n-2 fixpontos törtszám . 5 4 . kettedes pont helye . 5 4 3 2 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 kettedes pont helye a tárolt számérték: 11/16=0.6875 (23.ábra) Cserny: Szg. arch 2005/06 40 Lebegőpontos számok tárolási formája(4-8 byte): elõjelbitek karakterisztika mantissza (fixp. egész) (fixpontos tört) kettedes pont helye (24.ábra) például: elõjelbitek karakterisztika mantissza 0 0 0 0 0
0 1 1 0 1 0 1 1 0 . értéke: 2 +11 . 0 0 értéke: +0.1011 kettedes pont helye (25.ábra) a tárolt számérték: +0.1011 ⋅ 2+11 = 10112 = 5510 Cserny: Szg. arch 2005/06 41 Pozitív, negatív számok tárolása: Cél: az aritmetikai műveletek(kivonás) elvégezhetősége minimális átalakítással, kiegészítő műveletek nélkül. Formái: = előjeles, abszolútértékes(+ 0, - 1), = egyes komplemensű(0 1, 1 0), = kettes komplemensű(jobbról az első 1esig bezárólag változatlan, majd a továbbiakban 0 1, 1 0), = 2n-1 többletes(az n-bit hosszúságú, előjeles számhoz hozzáadott érték). a tárolt számérték - 107 1 1 1 0 1 0 - 107 1 0 - 107 1 0 0 - 107 1 1 elõjeles, abszolútértékes 1 0 0 egyes komplemenskódú 1 0 1 0 1 kettes komplemenskódú 0 0 0 1 0 1 0 1 2 n-1 0 1 0 többletes (26.ábra) Cserny: Szg. arch 2005/06 42 IEEE 754-es, 854-es lebegőpontos szabvány: Cél: az egységes és pontos lebegőpontos
számkezelés Formája(matematikai értelmezése): ± p+e A = (− 1)s ⋅ (1.a ) ⋅ 2 ahol s a p e a mantissza előjele; 0, ha pozitív és 1, ha negatív, az egyesekre normalizált mantissza törtrésze, a karakterisztika(hatványkitevő) eredeti értéke, az eltolás(a többlet) értéke, amelynek nagysága 2 m-1 -1, ahol m=8, 11, 15. szignifikandus elõjele karakterisztika szignifikandus +- p+e a egyszeres és dupla pontosságú kettedes pont helye szignifikandus elõjele karakterisztika szignifikandus kiterjesztett pontosságú 1 kettedes pont helye (27.ábra) Cserny: Szg. arch 2005/06 43 Lehetséges méretek: = egyszeres pontosságú(single precision, 32 bit), = dupla pontosságú(double precision, 64 bit), = kiterjesztett pontosságú(extended precision, 80 bit), = négyszeres pontosságú(quadrupled precision, 128 bit). Adatformátumok: szignifikandus elõjele adatformátumok karakterisztika szignifikandus normalizált + − tetsz. kitevõ tetszõleges
számérték denormalizált + − 0 nem nulla számérték nulla + − 0 0 végtelen + − 111 . 111 0 'nem-szám' + − 111 . 111 nem nulla számérték (28.ábra) = normalizált adatformátum, = denormalizált(denormalized) adatformátum, = nulla számérték, = végtelen értékének adatformátuma, = nem meghatározott számérték, 'nem-szám' (NaN=Not a Number) adatformátum; Cserny: Szg. arch 2005/06 44 b2.)Numerikus adatok tizes számrendszer szerinti tárolása Cél: nagyobb adatmennyiség és kevesebb aritmetikai művelet esetén ===> kevesebb legyen az adatkonverzió. Formái: BCD(binary coded decimal), Aiken, Stibitz, Gray-kód, stb. Leggyakoribb a BCD-kód alkalmazása: a számokat számjegyenként kettes számrendszerbe konvertálva és 4 helyiértékre(tetrád-dá) kiegészítve. 0 1 2 3 4 5 6 7 8 9 Előjel részére, pl: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1100 1101 + előjel, - előjel. - 2 6 5 9 10 0 0
0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 (29.ábra) Cserny: Szg. arch 2005/06 45 b3.)Alfanumerikus adatok tárolási formája Cél: az adatok tárolása, aritmetikai műveletvégzés igénye nélkül. Karakterenként egy-egy, többnyire 8-bites jelkombináció (kódszó) hozzárendelése: ASCII kód(American Standard Code for Information Interchange): mikroszámítógépeknél általánosan használt. például: A B 41h 42h 0100 0001 0100 0010 0 1 30h 31h 0011 0000 0011 0001 9 39h 0011 1001 + 2Bh 0010 1011 EBCDI kód(Extended Binary Coded Decimal Interchange Code): IBM nagygépeknél használt kódrendszer. b4.)Egyéb adattárolási módszerek = jelölt(tagged) adattárolás, = deszkriptoros tárolási forma, = összetett strukturális forma. Cserny: Szg. arch 2005/06 46 3.12Utasítások tárolási formái Az utasítások szerkezete és a rendelkezésre álló elemi utasítások köre meghatározó a processzor struktúrájának kialakításában. Az
elemi 'gépi kódú' utasítás részei: mûveleti jelrész címrész módosító rész (30.ábra) = műveleti jelrész(operation code, opcode): mi a teendő? = címrész(address field): az operandusok tárolóbeli helyének a kijelölése. = kiegészítő, módosító rész: a címzési előírás módosításához, pontossá tételéhez. Az utasítások hossza: = azonos mindig(pl. RISC processzoroknál 4 byte), = változó(pl. CISC processzoroknál 1-17 byte) Problémák: = utasításhossz ⇔ = utasításkészlet ⇔ átvitel sebessége, feldolgozás sebessége, processzor struktúrája, feldolgozás sebessége. Cserny: Szg. arch 2005/06 47 a.)Utasításszerkezet Előírja, hogy az utasítás melyik részét hogyan kell értelmezni. Legáltalánosabban(kétoperandusos, műveleti utasításnál), egyidőben a következő címekre van szüksége a gépnek: = első operandus címe, = második operandus címe, = eredmény címe, = következő utasítás címe. Van,
amikor nincs szükség ennyi címre. 4-címes utasítás mûveleti 1.operandus jelrész címe 2.operandus címe eredmény címe PC bevezetésével 3-címes utasítás 1.operandus címe 2.operandus címe 2-címes utasítás 1.operandus mûveleti jelrész címe 2.oper + eredm. címe mûveleti jelrész következõ ut. címe eredmény címe AC bevezetésével, vagy az eredmény a 2.operandus helyére kerül AC bevezetése szükséges 1-címes utasítás operandus mûveleti jelrész címe veremtároló bevezetésével 0-címes utasítás mûveleti jelrész (31.ábra) Cserny: Szg. arch 2005/06 48 b.)Utasítástípusok, utasításkészlet b1.)Utasítástípusok = átviteli utasítások: - tárolóhivatkozású utasítások, - veremkezelő utasítások, - periféria utasítások; = műveleti utasítások: - aritmetikai műveleti utasítások(+,-,*,/), - logikai műveleti utasítások,(and, or, not), - léptető/forgató(shift/rotate) utasítások, - bitműveleti
utasítások, - karakterlánc(string) műveleti utasítások; = vezérlő utasítások: - feltétel nélküli ugrató utasítás, - feltételes ugró utasítások, - alprogram(szubrutin)hívó utasítás, - 'return' utasítás, - leállító utasítás, - ciklusutasítás, - megszakítást tiltó és engedélyező utasítások, - 'halt' utasítás. Cserny: Szg. arch 2005/06 49 b2.)Utasításkészlet Azon elemi (gépi kódú) utasítások összessége, amelyeket a gép a legalsó, hardver szinten értelmezni és végrehajtani tud. Ez a programozó által használható legalsó szint. Jellemzők: = elemi utasítások száma, = az elemi utasítások tartalma, az elvégzendő feladatok összetettsége, = a kezelhető feltételek száma, = az egyes jellemzők következetes használati lehetősége, = az utasítások által nyújtott támogatás: - a programíráshoz, - a program fordításához, - az ellenőrízhetőséghez. Az utasításkészlet kialakítását
befolyásolja, hogy mit bízunk a hardverre és mit bízunk a szoftverre: Összetett utasításkészlet ⇒ CISC processzorok; Egyszerűsített utasításkészlet ⇒ RISC processzorok. Cserny: Szg. arch 2005/06 50 3.13Műveletek végrehajtása Elvégezhető műveletek: = aritmetikai műveletek, = logikai műveletek. a.)Aritmetikai műveletek - kettes számrendszer alapján: = fixpontos számok körében, = lebegőpontos számok körében; - tízes számrendszer alapján: = BCD kód alapján. Bináris jelrendszer alkalmazása révén, az aritmetikai műveletek visszavezethetők a logikai műveletekre. a1.)Műveletek fixpontos számokkal Összeadás: Szokásos helyiértékes ábrázolás szerint végezhető el. Például: A=22 0 001 0110 B=75 0 100 1011 ---- ---------------97 0 110 0001 Átvitelképzés: 10 és 11 esetén. Végrehajtás: párhuzamosan, minden helyiértéken. Cserny: Szg. arch 2005/06 51 Kivonás: Komplemenskód használatával; oka, hogy így: = a
kivonás visszavezethető az összeadásra, = az előjel automatikusan adódik. Például: A= 97 B=-62 0 110 0001 1 011 1110 B komplemense: 1 100 0010 ----- ---------------A+Bk 35 1 0 010 0011 A= 45 0 010 1101 B=-52 1 011 0100 ----- ---------------B komplemense: 1 100 1100 ----- ---------------A+Bk -7 1 111 1001 az eredmény negatív ===> komplementálás A+Bk -7 1 000 0111 Szorzás, osztás: Az alkalmazott algorimus bonyolultabb, de visszavezethető sorozatos összeadásokra/kivonásokra és eltolásokra (léptetésekre). Cserny: Szg. arch 2005/06 52 Fixpontos számok összeadásának és kivonásának közös algoritmusa(a ténylegesen alkalmazott algoritmusok bonyolultabbak): 1 igen A operandus negatív? komplemensképzés nem igen B operandus negatív? komplemensképzés nem operandusok összeadása igen eredmény negatív? komplemensképzés nem 2 (32.ábra) Cserny: Szg. arch 2005/06 53 A fixpontos számok szorzásának algoritmusa: 1 0 ⇒ AC
(szorzandó) ⇒ A (szorzó) ⇒ B 1 ⇒ I nem szorzó legalacsonyabb helyiértékû bitje = 1 ? igen [AC] + [A] ⇒ AC AC léptetése jobbra B léptetése jobbra I+1⇒ I N = az A és B regiszterek hossza nem I>N? igen elõjelbit elõállítása 2 (33.ábra) Cserny: Szg. arch 2005/06 54 a2.)Műveletek lebegőpontos számokkal Összeadás, kivonás: Ha a karakterisztikák megegyeznek, azaz ka = kb, akkor A + B = ma ⋅ 2 ka + mb ⋅ 2 kb = (ma + mb ) ⋅ 2 ka = m( a+b ) ⋅ 2 ( a +b ) k ahol m( a + b ) = ma + mb ka, kb = ma, mb = k(a+b) = m(a+b) = é s k( a + b ) = k a az A, illetve a B operandus karakterisztikája, az A, illetve a B operandus mantisszája, az összeg karakterisztikája, az összeg mantisszája. Cserny: Szg. arch 2005/06 55 Ha a karakterisztikák nem egyeznek meg, azaz ka ≠ kb, akkor az eredmény karakterisztikája: k ( a +b ) = max{k a , k b } Ha ka>kb, és így n=ka-kb,, akkor a B operandus m a n t i s s z á j á t o s z t a n i k
e l l a 2 n = 2 k a − kb é r t é k k e l ( a z a z n helyiértékkel el kell tolni jobbra) és a karakterisztikát ennek megfelelően növelni kell, azaz mbu = mb −( k a − kb ) 2 = m ⋅ 2n A + B = ma ⋅ 2k a + mb ⋅ 2k b = ma ⋅ 2k a + mbu ⋅ 2k a = (ma + mbu ) ⋅ 2k a = m( a + b ) ⋅ 2 ( a+b ) k ahol m( a + b ) = ma + mbu Cserny: Szg. arch 2005/06 és k( a + b ) = k a 56 Lebegőpontos számok összeadásának, kivonásának algoritmusa: 1 igen kA = k B ? nem karakterisztikák különbsége ⇒ n igen kA < k B ? nem mA léptetése jobbra n helyiértékkel m B léptetése jobbra n helyiértékkel k B ⇒ k (A+B) k A ⇒ k (A+B) m A+ m B ⇒ m (A+B) az eredmény normalizálása 2 (34.ábra) Szorzás, osztás: mantisszák esetében ===> fixpontos szorzás, osztás karakterisztikák esetében ===> összeadás, kivonás Cserny: Szg. arch 2005/06 57 a3.)Műveletek tízes számrendszer alapján BCD kódban ábrázolt számokkal;
átvitelképzés: - tetrádon belül kettes számrendszer alapján, - tetrádok között tízes számrendszer szerint. Például: 245 0010 0100 0101 137 0001 0011 0111 --------------------------382 0011 0111 1100 korrekció: 0110 ----------------------0011 1000 0010 b.)Logikai műveletek b1.)Alapműveletek - logikai VAGY-művelet(OR), - logikai ÉS-művelet(AND), - logikai NEM-művelet(NOT). műszaki írásmód matematikai írásmód NEMművelet VAGYművelet ÉSművelet C=A C = A +B C = AB C = ¬A C = A ∨B C = A ∧B Cserny: Szg. arch 2005/06 58 A műveletek igazságtáblázata: operandusok NEM művelet VAGY művelet ÉS művelet A B C=A C=B C = A +B C = AB 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 b2.)Összetett műveletek = ekvivalencia(azonosság) művelete(jele: , illetve ≡ ), = antivalencia művelete(jele: ⊕ , illetve q ), = NEM-VAGY(NOR) művelet(Pierce-művelet), = NEM-ÉS(NAND) művelet(Sheffer-művelet). A műveletek
igazságtáblázata: A 0 0 1 1 B 0 1 0 1 ekvivalencia antivalencia A A⊕B 0 1 1 0 B 1 0 0 1 Cserny: Szg. arch 2005/06 NEMVAGY NEMÉS A+B AB 1 0 0 0 1 1 1 0 59 A táblázat összetett kifejezései az alapműveletek segítségével: C = A ⋅B + A ⋅B = ekvivalencia: = antivalencia: = NEM-VAGY: = NEM-ÉS: C = A ⋅B + A ⋅B C = A +B = A ⋅B C = A ⋅B = A + B b3.)Logikai függvények Jelentőségük: különösen a gépek tervezésekor 'Teljes összeadó' (két bináris számjegy és az átvitel összeadására szolgáló egység) összeg(S) és átvitel(C) kimenete: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 C 0 0 0 1 0 1 1 1 S = A ⋅ B ⋅ D+ A ⋅ B ⋅ D+ A ⋅ B ⋅ D+ A ⋅ B ⋅ D = (A ⊗ B) ⋅ D+ (A ⊕ B) ⋅ D = (A ⊕ B) ⊕ D C = A ⋅ B ⋅ D+ A ⋅ B ⋅ D+ A ⋅ B ⋅ D+ A ⋅ B ⋅ D = A ⋅ B + (A ⊕ B) ⋅ D Cserny: Szg. arch 2005/06 60 c.)Aritmetikai-logikai műveletvégző egység(ALU)
Részei: = teljes-összeadó egység, = léptető áramkörök, = logikai műveletvégző, = adatregiszterek(AC - akkumulátor). Állapotjelző regiszter(flag regiszter): = átvitel(carry), = nulla(zero), = túlcsordulás(overflow), = előjel(sign). Félösszeadó és teljes összeadó vázlata: S S + + D & C C & + 1 & A A B a.) félösszeadó B b.) teljes összeadó (35.ábra) Cserny: Szg. arch 2005/06 61 1-bites ALU vázlata: S 1 Logikai mûveletvégzõ Aritmetikai S mûveletvégzõ L & 1 & & + & & Ci V01 V02 V 03 V01 & 1 B V02 V 03 & & V 0 V 1 V0 1 & A C i -1 & Ci + & V04 A B C i -1 V04 Vezérlõ logika & V1 1-bites ALU A B (36.ábra) Cserny: Szg. arch 2005/06 62 3.14Utasítások végrehajtása a.)Utasitásvégrehajtás lépései = utasításelőkészítés(fetching), = utasításszámláló regiszter(PC) tartalmának növelése, = műveleti kód
értelmezése(decoding), operandusok címének meghatározása, = operandusok előkészítése, = művelet végrehajtása(executing), = eredmény elhelyezése(writing back). Neumann-elvű, hagyományos struktúrájú számítógépek utasításfeldolgozása soros rendszerű: utasítás cím operandus cím +1 PC MAR AC cím dekódoló program ALU utasítás cím mûveletválasztás TMP MBR {0,1} CU adatok operandus 0 1 Z IR op cím utasítás (37.ábra) Cserny: Szg. arch 2005/06 63 b.)Műveleti vezérlés az utasításokban meghatározott műveletek elemi lépéseinek vezérlése. Feladat: Lehetőségek: = huzalozott módon, = mikroprogramozott módon. S-sín M1 S2 M2 MAR S1 C4 CU µ MAR PC µP P/D C2 MBR op. R1 R2 IR cím k. C1 R3 µ IR cím C3 R-sín S-sín S3 S4 ALU P2 P1 PAR A3 összeadó P3 A2 AC A1 C kompl. képzõ PBR P4 A7 A6 A5 A5 - 1 +1 A4 DPL KBD periféria R4 R-sín (38.ábra) Cserny: Szg. arch 2005/06 64
Példa: LDA X hatása: elemi lépések [PC] R-sín S-sín MAR Címdekódolás [mem(MAR)] MBR [MBR] R-sín IR [IR(op.kód)] OMAR [IR(címrész)] S-sín MAR Címdekódolás [mem(MAR)] MBR [MBR] R-sín AC [X] ⇒ AC érintett vezérlési pontok R2, S2, M2 R1, C1 C2 S1, M2 R1, A1 c.)Mikroprogramozott műveleti vezérlés Lényege: az utasítások végrehajtásának elemi lépéseit a ROM tárolóban tárolt mikroprogram alapján végzi el a processzor. Mikroutasítások szerkezete: = horizontális(minden bitje vezérlő funkcióval rendelkezik, = vertikális(hasonló a gépi szintű utasításokhoz). Cserny: Szg. arch 2005/06 65 Mikroutasítások szerkezete: a.) Horizontális mikroutasítás következõ µ ut. címe vezérlõbitek b.) Kódolt horizontális mikroutasítás kódolt mezõ kódolt mezõ kódolt mezõ következõ µ ut. címe dekódoló vezérlõbitek c.) Kétszintû horizontális mikroutasítás következõ µ ut. címe nanoutasítás címe
nanotár d.) Vertikális mikroutasítás mûveleti kód operandus cím kiegészítõ rész vezérlõbitek (39.ábra) Cserny: Szg. arch 2005/06 66 3.15RISC struktúra Cél: nagyobb teljesítőképesség elérése ⇒ strukturális változtatások RISC elv RISC filozófiája: = az alkalmazási terület elemzése alapján, a leggyakrabban használt, szükséges műveletek meghatározása; = az adatútvonalak optimális kialakítása; = további, kevésbé gyakori feladatok megoldására szolgáló utasítások használata csak akkor, ha azok viszonylag gyakoriak, a kidolgozott adatútvonalakhoz illeszkednek és nem lassítják le a gyakoribb utasítások végrehajtását; = az előző elv alkalmazása minden további erőforrás tervezésekor is; = a lehető legtöbb, bonyolult feladatot a fordítóprogramra és nem a hardverre bízni. Cserny: Szg. arch 2005/06 67 CISC processzorok jellemző tulajdonságai: = összetett utasítások, melyek végrehajtása több gépi
ciklust igényel, = bármely, erre alkalmas utasítás igénybe veheti a tárolót, = sokféle utasítás és címzési mód használata, = változó hosszúságú utasítások, = az adatcsatornás (pipelining) feldolgozás kismértékű, = utasításvégrehajtás mikroprogram által vezérelt, = bonyolult mikroprogram, = kisszámú regiszter. RISC processzorok jellemző tulajdonságai: = egyciklusú utasításvégrehajtás, = tárolókezelésre csak LOAD/STORE utasítások használhatók, = kisszámú utasítás és csak néhány címzési lehetőség; az egyszerű dekódolhatóság miatt, = rögzített utasításhossz és utasításszerkezet, = az adatútvonalak nagyfokú pipeline-osítása, = optimalizáló fordítóprogram, a bonyolult funkciók megvalósítása a fordítóprogramban, = sokszintű tárolóhierarchia alkalmazása, = huzalozott műveleti vezérlés, = nagyméretű regisztertárak, = az utasításkészlet alkalmazásterület szerinti kialakítása. Cserny: Szg. arch
2005/06 68 a.)Utasításkészlet Jellemzői: = utasítások használati gyakorisága, = elemi utasítások száma és tartalma, = utasítások szerkezete és címzési lehetőségei, = használható adatok típusai, = kezelhető feltételek száma, = mennyire támogatja a programírást, a programok fordítását, a programok ellenőrizhetőségét. Utasításkészlet kialakítása statisztikai alapon: módszerei: statikus, dinamikus(futás közbeni) = elvégzett utasítások(műveletek) gyakorisága (leggyakoribbak az átviteli és vezérlésátadási funkciók), = a használt adattípusok gyakorisága, = a használt címzési módok gyakorisága. Utasításszerkezetek Jellemző: az igen egyszerű, rövid (32 bites) utasításforma, például: Cserny: Szg. arch 2005/06 69 SPARC processzorok utasítástípus jelzése 5 6 2 8 5 DEST OPCODE SRC1 0 FP-OP SRC2 DEST OPCODE SRC1 1 adatkonstans 2 5 1 regiszter utasítás közvetlen adatcímzés 5 3 22 DEST OP
konstans címbeállító utasítás utasításrelatív cím feltételes ugróutasítás A feltétel OP utasításrelatív cím szubrutinhívó utasítás (40.ábra) MIPS processzorok 6 5 5 5 OPCODE SRC1 SRC2 6 5 DEST SHIFT 5 OPCODE 6 FUNC regiszter utasítás 16 OPCODE SRC1 DEST 6 5 konstans közvetlen adatcímzés 26 relatív cím ugróutasítás (41.ábra) Cserny: Szg. arch 2005/06 70 Címzési módok Jellemző: a 3 címes utasítások használata (S1, S2 az operandusok címmezőinek, D az eredmény címmezőjének a tartalma, EA = tényleges cím, A tetszőleges mező tartalma) = közvetlen adatcímzés(immediate): operandus = A = közvetlen regisztercímzés: EA1 = S1, EA2 = S2, EA3 = D = közvetlen tárolócímzés(LOAD/STORE): EA1 = [R0] + A EA2 = D = közvetett (regiszter indirekt) tárcímzés: EA1 = [R0] + [S2] EA2 = D = közvetett (regiszter indirekt) relatív tárcímzés: EA1 = [S1] + A EA2 = D Cserny: Szg. arch 2005/06 71 b.)Műveleti
vezérlés elve CISC processzoroknál: tulajdonképpen mikroprogrammal értelmezett; RISC processzoroknál: huzalozott logikával. 3.2Folyamatok párhuzamosítása Teljesítőképesség növelése: = működési sebesség(órajel frekvencia) növelésével; = folyamatok párhuzamosításával, - program szinten multiprogramozás, - utasítás szinten: pipeline technika, szuperskalár technika; = erőforrások többszörözése. 3.21Átlapolt (pipeline) feldolgozási technika a.)Pipeline technika lényege (Más elnevezések: csővonal, futószalag technika) Fogalma, a megoldás módja: a folyamat (közel egyenlő időtartamú) elemi részekre bontásával. Cserny: Szg. arch 2005/06 72 1.fokozat 2.fokozat 3.fokozat n.fokozat 1.utasítás feldolgozása 2.utasítás feldolgozása fokozatok visszaírás 1 végrehajtás op.elõkészítés op.cím meghat dekódolás elõkészítés 1 1 1 2 2 3 1 2 1 2 2 2 idõ ugró utasításnál felesleges lehet (42.ábra) Az
átlapolt feldolgozás ütemezése: = szinkron, = aszinkron módon történhet. Párhuzamosítás területe: = utasításvégrehajtás folyamata, ezen belül = műveletek végrehajtása. Utasításfeldolgozásnál: ⇒ szinkron ütemezés a jobb. Cserny: Szg. arch 2005/06 73 A pipeline gyorsítás mértéke(n=fokozatok száma, p=feldolgozandó utasítások száma): s= Tsoros np = T ppl n + ( p − 1) Az egyes fokozatok azonos időigényét feltételezve, a teljes időtartam-kapacitás: n(n+p-1). Ekkor a hatékonyság: e= tényleges leterhelés idõtartama np p = = teljes leterhelés idõtartama n( n + p − 1) n + ( p − 1) Problémák: = egymást követő utasítások egymásrahatása vezérlési függőség, = egymást követő utasítások által használt adatok rendelkezésre állása adatfüggőség, = hardver erőforrások iránti igények erőforrás függőség. Cserny: Szg. arch 2005/06 74 b.)Az utasításvégrehajtás gyorsítása Az
utasításfeldolgozás lehetséges lépései: = előkészítés, = dekódolás, = operanduscímek kidolgozása, = operandusok előkészítése, = művelet végrehajtása, = az eredmény visszaírása, = következő utasítás címének meghatározása. Folyamatos feldolgozás akadályai: = tárolóhivatkozású(load/store) utasítások, = elágazási utasítások, = megszakítások, kivételek. A teljesítőképességet jelentősen csökkenti a tárolóhivatkozású, valamint az elágazási utasítások programbani magas előfordulási gyakorisága(70-75%). Memóriautasítások kezelése Megoldási lehetőségek: = váróciklusok beiktatása, = késleltetett LOAD utasítás (a LOAD utasítás hosszabb végrehajtási ideje, vagy a beolvasott adatra várakozás miatt, az utasítást követő u.n késleltetési résbe, hasznos utasítást helyez át a fordítóprogram, amelyet mindig végre kell hajtania a processzornak) Cserny: Szg. arch 2005/06 75 1.Váróciklusok beiktatása
utasítások F F D E F D E W F D E W D E1 E2 W F = elõkészítés W 4.utasítás 3.utasítás 2.utasítás 1.utasítás (LOAD) D = dekódolás E = végrehajtás ciklusok W = visszaírás (43.ábra) 2.Késleltetett LOAD utasítás utasítások F F D E F D E W F D E W 2.utasítás (NOP) D E W az adat ekkor elérhetõ csak 1.utasítás (LOAD) F = elõkészítés W 4.utasítás 3.utasítás D = dekódolás E = végrehajtás ciklusok W = visszaírás (44.ábra) Cserny: Szg. arch 2005/06 76 Megoldás pl.: load r1, mem(A) load r2, mem(B) nop add r3, r1, r2 [mem(A)] ⇒ r1 [mem(B)] ⇒ r2 [r1] + [r2] ⇒ r3 Elágazási utasítások kezelése Probléma: mivel az ugrás szükségessége, csak a feldolgozás későbbi fázisában válik nyilvánvalóvá, megszakadhat az utasítások folyamatos feldolgozása ⇒ törölni kell a pipeline-t. Az elágazások kezelési módszerei: = pipeline törlése ⇒ legegyszerűbb, = pipeline
leállítása(váróciklusok), = elágazás előrejelzése: - statikus(hardver, vagy a fordítóprogram által beállított, feltételezett elágazás szerint), - dinamikus(futás közbeni nyilvántartás alapján), = utasítássorrend átrendezés: - késleltett elágazás(elágazási utasítást követő helyre értelmes utasítást helyez a fordítóprogram, amelyet mindig végrehajt a gép, függetlenül az elágazás irányától) ⇒ leggyakoribb, - elágazás széthúzás(feltétel beállítása és vizsgálata széthúzható), - elágazás összecsomagolás, - ciklusutasítás egyszerűsítése, = pipeline többszörözése. Cserny: Szg. arch 2005/06 77 1.Pipeline törlése késleltetés = n-1 [ciklus] fokozatok visszaírás i végrehajtás i dekódolás i elõkészítés i k i+1 k i+1 i+2 i+1 i+2 i+3 k k k+1 k+1 idõ k+1 [ciklus] i = i -dik utasítás = törölt utasítások (45.ábra) 2.Késleltetett elágazás alkalmazása utasítások az ugrási
cím ekkor elérhetõ F csak F F D E D E W W F D E D E W F = elõkészítés W 4.utasítás (az elágazás 2utasítása) 3.utasítás (az elágazás 1utasítása) 2.utasítás (NOP) 1.utasítás (ugró utasítás) D = dekódolás E = végrehajtás ciklusok W = visszaírás (46.ábra) Cserny: Szg. arch 2005/06 78 Adatütközések feloldása Az egymást követő utasítások ugyanarra az adatra várnak, például: [R1]+[R2] ⇒ R3 [R3]-[R0] ⇒ R4 add R3,R1,R2 sub R4,R3,R0 utasítások F F D E F D E W F D E W NOP D E W az adat ekkor elérhetõ csak ADD R3, R1, R2 F = elõkészítés W SUB R4, R3, R0 D = dekódolás E = végrehajtás ciklusok W = visszaírás (47.ábra) Adatütközések feloldási módjai: = utasítássorrend átrendezése, = 'scoreboarding', = adat előreengedés(forwarding) Cserny: Szg. arch 2005/06 79 utasítások F D F F F D D E F = elõkészítés D E E W E W W ADD R7, R4, R6 SUB R5,
R1, R2 ADD R4, R3, R4 W ADD R3, R1, R2 D = dekódolás E = végrehajtás ciklusok W = visszaírás R3 R4 R5 'scoreboard' R6 R7 (48.ábra) Erőforrások használata Legfontosabb erőforrások: = regiszterek, amelyek használatát a fordítóprogram optimalizálja, = központi tároló, amelynek használatát a külön utasítás- és adatcache-tárak, valamint a különálló utasítás- és adattároló használata(Harvard-struktúra), a 'memory interleaving' teszik hatékonyabbá. Cserny: Szg. arch 2005/06 80 c.)Műveletek végrehajtásának gyorsítása Elsősorban az aritmetikai(fixpontos, vagy lebegőpontos) műveletek bonthatók fel részfázisokra, amelyek pipeline-ba szervezhetők. Például a szorzás elemi lépései: = a kitevők összegének előállítása: k = k a + kb , = a mantisszák összeszorzása: m = ma ⋅ mb , amely önmagában is sorozatos összeadásokra és eltolásokra bontható fel, = az eredmény normalizálása, = az
eredmény kerekítése a tárolási hossznak megfelelő mértékre és a karakterisztika módosítása, ha szükséges, = az eredmény kerekítés miatti újranormalizálása, ha kell. Többnyire multifunkciós pipeline amelynek az ütemezéséhez használják: alakul ki, = foglaltsági táblát és az = ütközési vektort. Cserny: Szg. arch 2005/06 81 fokozatok X kerekítés X normalizálás részszorzatok összeadása mantisszák szorzása kitevõk összeadása X X X X X idõ X [ciklus] X = elsõ inicializálás = második inicializálás (49.ábra) 3.22Szuperskalár technika a.)Szuperskalár technika lényege Párhuzamosság: = utasítás kibocsátásban, = utasítás végrehajtásban; utasításkibocsátás mértéke: 2-3-4 [ut./ciklus] utasítássor szétosztó EF FV Cserny: Szg. arch 2005/06 LPV (50.ábra) 82 Problémák: = függőségek(adat-, vezérlésfüggőségek) kezelése, = program konzisztenciájának megőrzése, =
kivételek(megszakítások) kezelése. b.)Feldolgozás lépései Dekódolás = párhuzamos dekódolás növekvő nehézség magasabb kibocsátási mértéknél, elődekódoló használata az (L1 szintű) utasítás gyorsítótár előtt; elõdekódoló L1 utasításgyorsítótár utasítássor dekódoló/ szétosztó EF FV LPV (51.ábra) Cserny: Szg. arch 2005/06 83 = elődekódolás lényege: 4-7 kiegészítő bit, jelezve: - az utasítás csoportját, - hosszát, - műveleti kód helyét, stb. Kibocsátás/szétosztás = feladata: a dekódolás után, a függőségek ellenőrzése/feloldása, majd az utasítás továbbítása a megfelelő végrehajtó egységhez; elõdekódoló L1 utasításgyorsítótár utasítássor dekódoló/ szétosztó várakoztató puffer ellenõrzés/ kibocsátás EF FV Cserny: Szg. arch 2005/06 LPV (52.ábra) 84 = jellemzők: • kibocsátás módja: - közvetlen(direkt) blokkolódás a függőségek miatt, -
közvetett(indirekt) várakoztatás a függőségek feloldásáig; • kibocsátási ablak: méretét a vizsgálatba bevont utasítások száma(4-6) adja meg. - fix: csak akkor mozdul arrébb, ha az ablak összes utasítását kibocsátotta, - csúszó: minden kibocsátásnál arrébb mozdul a kibocsátott utasításszámnak megfelelően; így, mindig u.a utasítás vizsgálható egyszerre; • kibocsátási sorrend: - sorrendi(a program logikája szerint), - sorrenden kívüli(a végrehajthatóság alapján, de a konzisztencia megőrzése megoldandó!) Cserny: Szg. arch 2005/06 85 = függőségek feloldási módjai: • vezérlési függőség: pl. feltételes elágazási utasítás végrehajtása esetén elágazás előrejelzés(spekulatív módon, feltételezett irányban kezdődik a feldolgozás), blokkolás a megoldásig(amíg az ugrási irány világos lesz) várakoztatás • adatfüggőség: pl. egymást követő utasítások ua a tárolóhelyet akarják
használni; valódi(RAW = read after write) függőség csak várakoztatással oldható fel, ál-függőség(WAR, WAW): a felülírandó helyet az előző utasítás még használni akarja a régi adattal, ⇒ regiszter átnevezés - ideiglenesen más nevet kap a célállomás, azaz - ideiglenesen az ú.n átnevező pufferben tároljuk, Cserny: Szg. arch 2005/06 86 - kell egy segédtároló a leképző táblázat (átnevezések nyilvántartása) tárolására; - befolyásoló, hogy az operandusok lehívása a szétosztás (várakoztatás előtt), vagy a kibocsátás (várakoztatás után) történik-e; azaz magát az adatot, vagy csak a címét tárolja a várakoztatás alatt. Végrehajtás Probléma: = végrehajtási idők különbözősége soros konzisztencia megőrzése, eredmény késleltetett visszaírása; = kivételek hatása: konzisztencia megőrzése Néhány példa = továbbfejlesztett CISC: Pentium, MC68060 = szuperskalár architektúra: Cyrix M1, AMD K5 =
RISC magú CISC: PPro, PII, PIII, PIV = RISC processzorok: PowerPC 602, 604, 620 Cserny: Szg. arch 2005/06 87 3.3Tárolókezelés 3.31Alapfogalmak, tárolóhierarchia Alapfogalmak: = bit, byte, = szó(word), = rekesz, = cím, címtartomány, = tárolóeszközök: RAM(DRAM, SRAM), ROM(PROM, EPROM), = elérési idő, feléledési idő, ciklusidő, = központi tár kapui: címregiszter(MAR), adatregiszter(MBR, DR) A gép hatékony működtetéséhez tárolóhierarchia kell: = regiszterek, regisztertár, = gyorsító(cache)tár, = főtár, (= gyorsítótár), = háttértárolók(mágneslemez, -szalag), = tömegtárolók (mágneslemez, optikai lemez, mágnesszalag, stb.) Cserny: Szg. arch 2005/06 88 Tárhierarchia: elérési idõk[s] -9 10-20*10 70-100*10 -9 10*10 -3 300-500*10 -3 kapacitás nagyságrend By MB GB regisztertár fõtár háttértár cachetár tömegtárolók cachetár By MB GB regisztertár fõtár háttértár tömegtárolók (53.ábra)
3.32Valós tárkezelés(főtár használata) Fogalma: minden tárolóeszköz kezelése a saját fizikai felépítésétől függően történik. Korlátos fizikai tárolók kezeléséhez a megoldás: ==> virtuális tárkezelés Cserny: Szg. arch 2005/06 89 Címzési, címmódosítási eljárások Ok: az utasítások címrésze csak a legritkább esetekben tartalmazza az operandusok pontos, fizikai címét. - a címrész nem elegendően hosszú, - adatsoron kell műveletet végezni, - ciklikus műveletvégzésre van szükség, - a program, az adatok áthelyezhetőségét kell biztosítani. Címzési módok alapformái = abszolút címzési mód, = relatív címzési mód = közvetett(indirekt) címzési mód, = közvetlen adatcímzés, álcímzés, literális; = indexelés. Cserny: Szg. arch 2005/06 90 Közvetlen címzési módok(abszolút, relatív) program terület cím 399 400 adatterület LDA a cím 2000 401 1999 2000 2001 AC 1400 a.) abszolút címzési
mód program terület cím 399 400 BR 4096 adatterület LDA r + 200 cím 4096 401 pontos cím: 4296 AC 1400 b.) relatív címzési mód (54.ábra) Relatív címzés esetei: = bázisrelatív(alapcímtől való eltérés), = utasításrelatív(aktuális utasítás címétől való eltérés), = programrelatív(program kezdetétől való eltérés). Cserny: Szg. arch 2005/06 91 Az utasítások hatása: LDA a 2000 [2000] ⇒ AC LDA r 200 [[BR] + 200] ⇒ AC Közvetett(indirekt) címzési mód program terület adatterület cím cím 399 400 1600 2500 pointer LDA i 1600 401 AC 2500 1994 (55.ábra) Az utasítás hatása: LDA i 1600 LDA a 2500 Cserny: Szg. arch 2005/06 [2500] ⇒ AC 92 Közvetlen adatcímzés(immediate) Az utasítás címrészében maga az operandus található. Korlátozott használhatóság!! program terület cím 399 400 AC (639) LDA # 639 401 (56.ábra) Az utasítás hatása: 639 ⇒ AC LDA # 639 Indexelés IX 5 program
terület cím 399 400 adatterület + LDA ix 3000 cím 3000 401 pontos cím: 3005 AC 1400 (57.ábra) Az utasítás hatása: LDA ix 3000 LDA a 3005 Cserny: Szg. arch 2005/06 [[IX] + 3000] ⇒ AC 93 3.33Regisztertárak • átmeneti adattároláshoz egyre nagyobb méretű tárolót használnak ⇒ lényeges a hozzáférési mód • hárombemenetű regisztertár célszerű(3-címes utasításokhoz) • regisztertárak kezelési lehetőségei: = lineáris címzés használata = regiszterbank(register banking) használata (azonos méretű, nem átlapolódó részek; egy-egy 'bank' mérete: 2 hatványa, pl. 23) ---> mutató: CBP - current bank pointer = ablaktechnika(register windowing) használata (azonos méretű, átlapolható ablakok; az 'ablak' mérete: 2 hatványának többszöröse) ---> mutató: CWP - current window pointer = blokktechnika(register blocking) használata (tetszőleges méretű, átlapolható blokkméret) ---> mutató: CBP -
current block pointer Mutatók utasításokkal kezelhetők(stack kialakítható). Cserny: Szg. arch 2005/06 94 Ablaktechnika alkalmazása(pl.: SPARC processzorok) R0 R7 R8 globális változók kimenõ paraméterek R0 R7 ← CWP-1 lokális változók R31 bemenõ paraméterek R24 ⇔ pm. átadás R47 R0 globális változók R7 globális változók ← CWP kimenõ paraméterek lokális változók bemenõ paraméterek R40 ⇔ pm. átadás R63 kimenõ paraméterek ← CWP+1 lokális változók bemenõ paraméterek (58.ábra) Paramétercsere: a bemenő és a kimenő változók blokkján keresztül adatmozgatás nélkül. Cserny: Szg. arch 2005/06 95 3.34Gyorsító(cache)-tárak Feladatuk: utasítások, adatok processzorközeli, átmeneti tárolása: = L1 szintű(belső): 32KB = L2 szintű(belső/külső): 256KB Lényeges jellemzők: • a cache-tár mérete(8-256 kB); • a blokk mérete(16-32 byte); az adatcsere mindig blokkos formában történik ⇒
blokk/szó/byte felépítés; • sorméret, amely egy-egy összehasonlítással kijelölhető, általában a blokkmérettel megegyező, illetve annál kisebb; • aktualizálási módszer, amely alalpján a módosítandó adatot a cache-tárba és a főtárba írjuk; • a gyors adatcsere miatt, fontos a megfelelő helyettesítési stratégia ⇒ (re)placement policy; • a főtár és a cache-tár adategyezőségének biztosítási módja. Két jelző-bit legalább: • érvényességi(V - valid bit): a blokk tartalma érvényes adatot tartalmaz-e? • módosítás jelző(D - dirty bit): aktualizáláskor volt-e módosítás? Cserny: Szg. arch 2005/06 96 a.)Gyorsító(cache)-tárak típusai (Példák: 32 bites címzés és 256 tárolósor(cella) feltételezésével mutatják be az egyes típusokat) 1.Teljesen asszociativ(fully associative) cache-tár [256-way set associative cache] CÍM: blokk sorszám szó byte 16831 2 1 2 28 2 kijelöléshez összehasonlításhoz
blokk sorszám cachetár 'tag'-rész V D 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 adatrész 0 1 2 16831 megcímzett byte 254 255 (59.ábra) Egy-egy blokk bárhová kerülhet. Címzés: blokk sorszám alapján, összehasonlítással. Cserny: Szg. arch 2005/06 97 sikeres elérés cache-hit(read-, write-hit), sikertelen elérés cache-miss(read-, write-miss) Elönye: hátránya: nagyfokú rugalmasság betöltésnél, soronként címösszehasonlítás kell ⇒ költséges(általában < 64 cella) 2.Közvetlen leképzésű(direct mapping) cache-tár [1-way set associative cache] CÍM: sorindex szó byte lapsorszám 168 31 20 összehasonlításhoz lapsorszám cachetár sorindex 0 1 2 31 'tag'-rész V D 0.szó 2 1 2 8 kijelöléshez 1.szó 2 2.szó kijelöléshez 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 adatrész 168 megcímzett byte 254 255 (60.ábra) Cserny: Szg. arch 2005/06 98 Kijelölés: sorindex,
valamint szó- és byte-cím alapján Címzés: lapsorszám összehasonlításával. Előnye: hátránya: gyors visszakeresés, nagyon merev, előfordulhat, hogy nem aktuális tartalmú; hivatkozás ugyanarra a blokkra, mint utasításra és mint adatra is. 3.Csoport asszociativ(set associative) cache-tár [n-way set associative cache] Egy-egy blokk n helyre mérete ezért csökken. kerülhet, a tartomány Kijelölés: csoportindex(set index), valamint szó- és byte-cím alapján. Címzés: lapsorszám alapján, összehasonlítással. Előny: hajlékonyabb, mint a 'direct mapping', kevés összehasonlítás kell, viszonylag gyors és olcsó. Cserny: Szg. arch 2005/06 99 CÍM: csoport index szó byte lapsorszám 168 31 2 1 6 2 összehasonlításhoz 22 kijelöléshez lapsorszám cachetár 'tag'-rész csoport 0 index 1 2 31 V D 2 kijelöléshez 0.szó 1.szó 2.szó 3.szó 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 adatrész 168 megcímzett byte 62 63
(61.ábra) b.)Gyorsító tárak tartalmának karbantartása Problémák: = aktualizálás: utasítástárolónál nem gond ⇒ csak olvasás van, adattárolónál: főtár és cache-tár adategyezőségét biztosítani kell, = tartalomcsere stratégiája; több program futása bonyolítja a helyzetet ⇒ különálló tárolók használhatók. Cserny: Szg. arch 2005/06 100 Tartalom betöltése = aktuális igénykor(demand fetching): a kért byte azonnal továbbításra kerül(load-through, readthrough) = előkészítéssel(prefetching): az i-dik blokkal az i+1-dik is betöltésre kerül; - kis blokkoknál célszerű, - előretekintési stratégia kell(look ahead) Aktualizálás adatbeírás, módosítás után a főtárat is aktualizálni kell = azonnali átírás(write through), = visszaírás, -másolás(write back,copy back) módszere, = egyszeri visszaírás(write-once) módszere; programból is választható lehet. = write through: - az adat beírásra kerül a főtárba
is, függetlenül attól, hogy az adott blokk a cache-ben van-e, vagy sem; - puffereléssel gyorsítható (buffered write through) az átvitel. - lehetőség: write-hit(benn van): a cache is aktualizálódik; write-miss(nincs benn): Cserny: Szg. arch 2005/06 101 = tárba írást követi egy visszaolvasás(read-miss) = betöltés után aktualizál (write through with write allocation) = write back, copy back: - aktualizálás csak a blokk cseréjekor, a a 'dirtybit' állapotától függően; - lehetőség: write-hit(benn van): csak a cacheben aktualizál, a főtárat csak később, blokkcserénél aktualizálja. write-miss(nincs benn): betöltés után aktualizál, a főtárat csak később, blokkcserénél aktualizálja. = write-once: - csak az első hivatkozáskor írja vissza a főtárba a blokkot, érvénytelenítve a más cachetárakban lévő adatokat; visszaírás blokkcserénél történik csak. Előny, hátrány: a 'write back' módszernél a cache
és a főtár tartalma nem mindig egyezik meg, de nem foglalja le az adatsínt. Cserny: Szg. arch 2005/06 102 Helyettesítési stratégia(replacement policy) Alapelv: a legrégebben nem használt kerüljön ki (least recently used - LRU) Magyarázat: változásmátrix alapján(a mátrix sorai blokkonként jelzik annak korát, hogy milyen rég nem használták) az egyes blokkok kora ismert. Változás mátrix: blokksorszám 0 1 2 3 4 5 1 1 1 2 1 1 4 5 blokk ssz. 0 8 1 0 3 6 7 ← ← ← ←1 1 6 1 7 8 1 léptetõ regiszter: kor 0 1 2 3 számláló regiszter 6 6 1 2 3 2 3 4 3 0 1 4 1 2 5 4 0 6 8 8 7 5 5 8 7 7 módosítás után 4 5 6 7 8 3 4 1 2 5 7 0 8 6 5 3 4 1 2 7 0 8 6 módosítás után cserélhetõ blokk(6.) (62.ábra) Cserny: Szg. arch 2005/06 103 Megoldási módok: = számláló regiszterrel(a blokkok korát tárolja) = shift regiszterrel(a blokk sorszáma a korának megfelelő helyen áll) = kor
szerinti megelőzési mátrix alapján; (i,j)-dik elem = 1, ha az i-dik blokk fiatalabb a j-diknél. Adategyezőség biztosítása Feladat: a cache-tár és a főtár tartalmának azonosságát biztosítani ⇒ MESI protokoll processzor cache-tár fõtár címdekódoló 'tag'rész adatrész 183 A adat 183 cachehit (183) tároló A adat (183) ↑ (B adat) címsín adatsín ↓ (A adat) processzor oldal DMA (63.ábra) Meghatározó: = az alkalmazott visszaírási technika, = a cache-tár strukturális helye. 3.35Virtuális tárkezelés Cserny: Szg. arch 2005/06 104 a.)Alapprobléma - a végrehajtás alatt álló programnak és a hozzátartozó adatoknak a központi tárban kell lenniük ⇒ közvetlen címzés emulálása, ⇒ virtuális cím. Példa: teljes tárolóterület Valós címek (fizikai címtartomány) fõtár 0 0 4 4 8 8 relatív cím = 1780 ⇒ fizikai cím = 4096+1780 = 5876 12 ≈ ≈ leképzés: 56*1024 41024 52 56 60 64
virtuális cím: 59124 ⇒ relatív cím = 59124-56*1024 = 1780 Virtuális címek (logikai címtartomány) (64.ábra) Cserny: Szg. arch 2005/06 105 - virtuális cím, tárkezelés lényege = az aktuálisan nem szükséges programrészek, adatok valamilyen háttértárolón vannak; igény szerint betöltve, = látszólagos(virtuális) címmel elérve. - fizikai cím előállítása(MMU - Memory Management Unit): szegmens-, és/vagy laptábla segítségével: ⇒ táblázat alapján megvalósított indirekt címzés. ⇒ tartalma: = logikai szegmens(lap) sorszám, = kezdőcím, = méret, = hozzáférési jog, = módosítás jelző, stb. A címfordítás(címleképzés) elve: virtuális cím sorszám 14 rel.cím(offset) 20 20 12 1780 12 14*4096 = 57344 sorszám blokk fizikai kezdõcíme sorszám 14 1M-1 blokk fizikai kezdõcíme 4096 32 32 ⊕ ⊕ 32 32 pontos (fizikai) cím pontos (fizikai) cím: 5876 (65.ábra) Cserny: Szg. arch 2005/06 106
b.)Szegmens, lap fogalma szegmens: mérete változó, átlapolódó is lehet = címzés: logikai cím=szgm.ssz+relcím fizikai cím=báziscím+rel.cím szgm.logsorszám ⇒ szgmtábla ⇒ báziscím = szegmens betöltési stratégiák: - első szabad helyre(first fit), - következő szabad helyre(next fit), - legjobb helyre(best fit) ⇒ maradék hely minimális, - legrosszabb helyre(worst fit) ⇒ maradék hely maximális. - időnként átrendezés(garbage collection) kell ! lap: mérete azonos, nem átlapolódó(512B-8kB) (page, frame) = címzés: logikai cím=lapssz.+relcím fizikai cím=bázis(lapkeret)cím+rel.cím lapsorszám ⇒ laptábla ⇒ bázis(lapkeret)cím = lapváltás: kérésre(demand paging) ⇒ page fault trap ⇒ adat working set = az éppen használt lapok = lapváltás módja: - véletlenszerű, - legrégebbi(FIFO), - LRU(least recently used) Cserny: Szg. arch 2005/06 107 szegmens- és lapváltás csökkentése: = megfelelő programozástechnikával
⇒ strukturált, objektum-orientált programozás = lokális változók használatával, stb. c.)Virtuális címek leképzése Gyakorlatilag, táblázat segítségével megvalósított, egy-, vagy többlépcsős indirekt címzés; szegmens- és laptábla (részeinek) tárolása: ⇒ cache-ben ⇒ Translation Lookaside Buffers (TLBs) Egylépcsős címképzés Szegmenscímzés virtuális cím sorszám 8 szegmens sorszám valós tároló relatív cím 24 szegmens fizikai címe ⊕ 32 szegmens kezdet 32 max. 255 szegmenstábla pontos (fizikai) cím (66.ábra) Cserny: Szg. arch 2005/06 108 Szegmenscímzésnél: szegmens maximális mérete = 16MB Szegmenscímzés szegmensregiszter alapján - szegmenstábla a főtárban(i386, i486) - maximum szegmensméret = 4GB állapot jelzõ virtuális cím valós tároló relatív cím 2 szgm.sszreg 32 16 szegmens sorszám szegmens fizikai címe ⊕ szegmens kezdet 32 32 pontos (fizikai) cím max. 64K-1 szegmenstábla
(67.ábra) Cserny: Szg. arch 2005/06 109 Lapcímzés virtuális cím lapsorszám relatív cím 20 12 lapsorszám lapkeret sorszám valós tároló ⊗ lapkeret kezdet 32 20 pontos (fizikai) cím max. 1M-1 laptábla (68.ábra) Lapcímzésnél: lapméret: 512 byte - 8 KB ⇒ laptábla > 1 MB aktuális rész: cache-tárban Cserny: Szg. arch 2005/06 110 Többlépcsős címképzés Többlépcsős lapcímzés kétlépcsős változat virtuális cím szgm.ssz lapsorszám relatív cím 10 10 valós tároló 12 szgm. laptáblázat lapkeret ssz. ssz. laptáblázatok lapsorsz. lapkeret sorszám ⊗ 1023 laptáblázat katalógus tábla 20 1023 lapsorsz. lapkeret sorszám 20 lapkeret kezdet 32 pontos (fizikai) cím 1023 (69.ábra) Cserny: Szg. arch 2005/06 111 háromlépcsős változat rootpointer virtuális cím lapkat. laptábla ssz. ssz. 20(32) 7 fõtáblázat lapkat. lapkatalógus ssz. kezdete 7 relatív cím 6 12 lapkeret sorszám
20(32) ⊗ 63 laptábla laptáblázat ssz. lapkeret ssz. 127 laptáblázat katalógus tábla valós tároló laptáblázatok lapsorsz. 127 lapssz. lapsorsz. lapkeret sorszám lapkeret kezdet 32 pontos (fizikai) cím 20 20(32) 63 (70.ábra) csak a főtábla van a főtárban = kezdőcíme(root-pointer), = hossza külön regiszterben, időigényes: csak az aktuális adatokat tárolják a cache-ben(TLB). példák: 2-lépcsős: i860, MC88000, NS32532, 3-lépcsős: MC68040, Z80000, 5-lépcsős: MC68030 Cserny: Szg. arch 2005/06 112 Többlépcsős szegmentált lapcímzés kétlépcsős változat állapot jelzõ virtuális cím 2 szgm.sszreg 32 valós tároló szgm. ssz. 16 szegmens kezdõcíme ⊕ 32 64K-1 szegmenstábla 32 virtuális cím lapsorszám 20 lapssz. relatív cím 12 ⊗ laptáblázat lapkeret sorszám lapkeret kezdet 32 20 pontos (fizikai) cím 1M-1 (71.ábra) Cserny: Szg. arch 2005/06 113 háromlépcsős változat: állapot jelzõ
virtuális cím virtuális cím 2 szgm. ssz. szgm.sszreg 32 16 szegmens kezdõcíme ⊕ 32 64K-1 32 szegmenstábla kat.tábla lapkeret laptábla.ssz lapsorszám sorsz. virtuális cím 12 10 10 valós tároló relatív cím 20 szgm. laptáblázat lapkeret ssz. ssz. laptáblázatok lapkeret lapsorszám sorsz. ⊗ 1023 laptáblázat katalógus tábla 20 1023 lapsorsz. lapkeret sorszám 20 lapkeret kezdet 32 pontos (fizikai) cím 1023 (72.ábra) Cserny: Szg. arch 2005/06 114 Példa: virtuális cím háromlépcsős leképzése fizikai címre(i386, i486) állapot virtuális cím 32 2 szgm.sszreg ⊕ 1 szgm.tábla kezdõcíme 16 32 lapkatalógus lapkeret sorszáma ⊕ szgm. k.címe 2 3 laptábla lapkeret ssz. lapkeret ssz. 32 20 20 virtuális cím laptáblassz. 10 lapsorszám 10 rel. cím 12 00 2 20 00 20 2 32 1 20 20 32 32 2 3 12 32 fizikai cím (73.ábra) Cserny: Szg. arch 2005/06 115 3.36Tárvédelmi módszerek
Tárolókezelő rendszer(MMU) feladata: = címkiszámítás helyességének ellenőrzése, = rendszerprogramok védelme az alacsonyabb prioritású programoktól, = felhasználói programok védelme egymástól, = tárolt adatokhoz történő hozzáférés felügyelete. a.)Programok, feladatok védelme = hierarchikus rendszer(pl. Intel proc): - 4-szintű: legmagasabb szinten az operációs rendszer, - szintek között ellenőrzött átjárás szintenként külön veremtárolók; programok csak saját szintű, vagy magasabb prioritású alprogramokat hívhatnak; adatokat csak saját szinten, vagy annál alacsonyabb prioritású szinten érhetnek el; - feladatok(task-ok) közötti védelmet a feladathoz tartozó saját használatú deszkriptortáblák (lokális deszkriptortáblák) biztosítják. = nem hierarchikus rendszer műveleti tábla tartalmazza az elvégezhető tevékenységeket. b.)Adatok védelme Sokrétű védelmi lehetőség, pl. hozzáférési jogok: = írási/olvasási
jog, = végrehajtási jog, stb. Cserny: Szg. arch 2005/06 116 3.4Kapcsolatok kezelése Feladat: a gép egyes részeinek, folyamatainak összehangolása: = automatikusan(proc. nélkül), = 'intelligens' módon (kiértékeléssel megszakítási rsz.) adatátvitelek leghatékonyabb megoldása: = processzor - memória, = processzor - I/O eszközök, perifériák, = memória - I/O eszközök, perifériák között. Legfontosabb erőforrások: sínrendszer, csatornarendszer. Működéshez: megszakítási rendszer 3.41Megszakítási rendszer Feladat: a számítógép folyamatainak összehangolása kivételes és váratlan események bekövetkezése esetében is. Cserny: Szg. arch 2005/06 117 a.)Megszakítás fogalma, keletkezése = események: szinkron, várt, aszinkron, várt, aszinkron, váratlan; ahol a szinkronitás a futó programmal összefüggésben értendő. = események kiváltója: program(szinkron), hardver(aszinkron). = megszakítás, megszakítási
kérelem, megszakítás kiszolgálása; = megszakítások maszkolása. b.)Megszakítások kiszolgálása = problémák: - megszakítás helyének megállapítása, - futó program szabályozott felfüggesztése, - egyidejű megszakítási kérelmek kezelése, - többszörös megszakítási kérelmek kezelése. = megszakítás helye: - szoftver úton: lekérdezéses(polling interrupt), - hardver+szoftver úton: egy, vagy több vonal, vektoros módon. Cserny: Szg. arch 2005/06 118 = kiszolgálás lépései: hardver által: - jelzés, visszaigazolás, - vektorsorszám átküldése, - processzor tárolja, - PC, állapotregiszter elmentése, - vektortáblázatból a kiszolgáló rutin címének meghatározása és a rutin elindítása; szoftver által: - regisztertartalmak elmentése, - a megszakítás kiszolgálása, - részeredmények visszatöltése, - visszatérés az eredeti feldolgozáshoz; hardver által: - az elmentett PC, állapotregiszter visszatöltése, - az eredeti
feldolgozás folytatása. c.)Megszakítások sorolása = szoftver által: soros kiszolgálás, = hardver(megszakítás vezérlő)+szoftver által: - központi kiértékelés, - elosztott(daisy chain) kiértékelés =többszörös megszakítások: - egyszintű rendszerben nincs lehetőség, - többszintű rendszerben: egyező, vagy alacsonyabb prioritásúak letiltása ideiglenesen alacsonyabb szintre sorolás, ideiglenesen prioritások átrendezése. Cserny: Szg. arch 2005/06 119 3.42Sínrendszer(buszrendszer) a.)Lényege Több tucat vezeték, amelyeken az adatok továbbítása meghatározott(szabványos) formában történik; a vezetékek és a jelek egymáshoz rendelése meghatározott. Feladata: = az átvitelben résztvevő eszközök kijelölése, = az átvitel irányának kijelölése, = a kapcsolatban résztvevő eszközök együttműködésének, szinkronizálásának biztosítása, = az adatok átvitele. b.)Felépítése = struktúrája: belső, külső: -
helyi(local), - rendszer(system), - memóriasín; sínmeghajtó egység. Cserny: Szg. arch 2005/06 120 = részei: címsín(32, 64 bit), adatsín(32, 64, 128 bit), vezérlési sín - adatátvitelt vezérlő, (pl.: M/IO*,R/W, BUSY, READY, stb.), - megszakítást vezérlő, - sínvezérlő jelek, stb. = sín használói: - master(aktív eszköz), - slave(passzív eszköz). = sínprotokol: elektronikus, mechanikus jellemzők, amelyek a kivitelezés és a működés módját egyaránt megszabják. c.)Működése = A sínvezérlés módja: = aszinkron, = szinkron. = Sínciklus: az az időtartam(ciklusszám), amely egy adatátvitel lebonyolításához szükséges. Cserny: Szg. arch 2005/06 121 = Együttműködés szinkronizálásának alapelve: cím elõkészítése cím elõkészítése memória hozzáférési idõ ALERT ↑ READY? adat elõkészítése ALERT ↓ ALERT? READY ↓ adat elõkészítése READY ↑ adat átvétele adat átvétele processzor oldal
processzor oldal memória oldal memória oldal (74.ábra) Kérés-visszaigazolás(hand-shaking) fogalma: a két oldal együttműködését biztosító eljárás, amely nem engedi valamelyik oldal 'elfutását'. Cserny: Szg. arch 2005/06 122 =Aszinkron vezérlés lényege: vár C cím ⇒ MAR ALERT(AS) ? AS ↑ ← Cd vár C C C READY? [mem(MAR)] ⇒ MBR READY ↑ [MBR] ⇒ AC AS ↓ ALERT(AS) ? READY? READY ↓ ← Cd ← Cd processzor oldal ← Cd memória oldal (75.ábra) Kettős kérés-visszaigazolás(full hand-shaking) technika alkalmazása a biztonság növelése érdekében. Cserny: Szg. arch 2005/06 123 =Szinkron vezérlés lényege: vár C cím ⇒ MAR AS ↑ ALERT? vár AS ↓ [mem(MAR)] ⇒ MBR READY ↑ READY? [MBR] ⇒ AC READY ↓ C C processzor oldal memória oldal (76.ábra) d.)Sínfoglalás = fogalma: a sínhasználat jogának megszerzése több aktív eszköz igénye esetén(bus arbitration) =
lehetőségek: - soros, - párhuzamos módszerrel. Cserny: Szg. arch 2005/06 124 = Soros sínfoglalás elve: 0.eszköz 1.eszköz 2.eszköz BG* buszvezérlõ BREQ* sínrendszer (77.ábra) Prioritás megállapítás: sorrend alapján(daisychain); processzor priorítása a legalacsonyabb. = Párhuzamos sínfoglalás elve: 0.eszköz 1.eszköz 2.eszköz BREQ* buszvezérlõ BG* sínrendszer (78.ábra) Cserny: Szg. arch 2005/06 125 = Prioritás meghatározása: - egyszerű körbejáró, - véletlenszerű, - legkevésbé most használt(LRU - least recently used). e.)Tárkezelés(processzor-memória adatátvitel) gyorsítása = átlapolt tárciklus alkalmazása sín terhelése egyenletesebb tárciklus hossza buszciklus hossza órajelek adatelérés - kezdete 0 1 0 1 használt tárbank - vége 0.tárbank 1.tárbank 1.adat 3.adat 2.adat 4.adat (79.ábra) = blokk sínciklus használata(burst mode): több byte-os adatsor átvitelekor nem kell minden byte-ot
külön megcímezni ==> gyorsítható az átvitel. Cserny: Szg. arch 2005/06 126 3.43Adatbevitel/kivitel Kapcsolat a külvilággal: processzor ↔ I/O eszköz, memória ↔ I/O eszköz között. a.)Eszközök elérése = kapcsolat formája általában: belső eszköz sínrendszer külső eszköz vezérlője (csatlakozó) külső eszköz = elérési lehetőség: I/O portok, regiszterek segítségével - parancs(command) regiszter, - állapot(status) regiszter, - adatkimenet(data output) regiszter, - adatbemenet(data input) regsizter. 2-2 összevonható(parancs/állapot, be/ki) általában lényegesen több regiszter kell. = elérés mödja: közvetlen(I/O utasításokkal), közvetett(memory mapped). = önálló I/O címmezővel, = teljesen memóriába ágyazottan = átviteli módok: soros, párhuzamos. = periféria vezérlése, átvitel bonyolítása Cserny: Szg. arch 2005/06 127 - közvetlen, feltétel nélküli(pl. jelzőizzó), - feltételes(jelzőbit
ellenőrzése, megszakítás várása, stb.), - közvetlen tárolóhoz fordulással(DMA=direct memory access) blokkos átvitel, cikluslopás ==> időosztásos sínhasználat - önálló vezérlőjű csatorna ==> nagygépek, - I/O processzor + csatorna. b.)Párhuzamos adatátvitel = programozott I/O átvitel - feltétel nélküli, - feltételes(jelzőbit alapján), ===> processzor foglalt a teljes átviteli időben; = megszakításos I/O átvitel I/O eszköz felszabadul ==> megszakítási kérelem ==> adatátvitel ===> processzor csak a megszakítási kérelem kiszolgálása alatt foglalt az I/O tevékenységgel; Cserny: Szg. arch 2005/06 128 = közvetlen memóriahozzáférés(DMA) - processzor ellenőrzi a perifériát, tudja-e fogadni az átvitelt, - DMA vezérlő részére előkészíti az átvitel paramétereit, elindítja a DMA-t, - DMA buszfoglalási kérelmet jelez, - buszfoglalás, átvitel, - jelzés(megszakítás) a processzor felé, - processzor
ellenőrzi a végrehajtás hibátlan megtörténtét, - buszengedélyezést megszünteti. ===> a processzor csak a megszakítások kiszolgálása alatt foglalt. = csatorna-elv alkalmazása - szelektor csatorna, - multiplexor csatorna, mindegyik önálló vezérlő egységgel. ===> a processzor teljesen felszabadul az I/O tevékenység irányítása alól. c.)Soros adatátvitel gyakori, egyszerű, de megbízható átviteli mód, = lényege: párhuzamos-soros átalakítás(UART = Asynchronous Receiver/Transmitter), esetleg modem használata(szimplex, duplex üzemmód), Cserny: Szg. arch 2005/06 129 = átviteli protokoll meghatározott: RS-232C, RS-449 szabvány = átviteli csatorna felépítése: frekvenciamodulált jelek digitális jelek mikroszámítógép párh.soros átalakító modem sorospárh. átalakító modem mikroszámítógép telefonvonalak (80.ábra) = aszinkron átvitel: 0. 1-es szint 1. karakterenként - start bit(1), - adatbit(7), -
paritásbit(1), - stop bit(1-2). 2. 3. 4. 5. 0-ás szint start bit adatbitek 6. bit paritás bit stop bitek 1 karakter bitjei (81.ábra) átviteli sebességek: 110, 300, 1200, 2400, 9600, 19200 [bit/sec]; Cserny: Szg. arch 2005/06 130 = szinkron átvitel: blokkos átvitel - karakterorientált, - bitorientált, a.) Karakter orientált protokoll 1 1 1 1 SYN SYN SOH fejrész STX 1 2 ETX/ adatok(n karakter) ETB ell.örzõ összeg SYN = szinkronmezõ SOH = fejrész kezdete(start of header) STX = szöveg kezdete(start of text) ETX = szöveg vége(end of text) ETB = átviteli blokk vége(end of transmission block) b.) Bitorientált protokoll 1 7E h címrész 1-2 vezérlõ rész 2 adatok(n karakter) 1 ell.örzõ 7E h összeg (82.ábra) átviteli sebességek: 4800, 9600, vagy nagyobb. Cserny: Szg. arch 2005/06 131 4.Perifériális eszközök 4.1Tárolóeszközök 4.11Általános jellemzők - feladatuk: adattárolás, adatcsere, - típusok: = hajlékony
lemez(floppy), 360KB-720KB-1.2MB-144MB, 2.88MB, 21MB, 120MB(optikai vezérlés); = merevlemez, beépített(80MB-40GB), cserélhető(80-540MB), hordozható(20-80MB); = optikai lemezek(CD-ROM, CD-R, -RW, WORM, DVD), 560-650 MB, 8-16 GB Cserny: Szg. arch 2005/06 132 a.)hajlékonylemezes(floppy) egységek: - típusai: 5.25" és 35" meghajtók - adataik: kapacítás[kB] átmérő[in] fejszám sávszám szektorszám sávsürüség[tpi] jelrögzítés átv.seb[Kb/s] 360 5.25 2 40 9 48 MFM 250 1200 5.25 2 80 15 96 MFM 500 720 3.5 2 80 9 135 MFM 250 1440 3.5 2 80 18 135 MFM 500 2880 3.5 2 80 36 135 MFM 1000 - adatok beállítása BIOS-on keresztül, - max. BIOS kapacitás: 64MB b.)merevlemezes(winchester) egységek: - felépítése: zárt, 6-15 könnyűfém lemez, mágnesezhető réteg, repülőfej, 3600 f/p - kapacitás: 5.25" -es: 20-40MB, 25-50ms, 625kB/s, 3.5" -es: 50-500MB, 10-20ms, 900kB/s, - max. BIOS kapacitás: 838GB c.)optikai egységek -
felépítése: cserélhető lemez, a lemezen spirálpályán elhelyezkedő jelsorozattal; csak olvasható, egyszer írható, írható-olvasható - kapacitás: 550-650 MB, >10 GB(DVD) 150 kB/s, 300 kB/s, . Cserny: Szg. arch 2005/06 133 4.12Információtárolás - vizsgálat szintjei: fizikai, BIOS, DOS. a.)Fizikai szint 1.Mágneses tárolóeszközök - jelrögzítés módja: önszinkronizáló: FM, MFM, RLL(ARLL) - formázás(sávkezdet fizikailag adott: ⇒ pl. lyuk) szektorok: fejrész(azonosító, ell.összeg), adatrész(adatok, ell.összeg) sávok(cilinderek) - ellenőrző összeg: CRC(cyclic redundancy code), ECC(error correcting & checking) - üres helyek(gap) a megbízhatóság miatt, - írásvédelem vezérlési szinten(nem léphető át?), =operációs rendszer szinten: a lemez formázási adatai leolvashatók. Cserny: Szg. arch 2005/06 134 2.Optikai tárolóeszközök - jelrögzítés formája: 'lyuk' - 'nem-lyuk' átmenet léte- nem
léte(NRZI) = lézerrel beégetett lyukak (pit - 0.5 x 0833 ÷ 3056 µm), = közbülső szakaszok(land) váltakozásával; = írható/olvasható tárolóknál magneto-optikai jelrögzítés, írás: lézerrel helyi melegítés mágnesezés, olvasás: lézerrel polarizáció változó; - jelrögzítés spirál pályán, 1.6 µm menetemelkedéssel, azonos jelsűrűséggel ⇒ változó fordulatszám(250-500 f/p); - adattárolás: = byte-onként 14 bites formában, 'cross-interleaved Reed-Solomon' hibajavító kód alkalmazásával, = 24 kibővített byte-os adatcsoportok kialakítása további kiegészítő információkkal ⇒ 588 bit hosszúságú, = 98 adatcsoportból adatkeret(blokk) ⇒ 2352 byte. Cserny: Szg. arch 2005/06 135 b.)BIOS szint - szektor- és sávszintű műveletek, - sávok sorszáma: 0-39, 0-79, - szektorok(512B) sorszáma: 1-9, 1-15(1.2M), 1-9, 1-18(1.44M) 1-17, -26, -34 (HDD) - sorszámozás: = floppy-nál a fizikai és a (BIOS szintű) logikai
számozás megegyezik, = merevlemeznél a magas fordulatszám miatt, eltolás ⇒ interleave (1:6, 1:3, 1:2, 1:1 arányban); - lehetséges műveletek: = floppy-nál(13h megszakításon keresztül; funkciókód: az AH-ba): = merevlemeznél(bekapcsoláskor, ha van merevlemez ⇒ a 13h-as megszakítás a merevlemezé és a floppy átirányításra kerül a 40h-es vektorra) = optikai lemeznél(15h megszakításon keresztül, ha az MSCDEX.EXE program be lett töltve; funkció: AH=15h; alfunkció az AL regiszterbe): c.)DOS szint Cserny: Szg. arch 2005/06 136 Szabványos forma és (mágneslemezeknél), tartalom a DOS számára (szektorok sorszámozása logikai, 0-tól) Részei: - particiós tábla(MBR, 0.szektor), - betöltő szektor(boot sector) - állományelhelyezési tábla(FAT), - állományelhelyezési tábla másolata (FAT2), - főkönyvtár(root directory), - további állományok, Particiós tábla: − aktiv/inaktiv partició − particiókezdet fejsorszáma −
particiókezdet sáv-, szektorsorszám − operációs rendszer kódja − particióvég fejsorszáma − particióvég sáv-, szektorsorszám − particiókezdet logikai szektorsorszáma − particióvég logikai szektorsorszáma Cserny: Szg. arch 2005/06 1 byte, 1 byte, 2 byte, 1 byte, 1 byte, 2 byte, 4 byte, 4 byte. 137 Betöltő szektor tartalma(partició első szektora): − ugró utasítás 3 Byte, − gyártó neve és verzió 8 Byte, − Byte/szektor 2 Byte, − szektor/klaszter 1 Byte, − foglalt szektorok száma 2 Byte, − FAT-k száma 1 Byte, − főkatalógus bejegyzéseinek száma 2 Byte, − szektorok száma 2 Byte, − adathordozó leíró Byte-ja 1 Byte, − FAT által elfoglalt szektor 2 Byte, − szektor/sáv 2 Byte, − fejek száma 2 Byte, − rejtett szektorok száma 2 Byte, − verziótól függő foglalt hely − betöltő rutin: betölti az IO.SYS, MSDOSSYS állományokat FAT tartalma: klaszterenkénti információ (12 vagy 16[ha 4078 kl-nél több
van] biten) 0.klaszter: 1.klaszter: többinél: lemez azonosító kód, file vége jel(FFFh) 000h használaton kívül, nnn nnn.-nél folytatódik, FF0-FF6 foglalt(FF7h=sérült), FF8-FFF file vége. Cserny: Szg. arch 2005/06 138 Főkatalógus tartalma: 32Byte-os bejegyzéseket tartalmaz: − file neve − file név kiterjesztése − attributum − fenntartott − utolsó módosítás időpontja − utolsó módosítás dátuma − első klaszter sorszáma − file hossza Cserny: Szg. arch 2005/06 8 Byte, 3 Byte, 1 Byte, 10 Byte, 2 Byte, 2 Byte, 2 Byte, 4 Byte. 139 4.13Floppy illesztő - vezérlő: i82072, i82077a(2.88MB-ost is kezeli) - egy, vagy két meghajtó, - jelsűrűség: - I/O címek: SD DD HD FM, MFM, MFM, 3F0h BIOS csak ezt ismeri, IRQ6+DMA 2.csatorna, bármely szabad IRQ + 8 bites DMA. 370h 250kb/s 500kb/s 4.14Merevlemez illesztő - egy, vagy két illesztő lehet, - I/O címek: 1F0h 170h BIOS csak ezt ismeri, (jelzés: IRQ14) bármely szabad
IRQ, külön kezelő kell - parancsok: = fej a 0.sávra, = fej adott sávra, = szektor olvasása, = szektor írása, = sáv formázása, = szektor ellenőrzése, = diagnosztika végrehajtása, = fej- és szektorszám beállítása. Cserny: Szg. arch 2005/06 140 a.)Seagate-csatoló(st506/412) - legelső csatolók egyike(1980-as évek eleje), - kis kapacítású egységekhez(< 140 MB), - négy egység csatolható hozzá(ált.-ban 2 egység van), - 34 pólusú vezérlő- +20 pólusú adatcsatlakozó, - kódolás: MFM(gyakoribb), vagy RLL, - elérési idő: ∼ 28 ms - adatátviteli sebesség: > 625 kB/s (lemez és vezérlő között analóg jelek), b.)ESDI(Enhanced Small Device Interface) csatoló - az st506/412 csatoló továbbfejlesztése, kompatibilitás, - kódolás: többnyire RLL, - adatátvitel sebesség: kb. 12MB/s (lemez és vezérlő között digitális jelek), - 34 pólusú vezérlő- +20 pólusú adatcsatlakozó, - elérési idő: ∼ 17 ms, - kapacitás: ∼
300 MB. Cserny: Szg. arch 2005/06 141 c.)SCSI(Small Computer System Interface) csatoló - több, mint csatoló sínrendszer, - max. 7 egység csatolható hozzá, - nem csak lemezegység(CD-ROM, scanner, streamer) csatolható, - adatátviteli sebesség: 5 MB/s, (8 bites párhuzamos adatátvitel), - 50 pólusú csatlakozó(9 vezérlő- + 9 adatvezeték) - 'indikátor'(master) és 'target'(slave) is lehet, SCSI-2 csatoló: - adatátviteli sebesség: 10 MB/s, - 16, 32 bites adatszélesség. Cserny: Szg. arch 2005/06 142 d.)IDE-EIDE(Enhanced Integrated Device Electronic) csatoló - az ESDI csatoló továbbfejlesztése, vezérlő a meghajtóba AT-sínes csatoló, - sín max. frekvenciája: 10 MHz, - adatátviteli sebesség: 1-4 MB/s, (8, 16 bites párhuzamos adatátvitel), - IDE max. 504 MB-ot(1024 sáv x 63 szektor x 16 fej x 512 byte) kezel, - két illesztő használható, két-két meghajtóval (master-slave), - gyárilag formázott - EIDE a nagyobb
kapacítású(>512 MB) lemezekhez, - logikai blokkcímzéssel(LBA), újabb BIOS-ok már ismerik, - nagyobb adatáviteli sebesség: 13.3 MB/s, - EIDE esetében max. 84 GB, Cserny: Szg. arch 2005/06 143 4.2Monitorok és vezérlésük 4.21Alapfogalmak - fogalmak: = folyamatos(non-interlaced), váltott soros(interlaced) képalakítás; nagyobb felbontásnál, alacsonyabb képfrekvencia; = multisynchron: felbontás változtatása a kép ugrása nélkül; = overscan: teljes képernyő használata; = utánvilágítás; = alacsony sugárzású(low radiation). - felbontás lehetősége(fizikai pontméret - 'dot') ↔ képernyőméret - vezérlő kártya elemei: = vezérlő(pl. MC6845), = video RAM, = video ROM-BIOS, = karaktergenerátor, stb. - vezérlők feladata: = memóriabeli képernyőtartalom megjelenítése ⇒ címtartomány: A0000 - BFFFF között. Cserny: Szg. arch 2005/06 144 FFFFF C0000 BC000 B8000 B1000 B0000 szöveges CGA, EGA, 200 soros CGA,EGA
(grafikus) monokrom MDA, HGC 350 soros EGA (grafikus), VGA A0000 00000 (83.ábra) - vezérlés többnyire MC6845-össel, de ez a kártyától függ, - a kártya vezérlése az I/O címeken(3B0-3BF, 3D0-3DF) keresztül, - vezérlés módja: = fizikai szinten(regiszter szinten): 3B0 - 3BF között: MDA, HGC 3C0 - 3CF között: EGA, VGA 3D0 - 3DF között: CGA, EGA, VGA video RAM címek: A0000 - BFFFF Cserny: Szg. arch 2005/06 145 4.22Kártyatípusok a.)Alaptípusok típus MDA HGC HGC+ CGA EGA MCGA VGA SVGA kar. készl. min. RAM [kB] 256 256 igen 256 üzemmód színek száma jellemző felbontás kar. kar./ graf. kar./ graf. kar./ graf. kar./ graf. kar./ graf. kar./ graf. kar./ graf. 2 2 720x350 720x350 2 720x400 4/16 640x200 16 640x350 igen 256 256 640x480 igen 256 256 640x480 igen 256 256 800x600 igen 512, 102 4 256 MDA, CGA, EGA, MCGA módokat az IBM definiálta, a többit más gyártók. Két monitoros összeállításoknál használható
párosítások: = csak egy színes és egy mono monitor párosítható, = két színes monitor csak EGA módban párosítható. Cserny: Szg. arch 2005/06 146 b.)MDA(Monochrome Display Adapter) kártya - videomód jellemzők: 7-es mód: 80x25 karakter, 1 lap 9x14 pont, 2 szín - tárolási mód: 0.oszlop 0.sor karakterkód 1.sor karakterkód 1.oszlop attributum byte karakterkód attributum byte karakterkód attributum byte = 1, aláhúzott karakter karakter/elõtér színe (00, 11 megengedett) = 1, magas fényerõ háttér színe (000, 111 megengedett = 1, villogás engedélyezve (84.ábra) - memóriaigény: 80x25x2 = 4000 [By] - tárolási hely: B0000 - B0FFF - karakter rel.címe: 160 * sor + 2 oszlop Cserny: Szg. arch 2005/06 147 c.)HGC(Hercules Graphic Card) kártya - videomód jellemzők: 7 7+ 80x25 80x25 720x350 9x14 720x400 9x16 2 szín(mono) 2 szín - memóriaigény: szöveges: 80x25x2 = 4000 [By] 8 lap, grafikus: 720x350x1 = 31500 [By] (2
lap) 32 KB - tárolás: 4 szegmensben(4x8KB): 0.,4,8, 1.,5,9, 2.,6,10, 3.,7,11, - tárolási hely: sor 90-90 Byte-ja, sor 90-90 Byte-ja, sor 90-90 Byte-ja, sor 90-90 Byte-ja. B0000-B7FFF(B8000-BFFFF) - pxl byte cím(x,y): 8192*(y mod 4) + 90int(y/4) + int(x/8) - bitcím: 7-(x mod 8) Cserny: Szg. arch 2005/06 148 d.)CGA(Color Graphic Adapter) kártya - videomód jellemzők: = szöveges: 0,1 40x25 2,3 80x25 = grafikus: 4,5 320x200 6 640x200 8x8 pont16 szín, 8x8 pont16 szín, 8x8 pont4 szín, 8x8 pont2 szín. Karakteres üzemmód hasonló az MDA kártyáéhoz karakterkód, attributum = fekete/fehér üzemódban: attributum byte: 7. villogtatás engedélyezése, vagy háttér intenzítás állítása, 6-4. háttér színe, 3. karakter magas fényerő, 2-1. karakter színe, 0. aláhúzás(nem mindig). = színes üzemmódban: attributum byte: 7. villogtatás engedélyezése, vagy háttérszínkód intenzítás, 6-4. háttér színe, 3. karakter magas fényerő, 2-0.
karakter színe Cserny: Szg. arch 2005/06 149 színkódok: intenzitás 0 0 0 0 0 0 0 0 színkód 000 001 010 011 100 101 110 111 szín fekete kék zöld türkiz vörös lila barna vil.szürke intenzitás 1 1 1 1 1 1 1 1 színkód 000 001 010 011 100 101 110 111 szín söt.szürke vil.kék vil.zöld vil.türkiz piros vil.lila sárga fehér Grafikus üzemmód: - felbontás: 640x200 sor esetén: 1 bit/pixel 2 szín 320x200 sor esetén: 2 bit/pixel háttér színe: 16 színből, előtér színe: 2 paletta alapján 3 szín - memória igény: szöveges: grafikus: 4 kB 16 kB 4/8 lap 1 lap - tárolási hely: B8000 - BBFFF pxl cím(x,y): 8192*(y mod 2) + 80int(y/2) + int(x/4) bitcím: 6-2*(x mod 4) Cserny: Szg. arch 2005/06 150 memória cím 3.sor 1.sor 0.By 0.By 79.By 79.By BA000 2.sor 0.sor 0.By 1By 0.By 1By 79.By 79.By B8000 320x200-as 0. 1 2 3 4 5 6 7 felbontás képpont(pixel) 640x200-as 0 1 2 3 4 5 6 7 8 felbontás képpont(pixel) 15 (85.ábra)
e.)EGA(Enhanced Graphic Adapter) kártya - videmód jellemzők(cél a nagyobb felbontás): 0*,1 2*,3 CGA szerint, 4,5 6 7 MDA, HGC szerint EGA módok: D 40x25 320x200x16 E 80x25 640x200x16 F 80x25 640x350x2 10 80x25 640x350x16 - memóriaigény: A0000-AFFFFh Cserny: Szg. arch 2005/06 8x8 8x8 8x14 8x14 151 = szöveges: = grafikus: 80x25x2 = 4000 [byte] 640x350x4 bit = 112000 [byte] ≅ 128 kB f.)MCGA(Multi Color Graphic Adapter) kártya - videomód jellemzők: alapjaiban a CGA kártyához hasonló, a PS/2-25, -30-as gépekhez készült. 0,1 2,3 4,5 6 11 13 CGA módokat 400 sorral jeleníti meg 200 helyett. 80x30 40x25 - memóriaigény: = szöveges: 640x480x2 320x200x256 8x16 8x8 A0000 - AFFFFh tárolási mód a CGA szerinti, = grafikus: CGA kompatibilis módnál ugyanolyan, 640x480x2 1 Byte = 8 pxl 320x200x4 320x200x256 a pxl színértékét 1 Byte tárolja. Cserny: Szg. arch 2005/06 152 g.)VGA(Video Graphic Array) kártya - videomód jellemzők: nem IBM
definiált kártya, 0+,1+ 2+,3+ 7+ CGA kompatibilis VGA módok(400 soros) HGC kompatibilis VGA mód 12 80x30 640x480x16 8x16 - megjelenítési formák: = szöveges: az attributum adatok a CGA, EGA továbbfejlesztésével alakultak ki; a paletta regisztereken keresztül vezérli a színkód regisztert és a monitort, 8 karakterkészlet; = grafikus: 640x480x16/256 -os felbontásnál az EGA kártyához hasonlóan működik, 1 pxl adatai 1 Byte-ban vannak tárolva. h.)SVGA(Super Video Graphic Array) kártya VGA kártya továbbfejlesztése: = szöveges: 25, 30, 43, 60 soros, 80, 132 karakteres megjelenítés = grafikus: 800x600, 1024x768, 1280x1024 pontos felbontások, 16, 256, 32768 szín(árnyalat). Cserny: Szg. arch 2005/06 153 4.3Egyéb beviteli/kiviteli eszközök Feladatuk: = párhuzamos, = soros, = játék kimenetek/bemenetek kezelése. Többnyire a nyomtató, az egér, a botkormány(joystick), a modem, a lapolvasó(scanner) vezérlésére szolgálnak, de emellett a
hajlékonyés merevlemez vezérlői is rajta lehetnek. 4.31Billentyűzet, egér a.)Billentyűzet Típusai: 84, 101/102 billentyűs változatok; Windows billentyűzet Működés: saját vezérlővel rendelkezik, parancsokat is fogadhat Adatátvitel: soros, 2 byte-os 1.byte: ASCII kód, 2.byte: 'scan' kód; funkcióbillentyűnél: 1.byte = 0 tetszőleges ASCII kód bevitele: numerikus billentyűzettel(ALT + kód) BIOS szintű elérés: 60h 64h b.)Egér bemeneti/kimeneti adatregiszter, parancs/állapot regiszter Cserny: Szg. arch 2005/06 154 Soros porton keresztül csatlakoztatható a géphez. Típusai: mechanikus, optikai, opto-mechanikus vezérlésű Adatátvitel: 3, vagy 5 byte-os soros adat 1.byte: x irányú elmozdulás az előző helyzethez viszonyítva, 2.byte: y irányú elmozdulás az előző helyzethez viszonyítva, 3.byte: billentyű állapotbyte Soros illesztő(RS232C szabvány) használata Soros nyomtató, terminál, egér, számítógép
csatlakoztatására. Szinkron, UART) aszinkron telex, átvitel(i8250, modem, 16450, 16550 Adatátvitel 5, 6, 7, 8 bites formában, páros/páratlan paritás mellett, 50-56000 bps sebeséggel. BIOS szinten: I/O címek: 3F8 2F8 2E8 3E8 COM1 COM2 COM3 COM4 IRQ4 IRQ3 IRQ4 IRQ3 4.32Nyomtatók Cserny: Szg. arch 2005/06 155 Általában a párhuzamos portot használják. a.)Típusai - karakternyomtatók: = margarétakerekes(daisy-wheel), = sornyomtatók; - mátrixnyomtatók: 9, vagy 24 tű; 5x7-es, 9x11-es, 18x23-as pontmátrix; - tintasugaras nyomtatók: fuvókákon keresztül áramlik a festék; - lézernyomtatók: elektrosztatikus elven működik, = saját processzor, = nincs saját processzor, = Postscript nyelv használata. b.)Párhuzamos illesztő(CENTRONICS szabvány) Lehetséges adatforgalom: = egyirányú, = kétirányú: csak kifelé (Centronics kompatibilis), csak befelé: 4 bites (állapotvonalakon), 8 bites(adatvonalakon), Cserny: Szg. arch 2005/06 156
kétirányú: EPP(Enhanced Parallel Port), ECP(Extended Capability Port) nyomtató, lapolvasó. DOS szinten: 4 logikai periféria(LPT1[PRN], LPT2, LPT3, LPT4) rendelhető hozzájuk az IRQ7, IRQ5 felhasználásával. 378h 278h 3BCh 2BCh LPT1 LPT2 LPT3 LPT4 Cserny: Szg. arch 2005/06 157 Ellenőrző kérdések 1. A számításautomatizálás alapproblémája, követelmények. Az architektúra, rétegelv, virtuális gép fogalma. Hogyan történik a tárolt utasítások feldolgozása, milyen elemi lépésekre van szükség ehhez? 2. Ismertesse a számítógépek csoportosítási lehetőségét a feldolgozó utasításfolyamok és a feldolgozandó adatfolyamok száma, valamint a vezérlési elv alapján. 3. A számítógépek logikai, funkcionális és rendszertechnikai felépítése, vizsgálati módja; magyarázza el a számítógépek lényegi egységeit, működési jellemzőit, a kapcsolatok funkcióját. 4. Milyen jellemzőkkel rendelkezik a Neumann-elvű
számítógép? Mivel magyarázható az utasítások soros feldolgozási rendje? Milyen korlátokkal rendelkeznek az egyprocesszoros gépek? 5. Melyek a struktúrát meghatározó legfontosabb tényezők? Ismertesse, milyen nagyobb teljesítőképességű számítógép architektúrákat ismer és mi azok jellemzője? 6. Milyen adatábrázolási formákat használnak a numerikus adatok tárolásához? Mi a kapcsolat a számok írásmódja és azok tárolási formája között? Hogyan tárolják a negatív számokat és miért? Milyen tárolási forma a BCD kódú tárolás? 7. Ismertesse az IEEE 754-es lebegőpontos számtárolási szabvány ábrázolási és tárolási formáit, adatformátumait és azok jellemzőit. Mi határozza meg a lebegőpontos számok tárolási pontosságát és az ábrázolható számok tartományát? 8. Milyen adattárolási formákat alkalmaznak az alfanumerikus adatok tárolásához? 9. Milyen az utasításábrázolási forma, az utasításszó
szerkezete a gépi utasítások esetében? Milyen részekből áll a gépi utasítás és mi azok funkciója? Ismertesse a különböző utasításszerkezeteket és magyarázza el, hogy milyen módon lehet csökkenteni az utasításban szereplő címek számát. 10. Mi az utasításkészlet és milyen jellemzőkkel értékelhető? Milyen kapcsolat van a hardver és az utasításkészlet között? Hogyan jellemezhetők a CISC és RISC processzorok? 11. Ismertesse a számítógép által elvégezhető fixpontos és lebegőpontos műveleteket(összeadás, kivonás, szorzás, osztás), azok algoritmusát, példák bemutatásával. Ismertesse a BCD kódú összeadás módját. 12. Ismertesse a logikai alap- és összetett műveleteket Mutassa be a logikai műveletek (függvények) és a végrehajtó áramkörök kialakítása közötti kapcsolatokat. Félösszeadó, teljes összeadó vázlata. 13. Ismertesse az gépi utasítások feldolgozásának elemi lépéseit és magyarázza el a
műveleti vezérlés mibenlétét. Milyen alapvető vezérlési, működtetési módokat használhatunk a gép irányítására? Bontsa fel az [X] ⇒ AC feladatot végrehajtó utasítást elemi lépésekre! Mit értünk programozott logika alatt? Mi a mikroprogramozás lényege? Hogy néznek ki a mikroutasitások? 14. Mit értünk valós tárkezelés alatt? Milyen címmódosítási eljárásokat ismer? Magyarázza el azok lényegét rajzok segítségével. Mikor használják a relatív címzést és milyen formái ismertek? Mire szolgál az indirekt címzési mód? Mire használható az indexelt utasítás? Cserny: Szg. arch 2005/06 158 15. Milyen eszközök között kell adatátviteli kapcsolatot teremteni és milyen lehetőségek állnak rendelkezésre? 16. A megszakítás, a megszakítási kérelem fogalma, a megszakítási igény keletkezése, a megszakítás maszkolási lehetősége, a megszakítás kiszolgálása kapcsán megoldandó feladatok. 17. Ismertesse a
megszakítások kiszolgálásának lépéseit, a megszakítások sorolásának módszereit, a többszörös megszakítások kezelési formáit. 18. Mi a sínrendszer és mi a feladata? Milyen strukturális és funkcionális részei vannak? Milyen sínvezérlési módokat ismer? Ismertesse a szinkronizálás alapelvét. Mit értünk 'kézfogás'(handshaking) technika alatt? 19. Milyen sínfoglalási formákat ismer? Magyarázza el azok lényegét Milyen sorolási módszereket használnak egyidejű sínkérelmek esetén? Mi a soros, illetve párhuzamos sínfoglalási rendszer lényege? 20. Ismertesse az adatbevitel/kivitel kapcsán az I/O portok szerepét, az egyes regiszterek feladatát, a soros és a párhuzamos átvitel fogalmát, a processzor és az I/O eszközök közötti átvitelek lebonyolításának formáit. 21. A RISC feldolgozás alapelvei Hasonlítsa össze a CISC és RISC processzorok jellemzőit az utasításkészletük alapján. Milyen jellemzőkkel rendelkezik
az egyik, illetve a másik utasításkészlete, utasításszerkezete? 22. Ismertesse és magyarázza el a 'pipeline' feldolgozás lényegét, előnyeit, valamint azt, hogy milyen problémákat vet fel az utasítások átlapolt feldolgozása. 23. Ismertesse a tárolókezelő és az elágazási utasítások feldolgozásakor jelentkező nehézségeket és azok megoldási módjait. Milyen elágazás előrejelző módszereket használnak? 24. Milyen módszereket használnak a pipeline-feldolgozás közben jelentkező adatütközések kivédésére? Mi a 'forwarding', a 'scoreboarding'? Milyen problémák jelentkeznek a műveletek párhuzamosításakor? 25. Mi a szuperskalár technika lényege? Milyen megoldásokat alkalmaznak az utasításfeldolgozás egyes fázisaiban? Függőségek kezelése. 26. Mit értünk tárolóhierarchia alatt és milyen eszközök alkotják azt? Mire szolgál a számítógépeknél a tárolóhierarchia? 27. Ismertesse a
regisztertárak formáit, kezelési módjait, különös tekintettel az ablaktechnikára 28. Mire szolgálnak a gyorsító(cache)-tárak, milyen jellemzőkkel írhatók le és melyek az alapvető tárolási módok? 29. Ismertesse a különböző típusú(teljesen asszociativ[fully associative], közvetlen leképzésű[direct mapping], csoport asszociativ[set associative]) gyorsító(cache) tárak felépítését, jellemzőit rajz felhasználásával. 30. Milyen betöltési, aktualizálási módokat használnak? Milyen helyettesítési alkalmaznak? Hogyan biztosítható a cache-tár és a főtár adategyezősége? stratégiákat 31. Mi a virtuális címzés lényege? Mikor válik szükségessé a virtuális címzés alkalmazása? Mit értünk szegmens, illetve lap, lapkeret alatt? Mi a különbség közöttük? Ismertesse a legfontosabb szegmens-, illetve lapváltási eljárásokat. Cserny: Szg. arch 2005/06 159 32. Ismertesse az egy-, illetve többlépcsős szegmens-, illetve
lapcímzés lényegét, megoldási logikáját Milyen címzési forma a szegmentált lapcímzés? Ismertesse ezek formáit. 33. Ismertesse a hajlékony- és merevlemezes tárolóeszközök legfontosabb jellemzőit Mutassa be az információtárolás lényegi jellemzőit. 34. Ismertesse a monitorok legfontosabb jellemzőit Milyen elemei vannak a monitorvezérlő kártyáknak? A memória mely területét használják a monitorvezérlő kártyák? Mutassa be a legfontosabb vezérlőkártya típusokat! 35. Ismertesse a perifériális eszközök kezelésére szolgáló soros és párhuzamos csatlakozások főbb jellemzőit. Ismertesse a leggyakrabban használt perifériák (billentyűzet, egér, nyomtató) lényegi jellemzőit, működési elvét. Cserny: Szg. arch 2005/06 160