Architektúra Számítási modellek: 70-es évek: Az IBM 370 Neumann architektúrájú gépek korlátjuk széléhez értek, teljesítményüket nem lehetett már jobban növelni. Ezért az újdonságok kerültek előtérbe mint a RISC féle architektúra, futószalag, konkurens parancsnyelvek (objektum orientált). Itt már a Számítási modelljükben különböznek. A Számítási modell fogalma: A számításra vonatkozó alapelvek absztarakciója. Jellemzői: 1. Min hajtjuk végre a számítást. 2. Hogyan képezzük le a számítási feladatot. 3. Mi vezérli a végrehajtást. Programnyelv
Architektúra Végrehajtás
Specifikáció
Számítási modell
Adatokon hajtjuk végre a számítást.
Implementáció
Számítási modell
Programnyelv
Fejlesztési kronológia:
Architektúra A számítási modell osztályozása: - Adatalapú számítási modell - Neumann féle számítási modell - adatfolyam számítási modell piaci megvalósítás - applikatív - Objektum alapú számítási modell. - Predikátum – logikai számítási modell (prolog). - Tudás alapú számítási modell. kísérleti stádium - Hibrid számítási modell.
bonyolultság
Adatalapú számítási modell: Az adatokat típusokba soroljuk. Az elemi adat típusok meghatározzák az adott értelmezési tartomány érték készletét, az értelmezési művelet halmazát. Pl.: integer (16 bites) ét: -32768 - + 32767 csak az egész érték lehet az érték készlet. - Neumann féle számítási modell: 1. Min hajtjuk végre a számítást: deklarált változók - Adatokon. utasítások 1.oldal
Architektúra I
-
Az adatokat a változók képviselik. Az architektúra biztosítja, hogy a változók korlátlan számban változtathassák értékeiket. 2. Hogyan képezzük le a számítási feladatot. vezérlést átadó utasítás Adatmanipuláló utasítások sorozatával. 3. Mi vezérli a végrehajtást. - Az adatmanipuláló utasítások implicit szekvenciája PC - Az explicit vezérlést átadó utasítás. program számláló Programnyelvek: regiszter Imperatív (parancs) nyelvek, pl.: Pscal, C Basic, Fortram. Nem számolja csak Architektúra: Neumann féle architektúra. egyesével tudja növelni magát. Tudja érzékelni az adat elejét értelmezni move utasításként. - adatfolyam számítási modell: 1. Min hajtjuk végre a számítást: Adaton. 2. Hogyan képezzük le a számítási feladatot: - Bemenő adatok halmaza. - Adatfolyam gráffal: a) Csomópontok (műveletvégzők). b) Élek input/output lehetőség, ahol az adat áramlik. Pl.: Z=(X+Y)*(X-Y) X Y bemenő adatok halmaza +
*
párhuzamos műveletvégzés időmegtakarítást eredményez a Neumann féle szekvenciálisan dolgozott
Z 3. Mi vezérli a végrehajtást: időmegtakarítást eredményez 1. Még nincs operandus 2. Az egyik operandus megjelent. 3. Mindkét operandus megérkezése → Műveletvégzés. 4. Megjelenik az eredmény.
@
Az utolsó megjelenő operandus indítja el a műveletet (lehet több száz is). Programnyelv: Sisal. Architektúra: The Manchester Dataflour Machine Neumann féle számítási modell 1. Közös memória (adat + program) 1. Változó 2. Adatmanipuláló utasításokkal 3. Implicit szekvencia, vezérlésátadás
adatfolyam számítási modell Műveletvégzőben „tárolhatóak” az adatok Egyszeri értékadás (a bejött adat elveszik) Adatfolyam gráffal Adatvezérelt, nincs PC nincs vezérlési szekvencia
A pentium processzorokban a RISC magban van adatfolyam.
2.oldal
Architektúra I
Architektúra: 1964 Amdahl: Azon ismeretek összessége, amelyeket egy alacsonyszintű programnyelvben programozónak ismernie kell, hogy hatékony programot írjon, pl.: regiszterek, memória, címzési módok, utasításkészlet. 1970 Bell szinteket rendelt az architektúrához P.M.S (Processzor, memory, switches) Programozási szint: - Magas színtű programnyelvek. - Alacsony szintű programnyelvek. Logikai tervezési szint. Áramköri szint A külső jellemzők, a belső felépítés és a működés összessége. Adott absztrakciós szinten (Level) a számítási modul (M), a specifikáció (S) és az implementáció (I) összessége. Számítási modul: {M,S,I} Logikai + fizikai architektúra Külső belső Absztrakt konkrét ISA (instruction setArchiteck)
MA (Mikroarchitektúra)
Logikai architektúra: {M,S} - Adott absztrakciós szinten a fizikai architektúra elvonatkoztatása. - A fekete doboz, külső megjelenése, viselkedése, adott absztrakciós szinten. számítógép
processzor
A processzor szintű logikai architektúra részei: - Adattér. - Adatmanipulációs fa. - Állapot tér. - Állapot műveletek. A fizikai architektúra részei: {M,I} - A logikai architektúra megvalósítása adott absztrakciós szinten. - Adott absztrakciós szinte a fekete doboz belseje. számítógép
processzor
A processzor színtű fizikai architektúra részei: Műveletvégző Vezérlő Memória Sin rendszer I/O rendszer Megszakítási rendszer Egy korszerű számítógép szintjei: (Tannenbaun 6 db) Alkalmazások 5. Problémaorientált nyelvek
Word, Excel Pascal, C
3.oldal
Architektúra I
4. Assenbly szintű nyelvek 3. Operációs rendszerek 2. Utasításrendszer architektúra 1. Mikro architektúra 0. Digitális elemek szintje áramköri szint
operációs rendszerek (ISA) architektúra architektúra digitális technika
Adattér: A processzor által manipulálható tér. Adattér Memória tér
Regiszter tér
Nagyobb Lasúbb Olcsóbb Processzoron kívüli Közös az I/O térrel
Kisebb Gyorsabb Drágább Processzoron belüli Mindig önálló
Memória tér: - A legfontosabb jellemzője a tárolási kapacitás. - Cimtér: a) Modell címtere: címsin szélessége határozza meg b) Adott implementáció címtere - A valós memóriatér fejlődése: a) 40-es évek: néhány száz szó. b) 1950 IAS 10 bites címsin 210=1024 szó. c) 1964 IBM 360 16 Mbite. - Virtuális tár a) 1960-ban jelent meg az ötlete s az IBM 370-es gépcsalád vitte sikerre. b) Alap jellemzői: 1. kétféle címet értelmezünk: a. valós cím (ezt látja a processzor) b. virtuális cím (programozó) Valós címtér Nagyobb Kisebb Lassúbb Gyorsabb Háttértárolón Alaplaphoz helyezkedik el illesztve, félvezető lapkán Programozó Processzor látja látja Várakozik a Itt fut a program program 2. Létezik egy olyan, a programozó számára egy transzporens mechanizmus mely: a. Éppen futó program számára szükséges program és adatrészeket hozza a virtuális tárból a valós tárba illetve, b. Az éppen futó program számára nem szükséges program és adatrészeket kiviszi a valós tárból a virtuális tárba.
4.oldal
Architektúra I
3. Létezik egy olyan, a felhasználó számára egy transzponens mechanizmus, mely a programozó által használt virtuális címeket a végrehajtási (exection) fázisban felborítja valós címekké. transzporens Virtuális címek Valós címek mechanizmus Az intel processzorok valós és virtuális memóriájának fejlődése: Típus Megjelenés éve Valós memória Virtuális (Mbyte) memória 8086 1978 1 80286 1982 16 1 GByte 80386 1985 4096 64 Tbyte
20 bit 24 bit 32 bit
Regiszterek: Osztályozása: - egyszerű - adott típusonként különböző - többszörös Egyszerű regisztertér 40-es évek egyetlen akkumulátor
50-es évek egyetlen akkumulátor + dedikált akkumulátor
60-as évek általános célú regiszter
Verem regiszter
+
-
-
-
Egyetlen akkumulátor Hátránya 1. Szűk keresztmetszet. 2. Két eredmény esetén csak az egyiket tudta tárolni (pl.: osztásnál az eredmény és a maradék). Egyetlen akkumulátor + dedikált regiszter Előnye: A hányados regiszter bevezetése felgyorsította az osztást. Hátránya: Igen drágán valósították meg, mégis gyakran kihasználatlan volt. Általános célú regiszter Előnye: 1. Minden regiszter kihasználtsága javul. 2. Új programozói stílus: a regiszter operandusú művelet maximalizálása. 5.oldal
Architektúra I
-
Verem regiszter Hátránya: Szűk keresztmetszet, mivel csak a verem tetejét látjuk. Előnye: Gyors.
Adattípusonként különböző regiszterek. Megjelenésének az oka a lebegőpontos feldolgozás gyorsítása. karakterisztika Mantissza előjele
mantissza
1964 IBM 360 Lebegőpontos regiszterkészlet, feladata: lebegőpontos műveleti feldolgozás. Általános célú regiszterkészlet, feladata: fixpontos, karakteres, logikai feldolgozás. 1998 Pentium III
általános célú regiszterkészlet Megjelenés éve: 1964 1985 1990 1998
Típus IBM360 Intel80386 IBM RISC6000 PentiumIII
MMX2 (Katmai) egy utasítással több műveletvégzés ér el. A vektor lebegőpontos regiszterkészlet grafikánál fontos. 12bites, 3D filmeket ez tette lehetővé. Általános célú regiszterkészlet 16x32 8x32 32x32 8x32
Lebegőpontos regiszterkészlet 4x64 8x80 32x64 8x80
Katmai (MMX2) 8x128
Többszörös regiszterkészlet: Háttér ismeretek: - kontextus: a) regiszter általános értékei b) az állapottér (flag, PC) - Megszakításkor a futó program kontextusát le kell menteni annak érdekében, hogy a megszakítás feldolgozása után azt visszatöltse és a program futása folytatódhasson. - Több feladatot és több felhasználás környezetében igen sok megszakítás lép fel. A kontextus memóriában való mentése lassú → gyorsítás többszörös regiszterkészlet révén. Fajtái: 1. Több egymástól független regiszterkészlet, pl.: 1964 – Sigma7. - Pataméter átadás csak memórián keresztül történhet, így nem gyorsít. - Ideális, egymástól független megszakításoknál, pl.: I/O megszakítások
6.oldal
Architektúra I
INS
2. Átfedő regiszterkészlet, pl.: 1980 RISC I. - A hívóeljárás OUTS része fizikailag megegyezik a meghívott eljárás INS részével INS - Regiszterek száma merev viszonylag sok Locals regiszterkészlet esetén is előfordulhat OUTS INS túlcsordulás. re- A túlcsordult paraméterek mentése a giszLocals memórián keresztül történik (lassú). ter OUTS INS - Konkrét regiszter számok: száLocals RISC 6/10/6 (ins/locals/outs) ma OUTS SPARC 8/8/8 regiszterkészlet száma - Regiszterkészlet száma: tulcsordulás % A mérési eredmények azt mutatták, hogy 8db regiszterkészlet esetén már csak 2% a túlcsordulás. 2 4 6 8 - A programozás módszertana se ajánl nyolcnál több egymásba ágyazott eljárást mivel az ennél több már nehezen tekinthető át. 3. Stack-chache, pl.: 1982 C-Machine itt is van átfedő rész az INS és OUTS-nál - a stack verem szervezését és előző aktiválási rekord - a regiszterek közvetlen címzési lehetőségét. Működése: - A compiler minden eljáráshoz hozzárendel aktiválási előző SP egy változó hosszúságú aktiválási rekordot aktuális (regiszterkészlet). rekord - A SP lehetővé teszi az aktiválási rekordok aktuális közvetlen elérését. steck pointer - Az aktiválási rekordok számának csak a (SP) stack cache fizikai mérete szabhat határt. Adatmanipulációs fa: Legfelső szintjén az adattípusok
FX1
FX2 … FP4 ………
Műveletek
+
-
*
rmr
mmm
Operandustípusok rrr Pl.: két regiszteroperandus és az eredmény is regiszter. Címzési módok (memória) R+D Gépi kód más)
/ ………
PC+D PI+D ………
……………… (minden architektúra más és
Az adatmanipulációs fa megmutatja: - egyrészt a lehetséges adattípusokat, műveleteket, operandus típusokat és címzési módokat. - másrészt egy al-fája pedig megmutatja egy adott modell által megvalósított lehetőséget.
7.oldal
Architektúra I
A gyakorlati megvalósítás: általános célú - A nyolcvanas évekig: címszámító - technológiai korlát a lapkaméret adott, ezért lebegőpontos … koprocesszorkészletként alakítottá ki. - gazdasági korlát (pl.: drága a bővítés, a lebegőpontos rendszer több millió Ft.) - Tudományos műszaki célú konfiguráció: volt benne lebegőpontos aritmetika. - Gazdasági célú konfiguráció: Karakteres műveletek + BCD feldolgozás. Adattípusok: - elemi - Összetett adattípusok (adatstruktúrák vagy adatszerkezetek): az összes elemi adattípusokból épül fel, pl.: tömb, verem, fa. Elemi adattípusok: - numerikus - karakteres - logikai - pixel Numerikus: -
-
-
fixpontos a) egy komplemens b) kettes komplemens 1. előjeles a. byte 8bit b. félszó 16 bit c. szó 32 bit d. duplaszó 64 bit e. quadroszó 128 bit 2. előjel nélküli c) többletes lebegőpontos a) normalizált 1. hexadecimálisan normalizált a. IBM 2. binárisan normalizált a. IEEE 1. egyszeres pontosságú 32 bit 2. kétszeres pontosságú 64 bit 3. kiterjesztett pontosságú 128 bit b. VAX b) nem normalizált BCD (Binary Coded Decimal) a) Pakolt 1. ASCII Mikró számítógépek 2. EBCDIC IBM nagyszámítógépek b) zónázott
8.oldal
Architektúra I
Karakteres: -
ASCII a) Szabványos 7 bit (interneti) b) Kiterjesztett 8 bit (nemzeti karakteres) EBCDIC a decimális értékeket kiterjesztették karakterre is. Unicode
-
1 byte 2 byte 3 byte változó
Logikai:
Műveletek: A műveleteket pontosan kell definiálni, beleértve a kivételeket is (pl.: a nullával való osztás). Az utasítás feldolgozás: Egy gépi kódú utasítás általános formátuma. MK: műveleti kód MK Címrész Az utasítás feldolgozás nagyvonalú folyamatábrája:
Megszakítá s
igen
megszakítás feldolgozása következik
nem
I utasítás lehívás (fetch)
II utasítás végrehajtás (execution)
MAR: Memory Address Register – memória címregiszter (egyirányú). PC: Program Counter. MDR: Memory Data Register – memória adat regiszter (kétirányú). IR: Instruction Register – utasítás regiszter. DEC: Decoder. ALU: Arithmetical Logical Unit – műveletvégzés (utasítást is képes továbbítani).
9.oldal
Architektúra I
AC: Általános célú regiszter. Egy hagyományos szekvenciális feldolgozást végző processzor részei: Operatív tár adatsín címsín processzor MAR
MDR
Vezérlő egység
PC
IR
ALU AC
DEC
I. Utasítás lehívás A PC tartalmazza a következő végrehajtható utasítás címét. MAR ← PC MDR ← (MAR) – nem a címét jutatja el, hanem a tartalmát. IR ← MDR – it már az IR-ben tartalom van. PC ← PC + 1 – következő feldolgozandó utasításra mutat, +1 egységre utal, 2, 4 byte lehet. Minden utasítás esetén megegyezik ez a folyamat. II. Utasítás végrehajtás - Betöltés (load): DEC ← IR műveleti kód MAR ← DEC MDR ← MAR AC ← MDR
IR
címrész
Architektúra – logikai utasítások: DEC ← IR értelmezi, hogy összeadás van a címrészben MAR ← DEC címrész a másik tag MDR ← (MAR) AC ← AC + MDR vagy AC ← AC - MDR vagy elmentése műveletvégzés AC ← AC ÉS MDR - Kiírás (store): DEC ← IR MAR ← DEC címen MDR ← AC
10.oldal
Architektúra I
(MAR) ← MDR – meghatározott helyre történő visszaírás. - feltétlen vezérlés átadás (ne a soron következő utasítást végezze, hanem amit mi megadunk): DEC ← IR IR ← DEC címen 8 egységes egy összeadás. A vezérlőegység és a decoder hangolja össze. Az utasítások fajtái (típusai): op – operandus 4 címes utasítás s – source (forrás) opd:=ops1 @ ops2, op4 d – destination (cél) MK opd ops1 ops2 op4 @ - tetszőleges művelet Az op4 a következő utasításra mutat, csak néha van nagy ugrás. Neumann szerint PC és címregiszter legyen az op4 helyett. Hátránya: - memóriapazarló - adatrögzítési hibák lehetősége nő - nehézkes a program karbantartása 3 címes utasítás: opd := ops1@ops2; Az eredmény helyének az explicit deklarálása. Előnye: Az aktuális utasítás eredményének mentésével párhuzamosan tölthetjük a következő utasítás bemenő operandusait. Hátránya: Neumann szerint: Az aktuális művelet eredménye tipikusan a következő művelet egyik bemeneti operandusa. Pl.: RISC számítógépek (processzorok). 2 címes utasítás: ops1:=ops1@ops2; a mai gyakorlat általában ops2:=ops1@ops2; Pl.: ADD [100],[102]; memóriacímek Előnye: Takarékosabb (memória vagy regiszter). Hátránya: Az a forrásoperandus ahol az eredmény képződik értékét veszti, ha később szükségünk van rá a művelet előtt ki kell menteni. Pl.: IBM 360/370, intek processzorok. 1 címes utasítás: Az egyik forrásoperandust betöltjük az AC-ba (parancs load[100]), az AC aktuális tartalmához hozzáadjuk az utasításban szereplő operandust (Add[102]), és végül az AC tartalmát kimentjük az Operatív tárba (Store[100]). Előnye: Rövidebb utasítások. Hátránya: Több utasítást kell használnunk. Pl.: 1951 IAS (Neumann gépe) csak az 50-es 60-as években készült ilyen processzor. 0 címes utasítás: Fajtái: - NOP no operation. - Veremműveletek (pop, push) csak a verem tetejét látja.
11.oldal
Architektúra I
- A műveleti kód tartalmazza az operandust, pl.: clear a D flag törlése. Napjaink trendje: CISC: - két címes - az első helyen képződik az eredmény - tipikusan csak a második cím lehet memóriacím RISC: - Három címes utasítások, aritmetikai logikai utasítások esetén. - Mindhárom regisztercím Az operandusok elhelyezkedése Akkumlátor Memória Regiszter Verem (stack) A M R V Immediate: A programban adunk értéket → bemenő operandus.
Immediate I
Az architektúrák fajtái: - szabályos: a) A
-
1. A-R a. AAR b. ARA 2. A-M a. AAM b. AMA b) M 1. KÉTCÍMES a. M1M1M2 b. M2M1M2 2. HÁROMCÍMES a. M1M2M3 c) R 1. KÉTCÍMES a. R1R1R2 b. R2R1R2 2. HÁROMCÍMES a. R1R2R3 d) V 1. SSS Kombinált architektúrák: M és R (CISC).
Akkumlátor: Előny: gyors, rövid címrész. Hátrány: Szűk keresztmetszet. → Napjainkban nem aktuális. Regiszter: Előny: Gyors, rövid címrész. A mai RISC számítógépek mindegyike. Memória: Előnye: Nagy címtér.
12.oldal
Architektúra I
Hátránya: Hosszú címrész, hosszú utasítások, lassú. → Napjainkban nem aktuális. Verem: Előnye: gyors. Hátránya: Szűk keresztmetszet. Pl.: HP3000, VT1005 → Napjainkban nem aktuális. Gépi kód: Minden architektúra esetében különböző. Állapottér: -
Felhasználó számára látható a) PC b) Állapot jelzők 1. CC (Condition Code) 2. Állapot indikátorok 3. Adattípusonként különböző állapotindikátorok c) Egyéb, a felhasználó számára látható állapotjelzők 1. Nyomkövetés (debug) 2. Címzés regiszterei (indexregiszter) - Felhasználó számára transzparens a) Meszakítások b) Vizuális tárfoglalás c) Veremkezelés d) …… Condition Code: - 1964 → IBM360 - 2 bit → 4 értékkel Állapotindikátorok: Minden bitenkénti érték jelentéssel rendelkezik, pl.: 0 negatív, túlcsordulás (flag). Adattípusonként különböző állapotindikátorok: Minden regiszterkészlethez külön állapot regiszter tartozik (flag) - Általános célú állapot regiszter. - Lebegőpontos feldolgozás állapot regiszter. Megszakításoknál (fejlődés íve) - 1973 → IBM 370-es gépcsaládoknál bevezetik a PSW - Program Status Word: megszakításoknál a PSW-t mentik el. - Kontextus: a) A regiszterek áktuális értékei és b) Az állapottér aktuális értékei (PC, flag) Megszakítással a kontextust mentik. Állapotműveletek PC Flag Inkrementálás (növelés) set (beállítás) Felülírás save (mentés) load (visszatöltés) clear (törlés) reset (kezdeti értékek visszaállítása)
13.oldal
Architektúra I
Processzorszintű fizikai architektúra Processzor: művelet végző + vezérlő. - Szinkron: egy elektronikus óra meghatározott időközönként órajelet ad. Minden elemi művelet az órajelre hajtódik végre. Az elemi műveletek különböző ideig tartanak → idő vesztesség. Megvalósítása egyszerű és olcsó. Van olyan jel ami nem hajtódik végre egy órajel alatt, ezt a gép lekezeli. | órajel művelet befejezése - Aszinkron: minden művelet befejezése egyben jelzés a következő művelet megkezdéséhez. Az elemi műveletek befejezése bonyolult és drágán valósítható meg. Az elemi művelet befejezésének észlelése is időt igényel → holtidő. | elemi művelet kezdete elemi művelet befejezése A mai piacon lévő koprocesszorok szinkron vezérlésűek ~ 3 GHz a frekvenciájuk. Műveletvégző (ALU) Részei: Regiszterek Adatutak Kapcsolópontok A szűk értelemben vett ALU Regiszterek: -
Programozó által látható, a logikai architektúrába tárgyaltuk. Rejtett regiszterek: puffer regiszterek az adatfeldolgozási technológiához szükséges.
Adatutak: -
A műveletvégző egységen belül nem értelmezett a címsín, hisz a memória hozzáférést a vezérlő végzi.
Egy aritmetikai – logiaki műveletek hipotézise (R2 ← R0@R1) Src0 ← R0 Src1 ← R1 Rslt ← Src0@Src1 R2 ← Rslt Rejtett regiszterek: Src0, Src1, Rslt. Felhasználói regiszter. R0, R1, R2. Kapcsolópontok: A sínen megosztott eszközök közül egyidejűleg csak egy adó lehet. sin kapcsolópontok ………… U1 U2 U3 Un A kimenő kapcsolatok három állásúak:
14.oldal
Architektúra I
0, 1, zárt. A bemenő kapcsolatok két állásúak: Nyitva, zárva. A kapcsolatok architektúrálisan a regiszter részét képezik. A szűk értelemben vett ALU: Fixpontos Összeadás Kivonás Szorzás Osztás Multimédia
Lebegőpontos Összeadás Kivonás Szorzás Osztás Multimédia
BCD Összeadás
Egyéb Logikai Címszámítás Léptetés
Fixpontos összeadás: Az összeadás alapvető művelet, hiszen erre vezetjük majd vissza a szorzás, kivonást és az osztást. Tehát a sebessége alapvetően meghatározza a processzor sebességét. 0Egybites fél összeadó: A B S C A 1 0 0 0 0 B 1 0 1 1 0 S 0 1 0 1 0 1 1 0 1 Átvitel Carry (C), összes Sum (S) Logikai függvények felírása: S=A⊕B; C=AB Hátránya: Nem veszi figyelembe a bejövő átvitelt. Egybites teljes összeadó: Figyelembe veszi a bejövő átvitelt (megvalósítása két fél összeadóból). Az igazságtáblázat felírása: A B Cin S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
Cout 0 0 0 1 0 1 1 1
A logikai függvények felírása (Cin jelölése C-vel) S=A⊕B⊕C _ _ _ Cout=ABC+ABC+ABC Négy és kapu + egy vagy kapu 5 elem. Azonos átalakítások a következő célfüggvényekkel: 15.oldal
Architektúra I
- Az elemszám minimalizálása. - Végrehajtási idő minimalizálása. _ Felhasznált azonosságok: ABC=ABC+ABC+ABC; A+A=1. _ _ _ _ _ _ Cout=ABC+ ABC+ ABC+ ABC+ ABC+ ABC=(A+A)BC+(B+B)AC+(C+C)AB = =BC+AC+AB=AB+(A+B)Cin Megvalósítás összeadó (S): Kimenő átvitel (Cout): 4 db elem 20%-os megtakarítás. d – egy elem késleltetése : T=3d; T=2d végrehajtási időben 33% a megtakarítás n-bites soros összeadó: Megjelenésének oka az, hogy az összeadandók tipikusan n bit hosszúságú regiszterekben helyezkednek el. Jellemzői: A két operandus léptetőregiszterbe (shift) helyezkedik el. Az eredmény az A operandushelyén képződik. A kimenő átvitel tárolóba vagy késleltetőbe helyezzük, hogy a következő bitpároshoz (összeadáshoz) megfelelő időben érkezzen. A Cin csak az első bit helyiérték összeadásakor aktív. Értékelése: Ha az egybites teljes összeadó műveleti ideje t akkor n-bites összeadási ideje: T=n*t. Gyorsítás: - t: a lehető leggyorsabb kialakítást alkalmazzuk. - N: Az egybites teljes összeadó számát megtöbbszörözzük → n-bites párhuzamos összeadóra. Egybbites párhuzamos összeadó tesztelése: I. eset: 0101 Cin=0; T=t. +1010 1111 II. 1. lépés 2. lépés 3. lépés 4. lépés
0101 +1010 1110 1100 1000 0000
Cin=1; T=n*t. Co=1 C1=1 C2=1 Cout=1
16.oldal
Architektúra I
Értékelés: Igen komoly beruházás árán (egy darab helyett n bit egybites teljes összeadó) csak kis gyorsulás csupán. Hullámzó teljesítményt értünk el, meg kell várni az átvitel terjedését. Az átvitel előjelzéses összeadó (Carry Look-Ahead - CLA): Cout=AB+(A+B)Cin AB → G (Generate) A+B → P (Propagate) Az egyes bithelyiértékben keletkező átvitel függ: - bemenő operandusoktól és - a kívülről beérkező átviteltől de nem függ az előző bithelyiértéken keletkező átviteltől. Az egyes bithelyiértékeken képződő átvitel: Ci=Gi+Pi*Ci-1. C0=G0+P0*Cin; C1=G1+P1*C0=G1+P1*G0+P1*P0*Cin; C2=G2+P2*C1=G2+P2*G1+P2*P1*G0+P2*P1*P0*Cin. Értékelése: Szorzatok sorozata. Összekapcsolva egy vagy kapuval. A P és G meghatározásához egy vagy és egy és kapu kell.
1 feladat 1 feladat + 1 feladat 3 feladat
Amennyiben egy fokozat végrehajtási ideje d, akkor egy bithelyiérték átviteli idejének meghatározása T=3d;
Megvalósítási alternatívák: 1 Katalogus áramkörök egy bites teljes összeadók + CLA.
17.oldal
Architektúra I
2 Az egybites teljes összeadókat kiegészítjük a P és a G meghatározásához szükséges kapukkal (vagy valamint és kapukkal). Technológiai korlát: A vagy kapuk bemenetének száma csak 8 bit helyiértékre alakítható ki a CLA-ba (a C4-et már nem bírja).
3 32 bites megoldás: A CLA-k között az átvitel sorosan terjed.
4 A CLA-khoz is hozzárendelünk egy CLA-t.
Fixpontos kivonás: Megteremthető az egybites fél kivonó, és az egybites teljes kivonó. Alkalmazásának hátrányai: A kivonás csak akkor ad helyes eredményt, ha a nagyobb számból vonjuk ki a kisebbet. Minden kivonást megelőzően komperálnunk kellene, ezért lassúbb. A kivonó áramkörök megvalósításával a művelet végző helyfoglalása, de a lapka mérete pedig korlátozott. Megoldás: Az operandusok átkódolása és a kivonás visszavezetése összeadásokra. Hagyományos kivonás: A 1011 -B 0111 X elvetettük Egy komplemenses kivonás: Meghatározása: - A pozitív szám egyes komplemense maga a szám. - A negatív szám esetén pedig bitenként invertálnunk kell. A 01101 Megvalósítás: - B 11000 X 100101 → 0|0110 → +6.
18.oldal
Architektúra I
Kettes komplemenses kivonás: Meghatározása: - Pozitív szám kettes komplemense megegyezik magával a számmal. - Negatív szám esetén: a) Az egyes komplemenshez hozzáadunk egyet. b) Hátulról az összes nullát és az első egyest leírom a többit invertáljuk: 010010011000-ból 101101101000 lesz. Példa: A 13 01101 -B +(-7) +11001 +6 00110B = 6D Az ideális az, hogy tudjon összeadni is. Vezérlő taranszegység: Igazságtábla: Vezérlés B B’ A transzegység 0 0 0 megvalósítás: 0 1 1 1 0 1 1 1 0 Megvalósítás:
Szorzás, osztás: Minden műveletvégzőnek kell ismernie az összeadást, az invertálást és a léptetést, de nem kell tudnia a szorzást és az osztást. Fejlődés: - Régen: a) Olcsó processzor aminél alacsonyszintű nyelven írt rutin végzi a szorzást és az osztást. b) Középárú processzor aminél mikroprogram végzi a szorzást és az osztást. c) Drága árú processzor aminél áramköri úton megvalósított a szorzás és az osztás. - Napjainkban: a) Powers PC 604 1. Két darab műveltvégző az egyszerű fixpontos műveletekhez (+,-). 2. Egy darab művelet vezérlő az összetett fixpontos műveletekhez (*,/).
19.oldal
Architektúra I
PentiumPro Fixpontos műveletvégzők: - általános célú - léptető - egész osztó - összeadó / kivonó - szorzó - osztó X=A*B Hagyományos szorzás: 13*123 39 26 13 1599
Algoritmizált változat 13*123 0000 felveszünk egy gyűjtőt amit nullázunk 39 0039 260 20-el szorozzuk 0299 1300 100-al szorozzuk 1599
10/100 való szorzás helyett léptetés 13*123 0000 Konklúzió (decimális számoknál): Annyiszor fut ahány helyiérték van a szorzóba. 39 0039 26 0299 13 1599 A bináris szorzás sajátosságai: - A bináris szám hossza: Példa Decimális szám helyiértékének száma Bináris szám helyiértékeinek a száma 9 1 4 99 2 7 999 3 10 Konklúzió: Bináris szám hosszabb mint a Decimális ezért a ciklus többször fut le. - Szorzat hossza: A 1 2 2 m B 1 1 2 n Xmax 2 3 4 m+n Példa: 9*9 99*9 99*99 A szorzó és a szorzandó egy-egy regiszter az eredmény két regiszterben képződik. Legyen egy regiszterünk három helyiértékű a szorzat kisebb helyiértékei keletkezik a szorzó helyén: 123 912 991 001 599 eredmény
20.oldal
Architektúra I
A bináris gyorsítása - Bitcsoportokkal való szorzás: A szorzó helyiértéket nem egyesével, hanem csoportokban kezeljük s így csoportokat léptethetjük így gyorsabb. Pl.: kettes csoportokban: 00 – kettőt léptetünk balra. 01 – a gyűjtőhöz hozzáadjuk a szorzandó egyszeresét és kettőt léptetünk balra. 10 – a gyűjtőhöz hozzáadjuk a szorzandó kétszeresét és kettőt léptetünk balra. 11 – a gyűjtőhöz hozzáadjuk a szorzandó háromszorosát és kettőt léptetünk balra. Példa: 7*9 = 0111*10|01 szorzandó kétszerese: 0111 0000 0111 0111 1110 0111 1110 . 111111B = 63D Booth féle algoritmus: - Bináris számok esetén az összeadás ciklusa annyiszor fut ahány egyes van a szorzandóban (nulla esetén csak léptetünk). - A szorzóba lévő egyesek számainak csökkentése Példa: 62-vel kell szorozni: 62 az 111110 5 db összeadás. Helyette: *64 100000 1 db összeadás Összesen 3 db művelet 40%-os *2 000010 1 db összeadás időmegtakarítás, pl.: mai processzorok 1 db kivonás mindegyike. Osztás: X=A/B Hagyományos osztás: 150/48 150 I Konklúzió: Minden kivonás előtt komparálunk (összehasonlítunk) ezért lassú. -48 102 II 3, -48 45 III -48 60 I -48 120 II Visszatérés a nullán át → csak az előjel flag-et vizsgálva: 45 Kiírja a gyűjtőt (3,) hozzáadja a maradékhoz az osztót (-42+48) tízszerezi és fojtatja -48 60 6 -48 -48 12 -42 -48 36 kiírja a gyűjtőt (,1 ) … Itt minden kivonás automatikus (nincs komarálás ami lassú). Mivel nem kell minden kivonás után komparálni csak a gyors előjel flag vizsgálatot végezzük, a két két felesleges művelet (hozzáadás +48) ellenére gyorsabb.
21.oldal
Architektúra I
Visszatérés nélküli osztás: 11/6 11 I 1,8 -6 5 10. lépés -6 hozzáad „0”-t - 10 9. lépés +6 - 4 8. lépés +6 +20 I -6 14 II -6 8 III -6 2 10. lépés -6 -40 Fixpontos multimédia feldolgozás A probléma felvetése: A, Hangfeldolgozás: - analóg jel - digitális jelfeldolgozás kell → analóg digitélis (A-D konverter)
Amplitúdó vagy felbontás A leképezendő hanghullám minimális és maximális értékhez hozzárendeljük az értelmezési tartományok minimális és maximális értéket. 8 bit → 256 pontos felbontás 16 bit → 655536 pontos felbontás (a mai gyakorlat). Mintavétel: -
Példán keresztül: Egy 50kHz-es mintavétel azt jelenti, hogy másodpercenként 50000 mintát veszünk az adott hullámból (minden egyes mintánál az amplitúdó értékét tároljuk el). Mai példák: Alkalmazás kHz a) Telefon 8 b) Audio CD 44 c) DVD 48 d) DVD minőségi 96
22.oldal
Architektúra I
-
Egy másodperc hanganyag tárolási igénye audio CD, 16 bites felbontás, sztereó esetén: 4400*2byte*2 a sztereó miatt = 176000 byte/sec ~ 170 kbyte/sec. - Percenként: 60*170 ~ 10Mbyte/min. Feladat: Nagy tömegű fixpontos adat: - tárolása - továbbítása - feldolgozása B, Pixeles képfeldolgozás: - A fénykép és a festmények analóg formátumúak, hiszen a fények, árnyékok és színek folyamatos átvitelével írható le. - A képeket digitalizálnunk kell, minél sűrűbb a rácsszerkezet annál jobb minőségű képet kapunk, a digitalizálás során. Minnél kisebb egy pixel annál jobb a leképezés, pl.: 800*600; 1280*1024. Pixel vagy képpontok: Minden szín leírható három szín összetételeként, tehát minden pixelhez három darab színkódot kellene hozzárendelni, de helyette ezeket egyetlen vektorrá kódolták, pl.: 000 0, 001 1, 010 2 … Egyes pixel értékek: 1 bit (fekete-fehér, sötét-világos) 1 byte 256 fél szint írhatunk le 2 byte 65536 féle szín (high-color) 3 byte 224 féle szín (true-color) 4 byte a negyedik byte az úgynevezett alfa csatorna az effektek jelzésére szolgál (pl.: átlátszóság mértéke) Egy kép tárolásához szükséges memóriaterület: egy byte két byte A képfeldolgozás feladata, hogy nagy tömegű 800*600 480000 960000 fixpontos adat: tárolása / továbbítása / 1280*1024 1,3Mbyte 2.6Mbyte feldolgozása Megoldás: - Tárolás továbbítás hatékony tömörítéssel. - feldolgozás: Hagyományos feldolgozás, pl.: 2 db összeadása a 800*600-as felbontás mellett 1. Az 1. kép 1 byte-ját betöltjük az AC-ba. 2. A 2. kép 1 byte-ját hozzáadjuk az AC-hez és az eredmény az AC-be keletkezik. 3. Az AC tartalmát lementjük az eredmény memóriaterületre. Ez a ciklus 480000szor fut le. Megoldás SIMD módszerrel (single instruction multiple data): Több adattal, ugyanazt az utasítást hajtja végre, ~ 8szoros gyorsítást eredményez 60000 szer fut le a ciklus A gyakorlatban két féle megoldás: - multimédia segéd processzor - az általános célú processzorba beleintegrálják a multimédia feldolgozó egységét.
23.oldal
Architektúra I
- Az Intel MMX kiterjeszés a) 1997 jelent meg b) Matrix Math Extention (Multi Media Extention) c) Logikai architektúra 1. Pakolt adattípusok bevezetése: a. Ezek mindegyike 64 bites, ami megegyezik a processzor belső sínjeinek szélességeivel. b. Fajtái: pakolt byte 8db 8 bites = 64 bit, pakolt félszó 4db 16 bites = 64 bit, pakolt szó 2 db 32 bites = 64 bit. 2. Új utasítások bevezetése: A négy aritmetikai művelet (+,-,*,/) és a logikai műveletek mindhárom adattípushoz vonatkozásában. d) Fizikai architektúra: 1. Az Intel nem akart új regisztereket bevezetni az új adattípusokhoz, hanem a 80 bites lebegőpontos regisztereket, használja a 64 bites pakolt adattípusok feldolgozására. 2. Egy évre rá az MMX műveletvégzőket 2-re növelte, így a ciklusok számát 30000-re csökkentette. Lebegőpontos műveletvégzés: A lebegőpontos ábrázolás kialakulásának az oka: A fixpontos ábrázolás következő hiányosságai: A szűk értelmezési tartomány, pl.: Integer esetén -32768 - +32767-ig. A törtérték ábrázolásának pontossága, pl.: 7/4=1. Amennyiben a ketteses pontot a regiszter végére helyezzük akkor 7/4=1, ami nem elégíti ki a gyakorlati igényeket. Ha több a kettedes pont utáni hely, akkor kevesebb jut az egész számok ábrázolására. Ezen hátrányokat küszöbölte ki a sokkal bonyolultabb lebegőpontos ábrázolás, itt a számokat hatványkitevős formába írjuk fel: ±Mr±k M a mantissza, r a radix (a számrendszer alapja), k a karakterisztika. Története: -
-
-
1993-ban Konred Zuse elkészítette a Zuse3 nevű jelfogós számítógépet, melyben alkalmazta a lebegőpontos ábrázolást. Neumann két okból ellenezte: a) Maguk a számok hosszúak → sok memóriát igényel b) A számítások bonyolultak → bonyolult a műveletvégző és annak vezérlése. 70-es évektől főbb formátum irányzatai: a) Vax b) Cray c) IMB 370/390 1985: az IEEE szabványosítja.
Jellemzői: -
Radix a) Architektúránként állandó b) Tipikusan kettes számrendszer c) Az IBM 370/390 esetében 16. 24.oldal
Architektúra I
-
Nem normalizált: 123,456*100=0,123456*103=1234,56*10-1=… Napjainkban a piacon nincs ilyen architektúra. Normalizált a) Képlettel: 1/r≤M<1; 1/2≤M<1; 1/10≤M<1 b) Szöveggel: A törtpont mindig az első értékes számjegy elé tesszük a mantisszában: -0,9999*10n-1 -0,1*10-n 0,1*10-n 0,9999*10n-1 túlcsordulási felhasználható alulcsordulási felh. túlcsordulási régió régió régió régió régió
-
Alulcsordulás – túlcsordulás: a) Alulcsordulás iránti architektúrális követelmény: 1. Kijelzi. 2. Nullát vagy denormalizált számot ábrázol. b) Túlcsordulási architektúrális követelmény: 1. Kijelzi. 2. Vagy a lehető legnagyobb számot vagy előjeles végtelent ábrázol. Azért van a két végén (n-1), mert a n fenn van tartva a végtelen jelzésére. - Denormalizált szám: Szabály szerint nem ábrázolhatom a 0,04-et (0 0,04 0,1), de egy flag helyiértéket hozzárendelek és azzal jelzem hogy ez egy denormalizált szám. Verseny van a processzor gyártok között a pontosság miatt. - nulla környéki számok: Amennyiben a mantissza nulla, akkor el várt az architektúrától, hogy a karakterisztika is nulla legyen. Értelmezési tartomány: A karakterisztika Példa Konklúzió helyiértékeinek száma: 1 99 milliárd Függ a karakterisztika 99 helyiértékének számától. 2 9 milliárd Kettes számrendszer 1 21 egyesek Függ a számrendszer alapjától. - Pontosság: Három helyiérték áll rendelkezésre a mantissza számára a regiszterben. Ábrázolni kell a 0, 1, 2, 3, 4 mantisszát. Ekkor csak a 0, 1, 2, 3 ábrázolható, s ha pl.: karakterisztikának 106 (0123400), akkor a pontatlanság 400 vesztességet okoz. Konklúzió: A pontosság függ a mantissza hosszától. - Rejtett bit: Mantissza esetében a normalizálás szabálya kettes számrendszerben 1/2≤M<1. A kettedes pontok az első értékű jegy elé kell tennünk, annak tehát nincs információ tartalma. Ezért az operatív tárba vagy háttértárba kiírás előtt a rejtett bitet balra léptetjük és jobbról beleépítünk egy értékes helyiértéket, a mantissza hossza ezáltal 1 bit helyiértékkel nő, így növekszik a pontosság. Az operatív tárból vagy háttértárról a beolvasás során a processzoron belül helyreállításra kerül a rejtett bit, így a beolvasott adat feldolgozásra kész formába kerül. A 25.oldal
Architektúra I
Zuse3 (1933) már alkalmazta a rejtett bitet napjainkban valamennyi piacon lévő architektúra alkalmazza a rejtett bitet. - Hogyan lehet hosszabb szám? - Őrző bitek: A lebegőpontos számok mantisszáját a processzoron belül hosszabb formátumba tároljuk mint az operatív tárban. - Amikor az eredményt normalizáljuk és jobbról további helyiértéket léptetünk, akkor az őrzőbit lehetővé teszi, hogy ezek értékes helyiértékek legyenek. - A rejtett bit kiléptetésekor (balra történő), úgy jobbról értékes bit kerül beléptetésre. - A lebegőpontosan tárolt bit ily módon kerekített bit lehet. - Napjainkban minden architektúra alkalmazza az őrtő bitet. Mantissza kódolása: - A gyakorlatban mindig kettes komplemens formában tárolt. Karakterisztika kódolása: - A karakterisztika többletes formában tárolt. a) A többletes kódot gyorsabban alakítható ki, mert kettes komplemensú. b) A karakterisztikában csak összeadást és kivonást kell végezni s ez többletes kóddal is helyesen elvégezhető. IEEE 754-es lebegőpontos szabvány. - 1977-ben kezdték kidolgozni. - Cél a különböző gépek közti adatszintű kompatibilitás megteremtése. - Rendszerszintű szemlélet azaz nem írták elő a gyártónak mit valósítsanak meg hardver, és mit szoftver úton. Nem valamelyik gyártó által kialakított megoldást fogadták el, hanem valamennyi lebegőpontos architektúra megvalósításából összegyűjtötték a legjobbakat. A szabvány 1985ben jelent meg, az első gyakorlati megvalósítása 1981-ben jelent meg. A szabály fejezetei: - Formátumok - Műveltek - Kerekítések - Kivételek kezelése - Formátumok:
-
a) Szabványos 1. Egyszeres pontosságú 2. Kétszeres pontosságú b) Kiterjesztett 1. Egyszeres pontosságú 2. Kétszeres pontosságú Szabványos – kiterjesztett: a) A szabványos formátum az operatív tárban illetve a háttértárolón alkalmazott formátum → ezt pontosan leszabályozzák. b) A kiterjesztett formátum a processzoron belül alkalmazott formátum → ennek a szabályozása igen laza.
- Kerekítések: - A legközelebbire való kerekítés (hagyományos kerekítés: 8,3 → 8; 8,9 → 9). - Negatív végtelen felfelé történő kerekítése. 26.oldal
Architektúra I
- Pozitív végtelen lefelé történő kerekítése. - Az utóbbi kettő az intervallum algebrában használjuk. Kétszer hajtjuk végre a számítást: - Egyszer mindig mínusz végtelen felé kerekítve. - Egyszer mindig plusz végtelen felé kerekítve. A helyes eredmény a két kapott eredmény között helyezkedik el. Amennyiben a két eredmény közötti különbség a számításunk szempontjából kicsim akkor az eredmény elfogadható. Amennyiben nagy elemeznünk kell a programot (pl.: részeredményeket ne írjunk be a memóriába) vagy magát az algoritmust. - Kivételek kezelése: - Nullával történő osztás - Alulcsordulás - Túlcsordulás - Gyök alatt negatív szám van Esettanulmány Intel processzorcsalád: A szabvány első megvalósítása 1981-ben jelent meg Intel8087-es; az összes mai processzor ilyen. Logikai architektúra: - Radix kettes számrendszer. - Alulcsordulási denormalizált szám. Szabványos formátum: - A szabvány csak az egyszeres pontosság megvalósítását írja elő, a kétszeres pontosság megvalósítása opcionális. Egyszeres pontosság: Rövidebb adat, kisebb memóriaigény, gyorsabb feldolgozás, nem nagyon pontos eredmény. Kétszeres pontosság: Hosszabb adat, nagyobb memóriaigény, lassabb feldolgozás, pontosabb eredmény. - Egyszeres pontosság: 32 bites formátumú 1 8 23 Az értelmezési tartomány: 10-38 tól 1038-ig mantissza előjele karakterisztika mantissza - Kétszeres pontosság: 64 bites formátum 1 11 52 Az értelmezési tartomány: 10-308 tól 10308-ig Kiterjesztett formátumú: Egyszeres pontosság: min 43 bit; Kétszeres pontosság: min 79 bit; Műveletek: -
-
Minimum: a) Négy aritmetikai alapművelet (+,-,*,/) b) Maradékképzés c) Négyzetgyökvonás d) Bináris – decimális konverzió Értelmezze a műveletet végtelenre is: a) 3+∞=∞ b) 3+(-∞)=-∞
27.oldal
Architektúra I
-
Túlcsordulási előjeles végtelen Létrehozzunk a rejtett bitet Létrehozzuk az őrző bitet Mantissza kettes komplemens Karakterisztika többletes kódolás Mind az egyszeres, mind pedig a kettes pontosságú megvalósításra került. Kiterjesztett formátumú 80 bit hosszú, a programozó dönti el, hogy ezt egyszeres vagy kétszeres pontossággal írja ki az operatív tábla vagy a háttértárolóba. Fizikai architektúra: - Az Intel 8087-es társprocesszor formályában kerül megvalósításra. - Az Intel 80286-as és az Intel 80386-es is. - Az Intel 80486 Dx-nél már közös lapkára integráltak az általános célú és a lebegőpontos processzort. Teljesítmény jellemzők: Relatív MIPS: a mértékegység az 1981-ben megjelent. IBM PC teljesítménye: Típus: mHz relatív MIPS Intel 80386 25 17 Intel 80486 DX 66 ~1700 Pentium I 133 ~6000 A 100 szoros növekedés a hardver úton megvalósított lebegőpontos feldolgozás eredménye. A 3 szoros pedig a futószalagos feldolgozás ez az órajel kétszeresének eredménye. Lebegőpontos műveletek: Összeadás: X=A+B példa: 0,9*103 közös kitevő, ciklikusan léptetetem jobbra ±ka 4 A=±mAr . +0,95*10 illetve balra. ±kb 4 B=±mBr . 0,09*10 +0,95*104 1,01*104 mantissza vizsgálása, majd normalizálása Algoritmus: 1. A kitevők megvizsgálása: csak azonos kitevőjű számok mantisszája adhatók össze. 2. Amennyiben a kitevő eltérő, akkor a kisebb kitevő szám mantisszájában a törtpontot jobbra léptetjük a kitevőt implementáljuk. Ez a ciklus addig fut míg a kitevők meg nem egyeznek. 3. Összeadjuk a közös kitevővel rendelkező számok mantisszáját. 4. Szükség esetén normalizálunk. Szorzás: X=A*B=mA*mBrka+kb Algoritmus: A mantisszákat összeszorozzuk, a karakterisztikát pedig összeadjuk. Osztás: X=A/B= mA/mBrka-kb Algoritmus: A mantisszákat elosztjuk a karakterisztikákat pedig kivonjuk egymásból.
28.oldal
Architektúra I
Megvalósítás: Univerzális műveletvégző - az ALU parciálásával (részekrebontásával) karakterisztika mantissza fixpontos ALU Ez egy kicsit bonyolultabb vezérléssel megoldható. - Szervezési módosítással a) Mind a mantisszát mind a karakterisztikát külön – külön regiszterekben helyezem el. b) Egymás után elvégezzük a mantissza és a karakterisztika műveleteket. c) Az eredmény pedig egyik regiszterben összeadjuk. - Dedikált műveletvégzők:
Karakterisz tika egység
Mantissza egység
Vezérlő
Következtetések: - Míg a mantisszának egységnek ismernie kell a szorzást, osztást is a karakterisztikus egységnek elegendő az összeadást és a kivonást ismerni. - Párhuzamosan lehet végezni a karakterisztika és a mantissza műveleteit. - A szűk keresztmetszet a mantissza egységét érinti (a szorzás, osztás miatt), mivel a karakterisztikus egység az +/- gyorsan el tudja végezni. A gyorsítást a mantissza egységnél kell végezni. Lebegőpontos, vektorgrafikus multimédia műveletek: Jellemzők: - Az egyenesekkel és a görbékkel határolt objektumok geometriai jellemzőkkel leírható. - Elegendő a geometriai jellemzők tárolása. a) Egyenes esetén: Két pontjának koordinátáit. b) Kör: A középpont koordinátáját és a sugár hosszát. 2D: - Egy kép igen sok objektumra (sokszögre, háromszögre) bontható → egy átlagos kép objektumainak száma ~ 20000. - Miután a számítógép a geometriai jellemzők alapján meghatározza a ~ 20000 objektumot a színek valósághű átmenete érdekében egy úgynevezett textúrát alkalmaz. Megoldandó feladat: - Viszonylag kevés lebegőpontos adat van. - Sok műveletet hajtunk végre.
29.oldal
Architektúra I
3D: -
Egy harmadik dimenzió kerül hozzáadásra. a) Biztosított a párhuzamosoknak a végtelenben való találkozása. b) Az atmoszférikus sajátosságok is megvalósításra kerülnek, azaz a közelebb lévő tárgyak élesebbek a távolabbi kékesebbek és elmosódottabbak. - Sok 3D film készül ahol minimum 15 képet kell vetíteni másodpercenként, annak érdekében, hogy folyamatosnak láthassuk. - Pl.: képenként 20000 objektummal számolva 20000*15=300000 obj/sec feldolgozási sebesség szükséges. A megoldandó feladat: - Viszonylag kevés lebegőpontos adaton sok műveletet kell végrehajtanunk adott időegység alatt. Megoldás Intel processzoroknál: - 1998 MMX”, azaz a KNI (Katmai New Instruction) - a megoldás: a SIMD (Single Instruction Multiple Data) - 1985 óta először új regisztereket vezetett be az Intel: 8 db 128 bites regisztert. - Formátumok: a) 4 db 1* pontosságú b) 2 db 2* pontosságú számon hajt végre egy időben műveletet: +
+
+
+
=
=
=
=
-
70 db új utasítást vezettek be. 100%-osan megfelel az IEEE 754-es szabványának. Megszakítás esetén az új regisztereket is menteni kell, ezt először a Win98 operációs rendszer végzi. A lebegőpontos műveletvégzés jelentősége: - A tudományos és multimédia számításához szükséges. - A miniatürizálás és a fajlagos árcsökkenés eredményeként a jelenleg kereskedelmi forgalomban lévő processzorok mindegyike hardver úton megvalósítja. BCD – Binary Coded Decimal Megjelenésének oka: A pontosság. - A fixpontos ábrázolásnál a törtek pontatlanok. - A lebegőpontos ábrázolásnál a mantissza, karakterisztika formátuma lényegesen pontosabb, de nem teljes. - A tizedes számrendszerből a kettes számrendszerben a számokat átszámítjuk, ezzel szemben a tízes számokat a BCD-be a számokat átkódoljuk. - A kódolás → egyértelmű megfeleltetés. Pl.: 12D=1100B=0001 0010BCD. 30.oldal
Architektúra I
Jellemzői: -
Ábrázolása: a) Zónázott: Minden byte kisebb helyiértékű tetrádjában helyezkedik el a BCD szám, a nagyobb helyiértékűben pedig a zóna: … Zóna BCD Zóna BCD előjel BCD A zóna értéke jellemzően nyomtatható karakterre egészíti ki a BCD értéket. Azaz ASCII esetén általában 3 (Intel), EBCDIC esetén általában F (15). Általában nem lehet ezzel a formátummak számítást végezni (pl.: VAX, IBM), kivéve az Intel. b) Pakolt: Minden byteban 2 db BCD szám van: BCD
-
BCD
…
BCD
BCD
Az Intel esetén 10 byte hosszú: 1. Az első byte eső bitje az előjel, a többi bitet nem használjuk. 2. A további 9 bájtban 18 db BCD szám helyezkedik el. -9 … 9 - +9…9-ig 2* 18db 9-es lehet. A szám hossza: a) Fix hosszúságú. b) Változó hosszúságú → meg kell adni a szám hosszát is. Az előjel: a) Hossza: 1. 4 bites (tipikusan a zónázott formátumnál) 2. 8 bites (tipikusan a pakolt formátumnál) b) Elhelyezkedése: 1. a szám végén (tipikusan a zónázott formátumnál) 2. a szám elején (tipikusan a pakolt formátumnál) c) Értéke: 1. Az érvénytelen tetrádok segítségével a. Ahol pozitív A,C,E,F. b. Ahol negatív B,D. 2. A összeadás és a kivonás ASCII kódjával.
BCD összeadás: Ugyanúgy végezzük, mintha bináris számokkal, csak: - Az összegzésesetében fel kell ismernünk az érvénytelen tetrádokat, - S az érvénytelen tetrádok esetében koordinációt kell végrehajtanunk. Az érvénytelen tetrádok: Decimális szám: 0 0000 10 1010 1 0001 11 1011 2 0010 12 1100 érvénytelen tetrádok 3 0011 13 1101 4 0100 14 1110 5 0101 15 1111 6 0110 7 0111 érvénytelen: az első bithelyiértéken egyes és vagy a második 8 1000 vagy a harmadik helyen egyes szerepel.
31.oldal
Architektúra I
9 1001 Korrekció: Az érvénytelen tetrádokból: - képezzünk tizet és - generálunk egy tizes átvitelt pl.: 8+7=15+(-10)=5; segédszámítás: 10D=1010B=0110kettes komplemens 1000 +0111 1111 +0110 10101 → 5D. 10-es átvitel Megvalósítás:
Megvalósítási alternatívák: - univerzális művelevégző, BCD-nek megfelelő vezérléssel. - A dedikált, BCD műveletvégző. A BCD jelentősége: - Pontos. - Hátránya: a) Komplexebb műveletvégzés esetén lassabb. b) Nagyobb tárigény → a 16 értékkészletből csak tizet használ ki, tehát 40% kihasználatlan pl.: 12D=1100B=0001 0010BCD → 8 biten ábrázoljuk. Érdekességek a BCD-vel kapcsolatban: - Basic programnyelv a BCD-t használja. - A számológépekben és a digitális órákban BCD-t alkalmaznak. Fixpontos, lebegőpontos, BCD melyiket használjam? Fixpontos: - Gyors végrehajtás. - Memória takarékos (8,16,32 bites formátumban létezik).
32.oldal
Architektúra I
-
A formátumok között a szükséges értelmezési tartománynak megfelelően válasszunk a lehető legrövidebb formátumút. Egész számok esetén teljesen pontos: if a=1 csak fixpontos illetve BCD esetén alkalmazható, lebegőpontosnál nem.
Lebegőpontos: - Akkor alkalmazzuk a) Ha a fixpontos értelmezési tartomány nem elegendő. b) Amikor műveletet kell végeznünk a számokkal. - A lehetőségek közül csak indokolt esetben válasszuk a kétszeres pontosságot, mert annak számítása lassabb. BCD: - Tipikusan a lebegőpontos ábrázolás egy alternatívája. Az ALU egyéb műveletei: - Valamennyi Boole műveletek (16 művelet: vagy, és kizáró vagy). - Léptetés. - Invertálás. - Címszámítás: a) A korai gépekben az általános célú Alu-val. b) Napjainkban álhardverrel. - Karakteres műveleteket általában az általános ALU műveletvégzi. Vezérlőrész: 1947 első elektronikai gép; huzalozott vezérlés. Centralizált vagy szekvenciális vezérlés: 1954 Wilkes Mikroprogramozott vezérlés; 1963 CDC6600. Decentralizált vagy párhuzamos vezérlés: 1966 Szuper skolár (IBM36090); futószalag. Huzalozott vagy áramköri vezérlés: - Az ember számára nehézen áttekinthető. - Nehézkesen módosítható. Előnye: Gyors. Megvalósítás:
33.oldal
Architektúra I
Elv: - Egy forrás regiszterből áll. - Módosító áramkörökön keresztül. - A célregiszterbe juttatjuk az adatot. Regiszterek: - Memória regiszterek (MDR, MAR). - ALU regiszterei (AC, általános célú regiszterkészlet). - I/O regiszterek (vezérlő kártya). - Vezérlőrész regiszterei (utasítás regiszter). Módosító áramkör: - Összeadó - Invertáló - Inkrementáló - Léptető Működése: - A forrás regiszter kimenetét rákapcsoljuk a módosító áramkör bemenetére. - Előírjuk a módosító áramkör számára, hogy most éppen milyen módosítást hajtson végre. Pl.: léptetés és összeadás. - A módosító áramkör kimenetét rákapuzzuk a célregiszter bemenetére. A mai processzorokban tipikusan több száz olyan vezérlés van amit vezérelni kell. Mikroprogramozott vezérlés: 1945 Mauria Wilkes (University of Cambridge). Cél: - Ember számára áttekinthetővé tenni a vezérlést. a) Mikro utasítások, melyek meghatározott vezérlő vonalat, vagy vonalakat aktiválnak. b) A gépikódú utasítások végrehajtása mikroutasítások sorozatával érhető el. c) A hagyományos számítógépet tekinthetjük egy makrószámítógépnek ezen belül helyezkedik el egy mikroszámítógép mikroutasítássokkal, mikroprogrammal. - A vezérlést rugalmassá könnyen módosíthatóvá a) a mikroprogram tároló Control Memory-ban cserélhetjük, változtatjuk magát a mikroprogramot. A Wilkes féle modell:
34.oldal
Architektúra I
Működése: -
-
Mikroutasítás szekencia a) A gépikódú utasításoknak a műveletkódrésze megfelelően kidolgozva beírásra kerül a CMAR-ba. Megfigyelhető kódolás: Az adott gépi kódú utasítást (pl.: add) végrehajtását elemi műveleti szinten végigvezérlő mikroprogram kezdőcíme. b) Ez a cím leírásra kerül a dekóderbe, ily módon kiválasztott mikrotasítás: 1. meghatározott ideig aktiválja a megfelelő vezérlővonalat, majd 2. a mikroutasítás címrésze beírásra kerül a CMAR-ba. c) Ugrás a második pont szerint. Példa az elemi művelet szekvenciája az add esetén. MAR←PC MDR←(MAR) IR←MDR DEC←IR MAR←DECcímrész MDR←(MAR) AC←AC+MDR PC←PC+1 Feltételes ugrás a) Amennyiben ugrási mikroutasítás kerül feldolgozásra, akkor 1. a megfelelő vezérlővonalak meghatározott ideig aktiválásra kerülnek, majd 2. a feltétel igen vagy hamis voltától függően vagy az első vagy a második cím kerül letöltésre CMAR-ba.
Egy korszerű mikroutasítás felépítése: feltételugrási cím vezérlőrész kiválasztó mező Feltétel-kiválasztó mező: - Tipikusan az jelenti, hogy melyik flagot teszteljük. - Ugrási cím: amennyiben a feltételes ugrásnál igaz, akkor a cím kerül az MPCbe - Vezérlőrész: Ez jelöli ki az aktiválandó vezérlő vonalat – vonalakat. Az egyszerű mikrovezérlő megvalósítása: MPC – Mikro Program Counter CM – Control Memory CMDR – Control Memory Data Register MUX – Multiplexer Működése: - Mikroutasítás szekvenciája: a) Az MPC által kijelölt, következő végrehajtandó mikroutasítás a CMből eljut, a CMDRbe. 35.oldal
Architektúra I
b) Meghatározott ideig kiválasztásra kerülnek a mikroutasítás vezérlő része által kijelölt vezérlővonalak. c) A MPC inkrementál, majd vissza az 1-es pontra. - Feltételes ugrás: a) Meghatározott ideig aktiválásra kerülnek a mikroutasítás vezérlő része által kijelölt vezérlő vonalak. b) A feltétel kiválasztó mező által meghatározott külső feltétel kiválasztásra kerül, s annak igaz vagy hamis voltától függően: 1. Vagy a végrehajtás alatt álló mikroutasítás ugrási cím vezérlőjének tartalma felülírja az MPC tartalmát. 2. Vagy MPC inkrementálva határozza meg a következő végrehajtandó mikroutasítás címét. Megjegyzések: - A huzalazott vezérlő ütemezőjét váltja ki a CM. - Míg a Neumann féle „makroszámítógépben” együt tároljuk a programot és az adatokat, a „mikroszámítógép” mikroprogram tárába nincs adat csak mikroutasítás. Ezért: a) A Wilkes féle modell move jellegű felírása miatt csak a CMAR, b) A korszerű mikrovezérlő inkrementálási képessége miatt MPC alkalmazható. - A mikroutasítás hosszát meghatározó tényezők a) A CM drága, ezért célszerű takarékoskodunk vele. b) Feltétel kiválasztó mező: Viszonylag rövid. - Címmező: a) A következő végrehajtandó mikroutasítás címe. 1. A Wilkes-féle modellben a mikroutasítás tartalmazza a következő végrehajtandó mikroutasítás címét. 2. A korszerű mikrovezérlő esetén az MPC képes a. mind move jellegű cím befogadására b. mind pedig inkrementálásra b) Ugrási cím 1. Rövidebb mint a tár címtere. A tár címtere pl.: 1024 (10bit), ugrási címtér 256 (8 bit). 2. Külső forrásból töltsük le az ugrási címet. 3. Az ugrási cím mező viszonylag ritkán hasznosítják, ezért nem ugrás esetén vezérlőmezőként is használható lehet. Ezt egy bit mutatja, hogy ugrási mezőt tartalmaz-e.
-
ugrási cím Kétszintű mikroutasítás (Motorola): Előnye: Több mikroutasításban is szerepelhet ugyanaz a vezérlőrész, viszont csak egyszer tároljuk.
36.oldal
Architektúra I
- Vezérlőrész - Horizontális vagy vízszintes mikroutasítás. a) Hosszú formátum b) Magas fokú párhuzamosság c) Alacsonyszintű kódolás d) Pl.: IBM360, PDP8, Motorola e) IBM360: 1. A vezérlőrész hossza 90 bit. 2. Ezt 21 vezérlőmezőre osztották:
-
-
21 változó hosszúságúra 21 darab egymástól függetlenül is működőképes hardver egységet alakítottak ki, tehát elvben maximum 21 egység működet párhuzamosan. 3. 65-67 bit vezérli az ALU jobb oldali bemenetét, azaz ezek jelölik ki, mely regiszterből kerüljön betöltésre az egyik operandus. 4. 68-71 bit határozza meg az ALU milyen műveleteket hajtson végre lehetőségek: fixpontos a BCD összeadás a bejövő és a kimenő átvitel különféle kezelésével. f) PDP8 1. a vezérlőrész 128 bit hosszú. 2. hipotézis 27=128 azaz 7 biten kódoljuk az értékeket. → ez az elve a vertikális vagy függőleges mikroutasításoknak. Vertikális vagy függőleges mikroutasítás a) Rövid b) Alacsony szintű párhuzamosítás c) Erős kódolás d) Pl.: IBM370, Intel e) Esettanulmány 370 esetén műveleti kód; 1.operandus; 2.op.;CM címzési információ 1. 4 bájt hosszú 2. az operandusok regisztert címeznek 3. a címképzési információ Wilkes féle modelre emlékeztet Mai gyakorlat. Hibrid változat:
Gyakran használatos vezérlőrészek horizontálisak, míg a ritkábban használatosak vertikálisak: A kódoltakat dekóderen keresztül aktiválják a vezérlő vonalakat (idővesztesség) A mikroutasítások végrehajtásának ütemezése. Fajtái: - Non fázisú mikroutasítások: egy végrehajtási ciklus megegyezik az óra ciklussal.
37.oldal
Architektúra I
-
Polifázisu mikroutasítások: egy mikroutasítás végrehajtási ciklus több óraciklus alatt hajtódik végre → egy mikroutasításon belül, elemi műveleti szekvenciákat írhatunk le. Pl.: r1←f(r0) Végrehajtás menete: a) A mikroutasítás lehívja a CM-ből. b) Az r0 regiszter kimenetét rákapuzzuk az f módosító áramkör bemenetére. c) Meghatározzuk, hogy az f módosító áramkör milyen módosítást hajtson végre. d) Az f módosító áramkörét rákapuzzuk az r1 regiszter bemenetére.
Következtetés: Mivel a huzalozott vezérlés esetében nem értelmezett a mikroutasítás lehívása, ezért a huzalozott vezérlés mindig gyorsabb. Gyorsítási lehetőségek: Amennyiben mikrovezérlést mellett döntünk, akkor a gyors vezérlés érdekében: - Horizontális mikroutasítás formátumot és - Igen gyors CM-et választunk - Szervezési átalakítás: prefetch előlehívás. a) Amíg a CMDR0-ból történik a vezérlés addig a CMDR1-be lehívjuk a következő végrehajtandó mikroutasítást. b) Szerepcsere.
Megértésként a maradék vezérlés (residual contorol) - A vezérlővonalak aktiválása tipikusan egy óraütem ideig tart. - Szükség lehet, arra, hogy bizonyos vezérlővonalak több, mint egy óraütem alatt legyenek aktívak pl.: adatátvitel. - Ekkor a vezérlőrész egy regiszterbe mentik és onnan történik a vezérlés. Mikroprogramozás: - A mikroutasítások tipikusan assembly szintű programnyelvre emlékeztetnek (szintén mneomikus kód). a) Létezik micro assambly, azaz fordítóprogram mely a forrásnyelvű mikroprogramokat végrehajtható formátumá alakítja → ez tölthető be a CM-be.
38.oldal
Architektúra I
b) A mikroprogramok írásához igen nagy hardver ismeretre van szükségünk,amit a gyártók nem szoktak publikálni. Mikroprogramozás veszélyei: - Hibás mikroprogram esetén működésképtelenné válik a hardver (nem segít a reset gomb) az operációsrendszer sem működik. Huzalozott kontra mikroprogramozott vezérlés sebesség gyors áttekinthetőség ember számára nehezen áttekinthető módosíthatóság merev, nehézkesen módosítható
mindig lassabb ember számára áttekinthető rugalmas
Sínrendszer: -
Az egységek közötti kommunikációt biztosítja. Fejlődés eredménye, ez bizonyult a legjobbnak. A sínrendszer fogalma: A kommunikációs infrastruktúrát értjük, az I/O rendszer a perifériának a processzorral és a memóriával történő kombinációjának sajátosságaival foglalkozik. - A sín rendszeren keresztül szabályozott egységes módon kommunikál. A kommunikáció fajtái: - Az egységen belüli kommunikáció (pl.: processzoron belül) a) Kis távolság → kis késleltetés b) Mind az adó mind a vevő közös óraütem adótól kapja az órajelet. c) Viszonylag egyszerű megvalósítás - Az egységek közötti kommunikáció pl.: processzor és a perifériák között. a) Az adónak és a vevőnek tipikusan külön óraadója van, mert: 1. Viszonylag nagyok a távolságok → nagy a késleltetés. 2. A kommunikáló egységek talán sebesség paraméterei is igen elérhetőek. Fogalma: - Műszaki: Olyan vezetékköteg, melynek minden egyes erén, vagy csak a logikai –nak megfelelő 0 Volt, vagy csak a logikai 1-nek megfelelő +12, +5, +3.3, +2.8 Volt jelenhet meg. - Funkcionális: Olyan vezetékköteg, mely lehetővé teszi egyszerre n bit továbbítását a forrástól a célig. Ebben a kontextusba hozzáértjük a sin fogalmába beleértjük s din forgalmát vezérlő intelligenciát is. Jellemzői: - A vezetékek száma. - Napjainkban tipikusan megosztott eszköz: a) Minden vezeték egy időpillanatban 1 bitnyi információt továbbíthat b) Mindig csak egyetlen adó lehet, vevőoldalon lehet több eszköz is. - Regiszter tulajdonsággal rendelkezik. Értelmezett: r1←r0, úgy történik, hogy: databus ← r0 r1←databus Fajtái: - Átvitel iránya szerint: a) Szimplex: egyirányú. b) Duplex: egy időben egyirányú; kétirányú. 39.oldal
Architektúra I
-
-
c) Fall-duplex: egy időben kétirányú (két vezeték van) d) Pl.: Egyirányú: Órajel, reset, cím. Kétirányú: adat. Az átvitel jellege szerint: U1 U2 a) Dedikáltsin: 1. Jellemzői: Minden egységet minden egységgel összekötöttünk. Egysines: n*(n-1) sin. U3 U4 Kétsines: (n*(n-1))/2 sin. 2. Előnyei: a. Minden egység minden egységgel párhuzamosan kommunikálhat. b. Megbízhatóság: amennyiben biztosított az infrastruktúra akkor pl az U1 U2 közötti szakadás esetén a két egység továbbra is kommunikálhat U3 vagy U4 egységen kersztül. 3. Hátrányai: a. Drága. b. Újabb egységek csatlakoztatása bonyolult. c. Újabb csatlakozási felületek kialakítása bonyolult. d. Újabb csatlakozási felületek kialakítása technológiai nehézséget jelent. b) Közös (share) sin 1. Jellemzője: Minden egység egyetlen közös sinen kommunikálhat. U1 U2 Un 2. Előnyei: … a. Olcsóbb. b. E szabványos csatlakozási felületek miatt, könnyű az újabb egységek csatlakoztatása. 3. Hátrányai: a. Lassúbb mivel egyidejűleg csak egyetlen adó lehet a sinen, a többinek várnia kell a sin felszabadulására. b. Érzékeny a közös sin rendszer meghibásodására. c. A közös sin rendszer vezérlése bonyolult (nem olcsó). Funkcionális csoportosítás a) Cím sin: 1. Feladata: Az egységek (pl.: hálókártya) illetve egységrészek (pl.: memória - cím) azonosítás. 2. Fejlődése az Intel esetébe: 8080 80286 80386 20 bit 20 20 vezérlő v.v. v.v. vezeték 4 bit 4 v.v. v.v. 8 bit v.v. 20 bit (1Mb tudunk megcímezni), 24 bitnél már 16MB, 32 bitnél 4GB-t. Napjainkban is 32 bit a címzési lehetőség. 3. A kompatibilitás megtartása nem eredményezett tiszta teret.
40.oldal
Architektúra I
-
-
b) Adatsin: 1. Feladata: Adatok továbbítása. 2. Fejlődése: a. 8088 - 8 vezetékes volt. b. 80286 – 16 vezetékes volt. c. 80386 – 32 vezetékes. 3. A kompatibilitás megtartása nem eredményezett tiszta teret. 4. Közös adat és címvezeték: a. Akkor alkalmazzák amikor: 1. vezetéket kívánnak megtakarítani, vagy 2. a csatlakozó lábak számát szeretnék csökkenteni. b. Külön vezérlővezetékkel kell jelezni, hogy mi van az adott pillanatban a sinen (cím vagy adat). c. Akkor érdemes alkalmazni, ha blokkos átvitelt használunk. A blokk kezdőcíme átvitel után a többi cím inkrementálódással megállapítható. d. Időbeli multiplexelés elvén alapul. e. Pl.: PCI. Vezérlő vezetékek (sin) a) Számuk tipikusan 10-15 db b) Fajtái: 1. Adatátvitel vezérlése: R/W read/write: processzor nézőpontjából mutatja meg az átvitel irányát. B/W byte/word: hány bitet kell párhuzamosan átvinni. A/D address/data: a közös vezetékeken cím vagy adat van. A/S address/strobe: Címet felheéyeztük a sinre. DS datastrobe: a sinre adatot felhelyezzük a sinre. M/U memory/unit: a címre részben memóriában van vagy egységcím. RDY Ready-kész. c) A megszakítások vezérlése a megszakítások kérése és engedélyezése. d) A sinhasználattal kapcsolatos vezérlővezetékek a sin használat kérése, engedélyezése, a sin foglaltság jelzése. e) Egyéb: Clock-órajel, reset-kezdeti értékek visszaállítása. Az összekapcsolt területek alapján: C P U
M1
…
Mn
Sinvezérlő I/O1
…
I/On
a) Rendszersin: 1. A rendszersin tipikusan gyorsabb, mint a bővítősin. 2. A rendszersin nehezen szabványosítható, mivel CPU közeli sajátosságok kihasználásával telepítésére növelhető. b) Elnevezések: 1. Rendszersin: A rendszer adatforgalom itt zajlik. 2. Memóriasin: Memóriablokkok összekapcsolása.
41.oldal
Architektúra I
3. Processzorsin: a. A winchesteren tárolt adatokat a DMA vezérlő segítségével közvetlenül a memóriába visszüük. b. A processzor pedig a másodszintű gyorsítótárból dolgozik. c) Bővítősin : 1. Feladata: az I/O egységek csatlakoztatása a processzormemória kettőshöz. 2. Fejlődése: a. Kábelekkel egyedi módjai csatlakoztatás a perifériákat. b. DEC első gépei sin-orientáltak voltak. Aljzatokat alakította ki tesztkészülékek csatlakoztatására. Megoldásaikat szerzői jogi védelem alá helyezték. c. 1976 az Altair tervezője kialakította az S-100-as bővítősin architektúrát, mely 100db érintkező felületet biztosított. Ezt az IEEE szabványént fogadta el. d. 1981: IBM PC -
42.oldal
Architektúra I