Procesor de tobe

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ă.

Istorie

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

Avantaje față de procesoarele cu un singur thread

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:

Dezavantaje în comparație cu procesoarele cu un singur thread

Există mai multe dezavantaje ale procesoarelor cu baril .

Note

  1. CDC Cyber ​​​​170 Computer Systems; Modelele 720, 730, 750 și 760; Model 176 (Nivel B); Set de instrucțiuni CPU; Set de instrucțiuni PPU Arhivat 3 martie 2016 la Wayback Machine  - Consultați paginile 2-44 pentru ilustrații ale alternanței „tobei”.
  2. アーカイブされたコピー. Preluat la 11 august 2012. Arhivat din original la 22 februarie 2012.
  3. Istoric: Seymour Cray & Cray Research la Cray Inc. | Cray Arhivat 12 iulie 2014.
  4. Soluții de calcul pentru Big Data Analytics | Arhivat din original pe 9 august 2012.
  5. PARC, Xerox Alto Hardware Manual . BitSevers. Consultat la 11 octombrie 2016. Arhivat din original la 4 septembrie 2017.

Link -uri