Vous êtes sur la page 1sur 33

Arquitectura de computadores

Informtica Industrial
Ing. en automtica y electrnica Industrial

Isidro Calvo Gordillo 1


Indice
Arquitectura bsica
Ejecucin de un programa
Tratamiento de interrupciones
Memoria

Isidro Calvo Gordillo 2


Indice
Arquitectura bsica
Ejecucin de un programa
Tratamiento de interrupciones
Memoria

Isidro Calvo Gordillo 3


Elementos bsicos
Procesador (CPU)
Controla el funcionamiento del computador (UC)
Tratamiento de datos (ALU)
Memoria principal
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 4


Componentes de un computador

ALU

Isidro Calvo Gordillo 5


Diagrama de la ALU
ACUMULADOR

Operador
BANCO DE REGISTRO DE ESTADO
REGISTROS
Operando Operando

BUS DE DATOS

Isidro Calvo Gordillo 6


Diagrama de la Unidad de Control
Micrordenes: Al resto
de componentes de la CPU. Bus de Direcciones
Al registro de
direcciones
Reloj Contador de
Secuenciador
programa
Lneas de estado: Del
resto de los componentes
de la CPU.
Decodificador Decodificador
de Instruccin de Direccin

Registro de instrucciones
Cdigo de instruccin Operando o direccin
Cdigo de operacin Modo de direccionamiento del operando

Desde el registro de datos A la A.L.U.

Bus de datos

Isidro Calvo Gordillo 7


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 8


Diagrama general de la CPU
Micrordenes

Acumulador Reloj
Secuenciador Contador de
programa
Lneas de estado

de direcciones
Decodificador
direcciones
Registro de
Matriz
Decodificador Decodificador de memoria
de Instruccin de Direccin
Operador
Registros Registro
de estado Registro de Instrucciones
Cdigo de instruccin Operando o direccin
Cod operacin + Modo direccionamiento del operando

Registro de datos

A.L.U. UNIDAD DE CONTROL MEMORIA

Isidro Calvo Gordillo 9


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 Fase de ejecucin

Buscar
Buscarlala Ejecutar
Ejecutarlala
Inicio
Inicio
Inicio siguiente
siguiente Parada
Parada
instruccin
instruccin
instruccin
instruccin

Isidro Calvo Gordillo 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 Registros CPU Memoria Registros CPU
300 1 9 4 0 3 0 0 PC 300 1 9 4 0 3 0 1 PC
301 5 9 4 1 AC 301 5 9 4 1 0 0 0 3 AC
302 2 9 4 1 1 9 4 0 IR 302 2 9 4 1 1 9 4 0 IR
: :
940 0 0 0 3 PASO 1: Leer 940 0 0 0 3 PASO 2: Ejecutar
941 0 0 0 2 instruccin de $300 941 0 0 0 2 cargar dato de $940

Memoria Registros CPU Memoria Registros CPU


300 1 9 4 0 3 0 1 PC 300 1 9 4 0 3 0 2 PC
301 5 9 4 1 0 0 0 3 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 5 9 4 1 IR 302 2 9 4 1 5 9 4 1 IR
: :
940 0 0 0 3 PASO 3: Leer 940 0 0 0 3 PASO 4: Ejecutar sumar
941 0 0 0 2 Instruccin de $301 941 0 0 0 2 AC (3) + $941 (2) = 5

Memoria Registros CPU Memoria Registros CPU


300 1 9 4 0 3 0 2 PC 300 1 9 4 0 3 0 3 PC
301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 2 9 4 1 IR 302 2 9 4 1 1 9 4 0 IR
: :
940 0 0 0 3 PASO 5: Leer 940 0 0 0 3 PASO 6: Ejecutar
941 0 0 0 2 Instruccin de $302 941 0 0 0 5 Guardar dato en $941
Isidro Calvo Gordillo 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 Fase de interrupcin


Fase de ejecucin
Buscar SiSihay
hayinterrupcin;
Buscarlala Ejecutar
interrupcin;
Inicio
Inicio
Inicio siguiente Ejecutarlala inicia
inicia elmanejador
el manejador
siguiente instruccin
instruccin instruccin de la interrupcin
de la interrupcin
instruccin
Interrupciones habilitadas
Parada
Parada

Isidro Calvo Gordillo 19


Procesamiento de una interrupcin
El controlador del dispositivo Se salva el resto de la
genera una interrupcin informacin de estado del proceso

El P termina la
ejecucin de la instruccin actual Procesamiento de la interrupcin

El P indica el reconocimiento
Restauracin de la informacin
de la interrupcin
de estado del proceso

El P apila PSW y PC
en la pila de control Restauracin de los
antiguos PSW y PC
El P carga en el PC la direccin
PSW: Program Status Word (Registro de estado)
de la rutina de tratamiento
PC: Program Counter

Isidro Calvo Gordillo 20


T-M T-M

T-M

interrupcin
T-M

La interrupcin se produce al ejecutar


Retorno de la interrupcin
Isidro Calvo Gordillo 21
la instruccin en la direccin N
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
Lectura de la instruccin
Es frecuente acceder ms de una vez
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 palabras Transferencia de bloques

CPU Cache Memoria


Principal

Isidro Calvo Gordillo 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

Vous aimerez peut-être aussi