GUÍA Nro. 1 ARQUITECTURA DEL COMPUTADOR. TI – PI Arquitectura del Computador. Conceptos Conjunto de reglas, normas y procedimientos que especifican las interrelaciones que deben existir entre los componentes físicos y lógicos de un computador, y las características que deben cumplir cada uno de estos componentes. Modelo que contiene la descripción funcional de cada uno de los elementos de la computadora. Se refiere a todos aquellos aspectos concernientes a la integración de la estructura física del computador, con su estructura lógica Se utiliza el término "arquitectura" para enfatizar la síntesis de elementos de ingeniería y ciencias exactas con elementos estéticos y de funcionalidad práctica, de la misma manera en que un arquitecto combinará las técnicas y conocimientos de la ingeniería con la apreciación artística e integración de su obra con su entorno. Lo que el arquitecto realiza no sólo debe mantenerse en pie durante el tiempo sino que también debe permitir cumplir el objetivo para el cual fue construido y resultar del agrado para quien lo use. Computador. Conceptos. Maquina electrónica digital diseñada para realizar procesamientos o tratamientos automáticos de la información. En primer lugar, se observa que una computadora es una maquina. Efectivamente aunque mucho mas compleja, se encuentra en la misma línea que un molino de viento, una maquina de vapor, o una nevera. La gran variedad de maquinas inventadas por el hombre se clasifican según diversos criterios. Uno de ellos es la tecnología en la que se fundamentan. Los dispositivos electrónicos pertenecen a una rama distinta de los molinos de viento o las maquinas de vapor, que se mueven por fuerzas físicas. La electricidad es la fuerza motriz de una computadora. Realiza procesamientos o tratamientos de la información mediante una secuencia de instrucciones denominada programa. Otros conceptos Máquina electrónica que recibe y procesa datos para convertirlos en información útil Colección de circuitos integrados y otros componentes relacionados que puede ejecutar con exactitud, rapidez, y de acuerdo a lo indicado por un usuario o automáticamente por otro programa, una gran variedad de secuencias o rutinas de instrucciones que son ordenadas, organizadas y sistematizadas en función a una amplia gama de aplicaciones prácticas y precisamente determinadas Dispositivo electrónico que permite procesar información y datos con programas diseñados para ello Aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas que consisten en operaciones aritmético – lógicas y de entrada/salida 1 Por la complejidad con la que se encuentran interrelacionados los elementos físicos y lógicos que integran a un computador es imposible considerar únicamente o por separado a los de un tipo u otro. Tan importante es el hardware que permite realizar lo que deseamos como el software que permite expresarlo y controlarlo. En la Arquitectura de Computadores, una computadora es vista como un SISTEMA DE CÓMPUTO o SISTEMA INFORMÁTICO. Sistema Informático o de Cómputo. Concepto Conjunto de uno o mas ordenadores y sus periféricos (componentes físicos o hardware) que ejecutan aplicaciones informáticas (componente lógico o software) y que son programadas, supervisadas y aprovechadas por cierto personal especializado, ya que la computadora no puede realizar por si sola una tarea útil. Componentes Físicos o Hardware: corresponde a todas las partes físicas y tangibles de una computadora: sus componentes eléctricos, electromecánicos, cables, gabinetes y cualquier otro elemento físico involucrado Componentes Lógicos o Software: hace referencia a todo aquello que no es materia. Esta constituido por el conjunto de instrucciones organizadas en programas que hacen que el Hardware pueda trabajar sobre los datos Componente Humano: constituido por las personas que participan en el diseño, dirección implantación y explotación de un Sistema de Computo. Principales Funciones del Computador Entrada de Datos: procesos que suministran o ingresan los datos sobre los que se va a operar. Los datos son introducidos al computador por algún medio (teclado, tarjeta electrónica, etc.) Tratamiento o Procesamiento de Datos: transformación de la información, que se produce en la computadora mediante las instrucciones de un programa almacenado. El tratamiento de la información no implica una inteligencia propia de la maquina. Un ordenador no puede tomar iniciativas, responder a circunstancias imprevistas o emitir juicios morales. Un ordenador solo sigue las instrucciones preestablecidas por el hombre. Salida de Datos: procesos mediante los cuales se obtiene información de la computadora. A través de esta función los usuarios de la computadora consiguen los resultados del procesamiento de la información original Categorías en las que se dividen los componentes físicos (Hardware) de una computadora Dispositivos de Entrada: son aquellos que permiten el ingreso de datos al computador Dispositivos de Almacenamiento: proporcionan un espacio para guardar cantidades considerables de información de manera permanente para su uso posterior. Dispositivos de Procesamiento: son aquellos dispositivos que llevan a cabo el procedimiento de transformar los datos en bruto en información útil y significativa Dispositivos de Salida: gracias a ellos es posible obtener los visualizar o extraer los resultados del procesamiento de datos previamente ingresados 2 Tipos de Computador Supercomputadora: tipo de computador que gracias a su velocidad y su capacidad de cómputo superior, es empleada en aplicaciones especializadas que requieren una inmensa cantidad de cálculos. Además canalizan todo su poder en ejecutar unos cuantos programas tan rápido como sea posible. Sus dimensiones físicas son considerables por lo que requieren infraestructuras especiales para su instalación. Sus clientes usuales se encuentran en el ámbito de la investigación. MainFrame o Computadora Central: computadora grande y costosa capaz de procesar simultáneamente datos para cientos o miles de usuarios. Por lo general son usadas en empresas o instituciones gubernamentales para proporcionar almacenamiento, procesamiento y administración centralizados para grandes cantidades de datos. También pueden ejecutar a varios sistemas operativos, por lo que puede funcionar como varias computadoras virtuales. Otra característica importante es la independencia de componentes internos lo que permite quitar o añadir nuevos componentes físicos mientras se encuentra en funcionamiento. Workstation o Estación de Trabajo: tipo de computadora que usualmente ofrecen mas alto rendimiento de lo que es normalmente encontrado en las computadoras personales, especialmente en lo que respecta a la representación de gráficos y poder de procesamiento y calculo. Minicomputadora: tipo de computadora ya obsoleta, que se encuentra en el rango intermedio del espectro computacional, es decir, entre los grandes sistemas como Mainframes o Computadores Centrales, y los mas pequeños sistemas monousuarios, como lo son las microcomputadoras. El termino Minicomputadora nació en la década de los 60 para describir la generación de pequeños ordenadores que fueron posibles gracias al uso de los transistores. Microcomputadora: tipo de computadora que utiliza un microprocesador como unidad central de procesamiento. Generalmente, ocupan espacios físicos pequeños, son relativamente baratas y están diseñadas para usuarios individuales, por lo cual, también se les ha aplicado el término “computadora personal”. Además, su uso tanto en el ámbito profesional como en el hogareño, hace que sea el tipo de computador más extendido en la actualidad. Generaciones de los Computadores La evolución de las computadoras ha dado lugar a una serie de etapas o generaciones bien diferenciadas, caracterizadas por la tecnología vigente en un momento dado y que influye sobre los elementos de hardware y software, y por el impacto de la informática en la sociedad Primera Generación (1940 – 1953) Las computadoras estaban constituidas por elementos a base de válvulas y tubos al vacío, lo cual hacia que tuvieran grandes dimensiones y un alto consumo de energía. Los programas eran suministrados por tarjetas y cintas perforadas, las cuales representaban el medio de almacenamiento para ese momento. El uso principal de estos computadores fueron aplicaciones científicas y militares. Los lenguajes de programación requerían que los encargados de programar conocieran de forma exacta la manera como trabajan interiormente los computadores. 3 Segunda Generación (1959 – 1964) Las válvulas de tubos al vacío fueron sustituidas por los transistores. Esto representó un paso decisivo en esta generación ya que, fue posible: Reducir el costo, tamaño y consumo de energía de los computadores Aumentar la fiabilidad de los computadores Surgieron las memorias de núcleo de ferrita y los medios de almacenamiento magnético, los cuales, sustituyeron a las tarjetas perforadas. Al ser menos costosos, el uso de las computadoras se extendió con velocidad por empresas y universidades, ampliándose su aplicación a los campos administrativos y de gestión. Tercera Generación (1965 – 1971) Esta etapa estuvo marcada por el inicio de la construcción de circuitos que integraban varios transistores en un solo dispositivo. Muestra de esto fue la aplicación práctica de lo que se denomino SSI (Short Scale Integration o Integración de Escala Pequeña), mediante la cual se introdujeron 10 transistores en una sola pieza de tamaño reducido. Mas tarde surge la tecnología MSI (Médium Scale Integration o Integración de Escala Media) que logro integrar en una sola pieza hasta 1000 transistores. La integración de transistores trajo como consecuencia, nuevamente, la reducción del tamaño y costo del computador Los avances en cuanto al desarrollo de software produjeron la creación y difusión de los sistemas operativos. Cuarta Generación (1970 – 1981) El comienzo de esta generación esta marcado por el desarrollo del Microprocesador, que consiste en la integración de toda la Unidad Central de Procesos en un solo circuito o chip. La aparición del Microprocesador se produjo gracias al desarrollo de las tecnologías LSI (Large Scale Integration o Integración de Gran Escala) y VSLI (Very Large Scale Integration o Integración de Escala Superior) Aparecen los primeros ordenadores personales que utilizaban el disquete como medio de almacenamiento externo. Quinta Generación (1982 – 1991) Aplicación de los computadores a muchos aspectos de la vida cotidiana Utilización masiva de la tecnología VLSI (Very Large Scale Integration o Integración de Escala Superior) Integración de datos: imágenes, sonido y videos (Multimedia) Interconexión global de ordenadores mediante redes internacionales. Creación de lenguajes de programación cercanos al lenguaje natural. 4 Desde tiempos prehistóricos el ser humano ha tenido la capacidad de contar objetos. Intuitivamente este hecho resulta bastante sencillo, pero se basa en una abstracción muy importante: la representación del número de forma independiente a los objetos a los que se aplica. Cuando decimos que alrededor de una mesa hay cuatro sillas, estamos particularizando un concepto numérico general: el numero cuatro. Es una abstracción general porque podemos aplicar el numero cuatro a diferentes objetos siempre que se presenten en esta cantidad, sean sillas, lápices u otro objeto. Un digito es una representación material de un concepto numérico. Por material se entiende que se puede plasmar sobre algún soporte, por ejemplo, podemos escribir el numero cuatro en un papel. La forma de representar y ordenar cantidades nos lleva a considerar un sistema de numeración, el cual, puede definirse como un conjunto de símbolos y reglas que se utilizan para la representación de datos, números o cantidades. Esta definición podemos completarla con los siguientes postulados: La representación de un número se efectúa mediante cadenas de dígitos o solo uno de ellos. Las cantidades expresadas dependen de los dígitos empleados por una parte, y de las posiciones de estos dentro de la cadena, por otra. Un sistema de numeración se caracteriza por su base, que no es más que el número de símbolos o dígitos que utiliza. El sistema decimal tiene 10 símbolos, y las personas lo adoptamos por la sencilla razón de que tenemos diez dedos en las manos. La curiosa razón de ello es que en tiempos prehistóricos se utilizaban los dedos para contar rudimentariamente y expresar cantidades. El segundo principio nos lleva a la definición: los sistemas de numeración son posicionales, indicando esto que el valor de cada digito en un número depende de su posición y su valor intrínseco. El valor posicional esta íntimamente ligado a la base que utilice el sistema. El siguiente ejemplo pone de manifiesto la idea: Este digito ocupa el 2do. Lugar de la cadena. Por tanto, su valor absoluto (6) se multiplica 2 veces por la base (10) POSICIÓN 2 1 0 6 7 5 Este digito ocupa el lugar número 1 de la cadena. Por tanto, su valor absoluto (7) se multiplica 1 vez por la base (10) Este digito ocupa el lugar número 0 de la cadena. Por tanto, su valor absoluto (6) no se multiplica por la base Sistema Binario La base del sistema binario es el dos, lo que significa que tiene dos símbolos: el 0 y el 1. Con un símbolo del sistema decimal podemos expresar 10 valores distintos, del 0 hasta el 9, sin embargo con un símbolo del sistema binario estos valores se reducen a dos. La cantidad minima de información que podemos representar con el sistema binario se denomina BIT de Binary Digit, digito binario en español. Por ejemplo, si queremos decir que algo es blanco o negro, podemos utilizar un bit. Asignaremos un valor de 0 para el blanco y 1 para el negro. Si queremos contestar a la pregunta de si una persona es hombre o mujer podemos utilizar un 0 si es hombre y 1 si es mujer, o viceversa. Sin embargo el estado de un semáforo tiene tres valores: rojo, verde o amarillo. Con un digito del sistema decimal no tendremos problemas: 1 para el rojo, 2 para el verde y 3 para el amarillo. No obstante, si utilizamos el sistema binario tendríamos que emplear más de un bit. La siguiente tabla muestra los primeros números, en binario en la primera y tercera columna, y sus correspondientes en decimal en la segunda y cuarta columna: 5 Sistema Binario 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 Sistema Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sistema Binario 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 Sistema Decimal 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 A medida que un número crece necesitaremos más dígitos para representarlo. Esto es una conclusión obvia del apartado anterior. En la tabla se puede ver como para representar el 16 decimal se necesitan cinco dígitos en binario. Magnitudes Analógicas y Discretas En el mundo que nos rodea existen muchos factores que se pueden medir de alguna manera. Por ejemplo el volumen del radio, la sensación de calor al tocar un sartén o el peso que se siente al transportar una carga. Los ejemplos anteriores están referidos a percepciones apreciables por los sentidos humanos, pero existen otros que reflejan distintos fenómenos físicos más difíciles de percibir por el hombre: la variación de tensión eléctrica en un cable, la presión de aire al llenar un caucho, entre otros. Una magnitud es un factor que puede ser medido, ya sea por los sentidos humanos o por otros medios. Las mediciones de una magnitud pueden variar con el tiempo. Pensemos en la temperatura de una habitación vacía en invierno: hace frío. Al entrar encendemos la calefacción y la temperatura comienza a aumentar. A medida que transcurre el tiempo alcanza un valor confortable y desconectamos la calefacción. Si la mantenemos desconectada, la temperatura comienza a bajar de nuevo hasta alcanzar su valor original. En el siguiente gráfico se muestra la variación de temperatura en la habitación. Desde un punto de vista humano todas las magnitudes de la naturaleza varían de forma continua a lo largo del tiempo. Una variación continua significa que no existen cambios bruscos en la magnitud medida. Siguiendo con el ejemplo de la habitación, podemos asegurar que la temperatura no bajará de 20 C a – 15 C de forma inmediata, sino durante un periodo de tiempo más o menos largo de tiempo. Una magnitud o señal es analógica cuando es continua en el tiempo. Como se comento antes, todas las magnitudes de la naturaleza son analógicas y se pueden representar en una grafica como una línea continua sin cortes ni interrupciones. 6 Señales digitales y el Sistema Binario Las señales digitales son un caso concreto de las magnitudes discretas que se estudiaron en el apartado anterior. Son muy importantes ya que son la base del funcionamiento de los computadores modernos. Una señal digital es una señal discreta que solo toma dos valores a lo largo del tiempo. Los ordenadores manejan únicamente señales digitales. Toda la información que manejan y las operaciones que realizan se codifican mediante ellas. La razón de ello se debe a cuestiones matemáticas y de diseño electrónico, las cuales condicionan y simplifican la construcción de ordenadores y de los programas que los manejan. En la grafica siguiente aparece una señal digital variando entre los valores y genéricos A y B. en los intervalos t1, t3, t5 y t7 la señal toma el valor A y en los instantes t2, t4, t6, y t8 toma el valor B. Por otra parte, pero muy relacionado con lo que acabamos de aprender, tenemos el sistema binario, el cual es un sistema de numeración que utiliza la base 2. La anterior definición significa que el sistema binario representa cualquier cantidad con solo dos dígitos. El ser humano utiliza el sistema decimal, que consta 10 dígitos (del 0 al 9), con los cuales con los cuales podemos igualmente expresar cualquier cantidad. Matemáticamente hablando, ambos sistemas poseen muchas similitudes y comparten numerosas propiedades. Si el sistema binario posee los mismos principios que el decimal, con el que estamos familiarizados. ¿Por qué los ordenadores utilizan el sistema binario y no el decimal? La respuesta radica en que los circuitos que forman los ordenadores trabajan exclusivamente con señales digitales. Parece obvio que el sistema binario es ideal para codificar las señales digitales. En efecto, la correspondencia es inmediata: el sistema binario, como su propio nombre indica solo consta de dos símbolos. Paralelamente las señales digitales solo alcanzan dos valores. Generalmente se utiliza el digito 0 para representar el nivel bajo de la señal binaria, y el 1 para el alto. Conceptos Básicos de Electrónica Digital Es importante introducir algunas ideas de electrónica antes de estudiar la arquitectura interna de un ordenador y sus componentes, ya que estos están compuestos básicamente de circuitos electrónicos. La electrónica de un computador es digital, se basa en señales digitales, mediante las cuales es capaz de procesar información de forma muy compleja. Nivel Físico: Componentes y Circuitos Los circuitos electrónicos están formados principalmente por resistencias, condensadores, transistores, entre otros. En los primeros tiempos de la electrónica estos componentes eran grandes y caros, y se situaban de forma asilada obre placas de plástico o material aislante con pistas conductoras sobre ellos. Actualmente los componentes mas utilizados, los transistores han evolucionado y se agrupan en circuitos integrados muy pequeños y complejos. Nivel Lógico: Puertas Lógicas y Algebra de Boole El nivelo lógico se basa en operaciones matemáticas sobre las señales digitales, y sobre las cuales se basa el funcionamiento del computador. Estas también son conocidas como lógica booleana o lógica binaria. El algebra booleanas gobierna el funcionamiento de los circuitos electrónicos digitales. El nivel lógico independiza este funcionamiento de los detalles físicos de los circuitos, como su construcción, rango de las señales y otros aspectos. El nivel lógico se apoya en unos circuitos digitales ideales 7 que realizan las operaciones básicas. Estos circuitos ideales se denominan puertas lógicas y mediante su combinación podemos conseguir operaciones muy complejas. Las puertas lógicas son circuitos digitales elementales que transforman una información de entrada muy básica en otra de salida según los principios de la lógica booleanas. Las puertas lógicas tienen una o varias entradas y una salida. Por estos canales se mueven las señales digitales que son transformadas según la función de la puerta lógica. Las transformaciones que sufren las señales al pasar por la puerta se representan en unas tablas llamadas Tablas de la Verdad. Estas indican como reaccionan las puertas lógicas ante la combinación de sus señales de entrada. Todas las operaciones que un computador es capaz de realizar están basados en circuitos básicos. Las puertas lógicas se combinan entre si para formar unidades mucho mas complicadas. Hay disponible una gran variedad de compuertas estándar, cada una con un comportamiento perfectamente definido, y es posible combinarlas entre si para obtener funciones nuevas. Desde el punto de vista practico, podemos considerar cada compuerta como una caja negra, en la que se introducen valores digitales en sus entradas, y el valor del resultado aparece en la salida. Cada compuerta tiene asociada una tabla de verdad, que expresa en forma de lista el estado de su salida para cada combinación posible de estados en la(s) entrada(s). Compuerta IF: La puerta lógica IF, llamada SI en castellano, realiza la función booleana de la igualdad. En los esquemas de un circuito electrónico se simboliza mediante un triangulo, cuya base corresponde a la entrada, y el vértice opuesto la salida. Su tabla de verdad es también sencilla: la salida toma siempre el valor de la entrada. Esto significa que si en su entrada hay un nivel de tensión alto, también lo habrá en su salida; y si la entrada se encuentra en nivel bajo, su salida también estará en ese estado. IF Compuerta NOT: Esta compuerta presenta en su salida un valor que es el opuesto del que esta presente en su única entrada. En efecto, su función es la negación, y comparte con la compuerta IF la característica de tener solo una entrada. Se utiliza cuando es necesario tener disponible un valor lógico opuesto a uno dado Compuerta AND: Con dos o más entradas, esta compuerta realiza la función booleana de la multiplicación. Su salida será un “1” cuando todas sus entradas también estén en nivel alto. En cualquier otro caso, la salida será un “0”. En efecto, el resultado de multiplicar entre si diferentes valores binarios solo dará como resultado “1” cuando todos ellos también sean 1, como se puede ver en su tabla de verdad. Compuerta OR: La función booleana que realiza es la asociada a la suma. Esta compuerta presenta un estado alto en su salida cuando al menos una de sus entradas también esta en estado alto. En cualquier otro caso, la salida será 0. 8 Compuertas NAND y NOR: Cualquier compuerta lógica se puede negar, esto es, invertir el estado de su salida, simplemente agregando una compuerta NOT que realice esa tarea. Debido a que es una situación muy común, se fabrican compuertas que ya están negadas internamente. Este es el caso de las compuertas NAND y NOR: es simplemente la negación de la compuerta AND y OR respectivamente. Esto modifica sus tablas de verdad, de hecho las invierte. Las computadoras son dispositivos constituidos por conmutadores electrónicos. En los niveles más bajos de cálculo, las computadoras dependen de estos conmutadores para tomar decisiones. Como tales, las computadoras reaccionan solo a impulsos eléctricos, los cuales son interpretados por la computadora como estados de apagado o encendido o unos o ceros. Las computadoras trabajan con y almacenan datos utilizando conmutadores electrónicos que están apagados o encendidos. Las computadoras solo pueden entender y utilizar datos que se encuentran en este formato de dos estados (Binario). El 1 representa el estado encendido y el 0 el estado apagado. Esos 1’s y 0’s representan los dos estados posibles de un componente eléctrico en una computadora, y se conocen como dígitos binarios o bits. 9