INSTITUTO TECNOLÓGICO DE ACAYUCAN Arquitectura de Computadoras 2.4 Casos de estudio de CPU reales Ing. Sistemas Computacionales Prof.: Jose Aurelio Ramirez Gonzalez
i-8086 Los modos de direccionamiento del 8086 (Crawford & Gelsinger , 1987) son muy irregulares . Los registros del procesador, se usan para contener los datos con que se está trabajando puesto que el acceso a los registros es mucho más rápido que los accesos a memoria. Se pueden realizar operaciones aritméticas y lógicas, comparaciones, entre otras. Hay un campo para un registro ( reg ), que especifica uno de los operandos , y otros dos campos ( mod y r/m ) para el otro . Los modos del 8086 son indirectos por registro , indexados o directos por registro
Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, y multiplicación y división (estas dos últimas en conjunto con el registro DX) Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite. Registro DX: El registro DX es el registro de datos. Registros Índice Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres. Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. Registros Apuntadores Registro SP: Apuntador de pila de 16 bits proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros dentro de la pila.
Motorola 68000 En el Motorola 68000 el mismo direccionamiento lleva implícito el tipo de registro sobre el que trabaja ( direcciones o datos ). Esta basado en dos bancos de 8 registros de 32 bits. Un banco es de datos ( Dn ) y el otro de punteros ( An ). Además contiene un contador de programa de 32 bits y un registro de estado de 16 bits. Los registros de datos (D0 a D7) se pueden usar como registros de 32 bits (.l), 16 bits (.w) y 8 bits (.b). Cualquiera de ellos puede usarse como acumulador, índice o puntero.
Acepta los siguientes modos de direccionamiento: Implícito (o inherente). Inmediato. Absoluto : Directo a registro. Indirecto . Relativo a PC con desplazamiento. Relativo a PC con índice y desplazamiento.
80386 La CPU está compuesta por la unidad de ejecución y la unidad de instrucciones . La unidad de ejecución contiene los ocho registros de 32 bits de propósito general que se utilizan para el cálculo de direcciones y operaciones con datos y un barrel shifter de 64 bits que se utiliza para acelerar las operaciones de desplazamiento, rotación, multiplicación y división.
Para este microprocesador existe un modo nuevo que requiere un byte adicional denominado SIB (escala, índice, base) que se añade al byte de operandos y cuyo formato es el siguiente: Ese byte adicional especifica un factor de escala y dos registros (base e índice). El modo SIB es útil para direccionar elementos de vectores de longitudes diferentes en bucles. Es una alternativa a los modos autoindexados que esta máquina no soporta.
El 80386 tiene registros de 32 bits en las siguientes categorías: Registros de propósito general. Registros de segmento. Puntero de instrucciones Indicadores. Registros de control (nuevos en el 80386). Registros de direcciones de sistema. Registros de depuración ( debug ) (nuevos en el 80386). Registros de test (nuevos en el 80386).
Procesador I3 Línea de microprocesadores Intel, gama baja. 3era generación ° 2010.
Características Procesador de 2 núcleos 4 hilos de procesamiento en paralelo Tarjeta gráfica integrada Controlador de memoria Controlador PCI Express 2.0 integrado
Resumen Modos de direccionamiento y formatos Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte Direccionamiento Implícito: En este modo de direccionamiento no es necesario poner ninguna dirección de forma explícita, ya que en el propio código de operación se conoce la dirección del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar. Direccionamiento Inmediato: En este modo el operando es especificado en la instrucción misma. En otras palabras, una instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El campo del operando contiene el operando actual que se debe utilizar en conjunto con la operación especificada en la instrucción. Las instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante. Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está en el modo de registro.
Direccionamiento Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando. En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección de la rama actual. Direccionamiento Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando . Direccionamiento Absoluto: El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción . Direccionamiento Relativo: El registro referenciado implícitamente es el contador de programa. El campo de direcciones se trata como un número en complemento a 2, y representa un desplazamiento relativo al PC
Direccionamiento con registro – base: En este direccionamiento el registro referenciado contiene una dirección de memoria y el campo de dirección contiene un desplazamiento desde dicha dirección. Direccionamiento indexado : El campo de direcciones referencia una dirección de memoria principal, y el registro referenciado contiene un desplazamiento positivo desde esa dirección. En el indexado se considera que el campo de direcciones es una dirección de memoria. Direccionamiento autoincremental : En este método, la dirección del operando se encuentra en un registro y éste es incrementado después de acceder al operando, en el tamaño del mismo Direccionamiento autodecremental: En este modo para obtener la dirección del operando hay que decrementar un registro en el tamaño del operando; el nuevo contenido del registro después de efectuar esa operación es la dirección del operando
Casos de estudio Reales de CPU i-8086: Los registros del procesador, se usan para contener los datos con que se está trabajando puesto que el acceso a los registros es mucho más rápido que los accesos a memoria. Se pueden realizar operaciones aritméticas y lógicas, comparaciones, entre otras. Los modos del 8086 son indirectos por registro , indexados o directos por registro . Motorola 68000: El mismo direccionamiento lleva implícito el tipo de registro sobre el que trabaja ( direcciones o datos ). Esta basado en dos bancos de 8 registros de 32 bits. Un banco es de datos ( Dn ) y el otro de punteros ( An ). Además contiene un contador de programa de 32 bits y un registro de estado de 16 bits . 80386 Para este microprocesador existe un modo nuevo que requiere un byte adicional denominado SIB (escala, índice, base) que se añade al byte de operandos , es útil para direccionar elementos de vectores de longitudes diferentes en bucles. Es una alternativa a los modos autoindexados que esta máquina no soporta.
Preguntas 1-menciona los modos de direccionamiento implicito ,inmediato, directo por registros, absoluto , indirecto ,relativo, por base y desplazamiento, indexado, autoincremental , autodecremental 2-Explica el direcionamiento implicito se usa para hacer referencia a operadores de dos tipos . registros y operandos de pilas. 3-Explica el direccionamiento inmediato El campo del operando contiene el mismo, sin transformación alguna, la información sobre la que hay que operar . Este modo es útil para inicializar registros o palabras de memoria con un valor constante. 4- Explica el direccionamiento directo por registros El operando reside en uno de los registros del procesador que es seleccionado por un campo de registro de k bits en la instrucción. K bits=2^k registros 5- Explica el direccionamiento Absoluto El campo de direccionamiento no necesita transformación alguna para dar la dirección efectiva, es decir la función que transforma el campo de operando es la dirección efectiva es la identidad.
6-Explica el direccionamiento indirecto El modo de este direccionamiento puede adquirir diferentes formas según cual se elijan donde se encuentra la dirección del operando. 7- Explica el direccionamiento relativo La dirección de memoria central donde se encuentra el dato , se consigue sumando la dirección contenida en la propia instrucción con una magnitud fija contenida en un registro especial 8- Explica el Direccionamiento por base y desplazamiento La dirección que se toma como referencia de la zona de memoria en la que están localizados , los datos se deposita en un registro denominado registro base y el campo de operando indica la diferencia entre el registro base y la dirección del operando 9- Explica el direccionamiento indexado Un direccionamiento indexado consiste en un registro de dirección desplazado por el contenido del working register designado. Este desplazamiento es adherido a la dirección del registro para obtener la dirección del operando. 10- Explica la diferencia entre el direccionamiento autoincrementado y direccionamiento autodecrementado En el metodo autoincrementado la dirección del operando se encuentra en un registro y éste es incrementado después de acceder al operando y en el autodecrementado para obtener la direccion del operando hay que decrementar un registro.