A microprocessor configured to cache basic blocks of instructions is
disclosed. The microprocessor may comprise decoding logic, a basic block
cache, and a branch prediction unit. The decoding logic is coupled to
receive and decode variable-length instructions into padded instructions
that have one of a predetermined number of predetermined lengths. The
decoding logic is further configured to form basic blocks of instructions
from the padded and decoded instructions. Basic blocks are natural
divisions in instruction streams resulting from branch instructions. The
start of a basic block is a target of a branch, and the end is another
branch instruction. The basic block cache is configured to store the basic
blocks in a plurality of storage locations, wherein each storage location
is configured to store an address tag, a link bit, and at least a portion
of one basic block. The link bit indicates whether the basic block stored
in said storage location extends into another storage location. The branch
prediction unit has a branch prediction array storing branch prediction
information corresponding to each storage location within the basic block
cache. A computer system and method for operating are also disclosed.
Um microprocessador configurarado para cache blocos básicos das instruções é divulgado. O microprocessador pode compreender a lógica da descodificação, um esconderijo básico do bloco, e uma unidade da predição da filial. A lógica da descodificação é acoplada para receber e descodificar instruções variable-length nas instruções acolchoadas que têm um de um número predeterminado de comprimentos predeterminados. A lógica da descodificação é configurarada mais mais para dar forma a blocos básicos das instruções das instruções acolchoadas e descodificadas. Os blocos básicos são divisões naturais em córregos da instrução resultando das instruções de filial. O começo de um bloco básico é um alvo de uma filial, e a extremidade é uma outra instrução de filial. O esconderijo básico do bloco é configurarado para armazenar os blocos básicos em um plurality de posições do armazenamento, wherein cada posição do armazenamento é configurarada para armazenar um Tag do endereço, um bocado da ligação, e ao menos uma parcela de um bloco básico. O bocado da ligação indica se o bloco básico armazenado em posição dita do armazenamento estende em uma outra posição do armazenamento. A unidade da predição da filial tem uma disposição da predição da filial armazenar a informação da predição da filial que corresponde a cada posição do armazenamento dentro do esconderijo básico do bloco. Um sistema computatorizado e um método para operar-se são divulgados também.