1
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
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
microprocesadorPC
Quinta generación
3
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
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 entrada-salida 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
5
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
Comparativa
PC
Torre (CPU)
Monitores
Teclado, ratón
Otros
– Altavoces
– Impresoras
– Escáner
– Joystick
– Cámaras
7
PC
Placa base
Microprocesador
CPU
Intel Pentium, AMD
Velocidad en GHz
9
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)
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 0.33 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 Pentium 4
11
AMD
Am486
Am5x86
K5-K6
Duron
Athlon
– 32 bits
– 64 bits
– Mobile
Sempron, opteron
Turion
Coprocesador
Coprocesador matemático
– Coma flotante
Memoria
RAM
– Volatil
– 1 Kb= 2
10bytes = 1.024 bytes = 1 kilobyte
– 1 Mb= 2
20bytes = 1.048.576 bytes = 1 Megabyte
– 1 Gb = 2
30bytes = 1.073.741.224 bytes = 1 Gigabyte
– 1 Tbyte= 2
40bytes = 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
13
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 – 33Mhz66MHz, 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
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