Anda di halaman 1dari 26

MICROPROCESADORES

CLASE 2

Objetivos
Comprender los modelos de programacin
de los ncleos Intel y Freescale.
Comprender la funcin de los diferentes
bloques del modelos de programacin de los
ncleos Intel y Freescale.

Preguntas generadoras
Qu es un modelo de programacin?
Cmo se relaciona el modelo
programacin
con
el
conjunto
instrucciones de un procesador?

de
de

Cuales son las funciones de los distintos


bloques que constituyen el modelo de
programacin?

Modelo de programacin
Es la representacin de los componentes internos
del ncleo de un procesador y constituye la base de
todo el conjunto de instrucciones que soporta.
Tpicamente representa todos los registros que
estn relacionados con las instrucciones.
El modelo de programacin no representa todos
los bloques constitutivos del mismo sino solo los
pertinentes para la declaracin de la instrucciones.

Ncleo HC12 Freescale


Acumulador A y B
Acumulador doble D
Registro ndice X
Registro ndice Y
Puntero de la pila
Contador de programa
Registro de
condiciones

Acumuladores A y B
Son dos registros de 8 bits que pueden ser concatenados
en un solo registro de 16 bits, cuyo MSB es el registro A y
el LSB es el registro B.
Se usan como registros de propsito general para retener
operandos y resultados de operaciones.
Se pueden usar indistintamente con unas pocas
excepciones, lo que significa que existen instrucciones
equivalentes para ambos registros.
ABA, SBA, CBA Son operaciones de una sola direccin y
DAA es una operacin que no tiene equivalente en el
registro B.

Registros ndices X y Y
Registros de 16 bits cuya funcin principal es
para hacer uso del direccionamiento indexado,
sin embargo puede usarse como registros de
propsito general.
En el direccionamiento indexado el contenido
de estos registros es sumado a constantes de
5, 9 o 16 bits o bien al contenido de un
acumulador para calcular la direccin efectiva
donde se ubica el operando de una
instruccin.

Puntero de la pila
Es un registro de 16 bits que contiene la ultima
localidad usada de la regin de memoria
conocida como pila.
Cada vez que un nuevo dato se agrega a la pila
este contador se decrementa automticamente.
La pila es una regin de memoria voltil
reservada para retener el contenido de registros
del ncleo, cuando se hace una llamada a
subrutina o se da una interrupcin

Contador de programa
Es un registro de 16 bits que mantiene la
direccin de la prxima instruccin que
sera ejecutada.
Se incremente automticamente cada vez
que se ejecuta una funcin de bsqueda de
instrucciones.
La naturaleza de la instruccin es la que
determina la magnitud del incremento.

Registros de condiciones
Es un registro que contiene indicadores de
estado, mascaras y bits de control para
reflejar el estado de la operacin del ncleo.
Los indicadores de estado se activan
automticamente con la ejecucin de las
instrucciones. [(H), (N), (Z), (V), (C)]
Las mascaras son filtros para admitir o no
excepciones. [(X),(I)]
El bit de control es para detener el
procesador de forma intencional. (S)

Registros de condiciones
(H) Acarreo medio: Indica un acarreo de nibbles
en el bit 3, se usa tpicamente para ajuste de
operaciones decimales.
(N) Signo: Indica que el resultado de la operacin
es negativa, la cual se representa con el estado del
MSB del resultado, usado para aritmtica de
complemento a dos.
(Z) Cero: Indicador de que el ultimo resultado
fue cero.
(V) Desbordamiento: Indica que el resultado de
la ultima operacin se desbordo.
(C ) Acarreo: Indica acarreo de byte en el bit 7.

Registros de condiciones
(X) Mascara No manipulable: Esta mascara filtra
la aceptacin o no de una excepcin provocada
por la linea de entrada XIRQ, nicamente puede
manipularse su valor durante los primeros ciclos
del reset, luego de eso conserva su valor inicial,
tpicamente cero lgico que indica que se aceptan
las excepciones.

(I) Mascara manipulable: Esta mascara


constituye el filtro global de todas las
excepciones admitidas por el ncleo, lo
que significa que para que sea aceptada
cualquiera de ellas debe de ser puesta a
cero; a diferencia de la mascara X puede
manipularse en cualquier momento.

(S) Stop: Este bit de control permite o no la


ejecucin de la instruccin STOP, si esta
en uno la ignora por el contrario en cero la
permite; esta instruccin provoca que se
detenga el sistema de sincrona del uP, se
usa para poder en hibernacin el
procesador.

Ncleo Intel
Acumulador
Registro base
Registro
Registro data
contador
Puntero de la
pila
Puntero base
ndice de destino
ndice de origen
Puntero de instrucciones
Banderas

Ncleo Intel
Base del segmento de cdigo
Memoria de programas
Base del segmento de datos
Memoria de datos
Base del segmento extra
Memoria de datos extra
Base del segmento de pila
Memoria para la pila
Base para segmentos
Extendidos para ncleos
80386 y superiores

Acumulador
Registro multipropsito de 8, 16 o 32 bits,
para soportar distintas instrucciones.
La manipulacin en 8 y 16 bits no afecta
los bits restantes.

Registro Base
Registro de 8, 16 o 32 bits, usado para
alojar la direccin base (offset) de una
localidad de la memoria del sistema.
Puede usarse como registro multipropsito.

Registro contador
Registro de 8, 16 o 32 bits, usado como
contador para mltiples instrucciones,
aunque para algunos casos puede funcionar
como registro base para la memoria de data.

Registro Data
Registro de 8, 16 o 32 bits, usado para
alojar resultados de operaciones complejas
como multiplicacin y divisin.
Usado adems para direccionar memoria de
data

Puntero de la pila
Registro de 8, 16 o 32 bits, usado como
puntero de cualquier regin de la memoria de
pila.
La direccin efectiva se construye junto con
los registros segmentados.

Puntero Base
Registro de 8, 16 o 32 bits, usado como
puntero para cualquier localidad de memoria
para las transferencias de la memoria de data.

ndice de destino
Registro de 8, 16 o 32 bits, usado para el
direccionamiento indexado.
Tpicamente para construir la direccin
efectiva de destino en este tipo de
direccionamiento.

ndice de origen
Registro de 8, 16 o 32 bits, usado para el
direccionamiento indexado.
Tpicamente para construir la direccin
efectiva de origen en este tipo de
direccionamiento.

Puntero de instrucciones
Apunta la direccin de la prxima
instruccin a ejecutar. Para el proceso de
bsqueda, la direccin efectiva se construye
con el registro de segmento de cdigo.
Se incrementa automticamente de acuerdo
a la naturaleza de la instruccin previamente
ejecutada.

Banderas
Mantienen el estado del procesador as
como otros procesos de control para facilitar
la administracin de los programas.
El uso de cada bandera depende del modelo
del ncleo.

Banderas
(T) Trampa: Usado para tareas de depuracin, si esta
activa permite que el flujo del programa sea
interrumpido, para analizar el cdigo.
(S) Signo: Indica que el resultado de la operacin es
negativa, la cual se representa con el estado del MSB
del resultado, usado para aritmtica de complemento a
dos.
(Z) Cero: Indicador de que el ultimo resultado fue
cero.
(O) Desbordamiento: Indica que el resultado de la
ultima operacin se desbordo.

Banderas
(D) Direccin: Bit de control para ajustar
el incremento (D=0), o decremento (D=1)
de los registros ndices de destino y/o
origen.
(I) Mascara: Filtra la aceptacin o no de
una excepcin provocada por el pin INTR
si es cero se acepta si es uno se ignora. Al
no contar con un controlador de
interrupciones en el ncleo, se debe de
auxiliar de un chip externo para este
proposito.

Registros de segmento
CS: Declara la regin de la memoria reservada para
el cdigo, cuyo tamao es tpicamente de 64K o 4G.
DS: Declara la regin de la memoria reservada para
datos, cuyo tamao es tpicamente de 64K o 4G.
ES: Similar a DS, se usa tpicamente para
manipulacin de cadenas.
SS: Declara la regin de la memoria reservada para
la pila, cuyo tamao es tpicamente de 64K. El
puntero base puede manipular tambin esta regin de
memoria.

Lecturas complementarias
Seccin 2: del manual de referencia CPU12
Capitulo 2: The Intel Microprocessors
Family: Hardware and Software Principles
and Applications.
Capitulo 2: The Intel Microprocessors
Architecture, Programming and Interface

Anda mungkin juga menyukai