An apparatus and method for accelerating interpreters, interpretive
environments, may manage pinning of a processor cache closest to a
processor. An instruction set implementing a virtual machine may store
each instruction in a single cache line as a compiled, linked loaded
image. After loading, the cache is pinned, disabled from flushing the
contents or replacing the contents of any cache line. A fast load may
flush the cache and run an application containing the entire virtual
machine instruction set. A pin manager may be hooked into a scheduler in a
multi-tasking operating system to load, pin, and unpin the processor cache
as rapidly as needed. Thus, the processor cache may be available for
general use, except when pinned for use by a virtual machine, such as an
interpretive environment. Level-1 caches integrated into central
processing units, particularly instruction caches or code caches are
ideally suited to implementation of the invention.
Um instrumento e um método para acelerar intérpretes, ambientes interpretive, podem controlar fixar de um esconderijo do processador o mais próximo a um processador. Um jogo de instrução que executa uma máquina virtual pode armazenar cada instrução em uma única linha do esconderijo como uma imagem carregada compilada, ligada. Após o carregamento, o esconderijo é fixado, incapacitado de nivelar os índices ou substituindo os índices de todo o esconderijo alinhe. Uma carga rápida pode nivelar o esconderijo e funcionar uma aplicação que contem o jogo de instrução virtual inteiro da máquina. Um pino gerente pode ser enganchado em um scheduler em um sistema operando-se do multi-tasking para carregar, fixar, e unpin tão ràpidamente o esconderijo do processador quanto necessitado. Assim, o esconderijo do processador pode estar disponível para o uso geral, a não ser que quando fixado para o uso por uma máquina virtual, tal como um ambiente interpretive. Os esconderijos Level-1 integrados em unidades centrais do processador, particularmente os esconderijos da instrução ou os esconderijos do código são servidos idealmente à execução da invenção.