ALGORITMOS Y PROGRAMACIÓN DE COMPUTADORES

Anuncio
ALGORITMOS Y PROGRAMACIÓN DE
COMPUTADORES
Utilizando Visual Basic
Por: William Alvarez-Montoya
Universidad Nacional de Colombia
Sede Medellín
Facultad de Minas
Escuela de Sistemas
1
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Capítulo 1
Evolución y Desarrollo de los computadores
«Evolution». Fuente: R.B. Muhama.( Kent State University,
2004,.http://www.cs.kent.edu/~rmuhamma/),.
Los objetivos básicos que se pretenden lograr con este texto son los siguientes:
•
Desarrollar destrezas lógico-abstractas para conceptualizar e implementar la solución de
problemas utilizando un computador.
•
Propender por el aprendizaje de técnicas que permitan y faciliten la representación
algorítmica, en el proceso de la solución de problemas, aunando los enfoques algorítmico y
ecuacional.
•
Incentivar el aprendizaje de un entorno gráfico, visual e interactivo de programación de
computadores.
En tal sentido se empleará la Metodología de Solución de Problemas (“Aprendizaje vía
ejemplos”), en la cual se mezcla el enfoque ecuacional (modelación matemática) y el enfoque
algorítmico.
1.1 ENFOQUE DEL CURSO
Mediante el enfoque ecuacional se modela una parte d ela realidad, generalmente vista
comosituación o problema a resolver, empleando el Álgebra y las matemáticas más avanzadas
para construir un modelo abstracto-lógico-matemático que representa esa parte de la realida, o
ese problema a solucionar. El enfoque algorítmico, implementado por medio de computadores
digitales, ha surgido desde mediado del siglo XX como una filosofía y una herramienta que
permite abordar y resolver problemas complejos. La sinergia entre los dos enfoques ha
catapultado más y mejores soluciones de problemas en prácticamente toda disciplina del
saber humano, especialmente en áreas técnicas y de ingeniería.
Tradicionalmente este curso en la Fcultad de Minas se ha organizado en dos sesiones –o
clases, de 2 horas- de trabajo presencial en la semana. En una de las sesiones se explican los
aspectos conceptuales y teóricos de los Algoritmos y la Programación de Computadores. Y en
__________________________________________________________________________________
[email protected]
Página 2
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
la otra sesión utiliza el computador para resolver problemas en los cuales se aplican los
conceptos y la teoría vistos en la sesión teórica. De ahí, que esta documentación incluya
ambos niveles de complejidad de un curso orientado al nivel básico del pregrado en Ingeniería
(unas 10 ingenierías, excluyéndose a la Ingeniería de Sistemas, a la Ingeniería de Control, y a
otras de reciente creación como la Ingeniería Biológica y la Ingeniería Física).
Este tipo de trabajo –teórtio y práctico- le exije al estudiante, de entrada, unas estrategias
diferentes de estudio de la asignatura.
La recomendación que normalmente se la hace a los estudiantes (entre 500 y 600 estudiantes
por semestre, con cerca de un 40% mujeres) es muy simple: estudiar de manera frecuente y
sistemática el material de cada módulo –sesión o clase- y repasarlo asiduamente; interactuar,
adicionalmente, con el computador , por lo menos una sesión adicional cada semana, para
lograr un refuerzo extra en la aprehensión de los conceptos, estrategias y técnicas.
En este curso hay una dificultad mayor, para abordarlo de forma eficiente, por cuanto se
avanza muy rápidamente en la estructura de contenidos; de suerte, que cada semana es
necesario estudiar los temas que se explican en cada clase teórica y en cada clase práctica.
En este sentido, es muy conveniente que los (las) estudiantes se apersonen de las técnicas
eficientes de estudio que le permitirán realizar su labor de forma más eficiente, no sólo en esta
asignatura sino también en las demás asignaturas de su carrera, lo cual -igualmenteredundaría en un mejor desempeńo en su futura actividad profesional. Saber estudiar de
manera eficiente es una habilidad que toda persona puede desarrollar y hecer parte de su
bagaje de conocimientos, aptitudes y actitudes.
El material del curso se organiza en tres partes, incluyendo cada una teoría y práctica:
•
La primera parte consta de 6 semanas, 6 sesiones teóricas y 6 sesiones prácticas.
Al final de estas seis semanas se hace la primera evaluación consistente en un
examen escrito individual y en un examen práctico frente al computador. No se
hace una presentación rigurosamente matemática de los algoritmos y la
programación sino que se aborda de una forma más omenos intuitiva toda la
temática teórico-práctica. Los temas incluyen: (1) una presentación general del
curso, de la secuencia de contenidos, de la metodología, de la evaluación y de la
bibliogrfía y demás referencias a emplear; (2) un vistazo general del desarrollo
histórico de los computadores, enmarcando el concepto de algoritmo y las
estructuras fundamentales mediante las cules se construyen algoritmos
secuenciales: secuencia, selección lógica, iteración; (3) los conceptos de
acumulador y contador, y sus aplicaciones; (4) con los conceptos anteriores se
efectúan algunas aplicaciones sencillas como los cálculos de series, de sumatorias
y productorias, de ciertas medidas estadísticas, de métodos de integración
numérica y de métodos para la obtención de raíces de funciones no-lineales; (5)
una introducción a las gráficas complementa la teoría explicada; (6) en la parte
práctica se inicia con el concepto entorno gráfico, visual e interactivo de
programación, basado en el concepto de proyecto Visual Basic, y se elaboran
sencillas aplicaciones que constan de su interfaz gráfica de usuario con la
programación respectiva; (7) lo concerniente al lenguaje de programación incluye el
manejo de variables y constantes, tipos de datos, operadores, expresiones, tipos de
__________________________________________________________________________________
[email protected]
Página 3
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
instrucciones, funciones de librería estándar, controles básicos y eventos y
procedimientos asociados a dichos controles.
•
En la segunda parte se introducen y se manejan los conceptos de arreglo, de
archivos de datos, subprogramas definidos por el usuario, y de datos definidos pro
el usuario. Para la interfaz gráfica de usuario se trabaja con menú tipo barra,
módulos d eprogramas y formularios múltiples. Las aplicaciones con las cuales se
ilustran los conceptos teóricos incluyen: ordenamiento y búsqueda; operaciones
con vectores, matrices y archivos de datos. Esta parte consta de 5 semanas, al final
de las cueles se hace la segunda evaluación teórico-práctica.
•
En la tercera parte se aplican los conceptos y técnicas trabajados en las dos
partes previas en la solución de problemas tales como: ecuaciones lineales
simultánes, método de Gauss y de Jacobi; el cálculo de la Inversa, método de
Gauss-Jordan; el ajuste de curvas por el método de mínimos cuadrados; y una
sencilla miscelánea de otras aplicaciones, con fines meramente descripticos, para
enfatizar el uso de los algoritmos y la programación en la solución de problemas
prácticos en áreas de ingeniería. Estas últimas aplicaciones pueden variar semestre
a semestre dependiendo de la disponibilidad de soluciones que el docente tenga a
la mano.
Los problemas de ejemplo están a nivel de las ciencias básicas de ingeniería, por cuanto el
grueso de los estudiantes pertenecen a los primeros semestres (del 1 al 3) en las carreras de
ingeniería en las cuales esta asignatura es obligaroria en las currícula. Por lo cual los
prerrequisitos son mínimos y corresponden a los básicos del Álgebra y la Aritmética, la
geometria, la física, la química, el Álgebra Lineal y el cálculo de los primeros semestres
universitarios.
Es de suma importancia para un estudiante universitario el apersonarse de las técnicas
eficientes de estudio. Semestre a semestre se observa –y las estadísticas- lo corroboran que
los porcentajes de repitencia de asignaturas, pérdida del semestre, y de deserción son
relativamente altos1. Aunque en la solución de esta problemática intervienen muchos factores,
hay una categoría de factores sobre la cual el estudiante –como individuo- sí puede tener un
alto grado de control: mejorar las técnicas de estudio. Las técnicas básicas incluyen2:
•
•
•
•
•
•
•
•
Actitud proactiva para asistir a clases.
Saber concentrarse en clase y toma de apuntes eficaces que ayuden efectiamente
al aprendizaje.
Estudio frecuente y sistemático extraclase.
Saber preparar exámenes, trabajos y exposiciones.
Sabia administración del tiempo.
Métodos de lectura rápida y ultrarrápida.
Métodos para mejorar la memoria.
Nutrición adecuada para el aprendizaje.
0
1
2
Ver las estadísticas sobre el tema presentada por las instancias pertinentes en unalmed. Estos problemas han suscitado continuios dabtes,
véase, por ejemplo: “Problemas curriculares y pedagógicos del pregrado en la Universidad Nacional de Colombia”, Serie de documentos
de trabajo No. 3, Bogotá, 2003..
Véase, por ejemplo, “Study Skills for Science & Technology Students”, Brunel University, 2005,
http://www.brunel.ac.uk/~mastmmg.
__________________________________________________________________________________
[email protected]
Página 4
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
•
•
Saber identificar y controlar de manera inteligente los distractores que impiden
centrarse en el estudio (amistades y grupos de interés demasiado absorventes,
drogas, alcoholismo, tabaquismo, embarazos en las jóvenes) que inciden
negativamente sobre el desempeño académico de calidad en amplios grupos de
estudiantes.
Aprovechar los recursos de acompañamiento, asesoría, prevención y apoyo que
brinda la universidad.
El material del curso está disponible en la página web principal en la Escuela de Sistemas,
http://pisis.unalmed.edu.co/cursos/algoritmos/, y también en sendas páginas que el suscrito mantiene
para tal efecto: http://www.unalmed.edu.co/~walvarem, http://xue.unalmed.edu.co/~walvarem. Este
material consta de: diapositivas de las clases teóricas, guías de prácticas, problemas
propuestos, bibliografía, referencias y enlaces, problemas resueltos, exámenes resueltos,
textos de apoyo, tanto en formato HTMl como PDF y ZIP.
1.2 IMPACTO DE LOS COMPUTADORES
Ningún invento ha cambiado más profundamente la vida moderna
que el computador. Para bien o para mal, los computadores se han
infiltrado en cada aspecto de nuestra sociedad. Actualmente, los
computadores hacen mucho más que simplemente calcular: por
ejemplo, las cajas registradoras de los supermercados están
dotadas con rastreadores ópticos y tecnología de código de barras,
y calculan el importe de las compras mientras actualizan el
inventario; las centrales telefónicas computarizadas manejan
millones de llamadas diariamente, permitiendo las comunicaciones
locales, nacionales e internacionales; los cajeros automáticos
facilitan y controlan las transacciones financieras, virtualmente
desde cualquier lugar del mundo; los vehículos de transporte
(automóviles, trenes, aviones) se basan en la electrónica y en
multitud de microprocesadores que pemiten el control y la programación; en las empresas,
máquinas de toda índole realizan desde las labores más sencillas hasta las más complejas,
desde el diseño de productos y servicios hasta la fabricación automática de partes y de bienes
terminados; y, virtualmente, todo electrodoméstico moderno está dotado de
microprocesadores que permiten su control y programabilidad.
Pero, ¿de dónde ha surgido toda esta tecnología informática, cuáles son sus implicaciones y
hacia dónde está jalonando a las organizaciones y a los países? Para entender en profundidad
y apreciar los múltiples efectos que los computadores y sus tecnologías conexas tienen en
nuestras vidas y cuáles son las megatendecias que ellos están moldeando hacia el próximo
futuro, es preciso estudiar y entender cuál ha sido su evolución, y quiénes son los hombres y
mujeres que han determinado con sus ideas e invenciones los más sobresalientes logros.
__________________________________________________________________________________
[email protected]
Página 5
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
1.3 DISPOSITIVOS DE CÓMPUTO DE LA ANTIGUEDAD
Desde la más remota antigüedad cada cultura ha
desarrollado instrumentos de cálculo para efectuar
operaciones de la vida práctica y de los negocios. Se
presume que el sistema de cómputo utilizado primero
fue el de la cuenta con los dedos (de ahí la palabra
dígito).
En las escuelas de la antigua Roma, por ejemplo, los
escolares aprendían a efectuar las operariones
aritméticas básicas con los dedos, y aún a extraer raíz
cuadrada
El ábaco, también llamado soroban por los japoneses, que emergió hace unos 5,000 años en
el Asia Menor (se asegura que pudo haber sido primero en China, desde donde fue llevado a
Mesopotamia por los comerciantes) y que se sigue empleando actualmente, se considera
como el primer computador. Este artefacto permite, a quien lo usa, efectuar cálculos
aritméticos por medio de un sistema de aros deslizantes ensamblados en un clavijero. Desde
la antigüedad, los comerciantes han empleado el ábaco para efectuar las transacciones
rutinarias de los negocios. Suele consistir en un tablero o cuadro con alambres o surcos
paralelos entre sí en los que se mueven bolas o cuentas. El ábaco moderno está compuesto
de un marco de madera o bastidor con cuentas en alambres paralelos y de un travesaño
perpendicular a los alambres que divide las cuentas en dos grupos. Cada columna o barra —
es decir, cada alambre— representa un lugar en el sistema decimal. La columna más a la
derecha son las unidades, la que está a su izquierda son las decenas y así sucesivamente. En
cada columna hay cinco cuentas por debajo del travesaño, cada una de las cuales representa
una unidad; y dos por encima del travesaño, que representan cinco unidades cada una. Por
ejemplo, en la columna de las decenas cada una de las cinco representa diez y cada una de
las dos representa 50. Las cuentas que se han de incluir como parte de un número se colocan
junto al travesaño.
El ábaco fue utilizado tanto por las civilizaciones precolombinas y
mediterráneas como en el Lejano Oriente. En la antigua Roma, era
un tablero de cera cubierta con arena, una tabla rayada o un
tablero o tabla con surcos. A finales de la edad media los mongoles
introdujeron el ábaco en Rusia, que provenía de los chinos y los
tártaros, y que todavía hoy se utiliza en el pequeño comercio. En
China y Japón, también hoy muy a menudo lo utilizan los hombres
de negocios y contables. Los usuarios expertos son capaces de
hacer operaciones más rápido que con una calculadora electrónica.
En las antiguas culturas egipcias y mesopotámica, después en las
culturas griega y romana, se emplearon algunos otros dispositivos
de cálculo, como el odómetro ideado para llevar las cuentas del recorrido de los carruajes. En
las antiguas culturas celtas se utilizaban varas de madera con muescas para llevar la cuenta
de las transacciones (a trueque). Y, aunque los Incas, en Suramérica, carecían de lenguaje
escrito, idearon un instrumento de cálculo más sofisticado: el quipus, juegos de cintas de
diferentes colores anudados según un sistema codificado, que les permitía llevar la
__________________________________________________________________________________
[email protected]
Página 6
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
contabilidad; también los registros de tropas, suministros, datos de población e inventarios
generales se llevaban a cabo mediante los quipus.
Sin embargo, para poder utilizar un sistema o método de cómputo, ayudado por dispositivos
de cómputo, se requiere comprender y manejar un Sistema Numérico, basado en un conjunto
de signos o símbolos (un Contexto Simbólico), o Sistema de Numeración.
Sistema numérico, en matemáticas, varios sistemas de notación que se han usado o se usan
para representar cantidades abstractas denominadas números. Un sistema numérico está
definido por la base que utiliza. La base es el número de símbolos diferentes, o guarismos,
necesarios para representar un número cualquiera, de los infinitos posibles, en el sistema. Por
ejemplo, el sistema decimal, utilizado hoy de forma universal (con la excepción de los
ordenadores o computadoras), necesita diez símbolos diferentes o dígitos para representar un
número y es, por tanto, un sistema numérico en base 10. A lo largo de la historia se han usado
multitud de sistemas numéricos. En realidad, cualquier número mayor que 1 puede ser
utilizado como base.
Algunas civilizaciones usaban sistemas basados en los números 3, 4 o 5. Los babilonios
utilizaron el sistema sexagesimal, basado en el número 60, y los romanos (en cierta
aplicaciones) el sistema duodecimal, con el número 12 como base. Los mayas utilizaban el
sistema vigesimal, basado en el número 20. El sistema binario, o en base 2, fue usado por
algunas tribus antiguas y junto con el sistema en base 16 se usa en la actualidad en los
ordenadores o computadoras.
La tabla siguiente muestra una comparación de algunis sistemas de signos de las culturas
antiguas:
Signos antiguos de numeración (Ilustración de Microsoft, 1998-2000.
__________________________________________________________________________________
[email protected]
Página 7
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Valores posicionales
La posición de una cifra indica el valor de dicha cifra en función de los valores exponenciales
de la base. En el sistema decimal, la cantidad representada por uno de los diez dígitos
utilizados —0, 1, 2, 3, 4, 5, 6, 7, 8 y 9— depende de su posición en el número completo. Por
ejemplo, el número 3.098.323 es la representación de (3 × 106) + (0 × 105) + (9 × 104) + (8 ×
103) + (3 × 102) + (2 × 101) + (3 × 100, o 3 × 1).
El primer 3 (empezando por la derecha) representa 3 unidades; el segundo, 300 unidades y el
tercero, 3 millones de unidades. Dos dígitos —0 y 1— son suficientes para representar un
número en el sistema binario; 6 cifras —0, 1, 2, 3, 4 y 5— se necesitan para representar un
número en el sistema sextil y 16 guarismos —0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (diez), B (once), C
(doce) … y F (quince)— son necesarios en el sistema hexadecimal. El número 30.155 en el
sistema en base 6 es igual al número (3 × 64) + (0 × 63) + (1 × 62) + (5 × 61) + (5 × 60) = 3.959
en el sistema decimal.
El número 2EF del sistema hexadecimal es el número (2 × 162) + (14 × 161) + (15 × 160) = 751
en el sistema decimal.
Para convertir un número n dado en base 10 a un número en base b, se divide (en el sistema
decimal) n por b, el cociente se divide de nuevo por b y así sucesivamente hasta que se
obtenga un cociente cero. Los restos sucesivos de esta serie de divisiones son los dígitos que
expresan n en base b (la base se suele escribir como un subíndice del número). A medida que
la base sea mayor, se necesitan más guarismos, pero la representación de un número
requiere menos dígitos.
Sistema binario
El sistema binario desempeña un importante papel en la tecnología de los ordenadores. Los
primeros 20 números en el sistema en base 2 son 1, 10, 11, 100, 101, 110, 111, 1000, 1001,
1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011 y 10100.
Cualquier número se puede representar en el sistema binario, como suma de varias potencias
de dos. Por ejemplo, el número 10101101 representa, empezando por la derecha, (1 × 20) + (0
× 21) + (1 × 22) + (1 × 23) + (0 × 24) + (1 × 25) + (0 × 26) + (1 × 27) = 173.
Las operaciones aritméticas con números en base 2 son muy sencillas. Las reglas básicas
son: 1 + 1 = 10 y 1 × 1 = 1. El cero cumple las mismas propiedades que en el sistema decimal:
1 × 0 = 0 y 1 + 0 = 1. La adición, sustracción y multiplicación se realizan de manera similar a
las del sistema decimal:
__________________________________________________________________________________
[email protected]
Página 8
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Puesto que sólo se necesitan dos dígitos (o bits), el sistema binario se utiliza en los
ordenadores o computadoras. Un número binario cualquiera se puede representar, por
ejemplo, con las distintas posiciones de una serie de interruptores.
La posición "encendido" corresponde al 1, y "apagado" al 0. Además de interruptores, también
se pueden utilizar puntos imantados en una cinta magnética o disco: un punto imantado
representa al dígito 1, y la ausencia de un punto imantado es el dígito 0.
Los biestables —dispositivos electrónicos con sólo dos posibles valores de voltaje a la salida y
que pueden saltar de un estado al otro mediante una señal externa— también se pueden
utilizar para representar números binarios. Los circuitos lógicos realizan operaciones con
números en base 2.
La conversión de números decimales a binarios para hacer cálculos, y de números binarios a
decimales para su presentación, se realizan electrónicamente. En la siguiente figura se
comparan los sistemas con base 10 y con base 2:
Comparación de sistemas
numéricos (Ilustración de
Microsoft, 1998-2000).
Numeración
Sistema de signos o símbolos utilizados para expresar los números. Las primeras formas de
notación numérica eran simplemente grupos de líneas rectas, verticales u horizontales, cada
una de ellas representando al número 1. Este sistema era engorroso para manejar grandes
números. Ya en el año 3400 a.C. en Egipto y en el 3000 a.C. en Mesopotamia se empezó a
utilizar un símbolo especial para el número el 10. La inclusión de este segundo símbolo hizo
__________________________________________________________________________________
[email protected]
Página 9
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
posible expresar el número 11 con dos símbolos en vez de 11 símbolos unitarios, y el número
99 con 18 símbolos en vez de 99.
Las numeraciones posteriores introdujeron símbolos adicionales para cierto número entre el 1
el 10, generalmente el 4 o el 5, y más símbolos para números mayores que 10. En la notación
cuneiforme de Babilonia el símbolo utilizado para el 1 era también usado para representar el
60 y sus potencias; el valor de un símbolo venía dado por su contexto. Este sistema tenía
sentido desde el punto de vista matemático, pues 600= 1, 601= 60, y 602= 3.600. La
numeración jeroglífica egipcia tenía símbolos para el 10, 100, 1.000 y 10.000. En la Grecia
antigua coexistieron dos sistemas paralelos de numeración. El primero de ellos estaba basado
en las iniciales de los nombres de los números: el número 5 se indicaba con la letra p (pi); el
10 con la letra d (delta); el 100 con la letra H (eta); el 1.000 con la letra c (chi) y el 10.000 con
la letra µ (mu).
En el segundo sistema, utilizado por primera vez hacia el tercer siglo a.C., se usaban todas las
letras del alfabeto griego más tres letras tomadas del alfabeto fenicio como guarismos. Las
nueve primeras letras del alfabeto griego eran las unidades del 1 al 9, de la novena a la
decimoctava eran las decenas del 10 al 90 y las otras nueve letras eran los centenares del 100
al 900. Los millares se indicaban colocando una raya vertical a la izquierda de la
correspondiente letra, y las decenas de millar colocando la letra pertinente sobre la letra M.
Este segundo sistema griego de numeración tenía la ventaja de que números grandes podían
ser expresados con un pequeño número de símbolos, pero tenía la desventaja de tener que
saberse de memoria un total de 27 símbolos.
Numeración romana
El sistema de símbolos para representar los números creado por los romanos tuvo el mérito de
ser capaz de expresar todos los números del 1 al 1.000.000 utilizando sólo 7 símbolos: I para
el 1, V para el 5, X para el 10, L para el 50, C para el 100, D para el 500 y M para el 1.000. Los
números romanos se leen de izquierda a derecha. Las letras que representan las cantidades
mayores se colocan a la izquierda, a continuación se colocan las letras que representan las
siguientes cantidades y así sucesivamente. Los valores de los símbolos suelen sumarse,
excepto cuando una letra se coloca a la izquierda de otra que representa una cantidad mayor,
en cuyo caso la primera se resta de la segunda. Por ejemplo, LX = 60, XIX = 19 y MMCIII =
2.103.
La letra M con una pequeña raya horizontal encima representa 1.000.000 —una pequeña raya
horizontal colocada sobre un símbolo multiplica su valor por mil. De esta manera, en teoría, es
posible, utilizando un número infinito de rayas, expresar todos los números del 1 al infinito. Sin
embargo, en la práctica, se usa sólo una raya y casi nunca se utilizan más de dos. Los
números romanos todavía se utilizan en nuestros días, más de 2.000 años después de su
aparición, generalmente con fines decorativos.
La numeración romana tiene el inconveniente de no ser adecuada para realizar cálculos
escritos con rapidez, y mucho menos para efectuar cálculos complejos o representar fórmulas
-igualmente complejas- en Ingeniería. Esta es, quizás, una de las principales razones por las
cuales la ingeniería romana no progreso lo suficiente como sí lo ha hecho la ingeniería
occidental que utiliza el sistema numérico con base 10, o Numeración arábiga.
__________________________________________________________________________________
[email protected]
Página 10
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Numeración arábiga
El sistema corriente de notación numérica que es utilizado hoy en casi todo el mundo es la
numeración arábiga. Este sistema fue desarrollado primero por los hindúes hacia el siglo III
a.C. En aquella época, los guarismos 1, 4 y 6 se escribían de forma casi igual a los que hoy se
usan. La numeración hindú pasó al mundo árabe alrededor del siglo VII u VIII d.C. La primera
referencia escrita del uso de este tipo de numeración en Europa data del año 976.
La innovación más importante del sistema arábigo de numeración fue el uso de la notación
posicional, en la que los símbolos individuales cambian su valor según su posición en el
número escrito. Sólo es posible utilizar la notación posicional si existe un símbolo para el cero.
El guarismo 0 permite distinguir entre 11, 101 y 1.001 sin tener que utilizar símbolos
adicionales. Además, todos los números se pueden expresar utilizando sólo diez guarismos,
del 1 al 9 más el 0. La notación posicional simplifica todos los tipos de cálculo numérico por
escrito. Y este es el sistema de numeración que se estandarizó en el mundo.
1.4 DISPOSITIVOS DE CÓMPUTO EN EL MEDIOEVO
En materia de dispositivos de cómputo, pocos fueron los avances desde el siglo 5 al siglo 16,
especialmente en el periodo llamado Edad Media, caracterizado por un craso oscurantismo.
Sin embargo, hacia mediados del siglo 15, Johan Gutemberg (c.1400-1468) inventó la
imprenta de tipos móviles, que al combinarse con el uso del lápiz y el papel, particularmente
en Europa, el ábaco y esos otros dispositivos perdieron su importancia. Sólo hasta el siglo 17
se dió el siguiente avance significativo en relación con los dispositivos de cálculo.
En 1642, Blaise Pascal (1623-1662), hijo de un
recaudador francés de impuestos, inventó a sus 18
años una sumadora mecánica (basada en ruedas
dentadas) para ayudarle a su padre en las tareas de
los cálculos contables. Dicha sumadora, también
llamada Pascalina, consistía de una caja rectangular
de bronce en la cual se ensamblaban ocho ruedas
movibles para sumar números de hasta ocho cifras.
El dispositivo de Pascal empleaba la base numérica
10 para efectuar las sumas. Por ejemplo, cuando la
primera de las ruedas avanzaba 10 ranuras, o una
vuelta completa, la rueda de al lado - que
representaba las decenas - sólo avanzaba una
ranura. Cuando la rueda de las decenas avanzaba
una vuelta completa, la rueda de las centenas se movía un lugar (una ranura); y así
sucesivamente. El principal inconveniente de la Pascalina era, por supuesto, que sólo
efectuaba sumas.
En 1694, el Matemático y Filósofo alemán, Gottfried Wilhem von Leibniz (1646-1716), mejoró
la Pascalina al inventar una máquina que también podía efectuar multiplicaciones. Como su
predecesor, el dispositivo mecánico de Leibniz funcionaba sobre la base de un sistema de
ruedas dentadas y clavijas. En parte por el estudio de las notas y dibujos originales de Pascal,
Leibniz fué capaz de perfeccionar la Pascalina. El núcleo de la máquina multiplicadora de
__________________________________________________________________________________
[email protected]
Página 11
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Leibniz consistía en el diseño de un tambor dentado que giraba paso a paso, y el cual ofrecía
una versión elongada de la simple rueda dentada.
1.5 DISPOSITIVOS DE CÓMPUTO EN LA ERA INDUSTRIAL
Sólo fué hasta 1820, sin embargo, que las calculadoras mecánicas ganaron popularidad y un
uso más amplio. Charles Xavier Thomas de Colmar, un francés, inventó una máquina que
podía efectuar las cuatro operaciones aritméticas básicas. La calculadora mecánica de
Colmar, El arithómetro, presentaba un enfoque más práctico para calcular, porque podía
sumar, restar, multiplicar y dividir. Con dicha mejorada versatilidad, El arithómetro fué
ampliamente usado hasta la Primera Guerra Mundial. Aunque inventores posteriores refinaron
el dispositivo de Colmar, El arithómetro -juntamente con los dispositivos ingeniados por
Pascal y Leibniz, ayudó a perfilar la etapa del procesamiento mecánico de datos.
También en el siglo XIX, Charles Babbage, en Inglaterra, propuso el diseño de dos dispositivos
analíticos “La máquina diferencial” y “La máquina análitica”. Esta última se considera
tradicionalmente la precursora de los computadores actuales. Las rutinas de programación de
esta máquina las ideó Ada Augusta Byron, quien es considerada la primera persona en
programar un computador.
Hacia 1890 el gobierno de Estados Unidos, USA, contrató el procesamiento de la información
del censo con Herman Hollerith quien ideó un tipo de másquina electromecánica, basada en
técnicas de tarjeta perforada, que hizo mucho más eficientemente los cálculos y en muchísimo
menos tiempo. Esto marcó el inicio de toda una industria de procesamiento de datos,
especialmente con la empresa que Hollerithn y sus asociados fundaron, la que después se
cpnvirtió en IBM (International Business Machines).
1.6 DISPOSITIVOS DE CÓMPUTO EN EL SIGLO XX
En el siglo 20 muchas otras personas hicieron avances significativos en el desarrollo del
proceso de datos por medio de máquinas. Vannevar Bush (1890-1974) desarrolló una
calculadora para solucionar ecuaciones diferenciales, en 1931. La máquina podía resolver
ecuaciones diferenciales tan complejas, que dejó asombrados tanto a científicos como a
matemáticos. Sin embargo, dicha máquina era demasiado engorrosa pues requería cientos de
ruedas y poleas para representar los números y sus diversas relaciones.
Con el fín de facilitar las cosas, John V. Atanasoff (nacido en 1903), un profesor del Iowa State
College (llamado ahora Iowa State University) y un estudiante de postgrado que lo asistía,
Clifford Berry, envisionaron un computador electrónico que aplicaba el Álgebra de Bool en su
circuitería. Este enfoque se basaba en los trabajos del matemático inglés del siglo 19 George
Boole (1815-1864), quien diseñó el sistema binario del algebra y de la lógica simbólica,
estableciendo que cualquier ecuación o relación matemática puede dar un resultado que sea
falso o verdadero (de ahí, su naturaleza binaria).
Extendiendo este concepto a los circuitos electrónicos en la forma apagado/encendido
(on/off), Atanasoff y Berry desarrollaron el primer computador electrónico alrededor de 1940.
Su proyecto, no obstante, se quedó sin apoyo financiero y dicho aporte tecnológico fue
__________________________________________________________________________________
[email protected]
Página 12
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
rápidamente sobrepasado por otros proyectos similares de otros grupos de científicos e
ingenieros. Se había iniciado la etapa electrónica del proceso de datos, cuyos desarrollos aún
continúan. Todos estos aportes han convergido para estructurar la máquina denominada
computador cuyos componentes lógicos internos se esquematizan en esta figura. Surgió
también la Informática o Computación, conjunto de conocimientos científicos y de técnicas
que hacen posible el tratamiento automático de la información por medio de computadoras. La
informática combina los aspectos teóricos y prácticos de la ingeniería, electrónica, teoría de la
información, matemáticas, lógica y comportamiento humano. Los aspectos de la informática
cubren desde la programación y la arquitectura informática hasta la inteligencia artificial y la
robótica.
Las industrias de Hardware (componentes físicos, microprocesadores) y de Software
(programas) se han desarrollado en forma acelerada, de tal suerte que no existe ningún
ámbito empresarial, gubernamental, social, familiar y profesional exento de la influencia de
estas tecnologías.
1.7 DISEÑO DEL COMPUTADOR ACTUAL: LAS IDEAS DE
ADA BYRON Y CHARLES BABBAGE
Las ideas y artefactos originales de los computadores, tal y como se les conoce hoy día, sin
embargo, corresponden a un profesor inglés de matemáticas, Charles Babbage (1791-1871)
y a su asistente Augusta Ada King, Condesa de LoveLace. Desencantado Babbage por los
muchos errores que encontró en los cálculos efectuados por la Royal Astronomical Society,
(Real Sociedad de Astronomía, con sede en Londres) Babbage declaró, "Ruego a Dios que
estos cálculos no hayan sido hechos en la niebla!" Con tales palabras, se inició la era del del
proceso automático de datos y la de los computadores.
Hacia el año 1812, Babbage se dió cuenta de la armonía natural entre las máquinas y los
matemáticos: las máquinas son mejores efectuando tareas repetidamente sin errores; mientras
que los matemáticos, particularmente en la generación de tablas matemáticas (como las
astronómicas), a menudo requieren la simple repetición de unos pasos fijos, tarea que deviene
en monótona y muy propensa a cometer errores. El problema se centraba en cómo obtener la
aplicación de la habilidad de las máquinas para satisfacer las necesidades de los matemáticos.
Uno de los primeros intentos de Babbage para resolver dicho problema se dió en 1822 cuando
él propuso el diseño de una máquina para resolver ecuaciones
diferenciales, llamada la Máquina Diferencial. Después de
trabajar por 10 años en la Máquina Diferencial, Babbage
repentinamente se inspiró para iniciar la construcción del primer
computador de propósito general, el cual fue bautizado como la
Máquina Analítica.
La asistente de Babbage, Augusta Ada King, Countess of
Lovelace (1815-1852) e hija del poeta inglés Lord Byron, aportó
conceptos fundamentales en el diseño de esta máquina. Ada fué
una de las pocas personas que entendió cabalmente la idea
visionaria del diseño de Babbage, tan bien como el propio
Babbage; Augusta Ada ayudó a revisar los planos, aseguró el
__________________________________________________________________________________
[email protected]
Página 13
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
financiamiento por parte del gobierno británico, y divulgó las especificaciones de la Máquina
Analítica al gran público.
Igualmente, el fino entendimiento que Lady Lovelace tenía del diseño del artefacto le permitió
a ella crear las rutinas de instrucciones que habrían de ejecutarse dentro del computador,
consagrándose -así- como la primera mujer programadora de computadores. Hacia finales de
la década de 1970's, el Departamento de Defensa de U.S.A. nombró a un lenguaje de
programación de computadores como ADA en honor de Augusta Ada Byron.
El artefacto impulsado a vapor de Babbage, aunque nunca se construyó, puede parecer
primitivo ante los estándares actuales. Sin embargo, su diseño contiene los elementos y
conceptos básicos de los modernos computadores de propósito general, y constituye -en sí
mismo- todo un rompimiento de paradigmas; de hecho, Charles Babbage con su Máquina
Analítica y Augusta Ada con sus rutinas de programas conforman los pioneros y visionarios
de la actual tecnología de computadores.
Babbage tomó la idea de las tarjetas perforadas, para codificar las
instrucciones de máquina, del telar puesto en operación en 1820 y
denominado así en honor a su inventor, el francés, Joseph-Marie
Jacquard (1752-1834). El telar de Jacquard utilizaba tarjetas
perforadas para controlar el diseño de la trama del tejido. El telar de
Jackard opera de la manera siguiente: las tarje tarjetas se perforan
estratégicamente y se acomodan en cierta secuencia para indicar
un diseño de tejido en particular. Charles Babbage quiso aplicar el
concepto de las tarjetas perforadas del telar de Jackard en su
motor analítico.
En 1843 Lady Ada Augusta Lovelace sugirió la idea de que las
tarjetas perforadas pudieran adaptarse de manera que propiciaran
que el motor de Babbage repitiera ciertas operaciones. Debido a
esta sugerencia algunas personas consideran a Lady Lovelace la
primera programadora.
La Máquina diferencial
Charles Babbage diseñó el ingenio de diferencias
llamado posteriormente Máquina diferencial pensando
en crear una máquina que generase tablas
matemáticas y que automatizase los pasos lógicos y
mecámicos del cálculo, por demás engorroso,
monótono y muy sujeto a errores, al abordarse
manualmente. Este artefacto nunca se construyó. En
su diseño original estaba impulsada a vapor y era tan
enorme como una locomotora, la Máquina Diferencial
tendría un programa almacenado y podría efectuar
cálculos e imprimir los resultados automáticamente.
Aunque eficiente, la Máquina diferencial era
computacionalmente limitada. Además de sumar y
__________________________________________________________________________________
[email protected]
Página 14
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
restar, podía resolver una serie de ecuaciones polinómicas, como A + BX + CX2 + DX3 + ... =
0.
La Máquina diferencial podría, teóricamente, aplicar los algoritmos -largamente estudiados por
los matemáticos- de las diferencias finitas, conocidos desde la antigüedad por los matemáticos
griegos. Su diseño y algunos protoptipos de sus partes reposan en un useo en la ciudad de
Londres, Inglaterra.
La máquina analítica
Este artefacto es el auténtico precursor de los
computadores actuales, anticipando por cerca de 100
años la arquitectura básica de un computador. El
Ingenio Analítico de Babbage nunca llegó a ser
construído en su totalidad. La figura muestra un sector
del mismo, correspondiente a la parte del molino
(CPU) y los dispositivos de impresión, que fue
ensamblado poco antes de la muerte de babbage en
1871.
El ingenio hubiera sido programado mediante tarjetas
perforadas, idea tomada del telar de Jacquard para
tejer motivos en telas. [Investigación y Ciencia, Julio de 1999, pp. 54-59] Esta máquina
diseñada por Babbage constaba de unos 50,000 componentes, y en su diseño básico, la
Máquina Analítica incluía dispositivos de entrada de datos mediante tarjetas perforadas que
contenían las instrucciones de operación, y un "almacén" o memoria para contener 1,000
números cada uno de hasta 50 dígitos decimales. También contenía un "procesador" con una
unidad de control que permitía procesar instrucciones en cualquier secuencia, y unos
dispositivos de salida para imprimir los resultados.
De acuerdo con los diseños de Babbage, la Máquina Analítica se hallaría exenta de las
limitaciones de la Máquina Diferencial, y estaba concebida con la intención de resolver
problemas computacionales de carácter general, habría de poseer una arquitectura similar a la
de los ordenadores actuales, compuesta por un «almacén» (memoria), un «molino» (unidad
central de procesamiento, CPU en inglés), y un sistema de lectura de tarjetas perforadas
(dispositivos de entrada). babbage se proponía basar en tarjetas perforadas la codificación de
la entrada de datos (una idea tomada del telar de Jacquard, capaz de crear automáticamente,
mediante tarjetas de este tipo, motivos textiles). La salida de la Máquina Analítica podría
adoptar la forma de una página impresa o también de fichas perforadas. La Máquina Analítica
efectuaría sumas, restas, multiplicaciones y divisiones, ejecutaría o repetiría un conjunto de
instrucciones, atendiendo a ciertas condiciones ("si ocurre X, entonces Y"), noción que es
nuclear en la tecnología informática y computacional moderna, donde recibe el nombre de
salto condicional.
Babbage expuso en 1840, en Turín (Italia), su primera y única presentación pública de la
Máquina Analítica. Entre los presentes se hallaba Luigi Federico Menabrea (joven
matemático que habría de llegar a primer ministro de Italia). Menabrea publicó las notas que
tomó de la reunión, con anotaciones complementarias de l propio babbage, en el artículo
Esbozo del ingenio Analítico, aparecido en Francés. Menabrea centró su atención más en los
procesos matemáticos internos de la Máquina Diferencial y de la Máquina Analítica que en
__________________________________________________________________________________
[email protected]
Página 15
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
sus operaciones mecánicas subyacentes. Trazó el propósito de los componentes de la
Máquina Analítica y reconoció que sería capaz de computar cualquier fórmula algebraica
adecuadamente expresada (es decir, programada) en las fichas perforadas. "Las tarjetas",
escribió Menabrea, "constituyen una mera traducción de fórmulas algebraicas, o, por
expresarlo mejor, son otra forma de notación analítica" (es decir, un contexto simbólico
entendible por la UCP).
Ada, convertida ya en Ada King, Condesa de Lovelace, trás su boda con William King, leyó el
trabajo de Menabrea y empezó a traducirlo al inglés. Ada y Babbage seguían manteniendo
una buena amistad. Cuando Babbage se enteró del trabajo de Ada, a primeros de 1843, la
animó a comentar la traducción. Esa sugerencia dió comienzo a una importante colaboración,
cuyo fruto fue la publicación por Ada de un artículo en el que se examinaba con detenimiento
la programación de una máquina computadora; iba a ser el único artículo de tal naturaleza
durante los cien años siguientes. Ada incluía un total de site notas (de la A a la G), cuya
extensión conjunta duplica con holgura la del artículo de Menabrea, resaltando la importancia
computacional de la capacidad de la Máquina Analítica para saltar a distintas instrucciones
según el cumplimiento de ciertas condiciones. Los principales aportes adicionales de Ada
Byron a la programación de computadores se pueden compendiar como sigue:
„ Trazó la diviisoria entre lo teóricamente posible de computar y lo imposible en la
práctica, sentando -así - las bases de la Teoría de la computación.
„ Estableció las ventajas que ofrecían las capacidades de la Máquina Analítica para
utilizar más de una vez un mismo fragmento de codificación. Estas técnicas después se
formalizaron en el concepto de subprogramas y funciones, y la reutilización del
software.
„ Describió las posibilidades de la Máquina Analítica como un computador de propósito
general, que se podría emplear para componer música (como finalmente se logró),
para graficación, y para procesar diveros tipos de datos.
„ Abrió el camino para las investigaciones posteriores en áreas de Inteligencia
Artificial. Ada Byron desdeñó la idea de que la máquina "pensara" en la forma en que
piensan los humanos. "El ingenio analítico no tiene pretensión alguna de originar nada"
escribió. "Puede hacer cualquier cosa que nosotros sepamos programarle". Más de
100 años después, Alan M. Turing hizo famoso ese juicio en una disertación sobre
inteligencia artificial, dándole el nombre de "la objeción de Lady Lovelace".
„ Estableció el primer programa para un computador de propósito general al establecer
la secuencia de cómputo de los números de Bernoulli, utilizando las capacidades de
calcular de la Máquina Analítica, estableciendo una notación para confeccionar
programas. También precisó los principios y las técnicas de utilización de las tarjetas
perforadas como medios de entrada de datos.
La técnica de la Tarjeta Perforada
En 1889, un inventor norteamericano, Herman Hollerith (1860-1929), también aplicó el
concepto de las tarjetas perforadas del telar de Jacquard para efectuar cálculos. El primer
problema al que Hollerith se enfrentó fue el de hallar un método más rápido para procesar los
datos del censo de Estados Unidos. El censo poblacional de 1880 había tomado cerca de 7
años para procesarse y con una población en expansión, la oficina de censos estimó que se
tardarían unos 10 años en tener los datos procesados del censo de 1890.
__________________________________________________________________________________
[email protected]
Página 16
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
A diferencia de la idea de Babbage de utilizar tarjetas perforadas para instruir a la máquina, el
método de Hollerith utilizaba las tarjetas perforadas para almacenar los datos que se
alimentaban a la máquina, la cual compilaba los resultados mecánicamente; y también para
especificar la programación que debía seguirse en los procesos de cálculo. Cada
perforación de una tarjeta representaba un número, una combinación de dos perforaciones
representaba una letra. Se podían almacenar unas 80 variables en una sóla tarjeta, o
especificar la instrucción a ejecutarse.
En lugar de tardarse diez años, el proceso de los datos del censo tardó seis semanas
empleando los métodos y las máquinas de Hollerith (cuyo apellido se convirtió en sinónimo de
eficiencia y así se llamaron las primeras tarjetas perforadas). Además de su velocidad, las
tarjetas perforadas funcionaban como método de almacenamiento de datos, y así ayudaron a
reducir los errores de cómputo. Para aplicar sus ideas y sus métodos en el ámbito comercial,
Hollerith fundó la empresa Tabulating Machine Company, en 1896, la cual más tarde se
convirtiría en la empresa International Business Machines (IBM) en 1924, después de una
serie de fusiones. Otras empresas, tales como Remington Rand y Burroughs también
manufacturaron máquinas lectoras de tarjetas perforadas, que se emplearon ampliamente
tanto en el sector privado como en el gubernamental hasta bien entrada la década de 1960's.
Estos desarrollos marcaron el proceso electromecánico de datos.
1.8 GENERACIONES DE COMPUTADORES
Es costumbre describir el desarrollo histórico de los computadores por medio de una serie de
hitos, de logros especiales, que desde mediados del siglo XX han estado jalonando las
industria del hardware y del software, a la economía y a las sociedades en general. Tales hitos
históricos se les denomina “generaciones”.
Hasta la fecha se identifican claramente cinco generaciones de computadores.
Primera Generación de Computadores (1945 – 1956)
Durante la Segunda Guerra Mundial, los gobiernos de diferentes países se vieron impulsados
a desarrollar computadores para aprovechar el potencial de su impacto estratégico,
especialmente en operaciones militares. Esto aumentó el número de proyectos financiados
para desarrollar tecnología electrónica, lo cual ha jalonado el desarrollo tecno-informático a
partir del siglo 20. En 1941, el ingeniero alemán Konrad Zuse desarrolló un computador, el
Z3, para diseñar aeroplanos y misiles. Sin embargo, debido al fracaso alemán, las llamadas
«Fuerzas Aliadas» hicieron los mayores aportes en la construcción y aplicación de
computadores más veloces y potentes.
En 1943, la Gran Bretaña construyó en secreto un computador para descifrar códigos
encriptados, llamado Colossus con el fín de descifrar los mensajes de los militares
alemanes. El impacto del computador Colossus en el desarrollo de la industria de cómputo fue
bastante limitado por dos razones básicas. La primera, es que el Colossus no era un
computador de propósito general; por el contrario, era de propósito específico, diseñado
solamente para decodificar mensajes cifrados. En segundo lugar, la existencia del computador
se mantuvo en secreto hasta varias décadas después de finalizada la guerra
__________________________________________________________________________________
[email protected]
Página 17
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Los esfuerzos estadounidenses reportaron
mayores logros. Howard H. Aiken (19001973), un ingeniero de la Universidad
Harvard trabajando con IBM, tuvo bastante
éxito en construir y aplicar un computador
electrónico en 1944. A Howard H. Aiken le
gustaba considerarse el sucesor directo de
Charles
Babbage,
pero
ni
estaba
familiarizado con el trabajo de Babbage y de
Ada Byron, ni alcanzó a comprender la
importancia del salto condicional.
El propósito del computador ideado y
construído por Aiken era generar planos
balísticos para las fuerzas navales de
Estados Unidos. Dicha máquina tenía unas dimensiones de aproximadamente la mitad de una
cancha de fútbol y contenía unos 800 kilómetros de cables. El computador se llamó HarvardIBM Automatic Sequence Controlled Calculator, o Mark I para abreviar, y estaba basado en
la tecnología de relés electromagnéticos. El computador Mark I empleaba señales
electromagnéticas para mover las partes mecánicas. Esta máquina era lenta (tomaba de 3 a 5
segundos por cálculo) e inflexible (la secuencia de cálculos no se podía cambiar); pero
ejecutaba operaciones matemáticas básicas y cálculos complejos de ecuaciones sobre el
movimiento parabólico de proyectiles.
Otro computador desarrollado bajo los auspicios
del ímpeto bélico fue el llamado Electronic
Numerical Integrator and Computer (ENIAC),
construído en un proyecto conjunto entre el
gobierno de Estados Unidos y la Universidad de
Pennsylvania.
Constaba de unos 18,000 tubos de radio, 70,000
resistores, unos 5 millones de junturas soldadas,
ocupaba unos 150 m2, y pesaba cerca de 30
toneladas,
conformando
una
máquina
monstruosa que consumía cerca de 160 kilowatts
de electridad, y que cuando funcionaba dejaba a
oscuras a buena parte de la ciudad de
Philadelphia. Desarrollado por John Presper Eckert (1919-1995) y John W. Mauchly (19071980), el ENIAC, a diferencia del Colossus y del
Mark I, sí era un computador de propósito general
con velocidades de cálculo de hasta 1,000 veces
las del Mark I.
A mediados de la década de 1940's John von
Neumann (1903-1957) se vinculó al equipo de
trabajo de la Universidad de Pennsylvania,
estableciendo y aplicando conceptos en el diseño
de los computadores que permanecieron válidos
__________________________________________________________________________________
[email protected]
Página 18
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
en la ingeniería de computadores por más de 40 años.
Von Neumann diseñó el computador denominado Electronic Discrete Variable Automatic
Computer (EDVAC) en 1945 con una memoria para almacenar programas y datos. Esta
técnica de «programa almacenado» conjuntamente con la «transferencia condicional del
control», que permitía detener y reanudar los cálculos, dió gran versatilidad a la programación
de computadores. El elemento clave de la llamada «arquitectura von Neumann» era la
Unidad Central de Proceso (o CPU por sus sigla en inglés = Central Processing Unit), que
facilitaba la coordinación de todas las funciones de la máquina desde un sólo sitio interno de la
misma.
En 1951, el computador llamado UNIVAC I (Universal
Automatic Computer), construído por la empresa
Remington Rand, se convirtió en uno de los primeros
computadores para aplicaciones comerciales que
emplearon las técnicas ideadas por von Neumann.
Tanto la oficina de censos de Estados Unidos como la
empresa General Electric adquirieron máquinas UNIVAC,
jalonando así el proceso automatizado de los datos en las
empresas de toda índole. Uno de los más impresionantes
logros del computador UNIVAC fue el de predecir, mediante cálculos estadísticos, el ganador
de las elecciones presidenciales del año 1952, Dwight D. Eisenhower, con lo cual la fama del
computador UNIVAC creció como espuma.
Esta primera generación de computadores se caracterizó porque las
instrucciones de operación eran específicas para la tarea que el
computador efectuaba.
Cada máquina tenía diferente código binario interno llamado lenguaje de máquina mediante
el cual se le decía al computador cómo operar. Además, estos computadores eran de gran
tamaño, utilizaban tubos de radio (diodos) y almacenamiento magnético por medio de
tambores magnéticos.
Segunda Generación de Computadores (1956 – 1963)
Por el año 1948, la invención del transistor cambió profundamente el desarrollo de la industria
de la computación. El transistor reemplazó a los burdos e incómodos «tubos al vacío» en
televisores, radios, computadores y cuanto artefacto llevara la tecnología de los tubos al vacío.
Como resultado, el tamaño y la eficiencia de la maquinaria electrónica (hardware) se potenció
en una forma nunca antes vista. Sin embargo, el transistor sólo se involucró en la construcción
de computadores hacia el año 1956.
Conjuntamente con los inventos anteriores, tal como la memoria de núcleos magnéticos, los
transistores jalonaron una segunda generación de computadores más compactos (menor
tamaño), de mayores velocidades de procesamiento interno, más confiables y seguros y
mucho más eficientes en el consumo de energía que los computadores de la primera
generación. Las primeras máquinas de gran escala que tomaron ventaja de la tecnología del
transistor fueron los llamados «supercomputadores»: la máquina «Stretch» desarrollada por la
empresa IBM y la máquina «LARC» construída por la empresa Sperry-Rand, ambas en
__________________________________________________________________________________
[email protected]
Página 19
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Estados Unidos. Estos computadores, ambos desarrollados para los laboratorios de energía
atómica, podían manejar enormes cantidades de datos, capacidad que ha estado en creciente
demanda por parte de los científicos atómicos.
Las máquinas eran muy costosas, sin embargo, y
tendían a ser demasiados potentes para las
necesidades básicas de proceso de datos tanto en las
empresas como en el gobierno y en el comercio, lo
cual limitaba su atractivo y su mercado. Sólo dos
máquinas tipo «LARC» fueron instaladas: una en el
laboratorio Lawrence Radiation Labs en Livermore,
California (USA), y de ahí el nombre de estas
máquinas (LARC = Livermore Atomic Research
Computer), y la otra en el centro de investigación y
desarrollo de la fuerza naval de Estados Unidos en
Washington, D.C.
En el desarrollo de la segunda generación de computadores se reemplazó el lenguaje de
máquina con el lenguaje ensamblador, lo cual permitió programas más compactos y fáciles de
manejar que los programas en código binario. En los primeros años de la década de 1960's, ya
había un gran número de computadores de segunda generación, de aplicación comercial y
científica, utilizados en empresas, universidades y en el gobierno, fabricados por compañías
tales como Burroughs, Control Data, Honeywell, IBM, Sperry-Rand, NCR, y otras.
Esta segunda generación de computadores estaba basada en el diseño electrónico
proporcionado por la Física del estado Sólido, y contenían transistores en reemplazo de los
tubos al vacío. También contenían todos los componentes básicos asociados con los actuales
computadores: impresoras, almacenamiento en cinta magnética, almacenamiento en disco
magnético, memoria interna (RAM y ROM), sistemas operativos, lenguajes de programación,
programas de aplicaciones (utilitarios), y la técnica de programa almacenado. Un destacado
ejemplo fue el computador IBM 1401, el cual fue universalmente aceptado por muchas
empresas, y es considerado por muchos como el Modelo T de la Industria computacional.
Hacia 1965, la mayoría de las grandes empresas y los gobiernos estaban utilizando
computadores de segunda generación para el proceso rutinario de datos financieros, de
contabilidad y presupuestos, de nómina, de inventarios, de producción, etc. Hacia finales de la
década 1960's, la Universidad Nacional en Medellín contaba con equipos de esta categoría,
especialmente el IBM 1130 y el NCR 6500 en los cuales se procesaban los datos propios de la
institución, y se empleaban para la enseñanza/aprendizaje de la programación de
computadores.
En la Facultad de Minas, por ejmplo, varias generaciones de ingenieros (entre ellos el
subscrito) aprendieron los rudimentos de la computación en dichas máquinas. Fueron,
precisamente, las técnicas de programa almacenado y de salto de secuencia (llamada hoy de
selección lógica) ideadas por John von Newmann, del almacenamiento externo e interno, el
empleo de periféricos, y los lenguajes de programación de alto nivel, que suministraron a los
computadores flexibilidad, rapidez y eficiencia, lo cual hizo productivo el uso de computadores
en el procesamiento de datos en las empresas.
__________________________________________________________________________________
[email protected]
Página 20
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
El Concepto de Programa Almacenado (ideado por Von Newman) implica que las
instrucciones, que hacen operar al computador en eldesarrollo de un proceso específico de
datos, se almacenan dentro de la memoria interna, y rápidamente puede ser reemplazado por
otro conjunto de instrucciones para otro procesamiento distinto (tal conjunto de instrucciones
se llama programa).
Así, por ejemplo, un computador puede procesar los pedidos de los clientes, y luego generar la
facturación o diseñar productos o calcular los cheques de pago. La técnica del salto de
secuencia (o selección lógica) implica que en un programa) es posible instruir a la máquina
para que elija una entre varias alternativas, saltándose así la secuencia normal de ejecución
de las instrucciones del programa (de arriba a abajo y de izquierda a derecha). Lenguajes de
programación de computadores, de alto nivel y más soficticados, se diseñaron y comenzaron a
emplearse con esta segunda generación de computadores.
Ejemplos de ellos son: el COBOL (Common Business-Oriented Language) para aplicaciones
comerciales típicas (gran volumen de datos y poca exigencia matemática) y el FORTRAN
(Formula Translator) para aplicaciones técnicas, científicas y de ingeniería (poco o gran
volumen de datos, pero intensa formulación matemática). Ambos lenguajes, y muchos otros
que surgieron igualmente en este periodo, han sobrevivido hasta hoy con versiones mejoradas
y adaptadas a los actuales ambientes tecno-informáticos.
El lenguaje COBOL fue desarrollado por un grupo de
investigación liderado por Grace Hooper (en la figura).
Grace Hopper fue pionera en el procesamiento de datos; su
disciplina principal de trabajo era la matemática; de
nacionalidad estadounidense, a Grace Hopper se le
atribuye la creación del primer compilador en 1952.
Hopper ayudó a desarrollar dos lenguajes informáticos, así
como a convertir los ordenadores o computadoras en un
elemento atractivo para el mundo de la empresa. (
UPI/BETTMANN 1998). Estos lenguajes reemplazaron al críptico código binario del lenguaje
de máquina, y se diseñaron con un enfoque más orientado hacia el usuario, por medio de
palabras e instrucciones (en Inglés) y de fórmulas matemáticas (como en el Álgebra), que han
hecho mucho más fácil y accesible la programación de computadores.
Uno de los efectos inmediatos ha sido la especialización del trabajo en las áreas de
computación y de informática: surgieron carreras académicas y organizacionales como
operador de computadores, programador, analista, ingeniero de sistemas, etc.
Otro de los efectos es que surgió toda la Industria de Software y también toda la Industria de
Hardware, las cuales han vendido desarrollándose explosivamente durante las cuatro últimas
décadas.
__________________________________________________________________________________
[email protected]
Página 21
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Tercera Generación de Computadores (1964 – 1971)
Aunque el transistor fue una clara mejora sobre los tubos
al vacío, aún se generaba mucho calor interno en las
máquinas, lo cual implicaba costos para su control, y el
calor afectaba los otros componentes internos sensitivos.
El empleo del cuarzo eliminó gran parte de este
problema. Jack Kilby, un ingeniero que trabajaba con la
empresa Texas Instruments, desarrolló el Circuito
Integrado (IC) en 1958.
El IC combina tres componentes electrónicos en un disco
pequeñísimo de silicio (denominado desde entonces
chip), el cual se fabricaba a partir de cristales de cuarzo (uno de los materiales más
abundantes en la naturaleza, lo cual implica bajos costos en su utilización). Los investigadores
de diferentes empresas especializadas rápidamente descubrieron y aplicaron técnicas para
ensamblar cada vez más componentes dentro de un único chip, surgiendo así toda la industria
de los semiconductores. Como resultado, los computadores redujeron aún más su tamaño,
eliminándose -además- la mayor parte de los efectos nocivos del calor interno. Otros
desarrollos importantes dentro de esta tercera generación de computadores son:
„ La mejora de los Sistemas Operativos que permitió a las máquinas ejecutar a la vez
diferentes programas a través de un programa central que monitorea y coordina la
memoria interna del computador. Las ténicas relacionadas incluyen la multitarea y la
multiprogramación.
„ Las mejoras en los dispositivos periféricos, tanto para entrada de datos como para
salida y para almacenamiento. Se aplicaron técnicas de reconocimiento óptico y de
reconocimiento magnético de caracteres.
„ Mejoras en las capacidades y velocidades de la memoria interna de máquina. En
cuanto a la capacidad de memoria interna, se tenían dispositvos capaces de almacenar
centenares de miles de bytes. La velocidad de acceso a memoria era del orden de los
microsegundos.
„ Mejoras en el almacenamiento externo (o secundario), a través de discos magnéticos,
tambores magnéticos y celdas. Las capacidades eran de varios millones de bytes.
„ Las técnicas de teleproceso y de redes hicieron su aparición y desde entonces se han
estado mejorando y potenciando continuamente.
Una máquina prototipo de esta tercera generación de computadores fue la IBM 360, que se
convirtió en el paradigma tecnológico a partir del cual se han desarrollado otras muchas
máquinas en las últimas tres décadas, incluyendo los computadores personales. El sistema
IBM 360 era una máquina construída con componentes semicompatibles; un cierto número de
modelos permitían el proceso de datos de muy diversos tipos - comercial, científico, de
comunicaciones, control de procesos industriales -, y combinaciones de ellos. Involucraba
varios procesadores y gran cantidad de periféricos que facilitaban armar configuraciones de
cómputo de acuerdo a las necesidades de los usuarios.
__________________________________________________________________________________
[email protected]
Página 22
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
Cuarta Generación de Computadores (1971 – Presente)
Después de la invención de los circuitos integrados y el chip, la industria microelectrónica ha
venido reduciendo el tamaño de los chips y aumentando el número de componentes
ensamblado en cada chip. Las técnicas de alta escala de integración (LSI = Large Scale
Integration) pudieron ensamblar cientos de componentes en un único chip. Hacia 1980, las
técnicas de muy alta escala de integración (VLSI = Very Large Scale Integration) ensamblaban
centeneraes de miles de componentes en un solo chip.
Los desarrollos en la microminiaturización de componentes han continuado, y actualmente (en
los inicios del siglo 21) las técnicas de Ultraintegración permiten ensamblar hasta miles de
millones de componentes en un único chip - (ULSI = Ultra-large scale integration). La habilidad
de ensamblar tan alto número de componentes electrónicos, en un área equivalente al tamaño
de la uña del dedo pulgar, ha ayudado a disminuir constantemente el tamaño de los
computadores y a rebajar los costos de los mismos. También, ha permitido que los
computadores sean más potentes (en velocidad y memoria), más confiables y seguros con
ayuda de las economías de escala en la producción y comercialización de microchips.
El chip Intel 4004, desarrollado en 1971, marcó un hito adicional en
las técnicas de microminiaturización de componentes, al ensamblar
en un solo chip todas las unidades básicas de un computador (la
unidad central de proceso, la memoria interna, y los controles de
entrada y salida). Aunque inicialmente los microprocesadores se
diseñaban y construían para cumplir con un único propósito, en la
actualidad un microprocesador se diseña, se construye y se
programa para servir a una serie de funciones.
Así por ejemplo, muchos electrodomésticos como el horno microondas, los aparatos de
televisión, las lavadoras, los lavaplatos, los relojes despertadores, las videograbadoras, los
equipos de sonido, etc., involucran diversas categorías de microprocesadores. También los
automóviles, la maquinaria industrial, los aviones, los cohetes espaciales, los satélites de
comunicaciones y de investigación profunda del espacio, los cajeros automáticos, los aparatos
dispensadores, los teléfonos celulares, los equipos médicos, etc. involucran otras muchas
variedades de microprocesadores.
Tal concentración de poder computacional, que había estado bajo el dominio exclusivo de las
grandes empresas y de los gobiernos, se hizo de dominio público cuando a mediados de la
década de 1970's los fabricantes de computadores desarrollaron y comercializaron los
medianos y pequeños computadores. Estas categorías de computadores facilitaron a las
personas no expertas, al consumidor final, tener acceso a las facilidades del proceso
electrónico de datos por medio de programas («paquetes» de software) tan populares como
los procesadores de texto (como Word o Latex) y las hojas electrónicas (como Excel).
Pioneros en estos campos fueron empresas como Commodore, Radio Shack y Apple
Computers. En los inicios de la década de 1980's, los videojuegos tales como Pac Man, y los
sistemas de videojuegos caseros como el Atari 2600 hicieron masivo el interés por más
sofisticados y programables computadores personales domésticos.
En Octubre de 1981, la empresa IBM introdujo su modelo de computador personal (PC =
Personnal Computer) para uso en las oficinas, los hogares y las escuelas. Así se originó una
__________________________________________________________________________________
[email protected]
Página 23
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
sin par revolución tecno-informática, tanto en hardware como en software, especialmente al
expandirse la industria de computadores personales compatibles con el modelo IBM (los
llamados «clones»), todo lo cual ha hecho más accesible el proceso electrónico de datos al
gran público. Como un ejemplo, el número de computadores personales en uso en 1981 era
de 2 millones, la mayoría de ellos en Estados Unidos; en 1982, tal número de 5.5 millones;
diez años después, en 1992, se utilizaban 65 millones de PC; hacia finales de 1999, el número
era de 140 millones de PC utilizados en el mundo, con cerca del 60% en Estados Unidos. Y en
los inicios del siglo XXI, países como China e India están adoptando masivamente los
computadores y las redes de computadores, en especial la Internet, todo locual está
retroalimentando en forma acelerada las economías de escala propiciando -a su vez - más
innovaciones y abaratando costos.
Los computadores han continuado su tendencia hacia un menor tamaño, yendo desde los
típicos computadores de escritorios hasta los portátiles (laptops) que caben en un maletín y los
computadores tipo palmtop que caben en la mano o son del tamaño de un pequeño libro. En
competencia directa con los PC tipo IBM están los computadores de la empresa Apple cuya
línea llamada Macintosh fue introducida en 1984 y que marcó un estándar en la industria del
software por su sistema operativo visual basado en íconos y menús, permitiendo al usuario
operar el computador por medio de dispositivos como el mouse y el trackball. Hacia 1989 la
empresa Microsoft con su sistema operativo llamado Windows empezó a apoderarse del
mercado del software para PC, llegando a poseer en 1999 cerca del 70% de tal mercado.
Muchos otros fabricantes de hardware y de software han entrado en la contienda y
actualmente es un mercado bastante competitivo el de la computación personal.
En la medida que se abaratan los computadores y sus
componentes, más y más usos se desarrollan. En la
medida en que los PC se han hecho más potentes, se han
podido interconectar -formando redes- compartiendo los
recursos de memoria, periféricos, software, información, y
comunicándosen con otros computadores a menudo
localizados en sitios remotos (incluso otros países).
A diferencia de los grandes o supergrandes computadores,
los cuales comparten recursos con muchas terminales para
muchas aplicaciones, los computadores tipo PC
interconectados permiten al usuario final compartir
recursos e información con cualquier otro computador en prácticamente cualquier lugar del
mundo. Utilizando Redes de Area Local (LAN = Local Area Network), o simples líneas
telefónicas, los PC interconectados pueden adquirir proporciones gigantescas. Una telaraña
global de circuitería computacional, la llamada Internet,
por ejemplo, enlaza diferentes categorías de
computadores en una enorme red de información.
Durante las elecciones presidenciales de 1992 en
Estados Unidos, el entonces candidato a la
vicepresidencia Al Gore propuso que el desarrollo en el
futuro próximo de la llamada Superautopista de la
Información sea una prioridad administrativa del
gobierno de estados Unidos; en tal sentido, a finales de
1999 se tenía un prototipo de Internet II que será entre
__________________________________________________________________________________
[email protected]
Página 24
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
100 y 1000 veces más rápida y potente que la internet actual.
Una de las aplicaciones más utilizadas de la red mundial, Internet es la del correo electrónico,
o E-mail, que permite a personas no expertas enviar y recibir mensajes en su PC; también la
consulta de información a través de páginas web ocupa lugares de privilegio en la red de
redes. La tendencia actual es a que, incluso los negocios de más alto nivel, se hagan por
internet.
Así mismo, muchas otras actividades tienden a efectuarse cada vez más por internet tales
como las videoconferencias, las conversaciones, los procesos de enseñanza/aprendizaje, los
videojuegos, la consulta y actualización de información bibliográfica, los videos, la música, etc.
Quinta Generación de Computadores (Presente - Futuro)
Definir la quinta generación de computadores es algo difícil debido a que este campo apenas
se está iniciando. En los primeros años de la década de 1980's, el gobierno japonés
conjuntamente con un consorcio de empresas japonesas planteó un proyecto de «Quinta
generación de computadores» cuya visión fundamental era la de obtener computadores
inteligentes. En esa misma década, Estados Unidos y Canadá plantearon un proyecto con
objetivos similares; igualmente varios países europeos plantearon un proyecto conjunto con
miras a obtener las llamadas máquinas inteligentes.
Después de más de 20 años, aún es ciencia ficción una máquina inteligente, pero sin lugar a
dudas en tales regiones (Japón, Europa y Norteamérica) se han jalonado importantes
desarrollos tanto en la industria del hardware como en la industria del software y en la
disciplina de la Inteligencia Artificial (cuyo objetivo básico es dotar a las máquinas de
comportamientos inteligentes propios de los humanos). Uno de los ejemplos más famosos de
un computador de la llamada quinta generación es el HAL9000 de la novela de Arthur C.
Clarke, 2001: A Space Odyssey(2001: Odisea del espacio). El computador HAL9000
desarrollaba (en la novela y en la película) todas las funciones básicas de una máquina
inteligente.
Con su diseño, basado en técnicas de Inteligencia Artificial, HAL9000 podía razonar
suficientemente bien para entablar y sostener conversaciones inteligentes con sus operadores
humanos, podía recibir y suministrar datos en un ambiente visual, y podía aprender de sus
experiencias. (Desafortunadamente, HAL9000 se volvió demasiado humano y tuvo un colapso
psicótico, tomando el control de la nave y eliminando a los humanos de a bordo).
Otro de los ejemplos, también de la ciencia ficción, corresponde a la computadora de la nave
Enterprise de la película y de la serie de televisión «Viaje a las Estrellas: la nueva
generación», que va mucho más allá que el computador HAL9000, pues es capaz de manejar
- adicionalmente a sus habilidades inteligentes- la materia y la energía y hacer ciertas
creaciones. Dos ejemplos portentosos son: las técnicas de teletransportación y la sala de
holocubierta que emplea técnicas de hipersimulación para recrear personajes, ambientes y
situaciones reales.
Aunque la computadora Hal9000 y la computadora de la nave Enterprise son todavía parte de
la ciencia ficción, y están quizás a muchas décadas de ser realidades en las empresas y en la
vida diaria, algunas de sus funciones ya se están empleando en varios modelos de
computadores. Con los más recientes avances de la ingeniería de hardware y de software,
__________________________________________________________________________________
[email protected]
Página 25
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
algunos computadores son capaces del reconocimiento de voz y de imitar el razonamiento
humano -incluso a nivel de computadores personales, aunque todavía de manera incipiente.
Las habilidades para traducir un idioma a otro es también un objetivo central de la quinta
generación de computadores. Aunque en principio parece un objetivo muy simple, los
investigadores, los ingenieros de computación y los programadores se han dado cuenta que
es extremadamente difícil (con la tecnología actual) lograr un traductor realmente inteligente,
pues el significado preciso de un discurso depende del contexto, de las inflexiones de voz, de
la semántica y del entorno cultural, y no sólo de la simple traducción de palabras sueltas.
No obstante, a nivel internacional y especialmente en los países más industrializados y
avanzados tecnológicamente del planeta, se están haciendo investigaciones e ingentes
esfuerzos para lograr la mezcla perfecta de hardware y software que permita lograr en un
futuro cercano las verdaderas máquinas inteligentes preconizadas por los proyectos de quinta
generación de computadores. Algunos avances sobresalientes en dicha dirección son los
siguientes:
„ El procesamiento en paralelo, que reemplaza el modelo de von Neumann de una sola
unidad central de proceso (CPU) por sistemas computacionales donde intervienen
sinérgicamente centenares y aún miles de procesadores trabajando cooperativamente,
tratando de emular los procesos biológicas de las neuronas; ha surgido toda una nueva
disciplina denominada Redes Neuronales.
„ La Tecnología de Superconductividad, la cual permite que fluya la corriente eléctrica
con prácticamente cero resistencia, incrementando enormemente la velocidad interna
de procesamiento de los computadores; esta tecnología está desarrollando
computadores cuyas velocidades internas es del orden de 10-15 segundos (o
femtosegundos).
„ Los llamados Sistemas Expertos que emulan las habilidades básicas de un experto
humano en un campo específico constituyen uno de los avances más espectaculares y
a la vez los más comercializados; así, por ejemplo, en medicina se emplean los
sistemas expertos para ayudar al diagnóstico de enfermedades, en la misma industria
de la computación se emplean sistemas expertos para asistir a los humanos en el
armado de configuraciones de cómputo, en las empresas se utilizan los sistemas
expertos para ayudar a la gestión de ciertos procesos (inventarios, producción, etc.), y
en muchas otras áreas los sistemas expertos auxilian a los humanos en la toma de
decisiones.
„ La tecnología de Arquitecturas reconfigurables (RCP) está
propiciando un nuevo enfoque y permitiendo novedosas
aplicaciones, tanto a nivel de la investigación pura como
de las aplicaciones en las empresas. Esta técnica ya pasó
de los laboratorios y está siendo aplicada en muy diversos
ambientes, hasta tal punto que muchos preconizan que en
los próximos años será el estándar básico de la
computación a tood nivel. Ya en medios académicos se
enseñan metodologías de desarrollo de software basadas en RCP. En nuestro medio,
por ejemplo, se desarrollan seminarios y otros eventos que ayudan a popularizar las
técnicas RCP (como el auspiciado por la Udea en febrero de 2005).
__________________________________________________________________________________
[email protected]
Página 26
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
„ La nanotecnología promete microminiaturizar aún más los componentes de los
computadores, pues se basa en la manipulación a nivel molecular (100 Amstrongs).
Computadores con esta tecnología serían miles de millones de veces más potentes y
versátiles que los actuales y sus aplicaciones y usos estarían limitados sólo por la
imaginación.
En el diseño de sistemas de cómputo se tiene a disposición todo un arsenal de tecnologías
basadas en semiconductores altamente integradas y de alto desempeño, tales como circuitos
integrados para aplicaciones específicas (ASICs = Application-Specific Integrated Circuits),
productos estándar para aplicaciones específicas (ASSPs = application-specific integrated
circuits), procesadores de señales digitales (DSPs = digital signal processors), y arreglos de
puertas de campo programable (FPGAs = field-programmable gate arrays). Sin embargo,
existe una presión constante, a nivel internacional, para obtener sistemas de cómputo más
confiables, flexibles y de alto rendimiento. Recientemente ha surgido toda una línea de
desarrollo denominada procesador de comunicación reconfigurable (RCP = reconfigurable
communication processor), una categoría totalmente nueva basada en semiconductores que
sirve como una plataforma a nivel de sistemas hardware, de comunicación específica, para
diseñar e implementar una amplia gama de aplicaciones. La tecnología RCP llena el vacío
entre los sistemas ASICs, rápidos pero inflexibles, y los sistemas DSPs y FPGAs, flexibles
pero lentos y costosos, al combinar unas pocas funciones claves a nivel de sistema hardware
con un arreglo de celdas reconfigurables en una única plataforma.
Una solución RCP efectiva se compone de cuatro elementos básicos (en la figura se muestra
un dispositivo tipo RCP que incluye el procesador, la matriz reconfigurable y la memoria):
•
Un procesador ensamblado tipo RISC (Reduced-Instrution Set Computer) de alto
desempeño para procesar los niveles más altos de la estructura OSI (Open Standard
Interconetion) en el flujo de comunicación de datos y para organizar la estructura
reconfigurable. Una estructura reconfigurable consistente de múltiples celdas lógicas
de hardware. Estas celdas rápidamente transforman las representaciones algorítmicas
y los protocolos en archivos de configuración recividos del procesador para acelerar el
hardware. Un segundo atributo esencial de la estructura reocnfigurable es la
__________________________________________________________________________________
[email protected]
Página 27
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
disponibilidad de almacenamiento distribuído para habilitar el rápido transporte de los
datos a través de la estructura. Además, la celda de la estructura reconfigurable debe
estar optimizada anchos de la trayectorias de datos en los rangos de 16-bit y 32-bit —
substancialmente más anchos que las celdas en las estructuras FPGAs
convencionales — para soportar efectivamente las aplicaciones de comunicación.
•
Funciones I/O de banda ancha y un fino acoplamiento entre la estructura reconfigurable
y el procesador.
•
Una herramienta de software que habilita al usuario (al diseñador) para trasladar
rápidamente las señales y los algoritmos del procesamiento de protocolos a código
para el microprocesador RISC y los archivos de configuración de la estructura
reconfigurable. La solución RCP también suministra un sistema de verificación y
capacidades de depuración.
Las ventajas de la tecnología RCPs incluyen:
Diseño fácil y rápido
La permanente evolución de los estándares de comunicación, y las presiones competitivas
para obtener rápidamente productos más eficientes, han impulsado el desarrollo de las
tecnologías de diseño de hardware que sean adaptables a los nuevos estándares. La
prototipación utilizando RCPs y sus herramientas asociadas facilita un diseño rápido del
software a tood nivel. La stécnicas RCP también ofrecen una alta velocidad en el diseño de
señales digitales, manteniendo la flexibilidad algorítmica.
Fácil actualización
La habilidad de reconfigurar la funcionalidad del producto permite a los proveedores de
hardware distribuir rápidamente los productos iniciales, evaluar el desempeño de campo,
suministrar funciones mejoradas o substancialmente modificadas, y mejorar el desempeño por
medio de actualizaciones vía hardware y software.
Generar diferenciación de productos
Las técnicas no RCP sólo permiten la diferenciación vía software. Por el contrario, RCPs
permite a los distribuidores de hardware generar diferenciaciones de sus productos, con
licencia propia, manteniendo a la vez los beneficios de desempeño del estado del arte.
Además, RCPs induce a desarrollar algoritmos creativos, técnicas de manejo y distribución
(tales como algoritmos adaptativos a tiempo real y distribución en línea vía internet)para
responder a la cpmpetencia del mercado rápida y eficientemente.
Crear productos adaptativos y flexibles
El rapido crecimiento del volumen de comunicaciones en todos los medios exige productos de
hardware que se adapten flexiblemente a las cambintes exigencias de las telecomunicaciones.
Por ejemplo, no se puede predecir los crecientes volúmenes de datos, audio (voces, música),
y video que se transmiten y que se tranmitirán en el futuro cercano por los sistemes de
telecomunicaciones inalámbricas. Por lo tanto, la infraestructura computacional debe asignar
__________________________________________________________________________________
[email protected]
Página 28
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
dinámicamente, a tiempo real, el hardware y el software que suministren la mejor calidad del
servicio para todos los usuarios, independientemente de sus disímiles requerimientos.
0La tecnología RCPs permite a los diseñadores de sistemas de hardware para suministrar una
nueca clase de algoritmos adaptativos que proporcionan máxima flexibilidad y desempeño en
todos los niveles de la estructura OSI (el estándar actual, con 7 niveles o capas), incluyendo el
nivel físico.
Aumento de la funcionalidad.
La flexibilidad de la tecnología RCPs facilita a los diseñadores de sistemas de hardware o a los
proveedores de servicios técnicos desarrollar rápidamente e instalar nuevos servicios,
simplemente descargando de internet nuevos paquetes de software. Por ejemplo, para mejorar
el cubrimiento y funciones de los servicios de comunicación, pueden descargarse de internet
nuevo software con algoritmos para el procesamiento agresivo de señales digitales, como la
eliminación del eco en redes alámbricas, o la detección de multiusuarios en redes
inalámbricas. Agregando soporte para nuevos protocolos puede extenderse las características
de acceso múltiple para un sistema.
Otras ventajes incluyen: mejoras en la escalabilidad (una gama más amplia de versiones);
menores requerimientos de potencia eléctrica; menores tiempos del ciclo de desarrollo de
productos, con disminución de los costos pertinentes; incrementos de los anchos de banda de
los sistemas de telecomunicaciones.
La computación fotóptica como una aplicación de la tecnología laser, está permitiendo la
fabricación de prototipos de computadores mucho más rápidos y potentes que los actuales.
Permite, además, la hibridación con otras diferentes tecnologías que permiten entrever
mayores logros en la inteligencia artificial y en las aplicaciones de misión crítica a tiempo real.
Pero a pesar de todas estas aplicaciones, la quinta
generación de computadores (las máquinas
realmente inteligentes) dista mucho de ser una
realidad diaria para las empresas y para las
personas.
Sin embargo, hay una megatendencia de fondo muy
clara: las empresas y los países están
evolucionando hacia organizaciones cimentadas
en el aprendizaje continuo, en las cuales la
información y el conocimiento, basados en el
Talento Humano, son los recursos estratégicos
más importantes que potencian a los otros
recursos organizacionales (tierra, capital y
trabajo).
El boom tecnològico inciado con los computadores, desde mediados del siglo XX, ha
permeado todas las actividades de los hogares, los individuos, los gobiernos, las empresas,
las ciencias. Pràcticamente, no hay quehacer humano que pueda sustraerse a esta influencia.
En general, para bien. Sin embargo, la tecnología propicia –igualmente- delitos e
inseguridades. Los virus informáticos son el pan de cada día de los computadores y de las
redes. El fraude electrónico es una de las nuevas modalidades delictivas. Los efectos sobre
__________________________________________________________________________________
[email protected]
Página 29
Capitulo 1.- Evolución y Desarrollo de los Computadores
http://www.unalmed.edu.co/~walvarem/
08/16/05
__________________________________________________________________________________
los organismos y sobre la psicoemotividad de las personas están moldeando nuevas
categorías de dolencias y de enfermedades laborales.
La cruda realidad es que el computador, las redes de computadores, y las tecnologías
conexas han llegado para quedarse. Los vaticinios expertos no ven un horizonte cercano en el
cual dicha realidad desaparezca.
Por el contrario, con cada nuevo invento computacional, con cada nuevo
descubrimiento son más y mejores las aplicaciones y utilizaciones de
este tipo de tecnología.
Toda persona cuyo ámbito de estudio y trabajo tenga que ver con las
ciencias, las técnicas y las ingenierías deber tener un alto nivel de
competitividad en el manejo de los computadores y las redes de
computadores en sus áreas propias de desempeño, so pena de quedar rezagado y no ser
suficientemente competitivo como científico, como técnico o como ingeniero.
Esta es una de las razones fundamentales por las cuales es requisito un aprendizaje excelente
del computador y sus tecnologías conexas: el computador es la herramienta imprescindible de
trabajo en cualquier área técnica o de ingeniería.
__________________________________________________________________________________
[email protected]
Página 30
Capitulo 1.- Evolución y Desarrollo de los Computadores
Descargar