Introducción a la arquitectura de computadores Ingeniería del Software EUITI UPM Índice Descripción computador Hardware Estructura del computador Modelo de programación Registros del procesador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/salida Protección 1
Historia computadores Precedentes Sumadora de Pascal (S.XV) Tejedora de Jacquard Calculadora de Leibniz (S. XVII) Babagge (S. XIX) Hollerith (tarjetas perforadas) IBM 1944 MARK-1 calculador programable con clavijas ENIAC. Fichas perforadas para datos y programas, 17000 tubos de vacío 100KHz, 30 toneladas. 1946 Von Neumann EDVAC Aritmetica binaria Programa almacenado (arquitectura Von Neumann) Etapas Primera generación Tubo de vacío. Maquinas grandes pesadas, poco fiables. Segunda generación 1958, transistor. Lenguajes de alto nivel Tercera generación IBM 360 circuitos integrados Cobol y Fortran Cuarta generación Años 70. Memorias electrónicas, aparición microprocesador PC Quinta generación Años 90. SO con interfaz grafica. 2
Orígenes del PC 1981 IBM PC 8088 de 16 bits, 16Kb de memoria, max 64 en placa base y 256Kb max Cintas de cassete, luego disco 5 ¼ DE 180Kb y 360 Kb 1983 IBM PC-XT Disco duro de 10Mb 1984 IBM PC-AT Intel 286, bus ISA de 16 bits (antes eran de 8 bits) 20 Mb y disquetes de 5 ¼ de 1.2M Ordenador personal 286 y superiores (y clonicos) Arquitectura de Von Neumann Arquitectura Sistema binario Programa y datos almacenados Componentes Memoria principal E/S CPU ALU UC Buses Bus de datos Bus de direcciones Bus de control 3
Clasificación Monoprocesador Multiprocesador Multicomputador Clasificación POTENCIA (Coste) Consola, PDA, etc. Ordenador portátil Ordenador personal: Tiene una potencia de proceso similar a la de un ordenador portátil, la diferencia esta en su mayor volumen físico. Ambos suelen ser un lugar de trabajo típico de ofimática y están destinados a un solo usuario. Estación de trabajo: Ordenador de características similares a la del ordenador personal, pero con una potencia de cálculo superior. Es utilizado para trabajos técnicos y también está dirigido a un solo usuario. Servidor: Este tipo de ordenador está pensado para diversos usuarios y puede incluir diversos procesadores, tiene una memoria principal de gran dimensión y un disco duro de gran tamaño. Los usuarios suelen conectarse desde otros ordenadores por lo que no se hace necesaria una pantalla. Mainframe: Este es un ordenador de elevadas prestaciones con una capacidad de entradasalida muy elevada, que se destina sobretodo a aplicaciones técnicas, militares, gestion Superordenador: Ordenador con una potencia de cálculo muy elevada destinado sobre todo a aplicaciones técnicas. AMBITO Ordenadores de gestión (personal, mainframe) Ordenadores científicos (personal, estacion, superordenador) Ordenadores de control (personal industrial) Ordenadores de bases de datos (mainframe, servidor) Ordenadores de diseño, juegos y multimedia (personal, estacion) ESTRUCTURA INTERNA Procesador convencional: Ejecuta las instrucciones una detrás de otra Procesador con paralelismo interno: Externamente parece que ejecuta las instrucciones de manera secuencial, pero internamente puede realizar operaciones en paralelo. Procesador con paralelismo externo: Es el caso de los sistemas que incluyen diversos procesadores, como los servidores 4
Supercomputadores BlueGene (USA) IBM 32768 0,7GHz PowerPC (IBM) 70 Teraflops (trillones) Agencia de Seguridad Nuclear, biologicas, medicas Chip incluye 2 procesadores, uno de calculo y otro de comunicación con la memoria del chip Linux BlueGene eserver comercial Columbia (USA) NASA 10240 Itanium 2, 1.5Ghz, 6Mb cache 20 Superclusters de 512 procesadores, 1 Terabyte memoria por cluster Linux EarthSimulator NEC (Yokohama) MareNostrum (Barcelona) Acuerdo con IBM 3564 PowerPC 2,2Ghz Linux Bioinformatica, proteínas, astronomía Linpack test SuperComputacion PERSONAL 2011 5
Comparativa PC Torre (CPU) Monitores Teclado, ratón Otros Altavoces Impresoras Escáner Joystick Cámaras 6
PC Placa base 7
Placa base Microprocesador CPU Intel Pentium, AMD Velocidad en GHz Cache, FSB 8
Reloj del computador Tres conceptos: Oscilador Interrupcion periodica Contador fecha-hora Nº segundos desde 1 de enero de 1990 HW con bateria o software Tipos de Procesador CISC (años 60 a 80) Instrucciones, mas y mas sofisticadas Modos de direccionamiento Ventajas: Potencia para el desarrollo de aplicaciones Desventajas: Compiladores usaban 20% instrucciones 80% tiempo RISC (Patterson, 80) Programas mas largos y mas lentos CPU mas sencilla: rendimiento, coste, robustez T=I*M/F Cualquier instrucción nueva debe añadir 1% rendimiento 50-100 instrucciones, trabajo lo hace el compilador Instrucciones sencillas, con formato regular, un solo ciclo CISC: Intel x86, Motorola 68000. Mercado RISC: MIPS usados por SGI, Sparc, PowerPC (graficos, matematicas) Hibridos 9
Historia de los procesadores Intel 1971: 4004 Microprocessor 1972: 8008 Microprocessor 1974: 8080 Microprocessor (cerebro del primer PC) 1978: 8086-8088 Microprocessor (IBM-PC) 1982: 286 Microprocessor (backward compatible, 6 años 15millones de PC) 1985: Intel386 Microprocessor (32, multitasking) 1989: Intel486 DX CPU Microprocessor (Desktop, coprocesador matematico) 1993: Intel Pentium Processor (manejo de datos: voz, sonido, imágenes) 1995: Intel Pentium Pro Processor (servidores, CAD, cientifico, cache optimizada) 1997: Intel Pentium II Processor (0, 25 micras, MMX multimedia) 1998: Intel Pentium II Xeon Processor (servidores internet, automatizacion, multiprocesador 8) 1999: Intel Celeron Processor (bajo coste) 1999: Intel Pentium III Processor (0, 25 micras, instrucciones Interned streaming SIMD, reconocimiento voz, video) 1999: Intel Pentium III Xeon Processor 2000: Intel Pentium 4 Processor (0,18 0,13 micras velocidad eq. Vehiculo de costa a costa en 13 segundos) 2001: Intel Xeon Processor 2001: Intel Itanium Processor (64 bits) 2002: Intel Itanium 2 Processor 2003: Intel Pentium M Processor (+chipset, +network connection = Centrino) Procesadores Intel Name Date Transistors Microns Clock speed Data width MIPS 8080 1974 6,000 6 2 MHz 8 bits 0.64 8088 1979 29,000 3 5 MHz 16 bits 8-bit bus 80286 1982 134,000 1.5 6 MHz 16 bits 1 80386 1985 275,000 1.5 16 MHz 32 bits 5 80486 1989 1,200,000 1 25 MHz 32 bits 20 Pentium 1993 3,100,000 0.8 60 MHz 32 bits 100 Pentium II 1997 7,500,000 0.35 233 MHz 32 bits ~300 Pentium III 1999 9,500,000 0.25 450 MHz 32 bits ~510 Pentium 4 2000 42,000,000 0.18 1.5 GHz 32 bits ~1,700 0.33 Pentium 4 "Prescott" 2004 125,000,000 0.09 3.6 GHz 32 bits ~7,000 10
AMD Am486 Am5x86 K5-K6 Duron Athlon 32 bits 64 bits Mobile Sempron, opteron Turion Coprocesador Coprocesador matemático Coma flotante Primeros PC era opcional, separado 11
Memoria RAM Volatil 1 Kb= 2 10 bytes = 1.024 bytes = 1 kilobyte 1 Mb= 2 20 bytes = 1.048.576 bytes = 1 Megabyte 1 Gb = 2 30 bytes = 1.073.741.224 bytes = 1 Gigabyte 1 Tbyte= 2 40 bytes = 1 Terabyte Tipos Estatica SRAM (10ns cache) Dinamica DRAM (60ns- mem ppal) ROM PROM EPROM EEPROM BIOS - Pila BIOS= ROM, Flash Basic Input Output System Test hardware Salta al sector BOOT del disco duro, lo carga en RAM Ejecuta el boot 12
Buses del PC (ranuras de expansión) IDE (Integrated Driver Electronics) Discos duros, CD-ROM Principio permitia 40Mb Cable plano de 40 hilos Estandar ATA (AT attachment) ATAPI (ATA packet interface), CD-ROM Ultra ATA, Ultra DMA, DMA 33 Sustituido por S-ATA 2 unidades por puerto ISA (Industry Standard Architecture) Sonido, video, perifericos 8 a 16 bits y 8,33 Mhz, 8Mb/s EISA (Extended ISA) Ampliación a 32bits. Compatible con ISA (dos niveles), lento (8Mhz, 32Mb/s) PCI (Peripheral Component Interconnect) Desde años 90 por intel, 32 bits (64bits), Tambien usado por Mac Alta velocidad transferencia Plug & play Compartir IRQ entre tarjetas 33Mhz 66MHz, PCI bridge AGP (Accelerated Graphics Port) 32 bits, 66Mhz Muy alta transferencia de datos, 1 ranura (video) Intel, conexión directa entre monitor y memoria de video. Graficos 3D 1Gb/seg (4x) PCI Express (1-16x) 64 bits, 133Mhz Puertos del PC PS/2 Puerto Serie (UART) Puerto paralelo SCSI (Small Computer System Interface) Tarjeta adaptadora 15 perifericos en cadena, cableado simple Estaciones de trabajo, sistemas redundantes USB (Universal serial bus) Inicialmente: baja velocidad (teclados, raton, escaner) 127 dispositivos (plug & play) 480 Mb/seg (USB 2.0) Alimentacion de dispositivos de bajo consumo Integrados en Placa base FireWire (IEEE 1394) Alta velocidad (High Performance Software Bus) Plug & Play, camaras, almacenamiento. 400 Mb/seg, 67 dispositivos 13
Puertos del PC Comunicaciones Modems RDSI Adaptador a red de area local (LAN). ADSL (modem router externo) IrDA Corto alcance. PDA, movil, multimedia. Bluetooth Corto alcance, seguridad. Impresoras, PDA, movil. WiFi 802.11b (2.Ghz) 11Mbps 802.11g (2.Ghz) 54Mbps Chipset 14
Disco duro Herméticos, limpios 3,5 pulgadas 7 platillos, 14 cabezas Pistas, Cilindros Interfaz IDE- P-ATA SCSI S-ATA Acceso PIO DMA Disco duro 5400-7200 (10000) rpm Tiempo de acceso=busqueda+ latencia (mseg) Tiempo de lectura Se manejan bloques 15
Resumen Computador es un sistema complejo Distintas familias de procesadores, distintas tecnologías Distintas variantes dentro de las familias. VonNeumann Micro Subsistemas Buses Memoria Puertos Discos Velocidades inferiores al micro Protocolos diferentes 16