07 Evolución histórica de las computadoras

Anuncio
PROCESAMIENTO AUTOMATIZADO DE LA INFORMACIÓN.
Lic. Angel Gutiérrez Fernández.
I
Evolución histórica de las computadoras.
Partes funcionales de una computadora.
Clasificación de las computadoras.
Sistemas de numeración. Organización lógica de la memoria.
Organización de la información y sus soportes.
Evolución histórica de las computadoras.
El origen del proceso de cálculo se remonta al origen mismo de la civilización, cuando el hombre,
en su desarrollo social, necesitó contar y para ello se auxilió de sus dedos. Precisamente la palabra
"digital" (derivada del latín digitus, que significa dedos) tiene relación con estos orígenes.
El ábaco, inventado por los chinos en el año 3000 a.n.e y adoptado por numerosas culturas,
constituyó en su época un salto cualitativo en el proceso de cálculo, al ser el primer dispositivo
construido para esos fines. En su forma mas usual, el ábaco consiste en un tablero con varillas en
cada una de las cuales tiene insertada diez cuentas.
Los primeros intentos que se conocen por construir una máquina que auxiliara al hombre en la
realización de cálculos datan de 1633. Posteriormente en 1642 el físico y matemático francés Blas
Pascal construyó el primer equipo mecánico para sumar, y luego Leibnitz continuó desarrollando
estas ideas.
Fueron lentos los pasos iniciales dados en esta dirección, pero uno esencial fue el desarrollo de una
máquina que mediante una tarjeta perforada era capaz de controlar el trabajo de un telar. Esto
ocurrió en 1801; su inventor Joseph Jacquard.
Máquina diferencial de Babbage
Considerada por muchos como predecesora directa de los
modernos dispositivos de cálculo, la máquina diferencial
era capaz de calcular tablas matemáticas. Este corte
transversal muestra una pequeña parte de la ingeniosa
máquina diseñada por el matemático británico Charles
Babbage en la década de 1820. La máquina analítica,
ideada también por Babbage, habría sido una auténtica
computadora programable si hubiera contado con la
financiación adecuada. Las circunstancias quisieron que
ninguna de las máquinas pudieran construirse durante su
1
vida, aunque esta posibilidad estaba dentro de la capacidad tecnológica de la época.
En 1991, un equipo del Museo de las Ciencias de Londres consiguió construir una
máquina diferencial Nº 2 totalmente operativa, siguiendo los dibujos y
especificaciones de Babbage.
En 1833 (dos siglos después del primer intento de construir una máquina que auxiliara al hombre
en realizar cálculos) un profesor inglés de apellido Babbage logró idear un calculador mecánico
automático bajo el principio de las tarjetas perforadas, que era capaz de calcular varias tablas
matemáticas y analíticas, pero no logró construirlo debido al atraso tecnológico de su época. No
obstante, muchas de sus ideas se mantuvieron vigentes hasta nuestros días.
Un equipo menos ambicioso, pero mas práctico, basado en las tarjetas perforadas, fue inventado
por Herman Hollerith en 1889, el cual era capaz de almacenar grandes volúmenes de información
y realizar cálculos aritméticos. Este inventó fue usado para tabular el censo de 1890 en los EEUU
y constituyó la base de los equipos que posteriormente se diseñaran para manipular grandes
colecciones de datos.
No fue hasta 1930 que se logró construir una poderosa computadora(MARK I); diseñada por
Howard Aiken en la Universidad de Harvard, a nivel de relay. Esta computadora era capaz de
resolver ecuaciones y cálculo avanzado, y comenzó a operar en 1944.
En 1946 se logró terminar en la Universidad de Pensilvania el primer equipo totalmente
electrónico (con tecnología digital) y que recibió el nombre de ENIAC (Electronic Numerical
Integrator And Calculator), el cual fue considerado el primer computador digital diseñado en el
mundo. Este equipo, construido por John Mauchly y J. Presper Eckert, usaba 18000 válvulas para
sus circuitos electrónicos, y constituyó una hazaña el mantenerlo funcionando; pero era capaz de
realizar en una hora, lo que a los demás equipos no electrónicos de la época les hubiera costado
una semana aproximadamente. En esta época surge la primera generación de máquinas
computadoras con la MARK I, ENIAC, EDVAC y UNIVAC I. Esta generación se caracteriza por
su gran tamaño, baja velocidad de procesamiento, un gran costo, y posibilidades muy limitadas de
2
programación, ya que fueron programadas mediante contactos físicos eléctricos.
Sistema informático UNIVAC
La primera computadora electrónica comercial, la UNIVAC I, fue también la primera
capaz de procesar información numérica y textual. Diseñada por J. Presper Eckeret y
John Mauchly, cuya empresa se integró posteriormente en Remington Rand, la
máquina marcó el inicio de la era informática. En la ilustración vemos una UNIVAC.
La computadora central está al fondo, y en primer plano puede verse al panel de
control de supervisión. Remington Rand entregó su primera UNIVAC a la Oficina del
Censo de Estados Unidos en 1951.
A partir de este momento el desarrollo de los equipos de cómputos fue acelerado. Ya para los
primeros años de la década del 50 se empiezan a fabricar nuevos tipos de computadoras con la
anexión de diodos y elementos semiconductores (transistores de germanio y silicio) y comienza a
emplearse pequeños núcleos de forma anular de un material ferromagnético conocido como ferrita,
para el almacenamiento de información (datos e instrucciones a ejecutar por la máquina). Estos
pequeños núcleos tienen la propiedad de magnetizarse en uno u otro sentido dependiendo del
sentido de la corriente que circula a través de un cable que pasa por su orificio central. Surge una
importante apreciación conceptual en cuanto a la programación de estos equipos. Estas ideas
fueron desarrolladas por John Von Neumann en la Universidad de Princeton. El plantaba que los
programas debían ser almacenados en la memoria de la computadora, no por contactos físicos
eléctricos, sino externamente, mediante la conmutación de conectores que permitiera darle
diferentes ordenes a la computadora. Esto permitió una flexibilidad enorme. Aparecieron las
primeras tecnologías asociadas a la computadora(compilador FORTRAN muy primario).
Con el desarrollo del primer transistor (Laboratorios Bell en 1947), de los circuitos integrados
(1950) y el perfeccionamiento de los núcleos de ferrita fue posible la aparición de nuevas y mas
sofisticadas computadoras. Entre otras ventajas, la disminución del tamaño de las partes
componentes no sólo permitió aumentar su potencialidad sino también posibilitó la aparición de
modelos similares a las grandes computadoras pero de reducido tamaño, denominadas
minicomputadoras.
En esta etapa adquieren su máximo desarrollo los lenguajes universales para máquinas
computadoras, así como determinados sistemas que auxilian al hombre en el manejo de la máquina
y que recibieron el nombre de sistemas operativos, surgiendo, con esta tecnología la segunda
generación de máquinas computadoras. Estas se caracterizan por velocidades mas altas de
procesamiento y mayor capacidad de almacenamiento, aunque su tamaño sigue siendo grande, así
como su costo. En esta etapa comienza a adquirir gran importancia toda la tecnología asociada a
las computadoras (sistemas operativos, monitores, lenguajes emsambladores, lenguajes de alto
nivel, generadores, etc). De esta generación se dice "puedes comprar una computadora y te
regalamos su tecnología asociada (software)".
3
En la década del 1970 se comienzan a fabricar sistemas de proceso empleando una nueva
tecnología denominados circuitos de alta integración o circuitos integrados a gran escala. A estos
sistemas de procesos se les llamó microprocesadores(fabricado el primero por Intel), ya que
empleando circuitos de alta integración, es posible compactar decenas de miles de componentes
activos (transistores, diodos, resistencias y hasta condensadores), en un sólo circuito de reducidas
dimensiones (Chip). La anexión de los microprocesadores a las máquinas computadoras dieron
lugar a un nuevo tipo de equipo que se denominan microcomputadoras.
Con el desarrollo de los circuitos integrados, y como almacenamiento de información las
memorias de semiconductores, surge la tercera generación de máquinas computadoras. Al
aumentar la densidad y reducir el tamaño al mismo tiempo, se presenta un avance importantísimo
en el diseño de circuitos electrónicos, y por ende en el diseño y construcción de
computadoras.Usando la misma tecnología de los transistores, con ellos es posible agrupar cientos
o miles de componentes en un paquete, que es similar en tamaño a un condensador pequeño, por lo
que las computadoras se vuelven cada vez más baratas y asequibles a una mayor cantidad de
personas. Su capacidad para impactar, se deriva del desarrollo de su tecnología asociada (software)
que incluye: los métodos económico-matemáticos; la modelación aplicada a procesos de dirección;
nuevos paquetes de programas en el campo del diseño, la estadística y la investigación; la
existencia de lenguajes de propósito específico; y los nuevos enfoques en las técnicas de análisis y
diseño de los sistemas; por lo que la programación adquiere una importante relevancia. Esta etapa
la podemos caracterizar por "usted compra la computadora, pero tiene que comprar también su
tecnología asociada".
La introducción de esta nueva tecnología ha permitido un salto cualitativo de enormes
proporciones en el desarrollo de las computadoras, ya que permitió ampliar en gran medida su
campo de aplicación. Por su reducido tamaño puede ubicarse con facilidad en una oficina,
laboratorio, etc, y estar concebida para atender un solo usuario, por lo que también se le suele
llamar computadoras personales. Con el uso de las microcomputadoras desaparecen conceptos
como por ejemplo, el de operador de la máquina, y toman mayor difusión otros como programas
interactivos, puesto de trabajo automatizado, etc.
Se estima, que con la revolución de los microprocesadores y el desarrollo que se espera de la
electrónica en los próximos años, podamos hablar de una cuarta generación de máquinas
computadoras, donde la premisa fundamental sería "le regalamos la computadora, pero usted tiene
que comprar su tecnología asociada".
4
Sin embargo, a pesar del vertiginoso desarrollo que han tenido las computadoras, y la diversidad
de aplicaciones donde pueden emplearse, sólo son capases de realizar cálculos elementales como
secuencias de sumas, multiplicaciones, divisiones y operaciones lógicas.
I.1 La evolución del Pentium.
Microprocesador
Los microprocesadores suelen estar
recubiertos por una carcasa de
protección. Los conductores que
sobresalen del procesador mostrado
arriba se conectan a unas pequeñas
patillas metálicas que se sueldan a
las placas de circuito integrado.
Mas de 20 años de desarrollo han llevado a los microprocesadores de Intel del primitivo diseño
8080 de 8 bits, 6000 transitores y 2 Mhz, que se utilizó en el Altair (la primera computadora
personal), al Pentium de 32 bits, 15 millones de transistores a 600 Mhz de hoy en día. Medidos en
MIPS (millones de instrucciones por segundos), el primer Pentium a 66 Mhz alcanzó 112 MIPS, lo
cual es unas 1800 veces más potente que el procesador 4040 que fue la base conceptual de lo que
vendría mas tarde.
Aunque el sofisticado Pentium debe parte de su linaje al primer diseño del 4040, sus predecesores
más directos son los microprocesadores Intel 8080 y la línea x86, iniciada en 1876 con la
5
introducción del 8086.
Los primeros miembros de la familia x86 tenían registros de 16 bits, un bus de 16 bits, y podían
direccionar hasta 1 Mbyte de memoria física. El 8086 estaba en versiones de 4,77 – 8 y 10 Mhz.
IBM eligió el procesador 8080 para su primer IBM – PC. Se estimó que este chip alcanzó 0,33
MIPS.
Cuando apareció el 80286 en 1982 (empleado por primera vez por IBM en la PC – AT de 1984),
tenía 134000 transistores y 1,2 MIPS (era más rápido y cuatro veces más potente que el 8080).
Este microprocesadore introdujo el “modo protegido”, que permitía al CPU romper la barrera de
los 640K de memoria (podía direccionar hasta 12 Mbyte de memoria). Este microprocesador
suplantó rápidamente al 8086 como el estándar corporativo y se utilizó en millones de compatibles
IBM PC – AT.
Se tardó años en disponer de un Sistema Operativo en modo protegido (como lo hacen el OS/2 o el
Microsoft Windows) debido a que los software y compiladores que explotaban las capacidades de
un microprocesador por lo general aparecían años después de la aparición de un microprocesador.
Aún así, gran parte del atractivo de 80286 estaba en que era compatible con las aplicaciones
escritas para el 8080/8086. Tenía la capacidad de ejecutar todas sus bibliotecas de programas, y lo
hacía más rápido que los chips anteriores.
Intel se dio cuenta que el 80286 estaba “dañado en el cerebro” debido a su modelo de memoria
segmentado basado en 64 segmentos de 286 Kb. La compañía lo reemplazó por el 80386, que tenía
segmentos más grandes, aunque el 80286 sigue viviendo como un procesador incorporado en
aplicaciones tales como los hornos de microondas.
En 1985 Intel sacó con mucho ruido el diseño del microprocesador 80386DX. Inicialmente
funcionaba a una velocidad de 16Mhz y contenía 275000 transistores. El 80386 era un procesador
de 32 bits puros, y rápidamente estuvo en variantes de 16, 20, 25 y 33 Mhz. Inicialmente estaba
entre 5 y 6 MIPS (unas 15 veces más potente que el 8086). Tenía registros de 32 bits, un bus de 32
bits y podía direccionar hasta 4GigaByte y 64bTeraByte de memoria virtual. El 80386 tenía mas
herramientas de programación como un modo virtual 8086 (tanto el OS/2 como Windows utilizan
el modo virtual 8086 para ejecutar múltiples sesiones de DOS) y una gestión de memoria mucho
mejor que su predecesor el 80286.
COMPAQ fue el primer gran fabricante en usar el 80386 en 1986, eclipsando el status de IBM por
primera vez.
En 1989 Intel presentó la familia de procesadores 486, con 1,2 millones de transistores y a
velocidades de 25, 33 y 50 Mhz, con una potencia de proceso de 20 MIPS. Aunque podía parecer
sólo un CPU 386DX crecida, el 486 (Intel abandonó la designación 80 en un esfuerzo por
6
diferenciarse de los competidores que ofrecían CPU parecidos) incluía una serie de innovaciones
técnicas que le proporcionaban un mejor rendimiento que sus predecesores.
El siguiente paso en la evolución de los CPUs incluyó la serie de microprocesadores que doblaban
la velocidad de reloj, que hacían que un 486 funcionara al doble de velocidad que la placa madre
(motherboard). Estos chips estaban a velocidades de 25/50 Mhz y 33/66 Mhz, llegando alcanzar
100Mhz el más rápido de todos (el 486DX4).
En 1993 Intel saca al mercado el Pentium (nuevamente deja la denominación x86 para
diferenciarse de los competidores con productos similares) con 3,3 millones de transistores, 100
Mhz y 112MIPS.
En 1994 introduce el P6, 33% más rápido que el Pentium original, a 133Mhz y con 5,5 millones de
transistores (más rápido que el Nx586 de NexGen, y con igual rapidez que el K5 de AMD y el M1
de Cyrix, sus mas fuertes competidores).
En 1996 sale al mercado el Pentium MMX, con un set de instrucciones ampliado
(fundamentalmente para aplicaciones en multimedia) a velocidades de 133, 166 y 230 Mhz.
Actualmente trabajan la línea de los Pentium MMx a 230, 300, 400 Mhz.
A mediados de 1996 comienzan a desarrollar una nueva generación de Pentium (los Pentium Pro y
los Pentium II), a velocidades de 233, 266, 300 y 333 Mhz, soportando nuevas arquitecturas.
Actualmente Intel a dejado de fabricar los Pentium, y Pentium MMX, concentrando sus esfuerzos
en la versión comercial con los Pentium II, y en su versión más potente para servidores con los
Pentium Pro.
Por su parte NexGen sacó al mercado en 1997 el Nx686, con un promedio de 2 a 4 veces superior
al Nx586. AMD puso en el mercado el K6, como sucesor del K5, con 6,5 millones de transistores.
Para 1998 pretende sacar el K7 (10 a 15 millones de transistores) a 400 Mhz, y para el 2001
plantea el K8 (20 millones de transistores) a 600 Mhz.
Por su parte IBM se ha asociado a Motorola y ha producido el PowerPC, microprocesador que es
usado actualmente por la PowerMac y que logra compatibilizar dos plataformas hasta ahora
incompatibles.
7
Evolución de los procesadores Intel: del 8080 al Pentium.
8080
Velocidad: 2Mhz
MIPS :0,64
Transistores : 6,000
Bus interno: 8 bit
1974
1975
8088
Velocidad: 5Mhz
MIPS :0,33
Transistores : 29,000
Bus interno: 16 bit
1976
1977
1978
80286
Velocidad: 8Mhz
MIPS :1,2
Transistores : 134,000
Bus interno: 16 bit
1979
1980
1981
1982
8086
Velocidad: 5Mhz
MIPS :0,33
Transistores : 29,000
Bus interno: 16 bit
80386 SX
Velocidad: 16Mhz
MIPS :2,5
Transistores : 275,000
Bus interno: 32 bit
1986
1987
486 DX
Velocidad: 25 Mhz
MIPS :20
Transistores : 1,2 millones
Bus interno: 32 bit
1984
1985
80386DX
Velocidad: 16 Mhz
MIPS :6
Transistores : 275,000
Bus interno: 32 bit
486 SX
Velocidad: 20 Mhz
MIPS :16,5
Transistores : 1,18 millones
Bus interno: 32 bit
1988
1983
1989
1990
PENTIUM
Velocidad: 66 Mhz
MIPS :112
Transistores : 3,1 millones
Bus interno: 64 bit
1991
486 DX2
Velocidad: 50 Mhz
MIPS :40
Transistores : 1,2 millones
Bus interno: 32 bit
1992
PENTIUM II
Velocidad: 233 Mhz
MIPS :120
Transistores : 8,3 millones
Bus interno: 64 bit
1993
1994
PENTIUM – MMX.
Velocidad: 166 Mhz
MIPS :116
Transistores : 5,6 millones
Bus interno: 64 bit
1995
1996
1997
1
II
Partes funcionales de una computadora.
Sistema informático
Un sistema informático
suele estar compuesto
por una unidad central
de proceso (CPU),
dispositivos de
entrada, dispositivos
de almacenamiento y
dispositivos de salida.
La CPU incluye una
unidad aritméticológica (ALU), registros,
sección de control y
bus lógico. La unidad
aritmético-lógica
efectúa las operaciones aritméticas y lógicas. Los registros almacenan
los datos y los resultados de las operaciones. La unidad de control
regula y controla diversas operaciones. El bus interno conecta las
unidades de la CPU entre sí y con los componentes externos del
sistema. En la mayoría de las computadoras, el principal dispositivo de
entrada es el teclado. Dispositivos de almacenamiento son los discos
duros, flexibles (disquetes) y compactos (CD). Dispositivos de salida
que permiten ver los datos son los monitores e impresoras.
No es necesario saber cómo funciona una computadora para poder usarla, del
mismo modo que podemos conducir un coche sin saber qué hay debajo del capó.
La tecnología de programación asociada a estos equipos nos permite utilizarla sin
saber nada acerca de cómo funcionan realmente. Alguien podría, no obstante
sentirse incómodo en este tema, de modo que, para los que necesiten tranquilizarse,
introduciremos algunos de los conceptos técnicos empleados en la informática, e
intentaremos dar una idea de cómo funcionan las computadoras.
La más barata de las calculadoras que se pueda comprar en el comercio local es
una computadora en todos los aspectos, salvo en uno. Examinemos primero las
semejanzas. Imagínese que utiliza este tipo de calculadora pulsando digamos, las
1
teclas etiquetadas con 2, +, 3, =, una tras otra, y observará que la calculadora
consiste esencialmente de 5 partes:
Una unidad de entrada, o sea, algo que permite al usuario comunicarse con la
calculadora: el teclado.
Una unidad de salida, esto es, algo que permite a la calculadora comunicarse
con el usuario: la pantalla.
Una memoria, o sea, algún lugar en que el número o números sobre los que se
va a operar están almacenados: por ejemplo, el número 2 de la secuencia anterior
ha de ser recordado mientras se está escribiendo el segundo número.
Una unidad aritmética, esto es, un dispositivo que efectúa realmente las
operaciones; por ejemplo, tomando dos números almacenados en lugares
específicos de la memoria, sumando el uno al otro, y colocando el resultado en
un lugar específico de la memoria.
Una unidad de control, es decir, un dispositivo que coordina las actividades de
las otras unidades; por ejemplo, enviando las señales adecuadas a la unidad de
salida para asegurarse de que el resultado del cálculo es visible.
Ahora bien, incluso la mayor de las computadoras tiene únicamente estas cinco
unidades, aunque, naturalmente, difieren en el aspecto, tamaño, velocidad de
procesamiento, etc. La unidad de entrada puede constituir una variada gama de
dispositivos: lectoras de cintas y tarjetas perforadas (si bien éstas se están
volviendo obsoletas rápidamente); teletipos y terminales, en los que un teclado se
combina con una pantalla de televisión, de forma que el usuario pueda ver lo que
ha escrito; dispositivos más especializados, tales como tableros de diseño, lápices
fotosensibles, pantallas tactosensibles y dispositivos de entrada de habla. Algunos
de estos dispositivos, las terminales en particular, se desdoblan también como
dispositivos de salidas, lo cual permite que se use la computadora interactivamente,
es decir, en una modalidad en la cual la computadora y el usuario se turnan para
enviarse mensajes mutuamente. Los equipos de salida especiales incluyen
monitores y generadores de habla.
La memoria de una computadora es de dos clases, memoria principal y memoria
secundaria(llamada también memoria de almacenamiento). Los números, o más en
general los datos, que se encuentran en la memoria principal, pueden ser
transferidos a la unidad aritmética para operar sobre ellos. Puesto que el tiempo
2
que se tarda en localizar y desplazar los datos en la memoria principal, determina,
principalmente, la velocidad global de la computadora al realizar sus cálculos, ésta
está diseñada para ser tan pequeña como sea factible desde el punto de vista de la
rentabilidad. La memoria principal es pues, cara en relación a la memoria
secundaria, que se usa para almacenar los datos que la memoria principal no
requiere en ese momento. Los "discos duros" (hard disk) de las microcomputadoras
y los "discos flexibles", son ejemplos de medios usados para memoria de
almacenamiento. Considérese, por ejemplo, un programa de enseñanza asistido por
computadora empleado en una clase de 100 alumnos, de los cuales sólo uno a la
vez puede usar el programa. La información acerca de cada alumno estaría
guardada en la memoria de almacenamiento; cuando un alumno utiliza el
programa, su "expediente de alumno" se transferirá a la memoria principal, en la
que se usaría según los requerimientos del programa. Al final de la sesión, el
expediente actualizado del alumno se transferiría de nuevo a la memoria de
almacenamiento.
Las unidades aritméticas y de control de las computadoras difieren sólo
cuantitativamente de las calculadoras. La unidad aritmética será capaz de realizar
más operaciones que la +, -, *, /, de nuestra calculadora, y la unidad de control
tendrá que supervisar unidades considerablemente más complejas. Por cierto que,
el adjetivo "aritmética", es ahora engañoso, puesto que la mayor parte de las
operaciones internas que realiza una computadora no son aritméticas en absoluto,
sino que tienen que ver con, por ejemplo, comparar y desplazar datos. Unidad
aritmética, unidad de control y memoria interna, pueden no ser tres dispositivos
físicamente distintos. Las tres unidades juntas constituyen la "Unidad Central de
Procesamiento (CPU)" o procesador. Las otras unidades se denominan
"periféricos".
Unidad de
Memoria
Unidad de
Entrada
Unidad
Aritmética
Unidad de
Salida
Unidad de
Control
3
Fig 1 Componentes de una computadora. Los punteados indican el
camino de las señales de control; las líneas continuas indican el
camino de los datos.
Resumiendo, podemos decir que los componentes básicos de una computadora son:
i.)
Memoria: Consiste en unidades en las que se almacena la información.
Existe la memoria central(RAM, ROM, EPROM, etc), que son los
dispositivos electromagnéticos dentro de la computadora en los que se
registra o almacena la información; y la memoria externa, que son los
dispositivos periféricos electromecánicos(harddisk, floppy disk, etc).
ii.)
Unidad Central de Procesamiento (CPU): Realiza las operaciones
aritméticas y lógicas sobre las informaciones que se almacenan en la
memoria central.
iii.)
Unidades de Entrada/Salida: Consisten en equipos a través de los cuales se
realiza la introducción de los datos en la memoria de la computadora y la
devolución de los resultados que se han obtenido.
En sentido teórico todas las computadoras son las mismas, en cuanto a cualquier
cosa que pueda hacerse con una, puede hacerse con otra, asumiendo que haya
suficiente memoria y que no importa cuánto tarde. Por consiguiente los detalles
técnicos acerca de los distintos dispositivos nos resultan, en gran parte,
irrelevantes.
4
III Clasificación de las computadoras.
Las computadoras pueden clasificarse de varias formas pero la que mejor permite
el estudio de sus características es tomando como fundamento básico su modo de
operación. De acuerdo a ello las computadoras se clasifican en dos tipos:
-
Analógicas
-
Digitales
Las analógicas se caracterizan por el empleo de una magnitud física para la
representación de una variable en un problema dado. Por ejemplo, en su analogía
en cuanto al comportamiento del sistema, puede relacionarse el voltaje en dos
puntos y la caída de agua de un embalse. Los circuitos integrados de estas
computadoras son lineales o analógicos (amplificadores operacionales, reguladores
de voltaje, osciladores,etc). Estas computadoras analógicas se emplean
generalmente en la industria, para el control de procesos, donde es necesario medir
magnitudes físicas, aunque en los últimos años estas aplicaciones están siendo
absorbidas por las computadoras digitales.
La precisión de las computadoras analógicas dependen de la precisión de los
instrumentos empleados en la medición de las magnitudes físicas utilizadas en
ellas. Además, por lo general, las computadoras analógicas presentan los resultados
en forma de gráficos continuos sobre un papel o sobre una pantalla, por ejemplo,
la pantalla de un osciloscopio.
Por otra parte, las computadoras digitales, están compuestas de circuitos integrados
lógicos o digitales(TTL y CMOS). De aquí que, la representación de una variable
se realiza de forma numérica, es decir, se almacenan y procesan los diferentes
valores de dicha variable, por ello su representación no tiene variación continua.
La precisión de las computadoras digitales depende de la cantidad de cifras
significativas por números que se pueda almacenar, y los resultados, generalmente
se representan en forma de símbolos comprensibles para el hombre (números,
letras, y caracteres en general) o a través de gráficos empleando un conjunto de
puntos mas o menos unidos.
5
Las computadoras digitales son mas universales que las analógicas al poder
resolver cualquier tipo de problema susceptible a ser representado mediante
magnitudes numéricas.
Como las computadoras digitales constituirán el tema a desarrollar en el presente
curso, cada vez que hagamos referencia a las "computadoras", se estará indicando a
las computadoras digitales.
Al igual que no todo caballo es de carrera, también las distintas clases de
computadoras se utilizan en distintas formas.
La computadora "tradicional", voluminosa y cara (denominada actualmente
mainframe), está organizada, por regla general, como un "sistema de tiempo
compartido", es decir un sistema que puede ser utilizado simultáneamente por
varios usuarios a la vez en terminales diferentes. Gracias a que las velocidades de
los periféricos de entrada-salida es extremadamente lentas, con respecto a la
velocidad de procesamiento, resulta posible que la computadora, por medio de un
programa especial denominado Sistema Operativo, reparta su tiempo entre los
usuarios, cada uno de los cuales (idealmente) parece estar recibiendo la atención
única de la computadora.
En el otro extremo tenemos las microcomputadora (computadoras personales), que
están basados en la microelectrónica, y que su sistema operativo es
invariablemente interactivo.
Hemos planteado que una calculadora barata difería de una computadora en un
aspecto. Podríamos eliminar esa diferencia gastando un poco mas de dinero en una
calculadora que fuese "programable". Ahora bien, qué es un programa?
Un programa es una secuencia de instrucciones que pueden desdoblarse en
operaciones para las cuales sí existe soporte físico.
IV Sistema de numeración. Organización lógica de la memoria.
Uno de los principios fundamentales que rigen el funcionamiento de las
computadoras es la necesidad de conservar información a través del
6
tiempo(almacenamiento de la información). Esto está determinado por el hecho de
que a la máquina hay que suministrarle un conjunto de órdenes y datos a utilizar en
el cumplimiento de estas órdenes, que son preparados a priori por el hombre, es
decir, antes de que la computadora comience a ejecutar lo ordenado. Una vez que
la computadora comienza el trabajo, cesa la interacción con el hombre, y no se
reanuda hasta tanto haya terminado la ejecución del algoritmo.
El hecho de que el hombre tenga que especificar todos los pasos y combinaciones
que deben tenerse en cuenta en la ejecución del trabajo es, por sí mismo,
justificativo de la necesidad de almacenar información en la memoria de la
computadora.
Sin embargo, la memoria de la computadora es uno de los recursos más caros con
que cuenta esta máquina, por lo que se hace necesario tratar de buscar las vías para
almacenar la mayor cantidad posible de información en el sistema de conjunto. No
obstante, el tratar de ahorrar memoria puede conducirnos a elaborar programas
excesivamente lentos en su ejecución, lo cual también resulta negativo, si se tiene
en cuenta que el tiempo que consume del procesador central constituye un recurso
caro en el sistema de cómputo.
La unidad de memoria de una computadora puede diseñarse de diversos modos, de
ahí que existen las memorias de núcleos magnéticos, de semiconductores, las de
burbujas magnéticas, etc. El principio empleado en la construcción de memorias
para las computadoras se basa en las propiedades biestable de la sustancia o
mecanismo empleado en el diseño, es decir, la posibilidad de encontrarse en cada
momento en uno de dos estados posibles, por ejemplo, para las memorias
nagnéticas, los dos estados estables de magnetización en cada núcleo corresponde a
los dos sentidos en que puede estar magnetizado el mismo; en las memorias de
semiconductores bipolares, cada cédula se comporta como un biestable con un
transistor conduciendo o saturado, y otro en corte.
Si se establece una relación entre cada estado de la cédula con los dígitos "cero" y
"uno", entonces dicho elemento se puede emplear para almacenar información
codificada, es decir, si se encuentra en un estado estará representando un cero, y en
el otro estado un uno, de acuerdo al convenio establecido. Como dicha cédula sólo
es capaz de representar los dígitos que componen el sistema binario de numeración,
se dice entonces que es capaz de almacenar un bit de información (contracción de
"binary digit"). Ocho cédulas interconextadas de información, constituyen un byte,
y es en él donde se puede almacenar la menor cantidad de información en una
7
computadora.
Cómo nos comunicamos con la computadora?. El método usado para comunicarse
con la computadora es muy importante. La computadora recibe ordenes en forma
de instrucciones que puede aceptar y responder. La computadora no puede
entender un lenguaje humano tal como el inglés o castellano; ella está construida
electrónicamente para responder a instrucciones en "lenguaje de máquina", y éste
está basado en el sistema de numeración binario.
IV.1 Qué es un sistema de numeración?
Un sistema de numeración es el conjunto de reglas y convenios que permiten la
representación de todos los números mediante varios signos o símbolos.
Los sistemas mas conocidos son el decimal y el romano.
Estamos acostumbrados a trabajar con el sistema de numeración decimal desde
tiempos remotos, producto de que el hombre desde un inicio se auxiliaba con los
dedos de sus manos (10 dedos) para contar. Este sistema de base 10 permite
representa combinaciones de dígitos del 0 al 9; pero no es el único sistema de
numeración que existe.
El sistema binario es de base 2, y sus números se forman por combinaciones de los
dígitos 0 y 1. Así tenemos que:
binario
0
1
10
11
100
101
decimal
0
1
2
3
4
5
La representación de un número binario en decimal es por ejemplo:
101011101 = 1.28 +0.27+1.26+0.25+1.24+1.23+1.22+0.21+1.20
La representación de un número decimal a binario es dividiendo el número entre 2
8
y tomando sus restos. Ejemplo, llevar el número 35 a binario.
35 : 2
1 17 : 2
1 8:2
0 4:2
0 2:2
0 1:2
1 0
100011
Claramente, nos resulta mucho mas fácil comunicarnos con la computadora en un
lenguaje como el inglés o el castellano. Por su puesto, la computadora no entiende
el inglés o el castellano, pero los hombres han desarrollado lenguajes que permiten
comunicarse con la computadora de forma mucho mas cerca que el lenguaje de
máquina.
A continuación mostraremos algunas unidades de medidas usadas para indicar la
capacidad de las memorias:
1 Byte
= 8 bit
1 KByte
= 1024 bytes
1 MByte
= 1024 Kbytes
1 Gbyte
= 1024 Mbyte
1 Tbyte = 1024 GByte
20 = 1
21 = 2
23 = 4
24 = 8
25 = 16
26 = 32
27 = 64
28 = 128
29 = 512
210 = 1024
9
V
Organización de la información y sus soportes.
Veamos algunos conceptos importantes relacionados con el de memoria (es posible
que las denominaciones y nomenclatura varíen de un autor a otro).
El lugar (unidad) donde se almacena la información sobre memoria interna se
denomina localización o palabra; y sobre memoria externa registro.
La memoria está numerada consecutivamente, según sus unidades, y el número
que identifica o corresponde a una unidad se denomina dirección. También se le
llama apuntador, referencia, enlace o Link.
En cada unidad de memoria se puede almacenar un valor que se denomina
contenido. El contenido es interpretado por el programador, quien lo identificará
como dato o como programa convenientemente. El contenido de cualquier
localización por tanto puede ser números, caracteres alfanuméricos, apuntadores,
o cualquier otra referencia que el programador desee.
Hemos planteado que la memoria nos interesa ya que es donde se almacena la
información. Aunque éste será con el concepto que mas trabajaremos, sólo
plantearemos su definición y características desde el punto de vista informático.
“La información se presenta como una organización particular de materia
o energía, representada mediante un conjunto de elementos básicos o
símbolos o códigos”
La expresión de la información en un conjunto de símbolos determinados se llama
codificación.
Generalmente tenemos que la unión de varios campos tiene un determinado
significado desde el punto de vista de la estructura. A esta unión, mediante la cual
se crean unidades estructurales se les denomina registro, artículo, nodo o entidad.
10
Los registros definidos con los mismos campos se agrupan en listas o ficheros. Por
tradición cuando el almacenamiento se realiza en memoria interna se le llama lista,
y cuando está en memoria externa se le llama fichero.
Recordemos que una premisa fundamental que debemos respetar siempre en el
trabajo con datos almacenados en la memoria es la no existencia del "mejor
método", sino del método más adecuado para la situación concreta de un programa
determinado, y que las leyes que rigen la programación están en constante
desarrollo, por lo cual lo que hoy nos parece la máxima expresión de eficiencia en
cuanto a tiempo de procesamiento o ejecución y ahorro de memoria, puede no serlo
mañana.
Es preciso recordar que es el hombre el más preciado recurso en le trabajo de
creación intelectual denominado programación. Luego, el esfuerzo que éste haga
para seleccionar los métodos más eficientes en cada caso, redundará en la
eficiencia del trabajo.
LENGUAJE
ORIGEN DEL NOMBRE
AÑO
USOS/COMENTARIOS
ADA
Augusta ADA Byron
(Lady Lovelace)
1979
Derivado de Pascal, utilizado
principalmente por los militares.
ALGOL
ALGOrithmic Language
(Lenguaje ALGOL algorítmico)
1960
Primer lenguaje de programación
procedural estructurado, utilizado sobre
todo para resolver problemas matemáticos.
APL
A Programming Language
(Un lenguaje de programación)
1961
Lenguaje interpretado que utiliza un amplio
conjunto de símbolos especiales y que se
caracteriza por su brevedad. Utilizado
fundamentalmente por los matemáticos.
BASIC
Beginners All-Purpose Symbolic
Instruction Code(Código de
instrucciones simbólicas
multipropósito para principiantes)
1965
Lenguaje de programación de alto nivel,
utilizado con frecuencia por programadores
principiantes.
C
Predecesor del lenguaje de
programación B, fue desarrollado
en Bell Laboratory, en 1972
1972
Lenguaje de programación compilado y
estructurado, que suele utilizarse en
numerosos lugares de trabajo porque sus
programas pueden transferirse fácilmente
entre distintos tipos de computadoras.
COBOL
COmmon Business-Oriented
Language (Lenguaje simbólico
de programación orientado a
aplicaciones comerciales)
1959
Lenguaje de programación semejante al
idioma inglés, que hace hincapié en las
estructuras de datos. De amplia utilización,
principalmente en empresas.
FORTH
Lenguaje de cuarta
(FOuRTH) generación
1970
Lenguaje estructurado e interpretado de
fácil ampliación. Ofrece una alta
funcionalidad en un espacio reducido.
FORTRAN
FORmula TRANslation
(Traducción de fórmulas)
1954
Diseñado en un principio para usos
científicos y de ingeniería, se trata de un
lenguaje compilado de alto nivel que hoy se
utiliza en numerosos campos. Precursor de
diversos conceptos, como las variables, las
instrucciones condicionales y las subrutinas
11
compiladas por separado.
LISP
LISt Processing
(Procesamiento de listas)
1960
Lenguaje de programación orientado a la
generación de listas, utilizado
principalmente para manipular listas de
datos. Lenguaje interpretado que suele
utilizarse en las investigaciones y está
considerado como el lenguaje estándar en
proyectos de inteligencia artificial.
LOGO
Derivado del griego logos,
‘palabra’.
1968
Lenguaje de programación que suele
utilizarse con niños. Presenta un sencillo
entorno de dibujo y varias prestaciones de
mayor nivel del lenguaje LISP.
Fundamentalmente educativo.
Modula-2
MODUlar LAnguage-2, diseñado
como fase secundaria de Pascal
(diseñados ambos por Niklaus
Wirth)
1980
Lenguaje que hace hincapié en la
programación modular. Es un lenguaje de
alto nivel basado en Pascal, que se
caracteriza por la ausencia de funciones y
procedimientos estandarizados.
Pascal
Blaise PASCAL, matemático e
inventor del primer dispositivo de
computación.
1971
Lenguaje compilado y estructurado basado
en ALGOL. Agrega tipos y estructuras de
datos simplificando la sintaxis. Al igual que
el C, se trata de un lenguaje de
programación estándar para
microcomputadoras.
PILOT
Programmed Inquiry, Language
Or Teaching
(Consulta, lenguaje o aprendizaje
de investigación programada)
1969
Lenguaje de programación utilizado
fundamentalmente para crear aplicaciones
destinadas a instrucciones asistidas por
computadora. Se caracteriza por utilizar un
mínimo de sintaxis.
PL/1
Programming Language 1
(Lenguaje de programación uno)
1964
Diseñado para combinar las principales
virtudes del FORTRAN, COBOL y ALGOL,
se trata de un lenguaje de programación
complejo. Compilado y estructurado, es
capaz de gestionar errores y de procesar
multitareas, y se emplea en entornos
académicos y de investigación.
Supercomputadora Cray
La supercomputadora Cray-1 (diseñada
por Seymour Cray de Cray Research, de
Eagan, Minnesota, EEUU) fue la primera
capaz de ejecutar más de 100 millones de
operaciones de coma flotante por
segundo. Entre los numerosos problemas
tecnológicos que hubo que resolver, uno
de los más importantes fue eliminar el
calor generado por la alta velocidad de las
operaciones lógicas. Esto se consiguió
montando los circuitos sobre placas
verticales enfriadas mediante un sistema
12
basado en gas freón. Aunque en la actualidad ya se han construido
máquinas más rápidas, la Cray-1 sigue utilizándose para estudios
matemáticos de problemas muy complejos, como por ejemplo el
análisis del habla, la previsión climatológica e interrogantes básicos en
física y química. Además, la Cray-1 se utiliza como unidad de medida
informal para las supercomputadoras más nuevas, algunas de las
cuales se proyectan ahora para ser equivalentes a 1.000 crays.
13
Descargar