SlideShare una empresa de Scribd logo
Mg. Samuel Oporto Díaz Estructura de los Sistemas de Computo Lima, 30  de  Abril 2005 SISTEMAS OPERATIVOS
Los Sistemas Operativos son programas para la administración eficiente de los recursos del computador .
Tabla de Contenido Objetivos . 3 Mapa Conceptual 4 Visión General de un Sistema de Computo 6 Procesador 11 Buses 43 Memoria 46 Entrada/Salida	 54 Bibliografía 60
Objetivos de la Sesión Exponer la arquitectura básica de un computador. Presentar los elementos y las características de operación de un microprocesador simple. Exponer el mecanismo de ejecución de instrucciones Exponer el mecanismo de interrupciones Exponer el mecanismo del DMA. Presentar los tipos de buses que usa un  μ P. Presentar los aspectos básicos del manejo de memoria. Presentar los aspectos básicos del manejo de E/S
Mapa Conceptual de la Sesión μ P Proceso E/S Bus Memoria
VISION GENERAL DE UN SISTEMA DE COMPUTO
Sistema Operativo Explota los recursos de hardware de uno o más procesadores. Provee un conjunto de servicios al usuario del sistema Administra la memoria secundaria y los dispositivos de E/S
Elementos Básicos Procesador BUS del Sistema Comunicación entre el procesador, la memoria y los módulos de E/S Memoria Principal Es la memoria real o memoria principal Volátil Acceso aleatorio Módulos de E/S Dispositivos de memoria secundaria Equipos de comunicación Terminales
Componentes de Alto Nivel
Componentes de Alto Nivel Procesador. CPU Memoria Principal. Memoria Real o Primaria Módulos de E/S. Dispositivos de Entrada/Salida (DES) Interconexión de sistemas. BUS MAR (Memory Address Register). Registro de memoria direcionable, dirección de la siguiente R/W en memoria. MBR (Memory Buffer Register). Registro de memoria intermedia. Datos leídos o por escribir en Memoria. IOAR (Input/Output Address Register). Dirección de un DES. IOBR (Input/Output Buffer Register). Intercambia datos entre el DES y el Procesador.
PROCESADOR
Registros del Procesador Registros visibles al usuario Permite que el programador minimice las referencias a la memoria principal. Registros de control y de estado  Usado por el procesador para controlar la operación del procesador  Usado por las rutinas del SO para controlar la ejecución de programas
1. Registros Visibles al Usuario Puede ser referenciada por lenguaje de máquina. Disponible para todos los programas:  (de aplicación y del sistema). Los tipos de registros  Registros de Datos. ( AX, BX, CX y DX ) Registros de Dirección  Registro índice ( SI, DI ) Puntero de Segmento ( CS, DS, SS, ES ). Puntero de Pila ( SP, BP )
1. Registros Visibles al Usuario Registros de Datos: AX.  Para las operaciones de E/S, las correcciones decimales, las multiplicaciones, las divisiones y las translaciones. BX.  Registro base para direccionar una posición de memoria con el modo de direccionamiento indirecto con el registro base. CX.  Contador de datos en las manipulaciones de cadenas de caracteres. DX.  Para las multiplicaciones y divisiones asociándolo con AX, o de registro de direccionamiento indirecto para direccionar  un puerto de E/S.
1. Registros Visibles al Usuario Registros de Dirección: Registro Índice ( SI y DI ) El direccionamiento indexado implica adicionar un índice a un valor base para obtener una dirección. Puntero de Segmento ( CS, DS, SS y ES ). Cuando la memoria es dividida en segmentos, la memoria es referenciada por un segmento y un desplazamiento. Puntero de Pila ( SP, BP ). Puntero a la cima de la pila
2. Registros de Control y de Estado Contador de Programa (PC) Contiene la dirección de una instrucción a ser leída Registro de Instrucción (IR) Contiene la instrucción más recientemente leída Palabra de Estado de Programa: (PSW: Program Status Word ) Códigos de Condición Signo, Cero, Acarreo, Igualdad, Desbordamiento Habilitar/deshabilitar interrupciones Modo Supervidor
Modos de Operación Los microprocesadores dos modos de funcionamiento: El modo  real.  Operación básica del  μ P. El modo  protegido , en el que surgen capacidades nuevas, como memoria virtual, proteccion de segmentos.
Modos de Operación MODO REAL Realiza una sola tarea a la vez, si se está imprimendo, scaneando, etc. no se puede hacer otra cosa hasta que el microprocesador no termine con la tarea asignada.  Direccionamiento hasta de 1MB El DOS requiere el modo real. MODO PROTEGIDO Hace varias tareas a la vez, pero las atiende todas juntas. Características: Mecanismos de protección.  Conmutación de tareas.  Manejo de Interrupciones y Excepciones.  Permite el Modo Virtual.
Ejecución de Instrucciones La tarea más importante de un computador es ejecutar programas. Los programas constan de un conjunto de instrucciones y datos almacenados en la memoria. Pasos: El procesador lee la instrucción desde memoria. El procesador ejecuta la instrucción. El procesamiento de una instrucción simple se denomina  ciclo de instrucción Leer la siguiente instrucción Ejecutar la instrucción INICIO FIN
Lectura y ejecución de instrucciones Al inicio de cada ciclo de instrucción el procesador lee una instrucción de la memoria, en el registro de instrucción. El contador de programa (PC: program counter) tiene la dirección de la siguiente instrucción a ser leída. El PC se incrementa luego de cada lectura. La dirección cargada en el PC puede ser alterada.
Registro de Instrucción La instrucción leída se carga en un registro conocido como registro de instrucción. Tipos de Instrucciones: Procesador-memoria Se transfieren datos entre el procesador y la memoria y viceversa. Procesador-E/S Se transfieren datos de y hacia los dispositivos periféricos Procesamiento de Datos Operaciones aritméticas o lógicas con los datos Control Alteración de la secuencia de instrucciones a pedido de otra instrucción.
Máquina Hipotética Código de Operación Dirección 0 3 4 15 S Magnitud 0 1 15 Formato de Instrucción Formato de un entero Registros Internos de la CPU PC: Contador de Programa Dirección de la Instrucción. IR: Registro de la Instrucción Instrucción que está ejecutandose AC: Acumulador Almacenamiento Temporal Listado de códigos de operación 0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memoria
Ejemplo de ejecución de un programa EL PC contiene 300, la dirección de la primera instrucción. Se cargará el contenido de la ubicación 300 en el IR. Los primeros 4 bits de IR indican que se cargará el AC. Los 12 bits restantes especifican la dirección, que es 940.  (1 940)(0001  0011 1010 1100 ). Se incrementa el PC y se lee la siguiente instrucción. El contenido anterior de AC y el contenido de la ubicación 941 se suman y el resultado se almacena en el AC. Se incrementa el PC y se le la instrucción siguiente. El contenido del AC se almacena en la ubicación 941.
Ejemplo de ejecución de un programa 0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memoria
Ejercicio 1 Para la máquina hipotética presentada, se adiciona 2 instrucciones: 0011 Carga de AC desde E/S 0111 Almacena el AC en la E/S En estos casos, las direcciones de 12 bits identifican a un dispositivo externo en particular. Mostrar la ejecución del siguiente programa: Cargar AC desde el dispositivo 5. Sumar el contenido de la ubicación de memoria 940 Almacenar el AC en el dispositivo 6 Asumir que el siguiente valor recuperado desde el dispositivo 5 es 3 y que la dirección 940 contiene 2.
Se coloca la dirección 300 al contador de programa (PC) y se carga el contenido de la posición de memoria al Registro de Instrucción (IR). Load AC from I/O. El programa mueve la información que sé encuentra en device 5 al acumulador. El PC incrementa una posición y coloca la información encontrada  en la memoria al IR para ser procesada y ejecutada. Add contents of memory location 940. La instrucción pide sumar la Información contenida en la posición de memoria 940con el AC que ya tiene un 0003. El PC incrementa una posición y coloca la información encontrada en la memoria al IR para ser procesada y ejecutada. Store AC to device 6. La instrucción pide almacenar la información del AC a el device 6 lo cual transfiere la información de AC para device 6.
Acceso directo a Memoria (DMA) Los intercambios de E/S ocurren directamente con la memoria principal. El procesador entrega autoridad para que los módulos de E/S lean y escriban directamente en memoria. Releva al procesador de la responsabilidad del intercambio El procesador está libre para hacer otras cosas. Resultado: interrupción Indica estado de terminación (OK, ERROR) Una interrupción por bloque, no por byte
E/S y acceso directo a memoria UCP memoria dispositivos de entrada/salida instrucciones de E/S
Ejercicio 2 El módulo de DMA transfiere caracteres a la memoria principal desde un DES que transmite 9600 bps (bits por segundo). El procesador puede leer instrucciones a razón de 1 millón de instrucciones por segundo. ¿En cuanto se hará más lento el procesador debido a la actividad del DMA? 9.6x10 3  bps 10 6  bps R = 9.6 x 10 3  / 10 6  =  0.96%
Interrupciones Una interrupción es la suspensión de la secuencia normal de  ejecución de un proceso. Permite mejora la eficiencia del procesamiento. Permite que el procesador ejecute otras instrucciones mientras que una operación de I/O está en proceso. Es la suspensión de un proceso causado por un acontecimiento externo a ese proceso y ejecutado de tal forma que el proceso pueda ser reasumido más adelante.
Interrupciones Supongamos que el procesador transfiere datos hacia una impresora, utilizando el esquema básico propuesto. Luego de ejecutar una instrucción ESCRIBIR(data, print), el procesador debe esperar y permanecerá desocupado hasta que la impresora le avise, que ya terminó o acerca de un error. La duración de la pausa puede ser del orden de varios cientos o miles de ciclos de instrucción. Es claro el derroche en el uso de los recursos.
 
Tipos de Interrupciones De Programa . Generadas por la ejecución de alguna instrucción tales como: Overflow (desbordamiento aritmetico) Division por zero Intento de ejecutar una instrucción ilegal de la máquina Referencia fuera del espacio de memoria permitido para el usuario De Reloj . Generadas por el reloj interno del procesador (funciones regulares) De E/S. Generadas por el controlador de E/S, para indicar termino de E/S, condiciones de error. Por falla de Hardware . Error de paridad, falta de energía.
Vector de Interrupciones
Administración de Interrupciones Es un programa que determina la naturaleza de la interrupción y ejecuta la acción que sea necesaria. El  control es transferido  a este programa. Por lo general es parte del S.O. Se denomina Rutina de Servicio de Interrupciones  (ISR:  Interrupt service routine ) (interrupt handler). El proceso que es interrumpido no debe de tener algo en especial, esta función es responsabilidad total de la RSI
Transferencia de Control .............. .............. .............. .............. .............. .............. .............. ............. ............. ............. ............. ............. ............. i+1 ............ .. .. .. m ............ ISR Proceso actual Interrupción
Tratamiento de una Interrupción El controlador del dispositivo u otro sistema del hardware genera una interrupción El procesador carga el nuevo valor del PC dependiendo de la interrupción El procesador inserta la PSW y el PC en la pila El procesador finaliza la ejecución de la instrucción en curso El procesador acusa el recibo de la interrupción Restaurar los valores anteriores de PSW y PC Interrupción del proceso Salvar el resto de la información de estado del proceso Restaurar la información de estado del proceso Hardware  Software
Tratamiento de interrupciones El dispositivo emite una señal de interrupción  El procesador finaliza la ejecución de la instrucción actual antes de responder a la interrupción. El procesador verifica la Int (¿qué Int?) (polling) y envía una señal de reconocimiento al DES que la originó, esta señal le permite al DES suprimir la señal de Int. El procesador inicia la transferencia de control a la ISR. Se almacena en la pila: la PSW y la PC Se pone la PSW y la PC de la rutina de tratamiento de interrupciones (ISR:  interrupt service routine ) Se ejecuta la ISR
Múltiples Interrupciones Se pueden presentar interrupciones simultáneamente o mientras se está ejecutando la ISR, se puede presentar una nueva interrupción. Se deshabilitan las interrupciones mientras una interrupción está siendo procesada. El procesador no hace caso de cualquier nueva señal de petición de la interrupción.
Múltiples Interrupciones Orden Secuencial   Se deshabilitan las interrupciones para que el procesador puede completar la tarea.  Las siguientes interrupciones permanecen pendientes hasta el procesador habilite las interrupciones. Después de que ISR completa la tarea, el procesador verifica para interrupciones adicionales Prioridades. Interrupciones de alta prioridad la causa interrupciones de baja prioridad esperen. Causas que una IRS de baja prioridad pueda ser interrumpido.  Por ejemplo cuando una entrada llega desde la línea de comunicación, necesita ser absorbida rápidamente para hacer más sitio para la siguiente entrada.
Multiprogramación Cuando el procesador tiene más de un programa para ejecutar  La secuencia de programas son ejecutados dependiendo de su prioridad relativa y si ellos están esperando por I/O.  Después de que una ISR se completa, el control puede no ser retornado al programa que estaba ejecutando en el momento de la interrupción.
Ejercicio 3
BUSES
Buses Son las pistas de cobre que se encuentran en la placa madre, que se encargan de transportar datos o pulsos. Bus de control . que consiste en una línea que detecta las señales de entrada y de otra línea que genera señales de control desde el interior de la CPU. Bus de dirección . una línea unidireccional que sale desde el procesador y que gestiona la ubicación de los datos en las direcciones de la memoria. Bus de datos . una línea de transmisión bidireccional que lee los datos de la memoria y escribe nuevos datos en ésta.
Buses
MEMORIA
Jerarquía de Memoria Costo / bit Tiempo Acceso Capacidad + + + Registros Cache Memoria Principal Memoria Secundaria <Disco Magnético> Cinta magnética
Memoria Cache La memoria Cache es una clase de memoria especial de alta velocidad que esta diseñada para acelerar el proceso de las instrucciones de memoria en la CPU. La CPU puede obtener las instrucciones y los datos ubicados en la memoria cache mucho más rápidamente que las instrucciones y datos almacenados en la memoria principal.  Cuantas más instrucciones y datos la CPU pueda obtener de la memoria cache, más rápido será la computadora. CPU. 100 MHz V memoria principal 180 nanosegundos. V memoria cache   45 nanosegundos.
Memoria Cache Es invisible al SO. Incrementa la velocidad de la memoria. La velocidad del procesador es mayor que la velocidad de la memoria Memoria principal Procesador Tiempo de cada ciclo (nseg) 10 4 1955 1960 1965 1970 1975 1980 1985 1990 10 3 10 2 10 1
Memoria Cache Contiene una porción de la memoria principal. El procesador primero verifica la memoria cache. Si no se encuentra en la memoria cache, el bloque de memoria conteniendo la información necesaria es movida a la memoria cache.
Diseño de la Memoria Caché Tamaño del caché. Los caches pequeños tienen un impacto significante en el desempeño. Tamaño del bloque. es la unidad de intercambio de datos entre el caché y la memoria principal. A medida que los tamaños de bloque aumenta, la tasa de aciertos, aumenta al inicio (principio de la cercanía), pero luego comienza a disminuir dado que el bloque se hace mayor y la probabilidad de uso de un dato recientemente leído se hace menor que la probabilidad de reutilizar el dato ubicado en la memoria caché.
Diseño de la Memoria Caché Función de correspondencia Determina la ubicación qué ocupará el bloque en la memoria caché. ¿hay sitio?  El algoritmo del reemplazo.   Determina qué bloque para reemplazar si no hay sitio Algoritmo LRU. Least-Recently-Used (el usado hace más tiempo) Política de escritura. ¿Cuándo tiene lugar la operación de escritura en memoria? Cada vez que el bloque se actualiza. Cada vez que el bloque se reemplace. Minimiza la operación de la memoria.  Deja la memoria en un estado obsoleto.
Tamaños La memoria principal consta de 2 n  palabras direccionales. Cada palabra tiene una dirección de n bits. La memoria principal consta de M = 2 n /K bloques de tamaño K palabras. La memoria caché consta de C bloques de K palabras. (C << M) K M C
ENTRADA/SALIDA
Operaciones Las operaciones de E/S hacen uso de las siguientes tres técnicas: E/S programada E/S dirigida por interrupciones. Acceso Directo a Memoria
1. E/S Programada Cuando ocurre la interrupción, el procesador lanza la IRS. El módulo de E/S realiza la acción, no el procesador. El módulo de E/S pone los bits apropiados en el registro de estados de E/S. No ocurren interrupciones. El procesador verifica el estado hasta que la operación se complete. La verificación se hace repetidamente. Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU    E/S E/S    CPU Condición de Error E/S    CPU CPU    Memoria Listo No  listo No Si
2. E/S Dirigida por Interrupciones El procesador es interrumpido cuando el módulo de E/S esta listo para intercambiar datos  El procesador esta libre hacer otros trabajos. No existen esperas innecesarias. Consume mucho tiempo del procesador porque cada palabra leída o escrita pasa a través del procesador. La velocidad está limitada por velocidad en que el procesador verifica. Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU    E/S Hacer otra cosa Interrupción E/S    CPU Condición de Error E/S    CPU CPU    Memoria Listo No Si
3. Acceso Directo a Memoria Transfiere un bloque de datos directamente, desde o hasta la memoria. Una interrupción es enviada cuando la tarea es completada. El procesador es involucrado solo al inicio o al final de la transferencia. El DMA se implementa a través de un módulo separado o esta incorporado en el módulo de E/S. Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S CPU    DMA Hacer otra cosa Interrupción DMA    CPU Siguiente instrucción
E/S Programada E/S Dirigida por interrupciones DMA Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S ¿estado? ¿Hecho? Siguiente instrucción CPU    E/S E/S    CPU Condición de Error E/S    CPU CPU    Memoria Listo No  listo No Si Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S ¿estado? ¿Hecho? Siguiente instrucción CPU    E/S Hacer otra cosa Interpretar E/S    CPU Condición de Error E/S    CPU CPU    Memoria Listo No Si Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S CPU    DMA Hacer otra cosa Interpretar DMA    CPU Siguiente instrucción
Bibliografía Sistemas Operativos (Capítulo 1). William Stallings, 3ra Edición. Prentice Hall.
PREGUNTAS

Más contenido relacionado

PPT
Sistem interkoneksi dan bus
PDF
Clase 1 composicion audiovisual
PDF
Akses GPIO pada Raspberry Pi
PPT
Angulación De La Cámara
DOC
Proses manufaktur mesin bubut
PDF
209299471 modul-blender
PDF
Ejercicio de Vistas
PDF
1. barrido progresivo frente al barrido entrelazado
Sistem interkoneksi dan bus
Clase 1 composicion audiovisual
Akses GPIO pada Raspberry Pi
Angulación De La Cámara
Proses manufaktur mesin bubut
209299471 modul-blender
Ejercicio de Vistas
1. barrido progresivo frente al barrido entrelazado

La actualidad más candente (11)

PDF
Multiprosesor dan multikomputer
DOCX
Proses animasi 3 d
PPTX
Fundamen Informatika - Sistem Bus
PPTX
12 prinsip animasi
PPTX
PWM con PIC16F877A: Modulos y Registros Involucrados
PDF
El montaje audiovisual
PPTX
Slide Materi - Gambar Proyeksi.pptx
PDF
Curso de programacion en c++ para microcontroladores pic 16 f87xx
PPTX
ENCODER DAN DECODER DIGITAL
PPTX
David Griffith "El padre del cine moderno"
PPTX
Modul Tata Cahaya Gambar Bergerak
Multiprosesor dan multikomputer
Proses animasi 3 d
Fundamen Informatika - Sistem Bus
12 prinsip animasi
PWM con PIC16F877A: Modulos y Registros Involucrados
El montaje audiovisual
Slide Materi - Gambar Proyeksi.pptx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
ENCODER DAN DECODER DIGITAL
David Griffith "El padre del cine moderno"
Modul Tata Cahaya Gambar Bergerak
Publicidad

Similar a Estructura de computos (20)

PPTX
Sistemas operativos 1
PPT
1. introduccion a_los_sistemas_informaticos
PPT
Procea
PPT
Modelo von newman
PPTX
Sistemas operativos 1
PPTX
Introducción a los sistemas informáticos
DOCX
Estructura interna de un procesador
PPT
base de datos
ODP
Von neuman
ODP
Von neuman
PPTX
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
PPTX
Organización y Arquitectura de Computador
PDF
Hernan espinoza 5_b_t#2
PPTX
Maria Mora 27.892.525
PDF
sistemas-informaticos
PPTX
C2- Arquitectura del Microprocesador.pptx
PPTX
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
PPT
Sistemas Operativos
PDF
Arquitectura de una computadora
PPTX
Unidad de procesamiento sis2
Sistemas operativos 1
1. introduccion a_los_sistemas_informaticos
Procea
Modelo von newman
Sistemas operativos 1
Introducción a los sistemas informáticos
Estructura interna de un procesador
base de datos
Von neuman
Von neuman
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
Organización y Arquitectura de Computador
Hernan espinoza 5_b_t#2
Maria Mora 27.892.525
sistemas-informaticos
C2- Arquitectura del Microprocesador.pptx
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
Sistemas Operativos
Arquitectura de una computadora
Unidad de procesamiento sis2
Publicidad

Estructura de computos

  • 1. Mg. Samuel Oporto Díaz Estructura de los Sistemas de Computo Lima, 30 de Abril 2005 SISTEMAS OPERATIVOS
  • 2. Los Sistemas Operativos son programas para la administración eficiente de los recursos del computador .
  • 3. Tabla de Contenido Objetivos . 3 Mapa Conceptual 4 Visión General de un Sistema de Computo 6 Procesador 11 Buses 43 Memoria 46 Entrada/Salida 54 Bibliografía 60
  • 4. Objetivos de la Sesión Exponer la arquitectura básica de un computador. Presentar los elementos y las características de operación de un microprocesador simple. Exponer el mecanismo de ejecución de instrucciones Exponer el mecanismo de interrupciones Exponer el mecanismo del DMA. Presentar los tipos de buses que usa un μ P. Presentar los aspectos básicos del manejo de memoria. Presentar los aspectos básicos del manejo de E/S
  • 5. Mapa Conceptual de la Sesión μ P Proceso E/S Bus Memoria
  • 6. VISION GENERAL DE UN SISTEMA DE COMPUTO
  • 7. Sistema Operativo Explota los recursos de hardware de uno o más procesadores. Provee un conjunto de servicios al usuario del sistema Administra la memoria secundaria y los dispositivos de E/S
  • 8. Elementos Básicos Procesador BUS del Sistema Comunicación entre el procesador, la memoria y los módulos de E/S Memoria Principal Es la memoria real o memoria principal Volátil Acceso aleatorio Módulos de E/S Dispositivos de memoria secundaria Equipos de comunicación Terminales
  • 10. Componentes de Alto Nivel Procesador. CPU Memoria Principal. Memoria Real o Primaria Módulos de E/S. Dispositivos de Entrada/Salida (DES) Interconexión de sistemas. BUS MAR (Memory Address Register). Registro de memoria direcionable, dirección de la siguiente R/W en memoria. MBR (Memory Buffer Register). Registro de memoria intermedia. Datos leídos o por escribir en Memoria. IOAR (Input/Output Address Register). Dirección de un DES. IOBR (Input/Output Buffer Register). Intercambia datos entre el DES y el Procesador.
  • 12. Registros del Procesador Registros visibles al usuario Permite que el programador minimice las referencias a la memoria principal. Registros de control y de estado Usado por el procesador para controlar la operación del procesador Usado por las rutinas del SO para controlar la ejecución de programas
  • 13. 1. Registros Visibles al Usuario Puede ser referenciada por lenguaje de máquina. Disponible para todos los programas: (de aplicación y del sistema). Los tipos de registros Registros de Datos. ( AX, BX, CX y DX ) Registros de Dirección Registro índice ( SI, DI ) Puntero de Segmento ( CS, DS, SS, ES ). Puntero de Pila ( SP, BP )
  • 14. 1. Registros Visibles al Usuario Registros de Datos: AX. Para las operaciones de E/S, las correcciones decimales, las multiplicaciones, las divisiones y las translaciones. BX. Registro base para direccionar una posición de memoria con el modo de direccionamiento indirecto con el registro base. CX. Contador de datos en las manipulaciones de cadenas de caracteres. DX. Para las multiplicaciones y divisiones asociándolo con AX, o de registro de direccionamiento indirecto para direccionar un puerto de E/S.
  • 15. 1. Registros Visibles al Usuario Registros de Dirección: Registro Índice ( SI y DI ) El direccionamiento indexado implica adicionar un índice a un valor base para obtener una dirección. Puntero de Segmento ( CS, DS, SS y ES ). Cuando la memoria es dividida en segmentos, la memoria es referenciada por un segmento y un desplazamiento. Puntero de Pila ( SP, BP ). Puntero a la cima de la pila
  • 16. 2. Registros de Control y de Estado Contador de Programa (PC) Contiene la dirección de una instrucción a ser leída Registro de Instrucción (IR) Contiene la instrucción más recientemente leída Palabra de Estado de Programa: (PSW: Program Status Word ) Códigos de Condición Signo, Cero, Acarreo, Igualdad, Desbordamiento Habilitar/deshabilitar interrupciones Modo Supervidor
  • 17. Modos de Operación Los microprocesadores dos modos de funcionamiento: El modo real. Operación básica del μ P. El modo protegido , en el que surgen capacidades nuevas, como memoria virtual, proteccion de segmentos.
  • 18. Modos de Operación MODO REAL Realiza una sola tarea a la vez, si se está imprimendo, scaneando, etc. no se puede hacer otra cosa hasta que el microprocesador no termine con la tarea asignada. Direccionamiento hasta de 1MB El DOS requiere el modo real. MODO PROTEGIDO Hace varias tareas a la vez, pero las atiende todas juntas. Características: Mecanismos de protección. Conmutación de tareas. Manejo de Interrupciones y Excepciones. Permite el Modo Virtual.
  • 19. Ejecución de Instrucciones La tarea más importante de un computador es ejecutar programas. Los programas constan de un conjunto de instrucciones y datos almacenados en la memoria. Pasos: El procesador lee la instrucción desde memoria. El procesador ejecuta la instrucción. El procesamiento de una instrucción simple se denomina ciclo de instrucción Leer la siguiente instrucción Ejecutar la instrucción INICIO FIN
  • 20. Lectura y ejecución de instrucciones Al inicio de cada ciclo de instrucción el procesador lee una instrucción de la memoria, en el registro de instrucción. El contador de programa (PC: program counter) tiene la dirección de la siguiente instrucción a ser leída. El PC se incrementa luego de cada lectura. La dirección cargada en el PC puede ser alterada.
  • 21. Registro de Instrucción La instrucción leída se carga en un registro conocido como registro de instrucción. Tipos de Instrucciones: Procesador-memoria Se transfieren datos entre el procesador y la memoria y viceversa. Procesador-E/S Se transfieren datos de y hacia los dispositivos periféricos Procesamiento de Datos Operaciones aritméticas o lógicas con los datos Control Alteración de la secuencia de instrucciones a pedido de otra instrucción.
  • 22. Máquina Hipotética Código de Operación Dirección 0 3 4 15 S Magnitud 0 1 15 Formato de Instrucción Formato de un entero Registros Internos de la CPU PC: Contador de Programa Dirección de la Instrucción. IR: Registro de la Instrucción Instrucción que está ejecutandose AC: Acumulador Almacenamiento Temporal Listado de códigos de operación 0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memoria
  • 23. Ejemplo de ejecución de un programa EL PC contiene 300, la dirección de la primera instrucción. Se cargará el contenido de la ubicación 300 en el IR. Los primeros 4 bits de IR indican que se cargará el AC. Los 12 bits restantes especifican la dirección, que es 940. (1 940)(0001 0011 1010 1100 ). Se incrementa el PC y se lee la siguiente instrucción. El contenido anterior de AC y el contenido de la ubicación 941 se suman y el resultado se almacena en el AC. Se incrementa el PC y se le la instrucción siguiente. El contenido del AC se almacena en la ubicación 941.
  • 24. Ejemplo de ejecución de un programa 0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memoria
  • 25. Ejercicio 1 Para la máquina hipotética presentada, se adiciona 2 instrucciones: 0011 Carga de AC desde E/S 0111 Almacena el AC en la E/S En estos casos, las direcciones de 12 bits identifican a un dispositivo externo en particular. Mostrar la ejecución del siguiente programa: Cargar AC desde el dispositivo 5. Sumar el contenido de la ubicación de memoria 940 Almacenar el AC en el dispositivo 6 Asumir que el siguiente valor recuperado desde el dispositivo 5 es 3 y que la dirección 940 contiene 2.
  • 26. Se coloca la dirección 300 al contador de programa (PC) y se carga el contenido de la posición de memoria al Registro de Instrucción (IR). Load AC from I/O. El programa mueve la información que sé encuentra en device 5 al acumulador. El PC incrementa una posición y coloca la información encontrada en la memoria al IR para ser procesada y ejecutada. Add contents of memory location 940. La instrucción pide sumar la Información contenida en la posición de memoria 940con el AC que ya tiene un 0003. El PC incrementa una posición y coloca la información encontrada en la memoria al IR para ser procesada y ejecutada. Store AC to device 6. La instrucción pide almacenar la información del AC a el device 6 lo cual transfiere la información de AC para device 6.
  • 27. Acceso directo a Memoria (DMA) Los intercambios de E/S ocurren directamente con la memoria principal. El procesador entrega autoridad para que los módulos de E/S lean y escriban directamente en memoria. Releva al procesador de la responsabilidad del intercambio El procesador está libre para hacer otras cosas. Resultado: interrupción Indica estado de terminación (OK, ERROR) Una interrupción por bloque, no por byte
  • 28. E/S y acceso directo a memoria UCP memoria dispositivos de entrada/salida instrucciones de E/S
  • 29. Ejercicio 2 El módulo de DMA transfiere caracteres a la memoria principal desde un DES que transmite 9600 bps (bits por segundo). El procesador puede leer instrucciones a razón de 1 millón de instrucciones por segundo. ¿En cuanto se hará más lento el procesador debido a la actividad del DMA? 9.6x10 3 bps 10 6 bps R = 9.6 x 10 3 / 10 6 = 0.96%
  • 30. Interrupciones Una interrupción es la suspensión de la secuencia normal de ejecución de un proceso. Permite mejora la eficiencia del procesamiento. Permite que el procesador ejecute otras instrucciones mientras que una operación de I/O está en proceso. Es la suspensión de un proceso causado por un acontecimiento externo a ese proceso y ejecutado de tal forma que el proceso pueda ser reasumido más adelante.
  • 31. Interrupciones Supongamos que el procesador transfiere datos hacia una impresora, utilizando el esquema básico propuesto. Luego de ejecutar una instrucción ESCRIBIR(data, print), el procesador debe esperar y permanecerá desocupado hasta que la impresora le avise, que ya terminó o acerca de un error. La duración de la pausa puede ser del orden de varios cientos o miles de ciclos de instrucción. Es claro el derroche en el uso de los recursos.
  • 32.  
  • 33. Tipos de Interrupciones De Programa . Generadas por la ejecución de alguna instrucción tales como: Overflow (desbordamiento aritmetico) Division por zero Intento de ejecutar una instrucción ilegal de la máquina Referencia fuera del espacio de memoria permitido para el usuario De Reloj . Generadas por el reloj interno del procesador (funciones regulares) De E/S. Generadas por el controlador de E/S, para indicar termino de E/S, condiciones de error. Por falla de Hardware . Error de paridad, falta de energía.
  • 35. Administración de Interrupciones Es un programa que determina la naturaleza de la interrupción y ejecuta la acción que sea necesaria. El control es transferido a este programa. Por lo general es parte del S.O. Se denomina Rutina de Servicio de Interrupciones (ISR: Interrupt service routine ) (interrupt handler). El proceso que es interrumpido no debe de tener algo en especial, esta función es responsabilidad total de la RSI
  • 36. Transferencia de Control .............. .............. .............. .............. .............. .............. .............. ............. ............. ............. ............. ............. ............. i+1 ............ .. .. .. m ............ ISR Proceso actual Interrupción
  • 37. Tratamiento de una Interrupción El controlador del dispositivo u otro sistema del hardware genera una interrupción El procesador carga el nuevo valor del PC dependiendo de la interrupción El procesador inserta la PSW y el PC en la pila El procesador finaliza la ejecución de la instrucción en curso El procesador acusa el recibo de la interrupción Restaurar los valores anteriores de PSW y PC Interrupción del proceso Salvar el resto de la información de estado del proceso Restaurar la información de estado del proceso Hardware Software
  • 38. Tratamiento de interrupciones El dispositivo emite una señal de interrupción El procesador finaliza la ejecución de la instrucción actual antes de responder a la interrupción. El procesador verifica la Int (¿qué Int?) (polling) y envía una señal de reconocimiento al DES que la originó, esta señal le permite al DES suprimir la señal de Int. El procesador inicia la transferencia de control a la ISR. Se almacena en la pila: la PSW y la PC Se pone la PSW y la PC de la rutina de tratamiento de interrupciones (ISR: interrupt service routine ) Se ejecuta la ISR
  • 39. Múltiples Interrupciones Se pueden presentar interrupciones simultáneamente o mientras se está ejecutando la ISR, se puede presentar una nueva interrupción. Se deshabilitan las interrupciones mientras una interrupción está siendo procesada. El procesador no hace caso de cualquier nueva señal de petición de la interrupción.
  • 40. Múltiples Interrupciones Orden Secuencial Se deshabilitan las interrupciones para que el procesador puede completar la tarea. Las siguientes interrupciones permanecen pendientes hasta el procesador habilite las interrupciones. Después de que ISR completa la tarea, el procesador verifica para interrupciones adicionales Prioridades. Interrupciones de alta prioridad la causa interrupciones de baja prioridad esperen. Causas que una IRS de baja prioridad pueda ser interrumpido. Por ejemplo cuando una entrada llega desde la línea de comunicación, necesita ser absorbida rápidamente para hacer más sitio para la siguiente entrada.
  • 41. Multiprogramación Cuando el procesador tiene más de un programa para ejecutar La secuencia de programas son ejecutados dependiendo de su prioridad relativa y si ellos están esperando por I/O. Después de que una ISR se completa, el control puede no ser retornado al programa que estaba ejecutando en el momento de la interrupción.
  • 43. BUSES
  • 44. Buses Son las pistas de cobre que se encuentran en la placa madre, que se encargan de transportar datos o pulsos. Bus de control . que consiste en una línea que detecta las señales de entrada y de otra línea que genera señales de control desde el interior de la CPU. Bus de dirección . una línea unidireccional que sale desde el procesador y que gestiona la ubicación de los datos en las direcciones de la memoria. Bus de datos . una línea de transmisión bidireccional que lee los datos de la memoria y escribe nuevos datos en ésta.
  • 45. Buses
  • 47. Jerarquía de Memoria Costo / bit Tiempo Acceso Capacidad + + + Registros Cache Memoria Principal Memoria Secundaria <Disco Magnético> Cinta magnética
  • 48. Memoria Cache La memoria Cache es una clase de memoria especial de alta velocidad que esta diseñada para acelerar el proceso de las instrucciones de memoria en la CPU. La CPU puede obtener las instrucciones y los datos ubicados en la memoria cache mucho más rápidamente que las instrucciones y datos almacenados en la memoria principal. Cuantas más instrucciones y datos la CPU pueda obtener de la memoria cache, más rápido será la computadora. CPU. 100 MHz V memoria principal 180 nanosegundos. V memoria cache 45 nanosegundos.
  • 49. Memoria Cache Es invisible al SO. Incrementa la velocidad de la memoria. La velocidad del procesador es mayor que la velocidad de la memoria Memoria principal Procesador Tiempo de cada ciclo (nseg) 10 4 1955 1960 1965 1970 1975 1980 1985 1990 10 3 10 2 10 1
  • 50. Memoria Cache Contiene una porción de la memoria principal. El procesador primero verifica la memoria cache. Si no se encuentra en la memoria cache, el bloque de memoria conteniendo la información necesaria es movida a la memoria cache.
  • 51. Diseño de la Memoria Caché Tamaño del caché. Los caches pequeños tienen un impacto significante en el desempeño. Tamaño del bloque. es la unidad de intercambio de datos entre el caché y la memoria principal. A medida que los tamaños de bloque aumenta, la tasa de aciertos, aumenta al inicio (principio de la cercanía), pero luego comienza a disminuir dado que el bloque se hace mayor y la probabilidad de uso de un dato recientemente leído se hace menor que la probabilidad de reutilizar el dato ubicado en la memoria caché.
  • 52. Diseño de la Memoria Caché Función de correspondencia Determina la ubicación qué ocupará el bloque en la memoria caché. ¿hay sitio? El algoritmo del reemplazo. Determina qué bloque para reemplazar si no hay sitio Algoritmo LRU. Least-Recently-Used (el usado hace más tiempo) Política de escritura. ¿Cuándo tiene lugar la operación de escritura en memoria? Cada vez que el bloque se actualiza. Cada vez que el bloque se reemplace. Minimiza la operación de la memoria. Deja la memoria en un estado obsoleto.
  • 53. Tamaños La memoria principal consta de 2 n palabras direccionales. Cada palabra tiene una dirección de n bits. La memoria principal consta de M = 2 n /K bloques de tamaño K palabras. La memoria caché consta de C bloques de K palabras. (C << M) K M C
  • 55. Operaciones Las operaciones de E/S hacen uso de las siguientes tres técnicas: E/S programada E/S dirigida por interrupciones. Acceso Directo a Memoria
  • 56. 1. E/S Programada Cuando ocurre la interrupción, el procesador lanza la IRS. El módulo de E/S realiza la acción, no el procesador. El módulo de E/S pone los bits apropiados en el registro de estados de E/S. No ocurren interrupciones. El procesador verifica el estado hasta que la operación se complete. La verificación se hace repetidamente. Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No listo No Si
  • 57. 2. E/S Dirigida por Interrupciones El procesador es interrumpido cuando el módulo de E/S esta listo para intercambiar datos El procesador esta libre hacer otros trabajos. No existen esperas innecesarias. Consume mucho tiempo del procesador porque cada palabra leída o escrita pasa a través del procesador. La velocidad está limitada por velocidad en que el procesador verifica. Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S Hacer otra cosa Interrupción E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No Si
  • 58. 3. Acceso Directo a Memoria Transfiere un bloque de datos directamente, desde o hasta la memoria. Una interrupción es enviada cuando la tarea es completada. El procesador es involucrado solo al inicio o al final de la transferencia. El DMA se implementa a través de un módulo separado o esta incorporado en el módulo de E/S. Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S CPU  DMA Hacer otra cosa Interrupción DMA  CPU Siguiente instrucción
  • 59. E/S Programada E/S Dirigida por interrupciones DMA Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No listo No Si Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S Hacer otra cosa Interpretar E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No Si Emitir orden de lectura al módulo de E/S Emitir orden de lectura al módulo de E/S CPU  DMA Hacer otra cosa Interpretar DMA  CPU Siguiente instrucción
  • 60. Bibliografía Sistemas Operativos (Capítulo 1). William Stallings, 3ra Edición. Prentice Hall.