
archi
Itt add meg az alcímet
Mi a jó ég ez?
Az utasítás végrehajtásnak vannak részei. Nézzük például a klasszikus RISC futószalag által
tartalmazott lépéseket (fokozatokat):
1. Instruction fetch (IF)
2. Instruction decode and register fetch (ID)
3. Execute (E)
4. Memory access (M)
5. Register write back (WB)
Futószalag nélkül, jön egy utasítás, ami végigmegy
ezeken és csak ez után jöhet a következő utasítás. Ezzel
az a gond, hogy amíg az utasítás pl. az ID fázisban van,
addig a többi fázis áramköre kihasználatlan. Futószalag
t =
𝑇
𝑁
N: futószalag fokozatok száma.
13
elvet alkalmazva, az első utasítás ID-jénél már rögtön ráengedjük a IF-re a következő utasítást, így
nem lesz kihasználatlan kapacitásunk. Folyamatosan így ellátva az áramköröket munkával egyszerre
annyi utasítást tudunk végrehajtani, ahány lépésből áll a mi architektúránk utasítás feldolgozása
Ennek fényében elvben annyiszor gyorsabb a feldolgozás, ahány fokozatos a futószalag. Gyakorlatban
azért ez nem ilyen egyszerű a különböző függőségek miatt.
2 fokozatú futószalag jellemzői
• A CPU 2 darab egymástól független hardver egységgel kell rendelkezzen (1 egység - 1 fokozat
végrehajtása)
• Mindkét fokozat ugyanannyi időt vesz igénybe
• Az egyik fokozat kimenete a másik fokozat bemenete
• A fokozatok szinkronizáltan, órajelre működnek
• Mindkét fokozat órajelre fogadja az inputot és egyetlen óraciklus alatt elvégzi a rá bízott
műveletet
• Órajelenként 2 utasítást tud értelmezni
Ez valószínűleg n fokozatnál is hasonlóan működik, a jegyzetben 2 fokozat van írva ezért inkább itt is
ezt vesszük alapul.
Néhány processzor és fokozatszámaik
• Intel 80486: 3
• Intel P5 architektúra (Pentium): 5
• Intel P6 architektúra (Pentium III): 11-17
• Netburst architektúra: 20-31
• Core 2: 14
• Core i: 16-20
Újrafeldolgozás (operandus előlehívás)
• F, D, E, WB fokozatokról van szó
• Lényege, hogy bizonyos műveleteknél, főként fixpontos
szorzásnál és osztásnál, ha mindig végigjátszanánk a 4
futószalag fokozaton, vagyis minden részeredményt
kiírnánk a regiszterekbe. Ehelyett visszavezetjük az E
kimenetét az E bemenetére, és így számolunk tovább.
• Csökken a teljesítmény az újrafeldolgozás alkalmazása miatt, de akkor is kell
• FX, FP futószalagok használják (ezek valami rendereléshez, vizuális hatásokhoz tartozó
cuccok)
14
Alkalmazási területek
1. Overlapping (előrehozás): lényege, hogy az egyik utasítás WB-jét és a következő utasítás F-ét
párhuzamosan csinálom, így megtakarítok egy órajel ciklust
2. Vektor CPU-ban: csak a végrehajtó fokozatok működnek futószalag szerűen (vagyis csak E-k
vannak a futószalagon), így ezek átfedésben tudnak működni.
3. A teljes utasítás folyamat futószalag elvű megvalósítása: vagyis a fentebb is tárgyalt, több
fokozatú futószalag esetén, minden órajelciklusban utasítást tudunk meghívni dolog.
A futószalag logikai felépítése
A logikai felépítés nem más, mint ezek az F, D, E, WB címkés kis téglalapok, amit eddig is használtunk.
Célszerű utasítás kategóriánként másmilyen futószalagot kialakítani.
Például:
Aritmetikai futószalag: F ' D/SO ' E ' WB
Branch futószalag: F ' E
Egy futószalagnak két szintje van.
1. funkcionális kialakítás
2. a fokozat által végrehajtandó elemi műveletek specifikálása. Ez szinttől függően különböző
szintig lehet részletezve.
15
Fizikai megvalósítás (implementáció) példák
'60-as, '80-as évek:
II. generációs szuperskalár:
Cél: több, dedikált futószalagos kialakítás, vagyis specializált, egymással párhuzamosan működő
futószalagok kialakítása. Vannak univerzális futószalagok is. Ezzel a hardver minimalizálást próbálták
