Tromleprocessor

Tøndeprocessor , tromleprocessor, er en processor , der efter hver cyklus skifter mellem instruktionsstrømme . Denne processorarkitektur er også kendt som "interleaved" (interleaved) eller "finkornet" (finkornet) midlertidig multithreading . I modsætning til samtidig multithreading i moderne superskalararkitekturer tillader denne teknologi ikke, at flere instruktioner udføres i én cyklus.

Som med forebyggende multitasking tildeles hver udførelsestråd sin egen softwaretæller og andre hardwareregistre for at bevare hver tråds kontekst. En barrel-processor kan garantere, at hver tråd vil køre hver n cyklus, i modsætning til en forebyggende multitasking-processor, som typisk kører en enkelt tråd af udførelse i hundredvis eller tusindvis af cyklusser, mens alle andre tråde venter på deres tur.

En designteknik kaldet C-slowdown kan, givet et enkelt-opgave-processorskema, generere et tilsvarende Barrel-processorskema. En n -trådet Barrel-processor, der således genereres , fungerer ligesom et multiprocessorsystem , der er samlet af n separate kopier af den originale single-tasking-processor, der hver kører med ca. 1/ n af dens oprindelige hastighed.

Historie

Et af de ældste eksempler på en trommeprocessor var I/O-processoren i CDC 6000-serien supercomputeren . Den var i stand til at udføre en enkelt instruktion eller en del af en kompleks instruktion fra hver af 10 forskellige virtuelle processorer, også kaldet perifere processorer, før den vendte tilbage til den første processor. [en]

Tromleprocessorer kan også bruges som centrale behandlingsenheder i store systemer. For eksempel havde Tera MTA (1988) en Barrel-processor med 128 tråde pr. kerne. [2] [3] MTA-arkitekturen er blevet videreudviklet i efterfølgende produkter som YarcData uRiKA , introduceret i 2012, de er fokuseret på datamining-applikationer . [fire]

Barrel-processorer kan bruges til at reducere hardwareomkostningerne. Xerox Alto - mikrokoden kørte på en tøndeprocessor, der implementerede to CPU'er, en videocontroller, en Ethernet-controller, en diskcontroller og andre I/O-enheder. [5]

Tønde-processorer kan også findes i indlejrede systemer, hvor de er særligt nyttige på grund af deres deterministiske tråd -ydeevne i realtid Et eksempel er XMOS XCore XS1 (2007), en tøndeprocessor med otte tråde pr. kerne. XS1 bruges i Ethernet, USB, lyd og andre controllere, hvor I/O-ydeevne er kritisk. Barrel-processorer bruges også i specialiserede applikationer, såsom Ubicom IP3023 (2004) otte-tråds netværksprocessor.

Fordele i forhold til enkelttrådede processorer

En single-tasking-processor bruger mange cyklusser på NOOP- operationer og gør ikke noget nyttigt, hver gang der opstår en cache-miss , eller pipelinen er inaktiv . Fordelene ved at bruge tøndeprocessorer frem for single-tasking processorer er som følger:

Ulemper sammenlignet med enkelttrådede processorer

Der er flere ulemper ved tøndeprocessorer .

Noter

  1. CDC Cyber ​​​​170 computersystemer; Model 720, 730, 750 og 760; Model 176 (niveau B); CPU instruktionssæt; PPU-instruktionssæt arkiveret 3. marts 2016 på Wayback-maskinen  - Se side 2-44 for illustrationer af "tromme"-veksling.
  2. アーカイブされたコピー. Hentet 11. august 2012. Arkiveret fra originalen 22. februar 2012.
  3. Historie: Seymour Cray & Cray Research til Cray Inc. | Cray Arkiveret 12. juli 2014.
  4. Computerløsninger til Big Data Analytics | Arkiveret fra originalen den 9. august 2012.
  5. PARC, Xerox Alto Hardwaremanual . BitSevers. Hentet 11. oktober 2016. Arkiveret fra originalen 4. september 2017.

Links