Download - Conceptos sobre arquitectura de computadoras
Introducción a los sistemas informáticos
Capítulo 1
•Evite los virus. Hierva la computadora antes de usar.•Necesito Psiquiatra para Pentium deprimida que se cree un 386•Mi Sistema Operativo es multitarea: acaba con mi paciencia y mis nervios de modo simultáneo.•Quien demonios es el "General Failure" y que hace leyendo mi disco duro ?•Los READ.ME son para los cobardes. Se valiente. Ejecuta.•Keyboard is not available - Press F1 to continue...•Mi 286 no tiene memoria, tan solo un vago recuerdo•No por mucho mega-ram carga Windows mas temprano•La tarjeta madre acaba de dar a luz !!•No hay mail que por bien no venga!•mE pArPaDeA eL LeD dEl CaPs LoCk, Es GrAvE?•Command.com secuestrado por virus terrorista. Piden 35 MB de disco duro de rescate !!•Backup no encontrado: (C)ancelar (R)eintentar (S)uicidarse•Windows Error 943 - El sistema esta funcionando demasiado bien, se cerrará TODO para que no se malacostumbre.
Sistema operativo
• Explota los recursos del hardware de uno o más procesadores.
• Ofrece un conjunto de servicios a los usuarios del sistema.
• Gestiona la memoria secundaria y los dispositivos de entrada/salida (E/S).
Elementos básicos
• Procesador.• Memoria principal:
– También se la conoce como memoria real o memoria principal.
– Volátil.• Módulos de E/S:
– Dispositivos de memoria secundaria.– Equipos de comunicación.– Terminales.
• Interconexión de sistemas:– Permiten la comunicación entre procesadores,
memoria principal y los módulos de E/S.
Componentes de alto nivel
Unidad deejecución
Memoria principal
Bus del sistema
Instrucción
Instrucción
Instrucción
Datos
Datos
Datos
Datos
PC = Contador de programaIR = Registro de instrucciónMAR = Registro de direcciones de memoriaMBR = Registro intermedio de memoriaI/O AR = Registro de direcciones de E/SI/O BR = Registro intermedio de E/S
Módulo de E/S
Figura 1.1. Componentes de una computadora: visión de alto nivel.
CPU
Registros del procesador
• Registros visibles de usuario:– Permite al programador minimizar las
referencias a la memoria principal optimizando el uso de estos registros.
• Registros de control y de estado:– Son utilizados por el procesador para el
control de las operaciones.– Son utilizados por las rutinas del sistema
operativo para controlar la ejecución de los programas.
Registros visibles de usuario
• Puede ser referenciado por medio del lenguaje de máquina.
• Está disponible para todos los programas del sistema y de aplicación.
• Clases de registros:– De datos.– De dirección:
• Registro índice.• Puntero de segmento.• Puntero de pila.
Registros visibles de usuario
• Registros de dirección:– Regístro índice:
• Implica sumar un índice a un valor base para obtener la dirección efectiva.
– Puntero de segmento:• Cuando la memoria se divide en segmentos, una
referencia a la memoria consta de una referencia a un segmento particular y un desplazamiento dentro del segmento.
– Puntero de pila:• Señala la parte superior de la pila.
Registros de control y de estado
• Contador de programa (PC, Program Counter):– Contiene la dirección de la instrucción a ser leída.
• Registro de instrucción (IR, Instruction Register):– Contiene la última instrucción leída.
• Palabra de estado del programa (PSW, Program Status Word): – Códigos de condición.– Interupciones habilitadas/deshabilitadas.– Estado usuario/supervisor.
Registros de control y de estado
• Codigos de condición o flags:– Conjunto de bits activados por el hardware
del procesador como resultado de determinadas operaciones.
– Se puede acceder a través de un programa pero no pueden ser alterados..
– Ejemplos:• Resultado positivo.• Resultado negativo.• Cero.• Desbordamiento.
Ciclo de instrucción
INICIO
Ciclo de lectura Ciclo de ejecución
Leer la
instrucción
siguiente
Ejecutar la
instrucción FIN
Figura 1.2. Ciclo básico de instrucción.
Lectura y ejecución de instrucciones
• El procesador lee una instrucción de la memoria.
• El contador de programa (PC) lleva la cuenta de cuál es la próxima instrucción a leer.
• El procesador incrementará el PC después de leer cada instrucción.
Registro de instrucción
• La instrucción leída se carga en el registro de instrucciones.
• Tipos de instrucciones:– Procesador-memoria:
• Se transfieren datos entre el procesador y la memoria.
– Procesador-E/S:• Se transfieren datos desde o hacia un dispositivo
periférico.
– Tratamiento de datos:• Operación aritmética o lógica sobre los datos.
– Control:• Altera la secuencia de ejecución.
Ejemplo de ejecución de un programa
Memoria Registros de CPU
Memoria
Memoria
Memoria
Memoria
MemoriaRegistros de CPU
Registros de CPU
Registros de CPU
Registros de CPU
Registros de CPU
Paso 1
Paso 6Paso 5
Paso 3 Paso 4
Paso 2
Figura 1.4. Ejemplo de ejecución de un programa
(contenidos de memoria y registros en hexadecimal).
Acceso directo de memoria (DMA)
• Los intercambios E/S se producen directamente con la memoria.
• El procesador otorga autoridad a un módulo de E/S para leer o escribir en la memoria.
• Releva al procesador de la responsabilidad del intercambio.
• El procesador queda libre para realizar otras operaciones.
Interrupciones• Se trata de una interrupción de la ejecución
normal del procesador. • Mejora la eficiencia del procesamiento. • Permite al procesador ejecutar otras
instrucciones mientras una operación de E/S está en proceso.
• Es una interrupción de un proceso debida a un factor externo al proceso y que se lleva a cabo de tal modo que el procesador pueda reanudarse.
Clases de interrupciones
• De programa:– Desbordamiento aritmético.– División por cero.– Intento de ejecutar una instrucción ilegal.– Referencia a una zona de memoria fuera del
espacio permitido al usuario.
• De reloj.
• De E/S.
• Por fallo del hardware.
Tratamiento de la interrupción
• Un programa que determina la naturaleza de la interrupción y realiza cuantas acciones sean necesarias.
• Se produce una transferencia de control.
• Generalmente forma parte del sistema operativo.
Ciclo de interrupción
INICIO
Ciclo de lectura Ciclo de ejecución Ciclo de interrupción
Leer la instrucció
nsiguiente
Ejecutar la instrucció
n
Comprobaciónde interrupción;
interrupción
del proceso
FIN
Interrupciones
inhabilitadas
Interrup-ciones
Figura 1.7. Ciclo de instrucción con interrupciones.
habilitadas
Ciclo de interrupción
• El procesador comprueba si ha ocurrido alguna interrupción.
• Si no hay interrupciones pendientes, el procesador trae la próxima instrucción del programa en curso.
• Si hay una interrupción pendiente, el procesador suspende la ejecución del programa en curso y ejecuta la rutina de tratamiento de la interrupción.
Programade usuario
Programade usuario
Programade usuario
Programade E/S
Programade E/S
Programade E/S
Ordende E/S
Ordende E/S
Ordende E/S
FIN
ESCRIBIR
ESCRIBIR
ESCRIBIR
ESCRIBIR
ESCRIBIR
ESCRIBIR ESCRIBIR
ESCRIBIR
ESCRIBIR
FINFIN
Rutina de tratamiento de interrup-
ciones
Rutina de tratamiento de interrup-
ciones
(a) Sin interrupciones (b) Con interrupciones y corta espera de E/S
(c) Con interrupciones y larga espera de E/S
Figura 1.5. Flujo de control del programa con y sin interrupciones.
Interrupciones múltiples
• Inhabilitar las interrupciones mientras se esté procesando una:– El procesador
ignora cualquier nueva señal de interrupción.
Programa de usuarioRutina X de tratamiento
de interrupciones
Programa de usuario
(a) Tratamiento secuencial de interrupciones
(b) Tratamiento de control con múltiples interrupciones
Figura 1.12. Transferencia de control con múltiples interrupciones.
RutinaY de tratamiento de interrupciones
Rutina X de tratamientode interrupciones
RutinaY de tratamiento de interrupciones
Orden secuencial de interrupciones mútiples
• Las interrupciones se inhabilitan para que el procesador pueda completar las operaciones.
• Las interrupciones permanecen pendientes hasta que el procesador las habilite.
• Después de terminar la rutina de tratamiento de la interrupción, el procesador comprueba si se ha producido alguna interrupción adicional.
Prioridad de las interrupciones múltiples
• Las interrupciones de prioridad más alta pueden hacer que las de prioridad más baja tengan que esperar.
• Hace que se interrumpa a la rutina de tratamiento de una interrupción de prioridad más baja.
• Por ejemplo, cuando llega una interrupción desde la línea de comunicaciones, se necesita atender ésta rápidamente para hacer sitio a nuevas entradas.
Multiprogramación
• El procesador ha de ejecutar varios programas.
• El orden en que los programas se ejecutan depende de su prioridad relativa y de si están esperando una E/S.
• Una vez que se haya completado el tratamiento de la interrupción, puede que no se devuelva el control inmediatamente al programa de usuario que estaba ejecutándose en el momento de la interrupción.
Jerarquía de la memoria
Registros
cache
Memoria
principal
Disco magnétic
o
CD-ROM
CD-RW
DVD + RW
DVD-RAM
Cinta magnética
MO
WORM
Almacenamiento
secundario
Memoriaexterna
Memoriainterna
Figura 1.14. La jerarquía de la memoria.
Descenso por la jerarquía
• Disminución del coste por bit.
• Aumento de la capacidad.
• Aumento del tiempo de acceso.
• Disminución de la frecuencia de acceso a la memoria por parte del procesador:– Cercanía de referencias.
Cache de disco
• Es una parte de la memoria principal que se puede utilizar como buffer para guardar temporalmente los datos transferidos con el disco.
• Las escrituras al disco se agrupan.• Se pueden volver a escribir algunos datos
destinados a la salida. Los datos se recuperan rápidamente por software desde la cache del disco en lugar de hacerse lentamente desde el disco.
Memoria cache
• Es invisible para el sistema operativo.
• Aumenta la velocidad de la memoria.
• La velocidad del procesador es mayor que la de la memoria.
Memoria cache
Transferencia de palabrasTransferencia de bloques
CPU Cache Memoria principal
Figura 1.16. Cache y memoria principal.
Memoria cache
• Contiene una parte de la memoria principal.
• El procesador primero comprueba la memoria cache.
• Si una palabra no se encuentra en la memoria cache, se introduce en la cache un bloque de memoria principal que contiene la información necesaria.
Cache/Main Memory SystemNúmero de entrada Etiquet
aBloque
Longitud de bloque(K palabras)
(a) Cache
Direcciónde memoria
Bloque (K palabras)
Bloque
Longitud de palabra
(b) Memoria principal
Figura 1.17. Estructura de cache/memoria principal.
Diseño de la cache
• Tamaño de la cache:– Las caches pequeñas pueden tener un impacto
significativo sobre el rendimiento.
• Tamaño del bloque:– Es la unidad de intercambio de datos entre la cache y
la memoria principal. – La tasa de aciertos significa que la información se
encontró en la cache.– La tasa de aciertos comenzará a disminuir, dado que el
bloque se hace mayor y la probabilidad de uso del dato leído más recientemente se hace menor que la probabilidad de reutilizar el dato que hay que sacar de la cache.
Diseño de la cache
• Función de traducción:– Determina la posición de la cache que
ocupará el bloque.
• Algoritmo de reemplazo:– Elige el bloque que hay que reemplazar.– Algoritmo del menos recientemente usado
(LRU).
Diseño de la cache
• Política de escritura:– Dicta cuándo tiene lugar la operación de
escribir en memoria.
– Puede producirse cada vez que el bloque se actualice.
– La escritura se produce sólo cuando se reemplaza el bloque:
• Reduce las operaciones de escritura en memoria.• Deja la memoria principal en un estado obsoleto.
E/S programada• El módulo E/S lleva a cabo la
acción requerida en lugar del procesador.
• Activa los bits apropiados en el registro de estado de E/S.
• No se producen interrupciones.
• El procesador comprueba el estado hasta que se ha completado la operación.
Emitir la ordenLEER al
módulo de E/S
Leer estadodel módulo
de E/S
Compro-bar
estado
Leer palabradel módulo
de E/S
Escribir palabra
en memoria
¿Hecho?
CPU E/S
E/S CPU
E/S CPU
CPU memoria
Condiciónde error
No listo
Listo
No
Sí
Instrucción siguiente
(a) E/S programada
E/S dirigida por interrupciones
• El procesador queda interrumpido cuando el módulo E/S está listo para intercambiar más datos.
• El procesador puede realizar otras operaciones.
• Elimina las esperas innecesarias.• Consume una gran cantidad de
tiempo del procesador debido a que cada palabra de datos pasa a través del procesador.
Emitir la ordenLEER al
módulo de E/S
Leer estadodel módulo
de E/S
Compro-bar
estado
Leer palabradel módulo
de E/S
Escribir palabra
en memoria
¿Hecho?
Instrucción siguiente
Sí
No
CPU memoria
E/S CPU
Condiciónde error
Listo
E/S CPU
CPU E/SHacer otra cosa
Interrupción
(b) E/S dirigida por interrupciones
Acceso directo a la memoria
• Transfiere el bloque entero directamente hacia o desde la memoria.
• Cuando se completa la transferencia se envía una señal de interrupción.
• El procesador se ve involucrado sólo al inicio y al final de la transferencia.
Emitir la ordenLEER BLOQUEal módulo E/S
Leer estadodel módulo
de DMA
Instrucción siguiente
(c) Acceso directo a memoria
DMA CPU
CPU DMA
Hacer otra cosa
Interrupción