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.
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.
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:
Der er flere ulemper ved tøndeprocessorer .
processorteknologier | Digitale|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionssæt arkitektur | |||||||||
maskinord | |||||||||
Parallelisme |
| ||||||||
Implementeringer | |||||||||
Komponenter | |||||||||
Strømstyring |