Você está na página 1de 33

Arquitectura de computadores

Informtica Industrial
Ing. en automtica y electrnica Industrial

Isidro Calvo Gordillo

Indice

Arquitectura bsica
Ejecucin de un programa
Tratamiento de interrupciones
Memoria

Isidro Calvo Gordillo

Indice

Arquitectura bsica
Ejecucin de un programa
Tratamiento de interrupciones
Memoria

Isidro Calvo Gordillo

Elementos bsicos

Procesador (CPU)

Memoria principal

Controla el funcionamiento del computador (UC)


Tratamiento de datos (ALU)
Almacena datos y programas
Normalmente voltil

Mdulos de entrada / salida

Comunicacin del computador con el exterior

Dispositivos de almacenamiento masivo, tarjetas de red,


teclado, pantalla, etc.

Bus del sistema

Comunica procesador, memoria principal y mdulos de


entrada salida
Isidro Calvo Gordillo

Componentes de un computador

ALU

Isidro Calvo Gordillo

Diagrama de la ALU
ACUMULADOR

Operador
REGISTRO DE ESTADO

BANCO DE
REGISTROS
Operando

Operando

BUS DE DATOS

Isidro Calvo Gordillo

Diagrama de la Unidad de Control


Micrordenes: Al resto
de componentes de la CPU.

Bus de Direcciones

Reloj

Al registro de
direcciones

Contador de
programa

Secuenciador
Lneas de estado: Del
resto de los componentes
de la CPU.
Decodificador
de Instruccin

Decodificador
de Direccin

Registro de instrucciones
Cdigo de instruccin
Cdigo de operacin

Modo de direccionamiento

Operando o direccin
del operando
A la A.L.U.

Desde el registro de datos


Bus de datos
Isidro Calvo Gordillo

Registros del procesador

Funcin:

Disminuir accesos a memoria en clculos intermedios


Control de la ejecucin de programas

Tipos:

Visibles por el usuario

Registros de direcciones y datos


Puntero de pila (Stack Pointer, SP)

Control interno del funcionamiento del P

Contador de programa (Program Counter, PC)


Registro de instruccin (Instruction Register, IR)
Registro de estado (Status Register, SR)
Isidro Calvo Gordillo

Diagrama general de la CPU


Micrordenes

Reloj

Secuenciador

Contador de
programa

Registros

Operador

Decodificador
de Instruccin
Registro
de estado

Decodificador
de Direccin

Registro de Instrucciones

Registro de
direcciones

Lneas de estado

Decodificador
de direcciones

Acumulador

Matriz
de memoria

Operando o direccin
Cdigo de instruccin
del operando
Cod operacin + Modo direccionamiento
Registro de datos

A.L.U.

UNIDAD DE CONTROL

Isidro Calvo Gordillo

MEMORIA

Indice

Arquitectura bsica

Ejecucin de un programa

Tratamiento de interrupciones
Memoria

Isidro Calvo Gordillo

10

Ejecucin de programas

Un programa consiste en un conjunto de


instrucciones almacenadas en memoria
Las instrucciones se ejecutan en la UC
Descripcin simplificada de dos fases:

Bsqueda de la instruccin en memoria (FETCH)


Ejecucin de la instruccin (EXECUTE)
Fase de bsqueda

Inicio
Inicio
Inicio

Buscar
Buscarlala
siguiente
siguiente
instruccin
instruccin

Fase de ejecucin

Ejecutar
Ejecutarlala
instruccin
instruccin
Isidro Calvo Gordillo

Parada
Parada
11

Bsqueda de la instruccin

El P lee una instruccin de memoria:


Etapas:

El contador de programa -> Direccin siguiente


instruccin

Por defecto en orden secuencial


Instrucciones de salto

Orden de poner la instruccin en el bus de datos


Registro de instruccin -> Nueva instruccin
obtenida de memoria
Isidro Calvo Gordillo

12

Ejecucin de la instruccin

Decodificacin de la instruccin contenida en el


registro de instrucciones
Ejecucin dependiente del cdigo de instruccin
Tipos de instrucciones:

Transferencia de datos P -> Memoria


Trasferencia de datos P -> E/S
Procesamiento de datos: Operaciones lgicas y
aritmticas
Control: Ruptura de la secuencia de ejecucin.
Isidro Calvo Gordillo

13

Ejemplo de ejecucin de un programa


Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1
940
941

0 0 0 3
0 0 0 2

Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1
940
941

0 0 0 3
0 0 0 2

Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1
940
941

0 0 0 3
0 0 0 2

Registros CPU
3 0 0
PC
AC
IR
1 9 4 0
PASO 1: Leer
instruccin de $300
Registros CPU
3 0 1
PC
0 0 0 3
AC
IR
5 9 4 1
PASO 3: Leer
Instruccin de $301
Registros CPU
3 0 2
PC
0 0 0 5
AC
IR
2 9 4 1
PASO 5: Leer
Instruccin de $302

Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1

Registros CPU
3 0 1
PC
AC
0 0 0 3
1 9 4 0
IR

0 0 0 3
0 0 0 2

PASO 2: Ejecutar
cargar dato de $940

Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1

Registros CPU
3 0 2
PC
AC
0 0 0 5
5 9 4 1
IR

940
941

940
941

0 0 0 3
0 0 0 2

Memoria
300 1 9 4 0
301 5 9 4 1
302 2 9 4 1
940
941

0 0 0 3
0 0 0 5

Isidro Calvo Gordillo

PASO 4: Ejecutar sumar


AC (3) + $941 (2) = 5
Registros CPU
3 0 3
PC
0 0 0 5
AC
1 9 4 0
IR
PASO 6: Ejecutar
Guardar dato en $941

14

Sistema de E/S

Intercambio de datos entre un mdulo de


E/S (p.e. controlador de disco) y el P

Uso de instrucciones de E/S especficas


Normalmente a travs de memoria
Mayores tiempos de acceso
Tipos:

E/S programada
E/S dirigida de interrupciones
Isidro Calvo Gordillo

15

Sistema de E/S

Algunos Ps permiten intercambios automticos


entre la memoria y los mdulos de E/S

Direct Memory Address (DMA)


El P autoriza al mdulo de E/S para que lea o
escriba en memoria
El mdulo de E/S emite mandatos de lectura y
escritura a memoria
Se libera al P para que haga otras tareas
Isidro Calvo Gordillo

16

Indice

Arquitectura bsica
Ejecucin de un programa

Tratamiento de interrupciones

Memoria

Isidro Calvo Gordillo

17

Interrupciones

Es frecuente que los Ps necesiten interrumpir


la ejecucin de un programa para atender a otras
tareas:
Tipos de interrupciones:

De programa: Div por cero, overflow, instruccin


ilegal, etc.
Temporizador: Permite ejecutar acciones de forma
peridica
E/S: Generada por un controlador de E/S para indicar
que una operacin ha sido finalizada (o fallida)
Fallo de Hardware: Error de paridad de memoria
Isidro Calvo Gordillo

18

Ejecucin de las interrupciones

Cundo se ejecutan las interrupciones?

Ciclo de ejecucin con interrupciones


Interrupciones inhabilitadas
Fase de bsqueda

Inicio
Inicio
Inicio

Buscar
Buscarlala
siguiente
siguiente
instruccin
instruccin

Fase de ejecucin
Ejecutar
Ejecutarlala
instruccin
instruccin

Fase de interrupcin
SiSihay
hayinterrupcin;
interrupcin;
inicia
el
inicia elmanejador
manejador
de
la
interrupcin
de la interrupcin

Interrupciones habilitadas
Parada
Parada
Isidro Calvo Gordillo

19

Procesamiento de una interrupcin


El controlador del dispositivo
genera una interrupcin

Se salva el resto de la
informacin de estado del proceso

El P termina la
ejecucin de la instruccin actual

Procesamiento de la interrupcin

El P indica el reconocimiento
de la interrupcin

Restauracin de la informacin
de estado del proceso

El P apila PSW y PC
en la pila de control
El P carga en el PC la direccin
de la rutina de tratamiento

Restauracin de los
antiguos PSW y PC
PSW: Program Status Word (Registro de estado)
PC: Program Counter
Isidro Calvo Gordillo

20

T-M

T-M

T-M

interrupcin
T-M

La interrupcin se produce al ejecutar


Isidro Calvo Gordillo
Retorno de la interrupcin
la instruccin en la direccin N

21

Ejemplo: Acceso a disco

En un Pentium de 1 GHz los accesos a


disco duro pueden ser del orden de 4
millones de veces ms lentos que el
procesador
El uso de interrupciones acelera la
ejecucin del programa
Isidro Calvo Gordillo

22

Isidro Calvo Gordillo

23

Interrupciones mltiples

Qu pasa si se recibe una interrupcin


mientras se estn procesando otra?
Posibles soluciones:

Deshabilitar las interrupciones

Se ignora cualquier solicitud de interrupcin

Asignar prioridades a las interrupciones

Se interrumpe la ejecucin de la rutina de


interrupcin para ejecutar interrupciones ms
prioritarias
Isidro Calvo Gordillo

24

Multiprogramacin

El P es el recurso ms caro de un ordenador


Qu pasa si el tiempo de E/S es mucho
mayor que el tiempo de ejecucin del
programa?

Incluso utilizando interrupciones el uso del P


puede optimizarse
El P puede realizar otras tareas mientras espera
la finalizacin de una operacin de E/S
Ej: Una aplicacin que hace accesos a disco y otra
que implica mucho clculo

Ser el SO quien decide qu programa se


ejecuta (en base a sus prioridades)
Isidro Calvo Gordillo

25

Indice

Arquitectura bsica
Ejecucin de un programa
Tratamiento de interrupciones

Memoria

Isidro Calvo Gordillo

26

La memoria

La velocidad de la memoria es un factor clave


en el rendimiento de un computador
Caractersticas de las memorias

Coste
Capacidad
Tiempo de acceso

Siempre se cumple:

Tiempo de acceso Coste por bit


Capacidad Coste por bit
Capacidad Velocidad de acceso
Isidro Calvo Gordillo

27

La jerarqua de memoria
CAPACIDAD
TIEMPO DE ACCESO
COSTE POR BIT
FRECUENCIA DE ACCESO

Isidro Calvo Gordillo

28

Caches

Son bferes intermedios para acelerar


el acceso a los datos de memoria
Normalmente se usan dos tipos:

De memoria RAM
De disco

Isidro Calvo Gordillo

29

Cach de memoria - Motivacin

En todas los ciclos de instruccin se accede como


mnimo una vez a memoria

Es frecuente acceder ms de una vez

Lectura de la instruccin
Si se efectan operaciones de lectura o escritura

La velocidad de ejecucin del programa se ve


afectada por la velocidad de acceso a la memoria
La velocidad del P ha aumentado ms que la de las
memorias
Es necesario buscar un compromiso entre velocidad,
coste y tamao

No es viable poner toda la memoria en registros del P


Isidro Calvo Gordillo

30

Cach de memoria

Principio de proximidad

En un bloque de tamao X se encontrarn varias


instrucciones y datos relacionados con una tarea

La cach contiene bloques de memoria con palabras


contiguas, de forma que en muchos casos las
instrucciones y datos relacionados estn en el mismo
bloque
Cuando el P intenta leer un byte de memoria se
comprueba primero si est en la cach
Transferencia de bloques

Transferencia de palabras
CPU

Cache
Isidro Calvo Gordillo

Memoria
Principal
31

Cache/Main Memory System

Isidro Calvo Gordillo

32

Cach de disco

Se usa una zona de memoria RAM como


bfer para almacenar temporalmente datos
de disco (lecturas o escrituras)
Las escrituras a disco se agrupan y se hacen
a la vez, mejorando el rendimiento de los
programas
Pueden solicitarse datos que estn en los
cachs de disco, acelerando el acceso (a
memoria en lugar de a disco)
Isidro Calvo Gordillo

33

Você também pode gostar