02 hardware
DESCRIPTION
InformaticaTRANSCRIPT
-
Repaso al Hardware
Ing. Luyi Rodas
1
-
1. Procesadores
2
-
Procesadores
El cerbro de la computadora es la CPU
Toma instrucciones de la memoria y las ejecuta
El ciclo bsico de toda CPU es:
1.Tomar la instruccin de la memoria
2.Decodificarla para determinar su tipo y operandos
3.Ejecutarla
4.Repetir estos pasos con las instrucciones siguientes.
3
-
Procesadores
Todas las CPUs tienen registros para guardar variables importantes y resultados temporales.
Ademas de estos tienen varios registros especiales visibles al programador.
PC, Contador de programa. Contiene la direccione de memoria en la que esta la siguiente instruccin que se tomar.
SP, Apuntador de Pila, apunta a la parte superior de la pila actual en la memoria.
PSW, Palabra de estado del programa. Contiene los bits de cdigo de condicin que se ajustan cuando se ejecutan intrucciones de comparacin, junto con la prioridad de la CPU, el modo (Usuario o Kernel )y otros bits de control.
Por lo general pueden leer toda la PSW pero solo escribir en algunos de sus campos
4
-
Procesadores
El SO debe tener conocimiento de todos los registros para poder parar y reiniciar un programa.
Existen diseos de modelos de CPUs. Canalizacion de tres etapas
CPU superescalar
5
-
Modelos de CPU
Unidad Tomar
Unidad Decodi
Unidad Ejecutar
Unidad Tomar
Unidad Tomar
Unidad Decodi
Unidad Decodi
Bufer de Retencin
Unidad Ejecutar
Unidad Ejecutar
Unidad Ejecutar
6
-
Procesadores
Todas las CPUs tienen 2 modos de ejecucin: modo SO, modo usuario
Modo kernel SO Modo Usuario
Todas las Instrucciones del conjunto de Instrucciones.
Todas las funciones de Hardware.
El SO se ejecuta en este modo.
Un subconjunto de instruccones
Un subconjunto de funciones de hardware
No puede cambiar el bit de modo de la PSW a modo kernel.
Obtiene servicios del SO con Llamadas al Sistema.
7
-
2. MEMORIA
8
-
Memoria
Segundo componente mas importante.
De manera ideal se busca que sea mas rapida, con gran capacidad y poco costo.
9
-
Memorias
Cinta Magntica
Disco Magntico
Memoria Principal
Cach
Registros < 1 Kb
2 MB
2 GB
200 GB
20 100 GB
1 ns
2 ns
10 ns
10 ms
100 s
10
-
1. Registros
Hechos del mismo material de la CPU
El acceso a ellos no implica retrasos.
La capacidad es de 32 x 32 bits en procesadores de 32 bits y 64 x 64 en procesadores de 64 bits.
Los programas administran los registros.
11
-
2. Memoria Cache
Bajo el control del hardware
La memoria mantiene lineas de cache de 64 bytes.
Las lineas de cache mas usadas se mantienen en un cache dentro de la CPU.
Acierto de cache cuando la solicitud esta en la misma CPU. (tardan 2 ciclos de reloj)
12
-
3. Memoria Principal
Conocida como RAM
Crecen con mucha rapidez
Todas las solicitudes que no se puedan atender desde el cache se dirigen a la Memoria Principal.
13
-
3. Dispositivos de E/S
14
-
Dispositivos de E/S
Por lo general constan de 2 partes: una controladora y el dispositvo en si.
Contoladora Video
Controladora teclado
Controladora Disco duro
Teclado Monitor Disco Duro
Memoria CPU
Bus
15
-
1. La controladora
La controladora es el chip o conjunto de chips.
Esta acepta comandos del SO (ej. Leer datos del dispositivo).
El objetivo es presentar una interfaz mas simple al SO.
16
-
2. Dispositivo en si Tienen interfaces relativamente simples para
estandarizarlos. (ej. IDE Electronica Integrada en la Unidad).
Puesto que cada tipo de controladora es distinto, se requiere software distinto para manejarlos.
Al software que se comunica con una controladora se denomina Controlador de dispositivo
17
-
Para poder usar, debe incluirse en el SO para que pueda ejecutarse en modo Kernel.
Existen 3 formas de colocarlo: Reenlazar el kernel con el nuevo controlador y luego
reiniciar sistema. (Unix)
Incluir una entrada en un archivo del sistema para indicarle a este que necesita el controlador y luego reiniciar. (Windows)
El SO pueda aceptar controladores nuevos mientra esta ejecutando y lo instale sobre la marcha sin tener que reiniciar. (USB)
18
-
Las operaciones de entrada y salida pueden ejecutarse de 3 maneras: Un programa usuario emite una llamada al
sistema que el kernel traduce en una llamada de procedimiento al controlador del dispositivo, luego de acabar el SO devuelve el control al programa. (pregunta constante)
El controlador de dispositivo pone en marcha el dispositivo y le pide generar una interrupcion cuando haya terminado.
19
-
El tercer paso se utiliza un chip especial de acceso directo a memoria DMA que puede controlar el flujo de bits entre la memoria y alguna controladora sin que la CPU intervenga en forma continua.
20
-
Ejecucin de Instrucciones
Esta secuencia consiste en 3 pasos:
1. lectura de memoria de la instruccin mquina apuntada por el PC
2. incremento del contador del programa - para que apunte a la siguiente instruccin mquina y
3. ejecucin de la instruccin
21
-
Ejecucin de Instrucciones
Esta secuencia tiene 2 prioridades fundamentales:
1. es lineal, es decir, ejecuta de forma consecutiva las instrucciones que estn en direcciones consecutivas.
2. Y forma un bucle infinito. Esto significa que la unidad de control de la computadora est continua e ininterrumpidamente realizando esta secuencia.
22
-
Mecanismos de ruptura de secuencia lineal 1. Las instrucciones mquina de salto o
bifurcacin, que permiten que el programa rompa su secuencia lineal de ejecucion pasando a otro fragmento de s mismo.
2. Las interrupciones externas o internas, que hacen que la unidad de control modifique el valor del contador de programa saltando a otro programa.
3. La instruccion de maquinaTRAP, que produce un efecto similar a la interrupcion, haciendo que se salte a otro programa
23
-
Interrupciones
Casi todos los computadores tienen un mecanismo mediante el cual otros mdulos (E/S, memoria) pueden interrumpir la ejecucin normal del procesador.
Con las interrupciones, el procesador se puede dedicar a la ejecucin de otras instrucciones mientras una operacin de E/S est en proceso.
24
-
Interrupciones
Desde el punto de vista del programa de usuario una interrupcin es solamente eso:
una interrupcin de la secuencia normal de ejecucin. Cuando el tratamiento de la interrupcin termina, la ejecucin continua
25
-
Funcionamiento de las Interrupciones
Cuando el dispositivo de E/S est disponible, es decir, cuando est preparado para aceptar mas datos del procesador, el modulo de E/S de dicho dispositivo enviara una seal de solicitud de interrupcin al procesador
El procesador responde suspendiendo la operacin del programa en curso y saltando a un programa que da servicio al dispositivo de E/S en particular, conocido como rutina de tratamiento de interrupciones (Interrupt handler), reanudando la ejecucin original despus de haber atendido al dispositivo.
26
-
Interrupciones
Una interrupcin desencadena una serie de sucesos tanto en el hardware del procesador como en el software.
Estos sucesos pueden secuenciarse de la siguiente forma:
27
-
Secuencia generada por una Interrupcin 1. El dispositivo emite una seal de interrupcin al
procesador.
2. El procesador finaliza la ejecucin de la instruccin en curso antes de responder a
la interrupcin.
3. El procesador pregunta por la interrupcin comprueba que hay una y enva una
seal de reconocimiento al dispositivo que gener la interrupcin, de forma que
este suspende su seal de interrupcin.
28
-
4. El procesador necesita ahora prepararse para transferir el control a la rutina de interrupcin. Para empezar, hace falta salvar la informacin necesaria para reanudar la ejecucin del programa en curso en el punto de la la interrupcin. La mnima informacin es la palabra de estado del programa (PSW) y la ubicacin de la prxima instruccin a ejecutar.
5. El procesador carga ahora el contador de programa con la ubicacin de entrada del programa de tratamiento de interrupcin.
6. La rutina de interrupcin suele comenzar salvando el contenido de los registros del procesador porque la rutina puede utilizarlos y se perdera la informacin que la ejecucin del proceso interrumpido hubiera dejado en ellos.
29
-
7. La rutina de tratamiento de la interrupcin procesa la interrupcin realizando las acciones requeridas para atenderla.
8. Tras completar el tratamiento de la interrupcin, se recuperan de la pila los valores de los registros que se salvaron y se restauran en los correspondientes registros.
9. El paso final es restaurar los valores del la PSW y del contador de programa tambin a partir de la pila y continuar con la ejecucin del programa interrumpido.
30