Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8 Németh Gábor. 2001Németh Gábor: Számítógép architektúrák 2 KISLÉPTÉKŰ PÁRHUZAMOSÍTÁS A feldolgozási sebesség növelésének.

Hasonló előadás


Az előadások a következő témára: "SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8 Németh Gábor. 2001Németh Gábor: Számítógép architektúrák 2 KISLÉPTÉKŰ PÁRHUZAMOSÍTÁS A feldolgozási sebesség növelésének."— Előadás másolata:

1 SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8 Németh Gábor

2 2001Németh Gábor: Számítógép architektúrák 2 KISLÉPTÉKŰ PÁRHUZAMOSÍTÁS A feldolgozási sebesség növelésének egyik lehetséges útja a párhuzamos működés megvalósítása. Multiprocesszoros rendszereknél nagyléptékű párhuzamosítást alkalmazunk (több processzor működik konkurrensen). A kisléptékű párhuzamosítás a processzor architektúrájának módosításával a processzor egyes részeinek konkurrens működését eredményezi. (Működés alatt az információáramlásba történő beavatkozást értjük.)

3 2001Németh Gábor: Számítógép architektúrák 3 HARVARD-ARCHITEKTÚRA UTASÍTÁS- TÁROLÓ PROCESZ- SZOR ADAT- TÁROLÓ VEZÉRLÉS CÍMSÍN ADATSÍN (UTASÍTÁS) ADATSÍN (OPERAN- DUS) ………... iADD RA, ………... i+1 ADD RA, M[l] Konkurrens hozzáférés az utasítás- és az adattárolóhoz. Átlapoljuk az i. utasítás adatának lehívását az i+1. utasítás lehívásával. M[k]

4 2001Németh Gábor: Számítógép architektúrák 4 HARVARD-ARCHITEKTÚRA - 2 Elvi eltérést jelent a klasszikus Neumann-architektúrá- tól a program és a hozzá tartozó adatok szétválasztása, azaz elvileg meggátolja önmódosító programok írását. A Neumann-architektúra nem tesz különbséget az adat és az utasítás között, megkülönböztetésük a végrehaj- tott algoritmusba beépített értelmezés eredménye CD F5 JUMP 1000: CALL SUBROUTINE PUSH PSW (utasítás) JUMP 1001: LXI B, 0F503 H (adat)

5 2001Németh Gábor: Számítógép architektúrák 5 HARVARD-ARCHITEKTÚRA - 3 Akkor hatékony, ha memória-referens utasításkészlete van (csak speciális alkalmazások, ”jelfeldolgozó” processzorok). A programjavítás megkönnyítésére speciális utasítás végrehajtásával a két oldal felcserélődik.

6 2001Németh Gábor: Számítógép architektúrák 6 GÉPI UTASÍTÁSON BELÜLI PÁRHUZAMOSÍTÁS (PIPELINE) - 1 A processzor egyetlen utasítássorozatot hajt végre egyetlen adatsorozaton (SISD = Single Instruction - Single Data szervezés). Azonban mielőtt egy utasítás végrehajtása teljesen befejeződne, a processzor a soron következő utasítás(ok) végrehajtását is elkezdi: PIPELINE szervezés. PROBLÉMA: utasítás egymásrahatások.

7 2001Németh Gábor: Számítógép architektúrák 7 PIPELINE - 2 Legegyszerűbb változata: a processzort egy utasításlehívó (I) és egy végrehajtó (E) egységre bontjuk: IE ………….… i. utasítás i+1. utasítás ……………. I lehívja a következő utasítást az OME-ből (cache-ből), részlegesen dekódolja, kezdeményezi az operandus lehívását. E végrehajtja az előző fázisban lehívott utasítást.

8 2001Németh Gábor: Számítógép architektúrák 8 PIPELINE - 3 PROBLÉMA: az utasítások végrehajtási ideje CISC szervezésű processzoroknál eltérő, így az I egység nem hívhatja le periodikusan a soronkövetkező utasítást.  MEGOLDÁS:FIFO tárolót iktatunk be I és E közé. PROBLÉMA: a processzor-memória sínt más eszközök is használhatják (pl. DMA), így az I egység nem férhet hozzá periodikusan (a soronkövetkező utasítás és/vagy adat lehívásához).  MEGOLDÁS: FIFO tárolót iktatunk be az I egység elé. FIFO I E

9 2001Németh Gábor: Számítógép architektúrák 9 PIPELINE - 4 utasításcím- számítás utasí- táscím ugrás cache és return stack I - utasításlehívó egység utasítás részleges dekódolás átmeneti utasítás- tároló operandus- címszámítás operanduscím E - utasításvégrehajtó egység feldolgozó egység operandus

10 2001Németh Gábor: Számítógép architektúrák 10 PIPELINE - 5 Az utasítás lehívása és feldolgozása elemi tevékenységek sorozatára bontható, melyek mindegyikét egy-egy funkcionális egység hajtja végre: PPPP 123 n Mindenegyes funkcionális egység ugyanazon utasítássorozat egymástkövető utasításain dolgozik, az utasításlehívás és végrehajtás más-más részfázisán.

11 2001Németh Gábor: Számítógép architektúrák 11 PIPELINE - 6 ………...…. i. utasítás i+1. utasítás i+2. utasítás i+3. utasítás ………….… Az egyes funkcionális egységek ugyanazon utasítássorozat egymástkövető utasításain a végrehajtásnak egy-egy részfá- zisát hajtják végre. Egy utasítás akkor hajtódik teljesen végre, mire végighalad a láncon.

12 2001Németh Gábor: Számítógép architektúrák 12 PIPELINE - 7 Az utasítások lehívási fázisa az utasítás típusától függetlenül (majdnem) azonos, míg végrehajtási fázisuk erősen függ az utasítás típusától.  Több végrehajtási láncot alakítunk ki a különféle utasítás típusokra (pl. fixpontos és lebegőpontos aritmetikai műveletek, logikai műveletek). I1I1 I2I2 I3I3 I4I4 E 11 E 12 E 21 E 22 E 23 E 24 E 31 E 32 E 33 Lebegőpontos kivonás: azonos kitevőre hozás, kivonandó komplementálása, összeadás, eredmény normalizálása. összeadásnál kihagyjuk

13 2001Németh Gábor: Számítógép architektúrák 13 PIPELINE - 8 Az utasításlehívó rész szervezése: PC 2 ”+1” PC 1 címsín írás hiba C C adatsínIR 1 PC 3 IR 2 PC 4 IR 3 i + 2. utasítás lehívása i + 1. utasítás dekódolása i. utasítás végrehajtása Az utasítás címét az utasítással együtt kell vinni, mert pl. jump + 5 végrehajtá- sához kell. Önmódosító prog- ram írásakor hiba lehet: olyan memó- riarekeszbe kívá- nunk beírni, mely- nek tartalmát már betöltöttük!

14 2001Németh Gábor: Számítógép architektúrák 14 PIPELINE - 9  PROBLÉMA: UTASÍTÁS EGYMÁSRAHATÁSOK  Emiatt nem érhető el mindig teljes átlapolás. Utasítás egymásrahatás típusok:  Feldolgozási egymásrahatás: Két egymástkövető utasítás ugyanazt a feldolgozó erőforrást igényli. Ilyenkor - ha nem alkalmazunk több ugyanolyan típusú erőforrást - a második utasításnak várnia kell az erőforrás felszabadulására. A technológiai fejlődés eredményeként gyakran alkalmazunk több erőforrást egy-egy típusból. Nem súlyos probléma.

15 2001Németh Gábor: Számítógép architektúrák 15 PIPELINE - 10  Procedurális egymásrahatás: Egy utasítás feldolgozása vagy kihagyása függ az előzőleg végrehajtott utasítások eredményétől (pl. feltételes ugró utasítás: A feltételes ugró utasítás lehívása után NEM tudjuk, hogy a soronkövetkező utasítást honnan kell lehívni! De részleges dekódolásából észleljük a problémát. ……………………….. itt_vagyunk jnz oda vagy_ide? add a, b. oda sub c, d

16 2001Németh Gábor: Számítógép architektúrák 16 PIPELINE - 11 MEGOLDÁSOK: jnz 6 lépés után jön ki az első eredmény! - A proceszor nem hív le újabb utasítást a feltétel kiértékelődéséig (pl. iAPX386). Egyszerű.  Hosszú pipeline esetén nagyon lelassul a működés. Csak most tudjuk, hogy mit kell lehívni!

17 2001Németh Gábor: Számítógép architektúrák 17 PIPELINE Statikus jóslás (pl. iAPX486): Sok program statisztikai jellemzői alapján meg- jósoljuk, hogy valószínűleg melyik utat kell ki- választani (pl. a feltételek általában nem teljesül- nek, kivéve az indexekre vonatkozó feltételeket). A megjósolt út utasításait betöltjük a pipeline-ba, megjelölve a jósolt (nem biztos) utasításokat. A feltétel kiértékelődésekor kiderülhet, hogy rosszul jósoltunk, akkor a megjelölt utasításokat el kell dobni és a helyes utasításokat be kell tölteni (csak ilyenkor lassul le a működés). Leggyakrabban helyes volt a jóslás, így várakozás nélkül folytatódik a feldolgozás.

18 2001Németh Gábor: Számítógép architektúrák 18 PIPELINE Dinamikus jóslás (pl. Pentium): A processzor a felhasználói program futása közben statisztikát készít az adott felhasználó feltételkezeléséről (és ezzel módosítja a kiinduló statikus valószínűségeket), azaz alkalmazkodik az adott felhasználó programozási stílusához!  Csak nagy programok esetén előnyös (valószínűséghez elég nagy számú minta kell).  Bonyolult hardver, nagy táblázatok, jelentős overhead.

19 2001Németh Gábor: Számítógép architektúrák 19 PIPELINE - 14  Adat-egymásrahatás: Tipikus példa: egy utasítás egyik forrás- operandusa a megelőző utasítás eredménye. …………. x := a + b y := 2 * x …………. x értékére szükség lenne még annak teljes kiszámítása előtt.  Megoldási lehetőségek: …………. x := a + b y := 2 * x …………. NOP ……. NOP ”üres” utasítás(ok) beiktatása: egyszerű, de lassabb működés.

20 2001Németh Gábor: Számítógép architektúrák 20 PIPELINE - 15 …………. x := a + b y := 2 * x …………. z := c - d …………. Egy ”intelligens” fordítóprogram felcserélheti a két utasítást (csak nehéz kideríteni, hogy a változók explicite és implicite függetlenek).

21 2001Németh Gábor: Számítógép architektúrák 21 PIPELINE - 16  Komoly gondot okoz a programmegszakítások kezelése: –Ha az éppen az utolsó végrehajtási fázisban lévő utasítás teljes végrehajtása után fogadjuk el a programmegszakítást, akkor váratlan helyzet léphet fel, mert már több utasítás feldolgozása elkezdődött (pl. maszkot állító utasításé), de még nem fejeződött be teljesen.  Processzorfüggő megszakítás kezelés fizikai szinten, a felhasználó csak logikai megszakítás kérést adhat ki.

22 2001Németh Gábor: Számítógép architektúrák 22 PIPELINE - 17 –Végrehajtjuk a pipeline-ban lévő valamennyi utasítást és csak azután fogadjuk el a megszakítás kérést.  Tiszta helyzet, de a gyorsabb processzor lassabban reagál a rendkívüli eseményekre!  Problematikus a szemaforok kezelése szorosan csatolt multiprocesszoros rendszerekben: –A szemafor kezelésének oszthatatlan műveletnek kell lennie, de az utasítás pipeline a műveleteket részfázisokra bontja és az egymástkövető műveletek különböző részfázisait átlapolja egymással!

23 2001Németh Gábor: Számítógép architektúrák 23 PIPELINE - 18  Megoldás: speciális szefamorkezelő utasítások bevezetése, melyek hatására valamennyi megelőző utasítás végrehajtását befejezi a gép a speciális utasítás feldolgozásának elkezdése előtt és nem kezd el soronkövetkező utasítást feldolgozni annak befejeződése előtt. S S S S S SS Hosszú pipeline  lassú működés!

24 2001Németh Gábor: Számítógép architektúrák 24 Vektorprocesszorok - 1 A skalár adattípus mellé vezessük be a vektor adattípust és a feldolgozására szolgáló vektorkezelő utasításokat. A vektorprocesszor a vektor egyik elemének címszámítását/feldolgozását átlapolja a vektor egy vagy több további eleme címszámítása/feldolgozása más-más részfázisaival.  A pipeline utasításokra vonatkozó intuitív elvét (utasításpipeline) általánosítjuk: adatpipeline bevezetése.  SIMD (Single Instruction - Multiple Data = egyetlen utasítás - több adat) szervezés.

25 2001Németh Gábor: Számítógép architektúrák 25 Vektorprocesszorok - 2 x[1] x[2] x[3] x[4] x[5] x[6]. := a[1] a[2] a[3] a[4] a[5] a[6]. + b[1] b[2] b[3] b[4] b[5] b[6]. Pl. lebegőpontos összeadás: eredmény normalizálása mantisszák összeadása közös kitevőre hozás elemek beolvasása címszámítás Az adatpipeline hosszának növelése sokelemű vektorok esetén a teljesítőképességet fokozza.

26 2001Németh Gábor: Számítógép architektúrák 26 Vektorprocesszorok - 3 -Sok skalár adat esetén a lehetséges megoldások:  Vannak feladatosztályok, melyek problémái előnyösen fogalmazhatók meg vektorok segítségével (pl. a szabályozástechnika állapotegyenletei). x00...x00... :=  ”Vektorokat” alakítunk ki; elvileg megfelelő, de a hatékonyság nagyon leromlik.  A skalár adatok kezelésére skalár-, a vektorok kezelésére vektorprocesszor modult alkalmazunk. x := 

27 2001Németh Gábor: Számítógép architektúrák 27 Vektorprocesszorok - 4  Egy vektorizáló fordítóprogram explicite és implicite független operandusokon végzett azonos műveletek esetén összevonja azokat egy vektor elemeibe: …………. x := a + b …………. y := c + d …………. xy....xy.... := ac....ac bd....bd.... Probléma: nehéz megtalálni a vek- torizálási lehetősé- geket, mert a jelen- legi programozási nyelvek nem támo- gatják az operan- dusok függetlensé- gének felismerését.

28 2001Németh Gábor: Számítógép architektúrák 28 Vektorprocesszorok - 5 vektor tároló címszámítás címpipeline memóriasín adatpipeline ALU Vektorprocesszor elvi felépítése:

29 2001Németh Gábor: Számítógép architektúrák 29 Tömbprocesszorok - 1 A tömbprocesszor alapvető változatának valamennyi feldolgozó egysége ugyanazt az utasítást hajtja végre különböző adatokon (SIMD szervezés). –Minden feldolgozó egység a végrehajtáshoz szükséges operandusokat saját helyi tárolóegységéből hívja le és oda teszi be a részeredményeket. –Az egyes feldolgozó egységek közvetlen szomszédaikkal össze vannak kötve és azokkal adatokat cserélhetnek.

30 2001Németh Gábor: Számítógép architektúrák 30 Tömbprocesszorok - 2 fő számítógép a végrehajtandó programot tárolja tömbvezérlő egység lehívja a végrehaj- tandó utasítást, de- kódolja és vezérlő- jeleket küld az ösz- szes feldolgozó egy- ségnek adatkapcsolat a közvetlen szomszédokkal FET feldolgozó egységek és helyi tárolók utasítások (vezérlő jelek)

31 2001Németh Gábor: Számítógép architektúrák 31 Tömbprocesszorok - 3 A struktúrát az adatszerkezethez igazíthatjuk:  Feltételes utasítások bevezetésével.  Valamennyi feldolgozó egység tartalmaz egy feltétel bitekből álló regisztert. Az egyes feldolgozó egységekben az utasítás tényleges végrehajtása vagy kihagyása a feltétel regiszter tartalmától függ.  A feltétel regiszterek tartalmát az előzőleg végrehajtott utasítások eredménye módosítja (maszkolás).  A csatolás általánosításával és átkonfigurálhatóvá tételével (lásd később).

32 2001Németh Gábor: Számítógép architektúrák 32 Tömbprocesszorok - 4  A tömbprocesszor alapvető változata csak speciális feladatosztályok esetén hatékony. PÉLDA:kontúrok meghatározása kétdimenziós fekete/fehér képen. Minden képponthoz tartozik egy-egy processzor, melyek az alatta/felette, jobbra/balra lévő szomszédokkal össze vannak kötve. A képpont fényessége: fehér = 1, fekete = 0. Saját fényesség értékedből vond le a feletted lévő szomszéd fényességét:  0  összes vízszintes kontúr. kép Saját - balol- dali szomszéd fényessége: függőleges kontúrok.

33 2001Németh Gábor: Számítógép architektúrák 33 Szisztolikus tömbprocesszorok - 1 A szisztolikus tömb a tömbprocesszor speciális esete: –a feldolgozás SIMD szervezésű, –a feldolgozó modulok legközelebbi szomszédaikkal össze vannak kötve, –a feldolgozó modulok közötti kommunikáció teljesen szinkronizált, –a tömb csak a szélein kapcsolódik a külvilághoz. Nevét az emberi vérkeringés analógiájaként kapta.

34 2001Németh Gábor: Számítógép architektúrák 34 Szisztolikus tömbprocesszorok - 2 PÉLDA: n pozitív egészszám rendezése csökkenő sorrendben.  Ehhez konvencionális számítógépen két egymásbaskatulyázott ciklus kell; a műveletek száma n 2 -tel arányos. in2 in1 out2 out1 out1 = min (in1, in2) out2 = max (in1, in2) bemenetek kimenetek

35 2001Németh Gábor: Számítógép architektúrák 35 Többdimenziós tömbprocesszorok dimenziószomszéd 00 Logikailag többdimenziós tömbök a szabályosan ismétlődő szerkezetben közvetlenül csatlakoztatott szomszédok számának beállításával hozhatók létre.  HIPERKOCKA: n dimenzió = minden feldolgozót 2n szomszéddal kötünk össze

36 2001Németh Gábor: Számítógép architektúrák 36 Szigorú értelemben vett pipeline szervezés - 1  Egy tömb szigorú értelemben véve pipeline szervezésű, ha átbocsátóképessége független a tömb méretétől. –Egy modul (hardver és szoftver) bemenetei és kimenetei között fizikai késleltetési idők vannak. –Minden modulhoz a fizikai késleltetési időknek megfelelő ütemezés rendelhető (az egyes bemenetekre milyen relatív késleltetéssel kell a jelet ráadni, a kimenetek mikor jelennek meg).  A továbbiakban csak azonos modulokból felépülő, szabályos elrendezésű tömbökkel foglalkozunk.

37 2001Németh Gábor: Számítógép architektúrák 37 Szigorú értelemben vett pipeline szervezés - 2 –A modult nem jellemzi egyértelműen fizikai késleltetési ideje  modul saját ismétlődési ideje: ilyen időközönként lehet állandósult állapotban a modul bemeneteire az egymástkövető bemenethalmazokat ráadni (a modul belül pipeline szervezésű lehet, elválasztó csomópontokkal, ld. később). –A tömb ismétlődési ideje (iterációs intervalluma): a rendszer állandósult állapotában a különböző adathalmazokat ilyen időközönként lehet a tömb bemenetére adni.

38 2001Németh Gábor: Számítógép architektúrák 38 Szigorú értelemben vett pipeline szervezés - 3 –Adat-egymásrahatás esetén (amikor az egyik iterációban előállított részeredményre egy következő iterációban bemenő operandusként van szükség) formálisan egy elválasztó csomópontot vezetünk be, mely egy iterációnyi információkésleltetést jelent. –Egy modul valamennyi bemenetéről áthelyezhetjük az elválasztó csomópontokat a modul kimeneteire (és fordítva); ez a transzformáció csak az algoritmusban használt indexeket módosítja.

39 2001Németh Gábor: Számítógép architektúrák 39 Szigorú értelemben vett pipeline szervezés - 4  A tömb helyesen működik, ha ismétlődési ideje nagyobb vagy egyenlő, mint az egyes modulok ismétlődési ideje és mint az ütemezési különbség a rendszer elválasztó csomópontjain. PÉLDA: M1M1 0 0 d1d1 d2d2 M2M2 2d 1 d 1 + d 2 M n-1 MnMn (n-1)d 1 nd 1 2d 1 + d 2 (n-2)d 1 (n-1)d 1 + d 2 elválasztó csomópont d1d1 ez kell a helyes működéshez Minden elválasztó csomóponton az ütemezési különbség d 1 + d 2, így a tömb pipeline. Tömb ismétlődési idő d 1 + d 2.

40 2001Németh Gábor: Számítógép architektúrák 40 Szigorú értelemben vett pipeline szervezés - 5 Egy jel átmeneti tárolásos, ha vezetékén minden modulpár között legalább egy elválasztó csomópont van, vagy elválasztó csomópont transzformációval ilyen struktúra létrehozható. Egy egydimenziós tömb, melynek összes jobbramenő vezetéke átmeneti tárolásos, elválasztó csomópont transzformáció alapján ekvivalens egy olyan egydimenziós tömbbel, melynek valamennyi balramenő vezetéke átmeneti tárolásos. –A két irányban a jelvezetékek számának nem kell azonosnak lennie; kiindulva két modulból és egy-egy vezetékből a két irányban, teljes indukcióval igazolható.

41 2001Németh Gábor: Számítógép architektúrák 41 Szigorú értelemben vett pipeline szervezés - 6 Egy egydimenziós tömb szigorú értelemben véve pipeline szervezésű, ha valamelyik irányban menő összes vezetéke átmeneti tárolásos. –Az elválasztó csomópontoknak nem kell minden modulpár között fizikailag létezniük, elég, ha ekvivalens elválasztó csomópont transzformációval ilyen struktúrára jutunk.

42 2001Németh Gábor: Számítógép architektúrák 42 Szigorú értelemben vett pipeline szervezés - 7 A bizonyításhoz - az általánosság megszorítása nélkül - tételezzük fel, hogy valamennyi balramenő vezeték átmeneti tárolásos. Legyen minden modulnál r jobbramenő vezeték, melyeken az ütemezés a bemeneteken a 1, …, a r és b 1, …, b r a kimeneteken. Legyen minden modulnál q balramenő vezeték, melyeken az ütemezés a bemeneteken c 1, …, c r és d 1, …, d q a kimeneteken. Legyen minden modul saját ismétlődési ideje e és legyen m a legnagyobb jobbramenő fizikai késleltetés, azaz m = max (b i - a i, i = 1, …, r).

43 2001Németh Gábor: Számítógép architektúrák 43 Szigorú értelemben vett pipeline szervezés - 8 Az i-edik balramenő vezetéken legyen l i  1 elválasztó csomópont. Vegyük a k-adik és a (k+1)-edik modulok közötti balramenő vezetékeket. –Itt az i-edik balramenő vezeték a (k+1)-edik modul kimenő jelét kapja a (k * m + d i ) időpillanatban és a k-adik modul számára a (k - 1) * m + c i időpillanatban ad bemenő jelet. –Ennek eredményeként az i-edik balramenő vezeték mindenegyes elválasztó csomópontján keresztül (m + d i - c i ) / l i ütemezési különbség adódik.

44 2001Németh Gábor: Számítógép architektúrák 44 Szigorú értelemben vett pipeline szervezés - 9  Így a tömb ismétlődési intervalluma: T = max {e,  max  (m + d i - c i ) / l i    i=1,…,q Az ismétlődési intervallum független k-tól (a modulok számától), így a tömb szigorú értelemben véve pipeline szervezésű.

45 2001Németh Gábor: Számítógép architektúrák 45 Szigorú értelemben vett pipeline szervezés - 10 Ez a megfontolás kiterjeszthető többdimenziós tömbökre is. A többdimenziós tömböket a hullámfrontmetszetek segítségével visszavezetjük az egydimenziós problémára. –A tömböt leíró gráfot vonalak segítségével feldaraboljuk úgy, hogy minden vonal a tömböt két részre bontja és a vonalak nem metszhetik egymást.  A hullámfrontmetszet vonalak tetszőlegesek lehetnek, célszerű azonban a számítás menetének megfelelően felvenni őket.

46 2001Németh Gábor: Számítógép architektúrák 46 Szigorú értelemben vett pipeline szervezés - 11 Felvesszük a hullámfont- metszet vonalakat. Két szomszédos hullám- front vonal közötti rész egy-egy összetett modul. összetett modul jobbról-balra és A hullámfront vonalat keresztezik a vezetékek.  balról-jobbra Betesszük az egyik irányba az átmeneti tárolókat.

47 2001Németh Gábor: Számítógép architektúrák 47 Szigorú értelemben vett pipeline szervezés - 12 összetett modul A modulok közötti valamennyi jelvezetékbe, mely nem halad át egy hullámfront vonalon, beiktatunk egy-egy elválasztó csomópontot, így a jel minden egyszerű modul bemenetén minden ismétlődési intervallum kezdetén rendelkezésre fog állni, a tömb méretétől függetlenül.

48 2001Németh Gábor: Számítógép architektúrák 48 Szigorú értelemben vett pipeline szervezés - 13 A többdimenziós tömböt visszavezettük összetett modulokból álló egydimenziós tömb problémára. Csak n  1 leképzésre van módszerünk. Noha a szigorú értelemben vett pipeline átbocsátóképessége stacioner állapotban független a tömb méretétől, a tömb inicializálása és kiürítése feladatváltás esetén csak akkor nem függ a tömb méretétől, ha egyirányú az adatáramlás!


Letölteni ppt "SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8 Németh Gábor. 2001Németh Gábor: Számítógép architektúrák 2 KISLÉPTÉKŰ PÁRHUZAMOSÍTÁS A feldolgozási sebesség növelésének."

Hasonló előadás


Google Hirdetések