Xputer
Xputer är en design för en omkonfigurerbar dator , föreslagen av datavetaren Reiner Hartenstein . Hartenstein använder olika termer för att beskriva de olika innovationerna i designen, inklusive config-ware, flow-ware, morph-ware och "anti-machine".
Xputer representerar en övergång från den traditionella Von Neumann -datorarkitekturen till en grovkornig "soft Arithmetic Logic Unit (ALU)"-arkitektur. Parallellism uppnås genom konfigurerbara element kända som reconfigurable datapath arrays (rDPA), organiserade i en tvådimensionell array av ALU:er liknande KressArray .
Arkitektur
Xputer-arkitekturen är dataströmsbaserad och är motsvarigheten till den instruktionsbaserade von Neumann-datorarkitekturen.
Xputer-arkitekturen var en av de första grovkorniga omkonfigurerbara arkitekturerna och består av en omkonfigurerbar datapath array (rDPA) organiserad som en tvådimensionell array av ALU:er (rDPU). Bussbredden mellan ALU:er var 32-bitars i den första versionen av Xputer.
ALU:erna (även kända som rDPUs) används för att beräkna en enda matematisk operation, såsom addition, subtraktion eller multiplikation, och kan också användas enbart för routing.
ALU:er är mesh-anslutna via tre typer av anslutningar, och dataflödet längs dessa anslutningar hanteras av en adressgenereringsenhet.
- Närmaste granne (anslutningar mellan angränsande ALU)
- Rad/kolumn back-bussar
- Global buss (en enda global buss för sammankoppling mellan ytterligare ALU)
Program för Xputer är skrivna på C -språket och kompilerade för användning på Xputer med hjälp av CoDeX-kompilatorn skriven av författaren. CoDeX-kompilatorn mappar lämpliga delar av C-programmet på Xputers rDPA-tyg. Resten av programmet körs på värdsystemet, till exempel en persondator .
rDPA
En reconfigurable datapath array (rDPA) är en halvledarenhet som innehåller omkonfigurerbara datavägsenheter och programmerbara sammankopplingar, först föreslog av Rainer Kress 1993, vid University of Kaiserslautern .
Istället för FPGA:er ( fältprogrammerbara grindmatriser ) som har enkelbitars konfigurerbara logiska block (CLB), har rDPA:er flera bitar breda (till exempel 32 bitars vägbredd) omkonfigurerbara datavägsenheter (rDPUs).
Varje rDPU kan konfigureras för att utföra en individuell funktion. Dessa rDPU:er och sammankopplingar kan programmeras efter tillverkningsprocessen av kunden/designern (därav termen "omkonfigurerbar") så att rDPA:n kan utföra vilken komplex beräkning som helst som behövs. Eftersom rDPU:er är flera bitar breda (till exempel 32 bitar) talar vi om grovkornig omkonfigurerbarhet - i motsats till FPGA :er med enkelbitsbredda konfigurerbara logikblock, kallade finförstärkta omkonfigurerbara.
rDPA:er är strukturellt programmerade från "config-ware" källkod , kompilerade till pipe-nätverk för att mappas till rDPA. rDPA:er är inte instruktionsströmdrivna och har ingen instruktionshämtning vid körning. rDPU:er har ingen programräknare.