conceptos sobre arquitectura de computadoras

39
Introducción a los sistemas informáticos Capítulo 1

Upload: waldogeremia

Post on 08-Jun-2015

4.552 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Conceptos sobre arquitectura de computadoras

Introducción a los sistemas informáticos

Capítulo 1

Page 2: Conceptos sobre arquitectura de computadoras

•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.

Page 3: Conceptos sobre arquitectura de computadoras
Page 4: Conceptos sobre arquitectura de computadoras

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).

Page 5: Conceptos sobre arquitectura de computadoras

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.

Page 6: Conceptos sobre arquitectura de computadoras

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

Page 7: Conceptos sobre arquitectura de computadoras

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.

Page 8: Conceptos sobre arquitectura de computadoras

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.

Page 9: Conceptos sobre arquitectura de computadoras

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.

Page 10: Conceptos sobre arquitectura de computadoras

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.

Page 11: Conceptos sobre arquitectura de computadoras

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.

Page 12: Conceptos sobre arquitectura de computadoras

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.

Page 13: Conceptos sobre arquitectura de computadoras

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.

Page 14: Conceptos sobre arquitectura de computadoras

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.

Page 15: Conceptos sobre arquitectura de computadoras

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).

Page 16: Conceptos sobre arquitectura de computadoras

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.

Page 17: Conceptos sobre arquitectura de computadoras

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.

Page 18: Conceptos sobre arquitectura de computadoras

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.

Page 19: Conceptos sobre arquitectura de computadoras

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.

Page 20: Conceptos sobre arquitectura de computadoras

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

Page 21: Conceptos sobre arquitectura de computadoras

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.

Page 22: Conceptos sobre arquitectura de computadoras

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.

Page 23: Conceptos sobre arquitectura de computadoras

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

Page 24: Conceptos sobre arquitectura de computadoras

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.

Page 25: Conceptos sobre arquitectura de computadoras

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.

Page 26: Conceptos sobre arquitectura de computadoras

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.

Page 27: Conceptos sobre arquitectura de computadoras

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.

Page 28: Conceptos sobre arquitectura de computadoras

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.

Page 29: Conceptos sobre arquitectura de computadoras

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.

Page 30: Conceptos sobre arquitectura de computadoras

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.

Page 31: Conceptos sobre arquitectura de computadoras

Memoria cache

Transferencia de palabrasTransferencia de bloques

CPU Cache Memoria principal

Figura 1.16. Cache y memoria principal.

Page 32: Conceptos sobre arquitectura de computadoras

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.

Page 33: Conceptos sobre arquitectura de computadoras

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.

Page 34: Conceptos sobre arquitectura de computadoras

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.

Page 35: Conceptos sobre arquitectura de computadoras

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).

Page 36: Conceptos sobre arquitectura de computadoras

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.

Page 37: Conceptos sobre arquitectura de computadoras

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

Instrucción siguiente

(a) E/S programada

Page 38: Conceptos sobre arquitectura de computadoras

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

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

Page 39: Conceptos sobre arquitectura de computadoras

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