1. Introducción a la Arquitectura de Computadoras M. Farias-Elinos Contenido Definiciones Estructura de una computadora Evolución de las computadoras Generaciones de computadoras Evolución de la família Intel x86 Esquema de una computadora Representación numérica Definiciones Arquitectura Son los atributos visibles para el programados: el Set de instrucciones, bits utilizados para la representación de datos, técnicas de direccionamiento, etc. Organización Es la implementación: Señales de control, interfaces, tecnología de la memoria, etc. Definiciones Estructura Es la forma en que los componentes se relacionan con otros Función Es la operación de componentes individuales como parte de la estructura Para una computadora son: Procesamiento de datos, Almacenamiento de datos, Desplazamiento de datos, Control Funcionalidad Desplazamiento de datos Almacenamiento de datos Procesamiento desde/hacia almacenamiento Procesamiento desde almacenamiento hacia I/O Estructura Periféricos Computadora Central Processing Unit Computadora Systems Interconnection Input Output Líneas de comunicación Main Memory Estructura CPU Computer Arithmetic and Login Unit Registers I/O System Bus Memory CPU Internal CPU Interconnection Control Unit El modelo de Von Neumann Evolución de las computadoras Métodos manuales Métodos mecánicos Dispositivos eléctricos Bulbos electrónicos Transistores Cirscuitos integrados 1ra. Generación MARK-I 1944 – 1959 Utilización de Bulbos 1,000 circuitos por ft3 Cintas perforadas 1ra computadora en Latinoamérica 2da. Generación PDP-8 1960 – 1964 100,000 circuitos por ft Utilización de transistores PDP-1 3ra. Generación 1964 – 1975 10 millones de circuitos por ft2 Circuitos integrados a escala DEC PDP-12 IBM System/360 4ta. Generación SunFire 15k 1975 - ???? billones de circuitos por ft3 Circuitos integrados a gran escala Incremento de la reducción Cray-YMP HP Apollo Evolución de la familia Intel x86 4004 1er. Microprocesador 4 bits 108 Khz Año 1969 2,300 transistores Evolución de la familia Intel x86 8008 8 bits Aplicaciones específicas 200 Khz Año 1972 3,500 transistores Evolución de la familia Intel x86 8080 1er. Microprocesador de propósito general 8 bits Utilizado en la Altair 2 Mhz Año 1974 6,000 transistores Evolución de la familia Intel x86 8086/8088 16 bits internos 8 bits externos (8088) Cache de instrucciones 1ra. PC (8088) De 4.47 a 8 Mhz Hasta 1 MB de RAM Año 1978 (8086) Ano 1981 (8088) 29,000 transistores Evolución de la familia Intel x86 80286 16 bits Hasta 16 MB de RAM De 10 a 16 Mhz Año 1982 134,000 transistores Evolución de la familia Intel x86 80386 32 bits Soporte a multitasking De 16 a 33 Mhz Hasta 4 GB de RAM Año 1985 275,000 transistores Evolución de la familia Intel x86 80486 (i486) Cache de datos e instrucciones 32 bits Pipelining Co-procesador matemático De 20 a 100 Mhz Hasta 4 GB de RAM Año 1989 1,200,000 de transistores Evolución de la familia Intel x86 Pentium (80586) Superescalar Instrucciones ejecutandose en paralelo 32 bits de direcciones 64 bits de datos De 60 a 200 Mhz Hasta 4 GB de RAM Año 1993 3,300,000 de transistores Evolución de la familia Intel x86 Pentium Pro Predicción de instrucciones Análisis de flujo de datos 36 bits de direccionamiento 64 bits de datos De 133 a 200 MHz Año 1995 5,500,000 de transistores Evolución de la familia Intel x86 Pentium II Tecnología MMX 36 bits de direcciones 64 bits de datos De 233 a 450 Mhz Año 1997 Procesamiento de audio, video y gráficas 7,400,000 de transistores Evolución de la familia Intel x86 Pentium III Intrucciones de punto flotante para 3D 36 bits de direcciones 64 bits de datos De 450 Mhz a 1.3 GHz Año 1999 Arriba de los 9,500,000 transistores Evolución de la familia Intel x86 Pentium 4 Mejoras en instrucciones de punto flotante 36 bits de direccionamiento 64 bits de datos Mejoras en manejo de multimedia HyperThreading (HT) De 1.4 a 3.2 Ghz Año 2000 Esquema de una computadora Representación numérica Humana Decimal 0,1,2,3,4,5,6,7,8,9 Computadora Binaria 0,1 Digital (dígito), bit Simple Representación de enteros Representación de enteros Representación de enteros Byte Conjunto de 8 bits 256 combinaciones Representar números positivos y negativos Formas de representación Magnitud con signo Complemento a uno Complemento a dos Magnitud con signo MBS utilizado como signo (0 positivo, 1 negativo) Ejemplo: +2510 = 000110012 -2510 = 100110012 Doble cero +010 = 000000002 y -010 = 100000002 Valor máximo de +12710, valor mínimo de -12710 Complemento a uno MBS utilizado como signo (0 positivo, 1 negativo), sustituir 0's por 1's y 1's por 0's Ejemplo: +2510 = 000110012 -2510 = 111001102 Doble cero +010 = 000000002 y -010 = 111111112 Valor máximo de +12710, valor mínimo de -12710 Complemento a dos MBS utilizado como signo (0 positivo, 1 negativo), sustituir 0's por 1's y 1's por 0's, y sumar 1 Ejemplo: +2510 = 000110012 -2510 = 111001112 Único cero +010 = 000000002 y -010 = 000000002 Valor máximo de +12710, valor mínimo de -12810 Código de caracteres ASCII Código de caracteres Unicode