Está en la página 1de 48

1.

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”)

¿CÓMO ENTENDEMOS UNA


MÁQUINA?
 Primera definición: “Una computadora es una máquina que
procesa información, para producir más información”.
 Esta definición es correcta pero demasiado general, pues no
explica que significa exactamente “procesar”.

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 (!)

UNA MEJOR DEFINICIÓN DE


COMPUTADORA
 ¿Y qué es un algoritmo?
 Es un conjunto de instrucciones que tiene las siguientes
características
1. Cada instrucción está bien definida
2. Es un conjunto finito
3. Se ejecuta en un número finito de pasos (o sea, termina en algún
momento)

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.

UN EJEMPLO MUY ESPECIAL


La computadora moderna es el resultado de la convergencia de
varios factores:
 Teoría: concepto de función computable
 Exigencia social: Necesidad de procesamiento de información
en grandes volúmenes y a gran velocidad
 Tecnología: Desarrollo de las tecnologías de manejo de la
electricidad, especialmente corrientes pequeñas (electrónica)

Veamos de manera resumida cada factor.

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.

AL MENOS FUE UN BUEN INTENTO


 Reproducción de la máquina de
diferencias de Babbage
 Una explicación del principio teórico
de funcionamiento de esta máquina
puede verse en:
https://youtu.be/PFMBU17eo_4
 Puede verse una magnífica
presentación de la máquina de
diferencias en:
https://youtu.be/XSkGY6LchJs

PARA SABER MÁS…


Junto con el automóvil, la computadora es la máquina que
contribuyó a cambiar la civilización humana.
No es exagerar el decir que su invención es solo comparable al uso
doméstico del fuego o la invención de la agricultura y la ganadería.
No es de extrañar entonces, que todo el mundo quiera presumir de
haber sido su creador.
Eso hace muy confuso el responder las preguntas:
 ¿Cuál fue la primer computadora?
 ¿Quién fue el inventor de la computadora?

LOS INICIOS DE LA COMPUTACIÓN


MODERNA
Hasta el día de hoy, inclusive, hay tres países que tercamente
insisten en quela primera computadora fue creación de alguno de
sus ciudadanos:
 Los Estados Unidos
 Reino Unido
 Alemania

LA VICTORIA TIENE MUCHOS PADRES



 Hacia la tercer década del siglo XX, los grandes y acelerados
avances en Física y las necesidades de la comunicación
inalámbrica y el diseño aeronáutico empezaron a requerir el
respaldo de grandes volúmenes de cálculos.
 En consecuencia, se retomó el diseño de calculadoras, esta vez
usando electricidad.
 La Segunda Guerra Mundial, incidentalmente, liberó una gran
cantidad de recursos financieros para algunos de estos
proyectos.

MEDIADOS DEL SIGLO XX


 Un ingeniero en diseño alemán, Konrad Zuse, empleado en una
firma que diseñaba fuselaje de aviones, imaginó que sería
posible crear una calculadora electrónica.
 Zuse empezó a trabajar de manera independiente en 1935
creando un primer prototipo, que llamó Z1.
 Eventualmente logró atraer la atención del gobierno para
obtener financiamiento, desarrollando las máquinas Z3 y Z4.

EN ALEMANIA (EX NIHILO)


 Gracias a su éxito inicial, Zuse consiguió financiamiento del gobierno
para desarrollar mejores máquinas, construyendo entre 1940 y 1941
la máquina Z3, y entre 1942 y 1945 desarrolló una versión mejorada
que llamó Z4.
 Estas máquinas poseían características muy avanzadas.
 Con un tamaño relativamente pequeño, tenían una memoria de
más de 60 registros, usaban aritmética de punto flotante (inventada
por Zuse), poseían lenguaje-máquina, y se programaban
externamente con papel perforado.
 Debido a las limitaciones de energía del momento, estas máquinas
funcionaban con relays.
 Zuse se atribuyó siempre la autoría de la computadora.

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.

UNA REFLEXIÓN SOBRE EL TRABAJO


DE ZUSE
 La máquina “Mark I” fue diseñada por Howard Aiken en 1937,
como apoyo a su investigación post-doctoral en ondas
electromagnéticas.
 Con el apoyo financiero y logístico de la corporación IBM fue
completada en 1944.
 Dado que el Dr. Aiken era físico, esta máquina es una
calculadora extremadamente sofisticada, pero calculadora al
fin.
 Fue utilizada para mejorar los dispositivos de radar, así como
para los cálculos del mecanismo de implosión de la bomba de
plutonio (“Fat man”).

ESTADOS UNIDOS: MARK I


1. Era programable, esto significa que poseía lo
que conocemos como un lenguaje-
máquina. Hay que señalar que esta idea ya
se la había ocurrido a Babbage, pero Aiken
no tuvo contacto con las ideas de Babbage.
CARACTERÍSTICAS 2. Su programa se suministraba en papel
perforado.
RELEVANTES DE
3. Podía hacer cálculos con números decimales
MARK I con parte fraccionaria (en punto fijo).
4. Tenía una memoria de registros.
Véase https://youtu.be/bN7AdQmd8So y
https://youtu.be/-3COcwE43Fk para conocer un
poco más sobre esta máquina.
 Con un doctorado en
Matemática, se enlistó en la
reserva de la marina.
 Fue una de las primeras
programadoras de Mark I.
 Daría varios aportes relevantes
en el desarrollo de la
computación.
 Se retiró de la Marina con el
rango de Almirante.

GRACE MURRAY HOPPER


LA PRIMER
“PULGA”
 Además, al parecer fue ella quien
introdujo el término “bug” (en
castellano, los programadores los
llamamos “pulgas”) a la
tecnología de computadoras.
 Esta palabra designa a un
elemento desconocido que está
ocasionando algún tipo de falla
en un programa.
 Por eso, el proceso de depurar un
programa es llamado en inglés
“debugging”
FAT MAN
 Alemania introdujo la encriptación utilizando máquinas,
básicamente de dos tipos totalmente diferentes:
 Enigma
 Lorenz
 El uso de estas forzó a los aliados a contraatacar mediante
desciframiento (criptoanálisis) usando máquinas también.

UN POCO MAS TARDE EN


INGLATERRA …
ENCRIPTACIÓN MECÁNICA
ALEMANA
LA RESPUESTA INGLESA
 Los problemas enfrentados al tratar de desencriptar los mensajes
alemanes fueron resueltos mediante una técnica que podríamos
llamar “fuerza bruta focalizada”, que consiste en acotar el conjunto
de soluciones posibles, y hacer búsqueda secuencial en el conjunto
resultante.
 Y la segunda parte del ataque inglés consistió en hacer la
búsqueda secuencial mediante máquinas especialmente
diseñadas para ello.
 Las “Bombes” se diseñaron para atacar Enigma. Colossus se
construyó en 1943 para atacar Lorenz.
 Colossus era una máquina electrónica digital, con lectura de cinta
de papel de alta velocidad, que podía encontrar una (posible)
llave de Lorenz en cuestión de horas

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.

¿FUE ALGUNA DE ESTAS MÁQUINAS UNA


COMPUTADORA EN SENTIDO MODERNO?
 Alan Turing desarrollo otro modelo de función computable un
poco después que Church.
 El modelo de Turing se basaba en una máquina imaginaria, que
eventualmente se conoció como máquina de Turing.
 Turing no tenía noticia del trabajo de Church.
 El modelo de Church y el de Turing son equivalentes.
 Después de estudiar el trabajo de Turing, Church enunció lo que
viene a ser la base de toda la Computación: “Toda función
computable es Turing-computable”.

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.

EL APORTE DE VON NEUMANN


 Siguiendo las ideas de von Neumann, en la Universidad de
Manchester, en 1947, se construyó una computadora
“pequeña”, que en realidad era un prototipo de un proyecto
mayor, pero que fue la primera máquina moderna de programa
almacenado, la apodada “Manchester Baby”. Allan Turing fue
parte de este proyecto durante un tiempo.
 El mérito de esta máquina es que fue la primera capaz de
almacenar el programa a ejecutar en su propia memoria.
 Véase este video sobre la “Manchester Baby” y su curioso
mecanismo de memoria: https://youtu.be/T8JEexHSh1U

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

GENERACIONES DE HARDWARE (1)


 1964: IBM fabrica la primera computadora usando circuitos
integrados
 Tercera Generación (1964-1992)
 Usan circuitos integrados (circuitos con varios transistores en el mismo
sustrato)
 Aumentan notablemente sus capacidades
 1965: Primera familia de computadores: IBM 360
 1970’s: Se introduce el paralelismo (a nivel de instrucciones y a nivel
vectorial)
 1971: Intel fabrica el primer micro-procesador
 1979: Se plantea el diseño RISC

GENERACIONES DE HARDWARE (2)


 1994: Una alianza estratégica de IBM-Motorola-Apple lanza al
mercado el procesador Power-PC
 Cuarta generación (1994-presente)
 Computadoras de gran poder usan micro-procesadores
 1996: Intel introduce el Pentium MMX (computación vectorial)
 2003: Intel introduce el Pentium 4 con hiperthreading
 2006: Intel introduce el Core 2, con multinúcleo
 Quinta generación (?)
 Computación cuántica (?)

GENERACIONES DE HARDWARE (3)


High Perfomance
Computers (HPC)
Data Centers (Centros de [Super Computadoras]
Procesamiento de Datos)
Main Frames

Servidores

Computadoras personales (desktop)

Computación movil

Sistemas empotrados

FAMILIAS DE COMPUTADORAS

También podría gustarte