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

Hasonló előadás


Az előadások a következő témára: "SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8"— Előadás másolata:

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

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.) 2001 Németh Gábor: Számítógép architektúrák

3 HARVARD-ARCHITEKTÚRA
ADATSÍN (OPERAN- DUS) ADATSÍN (UTASÍTÁS) i+1 ADD RA, M[l] M[k] CÍMSÍN CÍMSÍN UTASÍTÁS- TÁROLÓ PROCESZ- SZOR ADAT- TÁROLÓ VEZÉRLÉS VEZÉRLÉS 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. ………... i ADD RA, ………... 2001 Né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. 1000 CD 1003 F5 JUMP 1000: CALL SUBROUTINE PUSH PSW (utasítás) JUMP 1001: LXI B, 0F503H (adat) 2001 Né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. 2001 Né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. 2001 Németh Gábor: Számítógép architektúrák

7 Németh Gábor: Számítógép architektúrák
PIPELINE - 2 • Legegyszerűbb változata: a processzort egy utasításlehívó (I) és egy végrehajtó (E) egységre bontjuk: ………….… i. utasítás i+1. utasítás ……………. • E végrehajtja az előző fázisban lehívott utasítást. • 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. I E 2001 Németh Gábor: Számítógép architektúrák

8 Németh Gábor: Számítógép architektúrák
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 2001 Németh Gábor: Számítógép architektúrák

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

10 Németh Gábor: Számítógép architektúrák
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: P P P P 1 2 3 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. 2001 Németh Gábor: Számítógép architektúrák

11 Németh Gábor: Számítógép architektúrák
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. 2001 Németh Gábor: Számítógép architektúrák

12 összeadásnál kihagyjuk
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). Lebegőpontos kivonás: azonos kitevőre hozás, kivonandó komplementálása, összeadás, eredmény normalizálása. I1 I2 I3 I4 E11 E12 E21 E22 E23 E24 E31 E32 E33 összeadásnál kihagyjuk 2001 Németh Gábor: Számítógép architektúrák

13 Németh Gábor: Számítógép architektúrák
PIPELINE - 8 Ö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! Az utasításlehívó rész szervezése: PC 1 címsín írás hiba C Az utasítás címét az utasítással együtt kell vinni, mert pl. jump + 5 végrehajtá-sához kell. ”+1” PC 2 PC 3 IR 2 PC 4 IR 3 adatsín IR 1 i + 2. utasítás lehívása i + 1. utasítás dekódolása i. utasítás végrehajtása 2001 Németh Gábor: Számítógép architektúrák

14 Németh Gábor: Számítógép architektúrák
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. 2001 Németh Gábor: Számítógép architektúrák

15 Németh Gábor: Számítógép architektúrák
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! ……………………….. itt_vagyunk jnz oda vagy_ide? add a, b . oda sub c, d De részleges dekódolásából észleljük a problémát. 2001 Németh Gábor: Számítógép architektúrák

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

17 Németh Gábor: Számítógép architektúrák
PIPELINE - 12 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. 2001 Németh Gábor: Számítógép architektúrák

18 Németh Gábor: Számítógép architektúrák
PIPELINE - 13 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. 2001 Németh Gábor: Számítógép architektúrák

19  Megoldási lehetőségek:
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. 2001 Németh Gábor: Számítógép architektúrák

20 Németh Gábor: Számítógép architektúrák
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). 2001 Németh Gábor: Számítógép architektúrák

21 Németh Gábor: Számítógép architektúrák
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. 2001 Németh Gábor: Számítógép architektúrák

22 Németh Gábor: Számítógép architektúrák
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! 2001 Németh Gábor: Számítógép architektúrák

23 Németh Gábor: Számítógép architektúrák
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 Hosszú pipeline  lassú működés! S S 2001 Németh Gábor: Számítógép architektúrák

24 Németh Gábor: Számítógép architektúrák
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. 2001 Németh Gábor: Számítógép architektúrák

25 Németh Gábor: Számítógép architektúrák
Vektorprocesszorok - 2 Pl. lebegőpontos összeadás: 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] 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. 2001 Németh Gábor: Számítógép architektúrák

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

27 Németh Gábor: Számítógép architektúrák
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 x y . := a c + b d 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. 2001 Németh Gábor: Számítógép architektúrák

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

29 Németh Gábor: Számítógép architektúrák
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. 2001 Németh Gábor: Számítógép architektúrák

30 Németh Gábor: Számítógép architektúrák
Tömbprocesszorok - 2 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 fő számítógép a végrehajtandó programot tárolja utasítások (vezérlő jelek) FET feldolgozó egységek és helyi tárolók adatkapcsolat a közvetlen szomszédokkal 2001 Németh Gábor: Számítógép architektúrák

31 Németh Gábor: Számítógép architektúrák
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). 2001 Németh Gábor: Számítógép architektúrák

32 Németh Gábor: Számítógép architektúrák
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. kép Saját - balol- dali szomszéd fényessége: függőleges kontúrok. 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. 2001 Né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. 2001 Né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 n2-tel arányos. bemenetek kimenetek in2 in1 out2 out1 out1 = min (in1, in2) out2 = max (in1, in2) 2001 Németh Gábor: Számítógép architektúrák

35 Többdimenziós tömbprocesszorok
• 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. dimenzió szomszéd  HIPERKOCKA: n dimenzió = minden feldolgozót 2n szomszéddal kötünk össze. 1 2 2 4 2001 Németh Gábor: Számítógép architektúrák

36 Szigorú értelemben vett pipeline szervezés - 1
 A továbbiakban csak azonos modulokból felépülő, szabályos elrendezésű tömbökkel foglalkozunk.  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). 2001 Né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. 2001 Né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. 2001 Né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. Minden elválasztó csomóponton az ütemezési különbség d1 + d2, így a tömb pipeline. • PÉLDA: Mn-1 Mn (n-1)d1 nd1 2d1 + d2 (n-2)d1 (n-1)d1 + d2 M1 d1 d2 M2 2d1 d1 ez kell a helyes működéshez elválasztó csomópont d1 + d2 Tömb ismétlődési idő d1 + d2. 2001 Né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ó. 2001 Né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. 2001 Né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 a1, …, ar és b1, …, br a kimeneteken. Legyen minden modulnál q balramenő vezeték, melyeken az ütemezés a bemeneteken c1, …, cr és d1, …, dq 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 (bi - ai, i = 1, …, r). 2001 Né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 li  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 + di) időpillanatban és a k-adik modul számára a (k - 1) * m + ci időpillanatban ad bemenő jelet. Ennek eredményeként az i-edik balramenő vezeték mindenegyes elválasztó csomópontján keresztül (m + di - ci) / li ütemezési különbség adódik. 2001 Né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 + di - ci) / li    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ű.  2001 Né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. 2001 Németh Gábor: Számítógép architektúrák

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

47 Szigorú értelemben vett pipeline szervezés - 12
összetett modul összetett modul ö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. 2001 Né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! 2001 Németh Gábor: Számítógép architektúrák


Letölteni ppt "SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 8"

Hasonló előadás


Google Hirdetések