Modulo 1 - Completo
Modulo 1 - Completo
TEMAS:
● Evolución de las Computadoras
● IBM en el campo de la informática
● La Máquina de Herman Hollerith 1890
● Generación de Tubos de Vacío y tableros Enchufables o Primera Generación (1945-1955)
● Setun, la primera computadora comercial de lógica ternaria
● Generación de Transistores y de sistemas por lotes o Segunda Generación (1955-1965)
● Generación de Circuitos Integrados y multiprogramación o Tercera Generación (1965-1980)
● Generación de las Computadoras Personales o Cuarta Generación (1980-2008)
● IBM Quantum System - La Supercomputación Cuántica
0
Historia de las Máquinas de Calcular
1
Gottfried Wilhelm Leibniz (1646-1716)
Leibniz, matemático y filósofo alemán, avanzó significativamente en la teoría del
cálculo. Además de su trabajo en el cálculo infinitesimal, diseñó una máquina que podía
realizar las cuatro operaciones básicas: suma, resta, multiplicación y división. A su máquina
se le conoció como la Calculadora de Leibniz, y empleaba un mecanismo innovador basado
en cilindros escalonados. Leibniz también desarrolló la lógica binaria, una idea clave para la
informática moderna.
2
George Boole (1815-1864)
George Boole, matemático británico, es reconocido por desarrollar el álgebra de
Boole, un sistema de lógica simbólica que usa valores binarios (verdadero o falso) para
resolver problemas de lógica. Este sistema se convirtió en el fundamento de la lógica
computacional, ya que permitió traducir operaciones lógicas en procesos mecánicos que
posteriormente serían fundamentales para las computadoras digitales.
3
describe un dispositivo capaz de realizar cálculos a través de una serie de reglas simples.
Esta idea es la base de la teoría de la computabilidad y sirvió como modelo conceptual para
la construcción de las primeras computadoras programables.
4
● Test de Turing (1950):
Aunque no está relacionado directamente con el diseño de computadoras, Turing
también es conocido por su trabajo sobre la inteligencia artificial. Propuso el "Test de
Turing", una prueba para determinar si una máquina podía mostrar un comportamiento
indistinguible del humano. Si una computadora podía engañar a un evaluador humano
haciéndole creer que estaba interactuando con otro humano, la máquina pasaba la prueba.
5
3. Aceleración de procesos: La máquina permitía tabular grandes volúmenes de datos
a una velocidad sin precedentes, resolviendo el problema de la lentitud en el
procesamiento manual.
En 1911, Hollerith vendió su compañía, la cual se fusionó con otras empresas para formar
la Computing-Tabulating-Recording Company (CTR), una corporación dedicada a la
fabricación de máquinas para la tabulación de datos, relojes y otras herramientas de oficina.
Esta empresa fue precursora de IBM (International Business Machines Corporation),
que surgiría en 1924 a partir de la reestructuración y renombramiento de CTR.
La máquina de Hollerith es considerada un hito en la historia de la informática porque
representa uno de los primeros pasos hacia la automatización del procesamiento de datos.
Su tecnología, basada en tarjetas perforadas, sería utilizada durante muchas décadas y sentó
las bases para el desarrollo de las primeras computadoras.
Desde las combinaciones conceptuales de Llull hasta los logros lógicos de Boole, Frege y
Russell, y el diseño teórico de máquinas de cálculo por parte de Turing y Babbage, la historia
de las máquinas de calcular muestra un progreso continuo hacia la creación de dispositivos
capaces de realizar operaciones lógicas y matemáticas de manera automática. Este
recorrido no solo es un avance tecnológico, sino también una evolución en la forma en que
entendemos y aplicamos la lógica y el pensamiento matemático a problemas complejos.
El Mark I, también conocido como IBM Automatic Sequence Controlled Calculator (ASCC),
fue uno de las primeras computadoras electromecánicas y es considerada un avance clave
en la historia de la computación. Fue completada en 1944 por un equipo liderado por
Howard H. Aiken, en colaboración con IBM, y se utilizó principalmente en la Universidad de
Harvard.
Mark I
6
Algunas características clave del Mark I incluyen:
Tubos de Vacío
7
Generación de Tubos de Vacío y tableros Enchufables o Primera Generación (1945-
1955)
En 1952, la empresa introdujo el IBM 701, El primer computador de tubos al vacío. Los
tubos eran mucho más eficientes que los conmutadores mecánicos del Mark I. El IBM 701
ejecutaba 17000 instrucciones por segundo.
Características principales:
1. Lógica ternaria: En lugar de los dos estados binarios (0 y 1) de la lógica
convencional, Setun utilizaba tres estados: negativo (–1), neutro (0) y positivo (+1).
Esto ofrecía una mayor eficiencia teórica, ya que la lógica ternaria puede representar
más información con menos recursos comparada con la lógica binaria.
2. Eficiencia: En teoría, las computadoras ternarias podrían ser más eficientes que las
binarias en términos de uso de hardware, energía y almacenamiento. Se creía que
Setun podría realizar cálculos más rápidos con menos componentes físicos.
3. Tecnología: La máquina empleaba relés magnéticos, lo que, en combinación con la
lógica ternaria, le daba ciertas ventajas en la capacidad de procesamiento y eficiencia
en la representación de números. Sin embargo, la tecnología de fabricación en esa
8
época no estaba lo suficientemente avanzada como para explotar completamente el
potencial del diseño.
4. Aplicaciones limitadas: Aunque Setun tenía ventajas conceptuales, la falta de
software compatible y la necesidad de desarrolladores con conocimiento en lógica
ternaria limitaron su adopción. También competía contra los ordenadores binarios,
que ya dominaban la industria.
5. Legado: Aunque no se convirtió en un producto comercial ampliamente distribuido,
Setun es un hito importante en la historia de la informática. Inspiró investigaciones
posteriores sobre la lógica ternaria, que sigue siendo un área de interés teórico y
práctico en campos como el procesamiento de datos cuánticos y el diseño de chips
avanzados.
Setun 1958.
9
Características principales de la Segunda Generación:
10
IBM-360 primera serie de computadoras construida con circuitos integrados. (1964)
Características:
11
Generación de Circuitos Integrados
Los circuitos integrados o chips fueron una revolución tecnológica en la tercera
generación. Un IC es un conjunto de circuitos electrónicos que se fabrican en un pequeño
chip de material semiconductor (generalmente silicio), lo que permitió un aumento
exponencial en la velocidad y capacidad de procesamiento de las computadoras. Los
beneficios principales incluyen:
Multiprogramación
La multiprogramación fue un avance en la administración del tiempo y los recursos
de las computadoras, introducido durante esta generación. Este concepto se refiere a la
capacidad de una computadora para ejecutar varios programas al mismo tiempo. En
lugar de procesar una tarea a la vez, los sistemas multiprogramados gestionaban el uso de
la CPU para que cuando un programa necesitaba esperar (por ejemplo, por una operación
de E/S), otro pudiera ser procesado en su lugar. Las ventajas de la multiprogramación
incluyen:
12
● Computación más accesible: Las computadoras se volvieron más pequeñas, más
baratas y más poderosas, lo que hizo posible su uso en negocios y universidades,
expandiendo el acceso a la tecnología.
● Desarrollo de lenguajes de programación: En esta generación, se consolidaron
lenguajes de programación como FORTRAN, COBOL, y se introdujeron nuevos
lenguajes como Pascal.
13
La Cuarta Generación, también conocida como la Generación de las Computadoras
Personales (1980), representa un período crucial en la evolución de la informática. Durante
esta etapa, se produjo la consolidación de las computadoras como herramientas accesibles
para el usuario común, tanto en el ámbito personal como profesional. Algunos de los
principales hitos y características de esta generación son:
Uso de Microprocesadores
14
Desarrollo de Internet
● Aunque el Internet se había gestado durante las décadas previas, fue durante la
Cuarta Generación que se desarrolló de manera exponencial y se hizo accesible al
público general.
● El World Wide Web (WWW), creado por Tim Berners-Lee en 1989, sentó las bases
para la expansión masiva de Internet en la década de 1990.
Software y Aplicaciones
Conectividad y Redes
● Durante este período, comenzaron a popularizarse las redes locales (LAN) y la idea
de interconectar computadoras dentro de empresas y oficinas.
● El uso del correo electrónico y servicios como AOL, CompuServe y más tarde
Netscape Navigator e Internet Explorer introdujeron a los usuarios al mundo
online.
15
IBM Quantum System - La Supercomputación Cuántica
IBM Quantum System es una parte clave de la estrategia de IBM para democratizar el acceso
a la computación cuántica. Aquí hay algunos aspectos importantes sobre este sistema:
*Arquitectura: IBM Quantum System se basa en qubits superconductores, que son la unidad
básica de información en computación cuántica. Estos qubits son extremadamente sensibles
y requieren condiciones de operación muy específicas, como temperaturas cercanas al cero
absoluto.
*Acceso a la Nube: IBM ha desarrollado una plataforma en la nube llamada IBM Quantum
Experience que permite a investigadores, desarrolladores y empresas acceder a sus
computadoras cuánticas. Esto permite que un amplio rango de usuarios experimenten y
desarrollen aplicaciones cuánticas sin necesidad de tener el hardware en sus instalaciones.
*IBM Quantum Advantage: La compañía está trabajando hacia lo que se conoce como
"ventaja cuántica", que se refiere a la capacidad de una computadora cuántica para resolver
problemas que serían prácticamente imposibles de resolver para las computadoras clásicas.
Esto incluye tareas complejas en química, logística y aprendizaje automático.
16
La computación cuántica es un campo en rápido desarrollo y el IBM Quantum System juega
un papel importante en la exploración de sus posibilidades y en la expansión de su
accesibilidad.
Clementina (1961)
Características:
• Modelo Mercury, fue una computadora comercial diseñada por Ferranti.
17
• Ocupaba una habitación entera a lo que debía sumarse otra habitación donde se
encontraban los 5 racks de fuentes de poder.
"Serafín" (2021)
Puede ser descripta como una colección de 60 computadoras muy potentes que funcionan
de manera interconectada.
18
un paso hacia la mejora de la capacidad de procesamiento y la reducción de tiempos y
recursos. Con la computación cuántica en el horizonte, nos encontramos ante una nueva era,
donde la capacidad de realizar cálculos a una escala inimaginable plantea nuevas
posibilidades y desafíos, ampliando los límites de lo que las máquinas pueden lograr y, en
última instancia, transformando nuestra manera de interactuar con el mundo.
Referencias Bibliográficas
19
TecnoPresente en el Aula: Arquitectura de Computadoras.
Una Introducción a Ciencias de la Computación.
Marzo 2026
Introducción
Durante este módulo, trataremos de explicar brevemente cómo es el proceso por el
cual una computadora funciona, desde el diseño histórico de su arquitectura, hasta la
programación a bajo nivel y el código de máquina.
El Álgebra de Boole es un sistema matemático que trabaja con valores binarios: 0 (falso) 1
(verdadero).
20
Fue desarrollado por George Boole en el siglo XIX y es la base de la lógica digital y el
diseño de circuitos electrónicos.
Valores y Variables
● Las variables booleanas sólo pueden tomar dos valores: CERO o UNO.
● Las operaciones se hacen sobre estos valores para modelar decisiones lógicas.
Veamos un ejemplo:
A C
0 0
1 1
Es un circuito muy simple, y es el que todos tenemos en nuestras casas para prender la
luz, por ejemplo. En ese sentido, la relación es directa entre A y C. Ahora veamos un circuito
más complejo:
21
Este circuito tiene dos interruptores (A y B) y solo se prenderá la lámpara C cuando A
y B estén presionados (ambos tengan valor de UNO). Este circuito es conocido como la
compuerta lógica AND (palabra inglesa para referirse al conector Y).
Este tipo de tablas son muy comunes en lógica y se les denomina “Tablas de verdad”.
Tomemos la segunda compuerta lógica más sencilla:
En esta compuerta, podemos ver que cuando A o B están presionadas (UNO) se cierra
el circuito y se enciende la lámpara C. Este circuito es representado como la compuerta
lógica OR (la letra O en español). Su tabla de verdad es:
22
A B C
0 0 0
0 1 1
1 0 1
1 1 1
En este caso solo si los dos interruptores están sin apretar, la lámpara no se prenderá,
en cualquier otra de las posibilidades, tendremos UNO (la lámpara encendida). Ahora
veamos la última compuerta que estudiaremos:
A C
0 1
1 0
23
Esta compuerta NAND (que no estudiaremos, pero si utilizamos) es considerada una
compuerta universal porque sumando varias, podemos construir todo el resto de
compuertas lógicas que existen (incluyendo, AND, OR y NOT y más compuertas). Con cuatro
compuertas NAND podemos representar la última compuerta que veremos (ya solo como
su símbolo lógico sin verla como circuito) que es la compuerta XOR.
A B C
0 0 0
0 1 1
1 0 1
1 1 0
Esta compuerta solo será UNO , si una sola entrada es igual a UNO, en cualquier otro
caso, el resultado será CERO.
Con estas compuertas lógicas, combinándolas y uniéndose entre sí podemos armar los
componentes básicos que conforman una computadora a través de su microprocesador
lógico matemático.
Sumador Binario
Pensemos un ejemplo real, imaginemos que queremos sumar dos valores A y B siendo
A=1 y B=9.
24
Si recordamos cómo se hace una suma (en sistema decimal), veremos que 1+9 nos da
un acarreo donde nos llevamos 1 al espacio de las decenas y el resultado nos queda 10.
En el sistema binario no tenemos tantos dígitos (solo 1 y 0) por lo tanto 1+1 nos
pasamos, y tenemos que hacer un acarreo a las decenas, haciendo que el resultado sea 10
(si, en sistema binario 1+1=10).
Este circuito permite hacer sumas de 1 bit (con acarreo de entrada y acarreo de salida)
y es un componente básico de un procesador (de hecho los microprocesadores pueden tener
cientos de estos sumadores para hacer muchas cosas en su comportamiento interno).
25
La idea de LMC es pensar en la metáfora de una persona en una habitación que tiene
un escritorio con una calculadora, una caja donde ponen las entradas, una caja con las
salidas, un contador de casilleros (para no olvidarse en que casillero tiene que buscar los
papeles) y, detrás suyo, una estantería con 100 casillas (numeradas del 0 al 99) para guardar
papeles que pueden tener un número del 000 al 999.
Esta pequeña personita tiene que hacer siempre los siguientes pasos, siempre en el
mismo orden:
1. Comprueba el contador de programa, que tiene un número de caja que contiene una
instrucción de programa (por ejemplo, cero)
2. leer el casillero marcado en el contador de casilleros (que siempre empieza en 00)
y agarrar el papel que esté ahí
3. Incrementar el contador de casilleros en 1
4. ver el papel y decodificar la instrucción que trae el papel (que puede ser una
instrucción de 000 a 999)
5. Ejecutar la instrucción (pueden ser 10 instrucciones)
6. volver a empezar
Las instrucciones se componen de un número de tres cifras, donde las centenas son las
posibles instrucciones que tiene que hacer nuestra personita, y las decenas y unidades son
las dirección de un casillero. Las instrucciones que puede ejecutar nuestra personita son 10
(del 0 al 9), nosotros solo vamos a usar cuatro para este ejercicio, así que nos concentramos
en estas instrucciones:
26
Resta el casillero XX al valor de XX es el casillero de donde tiene
la calculadora. que sacar el papel. Ese papel tiene
2XX SUB
un valor , y ese valor se resta con
lo que ya hay en la calculadora
Almacena el valor de la
02 312 STA 12
calculadora en el casillero 12
…. …. ….
27
2. incrementa el contador de casilleros (ahora 01).
3. decodifica la instrucción que acaba de leer (510). La instrucción es el 5, eso significa
que tiene que leer el casillero 10 y poner ese valor en la calculadora. Entonces
vemos el casillero 10, tomamos un papel con el contenido 009 y lo ponemos en la
calculadora.
4. Vuelve a leer el contador (ahora es 01) , lee el contenido de ese casillero y saca un
papel con el valor 111.
5. incrementa el contador de casilleros (ahora 02).
6. decodifica la instrucción que acaba de leer (111), la instrucción es el 1 que
significa sumar el contenido que leamos del casillero 11 a la calculadora. Vemos el
casillero 11, tomamos el papel con contenido 014 y lo sumamos con la calculadora
(ahora la calculadora tiene el valor 023).
7. Vuelve a leer el contador (ahora es 02) , lee el contenido de ese casillero y saca el
valor 312.
8. incrementa el contador de casilleros (ahora 03).
9. decodifica la instrucción que acaba de leer, al ser 312, la instrucción es el 3 que
significa que debe guardar el valor de la calculadora, que es 023, en el
casillero 12.
10. Vuelve a leer el contador (ahora es 03), lee el contenido de ese casillero y saca el
valor 000.
11. incrementa el contador de casilleros (ahora 04).
12. decodifica la instrucción que acaba de leer, la instrucción 000, lo que significa que la
personita deja de trabajar y se va a tomar un café.
1. La personita no puede sumar dos números al mismo tiempo, si o si tiene que tomar
un número del casillero y ponerlo en la calculadora, luego tomar otro número de otro
casillero y recién ahí puede sumar, la suma es un proceso de varios pasos. Todo debe
salir o almacenarse en los casilleros.
2. Los casilleros almacenan valores que son las instrucciones que tiene que ejecutar la
personita pero… también esos casilleros almacenan valores (datos) que necesita la
personita para, por ejemplo, sumar dos valores.
3. Al incrementar el contador de casilleros, la personita va avanzando por el mueble de
casilleros y avanzando en el programa.
4. Los casilleros 10 y 11 se usan para almacenar los valores que queremos sumar y el
casillero 12 es donde vamos a almacenar el resultado.
5. Si por algún motivo la personita leyera los casilleros 10, 11 y 12, la personita trataría
de ejecutar las instrucciones que encontrará, en nuestro ejemplo no son instrucciones
28
que tienen sentido, pero podría ser un valor que efectivamente si hiciera algo. Los
datos y las instrucciones son lo mismo para la personita, solo cambia en función
de cómo lo lee.
6. La personita solo sabe sumar y restar, por lo tanto para multiplicar tiene que hacer
sumas de sumas hasta llegar al valor indicado, para divisiones hace restas de restas.
No es muy inteligente que digamos.
Aunque parezca una rareza, técnicamente así funciona un procesador real de una
computadora, a una velocidad de vértigo, pero solamente haciendo operaciones sencillas.
En este ejemplo no vimos que también podríamos cambiar el valor del contador de
casilleros y tomar decisiones de saltos condicionales, pero no es necesario verlo por ahora.
Este microprocesador tiene paralelismos con nuestra personita que computa, dado
que trabaja de la misma forma el proceso de sumar, aunque a diferencia de la personita, el
MOS 6502 trabaja con sistema binario (además el MOS 6502 tiene muchas más
instrucciones que hacen cosas especiales, además de tener más registros, no solo una
calculadora).
Veamos una comparación:
29
6502 - Instrucciones Equivalentes a LMC (nuestra personita)
📥 Carga / Almacenamiento
Instrucción Función Comentario
➕ Aritmética
Instrucción Función Comentario
En los microprocesadores reales los valores se dan en sistema binario, por eso tenemos
que aclarar si el número que estamos viendo es binario, hexadecimal o decimal. En este caso,
los números que empiezan con $ son valores decimales.
30
Vemos algunas cosas interesantes de este proceso, por ejemplo 65 es el número (en
hexadecimal) que representa la suma (en LMC sería el valor 1). $02 es la representación del
espacio en memoria (el casillero de LMC) y 11 es el valor que deberíamos sumar al
acumulador (el acumulador es la calculadora en LMC).
Programar en lenguaje de máquina, es un proceso complejo y requiere una enorme
cantidad de instrucciones para hacer cualquier cálculo sencillo. En general, se agrupan
grandes cantidades de instrucciones ensamblador para hacer una instrucción más compleja
que permita hacer algo más concreto en una computadora. Así nacieron los lenguajes de alto
nivel como C/C++, JAVA y Python.
Decimal, binario y hexadecimal
El sistema decimal es el que usamos todos los días. Se basa en diez dígitos (0 al 9).
Cada posición de un número representa una potencia de 10:
Ejemplo:
345 = 3×10² + 4×10¹ + 5×10⁰
= 300 + 40 + 5
Este sistema funciona bien para humanos, pero no tanto para las computadoras.
Las computadoras trabajan con electricidad: encendido (1) y apagado (0). Por eso,
utilizan el sistema binario, que solo tiene dos dígitos posibles: 0 y 1.
Ejemplo:
1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰
= 8 + 0 + 2 + 1 = 11 en decimal
31
Los bits (binary digits) son la unidad básica de información. Agrupaciones de 8 bits
forman un byte, y ahí es donde entra el siguiente sistema.
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
32
Ejemplo:
1A₁₆ = 1×16¹ + A×16⁰ = 1×16 + 10 = 26 decimal
Binario: 11010111
Agrupamos de 4: 1101 0111
1101 = D, 0111 = 7 → Resultado: D7₁₆
Comparación rápida
10 1010 A
15 1111 F
255 11111111 FF
33