Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EL CONCEPTO DE
COMPUTADORA
El objetivo de esta unidad es presentar las
formas principales de entender el concepto de
computadora.
Una computadora es una máquina, es decir, un objeto físico que
lleva a cabo una función bien determinada.
Entonces, para entender esta máquina, y cualquier otra, lo que
se debe hacer es:
• A. Entender la función que lleva a cabo
• B. Entender la manera en que físicamente se implementa esta
función (otra forma de decir esto es “instanciar la función”)
LA FUNCIÓN DE LA COMPUTADORA
(1)
Una mejor definición, entonces, es la que describe de manera
sucinta que debemos entender por “procesar”.
Decimos entonces: Una computadora es una máquina que
recibe datos de entrada, y ejecuta algoritmos sobre estos datos
(usando quizá otros datos que tenga almacenados), para
producir datos de salida.
LA FUNCIÓN DE LA COMPUTADORA
(2)
Datos que llegan
(input)
Proceso
(ejecutar algoritmos) Datos que salen
(output)
Entonces, en computación definimos el concepto de
computadora como “máquina que puede ejecutar algoritmos”
P. ¿Cuáles algoritmos?
R. Cualquier algoritmo imaginable (!)
DEFINICIÓN DE ALGORITMO
En particular, las técnicas para hacer aritmética decimal que los
niños deben aprender en la escuela primaria (sumar, restar,
multiplicar y dividir) son algoritmos.
De hecho, fueron los primeros algoritmos.
Este hecho vino a ocasionar una curiosa confusión en la historia
de la computación, como veremos más adelante.
BREVE HISTORIA DE LA
COMPUTACIÓN
Como dijimos antes, las técnicas
de hacer aritmética (en
representación posicional) fueron
los primeros algoritmos.
Debemos este desarrollo a la
civilización sumeria (4500-1900
AEC), que utilizaba un sistema de
representación numérica en
base 60.
Estas técnicas fueron refinadas
extraordinariamente mucho
después por los babilonios.
PRIMEROS ALGORITMOS
En la antigüedad, los algoritmos fueron utilizados para:
Contabilidad (algoritmos numéricos-aritméticos solamente)
Ciencia
Geometría (teórica y aplicada)
Astronomía
ALGORITMOS EN LA ANTIGÜEDAD
Al parecer, el primer mecanismo para automatizar cálculos fue
el llamado “Mecanismo de Antikithera”.
Este sofisticado dispositivo aparentemente era capaz de realizar
sofisticados cálculos astronómicos, como predicción de eclipses
solares, eclipses lunares y las fases de la luna
Puede verse una exposición sobre este mecanismo en:
https://youtu.be/UpLcnAIpVRA
EL MECANISMO DE ANTIKYTHERA
Durante mucho tiempo las únicas necesidades cubiertas por los
algoritmos fueron las de cálculos aritméticos básicos.
No es de sorprender que cuando se ha querido mecanizar la
realización de estos cálculos, lo que se hizo fue implementar
mecánicamente estos algoritmos.
En esta actividad encontramos el trabajo de Blaise Pascal (1623-
1662)my Gottfried Leibniz (1646-1716).
MÁQUINAS CALCULADORAS
El matemático inglés Charles Babbage
(1791-1871) empezó diseñando una
calculadora mucho más poderosa
que cualquiera creada hasta su
tiempo.
La “máquina de diferencias I”
(llamada así por su original método de
cálculo) fue construida casi
completamente.
Luego de terminarla, Babbage se dio
cuenta que podía llegarse mucho más
lejos
UNA INTUICIÓN
EXCEPCIONAL
Desgraciadamente, una combinación de mala administración,
carencia de suficientes fondos y escasez de talleres
suficientemente calificados hicieron fracasar el proyecto de la
máquina analítica.
Es de resaltar que, aunque nunca hubo un diseño definitivo de la
máquina, Babbage había elaborado una muy cuidadosa lista
de requerimientos, y tenía muy buenas ideas de diseño sobre
cómo implementarlos.
Algunas de esas ideas, al parecer, encontraron su camino hasta
las computadoras modernas.
Z3 Y Z4
Konrad Zuse no había sido requerido a trabajar en sus máquinas,
después de todo, era un ingeniero civil especialista en diseño
industrial (de hecho, tenía apenas un conocimiento muy básico
sobre electricidad, lo que retrasó la puesta en funcionamiento
de sus diseños).
Eventualmente, de no ser por la torpe administración del alto
mando alemán de las victorias militares, sus máquinas hubieran
sido muy útiles tanto para el avance en tecnología de vuelo
supersónico como para el desarrollo de tecnología nuclear
bélica.
Zuse fue tremendamente irresponsable.
MÁQUINAS A LA MEDIDA
En 1943,e independientemente de la experiencia con MARK I, se
inició el esfuerzo de construir la primera máquina de cálculo
numérico que utilizara tubos de vacío en lugar de relays. Nunca
se había intentado tal cosa.
Esta máquina, llamada Electronic Numerical Integrator and
Computer, fue terminada en 1945.
Originalmente fue pensada para hacer cálculos para elaborar
tablas de tiro para diferentes armas, pero, al igual que Mark I, fue
utilizada para cálculos relacionados con el desarrollo de armas
nucleares.
ENIAC
Al igual que Mark I, ENIAC era una máquina electrónica digital
de aritmética decimal de punto fijo.
Tenía una memoria de registros.
No tenía un lenguaje de máquina, lo que la hacía muy eficiente
para ejecutar pero muy ineficiente para programar.
Tenía una capacidad limitada de ciclos y salto condicional, por
lo que no era capaz de ejecutar recursión en general.
ALGUNAS CARACTERÍSTICAS DE
ENIAC
Una función entera es recursiva si el valor funcional de un entero
cualquiera, o está predeterminado, o depende de los valores
funcionales anteriores.
Ejemplos
Factorial: 0! = 1, n! = n* (n-1)!
Función de Fibonacci: f(0) = 1, f(1) = 1, f(n) = f(n-1)+f(n-2)
EL CONCEPTO DE RECURSIÓN
La respuesta es NO.
La razón es que el fundamento teórico de la computación es un
concepto matemático conocido como función computable.
El lógico norteamericano Alonzo Church hizo un modelo teórico
de las funciones computables basado en funciones recursivas.
Por consiguiente, cualquier máquina capaz de evaluar
funciones computables debería ser capaz de implementar
recursión, y ninguna de estas máquinas lo era.
EL ROL DE TURING
Una consecuencia de la Tesis de Church, es que una máquina
de Turing es capaz de ejecutar cualquier algoritmo.
En consecuencia, exigimos que una máquina, para ser
considerada una computadora, deba ser capaz de hacer
cualquier cosa que haga una máquina de Turing. A esto lo
llamamos ser “Turing-completa”.
Ninguna máquina construida antes de 1945 fue Turing-completa.
Ninguna de estas máquinas tenía ni siquiera un mecanismo de
evaluación de condiciones/salto condicional (ENIAC usaba
trucos basados en su arquitectura, pero eran muy limitados).
Eran solo magníficas calculadoras.
TERMINOLOGÍA TEÓRICA
IMPORTANTE
El matemático húngaro János (John) von Neumann [/fon
no:ɪman/] usó la Mark I, supo del diseño y construcción de
ENIAC, y estaba familiarizado con el trabajo de Turing y Church;
y fue además uno de los matemáticos más brillantes de todos
los tiempos.
Cuando terminó la Segunda Guerra Mundial siguió fuertemente
interesado en las posibilidades de las máquinas computadoras.
Von Neumann redactó un famoso documento que sugiere una
arquitectura general para una mejor máquina, que se llamaría
EDVAC.
La arquitectura sugerida fue llamada “Modelo von Neumann”,
y es el que se sigue utilizando hasta el día de hoy.
PRIMERAS COMPUTADORAS
VERDADERAS
Podríamos decir que fue un esfuerzo conjunto aunque no
cooperativo de manera directa.
Las primeras computadoras en sentido moderno se construyeron
en Inglaterra y Estados Unidos siguiendo las ideas de von
Neumann.
Pero von Neumann, a su vez, estaba siguiendo las ideas de
Turing y Church sobre funciones recursivas
¿QUIÉN INVENTÓ LA
COMPUTADORA?
Primera Generación (1945-1959)
Usan tubos de vacío
Difíciles de programar, sumamente costosas
1947: Invención del transistor
1958: Invención del circuito integrado
1959: IBM fabrica la primera computadora usando solo transistores
Segunda Generación (1959-1964)
Usan transistores
Consumen menos electricidad
Son más confiables
Se introducen las unidades de almacenamiento secundario
Servidores
Computación movil
Sistemas empotrados
FAMILIAS DE COMPUTADORAS