Está en la página 1de 19

1

AÑO DE LA UNIDAD, LA PAZ Y EL DESARROLLO

Universidad Nacional "San Luis Gonzaga"

FACULTAD: DE CIENCIAS

ESCUELA PROFESIONAL: MATEMÁTICA E


INFORMÁTICA
CURSO: Microprocesadores I
PROFESOR: MG. Landeo Alfaro Elmer Leónidas
INTEGRANTES: Luis Armando Meléndez Rojas
Mónica L. Luna Alarcón
Jetcy Karolina Huancahuari Guevara
Elizabeth Yauri César

Temas: Registros internos


Módulo de direccionamiento

ICA-2023

pág. 1
2

pág. 2
3

Registros de datos
El registro de datos es el proceso de recopilar y almacenar datos durante un período de
tiempo para analizar tendencias específicas o registrar los eventos / acciones basadas en
datos de un sistema, red o entorno de TI. Permite el seguimiento de todas las interacciones
a través de las cuales se almacenan, acceden o modifican datos, archivos o aplicaciones
en un dispositivo o aplicación de almacenamiento.

pág. 3
4

Registros de segmentos

Un registro de segmento se utiliza para alinear en un límite de párrafo o dicho de otra


forma codifica la dirección de inicio de cada segmento y su dirección en un registro de
segmento supone cuatro bits 0 a su derecha.
Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para
direccionamiento conocida como el segmento actual.
Registro CS.El segmento de código (CS) contiene las instrucciones de maquina que son
ejecutadas por lo común la primera instrucción ejecutable esta en el inicio del segmento, y
el sistema operativo enlaza a esa localidad para iniciar la ejecución del programa. Como
su nombre indica, el registro del CS direcciona el segmento de código. Si su área de código
requiere mas de 64K, su programa puede necesitar definir mas de un segmento de código.
El DOS almacena la dirección inicial del segmento de código de un programa en el registro
CS. Esta dirección de segmento, mas un valor de desplazamiento en el registro apuntador
de instrucción (IP), indica la dirección de una instrucción que es buscada para su
ejecución.
Registro DS.El segmento de datos (DS) contiene datos, constantes y áreas de trabajo
definidos por el programa. El registro DS direcciona el segmento de datos. Si su área de
datos requiere mas de 64K, su programa puede necesitar definir mas de un segmento de
datos.
Registro SS. En términos sencillos, la pila contiene los datos y direcciones que usted
necesita guardar temporalmente o para uso de sus "llamadas" subrutinas. El registro de
segmento de la pila (SS) direcciona el segmento de la pila.

pág. 4
5

El registro SS permite la colocación en memoria de una pila, para


almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS.
Esta dirección de segmento, más un valor de desplazamiento en el registro
del apuntador de pila (SP), indica la palabra actual en la pila que está
siendo direccionada.
Registros ES. Algunas operaciones con cadenas de caracteres (datos de
caracteres) utilizan el registro extra de segmento para manejar el
direccionamiento de memoria. En este contexto, el registro ES está
asociado con el registro DI (índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
Registros FS y GS. Son registros extra de segmento en los procesadores
80386 y posteriores.

pág. 5
6

Registro de indice

• Un registro de índice es un área de memoria generalmente integrada en la unidad


central de procesamiento (CPU) que se usa como un contador muy rápido para
recorrer las direcciones de memoria o para realizar un seguimiento de operaciones
como el bucle. Dependiendo del tipo de arquitectura del sistema, un registro de
índice puede ser un registro definido y dedicado entre otros registros de
procesador, o puede ser cualquier registro de propósito general. Más comúnmente,
un registro de índice contiene el desplazamiento actual de una ubicación de
memoria, con otro registro que contiene la dirección base, por lo que la
combinación de los dos registros crea una dirección de memoria completa.

• Los registros de índice en la CPU de una computadora son áreas de memoria


increíblemente de bajo nivel a las que generalmente solo un programador puede
acceder directamente mediante el uso de lenguaje ensamblador o un lenguaje de
programación similar de bajo nivel. En algunos de los tipos más comunes de
procesadores, se definen dos registros separados como registros de índice, a saber,
los registros de índice de origen (SI) y de índice de destino (DI). Otros procesadores
no tienen registros de índice ni operadores de soporte que los requieran, lo que
significa que se puede utilizar cualquier registro de propósito general del tamaño
apropiado.

Otro uso de un registro de índice puede ser el de contener información sobre bucles y otros
contadores. Algunas arquitecturas de sistemas prefieren usar el registro de índice para
contener el número de iteraciones que han ocurrido en un bucle, aunque otras veces se
puede usar cualquier registro. Además, algunas instrucciones de ensamblaje se basan
específicamente en los registros de índice de origen y destino para realizar ciertas
operaciones, como la lectura o escritura de la memoria de bloques, como se podría hacer
para enviar información a una pantalla.

pág. 6
7

pág. 7
8

Registro de estado

Se conoce como registro de estado a los registros de memoria en los que se deja
constancia de algunas condiciones que se dieron en la última operación realizada y que
podrán ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer
una resta, en el registro de estado queda constancia de si el resultado fue cero, positivo o
negativo, o si se sobrepasó la capacidad de representación.
Cada modelo de procesador tiene sus propios registros de estados, pero los más comunes
son:
• Z = Zero flag: El resultado es cero.
• S = Sign flag: El resultado es negativo.
• V = Overflow flag: El resultado supera el número de bits que puede manejar la ALU.
• P = Parity flag: Paridad del número de 1 en los datos.
• I = Interrupt flag: Se ha producido una interrupción.
• C = Carry flag: Acarreo de la operación realizada.

pág. 8
9

pág. 9
10

Módulo de direccionamiento

En informática, los modos de direccionamiento son las diferentes maneras de especificar


un operando dentro de una instrucción en lenguaje ensamblador.
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.
No existe una forma generalmente aceptada de nombrar a los distintos modos de
direccionamiento. En particular, los distintos autores y fabricantes de equipos pueden dar
nombres diferentes para el modo de hacer frente al mismo, o los mismos nombres, a los
diferentes modos de direccionamiento.
Además, un modo de direccionamiento que en una determinada arquitectura se trata como
un modo de direccionamiento, puede representar la funcionalidad que en otra arquitectura
está cubierto por dos o más modos de direccionamiento.

pág. 10
11

Direccionamiento De registro
El campo de dirección de una instrucción puede especificar una palabra de memoria o un
registro M procesador. Cuando se da este último caso se dice que el operando está
especificado con direccionamiento directo por registro, en tal caso, 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. Un campo de k bits puede especificar uno de 2k registros. Este modo es
típico de los ordenadores con organización de registros de uso general.
Sirve para especificar operandos que están en registros. En este modo, los operandos
están en registros que residen dentro de la CPU.
Las ventajas de este modo son:
- El acceso a los registros es muy rápido, por tanto, el direccionamiento por registro
debe usarse en las variables que se usen con más frecuencia para evitar accesos a
memoria que son más lentos, un ejemplo muy típico del uso de este direccionamiento son
los índices de los bucles.
- El número de bits necesarios para especificar un registro es mucho más pequeño
que el necesario para especificar una dirección de memoria, esto es debido a que el
número de registros del procesador es muy pequeño
comparado con el número de direcciones de memoria. Sin embargo, hay que tener en
cuenta que en los ordenadores modernos el número de registros ha aumentado
considerablemente.
Esquema de funcionamiento

pág. 11
12

Direccionamiento inmediato

En la instrucción está incluido directamente el operando.


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. La característica más importante de este modo en la
arquitectura Sparc es que no se añade información ninguna a la instrucción para codificar
la constante. La constante tiene reservado su espacio en la misma instrucción.

pág. 12
13

Esquema de funcionamiento:

Direccionamiento Directo o absoluto

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.
Si hace referencia a un registro de la máquina, el dato estará almacenado en este registro
y hablaremos de direccionamiento directo a registro; si hace referencia a una posición de
memoria, el dato estará almacenado en esta dirección de memoria (dirección efectiva) y
hablaremos de direccionamiento directo a memoria. Estos modos de direccionamiento
tienen una forma muy simple y no hay que hacer cálculos para obtener la dirección
efectiva donde está el dato. El tamaño del operando, en el caso del direccionamiento
directo a registro, dependerá del número de registros que tenga la máquina; en el
direccionamiento directo a memoria, dependerá del tamaño de la memoria.

pág. 13
14

Ejemplo: MOV A,17H

Direccionamiento Indirecto mediante registros


El campo de operando de la instrucción contiene un identificador de registro en el que se
encuentra la dirección efectiva del operando.
En este modo el campo de la dirección de la instrucción da la dirección en donde la
dirección efectiva se almacena en la memoria. El control localiza la instrucción de la
memoria y utiliza su parte de dirección para acceder a la memoria de nuevo para leer una
dirección efectiva. Unos pocos modos de direccionamiento requieren que el campo de
dirección de la instrucción sea sumado al control de un registro especificado en el
procesador. La dirección efectiva en este modo se obtiene del siguiente cálculo:

pág. 14
15

pág. 15
16

Direccionamiento Indirecto por registros base

En este modo, también llamado modo Registro Indirecto, la dirección efectiva del operando
está contenida en un Registro simple o par (según el procesador) de la CPU, la Instrucción;
con este modo de direccionamiento, está formada por una sola palabra (código de
operación), el cual indicará la operación a realizar y el registro que contiene la dirección
del operando. Se debe recordar que previamente se debe cargar el registro puntero con
una determinada dirección.
La ventaja del uso de este modo, como en general de todos los Indirectos o Diferidos, no es
precisamente hacer más rápido el acceso a operandos, sino que en el manejo de tablas de
datos con muchas entradas, generalmente la dirección absoluta del operando no es
conocida en el momento en que el programador
realiza el programa, sino que debe ser calculada durante su ejecución. Como no es práctico
modificar palabras de la Instrucción (imposible pues están en ROM), se usa algún lugar de
Memoria o Registro

pág. 16
17

Direccionamiento indexado
En este modo de direccionamiento, la dirección del operando también se calcula sumando
un registro de la CPU al campo de operando, este registro es un registro específico para
este uso llamado registro índice. En los ordenadores con organización de registros
generales, el registro índice puede ser cualquiera de los registros de la CPU. En los
ordenadores en que el contador de programa es considerado como un registro de uso
general (PDP-11 y VAX) el modo relativo es un caso particular del direccionamiento
indexado. A la cantidad que hay que sumar al registro índice para conseguir la dirección
del operando también se le llama desplazamiento u offset. Este modo de direccionamiento
es especialmente útil para el direccionamiento de vectores y matrices en bucles ya que, si
se quieren direccionar elementos consecutivos del vector o matriz, basta mantener en el
desplazamiento la dirección del primer elemento e ir incrementando el registro índice.
También sirve para acceder de forma relativa a elementos de vectores cercanos a uno
dado, para ello, se carga la dirección del elemento de referencia en el registro índice y
después se accede mediante direccionamiento indexado, con el desplazamiento adecuado,
al anterior, al siguiente, etc., esto mismo también es aplicable a pilas, en que, algunas
veces, hay que acceder a datos cercanos, por encima o por debajo, al dato señalado por
algún apuntador. Una consecuencia de todo esto es una modalidad de direccionamiento
indexado de que disponen algunos ordenadores, denominada auto indexación, que hace que
el registro índice sea incrementado o decrementado en el tamaño del operando antes o
después de acceder al mismo. Los ordenadores que poseen auto indexación incorporan los
modos de direccionamiento descritos en los dos apartados siguientes. En algunos
ordenadores existen variantes del direccionamiento indexado en que se obtiene la
dirección del operando sumando el contenido de varios registros con el desplazamiento,
esto puede servir para especificar el comienzo de un vector mediante un desplazamiento
respecto a un registro y el elemento del vector mediante un registro índice.

pág. 17
18

Direccionamiento indexado por una base

Se trata de una combinación de los dos anteriores y consiste en calcular la dirección


efectiva como: Relativo al contador de programa
Consiste en direccionar una posición de memoria usando como registro base al contador de
programa (PC), el funcionamiento es análogo al direccionamiento respecto a registro base
con la salvedad de que, en este caso, el offset puede ser también negativo.
Indexado con autoincremento/auto decremento
Es un modo de direccionamiento análogo al indexado, explicado anteriormente.
La única diferencia es que permite un incremento o decremento de la dirección final o el
registro índice según los siguientes casos:
indexado con autopreincremento: Incrementa el registro índice primero (se incrementa un
valor, según el tamaño del objeto direccionado) y luego calcula la EA al igual que el
direccionamiento indexado.
Indexado con autoposincremento: Calcula la dirección efectiva y después incrementa esta.
Indexado con autopredecremento: Decrementa el registro índice y después calcula la
dirección efectiva.
Indexado con autoposdecremento: Calcula la dirección efectiva y después decrementa
esta.

pág. 18
19

pág. 19

También podría gustarte