Bancos de registros Además de conectar los biestables en fila, es posible conectarlos formando una estructura bidimensional En una estructura de este tipo podemos considerar que cada fila es un registro, por lo que se le suele dar ell nombre b de d banco b d registros de i La principal ventaja de un banco de registros es que, dada su regularidad, g , el diseño final resulta menos complejo de lo que sería necesario si implementamos los registros g por separado p p Componentes básicos de memorización 1 Bancos de registros Un banco de registros consiste en: Una red bidimensional de celdas (RFC – Register-file Cells) Decodificadores de lectura y escritura Cada RFC consiste en un biestable con una circuitería lógica asociada que permite almacenar un bit Los decodificadores de lectura y escritura se encargan d seleccionar de i una fila fi concreta para permitir i i que en ella se realice, respectivamente, una operación de l lectura o una operación ió de d escritura i Componentes básicos de memorización 2 Bancos de registros Una RFC puede implementarse usando un biestable D y algunas puertas lógicas para controlar: Una señal de entrada para datos Una señal de selección de escritura que hace que el dato de entrada se almacene en el biestable Una señal de selección de lectura que hace que el dato almacenado en el biestable pase a la salida a través de un buffer triestado Componentes básicos de memorización 3 Bancos de registros En general, un banco de registros de 2n registros de m bits necesita: 2n filas de biestables m entradas de datos m salidas de datos El decodificador d difi d de d escritura it necesita it n líneas de dirección 1 línea de habilitación de escritura El decodificador de lectura necesita n líneas de dirección 1 línea de habilitación de lectura Componentes básicos de memorización 4 Bancos de registros Banco de cuatro registros de cuatro bits en el que, por claridad, se ha suprimido la señal de reloj. Componentes básicos de memorización 5 Bancos de registros con múltiples puertos La principal limitación de un banco de registros como éste es que, que en un momento dado, dado sólo puede leerse un dato y escribirse un dato al mismo tiempo Decimos que un banco de registros de estas características i tiene i un puerto de lectura y un puerto de escritura La solución a este p problema es aumentar el número de puertos de lectura y escritura según convenga, de acuerdo con el uso q que vaya y a darse al banco Componentes básicos de memorización 6 Bancos de registros con múltiples puertos El problema de usar múltiples puertos es que el costo de cada registro aumenta proporcionalmente al número de puertos que tiene Un posible punto de equilibrio es usar dos puertos de lectura y uno de escritura Por ejemplo, suponiendo que un circuito digital realice una operación p aritmética o lógica g en cada ciclo: Los puertos de lectura proporcionarán los dos operandos El puerto de escritura permitirá almacenar el resultado Componentes básicos de memorización 7 Bancos de registros con múltiples puertos Banco de registros con dos puertos de lectura, incluyendo un segundo decodificador de lectura Componentes básicos de memorización 8