A microprocessor configured to rapidly decode variable-length instructions
is disclosed. The microprocessor is configured with a predecoder and an
instruction cache. The predecoder is configured to expand variable-length
instructions to create fixed-length instructions by padding instruction
fields within each variable-length instruction with constants until each
field reaches a predetermined maximum width. The fixed-width instructions
are then stored within the instruction cache and output for execution when
a corresponding requested address is received. The instruction cache may
store both variable- and fixed-width instructions, or just fixed-width
instructions. An array of pointers may be used to access particular
fixed-length instructions. The fixed-length instructions may be configured
to all have the same fields and the same lengths, or they may be divided
into groups, wherein instructions within each group have the same fields
and the same lengths. A software program configured to generate
fixed-length instructions from variable-length instructions is also
disclosed. A method for decoding variable-length instructions is also
disclosed.
Un microprocessore configurato per decodificare velocemente le istruzioni variable-length è rilevato. Il microprocessore è configurato con un predecoder e un nascondiglio di istruzione. Il predecoder è configurato per espandere le istruzioni variable-length per generare le istruzioni di lunghezza stabilita riempiendo i campi di istruzione all'interno di ogni istruzione variable-length con i costanti fino a che ogni campo non raggiunga una larghezza massima predeterminata. Le istruzioni di fisso-larghezza allora sono memorizzate all'interno del nascondiglio di istruzione e l'uscita per l'esecuzione quando corrispondere ha chiesto indirizzo è ricevuta. Il nascondiglio di istruzione può memorizzare sia le istruzioni giuste di fisso-larghezza che di variabile istruzioni, o di fisso-larghezza. Un allineamento degli indicatori può essere usato per accedere alle istruzioni di lunghezza stabilita particolari. Le istruzioni di lunghezza stabilita possono essere configurate a tutte hanno gli stessi campi e le stesse lunghezze, o possono essere divise nei gruppi, in cui le istruzioni presso ogni gruppo hanno gli stessi campi e le stesse lunghezze. Un programma del software configurato per generare le istruzioni di lunghezza stabilita dalle istruzioni variable-length inoltre è rilevato. Un metodo per la decodificazione delle istruzioni variable-length inoltre è rilevato.