Application-specifik instruktion set förlängningar är ett effektivt sätt att förbättra prestanda för processorer. Kritiska beräkning subgrafer kan accelereras genom att kollapsa dem i nya instruktioner som utförs på specialiserade funktionsenheter. Collapsing subgraphs minskar samtidigt längden på beräkningen samt antalet mellanliggande resultat som lagras i registerfilen. Det största problemet med detta tillvägagångssätt är att en ny processor måste skapas för varje applikationsdomän. Även om nya instruktioner kan utformas automatiskt, det finns en betydande mängd tekniska kostnader som uppstår för att verifiera och genomföra den slutliga anpassade processorn. I detta arbete föreslår vi en strategi för transparent anpassning av processorns kärnkapacitet utan att ändra dess instruktionsuppsättning. En konfigurerbar uppsättning funktionsenheter läggs till i baslinjeprocessorn som möjliggör acceleration av ett brett spektrum av dataflödessubgrafer. För att utnyttja arrayen utför mikroarkitekturen subgrafidentifikation vid körtid och ersätter dem med nya mikrokodsinstruktioner för att konfigurera och använda arrayen. Vi jämför effektiviteten av att ersätta subgrafer i fyllenheten av en spår cache kontra med hjälp av en översättning tabell under avkoda, och utvärdera kompromisser mellan statiska och dynamiska identifiering av subgrafer för instruktion set anpassning.
I detta arbete använder vi en mer generisk CCA-arkitektur, liknande REF, för att stödja genomförandet av mer godtyckliga acykliska dataflöde subgrafer.
Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set Customization
{'venue': "37th International Symposium on Microarchitecture (MICRO-37'04)", 'journal': "37th International Symposium on Microarchitecture (MICRO-37'04)", 'mag_field_of_study': ['Computer Science']}