Sie sind auf Seite 1von 13

1.

2 El procesador y sus registros


internos
Equipo #1
Hctor Garca Montalvo
Beatriz Lpez Salazar
Sahid Campos Godoy
Freddy organista Ponce
Gustavo salgado Martnez

El procesador y sus registros internos

Una de las primeras decisiones a la hora de


disear un procesador es decidir cual ser su
juego de instrucciones. Este conjunto de
instrucciones (rdenes) es el lenguaje que
realmente entiende el procesador, y constituye
lo que se conoce como lenguaje ensamblador o
tambin lenguaje-mquina

La decisin es trascendente, por dos razones. Primero: el juego de


instrucciones decide el diseo fsico del conjunto. Segundo: cualquier
operacin que deba ejecutarse con el procesador deber poder ser descrita
en trminos de este "lenguaje" elemental.
Uno de los mdulos principales que utiliza el lenguaje ensamblador para
manejar el procesador son los registros. Los registros se emplean para
controlar instrucciones en ejecucin, manejar direccionamiento de memoria y
proporcionar capacidad aritmtica. Estos cumplen la funcin de
almacenamiento de los datos aunque de una manera ms rpida que si se
usase la memoria RAM.
Los registros se pueden dividir en varias clases. Dependiendo de la
arquitectura del procesador podremos tener un nmero distinto de ellos. En
los micros ms simples, existan de forma bsica dos tipos de registros, unos
de propsito general, donde se llevaban a cabo todas las operaciones y otros
que se encargan de trabajar con las direcciones de memoria. Otra diferencia
fundamental entre los tipos de registros es el tipo de nmeros con los que
son capaces de trabajar

Los registros internos del procesador se puede clasificar en 4 tipos


diferentes:

Registros de segmento
Registro de apuntadores
Registros de propsito general
Registro de banderas

Registro de segmento
Se dispone de cuatro registros que sirven para contener las
direcciones de otros tantos segmentos (zonas de 64 KB de
memoria). Utilizndolos en conjuncin con otros registros que
sealan las direcciones concretas dentro de estos segmentos
(los desplazamientos), permiten manejar la totalidad de la
memoria direccionable (el bus de direcciones es de 20 bits).
Se subdivide en:

Registro CS (Code Segment):El DOS almacena la direccin inicial del segmento de cdigo

de un programa en el registro CS. Esta direccin de segmento, mas un valor de desplazamiento


en el registro apuntador de instruccin (IP), indica la direccin de una instruccin que es
buscada para su ejecucin.
Registro DS (Data Segment):La direccin inicial de un segmento de datos de programa es

almacenada en el registro DS. En trminos sencillos, esta direccin, mas un valor de


desplazamiento en una instruccin, genera una referencia a la localidad de un byte especifico
en el segmento de datos.
Registro SS (Stack segment):El registro SS permite la colocacin en memoria de una pila,

para almacenamiento temporal de direcciones y datos. El DOS almacena la direccin de inicio


del segmento de pila de un programa en le registro SS. Esta direccin de segmento, mas un
valor de desplazamiento en el registro del apuntador de pila (SP), indica la palabra actual en la
pila que esta siendo direccionada.
Registros ES (Extra Segment):Alguna 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 esta asociado con el registro DI (ndice). Un programa
que requiere el uso del registro ES puede inicializarlo con una direccin de segmento apropiada.
Registros FS y GS:Son registros extra de segmento en los procesadores 80386 y posteriores.

Registro de apuntador
Son 5 registros destinados a contener direcciones;
estas direcciones son desplazamientos dentro de los
segmentos indicados por los registros de segmento.
Se compone por:

Puntero de instruccin IP (Instruccin pointer) y contador de programa PC (Program


counter): Indica el desplazamiento (dentro del segmento de cdigo CS) de la prxima instruccin a
ejecutar.

Puntero de pila SP (Stack Pointer): Seala el desplazamiento del final de la pila dentro del segmento
de pila SS. En caso necesario la pila puede crecer a partir de este punto, de forma que por ejemplo, una
nueva invocacin de funcin crear un nuevo registro de activacin que comenzar en este punto. por lo
general, el programador no debe alterar su contenido.

Puntero base BP ("Base pointer"): Seala el desplazamiento (dentro del segmento de pilaSS) donde
se encuentra el origen de la zona ocupada por las variables dinmicas. El programador puede usarlo para
su provecho.

Existen dos registros denominados "de ndice", en razn de su utilizacin muy particular; elndice fuente
SI (Source index) y el ndice destino DI (Destination index): Generalmente estos dos registros se
utilizan con alguno de los registros de uso general y con ciertas instrucciones especficamente pensadas
para transferir datos (dentro de un rango de posiciones de memoria), desde un punto inicial de un
segmento de datos, a otro.

Registro de propsito general


Existen 4 registros denominados AX, BX, CX y DX que en
realidad tienen asignados usos caractersticos, aunque
pueden ser utilizados a discrecin para cualquier cosa que
necesitemos. Los registros de propsito general AX, BX, CX
y DX son los caballos de batalla del sistema. Son nicos en
el sentido de que se puede direccionarlos como una palabra
o como una parte de un byte. El ultimo byte de la izquierda
es la parte "alta", y el ultimo byte de la derecha es la parte
"baja". Por ejemplo, el registro CX consta de una parte CH
(alta) y una parte Cl (baja).
Se componen en:

Registro AX (Acumulador). El registro AX, el acumulador principal, es utilizado para operaciones que
implican entrada/salida y la mayor parte de la aritmtica. Por ejemplo, las instrucciones para
multiplicar, dividir y traducir suponen el uso del AX. Tambin, algunas operaciones generan cdigo
mas eficiente si se refieren al AX en lugar de a los otros registros.

Registro BX (Base): El BX es conocido como el registro base ya que es el nico registro de propsito
general que puede ser ndice para direccionamiento indexado. Tambin es comn emplear el BX para
clculos.

Registro CX (Contador): Las instrucciones de bucle (LOOP) utilizan este registro como contador.

Registro DX (Datos): El DX es conocido como el registro de datos. Alguna operaciones de


entrada/salida requieren uso, y las operaciones de multiplicacin y divisin con cifras grandes
suponen al DX y al AX trabajando juntos.

Registro de banderas
Registros de banderas
De los 16 bits del registro de banderas, nueve son comunes a
toda la familia de procesadores 8086, y sirven para indicar el
estado actual de la maquina y el resultado del procesamiento.
Muchas instrucciones que piden comparaciones y aritmtica
cambian el estado de las banderas, algunas cuyas
instrucciones pueden realizar pruebas para determinar la
accin subsecuente. En resumen, los bits de las banderas
comunes son como sigue:

Registros de banderas
OF (Overflow, desbordamiento):Indica desbordamiento de un bit de orden alto (mas a la izquierda) despus de una operacin aritmtica.
DF (direccin):Designa la direccin hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres.
IF (interrupcin):Indica que una interrupcin externa, como la entrada desde el teclado, sea procesada o ignorada.
TF (trampa):Permite la operacin del procesador en modo de un paso. Los programas depuradores, como el DEBUG, activan esta bandera
de manera que usted pueda avanzar en la ejecucin de una sola instruccin a un tiempo, para examinar el efecto de esa instruccin sobre
los registros de memoria.
SF (signo):Contiene el signo resultante de una operacin aritmtica (0 = positivo y 1 = negativo).
ZF (cero):Indica el resultado de una operacin aritmtica o de comparacin (0 = resultado diferente de cero y 1 = resultado igual a cero).
AF (acarreo auxiliar):Contiene un acarreo externo del bit 3 en un dato de 8 bits para aritmtica especializada.
PF (paridad):Indica paridad par o impar de una operacin en datos de 8 bits de bajo orden (mas a la derecha).
CF (acarreo):Contiene el acarreo de orden mas alto (mas a la izquierda) despus de una operacin aritmtica; tambin lleva el contenido
del ultimo bit en una operacin de corrimiento o de rotacin.

Bibliografa:
http://www.oocities.org/mx/antrahxg/documentos/org_comp/registro.html
http://computadoras.about.com/od/conoce-procesadores/a/Como-

Funcionan-Los-Registros-Del-Procesador.htm
http://www.zator.com/Hardware/H3_2.htm
http://ocw.usal.es/eduCommons/ensenanzas-tecnicas/informaticaingeniero-tecnico-en-obras-publicas/contenidos/course_files/Temas/Tema
%202%20-%20El%20Procesador.PDF
El Gran libro del PC interno: programacin de sistemas hardware a fondo
Lus Durn Rodrguez
Programacin Avanzada en Lenguaje Ensamblador Ramon Medina

Das könnte Ihnen auch gefallen