Está en la página 1de 21

MODELO DE

PROGRAMACIÓN
INTEGRANTES:
MORENO CORTÉS ALAN PAUL
GUZMÁN SUÁREZ XIMENA YESENIA
GRUPO: “B”
¿QUÉ ES UN MICROPROCESADOR?

Es un chip que contiene todas las funciones


principales de una unidad central de procesamiento,
como la unidad de control, la unidad lógica
aritmética y los registros.

2
TIPOS DE
MICROPROCESADORES
Se pueden clasificar por su arquitectura, tamaño de bus
de datos:
Por bus de datos:
El tamaño del bus de datos puede ser de 4, 8, 16,
32 o 64 bits.
Por su arquitectura (CISC Y RISC):
• Los procesadores CISC tienen un gran número de
instrucciones y modos de direccionamiento, y
tienen instrucciones especiales para realizar
funciones complejas, pero el número de registros
del CPU es limitado.
• Los procesadores RISC (Reduced Instruction Set
Computers) tienen pocas instrucciones y modos
de direccionamiento, pero están diseñados para
ser altamente eficientes y permiten que todas las
instrucciones trabajen con todos los modos de
direccionamiento.
3
• Los procesadores ASIC (Aplication
Specific Integrated Circuit) están
diseñados para tareas específicas y
cada uno incorpora en un solo
ensamble una memoria RAM,
memoria ROM y otros módulos que le
permiten trabajar de manera casi
independiente.
• Los Procesadores Digitales de Señales
(DSP, por sus siglas en inglés) son
usados para la codificación y
decodificación de audio y video, y son
capaces de convertir un video
analógico al formato digital y
viceversa.

4
ARQUITECTURA DEL MICROPROCESADOR

Este microprocesador está


dividido en dos sub- Por otro lado está la “Unidad de
procesadores. Por un lado está la Interfaz de bus” (BIU) encargada de
“Unidad de Ejecución” (EU) la búsqueda de las instrucciones,
encargada de ejecutar las ubicarlas en la cola de instrucciones
instrucciones, la cual posee una antes de su ejecución y facilitar el
ALU (unidad aritmético-lógica) direccionamiento de la memoria, es
con un registro de estado con decir, encargada de acceder a datos
varios flags asociados y un e instrucciones del mundo exterior.
conjunto de registros de trabajo.

5
REGISTROS DE PUNTERO

IP

IP como registro puntero de


instrucciones conocido
SP como registro de pila. El registro
principalmente como contador
BP actúa como base de la dirección
de programa. Este contiene un
de la pila.
valor de 16 bits que es un
desplazamiento sobre la
dirección del registro CS
(segmento de código) que más SP
adelante detallaremos.

6
SEGMENTACIÓN
El 8086 usa un esquema llamado segmentación, para acceder correctamente a un
megabyte completo de memoria, con referencias de direcciones de sólo 16 bits.
El grupo de registros de segmento está formado por los registros CS, SS, DS y ES.

➢ CS (segmento de código).
➢ DS (segmento de datos).
➢ SS (segmento de pila).
➢ ES (segmento extra).

La importancia de dichos registros queda reflejada en la estructura de la memoria con


la técnica de segmentación, que principalmente radica en el que el espacio total de
memoria se divide en trozos de 64K bytes, que reciben el nombre de “segmentos”.

7
MODELO DE MEMORIA

TINY SMALL MEDIUM COMPACT


En este modelo de Los punteros a código y El código del programa El código del programa
memoria, tanto el a datos son tipo NEAR, puede ser mayor de 64K, debe caber en un solo
segmento de 64K, pero
código como los datos pero el segmento de pero los datos deben los datos del programa
deben caber en un único código y el de datos son caber en un solo pueden ocupar más de
segmento de 64K como distintos. segmento un segmento de 64K
máximo.

8
MODELO DE MEMORIA

LARGE HUGE
Tanto el código como los Al igual que en el
datos pueden ser modelo large, tanto el
mayores de 64K, ya que código como los datos
para ambos se usan son tipo FAR, pero como
punteros FAR. se usan punteros
normalizados.

9
MODOS DE DIRECCIONAMIENTO DE DATOS

El operando fuente es una constante


MODO DE REGISTRO de 8 o 16 Bits que se encuentra
inmediatamente después del código
de operación y formando parte de la
El o los operandos están
instrucción. Las instrucciones son
contenidos en uno o dos
rápidas ya que se hace a partir de
registros. La ejecución de la
los códigos almacenados en la cola
instrucción es muy rápida. El
de instrucciones.
tamaño del dato se indica por el
tamaño del registro.
MODO INMEDIATO

10
MODOS DE DIRECCIONAMIENTO DE LA MEMORIA DE
PROGRAMA

POR DIRECCIONAMIENTO
RELATIVO

Al contenido del IP se suma, de


forma inmediata, un
desplazamiento de 8 a 16 bits,
Se carga, en el IP, una nueva
con signo, proporcionado por la
dirección presente en la instrucción.
misma instrucción.
POR DIRECCIONAMIENTO
DIRECTO

11
MODOS DE DIRECCIONAMIENTO DE LA MEMORIA DE
PROGRAMA

POR DIRECCIONAMIENTO
INDIRECTO

El dato, obtenido por cualquiera


de las formas de direccionado
de la memoria de datos, es
interpretado por las
.
instrucciones de salto, como la
dirección a la que se debe saltar.

12
MODOS DE DIRECCIONAMIENTO A PUERTOS
Se utiliza para acceder localidades del espacio de direccionamiento a puertos. Es
utilizado únicamente por las instrucciones IN y OUT. Existen dos formas:

Inmediato: La dirección accesada se encuentra en el último byte del código


de instrucción. Solo se pueden acceder con esta forma las primeras 256
localidades de puerto.

Indirecto: La dirección de 16 bits de encuentra en el registro DX. Permite


acceder a todas las localidades de puertos.

13
MODOS DE DIRECCIONAMIENTO A CÓDIGO
Estos modos de direccionamiento son usados en todas las instrucciones de brinco y
llamadas a subrutinas. Existen tres Formas distintas:

Inmediato absoluto. La dirección puede ser cercana (16 bits) o lejana (32 Bits). La
cercana se almacena directamente en IP, en el caso de la lejana, los 16 bits menos
significativos se cargan en IP y los más significativos en CS.

Inmediato Relativo. En el código de instrucción se incluye una constante de 8 bits con


signo. Esta constante es el desplazamiento relativo a la dirección apuntada por IP. La
dirección a la que se va a brincar se calcula por IP=IP+Cte.

Indirecto. La dirección se guarda en un registro de 16 bits o localidad de memoria de 16


o 32 bits. Cuando la dirección se encuentra en memoria, se utiliza un modo de
direccionamiento a datos para indicar donde esta almacenada.

14
INSTRUCCIONES DE TRANSFERENCIA Y MANIPULACIÓN DE DATOS

MOV: Restricciones:
Realiza la No se pueden hacer
transferencia del transferencias de
operando fuente al memoria a memoria,
operando destino. La tampoco de memoria
fuente nunca se a un registro de
modifica segmento.

XCHG: CBW:
Esta instrucción La instrucción
intercambia el CBW extiende el
contenido de los signo del byte del
operandos fuente y registro AL a cada
destino, no se puede uno de los bits del
ejecutar en registros registro AH.
de segmento ni con
datos de memoria a
memoria. 15
INSTRUCCIONES DE TRANSFERENCIA Y MANIPULACIÓN DE DATOS

LAHF: XLAT:
La instrucción LAHF La instrucción XLAT
transfiere los indicadores reemplaza el
SF, ZF, AF, PF y CF del contenido del
registro de estado a las registro AL por un
posiciones 7,6,4,2 y 0 byte almacenado en
respectivamente del una tabla.
registro AH.
SAHF:
La instrucción SAHF transfiere
el registro AH hacia los bits
correspondientes de la parte
baja del registro de estado, o
sea, a los indicadores SF, ZF,
AF, PF y CF. SHAF solo
modifica al registro de
banderas y no requiere
operandos. 16
INSTRUCCIONES DE TRANSFERENCIA Y MANIPULACIÓN DE DATOS

LDS: LES:

La instrucción LDS sirve La instrucción LES es


para cargar un idéntica a la instrucción
apuntador lejano LDS, con la excepción de
almacenado en que en vez de
memoria, en una almacenar el segmento
variable de 32 bits. del puntero en DS lo
hace en ES.

LEA:
La instrucción LEA carga
cualquier registro de 16 bits,
indicado en la instrucción, con
el desplazamiento de la
dirección efectiva de un modo
de direccionamiento a
memoria.
17
MANIPULACIÓN DE BITS DE
BANDERA

18
INSTRUCCIONES ARITMÉTICAS

19
INSTRUCCIONES DE BIFURCACIÓN

20
GRACIAS

También podría gustarte