Evolución Histórica de la Computación
Era Pre-Mecánica (Dispositivos de Cálculo Antiguos)
- 3500-2600 a. C.: Ábaco chino.
- 1430-1550: Quipu Andino. Sistema nemotécnico mediante cuerdas de lana o algodón y nudos.
Era Mecánica (Siglos XVII – XIX)
- 1642: Máquina Aritmética de Pascal (realizaba sumas y restas).
- 1671: Máquina Aritmética de Leibniz (podía sumar, restar, multiplicar y dividir).
- 1822: Máquina Diferencial de Babbage (diseñada para resolver ecuaciones de primer grado).
- 1833: Máquina Analítica de Babbage (establece los principios fundamentales de los ordenadores modernos).
- 1885: Herman Hollerith utiliza tarjetas perforadas en el censo de EE. UU.
- 1911: Se funda CTR (Calculating Tabulating Recording).
- 1924: CTR se convierte en IBM (International Business Machines).
- 1944: Calculadora automática MARK I de Howard Aiken.
Generaciones de Ordenadores (Era Electrónica)
1ª Generación (1943-1955) – Válvulas de Vacío
- 1943-1946: ENIAC, el primer computador electrónico.
- 1944: John von Neumann concibe la idea del programa interno almacenado.
- 1945-1951: EDVAC, el primero en trabajar con programa almacenado (modificación del ENIAC).
- 1951: UNIVAC I, el primer ordenador comercial (desarrollado por Mauchly).
- 1952-1955: MANIAC I, MANIAC II, UNIVAC II (evoluciones).
2ª Generación (1955-1964) – Transistores
- IBM 1401: Sustituye la válvula de vacío por el transistor, reduciendo tamaño y consumo.
3ª Generación (1964-1974) – Circuitos Integrados (CI)
- IBM 370: Ordenadores basados en circuitos integrados.
4ª Generación (1974-1983) – Microprocesadores
- Intel 4004: Presenta toda la CPU en un único circuito integrado (el microprocesador), dando lugar a los ordenadores personales.
5ª Generación (1983 en adelante) – Inteligencia Artificial y Procesamiento Paralelo
- Japón lanza el programa de la Quinta Generación con el objetivo de producir máquinas capaces de comunicarse en un lenguaje más cotidiano y no solo a través de códigos.
Arquitectura de Von Neumann
John von Neumann describió el fundamento teórico para la construcción de un ordenador electrónico con programa almacenado, para conectar permanentemente las unidades del ordenador bajo la coordinación de un control central (UCP), precursor de la arquitectura actual.
Registros Clave en la Arquitectura
- Contador de Programa (CP).
- Registro de Instrucción (RI).
- Registro de Dirección de Memoria (RDM).
- Registro de Intercambio de Memoria (RIM).
Componentes de la Unidad Central de Procesamiento (CPU)
La CPU está formada por la Unidad de Control (UC) y la Unidad Aritmético-Lógica (UAL o ALU).
Unidad de Control (UC)
Interpreta y ejecuta las instrucciones máquina almacenadas en la memoria principal y genera las señales de control necesarias para la operación del sistema.
- Decodificador de Instrucción (DI): Se encarga de extraer y analizar el código de operación de la instrucción en curso contenida en el RI, generando las señales de control necesarias para ejecutar correctamente la instrucción.
- Reloj: Genera impulsos eléctricos a intervalos constantes para sincronizar las operaciones.
- Secuenciador: Genera órdenes o microórdenes elementales que, sincronizadas con los impulsos de reloj, hacen que se ejecute paso a paso y de manera ordenada la instrucción cargada en él.
Unidad Aritmético-Lógica (UAL o ALU)
Recibe los datos sobre los que efectúa operaciones de cálculo y operaciones lógicas.
- La UAL realiza operaciones aritméticas y lógicas booleanas.
- Toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante el Álgebra de Boole) y devuelve el resultado.
Unidad de Coma Flotante (FPU)
Una parte importante de la UAL es la FPU, encargada de manejar todas las operaciones en coma flotante. Estas operaciones incluyen números fraccionarios, y cálculos matemáticos trigonométricos y logarítmicos.
Registros
Son pequeñas unidades de almacenamiento temporal dentro de la CPU.
Tamaño del Registro y Potencia del Procesador
El tamaño del registro indica el número de bits que puede manipular a la vez el procesador. Cuanto mayor sea, más potente será el microprocesador, pues podrá trabajar con más cantidad de información a la vez.
- Las primeras CPU tenían 8 bits.
- Los primeros PC disponían de registros de 16 bits.
- Los primeros PC solo podían ejecutar software de 16 bits, como DOS y Windows 3.x.
- Solo se podían utilizar números de 16 bits para direccionar la memoria.
- Con 32 bits se puede utilizar mayor cantidad de memoria.
- Con una arquitectura de 64 bits se puede direccionar memoria casi infinita (2 elevado a 64).
Tipos de Registros
Existen dos tipos principales:
- Visibles al usuario.
- De control y estado.
A. Registros Visibles al Usuario
Son aquellos que pueden ser referenciados por el lenguaje ensamblador o de máquina. Hay 3 categorías:
- Registros de dirección.
- Registros de datos.
- Registros de condición.
Buses del Sistema
Los buses son los caminos a través de los cuales las instrucciones y los datos circulan entre las distintas unidades del ordenador.
Bus de Datos
- Permite el intercambio de datos entre la CPU y el resto de unidades.
- Cada instrucción de un programa y cada byte de datos viaja por este bus.
- El intercambio de datos se realiza a través de un conjunto de líneas eléctricas, una por cada bit, y se transmiten todos a la vez de forma paralela.
Bus de Direcciones
- Transmite direcciones entre la CPU y la memoria, sincronizado con el bus de datos.
- Cuanto mayor sea el número de bits, mayor es el rango de memoria direccionable.
- Ejemplos:
- Si el bus de direcciones tiene 10 bits, se podrá acceder a 210 posiciones de memoria (1024 celdas).
- Si tiene 16 bits, accederá a 216 posiciones (65 536 celdas).
Bus de Control de la CPU
Genera los impulsos eléctricos necesarios para gobernar el resto de elementos del sistema.
Organización de la Memoria
Cada una de las casillas que forman la memoria se identifica con un número; es lo que se conoce como dirección de memoria.
Para poder realizar operaciones de lectura o de escritura en una celda de memoria, se utilizan:
- El Registro de Dirección de Memoria (RDM).
- El Registro de Intercambio de Datos (RIM).
- El Selector de Memoria.
Jerarquía de la Memoria
La memoria se organiza en niveles dependiendo de:
- La capacidad.
- La velocidad.
- El acceso.
- El coste.