An apparatus and method for cache fencing allows programmatic control of
the access and duration of stay of selected executables within processor
cache. In one example, an instruction set implementing a virtual machine
may store each instruction in a single cache line as a compiled, linked
loaded image. After loading, cache fencing is conducted to prevent the
cache from flushing the contents or replacing the contents of any cache
line. Typically, in so doing, attributes associated with pages in physical
memory are employed. The attributes include an "uncacheable" attribute
flag, which is set for the entire contents of physical memory except that
containing the selected executables which are intended to remain within
cache memory. The attributes may also include page sizing attributes which
are utilized to define pages that contain interpreter instructions and
pages that do not contain interpreter instructions. The number of pages
not containing interpretive instructions are minimized to streamline the
operation of setting the uncacheable attribute flags. A fast load may
flush the cache and run an application containing the entire instruction
set. A pin manager may be hooked into a scheduler in a multi-tasking
operating system to load the processor cache and fence and unfence
physical memory as rapidly as needed. Thus, the processor cache may be
available for general use, except when physical memory is pinned.
Een apparaat en een methode voor geheim voorgeheugen het schermen staan programmatic controle van de toegang en de duur van verblijf van geselecteerd executables binnen bewerkergeheim voorgeheugen toe. In één voorbeeld, kan een instructiereeks die een virtuele machine uitvoert elke instructie in één enkele geheim voorgeheugenlijn als gecompileerd, verbonden geladen beeld opslaan. Na lading, geheim voorgeheugen wordt het schermen geleid om het geheime voorgeheugen te verhinderen het spoelen van de inhoud of de inhoud van om het even welke geheim voorgeheugenlijn te vervangen. Typisch, zodoende, zijn de attributen verbonden aan pagina's in fysiek geheugen aangewend. De attributen omvatten een "uncacheable" attributenvlag, die voor de volledige inhoud van fysiek geheugen behalve dat het bevatten van geselecteerd executables wordt geplaatst die bedoeld om binnen voorgeheugen is te blijven. De attributen kunnen pagina ook omvatten rangschikkend attributen die worden gebruikt om pagina's te bepalen die tolkeninstructies en pagina's bevatten die tolken geen instructies bevatten. Het aantal pagina's die geen interpretive instructies bevatten wordt geminimaliseerd om de verrichting te stroomlijnen van het plaatsen van de uncacheable attributenvlaggen. Een snelle lading kan het geheime voorgeheugen spoelen en een toepassing in werking stellen die de volledige instructiereeks bevat. Een speldmanager kan in een planner in een multi-tasking werkend systeem worden vastgehaakt om het bewerkergeheime voorgeheugen en omheining en unfence het fysieke geheugen te laden zo snel zoals nodig. Aldus, kan het bewerkergeheime voorgeheugen voor algemeen gebruik, behalve beschikbaar zijn wanneer het fysieke geheugen wordt gespeld.