Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al usuario comunicarse con el ordenador (textual y gráfico). Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultáneamente. En la mayoría de los ordenadores sólo hay una UCP; un sistema operativo multitarea crea la ilusión de que varios procesos se ejecutan simultáneamente en la UCP. El mecanismo que se emplea más a menudo para lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo asignado, se suspende y se ejecuta otro proceso. El sistema operativo se encarga de controlar el estado de los procesos suspendidos. También cuenta con un mecanismo llamado planificador que determina el siguiente proceso que debe ejecutarse. El planificador ejecuta los procesos basándose en su prioridad para minimizar el retraso percibido por el usuario. Los procesos parecen efectuarse simultáneamente por la alta velocidad del cambio de contexto. Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen más memoria principal de la realmente disponible. Con esta técnica se emplea espacio en el disco duro para simular la memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere más tiempo que el acceso a la memoria principal, por lo que el funcionamiento del ordenador resulta más lento.
CONCLUSIONES
Un Sistema Operativo es un programa grande y complejo que está compuesto, por una serie de componentes con funciones bien definidas ,así mismo podemos decir que el centro de un sistema operativo es el núcleo o Kernel, capa más cercana al hardware, encargada de gestionar los recursos hardware del sistema y suministra la funcionalidad básica del S:O.
Podemos decir que el sistema operativo realiza una serie de funciones que gestionan el funcionamiento del hardware y sobre el que se apoya el resto del software, conformando un entorno integrado de trabajo para el usuario y cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciéndolo seguro y eficiente , así mismo el SO debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes lo solicitan(siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.
El funcionamiento del sistema operativo esta determinado por la planificación de tareas o procesos y por la gestión de memoria, en la planificación de procesos el sistema operativo determina que proceso debe ejecutarse en cada momento, en la mayoría de los sistemas operativos actuales implementan la memoria virtual, ocultando al usuario detalles de la implementación particular y creando la ilusión de existencia de recursos ilimitados (o abundantes).
Estas instrucciones del sistema operativo llevan a cabo tareas como habilitar y deshabilitar interrupciones, acceder a los registros usados por el hardware de protección de memoria, entre otras tareas, las también instrucciones de control pueden ejecutarse cuando el procesador esta en estado privilegiado esta ejecutando programa de zona privilegiada de memoria.
T7:
Unidad central de procesamiento
ESTRUCTURA
Esquema
ESQUEMA N°1
ESQUEMA N°2
ESQUEMA N°3
Registro acumulador
Descripción del Esquema N° 1
En el primer esquema tenemos una vista general de los elementos que conforman la CPU. Para realizar las operaciones descritas cualquier CPU dispone de un conjunto de bloques funcionales, los cuales según el esquema vemos que se conectan entre sí a través de un bus interno, cuya descripción de cada bloque lo detallaremos en el esquema N°3.
Descripción del Esquema N° 2 y 3
Todos los datos proceden de cualquier periférico o unidad de almacenamiento de computador. Empezando a realizar su trabajo la ALU la cual se encarga de realizar las operaciones aritméticas para ello dispone de un circuito combinacional que realizan las operaciones y un conjunto de registros en los que se almacenan tanto los operadores como los resultados de los mismos. De todos los registros que emplea la ALU existe uno denominado registro acumulador, que suele estar implicado en la mayoría de las operaciones aritméticas y lógicas como fuente y destino, este registro es de carácter específico para la CPU.
Otro elemento que conforma la CPU es la Unidad de Control, la cual se encarga de la captura y la decodificación de las instrucciones a ejecutar, siendo esta la más importante de los elementos del CPU. Por otra parte tenemos la Memoria principal, es el lugar en el que se almacenan los datos y resultados de cualquier proceso. Esta memoria está estructurada en celdas, en cada una de las cuales entra una unidad específica de información, según su posición la memoria almacena datos o instrucciones.
Junto con el conjunto de módulos de memoria, existe un elemento clave de un computador, nos estamos refiriendo al Modulo de Entrada/Salida, cada modulo se conecta al bus del sistemas o aun conmutador central y controla uno o más dispositivos periféricos, pero no solo tiene esa función, sino que además está dotado de cierta inteligencia, es decir, contiene la lógica necesaria para permitir la comunicación entre periféricos y el bus.
FUNCIONES
Función de transferencia de datos
Calcula la dirección de memoria basándose en el modo de direccionamiento utilizado, esta dirección hace referencia a memoria virtual, en esta situación traduce la dirección virtual a reala la vez determinar si el elemento direccionado está en la cache, sino cursar la orden al modulo de memoria.
Función Aritmética
Proporciona las operaciones aritméticas básicas de suma, resta, multiplicación y división. Esta operación implica operaciones de transferencia de datos para ubicar los operandos como entradas a la ALU, y almacenar la salida de la ALU.
Función Lógica
Realiza operaciones lógicas, realiza la comparación lógica de dos o más operandos.
Función Conversión
Son aquellas funciones que cambian el formato u operan sobre el formato de los datos, por ejemplo la conversión de decimal a binario.
Función Control de flujo
Actualiza el contador del programa. En el caso de llamadas y retornos de subrutinas, gestiona la transferencia y enlace de parámetros.
Función Entrada/Salida
Durante un breve intervalo la CPU verifica todos los módulos de entrada y registra el estado activo/inactivo de los dispositivos de control, luego la CPU decide que salidas deben activarse. Mientras el programa el usuario se está ejecutando, estas decisiones se almacenan en una sección de la memoria reservada para este propósito.
REPERTORIO DE INSTRUCCIONES
Operación transferencia de datos
Permite el movimiento entre distintos dispositivos de almacenamiento del computador
Instrucciones aritméticas
Trans. Una palabra desde un origen a la cabecera de la pila. Se necesita especificar el tipo de operación (suma, resta, multiplicación o división), tipo de aritmética (con signo, sin signo, entera, punto flotante, etc.); el tamaño de datos sobre los que se opera y por último la dirección de operandos fuente y destino.
Nombre de operación | Descripción |
ADD | CALCULA LA SUMA DE DOS OPERANDOS |
SUBSTRACT | Calcula la diferencia de dos operandos |
MULTIPLY | Producto de dos operandos |
DIVIDE | Cociente de dos operandos |
ABSOLUTE | Sustituye el operando por su valor absoluto |
NEGATE | Cambia el signo del operando |
INCREMENT | Suma uno al operando |
DECREMENT | Resta uno al operando |
Instrucciones lógicas
Permite realizar operaciones lógicas bit a bit, entre los operandos o manipular un bit del operando. Para esto es necesario especificar el tipo de operación, el tamaño de datos sobre el que se opera dirección de operación y el número de bit en las instrucciones de manipulación de bit. A continuación presentamos las instrucciones lógicas que se realizan en el proceso:
Instrucción | Descripción | ||
AND | Realiza la operación and | ||
OR | Realiza la operación OR | ||
NOT | Realiza el complemento | ||
XOR | Realiza la operación XOR | ||
COMPARE | Realiza la comparación lógica o aritmética de dos o más operandos | ||
SET | Instrucciones que fijan controles para protección, gestor de interrupciones, control de temporizador, etc. | ||
SHIFT | Desplaza el operando a la izquierda, introduciendo valores constantes por el otro extremo | ||
ROTATE | Desplaza el operando a la izquierda de forma cíclica | ||
TEST (COMPROBAR) | Comprueba la condición especificada. |
Instrucciones del control de flujo
Permite romper la secuencia normal de ejecución y saltar a una determinada dirección especificada en la instrucción.
Instrucción | Descripción | ||||
JMP | Salta (jump) a la dirección especificada | ||||
BCC | Bifurca a la dirección especificada si la condición es cierta | ||||
JSR | Salto de subrutina, guarda en pila PC y estado | ||||
RTS | Retorno de subrutina | ||||
SKIP | Salta el número de instrucciones especificado | ||||
NOP | No ejecuta ninguna operación, pero la ejecución continua secuencialmente. |
Instrucciones de E/S
Instrucción | Descripción | ||||
INPUT | Transfiere datos desde un puerto o dispositivo de E/S al destino que puede ser la memoria principal o registro del procesador. | ||||
OUTPUT | Transfiere datos desde el origen especificado a un puerto o dispositivo de E/S | ||||
STAR I/O | Transfiere instrucciones al procesador de E/S para iniciar operaciones de E/S | ||||
TEST I/O | Transfiere información de estado desde el sistema de E/S al destino especificado. |
Instrucciones de conversión
Instrucción | Descripción |
TRANSLATE (TRADUCIR) | Traducción de los valores de una sección de memoria basada en una tabla de correspondencia. |
CONVERT (CONVERTIR) | Convierte el contenido de una palabra de un formato a otro. |
FUNCIONAMIENTO
Como ya se menciono anterior mente las instrucciones de cada una de las operaciones que realiza el computador ahora veremos cómo se interrelacionan cada una de estas operación y hacen efectivo el repertorio de instrucciones en cada proceso de la CPU.
Se empieza por buscar una instrucción en la memoria, para ello la unidad de control proporciona a la memoria la dirección donde se encuentra la instrucción y la orden de lectura necesaria. La dirección de la instrucción que se va a ejecutar se encuentra en un registro denominado contador de programa el cual apuntara la dirección de memoria donde se encuentra la instrucción que va a ejecutarse. A esta fase se la conoce como fase de búsqueda.
Una vez leída la instrucción debe analizarse (decodificarse) para saber que operaciones hay que realizar y generara las señales de control oportunas. En algunos diseños de la Unidad de Control, las señales se generan en barios ciclos de reloj, por lo que es necesario que durante ese tiempo la instrucción que se está ejecutando permanezca almacenada en un registro interno, que recibe el nombre de registro de instrucción.
La operación que deba realizarse implicara a uno o barios operandos que podrán estar previamente almacenados en los registros internos de la CPU o en memoria. Según su ubicación la Unidad de Control genera las órdenes oportunas para activar las salidas de los registros o para iniciar una o barias operaciones. En esta parte del funcionamiento de hace una búsqueda de operandos.
Una vez que se conoce la operación que realiza la instrucción y se dispone de los operandos solo queda realizar la operación. Esta fase se conoce como fase de ejecución e implica en la mayoría de las veces la intervención de la Unidad Aritmético Lógica (ALU).
Una vez que la ejecución de la instrucción ha producido un resultado, estos se almacenan en la memoria o en alguno de los registros internos. En esta etapa el computador realiza lo que se llama almacenamiento de resultados.
Una vez finalizada la ejecución de la instrucción, contador de programa debe incrementarse para pasar a apuntar a la siguiente instrucción. Sin embargo, esta tarea no se realiza al final sino en la etapa de búsqueda, por lo que una vez se haya buscado una instrucción el contador de programa pasa inmediatamente a apuntar a la siguiente instrucción a ejecutarse.
CONCLUSIONES
La unidad central de proceso es una compleja estructura como se apreció en su esquema y cada uno de sus elementos está íntegramente relacionados entre ellos, avilantando problemas en la recepción, almacenamiento y transferencia de datos.
En cada una de las funciones que tiene la CPU, tienes una relación con las operaciones que realiza ya sea, en la transferencia de datos, operaciones lógicas y aritméticas, en los registros, en las memorias y los dispositivos de E/S.
El funcionamiento de la CPU está determinado por las instrucciones que ejecuta, estas instrucciones están ordenadas de acuerdo a la operación que sea necesaria ejecutar. Al conjunto de instrucciones que puede ejecutar la UCP se le denomina repertorio de instrucciones.
Todos los datos procedentes de cualquier periférico o unidad de almacenamiento del PC llegan a la memoria. El microprocesador entonces se capaz de leer la información contenida en estas direcciones de memoria. La CPU simplemente procesa los datos y las vuelve a guardar a la Memoria y el destino gracias a su conexión física con el procesador será capaz de leer de nuevo del bus de datos la posición de memoria deseada.
T8:
Unidad de control
ESTRUCTURA
Esquema
Bus de Datos
ESQUEMA N° 1
ESQUEMA N° 2
Descripción del Esquema N° 1
La Unidad de Control recibe entradas del reloj, del registro de instrucción, y de los indicadores. En cada ciclo de reloj, la unidad de control lee todas sus entradas y emite un conjunto de señales de control que van a través de una serie de buses que llevan y traen datos hacia tres destinos distintos: Camino de Datos, ALU y Bus del Sistema.
La Unidad de Control usa los pulsos del reloj para temporizar la secuencia de eventos, dejando un tiempo entre evento y evento hasta que se estabilicen las señales.
Descripción del Esquema N° 2
El código del ciclo de instrucción se encarga de realizar el ciclo de interrupción en el cual establece la interrupción para luego proceder a realizar el ciclo de captación, encargándose este ultimo de captar la instrucción y si se realiza un direccionamiento indirecto procederá a realizar el ciclo indirecto en el cual se encargara de leer la dirección de la instrucción, pero si no realiza el direccionamiento indirecto realizara el ciclo de ejecución, encargándose este ultimo de realizar un código de operación para ejecutar las instrucciones pero si se produce una interrupción habilitada realizara el ciclo de interrupción, pero si no se produce una interrupción habilitada se procederá ha realizar nuevamente el ciclo de captación.
Al final de cada uno de los cuatro ciclos. El ICC se actualiza convenientemente. El ciclo indirecto siempre viene seguido del ciclo de ejecución. El ciclo de interrupción siempre es seguido por el ciclo de captación.
FUNCIONES
La unidad de control se encarga de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones actuando de forma diferente para cada uno de ellos.
La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción, controlando el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa.
REPERTORIO DE INSTRUCCIONES
La unidad de control realiza el ciclo de instrucción que consiste en alternar las actividades de captación y ejecución de instrucciones. Después de que una instrucción sea captada, es examinada para determinar si incluye algún direccionamiento indirecto si es así, los operandos requeridos se captan usando direccionamiento indirecto. Tras la ejecución se puede procesar una interrupción antes de la captación de la siguiente instrucción.
La unidad de control es del tipo microprogramado y de ella forma parte: el contador de microprograma, la memoria de microprogramas, el registro de microinstrucciones y un multiplexor de señales externo. El contador de microprograma indica a través de mpc que microinstrucción se ejecutara durante el próximo ciclo del reloj interno. Este contador direcciona a una memoria donde reside el microprograma, cuyo secuenciamiento viene determinado por la búsqueda de instrucción. El registro de macroinstrucción guarda durante un ciclo de reloj una microinstrucción, sus señales de salida se agrupan en cuatro campos: el primero que controla la señal de condición externa, la cual es introducida en el contador de microprograma a través del mux; y el segundo que proporciona la dirección de la próxima microinstrucción en el caso de producirse un salto en el microprograma.
FUNCIONAMIENTO
La unidad de control sigue la dirección de las posiciones en memoria que contiene la instrucción que la computadora va a realizar en ese momento; recupera la información poniéndola en la ALU para la operación que debe desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria. Una vez que ocurre lo anterior, la unidad de control va a la siguiente instrucción (normalmente situada en la siguiente posición, a menos que la instrucción sea una instrucción de salto, informando a la computadora de que la próxima instrucción estará ubicada en otra posición de la memoria).
CONCLUSIONES
La unidad de control no emite todas las ordenes a la vez, sino que sigue una determinada secuencia utilizando un reloj que se encargara de sincronizar las acciones de la unidad de control y que indica el instante en que debe ejecutar una determinada fase de la instrucción; cuanto más rápido marque el tiempo, más rápida será la ejecución de la instrucción. Sin embargo, hay un límite, ya que, si marca excesivamente rápido, es posible que no puedan cumplir adecuadamente las órdenes de los diferentes elementos, por lo que se producirán errores.
La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa.
Los diversos repertorios de instrucciones utilizan una gran variedad de ciclos de instrucción como son de la unidad de control: El ciclo indirecto, captación, interrupción y ejecución.
Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las micro programadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de la unidad de control se encuentra almacenada en una micro memoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las microinstrucciones.
Autor:
Juan Palomino Ulfe
Página anterior | Volver al principio del trabajo | Página siguiente |