Está en la página 1de 2

Resulta instructivo examinar y comparar las organizaciones de registros de sistemas anlogos.

En esta seccin, examinamos dos microprocesadores de 16 bits que fueron diseados aproximadamente al mismo tiempo: el Motorola MC68000 [STRI79] y el lotel 8086 [MORS78]. Las Figuras 12.3a y b representan la organizacin de registros de cada uno de ellos; los registros estrictamente internos, tales como el registro de direccin de memoria, no se muestran. El MC68000 distribuye sus registros de 32 bits en ocho de datos y nueve de direcciones. Los ocho registros de datos se usan principalmente para manipulacin de datos y tambin se usan en direccionamiento como registros ndice. El ancho de los registros permite operaciones con datos de 8, 16 Y 32 bits, segn determine el cdigo de operacin. Los registros de direcciones contienen direcciones de 32 bits (no hay segmentacin); dos de estos registros se usan tambin como punteros de pila, uno para los usuarios y el otro para el sistema operativo, dependiendo del modo de ejecucin en curso. Los dos registros se referencian como 7, dado que solo uno de ellos puede usarse en un instante dado. El MC68000 tambin incluye un contador de programa de 32 bits y un registro de estado de 16 bits. El equipo de Motorola quiso un repertorio de instrucciones muy regular, sin registros de uso especial. Su inters por la eficiencia del cdigo los condujo a dividir los registros en dos componentes funcionales, ahorrando un bit en cada campo de especificacin de registro. Parece un compromiso razonable entre generalidad total y compacidad del cdigo. El Intel 8086 usa un enfoque diferente para la organizacin de los registros. Cada uno de los registros tiene un uso especial, aunque algunos registros se pueden emplear tambin para un uso general. El 8086 contiene cuatro registros de datos de 16 bits que son direccionables como registros de bytes o como registros de 16 bits, y cuatro registros punteros e ndices de 16 bits. Los registros de datos pueden utilizarse como de uso general en algunas instrucciones. En otras, los registros se usan implcitamente. Por ejemplo, una instruccin de multiplicacin siempre usa el acumulador. Los cuatro registros punteros se usan tambin implcitamente en algunas operaciones; cada uno contiene un desplazamiento dentro de un segmento. Hay tambin cuatro registros de segmento de 16 bits. Tres de los cuatro registros de segmento se usan de una forma dedicada e implcita para apuntar al segmento de la instruccin en curso (til para instrucciones de salto), a un segmento que contenga datos, y a un segmento que contenga una pila, respectivamente. Estos usos dedicados e implcitos proporciona una codificacin compacta con el coste de una flexibilidad reducida. El 8086 incluye tambin un puntero de instrucciones y un conjunto de indicadores de un bit de estado y de control. Debe quedar claro qu es lo significativo de esta comparacin. No hay, por el momento, una filosofa universalmente aceptada sobre la mejor forma de organizar los registros del

Ejemplos de organizacin registros de CPU reales

de

procesador [TOON81). Igual que ocurre en el diseo global del repertorio de instrucciones y en algunos de los aspectos del diseo del procesador, se trata ms bien de una cuestin de opinin y de gustos. En la Figura 12.3c se ilustra un segundo aspecto instructivo acerca del diseo de la organizacin de los registros. Esta figura muestra la organizacin de los registros visibles por el usuario en el Intel 80386 [ELAY85), un microprocesador de 32 bits diseado como una ampliacin del 8086'. El 80386 usa registros de 32 bits. No obstante, para proporcionar compatibilidad ascendente para los programas escritos en la primera mquina, el 80386 conserva la organizacin de registros original integrada en la nueva organizacin. Dada esta restriccin en el diseo, los arquitectos de los procesadores de 32 bits han limitado la flexibilidad al disear la organizacin de los registros.

También podría gustarte