Barrel processzor

A barrel processzor – magyarul körülírva kb. forgótáras processzor, vagy gyorstüzelő processzor, de a többkontextusú processzor kifejezés is jól leírja a fogalmat – egy olyan CPU, amelyik minden egyes utasításciklusban egy következő végrehajtási szálra vált, körkörös rendszerben. A szálak száma egy előre rögzített szám, pl. 10, és a processzor minden órajelciklusban a következő szál soron következő utasítását kezdi el (vagy folytatja), és a 11. órajelciklusban visszatér az első szál soron következő végrehajtandó műveletéhez. Ez a CPU-tervezési technika más néven „átlapolt / összefésült” vagy „finomszemcsés” temporális többszálú működésként is ismert; a processzort pedig nevezik még többkontextusú processzornak is. A modern szuperskalár architektúrák szimultán többszálas végrehajtásával ellentétben ez a technika általában nem engedi meg egy ciklus alatt több utasítás végrehajtását.

A preemptív többfeladatos működéshez hasonlóan, a barrel processzorban minden végrehajtási szálhoz saját külön programszámláló és hardver-regiszterek tartoznak, ezek alkotják a szál architekturális állapotát. A barrel processzor képes garantálni, hogy n ciklus alatt minden szál végrehajt egy utasítást, nem úgy, mint a preemptív többfeladatos működés esetében, ahol a szálak jellemzően több száz vagy több ezer ciklust átfogó időben futnak és ezalatt a többi szál várakozik, hogy sorra kerüljön.

Az egyfeladatos processzorkialakításokból a C-slowing nevű technikával lehetséges az annak megfelelő barrel processzor-kialakítás automatikus generálása. Egy ilyen módon előállított n-utas barrel processzor úgy működik, mint az eredeti egyfeladatos processzor n különálló többfeladatos másolata, amelyek mind az eredeti sebesség 1/n-ed részéhez közeli sebességen futnak.

Történet

A barrel processzor legkorábbi példáinak egyike a CDC 6000 sorozat szuperszámítógépeinek be-/kimeneti feldolgozórendszere volt. Ez egyetlen kiépített processzorhardver segítségével 10 külön virtuális processzor működését valósította meg, a fent említett módon: a valódi processzor minden egyes órajelütem alatt a soron következő virtuális processzor egy utasítását hajtja végre (vagy az utasítás egy részét, mivel néhány utasítás végrehajtása több órajelciklust igényel), míg a végrehajtás a 10-ik órajelütem után visszatér az első processzorhoz. Ezek a virtuális processzorok a CDC 6000-esben a periferiális processzor nevet kapták, feladatuk után.

Barrel processzor technikával nagyméretű központi processzorokat is készítettek. A Tera MTA (1988) központi egysége egy ilyen nagyméretű barrel processzor kialakítás, magonként 128 végrehajtási szállal. Az MTA architektúra fejlesztését a rákövetkező termékekben is folytatták, ilyen például a 2012-ben bemutatott YarcData uRiKA platform, amit adatbányászati alkalmazások futtatására használnak.

A barrel processzorok a hardverköltségek csökkentésére is alkalmasak. A Xerox Alto (1973) mikrokódját egy barrel processzor futtatja, amely két CPU-t, egy videocsatolót, Ethernet vezérlőket, egy lemezvezérlő egységet, és más bemeneti/kimeneti egységeket szolgál ki, ugyanazzal a mikrogéppel és regiszterkészlettel. (Az Alto központi egysége bitszelet-technikával készült, 74181 MSI integrált áramkörökkel épült fel.)

A barrel processzorok beágyazott rendszerekben is megtalálhatóak, ahol különösen hasznosak determinisztikus valós idejű szál-sebességük miatt. Erre egy példa az XMOS XCore XS1 (2007), amelyben egy négyfokozatú barrel processzor működik, magonként nyolc szállal. Az XS1 Ethernet, USB, audio- és egyéb vezérlőeszközökben található, és olyan alkalmazásokban, ahol a bemeneti/kimeneti teljesítmény kritikus. A barrel processzorokat használják még olyan speciális eszközökben is, mint például a nyolcszálas Ubicom IP3023 hálózati bemeneti/kimeneti processzor (2004).

Előnyei az egyszálas processzorokkal szemben

Az egyfeladatos processzor sok időt tölt tétlenül, semmilyen hasznos tevékenységet nem végezve, mikor gyorsítótár-tévesztés vagy futószalag-leállás (elakadás) lép fel. A barrel processzorok használatának előnyei az egyfeladatos processzorokkal szemben a következők:

Hátrányai az egyszálas processzorokkal szemben

A barrel processzoroknak van néhány hátrányuk is.

Jegyzetek

  1. ↑ CDC Cyber 170 Computer Systems; Models 720, 730, 750, and 760; Model 176 (Level B); CPU Instruction Set; PPU Instruction Set Archiválva 2016. március 3-i dátummal a Wayback Machine-ben -- Lásd a 2-44 lapot a forgó "tár" illusztrálására
  2. ↑ "Archivált másolat". 2012. február 22. dátummal az eredeti címről archiválva. Hozzáférés: 2012. augusztus 11.
  3. ↑ "Archivált másolat". 2014. július 12. dátummal az eredeti címről archiválva. Hozzáférés: 2014. augusztus 19.
  4. ↑ "Archivált másolat". 2012. augusztus 9. dátummal az eredeti címről archiválva. Hozzáférés: 2012. augusztus 11.
  5. ↑ PARC, Xerox. "Alto Hardware Manual" (PDF). BitSevers. Hozzáférés: 2014. január 10.
  6. ↑ a. (2010-10-18). "Before the PC, Before Apple, was the Xerox Alto" (angol nyelven). CPU Shack. Hozzáférés: 2014. The Alto was powered by a custom16-bit bit-slice processor consisting of 4 TTL 74181 ALU's ... {{cite web}}: Check date values in: |accessdate= (súgó)

Fordítás

Források

További információk

Kapcsolódó szócikkek