Professional Documents
Culture Documents
- 1 de 7
CPU
(procesador)
RAM
Dispositivos
Dispositivos
ALU
UC
UNIDAD DE E/S
S
Registros
Coprocesador
PROCESADOR O CPU
- Componentes principales: registros, ALU y lgica de control.
a) Contiene REGISTROS en los que se pueden almacenar datos (usados por la ALU) o direcciones de memoria.
Algunos de los ms importantes son:
Acumulador (RA): Usado para operar con otro registro o bien con el contenido de una posicin de memoria
y almacenar en l el resultado.
Asociado a ste y a la ALU, existe un conjunto de circuitos biestables (0,1) que informan del estado de la
ltima operacin realizada en la ALU.
Ej.- Acarreo, Indicador de signo, Indicador de cero, Indicador de paridad, Indicador de desbordamiento,
etc.
Juntos forman lo que se llama Palabra de Estado (SW)
Registros de Direccin de Memoria (DM) y Registro de Memoria (RM). El procesador se comunica con la
memoria mediante el Bus de direcciones y el Bus de datos.
Bus de datos: dato a escribir o leer en/desde la memoria
Bus de direcciones: direccin del dato a escribir/leer en la memoria.
Adems dispone de una Seal de control (R/W) que indica si se va a leer o a escribir.
Los datos que viajan por estos dos buses se almacenan temporalmente en los correspondientes registros
DM y RM.
Muy relacionado con ste est el Contador de Programa (CP), que guarda la direccin de memoria RAM de
la instruccin que se est ejecutando. ste es un contador binario ascendente.
b) ALU: Est formada por circuitos electrnicos que realizan operaciones aritmticas y lgicas. Como hemos dicho, para
operar guarda los datos y sus resultados en los registros necesarios.
c) LGICA DE CONTROL: Son los circuitos que generan las seales de control que la UC manda a todos los dispositivos.
El reloj marca el ritmo con el que se realizan todas las operaciones, (a cada pulso una seal, una operacin, etc.),
todo sincronizado a ms frecuencia, mayor rapidez. La frecuencia de reloj se mide en MHz o ciclos de reloj por segundo.
Un ciclo es el tiempo que necesita la UC para ejecutar una instruccin, no obstante para incrementar la velocidad se puede
hacer que no todas las instrucciones duren lo mismo (ej.- direccionamiento directo, menos tiempo que indirecto robo
de ciclo). El circuito bsico del reloj suele ser un circuito secuencial llamado temporizador (contador binario ascendente).
Hay dos metodologas para disear la lgica de control:
a) lgica cableada: utilizando puertas lgicas que implementen sistemas combinacionales y secuenciales.
b) Microprogramacin: almacenar en una memoria de slo lectura las micrordenes que hay que seguir para
ejecutar cada instruccin de la CPU. Microprograma FIRMWARE.
1
MD.- Por ejemplo: Inmediato (en la propia instruccin se encuentra el dato efectivo), Directo (en la instruccin se
encuentra la direccin de RAM a la que hay que ir a buscar el dato) e Indirecto (en la instruccin se encuentra la
direccin de RAM en la que se indica a qu otra direccin de RAM hay que ir a buscar el dato).
PROCESADOR (CPU)
Instrucciones
RA
E
RI
RM
CP
DM
Datos
S
Direcciones
Registros
.
.
.
MEMORIA
sw
Lgica De
Control
De Memoria
R/W
RAM
ALU
reloj
El conjunto de instrucciones de que dispone el procesador, es una lista de todas las operaciones que puede realizar.
Los procesadores de distintas empresas (intel, Motorota, etc) tienen distintos juegos de instrucciones, incluso
procesadores de una misma marca pueden tener distinto conjunto de instrucciones, no obstante se intenta agrupar los
procesadores por familias con conjuntos de instrucciones semejantes, de forma que cada vez que se desarrolla uno
nuevo de una familia, contiene las instrucciones anteriores y otras ms, esto permite que el software desarrollado para
un procesador pueda correr en procesadores nuevos de la misma familia. Esta estrategia se conoce como ESCALABILIDAD.
EJECUCIN DE UN PROGRAMA
-
Segn esto, en la ejecucin de una instruccin hay dos fases: captacin y ejecucin.
CAPTACIN:
DM CP
RM M(DM)
RI RM
CP CP+1
EJECUCIN
Ejecutar las operaciones indicadas en el CodOp de RI.
Por tanto, para ejecutar una instruccin hay que hacer varias microinstrucciones (microoperaciones)
Ejemplo de procesamiento n 1
Suponemos la calculadora de Windows para efectuar 4x46=184. Se supone que 4, 46 y x ya estn en
memoria (la UC los mand). Al pulsar Intro, el programa de la calculadora manda a la CPU una instruccin de
multiplicar:
1.- Carga la instruccin desde memoria hasta RI
2.- Busca microcdigo asociado.
3.- Ejecuta microcdigo.
Microcdigo:
1.
2.
3.
4.
Pasos:
R4 4 (1 instruccin microcdigo)
R5 46 (2 instruccin microcdigo)
Pasa control a la ALU (3 instruccin microcdigo)
ALGORITMO DE MULTIPLICACIN EN BINARIO: Rotar bits un lugar a la izquierda en cada multiplicacin por 2. Por 4,
dos veces.
As: 46)2=00101110)2 x 4)10= 10111000)2
A(R0)
.
.
54C2
.
.
R7
.
.
274A
.
Rn
RAM
RM
0032)16
3BC7
54C2)16
357A
3BC7 / 357A
DM
0032 / 54C2
CP
0032/0033
RI
3BC7
FASE
CAPTACIN
EJECUCIN
MICRO-OPERACIN
CP
RI
RM
DM
----
0032
---
274A
---
---
DM CP
0032
---
274A
---
0032
RM M(DM)
0032
---
274A
3BC7
0032
RI RM
0032
3BC7
274A
3BC7
0032
CP CP+1
0033
3BC7
274A
3BC7
0032
CM R7
0033
3BC7
274A
3BC7
54C2
Captacin ss.
RM M(DM)
0033
3BC7
274A
357A
54C2
A A+RM
0033
3BC7
274A + 357A
357A
54C2
()
Ejercicio:
Suponemos un ordenador con palabras de 16 bits.
En la posicin de memoria 0010)16 se encuentra la instruccin C532)16 que carga en R5 el contenido de la
posicin de memoria F212)16.
En la posicin F212)16 se encuentra la instruccin 0005)16
En la posicin siguiente (0011)16), se encuentra la instruccin C032)16 que carga en el acumulador el
contenido de F213)16. En la F213 se encuentra 0002)16.
En la posicin siguiente, se encuentra A2B7)16 que suma el contenido del acumulador con R5 y deja el
resultado en A.
Hacer el seguimiento de microoperaciones.
INTERRUPCIONES
Una interrupcin es una parada de la ejecucin del programa en curso antes de su finalizacin, para ejecutar otro
programa que es el procedimiento de gestin de la interrupcin. Cuando ste finaliza, se contina con la ejecucin del
primer programa.
Algunas causas:
a) Fallo de alimentacin. Si el ordenador dispone de dispositivos auxiliares que detecten una inminente cada de
tensin, se puede lanzar una interrupcin que salve informacin.
b) Anomala hardware. En este caso, hay una interrupcin que lanza un mensaje indicando del fallo.
c) Peticin de E/S de un perifrico. Por ejemplo, el teclado.- Buffer Intro Peticin interrupcin atencin
de la interrupcin.
d) Desbordamiento (en un clculo matemtico, por ejemplo)
e) Gestin de tiempo compartido: multitarea. Se usa el reloj de tiempo real para asignar tiempos a cada uno de
los programas que se estn ejecutando.
f) Violacin de la proteccin de memoria. Un programa invade la zona de memoria de otro.
g) Peticiones del usuario, como por ejemplo, ctrl.+Alt+Supr o ctrl.+C.
El proceso que se sigue para gestionar una interrupcin es (suponiendo que despus se contina en el programa
interrumpido):
1. Peticin de interrupcin: Se hace por medio de una seal elctrica que se enva al procesador (W
seal de estado). Normalmente, antes de atender la interrupcin se termina de ejecutar la
instruccin en curso. Suele haber varias lneas de interrupcin, puede establecerse en caso de
necesidad, cual es la prioritaria. Adems, pueden enmascararse (inhibirse), si el proceso en curso es
muy importante.
2. Tratamiento o atencin de la interrupcin: Comienza con el servicio de inicio de al interrupcin, en el
que se analiza la causa de la interrupcin y se decide si hay que enmascarar otras. Se salva el contenido
de los registros y sw en la memoria principal3 y se pasa el control al procedimiento preferente.
3. Se ejecuta el procedimiento preferente.
4. Se ejecuta el procedimiento de fin de la interrupcin, que normalmente restaura los registros del
procesador sacndolos de la pila y habilita, en su caso, las interrupciones enmascaradas (si las hay).
5. Se pasa el control al programa interrumpido.