Documentos de Académico
Documentos de Profesional
Documentos de Cultura
14/07/2022
Registros y funciones mas importantes de una CPU
Concepto general
Los registros del procesador se emplean para controlar instrucciones en ejecución,
manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los
registros son espacios físicos dentro del microprocesador con capacidad de 4 bits
hasta 64 bits dependiendo del microprocesador que se emplee. Los registros son
direccionables por medio de una viñeta, que es una dirección de memoria. Los
bits, por conveniencia, se numeran de derecha a izquierda (15,14,13.... 3,2,1,0),
los registros están divididos en seis grupos los cuales tienen un fin especifico. Los
registros se dividen en:
+ Registros de segmento
+ Registros de apuntadores de instrucciones
+ Registros apuntadores
+ Registros de propósitos generales
+ Registro índice
+ Registro de bandera.
Registros de segmento:
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 o a su derecha.
Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria
para direccionamientos conocidos como el segmento actual. Los registros de
segmento son:
+ Registro CS
+ Registro DS
+ Registro SS
+ Registro ES
+ Registro FS y GS
Registro CS.
Registros apuntadores.
Los registros apuntadores están asociados con el registro SS y permiten al
procesador acezar datos en el segmento de pila los registros apuntadores son
dos:
+ El registro SP
+ El registro BP
Registro SP.
El apuntador de pila 1P de 16 bits esta asociado con el registro SS y proporciona
un valor de desplazamiento que se refiere a la palabra actual que esta siendo
procesada en la pila.
El ejemplo siguiente el registro SS contiene la dirección de segmento 27B3[0]H y
el SP el desplazamiento 312H Para encontrar la palabra actual que esta siendo
procesada en la pila el microprocesador combina las direcciones en el SS y el PP:
Dirección de segmento en el registro SS: 27830H
Desplazamiento en el registro SP: + 312H
Dirección en la Pila: 27E42H
Registro BP.
El registro BP de 16 bits facilita la referencia de parámetros, los cuales son datos y
direcciones transmitidos vía lapida.
Registros de propósitos generales.
Los registros de propósitos generales AX, BX, CX y DX son los caballos de batalla
o las herramientas del sistema. Son los ú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), y
usted puede referirse a cualquier parte por si nombre. Las instrucciones siguientes
mueven ceros a los registros CX, CH y CL respectivamente.
Mov CX, 00
Mov CH, 00
MovCL, 00
Los procesadores 80386 y posteriores permiten el uso de todos registros de
propósito general, más versiones de 32 bits; EAX, EBX y EDCX.
Registros AX.
El registro AX, el acumulador principal, es utilizado para operaciones que implican
entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones
para multiplicar, dividir y traducir suponen el uso del AX. También, algunas
operaciones generan códigos más eficientes si se refiere al AX en lugar de los
otros registros.
Registro BX.
El BX es conocido como el registro base ya que es el único registro de propósitos
generales que pueden ser unos índices para direccionamiento indexado. También
es común emplear al BX para cálculos.
Registro CX.
El CX es conocido como el registro contador. Puede contener un valor para
controlar el número de veces que un ciclo se repite o un valor para corrimiento de
bits, hacia la derecha o hacia la izquierda. El CX también es usado para muchos
cálculos.
Registro DX.
El DX es conocido como el registro de datos. Algunas operaciones de
entrada/salida requieren su uso, y las operaciones de multiplicación y división con
cifras grandes suponen al DX y al AX trabajando juntos. Puede usar los registros
de propósitos para suma y resta de cifras de 8, 16, 32 bits.
Registro índice.
Los registros SI y DI están disponibles para direccionamientos indexados y para
sumas y restas. Que son las operaciones de punta.
Registro SL.
El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de
caracteres). En este contexto, el SI está asociado con el registro DS. Los
procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32
bits, el ESI.
Registro DL
El registro índice destino también es requerido por algunas operaciones con
cadenas de caracteres. En este contexto, el Di está asociado con el registro ES.
Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a
32 bits, el EDL.
Registro de bandera.
Los registros de banderas sirven parar indicar el estado actual de la maquina y el
resultado del procesamiento, Cuando algunas instrucciones piden comparaciones
o cálculos aritméticos cambian el estado de las banderas.
Bandera
Las banderas más comunes son las siguientes:
OF (Overflowflag, desbordamiento).
Indica el desbordamiento de un bit de orden alto (más a la izquierda) después de
una operación aritmética.
DF (Directionflag, Direccion).
Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar
cadenas de caracteres.
IF (Interruptionflag, Interrupcion).
Indica que una interrupción externa, como la entrada desde el teclado sea
procesada o ignorada.
TF (Trapflag, Trampa).
Examina el efecto de una instrucción sobre los registros y la memoria.
Los programas depuradores como DEBUG, activan esta bandera de manera que
pueda avanzar en la ejecución de una sola interrupción a un tiempo.
SF (Signflag, Signo).
Contiene el signo resultante de una operación aritmética (o=positivo y 1=
negativo).
ZE (Zero flag, Zero).
Indica el resultado de una operación aritmética o de comparación (0= resultado
diferente de cero y 1=resultado igual a cero).
AF (Auxiliarycarryflag, Acarreo auxiliar).
Contiene un acarreo externo del bit 3 en un dato de 8 bits, para aritmética
especializada
PF (Parityflag, Paridad).
Indica paridad par o impar de una operación en datos de ocho bits de bajo orden
(mas a la derecha).
CF (Carryflag, Acarreo).
Contiene el acarreo de orden mas alto (mas a la izquierda) después de una
operación aritmética; también lleva el contenido del ultimo bit en una operación de
corrimiento o rotación.
Estructura y organización de un procesador
Direccionamiento implícito
Depende solamente de la instrucción, es decir, la instrucción no lleva parámetros.
Particularmente en instrucciones que no accesan memoria, o bien que tienen una
forma específica de accesarla.
Ejemplos: PUSHF, POPF, NOP
Modo registro
Usa solamente registros como operandos
Es el más rápido, pues minimiza los recursos necesarios (toda la información fluye
dentro del EU del CPU)
Ejemplo: MOV AX, BX
Modo inmediato
Tiene dos operandos: un registro y una constante que se usa por su valor.
El valor constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer
el “fetch” de la instrucción.
Ejemplo: MOV AH, 9
Modo directo
Uno de los operandos involucra una localidad específica de memoria
El valor constante se tiene que buscar en memoria, en la localidad especificada.
Es más lento que los anteriores, pero es el más rápido para ir a memoria, pues ya
“sabe” la localidad, la toma de la instrucción y no la tiene que calcular.
Ejemplo: MOV AH, [0000]
Modo indirecto
Se usan los registros SI, DI como apuntadores
El operando indica una localidad de memoria, cuya dirección (sólo la parte
desplazamiento) está en SI o DI.
Es más lento que los anteriores, pues tiene que “calcular” la localidad
Ejemplos: MOV AL, [SI]
Absoluto
El campo de operando contiene una dirección en memoria, en la que se encuentra
la instrucción. Y no se cancela.
Indirecto recursivo
Unos pocos sistemas como el PDP-6 o el PDP-10 tenían la posibilidad de
direccionamiento indirecto recursivo. Tal dirección de memoria indirecta tenía un
campo de registro para indexación y posiblemente un otro bit indirecto, de modo
que el proceso de direccionamiento indirecto con indexación podría teóricamente
repetirse cualquier número de veces hasta que se encontrara una dirección sin un
bit indirecto en la cadena.
De desplazamiento
Combina el modo directo e indirecto mediante registros.
De pila
Se utiliza cuando el operando está en memoria y en la cabecera de la pila.
Este direccionamiento se basa en las estructuras denominadas Pila (tipo LIFO),
las cuales están marcados por el fondo de la pila y el puntero de pila (*SP). El
puntero de pila apunta a la última posición ocupada. Así, como puntero de
direccionamiento usaremos el SP.
El desplazamiento más el valor del SP nos dará la dirección del objeto al que
queramos hacer referencia. En ocasiones, si no existe C. de desplazamiento solo
se trabajará con la cima de la pila.
Referencias
https://es.slideshare.net/cirenio/definicin-de-registro-de-procesador
https://es.slideshare.net/KILLERMSTR/prez-camacho-jess-asmeth
https://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/material/teo/arq-teo06.pdf
https://sites.google.com/site/lgiao2018/unidad-1/1-6-modos-de-direccionamiento