Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Class 00 Computer System Structures PDF
Class 00 Computer System Structures PDF
1 /62
Los Sistemas Operativos son programas para
la administración eficiente de los recursos del
computador.
2 /62
Tabla de Contenido
i. Objetivos. 3
ii. Mapa Conceptual 4
1. Visión General de un Sistema de Computo 6
2. Procesador 11
3. Buses 43
4. Memoria 46
5. Entrada/Salida 54
6. Bibliografía 60
3 /62
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
4 /62
Mapa Conceptual de la Sesión
Proceso Bus
μP
Memoria E/S
5 /62
VISION GENERAL DE UN SISTEMA
DE COMPUTO
6 /62
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
7 /62
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
8 /62
Componentes de Alto Nivel
9 /62
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.
10 /62
PROCESADOR
11 /62
Registros del Procesador
1. Registros visibles al usuario
• Permite que el programador minimice las referencias
a la memoria principal.
12 /62
1. Registros Visibles al Usuario
• Puede ser referenciada por
lenguaje de máquina.
13 /62
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.
14 /62
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
15 /62
2. Registros de Control y de Estado
• Contador de Programa (PC)
– Contiene la dirección de una instrucción a ser leída
16 /62
Modos de Operación
Los microprocesadores dos modos de funcionamiento:
17 /62
Modos de Operación
MODO REAL MODO PROTEGIDO
• Realiza una sola tarea a • Hace varias tareas a la
la vez, si se está vez, pero las atiende
imprimendo, scaneando, todas juntas.
etc. no se puede hacer • Características:
otra cosa hasta que el – Mecanismos de
microprocesador no protección.
termine con la tarea – Conmutación de tareas.
asignada. – Manejo de Interrupciones
• Direccionamiento hasta y Excepciones.
de 1MB – Permite el Modo Virtual.
FIN
19 /62
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.
20 /62
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.
21 /62
Máquina Hipotética
Formato de Instrucción
0 3 4 15
Código de Dirección
Operación
Formato de un entero
0 1 15
S
Magnitud
23 /62
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
24 /62
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:
1. Cargar AC desde el dispositivo 5.
2. Sumar el contenido de la ubicación de memoria 940
3. 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.
25 /62
1. 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).
2. Load AC from I/O. El
programa mueve la
información que sé encuentra
en device 5 al acumulador.
3. El PC incrementa una posición
y coloca la información
encontrada en la memoria al
IR para ser procesada y
ejecutada.
4. 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.
5. El PC incrementa una posición
y coloca la información
encontrada en la memoria al
IR para ser procesada y
ejecutada.
6. 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
27 /62
E/S y acceso directo a memoria
memoria dispositivos de
UCP entrada/salida
instrucciones de E/S
28 /62
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?
106 bps
9.6x103 bps
29 /62
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.
30 /62
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.
31 /62
32 /62
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.
33 /62
Vector de Interrupciones
Vector Uso
0 Error: División por cero
1 Excepciones para depuración (ejecución paso a paso)
2 Interrupción no enmascarable
3 Punto de ruptura interrupción (Instrucción INT)
4 Desbordamiento ("Overflow"); utilizado cuando un cálculo aritmético se desborda. Ins
5 (reservado)
6 Código de instrucción no válido
7 Coprocesador no disponible
8 Fallo doble
9 (reservado)
10 TSS no válido
11 Segmento no disponible
12 Excepción de pila
13 Protección general
14 Fallo de página
15 (reservado)
16 Error de coprocesador
17-31 (reservado)
32-255 Disponibles para interrupciones enmascarables
34 /62
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
35 /62
Transferencia de Control
Proceso actual ISR
1. .............
..............
2. .............
3. ............. ..............
4. ............. ..............
5. ............. ..............
..............
..............
Interrupción i. ............. ..............
i+1 ............
..
..
..
m ............
36 /62
Tratamiento de una Interrupción
El controlador del
Salvar el resto de la
dispositivo u otro
información de estado
sistema del hardware
del proceso
genera una interrupción
El procesador finaliza la
Interrupción del
ejecución de la
proceso
instrucción en curso
Software
El procesador acusa el Restaurar la
Hardware recibo de la información de estado
interrupción del proceso
El procesador carga el
nuevo valor del PC
dependiendo de la
interrupción
37 /62
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
38 /62
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.
39 /62
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.
41 /62
BUSES
42 /62
Buses
Son las pistas de cobre que se encuentran en la placa
madre, que se encargan de transportar datos o pulsos.
43 /62
Buses
44 /62
MEMORIA
45 /62
Jerarquía de Memoria
Registros +
Cache
Memoria Principal
Memoria Secundaria
<Disco Magnético>
+ +
Cinta magnética
Costo Tiempo Capacidad
/ bit Acceso
46 /62
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.
103
Memoria principal
102
101
50 /62
Diseño de la Memoria Caché
Función de correspondencia
• Determina la ubicación qué ocupará el bloque en la
memoria caché. ¿hay sitio?
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.
51 /62
Tamaños
• La memoria principal consta de 2n palabras
direccionales.
• Cada palabra tiene una dirección de n bits.
• La memoria principal consta de M = 2n/K bloques de
tamaño K palabras.
• La memoria caché consta de C bloques de K palabras.
(C << M)
M
K
C
52 /62
ENTRADA/SALIDA
53 /62
Operaciones
• Las operaciones de E/S hacen uso de las siguientes
tres técnicas:
1. E/S programada
2. E/S dirigida por interrupciones.
3. Acceso Directo a Memoria
54 /62
1. E/S Programada
• Cuando ocurre la interrupción, el Emitir orden de
procesador lanza la IRS. lectura al
módulo de E/S
CPU → E/S
56 /62
3. Acceso Directo a Memoria
• Transfiere un bloque de datos Emitir orden de CPU → DMA
lectura al Hacer otra cosa
directamente, desde o hasta la módulo de E/S
memoria. Emitir orden de Interrupción
57 /62
E/S Programada E/S Dirigida por DMA
interrupciones
Emitir orden de Emitir orden de CPU → E/S Emitir orden de CPU → DMA
lectura al CPU → E/S lectura al Hacer otra cosa lectura al Hacer otra cosa
módulo de E/S módulo de E/S módulo de E/S
Listo Listo
Emitir orden de Emitir orden de
lectura al E/S → CPU lectura al E/S → CPU
módulo de E/S módulo de E/S
No No
¿Hecho? ¿Hecho?
Si Si
Siguiente instrucción Siguiente instrucción
Bibliografía
• Sistemas Operativos (Capítulo 1). William Stallings, 3ra
Edición. Prentice Hall.
59 /62
PREGUNTAS
60 /62