Procesor baril , procesor tambur, este un procesor care, după fiecare ciclu, comută între fluxurile de instrucțiuni . Această arhitectură de procesor este cunoscută și sub denumirea de multithreading temporar „interleaved” (interleaved) sau „fine-grained” (fine-grained) . Spre deosebire de multithreading simultan în arhitecturile superscalare moderne , această tehnologie nu permite executarea mai multor instrucțiuni într-un singur ciclu.
Ca și în cazul multitasking -ului preventiv , fiecărui fir de execuție i se atribuie propriul contor software și alte registre hardware pentru a păstra contextul fiecărui fir. Un procesor baril poate garanta că fiecare thread va rula la fiecare n cicluri, spre deosebire de un procesor multitasking preventiv, care rulează de obicei un singur thread de execuție pentru sute sau mii de cicluri, în timp ce toate celelalte fire își așteaptă rândul.
O tehnică de proiectare numită C-slowdown poate, având în vedere o schemă de procesor cu o singură sarcină, să genereze o schemă de procesor Barrel corespunzătoare. Un procesor Barrel cu n -threaded astfel generat acționează la fel ca un sistem multiprocesor asamblat din n copii separate ale procesorului original cu o singură sarcină, fiecare rulând la aproximativ 1/ n din viteza sa inițială.
Unul dintre cele mai vechi exemple de procesor de tambur a fost procesorul I/O din supercomputerul din seria CDC 6000 . A fost capabil să execute o singură instrucțiune sau o parte dintr-o instrucțiune complexă de la fiecare dintre cele 10 procesoare virtuale diferite, numite și procesoare periferice, înainte de a reveni la primul procesor. [unu]
Procesoarele cu tambur pot fi folosite și ca unități centrale de procesare în sisteme mari. De exemplu, Tera MTA (1988) avea un procesor Barrel cu 128 fire de execuție per nucleu. [2] [3] Arhitectura MTA a fost dezvoltată în continuare în produse ulterioare, cum ar fi YarcData uRiKA , introdus în 2012, acestea sunt concentrate pe aplicații de data mining . [patru]
Procesoarele baril pot fi folosite pentru a reduce costurile hardware. Microcodul Xerox Alto rula pe un procesor baril care implementa două procesoare, un controler video, un controler Ethernet, un controler de disc și alte dispozitive I/O. [5]
Procesoarele baril pot fi găsite și în sistemele încorporate, unde sunt deosebit de utile datorită performanței lor deterministe în timp real a firelor Un exemplu este XMOS XCore XS1 (2007), un procesor baril cu opt fire per miez. XS1 este utilizat în Ethernet, USB, audio și alte controlere unde performanța I/O este critică. Procesoarele baril sunt folosite și în aplicații specializate, cum ar fi procesorul de rețea cu opt fire Ubicom
Un procesor cu o singură sarcină petrece multe cicluri pe operațiunile NOOP , fără a face nimic util, de fiecare dată când are loc o pierdere a memoriei cache sau conducta este inactivă . Avantajele utilizării procesoarelor baril față de procesoarele cu o singură sarcină sunt următoarele:
Există mai multe dezavantaje ale procesoarelor cu baril .
Tehnologii de procesoare digitale | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arhitectură | |||||||||
Arhitectura set de instrucțiuni | |||||||||
cuvânt mașină |
| ||||||||
Paralelism |
| ||||||||
Implementări | |||||||||
Componente | |||||||||
Gestionare a energiei |