The present invention relates to a mechanism for updating a fully
associative array which is used to store entries associated with
speculated instructions. Preferably, the array includes a plurality of
data banks for storing entries, a plurality of ports for writing to the
plurality of data banks, pointers associated with the respective banks for
identifying table locations suitable for overwriting by upcoming entries,
wherein an entry is suitable for overwriting when it is deemed invalid by
the inventive system. A preferred embodiment is disclosed involving two
ports writing to two banks wherein a plurality of factors is considered in
deciding where prospective entries from the two ports will be written in
the table. The Factors include, matches between existing and prospective
entries, the default designated data bank for a given port, whether two
write operations are being attempted simultaneously, and the number of
entries already present in each data bank.
La actual invención se relaciona con un mecanismo para poner al día un arsenal completamente sociable que se utilice para almacenar las entradas asociadas a instrucciones especuladas. Preferiblemente, el arsenal incluye una pluralidad de bancos de datos para almacenar las entradas, una pluralidad de puertos para escribir a la pluralidad de bancos de datos, indicadores asociados a los bancos respectivos para identificar las localizaciones de la tabla convenientes para sobreescribir por las entradas próximas, en donde una entrada es conveniente para sobreescribir cuando es juzgada inválida por el sistema inventivo. Una encarnación preferida se divulga que implica dos puertos que escriben a dos bancos en donde una pluralidad de factores se considera en decidir a donde las entradas anticipadas de los dos puertos serán escritas en la tabla. Los factores incluyen, los fósforos entre existente y las entradas anticipadas, el defecto señalado banco de datos para un puerto dado, si dos escriben operaciones se están procurando simultáneamente, y el número de las entradas ya presentes en cada banco de datos.