2. 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
3.
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.
4. 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.
5. 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.
6. 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.
7. 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.
8. 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).
10. 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
11. 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.
12. 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
13. 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 dir
ecció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
14. 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.
15. 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.
16.
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.