Estructura y Tecnología de computadores

Computador. Informática. Señales. Dispositivos Analógicos. Tipo de Información. Generaciones

  • Enviado por: Víctor Pérez Grande
  • Idioma: castellano
  • País: España España
  • 7 páginas
publicidad
publicidad

RESUMEN TEMA 1

  • Concepto de Computador

  • Máquina flexible cuyo cometido es procesar información (Entendiendo procesar como las sucesivas fases, manipulaciones que sufren la información)

    1.2. Tipos de Información

    Se tienen que entender dos aspectos básicos de la información: el conjunto de valores que la información puede tomar - magnitudes de la información - y su forma de evolucionar a lo largo del tiempo - señales -.

    1.2.1. Magnitudes

    Pueden ser de dos tipos distintos dependiendo del conjunto del que toman sus valores:

    -Analógicas: Tienen un rango de variación continuo de valores, estando estos dentro del rango del conjunto de los números reales.

    -Digitales: Solo pueden tomar valores discretos, estando estos valores definidos dentro de intervalos fijados en el campo de los números enteros.

    La distinción entre ambas magnitudes es similar a la existente entre la aritmética y la geometría. Ejemplos de magnitudes analógicas pueden ser la variable tiempo, el caudal de un río o la temperatura de una habitación. Ejemplos de magnitudes digitales son la posición de una moneda en el suelo después de haberla lanzado al aire: o es cara o es cruz ( 0 ó 1 )

    1.2.2. Señales

    Para nuestros objetivos, el término señal será utilizado para nombrar una medida u observación que contenga la información descriptora de una fenómeno. Designaremos las señales por medio de símbolos tales como las letras u, x ó y.

    Por tanto, la señal x puede representar los valores que toma el voltaje de una onda de radio en un intervalo particular de tiempo, la historia a lo largo del tiempo de un proceso económico, el cambio en la temperatura ambiente a medida que escalamos una montaña, etc...

    Las señales que aparecen con más frecuencia son las que tienen al tiempo variable independiente y se las denomina señales dependientes del tiempo.

    Dado que una señal es, simplemente, una función ordinaria de una variable, el valor en el instante t de una señal que depende del tiempo se representa como x(t).

    1.2.2.1. Señales continuas y discretas

    Las señales continuas -también llamadas analógicas- se caracterizan porque su valor puede cambiar en cualquier instante, y su nombre pretende reflejar la dependencia continua de la señal con respecto al tiempo.

    Las señales discretas -también llamadas digitales- se caracterizan en cambio porque su valor sólo puede cambiar en instantes específicos (o porque la señal sólo está definida en esos instantes).

    1.2.2.2. Conversión entre señales

    Para que los computadores adquieran la capacidad de procesar la información proveniente de la observación de fenómenos naturales, es preciso realizar un proceso de conversión de señales continuas a discretas. Este proceso se denomina muestreo, conversión analógico-digital o conversión AD.

    Dicha conversión puede representarse gráficamente por medio de un interruptor que se cierra momentáneamente en los instantes de muestreo tn. Este modelo conceptual se muestra en la siguiente imagen, en donde la señal continua x(t) se aplica a la entrada del interruptor y la señal discreta x(tn) aparece a la salida del mismo, estando formada por las muestras tomadas en los instantes tn. Los elementos que realizan esta conversión se denominan convertidores AD y son dispositivos electrónicos bastante comunes que se utilizan en una gran variedad de aplicaciones industriales, tales como los reguladores automáticos o los procesadores de señal. Si la señal continua se muestrea a intervalos regulares T, entonces tn=n*T, y la señal discreta se representa como x(n) denominándose período de muestreo al intervalo T. Obsérvese que en este último caso hemos cambiado la variable independiente tiempo tn por una nueva variable independiente n que es un número entero.

    Estructura y Tecnología de computadores

    El proceso inverso al anterior, consistente en la conversión de una señal discreta en continua, se utiliza cuando se pretende que el computador comande o controle sistemas físicos o máquinas. La Robótica o el control de altitud de un satélite artificial son ejemplos de aplicación de esto último. Este nuevo proceso de conversión se denomina bloqueo, conversión digital-analógica o conversión DA. En el mercado existen dispositivos electrónicos que realizan esta conversión y que se denominan convertidores DA. La conversión de una señal digital en analógica es un proceso constructivo: a partir de una señal discreta hay que generar una señal continua.

    Estas reglas de conversión son de la forma genérica:

    x(t) = f (t,x(n-di),x(n-di+1),...x(n-1),x(n),x(n+1),...x(n+df))

    donde se supone que el instante t está en el intervalo de tiempo comprendido entre n*T y (n+1)*T. Según sea la forma de la función f, el bloqueador será causal o no causal. Bloqueador causal es aquél que utiliza para realizar la construcción de la señal continua únicamente valores de señal discreta anteriores al instante t:x(n), x(n-1),x(n-2),... Bloqueador no causal es aquél que utiliza para realizar la construcción, además de los puntos anteriores al instante t: x(n-i), i>0, algún valor de la señal discreta posterior a dicho instante.

  • Computadores analógicos

  • Se caracterizan por procesar información de tipo analógico. Es importante resaltar que el término analógico se aplica a estos computadores en el doble sentido: las magnitudes que utilizan son analógicas (se representan por números reales), y las señales que manejan y que circulan por sus elementos son también analógicas (son dependientes del tiempo en modo continuo).

    Los computadores analógicos actuales están basados en un componente electrónico analógico denominado amplificador operacional. Según la forma en que se conecte con otros componentes eléctricos auxiliares tales como resistencias o condensadores, el conjunto resulta ser capaz de realizar las siguientes operaciones matemáticas:

    -Invertir un signo de una señal

    -Escalar una señal (multiplicarla por una constante)

    -Sumar señales

    -Multiplicar dos señales

    -Dividir dos señales

    -Integrar una señal respecto al tiempo

    -Diferenciar una señal respecto al tiempo

    -Generar funciones matemáticas.

    Denominaremos bloques a los circuitos electrónicos de cálculo que realizan alguna de las operaciones descritas. El objetivo principal de estos computadores analógicos es la resolución de ecuaciones diferenciales, lo cual se consigue conectando entre sí diversos bloques de cálculo. Por tanto, estos computadores se programan por “hardware” a base de realizar diferentes esquemas de interconexión.

  • Computadores digitales

  • Se caracterizan por procesar información de tipo digital. Las magnitudes que utilizan son digitales (se representan por números enteros), y las señales que manejan y que circulan por sus elementos son también digitales (son dependientes del tiempo en modo discontinuo apareciendo a intervalos de tiempo).

    Los elementos principales de un computador digital son los siguientes:

    -La unidad de memoria

    -La unidad de control de programa

    -La unidad aritmético-lógica

    Las unidades de control de programa y la aritmético-lógica suelen unirse formando la denominada unidad central de proceso.

  • Desarrollo histórico de las máquinas analógicas

  • El origen del cálculo analógico se puede encontrar en los instrumentos geométricos tales como la escuadra, la regla o el compás. Los instrumentos analógicos fueron inicialmente mecánicos, luego electromecánicos y electrónicos finalmente.

    Un ejemplo de instrumento analógico mecánico es la máquina que invento Lord Kelvin para resolver sistemas de ecuaciones lineales.

    Un ejemplo característico del empleo de computadores analógicos de tipo eléctrico son los analizadores de redes de distribución de energía eléctrica.

    A partir de los años 70, los ordenadores digitales han evolucionado mucho más que los analógicos, lo que ha llevado al retroceso en el uso de los analógicos. Algunas causas pueden ser la mayor facilidad en la programación de un ordenador digital, la mayor precisión en sus cálculos, etc...

    RESUMEN TEMA 2

    2.1. Historia de las máquinas digitales

    Partiendo del sistema de numeración biquinario se construyo el primer dispositivo mecánico de cálculo conocido: el ábaco, que perduró entre los pueblos orientales hasta nuestro siglo, y que facilita las operaciones de contar, sumar y restar.

    2.1.1. La era de las calculadoras mecánicas (1623 a 1945)

    Las primeras máquinas capaces de realizar automáticamente las cuatro operaciones aritméticas (suma, resta, multiplicación y división) se desarrollaron en Europa a comienzos del siglo XVII. En 1642 Pascal construyó una máquina capaz de realizar las operaciones de adición y substracción “automáticamente”. Esta máquina estaba formada por dos conjuntos de ruedas. Estos conjuntos representaban números y en ellos se disponían tantas ruedas como cifras tuvieran los números con los que se fuera a trabajar. Cada rueda tenía 10 dientes y 10 posiciones posibles, que se representaban por números del 0 al 9 grabados sobre cada rueda y que se leían a través de una pequeña ventana. La posición de cada rueda (el número que se leía a través de la ventana) era el valor de cada cifra del número almacenado. Uno de los conjuntos de ruedas actuaba como un acumulador de 6 cifras y el otro servía para introducir el número que debía sumarse o restarse del acumulador.

    El siguiente paso lo realizó el filósofo y matemático alemán G. Leibniz, quien en 1671 construyó una máquina capaz de multiplicar y dividir automáticamente. Esta calculadora constaba de 2 parte diferenciadas: una era completamente igual a la máquina de Pascal y la otra eran dos conjuntos adicionales de ruedas que representaban al multiplicando y al multiplicador.

    La posibilidad de realizar cálculos mecánicamente mediante ruedas dentadas, unida a la facilidad de automatizar un mecanismo complejo mediante tarjetas perforadas llevó al inglés Charles Babbage a concebir la idea de realizar máquinas de calcular totalmente automáticas y de gran potencia. Su primer proyecto fue la construcción de una maquina de cálculo automático de tablas de multiplicar, aunque posterior proyecto fue mucho más famoso. En este proyecto construyo lo que el denominó la máquina analítica. Esta máquina se iba a componer de tres partes: una memoria, una unidad de cálculo y una unidad de control gobernada mediante una banda de tarjetas de cartón perforado. Una de las mayores contribuciones fue un mecanismo que permitía al programar alterar su secuencia de operación automáticamente.

    A continuación, el norteamericano Hollerith, inicio el desarrollo de equipos de proceso de datos basados en la tarjeta perforada, para así elaborar el censo de 1890. Este fue el inicio de la compañía IBM.

    El siguiente avance fue el empleo de relés, que son interruptores binarios electromecánicos. Su utilización para realizar operaciones matemáticas se basó en dos conceptos desarrollados con bastante anterioridad y que, hasta entonces, habían tenido escasa aplicación. El primero de ellos fue el sistema binario de numeración y el segundo fue el álgebra de Boole, y que suministró la fundamentación teórica necesaria al permitir reducir la lógica de control a combinaciones de elementos binarios, tales como contactos eléctricos abiertos o cerrados.

    Basándose en los anterior, K. Zuse construyó en Alemania, en 1941, un computador cuya unidad aritmética estaba compuesta de relés y que utilizaba números representados en coma flotante. Acababan de construir el primer computador digital operativo de carácter general: el Z3.

    En 1937, un ingeniero de Harvard propuso el diseño de un computador electromecánico de carácter general. Se llegó a un acuerdo con IBM para desarrollar dicha máquina, que terminó por denominarse Mark I. En 1944, cuando estuvo terminada, eras capaz de almacenar 72 números digitales de 23 cifras y utilizaba elementos ya propuestos en la máquina de Babbage: ruedas decimales para representar números en la memoria, control de la unidad de cálculo por medio de una cinta de papel perforado, etc...

    2.1.2. La primera generación (1946 a 1954)

    Los computadores mecánicos presentaban dos problemas: la velocidad de cálculo y la transmisión de información.

    La irrupción de la electrónica en los computadores permitió resolver estos dos problemas: los “componentes móviles” ahora son los electrones y la información se transmite a través de corrientes eléctricas que viajan prácticamente a la velocidad de la luz. El triodo, válvula de vació desarrollada en 1906, permitía conmutar señales eléctricas a velocidades muy superiores a las de cualquier dispositivo mecánico.

    El primer intento de construir un computador electrónico fue realizado a finales de los años 30, en la Universidad de Iowa, y consistía en una máquina para resolver sistemas de ecuaciones lineales. Sin embargo el primer computador electrónico de propósito general fue el ENIAC, construido en la Universidad de Pennylvania. La construcción de ENIAC comenzó en 1943 y finalizó en 1946, y consistía en una máquina enorme de 30 toneladas de peso y contenía 18.000 válvulas de vacío.

    El ENIAC contaba con una memoria principal formada por 20 acumuladores electrónicos. Cada acumulador permitía almacenar un número decimal de diez dígitos con signo. Para representar cada dígito se utilizaba un contador consístete en diez válvulas de vacío interconectadas en anillo. Las válvulas eran de tipo biestable o flip-flop, es decir, admitían dos estados que se representaban por 0 ó por 1.

    Otro paso importante hacia la concepción actual de los computadores fue dado por el matemático Von Neumann, quien introdujo la idea de almacenar los programas en memoria y sustituyó la programación mediante dispositivos externos por el almacenamiento de los códigos de las operaciones en la memoria del computador. Von Neumann fue consultor en el proyecto ENIAC y desarrolló posteriormente un nuevo computador: el EDVAC.

    El número de computadores creció muy rápidamente a partir de los años 50. Apareció el UNIVAC, que incorporaba la cinta magnética como memoria secundaria. Mientras tanto IBM presentaba su primer computador electrónico: el IBM 701. Este computador utilizaba una memoria principal electrostática, consistente en un tubo de rayos catódicos, y la memoria secundaria residía en tambores y cintas magnéticas.

    Otra innovación fue la aparición de los lenguajes ensambladores a comienzos de los 50. Los computadores se programaban en lo que se llamaba código máquina, es decir, en código binario, que es el tipo de información que el computador es capaz de procesar. La nueva forma de programación se conocerá en el futuro como programación en lenguaje ensamblador. Esta forma de programación precisa de un programa auxiliar especial, denominado programa ensamblador, cuyo cometido es traducir los programas a lenguaje máquina.

    2.1.3. La segunda generación (1955 a 1964)

    Esta generación surge de la aparición del transistor, que sustituyó a las válvulas de vació. Además de dicho cambio, se producen otros, que se resumen a continuación:

    1.- El transistor va reemplazando gradualmente a las válvulas de vacío en los circuitos de conmutación.

    2.- Aparecen los núcleos de ferrita y se generaliza el uso de los tambores magnéticos como elementos de almacenamiento de información (memorias)

    3.- Se generaliza el uso de registros índices o punteros (registros donde se almacenan direcciones de datos en lugar de datos) y de procesadores aritméticos (circuitos electrónicos especializados en realizar operaciones aritméticas en coma flotante)

    4.- Se empiezan a utilizar lenguajes de programación de alto nivel tales como el ALGOL, COBOL o FORTRAN, que son independientes del computador en que residan y que facilitan enormemente la programación.

    5.- Se introducen procesadores especiales de entrada/salida para supervisar las operaciones de entrada y salida con lo que se libera a la UCP de una serie de funciones rutinarias.

    6.- Los fabricantes de computadores comienzan a suministrar software de sistemas: programas específicos de ayuda al usuario, que corren en computadores concretos. Ejemplos de estos programas son los compiladores, las librerías de subrutinas y los monitores.

    El pequeño tamaño de los transistores hizo posible el diseño de grandes computadores que eran extremadamente rápidos, popularmente conocidos como supercomputadores. Estos computadores eran necesarios en áreas científicas como la física nuclear, donde había problemas cuya solución requería un gran número de cálculos. Dos de estos fueron el LARC y el Stretch. Estas máquinas incluían nuevas técnicas y sistemas que permitían acelerar el número de operaciones que podían realizarse simultáneamente. Estas técnicas se conocen como técnicas de procesamiento en paralelo. Las técnicas más interesantes fueron:

    1.- Simultanear los procesos de traer instrucciones a la UCP desde la memoria y de ejecutar instrucciones. Esto se consigue a base de circuitos electrónicos especiales tales como unidades aritmético-lógicas múltiples o buffers de instrucciones - los buffers son registros o zonas de memoria donde se almacenan instrucciones o datos provisionalmente, a la espera de ser utilizados.

    2.- Simultanear la ejecución de programas distintos. Esto se puede realizar de diversos modos:

  • El sistema consta de una única UCP capaz de ejecutar concurrentemente (simultáneamente) más de un programa.

  • Otro modo de conseguir la ejecución concurrente de programas consiste en diseñar computadores con más de una UCP. Estos sistemas se denominan sistemas multiprocesador.

  • 2.1.4. La tercera generación (1965 a 1970)

    Esta generación viene marcada por los siguientes cambios:

    1.- Los circuitos integrados reemplazan a los circuitos de transistores reduciéndose substancialmente el costo y el tamaño.

    2.- Las memoria de semiconductores (circuitos integrados) van reemplazando gradualmente a las de ferrita en la memoria principal del computador.

    3.- Adquiere gran difusión una técnica denominada microprogramación, utilizada para simplificar el diseño de los procesadores e incrementar su flexibilidad.

    4.- Se introducen una serie de técnicas para realizar procesamiento paralelo concurrente, tales como la segmentación, la multiprogramación o el multiproceso, cuyo objetivo es aumentar la velocidad de ejecución de conjuntos de programas.

    5.- Se desarrollan mecanismos para gestionar automática y eficientemente los recursos del sistema basado en computador, como pueden ser sus procesadores o el espacio de memoria, de modo que dichos recursos puedan ser compartidos por varios procesos o usuarios.

    En este sentido, la existencia de varios procesos concurrentes en un sistema basado en computador requiere la presencia de una entidad que ejerza la coordinación del conjunto, supervise la asignación de recursos, secuencie las operaciones, etc... Tal entidad recibe el nombre de programa ejecutivo, programa de control maestro o, más corrientemente, sistema operativo.

    2.1.5 La cuarta generación (1971 a 1981)

    La tecnología dominante desde finales de los 60 en la construcción de computadores es la de los circuitos integrados. Esta tecnología se basa en la fabricación de un circuito lógico a partir de una única pieza delgada de material semiconductor. Este circuito, denominado popularmente “chip”, se monta en un envoltorio que facilita su interconexión con otros circuitos integrados. Esta tecnología evolucionó en el sentido de aumentar el número de puertas lógicas por chip: la integración en pequeña escala suponía entre una y diez puerta por chip, la integración en media escala podía llegar hasta 100 por chip y la integración a gran escala permite cientos de miles de puerta lógicas en un chip de pocos milímetros de tamaño.

    Una UCP integrada en un único chip recibe el nombre de microprocesador. El primero fue desarrollado en 1971 por la Intel Corporation: el Intel 4004, y se denominaba “microprocesador de 4 bits” ya que procesaba 4 bits en paralelo. Pronto aparecieron microprocesadores de 8 y 16 bits que mejoraban substancialmente la relación prestación/precio. Microprocesadores famosos de 16 bits son el Intel 8086 y el 68000 de Motorola Corporation.

    Se denomina microcomputador a un computador integrado en un chip. Uno de los primeros ejemplos fue el Intel 8746, producido en 1976. Gracias a esto, empezaron a crearse los computadores personales (PC), que son pequeños computadores domésticos de gran versatilidad y relativamente pequeñas capacidades. Los primeros PC's fueron desarrollados por la casa Apple, que presentó su Apple II en 1977. En 1981, IBM irrumpió en este mercado con su primer PC-IBM. En 1984 IBM presentó el AT, basado en el microprocesador 80286 de Intel, y que corría tres veces más rápido que los PC's anteriores. El siguiente paso adelante fue en 1986 cuando la casa Compaq presentó su Compaq Deskpro 386. En 1988, Intel presentó una nueva versión económica del 80386: el 80386SX. A comienzos de 1989 Intel presentó el 80486, que es una variante altamente integrada del 80386.

    2.1.6. La quinta generación (1982 hasta la fecha)

    La quinta generación no presentó unas características diferenciales claras. Durante esta década se siguen desarrollando las líneas incidas anteriormente y, además, surgen algunos nuevos enfoques:

    1.- Se continúa con el desarrollo de los PC's.

    2.- Continúa el desarrollo de los supercomputadores para el cálculo científico, basados en diversas técnicas de procesamiento en paralelo: el MPP desarrollado en 1982, el Cray X-MP, en 1983, etc...

    3.- Aparecen los chips integrados de muy alta escala, que permiten el desarrollo de supercomputadores que superan los 1000 millones de operaciones en coma flotante por segundo. En esta línea continúa la evolución de los computadores Cray.

    4.- Se desarrollan computadores con arquitecturas especialmente orientadas a la inteligencia artificial y se desarrollan las memoria asociativas a las que se accede por contenido y no por dirección.

    5.- Finalmente, se mencionará la aparición de los transputers, que son unidades microprocesadoras muy potentes, que incluyen memorias de capacidad considerable, y que están especialmente pensadas para ser interconectadas con otros transputers, y así aumentar la potencia de cálculo del conjunto hasta donde se desee.

    2.2. Organización estructural de un computador

    En esta sección se describe la organización de un computador desde un punto de vista estructural. Según dicho enfoque, el computador se considera dividido en varios niveles organizados jerárquicamente, de modo que para poder construir y hacer funcionar los elementos de un nivel determinado, es necesario utilizar los elementos construidos en el nivel inmediatamente inferior.

    A continuación se describen ocho niveles, empezando por los más básico y en el sentido de ir aumentando los grados de integración y complejidad:

    • El primer nivel está constituido por los componentes. Las leyes aplicadas son las de la electrónica física. Los componentes son semiconductores de tipo n y p, metales, etc... Los sistemas construidos son diodos, transistores, resistencias, condensadores, etc...

    • El segundo nivel es el de circuito electrónico. El comportamiento del circuito se describe en términos de corrientes, tensiones, flujos, etc... Las leyes utilizadas en este nivel son las de la electricidad, que son de naturaleza continua, pero los circuitos o sistemas construidos son generalmente de tipo digital.

    • El tercer nivel es el nivel de circuito digital. Las leyes que rigen su comportamiento son las del álgebra de Boole.

    • El siguiente nivel es el de TR o de Trasferencia entre Registros. Los elementos constructivos de este nivel son los buses, los registros, etc...

    • El siguiente nivel es el de la UCP y constituye el primer nivel específicamente de programación. En este nivel se construyen programas en lenguaje máquina, que es el lenguaje que es capaz de entender la UCP.

    • El sexto nivel es el del Sistema Operativo.

    • El séptimo nivel es el de los programas de lenguaje de alto nivel como puedan ser el FORTRAN, Pascal, COBOL, C, Ada, etc...

    • Finalmente se mencionará un último nivel de aplicaciones. Este nivel está formado por paquetes de programas de aplicación que sirven para resolver problemas de campos específicos de ciencia o gestión.

    2.3. Software de un computador.

    Una vez mostrada la estructura de un computador, esta sección se dedica a describir brevemente el software que típicamente es necesario para poder desarrollar y ejecutar programas de aplicación en un computador.

    -Monitores: Es el antepasado del sistema operativo.

    -Ensambladores: Es un programa que convierte los programas, escritos en lenguaje ensamblador, en instrucciones máquina representadas en binario y, por tanto, ejecutables por el computador.

    -Montadores y cargadores: Estos programas son ayudas para el manejo de módulos en código máquina. El montador permite unir varios módulos para formar un conjunto binario ejecutable por el computador, mientras que el cargador permite transferir este conjunto desde un periférico hasta la memoria principal, para poder lanzar su ejecución.

    -Paquete de entrada/salida: Sirve para controlar los periféricos.

    -Editores de texto

    -Depuradores: Son programas de ayuda a la puesta a punto de los programas de usuario.

    -Compiladores e intérpretes: Son traductores de lenguaje de programación a lenguaje máquina.

    -Manejadores de ficheros y/o de bases de datos

    -Sistemas operativo

    ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I

    Victor Pérez Grande (Viper@Infomancha.com)