Trumprocessor

Barrel processor , trumprocessor, är en processor som efter varje cykel växlar mellan instruktionsströmmar . Denna processorarkitektur är också känd som "interfolierad" (interfolierad) eller "finkornig" (finkornig) temporär flertrådning . Till skillnad från simultan multithreading i moderna superskalära arkitekturer tillåter denna teknik inte att flera instruktioner exekveras i en cykel.

Som med förebyggande multitasking tilldelas varje exekveringstråd sin egen mjukvaruräknare och andra hårdvaruregister för att bevara varje tråds sammanhang. En barrel-processor kan garantera att varje tråd kommer att köras var n:e cykel, till skillnad från en förebyggande multitasking-processor, som vanligtvis kör en enda exekveringstråd i hundratals eller tusentals cykler medan alla andra trådar väntar på sin tur.

En designteknik som kallas C-slowdown kan, givet ett processorschema med en enda uppgift, generera ett motsvarande Barrel-processorschema. En n -trådad Barrel-processor som genereras på detta sätt fungerar precis som ett multiprocessorsystem sammansatt av n separata kopior av den ursprungliga single-tasking-processorn, som var och en körs med ungefär 1/ n av sin ursprungliga hastighet.

Historik

Ett av de äldsta exemplen på en trumprocessor var I/O-processorn i CDC 6000-serien superdator . Den kunde exekvera en enskild instruktion eller del av en komplex instruktion från var och en av 10 olika virtuella processorer, även kallade perifera processorer, innan den återvände till den första processorn. [ett]

Trumprocessorer kan också användas som centralenheter i stora system. Till exempel hade Tera MTA (1988) en Barrel-processor med 128 trådar per kärna. [2] [3] MTA-arkitekturen har vidareutvecklats i efterföljande produkter som YarcData uRiKA , som introducerades 2012, de är fokuserade på datautvinningsapplikationer . [fyra]

Barrel-processorer kan användas för att minska hårdvarukostnaderna. Xerox Alto -mikrokoden kördes på en fatprocessor som implementerade två processorer, en videokontroller, en Ethernet-kontroller, en diskkontroller och andra I/O-enheter. [5]

Barrel-processorer kan också hittas i inbyggda system, där de är särskilt användbara på grund av deras deterministiska trådprestanda i realtid Ett exempel är XMOS XCore XS1 (2007), en fatprocessor med åtta trådar per kärna. XS1 används i Ethernet, USB, ljud och andra kontroller där I/O-prestanda är avgörande. Barrel-processorer används också i specialiserade applikationer, såsom Ubicom IP3023 (2004) åtta-tråds nätverksprocessor.

Fördelar jämfört med entrådade processorer

En processor med en enda uppgift spenderar många cykler på NOOP- operationer, utan att göra någonting användbart, varje gång en cache-miss inträffar eller pipelinen är inaktiv . Fördelarna med att använda fatprocessorer framför single-tasking processorer är följande:

Nackdelar jämfört med entrådade processorer

Det finns flera nackdelar med fatprocessorer .

Anteckningar

  1. CDC Cyber ​​​​170 datorsystem; Modellerna 720, 730, 750 och 760; Modell 176 (nivå B); CPU-instruktionsuppsättning; PPU-instruktionsuppsättning arkiverad 3 mars 2016 på Wayback-maskinen  - Se sidorna 2-44 för illustrationer av "trum"-växling.
  2. アーカイブされたコピー. Hämtad 11 augusti 2012. Arkiverad från originalet 22 februari 2012.
  3. Historia: Seymour Cray & Cray Research till Cray Inc. | Cray Arkiverad 12 juli 2014.
  4. Datorlösningar för Big Data Analytics | Arkiverad från originalet den 9 augusti 2012.
  5. PARC, Xerox Alto Hardware Manual . BitSevers. Hämtad 11 oktober 2016. Arkiverad från originalet 4 september 2017.

Länkar