UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 UT1: Estructura de una computadora. Sistemas de numeración binaria. 1.- Procesamiento Analógico – Digital El tránsito de la Electrónica a la Microelectrónica está caracterizado por el cambio en el Modo de Operación de Procesamiento Analógico a Digital. Originalmente el procesamiento de señales se realizaba casi siempre en forma analógica, siendo uno de los casos más comunes, por lo cotidiano, el hablar por teléfono. Al hablar por teléfono, se observa que las ondas sonoras generadas por la persona que habla son transformadas por el micrófono en señales analógicas o sea señales eléctricas de tensión y frecuencia correspondientes a las ondas sonoras, las que a continuación se transmiten de esta manera a través del cable. En el auricular de la persona receptora y/o que escucha, las oscilaciones eléctricas se transforman nuevamente en ondas sonoras completándose la comunicación. Este mismo caso sirve de ejemplo para pasar del mundo analógico al digital y viceversa, ahora al hablar por telefonía digital, se observa la transición del modo analógico al digital ya que las mismas ondas sonoras generadas por la persona que habla son transformadas por el teléfono en señales digitales, las que a continuación se transmiten de esta manera a través del aire en telefonía celular, pasando por sucesivas procedimientos de conversión de señal analógica a digital y , de digital a analógica. En el auricular de la persona receptora y/o que escucha, las oscilaciones eléctricas se transforman nuevamente en ondas sonoras completándose la comunicación. La relación sería, pasar de señales analógicas a digitales cuando hablamos y transmitimos, luego cuando recibimos, o hacemos en señales digitales a las que luego se convierten a analógicas para que físicamente la podamos escuchar. De manera que en los sistemas telefónicos digitales se reemplaza la transmisión analógica por métodos de transmisión digital, aunque siempre escuchamos señales analógicas. No se transmite una corriente que corresponde al nivel sonoro momentáneo, como era la comunicación analógica, sino que una secuencia de impulsos indica los valores numéricos de la presión acústica. Gráficamente se indica el paso de procesamiento analógico al digital en la Fig.1 ) Procesamiento Analógico - Digital. La señal analógica se divide en muestras tomadas (o medidas) en intervalos muy pequeños. Corresponde para un sistema de 16 bits la cantidad de 65536 muestras/seg (216 ), y para un sistema de 32 bits la cantidad de muestras/seg serían de 232 muestras/seg. Más detalle de bit se verá en el punto2). Cuanto mayor es la cantidad de muestras, se aumenta la probabilidad de reproducir con precisión una señal analógica digitalizada como se observa en los ejemplos de la Fig.1) y Fig.2) siguientes. 1/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 2/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 2.- Sistemas de numeración binaria La elaboración, procesamiento y transmisión de la información digital se realiza mediante la representación binaria la que se utiliza para diferentes aplicaciones, unas de las cuales es la indicada en el Ejemplo de Sistemas Telefónicos y su analogía con un Computador al final del presente escrito. El sistema de numeración binaria está relacionado con otros sistemas de numeración como el decimal, hexadecimal y octal. Asociados al sistema de numeración binaria se encuentran el código decimal binario, BCD, Binary Code Decimal, el código de Gray y el código ASCII ( American Standard Code for Information Interchange). Estos códigos así como las operaciones numéricas se verán en forma específica en otras asignaturas de la carrera. En forma sintética se puede decir que el código decimal binario (BCD) es un código ponderado que se utiliza comúnmente en sistemas digitales cuando se necesita mostrar números decimales tal como un display de reloj; el código Gray es un código sin ponderación que cambia sólo un bit entre una palabra de código y la siguiente en una secuencia, se utiliza para evitar problemas en sistemas donde un error puede ocurrir si más de un bit cambia en una transición en secuencia; el código ASCII es un código de caracteres alfanuméricos y caracteres de control con un total de 128 caracteres originalmente, y en 1981, IBM introdujo el código ASCII extendido, el cual es un código de 8-bit y se aumentó el conjunto de caracteres a 256. En la Fig.2) Representación Binaria se observa que una Señal Analógica es digitalizada o representada en escalones con valores numéricos sin inclusión de valores intermedios. La cantidad de escalones por unidad de tiempo puede variar, dependiendo de la exactitud con la que se quiera reproducir la señal analógica. A mayor cantidad de escalones le corresponde una mayor aproximación a la curva real. La altura de los escalones, cada altura equivale a una muestra, se puede representar de distintas maneras, una de las cuales es indicar la altura con un número decimal, como ser identificando 16 unidades de altura mediante un número entre 0 a 15.La otra forma es utilizando dos números 0 y 1 ó combinación de los mismos para representar la altura como lo indica la Fig.2). Cada muestra es cuantificada mediante niveles de tensión 7, 5, 4 Volts, etc. Cada uno de los valores cuantificados se traduce a una combinación de 0 y 1, y se codifica en la forma de un tren de impulsos eléctricos. Tomando como ejemplo las Figuras 2 b) y 2 c) los escalones identificados con los valores 7, 5 y 4, equivalen a la combinación de 0 y 1 siguiente: 7 ----- 111 5 ------ 101 4 ------ 100 Esta forma de representar un número decimal con 0 y 1 se conoce como numeración binaria por tener base 2. El sistema de numeración con la base más pequeña al tener dos dígitos, 0 y 1, es el binario. En numeración binaria un número se representa como la suma de sucesivas potencias de base 2.Tomando como ejemplo los números binarios 111, 101, 100 la equivalencia decimal es: 3/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 1 x 2^2 = 4 1 x 2^1 = 2 1 x 2^0 = 1 -----7 1 x 2^2 = 4 0 x 2^1 = 0 1 x 2^0 = 1 -----5 1 x 2^2 = 4 0 x 2^1 = 0 0 x 2^0 = 0 -----4 Una tabla de conversión entre un número decimal con base 10 y un número binario con base 2, se indica en la Tabla 1). Cualquier otro sistema de numeración como el Octal (base 8) o Hexadecimal (base 16) se puede representar como combinaciones de 0 y 1 a forma binaria ocurriendo lo mismo si queremos pasar de cualquiera de esos sistemas al binario. Tabla 1) Tabla de Conversión BINARIO DECIMAL 2^4 2^3 2^2 2^1 2^0 10^2 16 8 4 2 100 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 10^1 10 1 1 1 10^0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 La representación Binaria posibilita que toda información elaborada o manejada por una Computadora tenga como base el elemento de 2 estados o elemento Binario. En el Sistema Binario se utilizan dos dígitos (0-1) mientras que en el Sistema de Numeración Decimal se utilizan 10 dígitos ( 0 - 9 ). El sistema binario permite relacionar la forma de trabajar de la circuitería digital con la transmisión y tratamiento de la información codificada en base a los 0 y 1. Se pueden codificar en binario todas las letras desde la A hasta la Z, números decimales y símbolos como + , - , % , *, $ , etc. Esto significa que los dispositivos electrónicos reconocen únicamente la forma de funcionamiento SI - NO similar a una Llave (Conduce - No Conduce / SI - NO). 4/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 S Vcc iL L - La Llave S en posición Abierta se indica con NO ó Lámpara Apagada y le corresponde 0 - La Llave S en posición Cerrada se indica con SI ó Lámpara Encendida y le corresponde 1 1 - En total hay 2 = 2 combinaciones posibles de la Llave S De la técnica binaria, que opera con dos niveles lógicos 0 y 1, surgen circuitos básicos para elaboración y tratamiento de información como son las Compuertas AND (Y) , OR (O) y circuitos de negación como NOR y NAND. A partir de estos circuitos básicos se obtienen circuitos para funciones más complejas como comparadores, contadores, sumadores, etc. Las diferentes funciones de los circuitos son programables lo que significa que un mismo circuito mediante una serie de ordenes que constituyen un programa, pueden ser adaptados en su función a distintas operaciones de acuerdo a los requerimientos específicos por parte del usuario. Por lo tanto mediante un conjunto de ordenes de un programa o SOFTWARE se determina la manera de trabajar de la parte FISICA/CIRCUITO/HARDWARE. El circuito integrado programable más difundido en Informática es el MICROPROCESADOR (μP) en relación con el surgimiento y posterior desarrollo de computadoras. A este elemento se agrega el MICROCONTROLADOR (μC) de amplia difusión en dispositivos electrónicos e aplicaciones específicas. El Microprocesador más el agregado de otras unidades funcionales como las memorias, circuitos de entrada/salidas y generador de cadencias constituyen las partes esenciales de una Microcomputadora. La manera de trabajar de los circuitos lógicos similar a una llave, es la base de funcionamiento de las Computadoras Digitales ya que se fundamenta en la Presencia / Ausencia de Tensión (o de Información), Encendido/Apagado, ON/OFF correspondiendo un Nivel Lógico de 0 o 1 respectivamente. La unidad elemental de información se conoce como Bit (Binary Digit) y puede tomar los valores “0” y “1”, de forma tal que la presencia o ausencia de un “0” o “1” da un Bit de información. Un Byte equivale a 8 Bits. Cuando un P es de 8 Bits significa que la línea de datos es de 8 Bits y puede 8 transmitir hasta 2 posiciones o combinaciones de 0 y 1. 5/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Ejemplos : 1 1 Bit representa 2 estados - 2 2 Bits “ 4 “ 2 -2 3 3 Bits “ 8 “ -2 ......................................................... ......................................................... n Bits “ 2 n “ n -2 3.- Funciones Lógicas Las diferentes funciones lógicas como las compuertas AND, OR y NOR , tienen asociadas una Tabla de Funcionamiento o Tabla de Verdad que indica la forma de trabajar de las mismas. Es conveniente tener presente que: Nivel Lógico 1 VERDADERO Nivel Lógico 0 FALSO SI NO +V 0V Tabla 2) Tabla de Verdad de algunas compuertas Entrada Salida S1 S2 OR AND NOR 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 Fig.3) Circuitos asociados a funciones lógicas elementales a) Compuerta AND b) Compuerta OR S1 S1 S2 S2 Vc Vc iL Símbolo Lógico iL L L Símbolo Lógico 6/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 S1 S1 S2 S2 La denominación de compuertas AND, OR, NAND, NOR , etc., provienen de la función lógica y no de la matemática. Una compuerta AND se puede construir con interruptores como lo incida la Fig.3.a). Se enciende la lámpara L si los dos interruptores S1 y S2 están cerrados, por lo tanto a la salida tenemos un 1 (ON / ENCENDIDO). Caso contrario uno cualquiera de ellos que esté abierto la lámpara L permanece apagada y tenemos un 0 a la salida (OFF / APAGADA). En la compuerta OR, Fig. 3.b) tenemos un 1 a la salida, equivalente a lámpara encendida, si uno de los interruptores S1 ó S2 están cerrados. Si S1 y S2 están abiertos tenemos un 0 a la salida y L estará apagada. El funcionamiento de ambas compuertas responde a la Tabla 2) anterior. A partir de los ejemplos de funcionamiento de compuertas AND y OR estamos en condiciones de establecer que la combinación de varios Circuitos Lógicos o Biestables (Flip - Flop) permite representar letras, números y símbolos especiales .Dependiendo de la cantidad de dichos elementos se puede hablar de la capacidad de memoria o de almacenamiento que tiene una Computadora. Los circuitos electrónicos involucrados en una Computadora trabajan más rápidamente reconociendo la Ausencia o Presencia de 0 y 1 que trabajando en la forma Analógica. Cada carácter, letra o símbolo, requiere para su representación de una determinada cantidad de Bits. Esta representación depende del tipo de máquina y para el caso particular de un P como el Z80 es de 8 bits. Agrupando varios caracteres se forma lo que se conoce como Palabra. Ejemplo: A7Z$ --- es una palabra que significa algo en algún programa, no significa nada en Castellano . 1 Carácter (letra o Número ) = 1 Byte = 8 bits. 4.- Estructura Básica de una Computadora Una Computadora es un dispositivo electrónico utilizado para procesar datos e información y obtener resultados. En cualquier operación con computadora existen tres partes diferenciadas: datos significativos, procesamiento o interpretación de los datos, e información resultante. Las partes básicas de una computadora son la CPU, unidad central de procesamiento, la Memoria y los elementos o unidades de entrada/salida (E/S, ó de I/O). La CPU tiene funciones básicas como las de leer instrucciones, realizar operaciones aritméticas y lógicas, y almacenar temporalmente instrucciones o datos en registros internos. La Unidad de memoria almacena 7/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 programas, datos e información. Por último las unidades de I/O realizan la comunicación entre la CPU con los llamados periféricos externos como teclado, monitor, impresora, mouse, etc. La conexión entre los distintos elementos de una computadora se realizan través de los llamados buses que hacen a la comunicación interna y son tres: bus de direcciones, bus de datos y bus de control. A continuación se procede a detallar el alcance de los diferentes temas mencionados anteriormente. Un Dato es la Unidad de información ó cualquier información utilizada ó que interviene en la realización de una decisión ó proceso de cálculo. Los datos son símbolos que agrupados ordenadamente describen Hechos ó Entidades, Ejemplos: letras, números, dibujos, caracteres especiales, movimientos de los labios y manos, etc. Los Hechos son los sucesos o acontecimientos que ocurren en un instante determinado. Ejemplos: un accidente de autos, un examen final, compra de un libro, etc. Las Entidades son los símbolos que representan a personas, lugar ó cosa. Ejemplos: un alumno una calle, un auto , etc. Cualquiera sean los símbolos, para que sean reconocidos como datos deben ser significativos o sea que deben satisfacer las condiciones siguientes : - Reconocibles o Posibles de Interpretar. Ejemplo: 25/05/1810 tiene significado para los argentinos pero no para los habitantes de otros países. - Integramente Disponibles. Ejemplo: nombre de una persona Ro ...... Fe.......Esta manera de indicar no representa nada, en cambio poner el nombre completo de una persona ,Roberto Fernandez , si tiene significado. - Inequívocos : es clave conocer el contexto al cual pertenecen. Ejemplo: 212184. En sí mismo no tiene significado salvo que agreguemos referencias como ser Nro. Tel, $,Código especial, Patente, etc. - Relevantes (Pertinentes ) : Son los efectivamente importantes para tomar una decisión. Ejemplo: “Ir a un lugar “. Necesitamos conocer la dirección, líneas de omnibus, trenes que pasan por el lugar, etc. En cambio no necesitamos conocer el nombre del chofer, color del vehículo, estado de la economía, etc , puesto que no hacen al tema planteado. Procesamiento de los datos: las personas como las organizaciones y/ o dispositivos necesitan datos que son necesarios procesar para obtener información. Para ello es imprescindible efectuar una clara identificación del Objetivo y su relación con la información necesaria para tomar decisiones. Ejemplo : “ir al cine a ver una determinada película “. El proceso agrega inteligencia al dato para obtener información. Información es el significado que les da a los símbolos quién los interpreta y se puede decir que es el elemento tangible o intangible que permite reducir la incertidumbre acerca de algún suceso, hecho o situación para tomar una decisión. Ejemplos: “va a llover”, “aumentarán los combustibles”. 8/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 DATOS PROCESO Cartelera de Cines Buscar película de interés INFORMACION Identificar Cine donde la pasan TOMAR DECISIONES Ver la película de interés Las partes principales que intervienen en cualquier procesamiento son: Dispositivo de Entrada (a) Computadora (b) Dispositivo de Salida (c) (a) Permite ingresar datos e información (b) Efectúa el procesamiento de los datos según la instrucciones las que también se introducen por el dispositivo de entrada. (c) Permite presentar o sacar la información resultante como producto del procesamiento. Relacionados con el Procesamiento indicado se encuentran dos elementos básicos y usados con familiaridad en Informática: Hardware y Software. HARDWARE (HW): es la parte física ó materialmente existente, incluye circuitería, teclado, pantalla y demás elementos tangibles. SOFTWARE (SOFT): es la parte blanda ó materialmente inexistente, es intangible y son los programas , la lógica. Modificando el esquema anterior la Estructura clásica de una computadora está formada, básicamente , por tres unidades CPU ( Unidad Central de Proceso ) , Memoria y Dispositivos de Entrada /Salida ( Input/Output) interconectadas mediante líneas o buses de la manera siguiente : MEMORIA C P Bus: líneas o Caminos de Datos e Información U Bus: Líneas o Caminos de Control I/O 9/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Las funciones de cada uno de estos Bloques se indican en párrafos siguientes, previo a lo cual presentaremos una Estructura de Computadora más completa como la que a continuación se muestra: MEMORIA Datos Dispositivo de Entrada RAM - ROM, Hard Disk , etc. Programas Información Datos Instrucciones ALU + Registros MEMORIA AUXILIAR Dispositivo de Salida CONTROL L CPU Figura 4 ) La descripción de las partes fundamentales de una Computadora teniendo en cuenta la estructura de la Fig. 4 ) se indica en los párrafos siguientes. MEMORIA Contiene datos y programas que son necesarios para realizar operaciones más complicadas que una simple suma, puesto que es un dispositivo cuya función es la de guardar o almacenar números, instrucciones y resultados durante un proceso de cálculo. Dato: Unidad mínima de información ó cualquier información utilizada o que interviene en la realización de una decisión o proceso de cálculo. Programas: es una secuencia de instrucciones ejecutables por la CPU ó secuencia lógica de instrucciones. Un Programa es una secuencia de instrucciones que le dicen a la Computadora como realizar una tarea determinada. Como ejemplo consideremos un simple proceso de sumar dos valores y guardar el resultado en una posición de memoria: Datos de Memoria: - Posición A - Posición B Valor X Valor Y Programa: - Tomar X de la Posición A de memoria. - Sumar Y de la Posición B de memoria. 10/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 - Almacenar el Resultado en la Posición C de memoria. Hay distintos tipos de componentes electrónicos como las llamadas memorias con características propias de funcionamiento que son utilizadas dentro de una Computadora. Ellas son: RAM - RAMDOM ACCESS MEMORY: Memoria de Lectura y Escritura. Es una memoria de acceso directo por el P , es volátil y se conoce como memoria de trabajo. Almacena provisoriamente los programas en ejecución , datos procesados y resultados obtenidos. Como ejemplo se puede mancionar que una RAM de 1Kbyte es equivalente a : 1 kbyte = 210 =1024 Bits en cada celda de memoria podemos guardar 8 Bits de información y en total hay 1024 celdas. Pueden ser del tipo SRAM o DRAM. Las memorias DRAM con dinámicas y necesitan refrescarse periódicamente mientras que las SRAM son estáticas y la información almacenada se mantiene hasta que se desconecte la alimentación eléctrica a la computadora. Las SRAM con tiempos de acceso típicos de, por ejemplo , 20 ns ( 20 nanosegundos ) son más rápidas que las DRAM con valores típicos de 70 ns (70 nanosegundos). Estos valores son de referencia puesto que están superados en la actualidad. ROM - READ ONLY MEMORY : Memoria de lectura solamente. Es la responsable de la puesta en funcionamiento del computador y del arranque del mismo. Viene grabada por el fabricante con los programas de Inicialización y se denomina BIOS CMOS Setup Programs. PROM - Programmable Read Only Memory : Memoria de lectura solamente , su función es similar a la ROM, pero se diferencia en que puede ser grabada y reprogramada por el usuario por única vez. EPROM - Erasable and Programmable Read Only Memory Idéntica a la ROM pero se la puede borrar con rayos ultravioletas y volver a programar varias veces. Una vez grabada y durante el funcionamiento normal del Computador su uso sigue siendo de Lectura solamente como una ROM convencional. EEPROM - Electrical Erasable Programmable read Only Memory : Es una memoria de lectura solamente, programable y borrable electricamente desde el correspondiente grabador y por intermedio de una PC. Existen dos grandes clasificaciones de Memorias de acuerdo al Tipo de Almacenamiento , se diferencian en la función que cumplen dentro de la computadora y se denominan Memoria Primaria o Rápida y Memoria Auxiliar ó Secundaria : - Memoria Primaria /Rápida: es la que viene con el computador .Puede ser cualquiera de las indicadas anteriormente a las que se agrega el Disco Duro o Hard Disk si es la memoria principal. Su tiempo de acceso es breve , para una DRAM ( RAM dinámica ) es de 80 200 nsg. El tiempo de acceso es el tiempo que se tarda en extraer o colocar información en la Memoria 11/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 y es independiente del lugar en que la información está alojada dentro de la Memoria. - Memoria Auxiliar/Secundaria: se utiliza de respaldo de los datos y programas guardados en la memoria principal. Pueden ser: los antiguos Disquetes - Discos Flexibles, (Floppy Disk 5 ¼ 1,2 MB); Microdiscos (3,5 - 1,4, MB), Cintas magnéticas, impresiones en papel continuo, ZIP , CD ( disco compacto), DVD (Digital Versatile Disc) o Disco Versátil e incluso otro Disco Duro. Los Floppy Disk no se utilizan por obsolescencia. Memoria FLASH USB (Universal Serial Bus): también llamados ((llaveros USB)), fue creado por la empresa Pen Drive. Es un dispositivo pequeño, cómodo, resistente, tiene una gran capacidad de almacenamiento y muy sencillo de utilizar. Actualmente hay de 2,4,6,8, 16 y 32 GBytes o más. Su capacidad de almacenamiento es cada vez mayor y su precio es menor. Por su características de funcionamiento la Memoria Secundaria puede se de tipo “ on line “ si está disponible en todo momento como otro disco duro y “ off line “ si es un dispositivo removible como es el caso de ZIP , CD , DVD, etc. Como una computadora maneja una gran cantidad de información ya sea por datos o programas involucrados en los diferentes problemas a resolver, se requiere de una ayuda o respaldo del contenido de la Memoria Principal ante cualquier accidente que pueda ocurrir durante el procesamiento ó como una medida simple de descargar la Memoria Principal de datos y programas con uso no muy frecuente. La colocación o extracción de información de la Memoria Auxiliar es más lenta en comparación con la Memoria Principal salvo cuando el respaldo es otro Disco Duro o un CD. CPU - UNIDAD CENTRAL DE PROCESO Es la unidad encargada de ordenar y controlar el funcionamiento de los restantes bloques del computador. Dirige la ejecución de los programas, ejecuta las instrucciones de los programas almacenados en la memoria, controla la transferencia de datos entre la CPU, Memoria y dispositivos de Entrada / Salida, responde a las solicitaciones de servicio de los periféricos. Sin olvidar las funciones de control, la secuencia de acciones principales que sigue la CPU ante el requerimiento de un programa son: - LEE instrucciones. - DECODIFICA: trata de entender lo que dicen las instrucciones y luego las ejecuta. - EJECUTA: - LEER datos de Memoria. - LEER datos de I/O. - ESCRIBIR datos y programas en Memoria. - RELIZAR OPERACIONES aritméticas y lógicas. La ejecución de una Instrucción en particular implica un Proceso como el detallado a continuación: 1.- Leer de memoria la instrucción a ejecutar y guardar en un registro interno de la CPU. 12/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 2.- Identificar la instrucción que se acaba de leer. 3.- Comprobar si la instrucción necesita utilizar nuevos datos ubicados en la memoria y en caso de ser Necesario, define de qué lugar lo busca. 4.- Buscar los datos en la memoria y traerlos a la CPU. 5.- Ejecutar la instrucción específicamente requerida y puede volver a comunicarse con la memoria ú otro Elemento externo a la propia CPU. 6.- Volver al punto 1) para ejecutar una nueva instrucción. La CPU se fabrica en un mismo circuito integrado, llamado Microprocesador, y tiene dos partes esenciales: CONTROL y ALU. CPU CONTROL ALU + Básicamente decodifica instrucciones Ejecuta las instrucciones Registros Dentro de la CPU: El CONTROL: Decodifica las instrucciones, efectúa el control de la información y funcionamiento de la ALU. Da señales que controlan diversas operaciones: - Lectura /Escritura de Memoria. - Decodifica Instrucciones. - Transmisión de Datos a través de I/O. - Funcionamiento de ALU. La ALU: Ordena las operaciones a realizar por el computador, siendo el que ejecuta las instrucciones. Tiene, a su vez, dos partes principales: HW y REGISTROS. - HW(Hardware): permite realizar operaciones lógicas y Aritméticas ( +-, AND , OR , % , * ,SHIFT ,etc). - REGISTROS: Es una colección de Flip-Flop donde puede guardarse información ,operandos y resultados. Los principales registros son : - MDR - Memory Data Register: Registro en el que se copian los datos leídos o a escribir en memoria. - MAR - Memory Address Register: Registro donde se copia la dirección a operar en memoria. 13/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 - PC - Programa Counter: El registro contador de programa contiene la dirección de memoria de la próxima instrucción a ejecutar por el microprocesador. - IR - Instruction Register: El registro de instrucción contiene el código de la instrucción a ser ejecutada. Luego de leer la instrucción de la memoria externa el microprocesador la guarda en este registro interno para su posterior decodificación. - Status Register: el registro de estado (SR) informa sobre el estado distinto de la última operación realizada por ALU como es el caso si el resultado de una operación es negativo , cero , si hay acarreo en la suma, ,desbordamiento u overflow, etc. A partir de esta información se pueden tomar decisiones como ejecutar saltos a otro lugar del programa.El registro SR está formado por un número de bits individuales con sus propios significados que se denominan banderas. Como ejemplos se pueden citar bandera de acarreo C, bandera de cero Z, bandera de signo negativo N y bandera de overflow V. Una CPU se relaciona con la Memoria y demás bloques a través de los llamados Buses, que son un conjunto de conectores que transportan información (datos, controles y direcciones) y que están unidos por tres grupos de caminos identificados como Bus de Datos, Bus de Control y Bus de Direcciones: C P U Bus de Datos o Data Bus. Es Bidireccional, la información puede transmitirse en ambos sentidos o se que puede recibir y proporcionar, y puede ser de 8 Bits o más. Se utiliza para transmitir los datos a escribir en memoria o es donde la memoria pone los datos leídos por un programa. El tamaño de 8, 16, 32 bits indica la cantidad máxima de palabras que se puede transmitir en una sola operación. Bus de Control: tiene las líneas RD (Read - lectura) y WR (Write - escritura). Es unidireccional y tiene de 13 a 16 líneas dependiendo de las funciones de control que disponga. Se utiliza para sincronizar las operaciones de los diferentes elementos que componen una computadora. Bus de Direcciones o Address Bus. Es Unidireccional o sea que la información se transmite en un único sentido y puede ser de 8,16, 32 Bits o más. Para un microprocesador de 16 bits puede generar 216 = 65.536 ( 64 K) de direcciones diferentes Una muestra según lo expresado anteriormente se presenta en el siguiente esquema: 14/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 C P U Bus Direcciones Bus Control Periférico de Entrada Periférico de Entrada Bus Datos Unidad de Memoria Es usual que la CPU , Memoria y circuitos integrados que manejan los dispositivos periféricos del sistema así como la comunicación entre las diferentes partes se encuentren alojados en una denominada “Placa Base “ que entre otros elementos tiene un microprocesador y varias unidades de memoria. Esta placa base también llamada Mother Board (placa madre) tiene además zócalos o conectores múltiples que permiten enchufar en ella módulos adicionales según el uso en particular de cada computadora. Con n bits se pueden obtener hasta 2n palabras diferentes de n bits cada una. Si se identifica cada una de estas palabras con una dirección específica de memoria, un registro de n bits puede señalar cualquiera de 2n posiciones o direcciones de memorias posibles. Este número representa la capacidad de manejo de memoria. Con 8 bits se puede direccionar 28 = 256, con 16 bits hasta 216 = 65.536 (64K) y con 32 bits hasta 232 = 4.294.967.296 ( 4G) posiciones de memoria, de este manera se aumenta la cantidad de direcciones de memoria. Con la dirección apropiada en el bus podemos leer de la memoria la instrucción que se va a ejecutar. La transferencia de los bits que forman la instrucción se realiza a través del bus de datos, que conecta la memoria con la unidad de control de la CPU. La Unidad de Control (UC) recoge esta información ( la instrucción) en un registro llamado registro de datos por estar conectado directamente al bus de datos. Una vez que la instrucción se encuentra en la CPU, parte de dicha instrucción, el código de instrucción es transferido a un registro de la UC llamado “registro de instrucciones”. Se puede continuar con el proceso pero lo que interesa para ente nivel de estudios es aclarar que tanto los datos como las instrucciones van por el Bus de Datos. Es usual que la CPU , Memoria y circuitos integrados que manejan los dispositivos periféricos del sistema así como la comunicación entre las diferentes partes se encuentren alojados en una denominada “Placa Base “ que entre otros elementos tiene un microprocesador y varias unidades de memoria. Esta placa base también llamada Mother Board ( placa madre) tiene además zócalos o conectores múltiples que permiten enchufar en ella módulos adicionales según el uso en particular de cada computadora. Proceso de Lectura y Escritura en Memoria La CPU realiza el proceso de lectura y escritura sobre la memoria según el detalle siguiente : 15/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 C M D R P U Bus de Datos Bus de Direcciones M A R Bus de Control M E M O R I A Fig.5) Proceso de escritura en la memoria: 1.- Copiar los datos a escribir en RAM en el MDR. 2.- Copiar la dirección de RAM donde se van a escribir los datos en el MAR 3.- Enviar una señal de RD / WR de escritura (WR) en RAM. 4.- Esperar el tiempo necesario para que los datos se copien en RAM. Proceso de lectura en la memoria: 1.- Copiar la dirección a leer de RAM en el MAR. 2.- Enviar una señal de RD / WR de lectura (RD) en RAM. 3.- Esperar el tiempo necesario para que la RAM escriba los datos en el MDR. MICROPROCESADOR Es un circuito integrado conocido como chip o microchip compuesto por miles o millones de componentes electrónicos como transistores, diodos y otros componentes que formando circuitos eléctricos se ubican en una pequeña pastilla de material semiconductor del orden de los milímetros cuadrados. El Semiconductor es un elemento que se caracteriza por comportarse como un conductor de la corriente eléctrica o como un aislante, no dejando circular corriente eléctrica, lo cual depende de diversos factores, como por ejemplo el campo eléctrico o magnético, la presión, la radiación que le incide, o la temperatura del ambiente en el que se encuentra. El material semiconductor más usado es el silicio, al que le sigue el germanio. Al microprocesador se conoce como el cerebro de una computadora, y es el encargado de ejecutar los programas, previamente desarrollados, probados, mejorados y almacenados. Forma parte de la CPU o unidad central de procesamiento. También se puede decir que es un dispositivo digital encargado de llevar a cabo las operaciones indicadas por los programas, software, en los cuales se pueden distinguir Instrucción ó conjunto de símbolos que representa una orden de operación o tratamiento para el computador, y Programa ó conjunto ordenado de instrucciones que indican al computador una tarea completa o procesamiento de datos e información. 16/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Los microprocesadores más conocidos actualmente son los fabricantes como AMD e Intel. No se puede dejar de mencionar aunque sea muy brevemente la nanoelectrónica. Un nanómetro es la mil millonésima parte de un metro. Un microprocesador de los que van dentro de un smartphone tiene ocho mil o nueve mil millones de transistores. Si hace 40 años se colocaban entre mil y diez mil transistores en un chip, hoy en día se puede hablar de miles de millones gracias a la nanotecnología. A continuación se hace una breve descripción de la nanoelectrónica en relación con electrónica. La electrónica se ha dedicado desde sus inicios a hacer los elementos o componentes de uso habitual en dicha especialidad, de tamaños reducidos y con un aumento considerable de las funciones de dichos elementos, a través de las diferentes escalas de integración, lo cual produce incremento de las potencialidades de aplicaciones con mayor calidad que antes. Para dar un ejemplo simple, actualmente hay Circuitos Integrados que tienen varios miles de componentes en una pequeña superficie, inferior a 1 Cm2. Para tener una referencia más precisa de las dimensiones se presenta la siguiente tabla. Escala de integración SSI: pequeña escala de integración MSI: media escala de integración LSI: gran escala de integración VLSI: Muy integración alta escala Tabla de dimensiones Nº componentes Cantidad<100 100 <Cantidad <1.000 +1.000< Cantidad <10.0000 de ULSI: Ultra alta escala de integración +10.000<Cantidad<106 Cantidad> 106 Aplicaciones típicas Puertas lógica y biestables Codificadores, sumadores, registros... Circuitos aritméticos complejos, memorias... Microprocesadores, memorias, microcontroladores... Procesadores digitales y microprocesadores avanzados En lo que respecta a electrónica la miniaturización se viene produciendo en forma continua desde la aparición del transistor hace más de 60 años. Para tener una mejor idea acerca de las dimensiones, el primer procesador creado por Intel en 1971 tenía 2.300 transistores y el Core 2 quad (tecnología de 4 núcleos) llega a los 820 millones de transistores, en un pequeño cuadrado de silicio del tamaño del pulgar. La miniaturización es de tal magnitud que las dimensiones son imperceptibles a simple vista y de manera paralela se produce un desarrollo equivalente en los instrumentos electrónicos para poder visualizar tamaños tan reducidos. Hablar de milímetros es hablar de dimensiones muy grandes por lo que surge una medida que es el nanómetro, mil millones de veces más pequeño que el metro, 1 nanómetro = 10 -9 metro. El último procesador de Intel se ha fabricado a 45 nanómetros y el proceso duró 12 semanas. No obstante las exigencias del mercado, que busca ordenadores más rápidos y con funciones mucho más sofisticadas, trae como consecuencia el seguir reduciendo el tamaño. Se estima que dentro de dos años se 17/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 trabajará a 32 nanómetros y para 2020 se alcanzarán los 7 u 8 nanómetros que sería el límite al que se podría llegar. Para ello, los chips del futuro no serán planos sino tridimensionales, el encapsulado o cubierta exterior es lo único que podrá apreciar el ojo humano, puesto que el interior no es posible ni con un microscopio convencional. La capacidad de manipular la materia transita ahora de los genes a los átomos. Estamos en presencia de las llamadas tecnologías atómicas, que incluyen: las nano partículas, la nano biotecnología, la nano fabricación y algo sorprendente!, vamos hacia la manufactura molecular. Ante este avance de la ciencia y la tecnología como se comportarán o evolucionarán: las tecnologías de la información y de comunicación? Se verán afectadas o influenciadas las ciencias cognitivas?; como se manifestarán la creatividad, la originalidad y la innovación?; las nuevas creaciones estarán limitadas a los grandes laboratorios en condiciones de manipular la nano escala?; realmente funcionarán las tecnologías atómicas?; hay grandes riesgos sociales y ambientales?; como quedarán los países pobres o menos desarrollados frente a los países ricos y poderosos, con una inversión prevista para este tema superior a los 2 mil millones de dólares por año?; que tan diminuto se puede llegar? Sobre lo que no hay dudas es que la tecnología atómica no se detendrá en la nano escala. La palabra átomo proviene del griego y significa indivisible, o completo, y hasta finales del siglo XIX se pensaba que los átomos eran indivisibles - los componentes más pequeños de la materia. Ahora los investigadores saben que un átomo está formado de cientos de partículas más pequeñas, incluidos los sospechosos comunes que recordamos desde la química del bachillerato - los protones, los neutrones y los electrones. La estructura de un átomo semeja una maraña de electrones en cuyo centro se sitúa una configuración densamente compacta de protones y neutrones (el núcleo). El número de protones en el núcleo determina a cual elemento químico pertenece dicho átomo. Las partículas atómicas más familiares se acompañan de partículas menos conocidas denominadas quarks y leptones (el electrón es una especie de leptón) y un conglomerado de otras partículas llamadas partículas portadoras de fuerza (con nombres tan extraños como gluón, gravitón y Z Boson). Los quarks, que conducen una carga eléctrica fraccionaria (recuerden su clase de química: los protones llevan carga +1, los electrones -1 y los neutrones ¿no tienen carga?) y son diez mil veces más pequeños que el núcleo del átomo. No sabemos con precisión qué tan pequeños son los quarks, pero con seguridad están en un rango menor a 10-18 metros (un nanómetro es 10-9 metros). Los investigadores piensan que los quarks son literalmente atómicos – lo que significa que son partículas indivisibles, sin particiones— pero pudiera ocurrir que los quarks estuvieran hechos de partículas aún más pequeñas. Hacer un mapa del ámbito sub atómico en su totalidad será tan útil para los científicos nucleares como para los químicos fue mapear el mundo atómico (por ejemplo la Tabla Periódica). Como fue el caso de las tecnologías de nivel atómico, la primera etapa es manipular el cosmos sub atómico para ser capaces de verlo con claridad. DISPOSITIVOS DE ENTRADA / SALIDA - I/O El sistema de Entrada /Salida permite comunicarnos con el exterior a través de dispositivos tales como: teclado, impresora, mouse, CD-DVD, discos, pendrive, terminales de video (pantalla) , etc. Los dispositivos de Input/ Ouput (I/O) se clasifican en: 18/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 - UE - Unidad de Entrada: Llamada soporte/dispositivo de entrada. Identifica los elementos utilizados para introducir datos y/o programas al computador. Ejemplo: Teclado de computadoras, Lápices Opticos, Joystiks (palancas de comando) , Lectores de código de barras , Ratón (Mouse) , Pantalla (TRC - Tubo de Rayos Catódicos); Display LCD, Plasma. - US - Unidad de Salida: Llamada soporte/dispositivo de salida. Identifican los elementos utilizados para extraer datos, programas ó resultados del computador una vez terminada algún proceso u orden dada. La forma de extraer cualquier información de la computadora es la visualización por Pantalla o la impresión en papel por la Impresora o el Plotter. Dentro de un mismo circuito impreso ó plaqueta impresa, llamada motherboard (plaqueta madre), se ubican las distintas partes que componen una C (Micro Computadora) - CPU. - Memoria RAM. - Placas controladoras: - salida de Video (VGA) para el monitor. - Multi-IDE (M-IDE) controla: la operación de unidades de Disco Rígido y Drive de Disqueteras, Ports Paralelo y Serie para conexión de impresora , Mouse y Joystick. - Las funciones de las placas anteriores se pueden incorporar en una plaqueta llamada VGA con Local-Bus. Al tener todas las funciones combinadas en una misma plaqueta, evita incompatibilidades, mejorando la velocidad de operación del equipo en general y de manera particular cuando se utilizan programas de edición con audio o video con gran cantidad de cálculos y presentación de imágenes en pantalla. - Se pueden adicionar placas especiales como son: - Controladora de Video con salida de RF ( antena de TV o Videocasetera). - Fax - Modem: recibe o emite Fax y el Modem ( Modulador Demodulador) que transfiere archivos de datos o programas desde una computador a otra a través de una línea telefónica. Considerando la evolución dinámica y permanente de las computadoras, en especial de las motherboard´s que son el corazón del sistema, es conveniente presentar como una cuestión didáctica y a título de Ejemplo, una motherboard estándar con procesador INTEL 486DX con sus partes esenciales: 1.- CPU. 2.- Controlador lógico de buses. 3.- Controlador de periféricos: drives e impresora. 4.- Coprocesador Matemático. 5.- Memoria Caché (ó SRAM) de alto rendimiento. 6.- Memoria RAM principal de 4, 8, 16, 32, 64 x1 MB. 7.- Chip de ROM BIOS: graba configuración de un equipo determinado. 8.- Chip controlador de Keyboard (teclado). 19/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 9.- Conectores enchufables para expansión de 32 Bits con VESA local Bus. Aquí se conectan las plaquetas controladoras de video , disco rígido , disquetera , controladora de mouse, impresora, etc. Una conformación física de una plaqueta motherboard elemental como la citada, se indica en la Fig 6) siguiente: 6 5 7 8 3 2 4 1 CPU 9 Fig.6) El Coprocesador es un procesador adicional, asociada a la memoria caché , que realiza las operaciones matemáticas y lógicas como apoyo al procesador principal , otorgando al sistema mayor velocidad y eficiencia en especial en programas que requieren cálculos complejos , manejos de pantalla complicados o programas con procesos grandes con inclusión de compaginación de Audio y Video ( rotación de una forma gráfica en pantalla , animación de dibujos, etc). Actúa como un ¨ colaborador ¨ o ¨ ayudante ¨ de la CPU. Descarga a la CPU de las tareas matemáticas y le permite continuar trabajando en paralelo. Algunas computadoras hasta el advenimiento de las PENTIUM los traían como un elemento opcional estando en la actualidad insertados en la placa madre como un parte más dentro del Hardware provistos en las computadoras. Caché: es una sección reservada de memoria que se utiliza para mejorar el rendimiento del proceso. Una caché de disco es una porción reservada de la memoria adicional en la tarjeta controladora del disco , cuando el disco es leído se copia un gran bloque de datos en caché en RAM como indica la Fig.7). Si los requisitos de datos subsiguientes pueden ser satisfechos por el caché no se necesita el empleo de un acceso a disco que es más lento sino directamente trabaja sobre la memoria caché. 20/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Disco Caché en RAM CPU Fig. 7) Si el caché es utilizado para escritura los datos se alinean en memoria y se graban en el disco en bloques más grandes por lo tanto los cachés de memoria son bancos de memoria de alta velocidad entre la memoria normal y la CPU , Los bloques de instrucciones y datos se copian en el caché y la ejecución de las instrucciones y las actualizaciones de los datos son llevados a cabo en la memoria de alta velocidad. Asociada a la memoria RAM de trabajo, a su vez, se puede disponer de una memoria caché que actúa como una copia de una zona de memoria DRAM del sistema como se indica en la Fig.8) siguiente. Cuando la CPU accede a una posición de memoria de la DRAM o RAM dinámica, los datos de esa posición , así como los de una zona contigua a ella son copiados en la memoria caché. Cuando la CPU acceda a la memoria en busca de nuevos datos empezará a hacerlo en la zona de memoria caché que es del tipo SRAM o RAM estática. Si los encuentra hará uso de ellos de una manera muy rápida, en caso contrario irá a buscarlos a la DRAM, volviéndose a hacer una nueva copia en la SRAM. La ventaja que tiene esta rapidez de acceso sólo es útil si la transferencia de datos entre la DRAM y la SRAM se hace con la misma velocidad, lo cual es sólo posible hacerlo con ordenadores que trabajen a frecuencias iguales a 33 MHZ o mayores. Caché de alta Velocidad RAM CPU Fig.8) En los µP 486 en adelante, tienen instalados una caché en el propio µP. Incluso pueden estar separados en caché de datos y en caché de instrucciones, aunque externamente también se puede hacer lo mismo. Las memorias caché tenían un tamaño limitado inicialmente podían ser de 64 a 250 KBytes, existiendo actualmente caché de 1 a 2 Mbytes o mayores, con posibilidades que se incrementen en el futuro inmediato. RELOJ DEL SISTEMA El orden de los diferentes procesos que tienen lugar en una computadora es muy importante y en algunos casos crítico. Muchas veces un proceso debe preceder a otro o se deben realizar varios procesos en forma simultánea, con duraciones distintas. La ejecución de procesos diferentes, en instantes distintos hace imprescindible un adecuado control de las relaciones de tiempos entre circuitos. Para lo cual se utilizan relojes que dan una correcta sincronización para la ejecución de procesos en los sistemas digitales. De manera que un reloj es un circuito o dispositivo electrónico capaz de emitir con gran precisión una serie de impulsos de un cierto ancho y a una frecuencia determinada. El intervalo entre los flacos de subida 21/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 o de bajada de dos pulsos consecutivos se define como ciclo de reloj. La frecuencia del reloj es la cantidad de ciclos por segundo. En una computadora suceden muchas acciones durante un solo ciclo de reloj. Al conjunto de operaciones que realiza una computadora en un sólo ciclo se denomina microinstrucciones. Para citar algunos casos, las computadoras actuales utilizan relojes con frecuencia de 33 MHZ, 66 MHZ , etc. Los valores actuales son muy superiores a los mencionados, pero a título de ejemplo se puede decir que una frecuencia de 33 MHZ significa 33.000.000 de ciclos de reloj por segundo. Es de imaginar la cantidad de operaciones que un sistema puede realizar en un segundo lo que ayuda a entender la velocidad de cálculo de las computadoras y los sistemas digitales asociados. La velocidad de procesamiento de un Procesador PENTIUM 4 es de 1.4 GHZ y el reloj del sistema es de 400 MHZ, por citar un ejemplo. Ampl Amplitud Amplitud Amplitud Ciclo it ud Tiempo RELOJ DEL SISTEMA 22/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 5.- Arquitectura de Computadora Básica Y Puerta Periféricos de Entrada a Bus de Control Instrucciones Decodificador Buffer triestado Memoria Bus de direcciones µP Decodificador Datos Decodificador Buffer triestado Bus de datos e instrucciones Buffer triestado Buffer triestado Puerta de Periféricos salida Buffer triestado Fig.9.- Arquitectura Básica de una Computadora con disposición de buses 23/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Como se ha mencionado, una computadora tiene una configuración básica compuesta por tres partes fundamentales y que están relacionadas entre sí CPU , Memorias , Unidades de Entrada y Salida ( periféricos). Las instrucciones que forman parte de un programa están almacenadas en la Memoria, los datos a procesar pueden ser tomados desde la Memoria si están previamente guardados o de los dispositivos de Entrada / Salida ( I/ O ) como la combinación teclado - monitor si se introducen para ser procesados directamente. Para el caso del diagrama anterior, en Fig.9), y como ejemplo se supone que el Bus de Datos es de 8 bits , razón por la que los datos circulan por 8 líneas que se comunican con las distintas partes del sistema. Estas líneas de datos son de naturaleza bidireccional ya que la información puede entrar o salir de la Memoria según ordenes de la CPU. La información de direcciones que envía la CPU indica en que lugar de la memoria están almacenados los datos e instrucciones así como seleccionar un elemento en particular. Como el Bus de direcciones es de 16 bits significa que hay 2^16 = 65536 posiciones de memoria diferentes en donde guardar o extraer información. Es unidireccional porque la información sobre a que dirección ir es siempre dada por la CPU. La información sobre control (entre otras Read y Write ) y tiempos que la CPU envía a los elementos que constituyen una computadora o que reciben de los mismos como respuesta a un requerimiento de la CPU se realiza a través del Bus de Control. La cantidad de líneas es variable y depende de las funciones de control disponibles. Los decodificadores reciben e interpretan si la dirección enviada por la CPU, por el bus de direccionamiento, les corresponde o no. La recepción y transmisión de información entre las partes de una PC se realizan desde elementos de tres estados que evitan la interferencia entre las distintas partes. Arquitectura de Computadora con Bus Local PCI El bus , que es el medio por el cual el microprocesador (µP) se comunica con todos los elementos que forman parte de una computadora, está formado por una serie de líneas de circuitos impresos que contienen los distintos tipos de buses , datos , direcciones y control. La comunicación del µP es con los otros elementos de la placa madre como hacia las ranuras (slots) de expansión según necesidades de agregar nuevas tarjetas al computador. La arquitectura de las computadoras ha tenido una evolución permanente y es interesante observar como se han producido los avances tecnológicos hasta las actuales PC. Existen µP con diferentes tamaños de bus de datos y de direcciones lo cual a su vez condiciona los bus de expansión. Como el bus es único si por ejemplo hay un bus de 62 líneas, como sucedía con las primeras PC, en total, las líneas se distribuyen a razón de 8 líneas para datos , 20 para direcciones y las restantes para señales de control (señales de tensión distintas , tierra , interrupciones de hardware ,etc).Otra configuración típica para PC tipo AT tiene 36 líneas más , aumentando el bus de datos a 16 bits y el de direccionamiento a 24 bits. 24/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Para controlar el flujo de información que circula por el bus se usan chips " controladores de bus " , a título de ejemplos los chips para ordenadores de: 8 bits es el 8288 , el 82288 para 16 bits y 82388 para 32 bits. Para ordenar todo lo relacionado con los buses se han definido normas estándar como : ISA ( Industry Standard Architecture ; MCA ( Micro Channel Architecture ) ; EISA ( Extended Industry Standard Architecture ) , Bus local VESA ( Video Electronic Standard Association ) o VL -Bus ; PCI ( Peripheral Component Interconnect ) ; PCMCIA ( Personal Computer Memmory Card International Association ). Los buses como el ISA , EISA y MCA tienden a saturarse con los accesos a disco y en particular con los display por lo que la tendencia es recurrir a un bus local como el PCI de Intel o el VESA que a su vez permiten la coexistencias con dichos buses como lo indica la Fig.12). Esta coexistencia es necesaria porque hay periféricos lentos como impresoras, scaner , diskettes,etc., que se conectan con ISA , EISA , mientras que otros como memorias , Video , lectora de CD ,etc ., que son periféricos rápidos con PCI . En la Fig. 12 ) se presenta una Arquitectura de Computadora con un Bus de sistema único más completa y actualizada que la indicada en la Fig.9) . Es una estructura organizada alrededor de un bus local PCI de Intel. Un esquema similar sería para otros bus local como el VL-Bus de VESA. Actualmente está superada esta arquitectura por los avances tecnológicos. Lo que pretendemos resaltar con estos ejemplos básicos, es que existen muchas estructuras y por una cuestión de extensión los ejemplos son limitados, de manera que sobre este tema en particular se pueden realizar configuraciones más completas y actualizadas que las presentadas en esta primera instancia. A medida que se avance en el desarrollo de la carrera se irán viendo configuraciones más avanzadas y actualizadas. La velocidad de transferencia de información ( datos e instrucciones ) es fundamental para elegir un bus. Para un procesador con reloj de 66 MHZ que controla el funcionamiento del Bus, el rendimiento de los buses locales puede aumentar de manera rápida y significativa como se indican en Fig.10 ) y Fig.11). Ejemplos: 25/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Conectores ISA UCT 66 MHZ 16 bits 8 MHZ 16 bits Tarjeta Controladora ISA 8 MHZ El ISA transfiere datos en 2 Bytes a una velocidad de 8 MHZ. Conectores EISA UCT 66 MHZ 32 bits 8 MHZ 32 bits Tarjeta Controladora EISA 8 MHZ El EISA transfiere datos en 4 Bytes a una velocidad de 8 MHZ ( igual velocidad de ISA y doble cantidad de información ). Fig.10 32 bits UCT 66 MHZ Controlador VL - Bus 32 bits Controlador ISA 33 MHZ 33 MHZ 32 bits 33 MHZ Conectores ISA Con extensión VL-bus 16 bits 8 MHZ Conectores ISA El bus local combina un camino doble VL / ISA entre la UCT y el Controlador VL y utiliza además conectores combinados. Fig. 11 26/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Paralelo Microprocesador Caché DRAM ROM Bios Controladores de Puertos Serie Bus local PCI (Peripheral Component Interconnect) Controlador de disco Red local Interfaces estándar Extensión del bus Video VRAM Discos duros Monitor Disquetes, pendrive, USB Teclado Audio Bus estándar ISA (Industry Standard Architecture) Fig.12: Arquitectura de computadora con bus local PCI 27/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Arquitectura de Von Newman La arquitectura de Von Newman, a la que responden las estructuras de computadoras vistas hasta el momento, tiene una memoria principal en la que se almacenan datos e instrucciones indistintamente. A esta memoria se accede a través de un sistema de buses único en lo referente a direcciones, datos y control. MEMORIA PRINCIPAL BUS DE CONTROL BUS DE DIRECCIONES INSTRUCCIONES + DATOS BUS DE DATOS E INSTRUCCIONES CPU UNIDAD DE CONTROL UNIDAD OPERATIVA Fig.13: Arquitectura de Computadora - Von Newman Arquitectura Harvard Aunque inicialmente todas las computadoras ( microcomputadoras ) adoptan la arquitectura clásica de Von Newman, en la actualidad existe otra denominada arquitectura Harvard con amplia difusión, en especial en la gama de microcontroladores surgidos al mercado en la década de 1990. Aunque hay microcontroladores que responden a la estructura clásica, de manera que en el campo de los microcontroladores existen ambas arquitecturas. La arquitectura Harvard dispone de dos memorias independientes con dos funciones diferenciadas: una que contiene solo instrucciones y otra que tiene únicamente datos con longitudes diferentes y capacidad de almacenamiento distintas. Ambas memorias disponen de sus respectivos sistemas de Buses de acceso y es posible realizar en forma simultánea operaciones de acceso , lectura ó escritura , en ambas memorias. Esta configuración ha sido pensada para ganar en velocidad y eficiencia con respecto a la estructura clásica. No obstante se debe reconocer que en los microcontroladores hay una gran competencia entre distintos fabricantes y para iguales dimensiones físicas , por ejemplo 28 pines, existen velocidades , capacidad de memorias, funciones y disponibilidad diferentes de dispositivos integrados como USART( Interface de Comunicación Serie), SPI (Interface de Programación serie – en la misma placa de montaje del dispositivo), I2C( Interface de comunicación entre microcontroladores), Conversores A/D , PWM ( generador de ancho de pulso para asociar a una función externa como controlar la fuerza y velocidad de un motor), Timers ( para medición de intervalos de tiempos y son independientes de lo que haga el microcontrolador) y contadores ( igual que los timer , la diferencia es que el pulso de reloj en lugar de tomarse del microcontrolador se lo toma de una pata externa). Todo lo cual, más otros elementos que no se detallan, depende de la tecnología de fabricación y estructura de computadora utilizada. 28/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 MEMORIA DE INSTRUCCIONES MEMORIA DE DATOS CPU CONTROL CONTROL UNIDAD DIRECCIONES DE INSTRUCCIONES DE CONTROL DIRECCIONES DE DATOS INSTRUCCIONES INSTRUCCIONES UNIDAD DATOS DATOS OPERATIVA Fig.14 : Arquitectura de Computadora - Harvard 6.- Niveles de software en un Sistema Al ser la ROM la encargada de hacer funcionar el Hardware tiene incorporada una serie de instrucciones como “ printf ” del C ( significa impresión por pantalla ) ,funciones trigonométricas y logarítmicas ,programas de detección de errores que a su vez indica la presencia de errores cuando introducimos un programa de aplicación ,control de impresoras , unidades de discos , etc. En la ROM se encuentra el SOFTWARE RESIDENTE (o FIRMWARE) programado por el fabricante de computadora. La estructura de los diferentes niveles de Software es la siguiente: PROGRAMAS APLICACION: son los que realiza el Usuario según sus necesidades o problemas a resolver. También se consideran dentro de este grupo a algunos enlatados o preprogramados por el fabricante. SISTEMA: - Sistema Operativo Progr. Cargadores Progr.Compiladores (o de Base) - Sistema Utilitario: - Lenguajes de programación: BASIC, Ensamblador, Pascal, C, etc. - Bases de datos: FoxPro, Paradox, DBASE, Clipper, SQL, etc. - Norton, PC-Tools, etc. - Planillas de Cálculos: Qpro, Excel, etc. - Todo otro programa y/o enlatado factible de ser utilizado por el Usuario en forma directa porque ya vienen fabricados para aplicaciones específicas sin posibilidad de modificación. 29/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Sistema o Software de Base: son los que están incorporados con el Computador. Sistema Operativo: Indica como hacer una tarea determinada con el computador. Controla el Sistema y sus periféricos, ayuda al usuario a controlar y manejar datos y programas. Es el de mayor jerarquía y el más próximo al Usuario como se indica en el gráfico que está a continuación. Algunos sistemas Operativos conocidos son el MS-DOS, UNIX, Windows (entorno operativo) en sus diferentes versiones ( XP, Vista, etc) , OS/2 , etc. Programas Cargadores: Dirige el nacimiento de los demás programas ,permitiendo la introducción de los programas de servicio y de aplicación. Programas Compiladores: Revisan y traducen del lenguaje en que están escritos los programas al lenguaje que entiende la máquina, conocido como Lenguaje de Máquina ó de 0 y 1. Hace el análisis sintáctico y genera el Programa Objeto. Sistema Utilitario: son todos los Lenguajes de Programación y programas elaborados por los creadores de Software que el usuario utiliza. En forma particular mencionamos el Lenguaje de Programación “ C ” que estudiaremos en el presente año.. Asociado a los diferentes programas y sistemas descriptos se encuentran los llamados Programas Auxiliares de Programación cuya función básica es la de servir de asistencia o ayuda a dichos programas. Tiene dos partes: - Programa para la Puesta Punto: Permite el desarrollo paso a paso del programa, modificar (DEBUG) instrucciones, insertar instrucciones y efectuar saltos con fines de análisis. - Programa EDITOR: Una vez compilado o ensamblado el programa fuente se lo corrige y edita.(EDITOR DE TEXTO) 7.- Relación del Sistema operativo para el Hardware Básico de un Computador El gráfico que se presenta a continuación como Fig.15 ) proporciona la forma en que están estructurados jerárquicamente los distintos Software ubicándose en los niveles extremos los Usuarios y la Computadora. Para hacer uso de cualquiera de los Programas indicados debemos seguir un camino que se indica según el Lugar o Nivel donde nos paremos como Usuarios. El Sistema Operativo es el más próximo a la Computadora y para utilizar cualquier Programa hace de nexo confirmando que es el que gobierna y controla el funcionamiento de todas las partes que conforman una Computadora , permitiendo la Comunicación entre las diferentes partes que intervienen cuando usamos programas , desarrollamos programas , cualquier manejo operativo con archivos, etc. 30/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Usuarios Programa de Aplicación Depuradores Programa Utilitarios Procesador de Palabras Editores “ Debugging ” Compiladores Interprete SI S TEMA OPERATIVO Permite Manejar ME MO RIA PRO CE DOR Assembler Cargadores (Soft de Base) I/O IN FOR MA CION C O M P U T A D O R A Fig.15. Estructura de Software en una Computadora EJEMPLO PRACTICO DE FUNCIONAMIENTO DE UN COMPUTADOR Para dar una idea práctica y simplificada de como funciona una Computadora se presenta la Transmisión Recepción de Datos , Ejecución de Ordenes o Acciones y Control del Proceso durante un tiempo dado por un Reloj (Clock) utilizando dos Teléfonos. TEL Transmite y Recibe datos (Bus de Datos) y es similar a Escuchar y Hablar. N TEL Dirección hacia la que se quiere Transmitir y Recibir. CONTROL Línea Telefónica : Controla si la Operación es de Lectura y/o Escritura (Escuchar y/o Hablar ). 31/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 Clock P [CPU] [ E/S-RAM-ROM ] Vcc TEL TEL IG L1 S1 S2 L2 A B CONTROL OTROS DISPOSITIVOS LA IDEA es: - Encender L1 y L2 de (B) controlada desde (A).Para ello se necesita seguir el procedimiento siguiente: 1.- El P debe avisar a (B) que va a enviar un DATO para que se prepare a recibir información. 2.- Esta comunicación se efectúa a través de las líneas de Control que en este caso es el TEL - El TEL suena en (B) indicándole que se transmite información (datos). - Se OBSERVA el estado de las lámparas mientras suena el TEL. - (A) posiciona las llaves So y S1 , accionando el interruptor general IG dando tensión a los interruptores . - Como hay dos líneas de datos se puede transmitir 2^2 = 4 combinaciones de 0 y 1 (00-01-10-11) que se corresponde con el APAGADO/ENCENDIDO de las lámparas L1 y L2. - (B) detectará el estado ENCENDIDO/APAGADO de las dos lámparas y guardará en la 32/33 UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN Ingeniería Electrónica – Informática I – 1R2 : Guía de Estudios - Año 2014 memoria lo observado. Ejemplo: 00 01 10 11 L1 y L2 apagadas. L1 apagada y L2 encendida. L1 encendida y L2 apagada. L1 y L2 encendidas - Una vez que se cumple con un determinado TIEMPO fijado por el CLOCK en (A) , se corta la comunicación dejando de hacer sonar el TEL y (B) queda libre para efectuar otra tarea. - Al cumplirse esta primera secuencia de trabajo, el P puede llamar nuevamente a (B) ó directamente llamar a Otro Dispositivo [ Línea de Trazo ]. - Se debe Notar que el Bus de datos es Unidireccional, cuando en la práctica es BIDIRECCIONAL ,queriendo significar que puede transmitir como recibir datos pero en todos los casos el P (CPU) tendrá el Control de todo el Sistema. Recibir y transmitir información está muy relacionado con la LECTURA y ESCRITURA para lo cual se dispone de dos líneas de control RD y WR presentes en el BUS DE CONTROL. El N TEL se llama “ DIRECCION ” y como tenemos un BUS DE DIRECCIONES de 16 cables o líneas hay 2^16 Direcciones o N telefónicos CLOCK : “ Reloj del Sistema “ es una señal que se emplea como patrón de tiempo y sincroniza todas las operaciones realizadas por la CPU. Referencia Bibliográfica: “ Software y Hardware de su PC” de José A. Carballar . Editorial Ra – Ma. “ PC / MAC Mantenimiento y Reparación “ de Henri Lilen. Editorial MEROPS. “ Aprestamiento Informático “ de Elsa S. De Fernández Durán. Editorial Estrada. “ Procesadores Intel Pentium III, Pentium IV “. “ Microcontroladores PIC “ de Christian Taverner. Editorial Paraninfo. " Informática Práctica " de IBM. " Arquitectura de Computadoras " de Esteban Daniel Volentini. Mg.Ing. J.C. Colombo Marzo 31 de 2014 33/33