Tema 1: Introducción a Estructura de Computadores Conceptos básicos y visión histórica
Programa de Teoría Introducción. Lenguaje Máquina. Lenguaje Ensamblador. Ruta de Datos y Unidad de Control. Unidad Aritmético-Lógica (ALU). Sistema de Entrada-Salida. Memoria.
Arquitectura de von Neumann Contenido ¿Qué es un computador? Descripción funcional: Arquitectura de von Neumann Orígenes y evolución histórica. Parámetros característicos de un computador.
¿Qué es un computador? Concepto de computador Máquina de estados finitos: FSM Arquitectura von Neumann Ruta de datos Unidad de Control Memoria de programa y datos
FSM + Datapath
Arquitectura von Neumann Ruta de datos Responsable de realizar cálculos Registros, unidades funcionales, unidades de interconexión Unidad de control Responsable de ordenar cálculos Secuenciador, registros, pilas... Memoria de programa y datos
Estructura de un computador Salida Procesador Unidad de Control Ruta de datos Aritmético- Lógica Memoria Entrada Computador
Ruta de datos Unidades funcionales Registros de la ruta de datos Realizan operaciones aritméticas y/o lógicas ALUs, desplazadores, multiplicadores Registros de la ruta de datos Almacenan resultados temporales Unidades de interconexión Multiplexores y/o buses
Unidad de Control Contador de programa Registro de instrucción Dirección de la instrucción en curso Se incrementa en cada ciclo Registro de instrucción Código de la instrucción en curso Secuenciador Genera señales para cada instrucción Actualiza el Contador de Programa
Secuenciador Captación de la instrucción Leer dirección del Contador de Programa Incrementar el Contador de Programa Decodificación de la instrucción Ejecución de la instrucción Captura de operandos Operación Escritura de resultados
Ejemplo de procesador
Necesidad de cómputo Antecedentes históricos Ábaco Máquina de Pascal (1642). Suma Máquina de Leibniz (fin s. XVII). Multiplica y divide Telar de Jacquard (med. XVIII) Tarjetas perforadas
El ábaco
La pascalina
La máquina de calcular de Leibniz
Telar de Jacquard
La era moderna Computadores mecánicos Charles Babbage: Máquina diferencial. Calcular tablas de artillería. Máquina analítica. Programable, con E/S, memoria, unidad de cálculo Computadores eléctricos Clasificadora de Höllerith (1886): Primer ordenador eléctrico
Charles Babbage Máquina de diferencias
Charles Babbage Ada Lovelace Máquina analítica
Clasificadora de Höllerith
Computadores electromecánicos Zuse (1941) primer computador de relés Howard Aiken (IBM) Mark I, II, III y IV (1943-52)
Electromecánicos: Mark I Howard Aiken: “Si Babbage hubiera nacido en el siglo XX nos habríamos quedado sin trabajo”
Computadores electrónicos 1ª generación: Válvula de vacío ENIAC (1945-55), Eckert & Mauchly John von Neumann: EDVAC (1945) Bases de la arquitectura de computadores moderna EDSAC (Wilkes,1949): programa almacenado y coma flotante UNIVAC I (1951): computador fabricado en serie
Electrónicos (válvulas): ENIAC John Mauchly John P. Eckert
Computadores electrónicos 2ª generación: El transistor 1946: los laboratorios Bell inventan el transistor Leprechaun, 1956: primer computador basado en transistores Burroughs B5000: primer ordenador de estructura de pila IBM Stretch, IBM 1410, PDP-1 (DEC), UNIVAC 1100
El transistor: 2ª generación / Shockley Bardain Brattain
Electrónica integrada 3ª generación: Circuito Integrado J. Kilby inventa el circuito integrado en 1958 Inicialmente, es un chip con algunos transistores (SSI) A finales de los 60, ya son cientos de transistores (MSI) 1975, decenas de miles de transistores en un chip (LSI) Grandes familias de computadores Burroughs B2500, IBM 360, CDC 6500, PDP 5, UNIVAC 1108
Circuito integrado: 3ª generación Jack Kilby
El microprocesador (4004)
¿4ª generación? El Microprocesador Intel 4004: primer microprocesador comercial Aparecen los lenguajes de programación de alto nivel
Parámetros característicos Tamaño de palabra Frecuencia de reloj Medidas de rendimiento MIPS, MFLOPS Pruebas sintéticas: SPECint, SPECfp
Conceptos importantes Estructura de un computador Descomposición funcional Fundamentos de la ejecución de un programa Evolución tecnológica Parámetros característicos y evaluación del rendimiento