Story Transcript
Tema 1 Elementos funcionales de un ordenador. SUMARIO: 1.− Estructura básica de un ordenador. 1.1.− La memoria principal 1.2.− La unidad aritmético/lógica 1.3.− La unidad de control 1.4.− La unidad de entrada/salida 2.− La unidad central de proceso (UCP/ CPU). 2.1.− Lenguaje de máquina 2.1.1.− Tipo de instrucciones. 2.2.− La unidad aritmético/lógica. 2.2.1.− Función 2.2.2.− Operadores 2.2.2.1.− Clasificaciones 2.2.3.− Estructura de la ALU 2.3.− Unidad de control. 3.− Memoria 3.1.− Operaciones básicas 3.2.− Núcleos de jerarquía de las memorias. 3.3.− Componentes de las memorias 3.4.− Transductores 3.5.− Mecanismos de Direccionamiento 3.6.− Otras características de la memoria 4.− Unidades de entrada/salida
1
4.1.− Direccionamiento de los dispositivos de E/S 4.1.1.− Estructura con buses separados para memoria y E/S 4.1.2.− Estructura del computador con E/S mapeada en memoria 4.2.− Transferencia de datos 4.2.1.− Gestión de prioridades en la E/S. 5.− Los Buses 5.1.− Características de los bus. 1.− Estructura básica de un ordenador. 1.1.− la memoria principal: Es una unidad dividida en celdas que se identifican mediante una dirección. Cada celda esta formada por un conjunto de bits. BIT = 0/1 BYTE = conjunto de BIT En cada celda se almacena un dato o una instrucción. 1.2.− La unidad aritmético/lógica: Permite realizar una serie de operaciones de mentales, tales como suma, resta, and, or, etc. Los datos sobre los que opera esta unidad provienen de la memoria principal y pueden estar almacenadas de forma temporal en algunos de los registros de la propia unidad aritmético/lógica. 1.3.− La unidad de control: Se encarga de leer una tras otra las instrucciones de máquina almacenadas en la memoria principal y también de generar las señales de control necesarias para que todo el ordenador funcione y ejecute las instrucciones leídas. Tiene un controlador de programa. 1.4.− La unidad de entrada/salida: Realiza la transferencia de información con unas unidades exteriores (periféricos), lo que permite entre otros casos cargar datos y programas en la memoria principal y sacar resultados impresos. 1.4.1.− Buses: Son los caminos a través de los cuales las instrucciones y los datos circulan entre las distintas unidades del computador. 1.4.2.− El funcionamiento: − ¿Cómo funciona un ordenador?
2
Ordenador es la máquina que ejecuta programas. Programa es el conjunto de instrucciones que son almacenadas secuencial mente en posiciones o direcciones sucesivas de memoria y que serán ejecutados una tras otra. 1.4.3.− Fases de ejecución: • Lectura en memoria para extraer la nueva instrucción ejecutada. • Descodificación de las instrucciones y cálculo de las direcciones de los operadores implicadas. • Ejecución de la operación, implica la lectura en memoria para extraer los operandos implicados y envió de estos operandos de la unidad aritmético/lógica. • Almacenamiento del resultado en la posición indicada por la instrucción y cálculo de la dirección de la instrucción siguiente. 2.− La unidad central de proceso (UCP/ CPU) 2.1.− Lenguaje máquina. Los computadores no son capaces de interpretar directamente un lenguaje de alto nivel, solo son capaces de interpretar un lenguaje muy restringido (de bajo nivel), lenguaje que se llama de máquina. Este lenguaje es muy sencillo y se compone de una serie de instrucciones de máquinas cuyo conjunto constituye el llamado juego de instrucciones del computador. Las propiedades que deben cumplir las instrucciones máquinas son: • Realiza un única y sencilla función por lo que su descodificación o interpretación es sencilla. • Emplea un número fijo de operandos con una representación determinada. • La codificación de las instrucciones es bastante sistemática puesto que facilita su descodificación • Las instrucciones son auto contenido e independiente. 2.1.1.− Tipo de instrucciones. • Instrucciones para transferencia de datos. • Instrucciones de modificación de secuencia. • Instrucciones aritméticas. • Instrucciones lógicas. • Instrucciones comparaciones. • Instrucciones de desplazamiento. • Instrucciones de entrada/salida. • Instrucciones movimiento de cadenas de caracteres. 2.2.− La unidad aritmético/lógica. Se encarga de tratar lo datos ejecutando las operaciones requeridas de acuerdo al programa en curso, según las unidad de control vaya enviándole los datos correspondientes e indicándoles que operación debe realizar. 2.2.1.− Función.− Las operaciones que realiza son muy elementales de manera que todas las tareas que debe realizar son descompuestas en pasos más simples para que la ALU sea capaz de ejecutarla. 2.2.2.− Operadores.− La ALU esta formada por un conjunto de operadores. Un operador es un circuito 3
electrónico capaz de realizar una operación aritmético/lógica. 2.2.2.1.− Clasificaciones: • Operadores según el ámbito: • Generales: Son los que pueden realizar distintas clases de operadores. • Especializadas: Solo puede hacer un tipo de operación. • Operadores según la realización: • Secuencial: Requiere varias fases para obtener el resultado. Tiene unos elementos de memoria para almacenar la información que se tiene que transmitir entre las fases. • Combinacional: Lo hace en una solo fase y por tanto no tiene elementos de memoria. Si se quiere almacenar el resultado habrá que guardarlo en un registro de memoria. • Operadores según el numero de operandos: • Monádicas: Sólo requiere un operando. • Diádicas: Requiere dos operandos. • Operadores según el paralelismo. • Paralelo: Realiza la operación sobre todos los dígitos del operando al mismo tiempo. • Serie: Lo hace digito a digito. 2.2.3.− Estructura de la ALU.− Se compone de los siguientes elementos: • Uno de varios operadores. • Un conjunto de registros. • Unos biestables de estado. • Secuenciador. Operadores son casi siempre de tipo con binacional y de tipo paralelo. Encargándose la unidad de control de los algoritmos de las operaciones complejas. Banco de registros.− Sirve para que el usuario almacene temporalmente datos y resultados intermedios. Suele constar del orden de 8 a 16 registros. Uno de estos registros es el acumulador y se utiliza como depositario de los resultados de operador. Los biestables almacenan ciertas condiciones relativas a la última operación realizada por la ALU. La información que guarda es: • Z (cero): 1 cuando el resultado es 0. • N (negativos): 1 cuando el resultado es (<) menor de 0 negativo. • C (acarreo): 1 cuando el resultado es acarreo. • O (desbordamiento): 1 cuando el resultado tiene desbordamiento. • Otros acarreos auxiliar, indicador de prioridad, etc. 2.3.− Unidad de control.
4
El objetivo de la unidad de control es monitorizar el funcionamiento de todo el ordenador dirigiendo la información a las unidades u elementos precisos en el memento adecuado y dando una orden oportuna para que realicen las acciones pertinentes. Los pasos de la unidad de control. • Capta las instrucciones. • Las interpreta. • Capta los operandos y los lleva. • Capta a la unidad de procesamiento. • Envía señales a la ALU. Están sincronizados por el temporizador. 3.− Memoria Cualquier dispositivo que almacena información: • La relacionada con la parte del ordenador que mantiene las instrucciones y los datos sobre los que se están operando actualmente. • Consta de otros recursos que pueden almacenar información. Esta información debe ser transferencia a la memoria de primer tipo antes de poder ser usada por el ordenador. 3.1.− Operaciones básicas: • Lectura: El dispositivo indica la dirección que quiere leer. • Escritura: Le dice que es lo que quiere que lea. Formato binario.− Guarda dos tipos de información de dígitos como es 0 y 1. 3.2.− Núcleos de jerarquía de las memorias. La CPU se constituye con circuitos integrados muy rápidos lo que obliga a disponer de memoria lo más rápidos posibles. • Registros.− Los que se encuentran el microprocesador pero tienen baja capacidad de 256 bytes pero son muy rápidos que se equivale a un nanosegundo = 10 −9 segundos. • Caché.− De acceso aleatorio de baja capacidad 10 6 bytes. Dos tipos de caché: Velocidad = t.a equivale 5 nanosegundo. Nivel 1.− Dentro de la CPU. Nivel 2.− Va externa y es más lenta. • Memoria Principal.− Es también de acceso aleatorio. La memoria de baja capacidad pero mayor que los registros y la caché. Tiene una memoria de 32 Mb − 1 Gb. t.a = 10 − 60 milisegundo • Memoria Secundaria.− (Disco Duros HD) Secuencial
5
2 Gb.− 200 Gb t,a.− 5 − 20 milisegundos • Memoria Auxiliar.− FD, CD, DVD, Varios Gb. t.a = 50 milisegundos a varios minutos 3.3.− Componentes de las memorias: Todo tipo de memoria tiene que tener los siguientes requisitos o elementos: • Medio o soporte.− Es donde almacenan estados energéticos diferentes que codifican la información. Suelen ser dos estados (0, 1). • Transductores.− Hay tanto de lectura como de escritura y son los dispositivos capaces de general la energía necesaria para la grabación, así como la detección del estado en la lectura. • Mecanismos de direccionamiento.− Permiten leer y escribir la información en el lugar y tiempo deseado. El medio es el elemento físico que actúa de contenedor de la memoria. Para que un elemento pueda servir de medio debe cumplir los siguientes aspectos: • Debe presentar al menos dos estados estables y que sean medibles. • Se debe poder pasar de un estado a otro mediante la aplicación de una energía externa. • Se debe poder detectar el estado existente en cualquier momento. El tiempo que permanece la información grabada en el mediio son: • Duradero o no volátil: La información permanece en los puntos de memoria para siempre anochecer que se escriba sobre ellos otra información. • Volátil: Cuando no se suministra energía la información desaparece. Aunque la memoria esta alimentada su información se va degradando. • De solo lectura: Son aquellos en que la información solo se puede grabar una vez, a partir de hay solo se puede leer su contenido. 3.4.− Transductores: Existen de lectura y escritura. Los de escritura deben suministrar la energía necesaria al medio para que adapte el estado deseado. Los de lectura deben captar las correspondientes magnitudes físicas del medio para determinar el estado en que se encuentran los puntos de memoria. Los transductores pueden estar unidos físicamente al medio dando lugar a la memoria estática, cuando no están unidos al medio dan lugar a la memoria dinámica. 3.5.− Mecanismos de Direccionamiento: Los mecanismos de direccionamiento se encargan de seleccionar el punto de memoria deseado. En la memoria estática el mecanismo esta inscrito en su propia construcción, en cambio, las memorias dinámicas que comparten los transductores no existen relación entre puntos de memoria y el transductor. Realizándose la selección por la unidad de control, que debe interpretar una información adicional que se llama información de direccionamiento y que se almacena junto a lo datos.
6
El sistema E / S tiene dos partes fundamentales: • Periféricos: Son dispositivos electromecánicos, electromagnéticos y electrónicos que permiten la comunicación directa con el mundo exterior. • Interfaz: Es un sistema hardware / software que permite la comunicación entre el periférico y la CPU o memoria central. Es decir, es el conjunto de circuitos y programas que se utiliza para resolver las diferencias que pueden existir entre el procesador central y cada uno de los periféricos: • La velocidad de transmisión • El formato de los datos • El modo de operación 3.6.− Otras características de la memoria: • El tamaño o capacidad: Se define como la cantidad máxima de información que se quiere almacenar. En las memorias estáticas hay una relación entre la capacidad y la cantidad de bytes necesarios para su almacenamiento. • Modo de acceso : Se pueden distinguir dos bloques: • Acceso por palabras o RAM (Ramdom Access Memory). • Acceso por bloques. • Velocidad: El tiempo que se tarda en realizar una operación de lectura y escritura. Depende del modo de acceso, la memoria estática esta independiente de la dirección. La memoria dinámica antes de leer el tiempo de acceso es igual al tiempo de búsqueda del sector. 4.− Unidades de entrada/salida El concepto de entrada / salida hace referencia a toda comunicación o intercambio de información entre la CPU a la memoria central con el exterior. La parte de ordenador que permite esta comunicación es la unidad de entrada / salida. Para que se pueda llevar acabo el intercambio de información se deben realizar las siguientes tareas. • Direccionamiento: Selección del dispositivo entrada / salida implicado en la transferencia determinada. • Transferencia: Se hace hacia el dispositivo o desde el dispositivo. • Sincronización: El proceso de acuerdo entre la CPU y el periférico. 4.1.− Direccionamiento de los dispositivos de E/S: Generalmente un ordenador tiene conectados mas de un dispositivo de E/S necesario para disponer de algún mecanismo para seleccionar uno de ellos para que participen en una operación de E/S. 4.1.1.− Estructura con buses separados para memoria y E/S: Todos los dispositivos E/S se conectan al bus de E/S que consta de tres conjuntos de líneas: • De dirección • De datos • Señales de control Si el bus de direccionamiento consta de n líneas se podrán especificar 2 n de direcciones distintas. 4.1.2.− Estructura del computador con E/S mapeada en memoria: 7
En las maquinas de bus único que es el caso de las mayorías de los ordenadores, el mismo bus sirve tanto de bus de memoria como el bus de E/S. En estos casos se suelen tratar los puertos de E/S cono si fueran direcciones de memoria. A esto se le conoce como E/S por mapa de memoria (Memory Mapped I/O). Cuando se utiliza por mapa de memoria se le suele asignar a las cuerdas de E/S la zona contigua de memoria. • Ventajas: ♦ No se requiere instrucciones especificas de E/S ♦ Se pueden usar todos los modos de direccionamiento utilizados para hacer las posiciones de memoria. ♦ Permite disponer de un mapa de E/S más grande. ◊ Inconvenientes: ⋅ Se pierde direcciones de memoria. ⋅ Obliga a un diseño menos limpio se la descodificación. ⋅ Es más difícil mantener la protección del acceso a los periféricos en entorno multiprogramación. 4.2.− Transferencia de datos: • Control de tránsitos de datos: ♦ E/S controlada por programa: En esta técnica la E/S de un dato se logra mediante la ejecución de unas instrucciones especiales que contienen el juego de instrucciones del microprocesador. Solo cuando el computador ejecuta uno de estas instrucciones puede producirse una operación de E/S. La CPU se ocupa de realizar cada una de las transferencias ejecutando instrucciones de E/S y estableciendo la sincronización adecuada. Se utiliza con los periféricos que tienen una velocidad de funcionamiento menor que la CPU y cuyo modo de usuario de funcionamiento es solicitar la transferencia de una palabra o un grupo reducido de estas. ♦ E/S por acceso directo a memoria: Imaginamos un periférico de alta velocidad que tiene que transmitir grandes bloques de datos hacia la memoria o desde la memoria. La E/S controlada por programas en este caso es bastante ineficiente por los siguientes motivos: • En E/S controlada por programas deben ejecutarse varias instrucciones para la transferencia de cada palabra de datos entre el dispositivo externo y la memoria principal. • Muchos de los dispositivos periféricos de alta velocidad tiene un modo de funcionamiento sincrono, es decir, la transferencia de datos la controla un reloj de frecuencia fija independiente de la CPU. • En la mayoría de los casos liberar a la CPU de trabajo será positivo para el rendimiento conjunto del sistema. Controlador DMA (Direct Memory Access).− Este controlador permite la transferencia de datos directa entre el dispositivo y la memoria principal sin intervención de la CPU. Para que este controlador pueda asumir las funciones descritas deba contener: • Un registro para generar la dirección de memoria. • Un registro controlador para llevar la cuenta del número de palabras transferidas. • Un registro para almacenar el comando de la CPU que especifica cual es la operación que debe realizarse. • Un registro que se usa como búfer entre el dispositivo y la memoria principal. 8
• Sincronización en el tiempo: ⋅ E/S asíncrona • Sincronización por consulta de estado (sondeo). En este método es la CPU la encargada de la sincronización realizando periódicamente una cuenta a los distintos dispositivos consultando su situación. Esto se lleva acabo mediante la lectura del contenido de unos de los registros que debe contener el interfaz, el registro de estado, que contiene información a cerca de la situación de periférico en ese instante, en particular el periférico esta preparado para enviar y recibir información, aunque también suministra información adicional tal como la existencia de errores, etc. Para poder aplicar este mecanismo de sincronización el interfaz del periférico deberá tener: • Un registro de datos donde se almacenan temporalmente la información a transmitir hacia o desde el periférico. • Un registro de estado que contiene información a cerca de la situación del dispositivo en particular se esta preparado o no. • Un registro de control donde la CPU escribe las operaciones al realizador Estos son los inconvenientes que tiene el método. • El muestreo debe ser sistemático por lo que el programador debe incluirlo en sus programas. • El muestreo debe ser frecuente y aun si se darán casos de dispositivos que estén listos para enviar datos y tengan que esperar hasta ser sondeados. • Se pierde tiempo de CPU en consultar a dispositivos que no tienen ninguna transferencia pendiente. • El problema se agrega cuando hay muchos periféricos y sobre todo cuando algunos de ellos son muy rápidos o bien requieren una atención inmediata. • Sincronización mediante instrucciones. El uso de instrucciones permite que sean los dispositivos los que interrumpen la ejecución del programa en la CPU cuando están en condiciones de participar en una operación de E/S. Esta interrupción de hace a través de una línea espacial del bus de control una línea que se llama INTR (petición de interrupción). De esta manera la CPU ya no debe comprobar continuamente el estado de los periféricos y pueden utilizar estos tiempos realizando estas operaciones. Cada vez que se produce una petición de interrupción se realizan las siguientes acciones: • Se termina de ejecutar la instrucción en curso. • Si la petición es aceptada, se inhibe total o parcialmente el sistema de interrupciones. • Se guarda el estado de la tarea en pulso y el contador de programas en un registro interno en la pila o en alguna posición determinada de memoria; a continuación se salta a la dirección donde se encuentra la rutina de servicio de la interrupción. A partir de este instante este programa toma el control. • Tratamiento de la interrupción es la ejecución de las tareas asociadas con el servicio de una interrupción concreta. • Restitución del estado de l atarea interrumpida. • Rehabilitación, en el caso que sea preciso hacerlo del sistema de interrupciones. • Retorno al programa interrumpido.
9
⋅ E/S sincrona. 4.2.1.− Gestión de prioridades en la E/S. Concepto.− El problema de las prioridades se dan siempre que existe un recurso único a compartir por varios usuarios que pueden efectuar peticiones simultáneas. Serán necesarios disponer de un mecanismo para dilucidar quien será atendido primero y establecer el ritmo de servicio tanto a este como a los demás. En el sistema de sondeo la prioridad se implanta de forma inmediata según el orden y frecuencia en que se consulta los periféricos. En el sistema de interrupciones una vez que se inicia el tratamiento de una determinada interrupción la rutina de servicio se puede ejecutar hasta el final sin que se admita una segunda interrupción, sin embargo, para algunos dispositivos es necesario que se organice unos niveles de prioridad de manera que la petición de una interrupción de un dispositivo de alta prioridad sea afectado por la CPU, incluso cuando esta atendiendo la petición de otro dispositivo de menor prioridad. Esta organización en niveles de prioridad significa que durante la ejecución de una rutina de servicio se podrán aceptar las peticiones de interrupción de algunos dispositivos pero no de otros dependiendo de la prioridad de los mismos. 5.− Los Buses. A los anteriores elementos básicos que defienden la estructura de un ordenador hay que añadir los componentes de comunicación; es decir los enlaces y los conmutadores. Un enlace es u componente que permite la transmisión de información entre los dispositivos. Un conmutador es un elemento encaminador de información que permite llevar acabo difulcaciones del tráfico de datos entre varios caminos a través de enlaces. *Nota: M.P. es el microprocedor. El tipo mas corriente de elemento de comunicación en los computadores es el bus. El bus consta de un camino que permite comunicar selectivamente un cierto número de componentes o dispositivos de acuerdo a unas ciertas reglas o normas de conexión. La operación básica del bus se determina ciclo de bus que permite realizar una transferencia elemental entre dos de los dispositivos conectados a él. 5.1.− Características de los bus. • La banda base.− La comunicación se hace en banda base, es decir, la comunicación se envié por el bus directamente sin ninguna modificación. • Grado de paralelismo.− El bus puede ser serie cuando solo puede transmitir bit a bit pero usualmente es paralelo permitiendo transmitir simultáneamente toda una palabra. Bit = 0.1 Palabra byte = 8 bits Serie =
10
Paralelo = • Temporización.− el bus puede ser de ciclo completo o de ciclo partido. En el ciclo completo ocupa el bus durante todo el tiempo que dura la transferencia de una información elemental entre los dos dispositivos que se comunican. Por el contrario en el ciclo partido se divide el tiempo del bus en una serie de pequeños periodos o ranuras (TIME SLOTS), cada una de las cuales sirve para enviar un mensaje. El bus de ciclo partido es más complejo pero permite transmitir una mayor caudal de información. La Temporización del bus puede ser sincrona o asíncrona. En el primer caso existe un único reloj que determina el inicio y el fin de los ciclos o de las ranuras mientras que en el segundo caso la temporización la establece los distintos de acuerdo con sus necesidades. Ciclo Completo 0I__________I Ciclo Partido 0I__0I__0I__0I__0I__0I • Modo de operación.− Se refiere a la forma que se establece el dialogo entre dispositivos para realizar las transferencias, puede ser sincrono o asíncrono. No debe confundirse este tipo con sincronismo con el anterior aunque con frecuencia van juntos. • Estrategia de control.− El bus desde un punto de vista físico puede considerarse como un elemento totalmente pasivo en el caso mas sencillo la CPU es el único dispositivo maestro que controla todas las transferencias siendo esclavo al resto de los dispositivos. En otros casos existen maestros temporales por ejemplo dispositivos que pueden pedir a la CPU robos de ciclo para hacer accesos directos a memoria. Finalmente pueden existir varios maestros que se reparten entre ellos el uso del bus. • Longitud.− El bus se diseña por una longitud máxima de acuerdo con su aplicación. • Velocidad.− El bus tiene una velocidad de transmisión que depende de su longitud, del medio empleado para hacer las conexiones (partes de hilos convencionales, cables coaxiales, fibra óptica, etc.) y de la lógica de control. La velocidad de transmisión multiplicada por el paralelismo estable el caudal que es capaz de soportar. • Capacidad de conexión.− Se refiere al máximo número de elementos que se puede conectar al bus. Esta capacidad puede venir limitada por un problema de direccionamiento o por un problema de diseño electrónico. • Tipos de ciclo.− El bus puede estar diseñado para soportar una serie de ciclos tales como los siguientes: ♦ Ciclo de lectura de un esclavo por un maestro. ♦ Ciclo de escritura de un maestro a un esclavo. ♦ Ciclo de DMA (Robo de ciclo de escritura o lectura). ♦ Ciclo de interrupción. • Soporte.− El soporte del bus es el material empleado para hacer la conexión física de los distintos dispositivos. La selección de soporte se hace en base a consideraciones tales como distancia del bus, velocidad requerida, sensibilidad al ruido, paralelismo, ubicación, etc. Entre otros soportes pueden ser los siguientes: • Pistas de circuito impreso. • Cables (pares de cables trenzados). • Fibra óptica. Memoria CPU
11
Unidad de E / S Interfaz E / S Periférico 1 Periférico n Periférico n Periférico 2 Periférico 1 Interfaz E/S M Interfaz E/S 1 CPU Memoria Memoria Dirección de Memoria CPU Bus memoria Controlador DMA Controlador de palabras Memoria intermedia Circuito de control Interfaz E/S Perifé.
12
Lento Interfaz E/S 1 Periférico Rápido Bus E/S M.P. M.P. Periférico Periférico Periférico Periférico •
13