A method and apparatus for translating a virtual address to a physical address. A virtual address to be translated has a virtual page offset and a virtual page number. The virtual address to be translated addresses a page of memory. The size of this page is unknown. There are L different possible page sizes where L is a positive integer greater than one. Each of the L different page sizes is selected to be a test page size and a test is performed. During the test, a pointer into a translation storage buffer is calculated. The pointer is calculated from the virtual address to be translated by assuming that the virtual address to be translated corresponds to a mapping of the test page size. The pointer points to a candidate translation table entry of the translation storage buffer. The candidate translation table entry has a candidate tag and candidate data. The candidate tag identifies a particular virtual address and the candidate data identifies a particular physical address corresponding to the particular virtual address. A virtual address target tag is extracted from the virtual address to be translated. The virtual address target tag is calculated by assuming that the virtual address to be translated corresponds to a mapping of the test page size. The target tag and the candidate tag are then compared. If the target tag matches the candidate tag, the candidate data is provided as the physical address translation corresponding to the virtual address to be translated.

Eine Methode und ein Apparat für das Übersetzen einer virtuellen Adresse zu einer körperlichen Adresse. Eine virtuelle zu übersetzende Adresse hat eine virtuelle versetzte Seite und eine virtuelle Seitenzahl. Die virtuelle Adresse, zum übersetzte Adressen ein Seite des Gedächtnisses zu sein. Die Größe dieser Seite ist unbekannt. Es gibt L unterschiedliche mögliche Seite Größen, in dem L eine positive Ganzzahl grösser als eine ist. Jedes des L unterschiedliche Seite Größen wird vorgewählt, um eine Testseite Größe zu sein und ein Test wird durchgeführt. Während des Tests wird ein Zeiger in einen Übersetzung Speicherpuffer errechnet. Der Zeiger wird von der virtuellen indem man annimmt zu übersetzenden Adresse errechnet, daß die virtuelle zu übersetzende Adresse einem Diagramm der Testseite Größe entspricht. Der Zeiger zeigt auf eine Bewerberübersetzung Tabelle Eintragung des Übersetzung Speicherpuffers. Die Bewerberübersetzung Tabelle Eintragung hat einen Bewerberumbau und Bewerberdaten. Der Bewerberumbau kennzeichnet eine bestimmte virtuelle Adresse und die Bewerberdaten kennzeichnen eine bestimmte körperliche Adresse, die der bestimmten virtuellen Adresse entspricht. Ein virtueller Adresse Zielumbau wird von der virtuellen zu übersetzenden Adresse extrahiert. Der virtuelle Adresse Zielumbau wird errechnet, indem man annimmt, daß die virtuelle zu übersetzende Adresse einem Diagramm der Testseite Größe entspricht. Der Zielumbau und der Bewerberumbau werden dann verglichen. Wenn der Zielumbau den Bewerberumbau zusammenbringt, werden die Bewerberdaten während die körperliche Adresse Übersetzung zur Verfügung gestellt, die der virtuellen zu übersetzenden Adresse entspricht.

 
Web www.patentalert.com

< (none)

< Computer program debugging in the presence of compiler synthesized variables

> Processor having a plurality of pipelines and a mechanism for maintaining coherency among register values in the pipelines

> (none)

~ 00002