Dynamiska binära översättare (DBT) har nyligen dragit till sig mycket uppmärksamhet för inbyggda system. Ett effektivt genomförande av DBT i dessa system är en utmaning på grund av snäva begränsningar av minne och prestanda. En DBT använder en programvara hanterad kod cache för att hålla block av översatt kod. För att minimera overhead, kod cachen är oftast stor så block översätts en gång och aldrig kastas. Ett inbäddat system kan dock sakna resurser för en stor kodcache. Denna begränsning leder till betydande avmattning på grund av återöversättning av block i förtid kastas från en liten kod cache. Detta dokument tar upp problemet och visar hur man kan införa en snäv storlek som är bunden till kodcachen utan prestandaförlust. Vi visar att omkring 70 procent av kodcachen förbrukas av instruktioner som DBT inför för sina egna syften. Baserat på denna observation, föreslår vi nya tekniker som minskar mängden utrymme som krävs av DBT-injicerad kod, vilket lämnar mer utrymme för faktiska tillämpningskod och förbättra miss förhållandet. Vi visar experimentellt att en begränsad kodcache kan ha prestanda på-par med en obegränsad.
Strata DBT implementerar tekniker för att binda kod cacheminne användning genom att minska det utrymme som krävs för DBT-injected kod REF.
Reducing pressure in bounded DBT code caches
{'venue': "CASES '08", 'journal': None, 'mag_field_of_study': ['Computer Science']}