Repaso de Arquitectura y Organización
Criterios de clasificaciónv.2014
William Stallings, Organización y Arquitectura de Computadores, 8ª ed, 2010Andrew S. Tanenbaum, Organización de Computadoras, 4ª ed, 2000
John Hennessy – David PattersonArquitectura de Computadores – Un enfoque cuantitativo
(1ª ed, 1990, cap 1 a 5) (4ª ed, 2007, cap 1 & ap. B)
http://electro.fisica.unlp.edu.ar/arq/
Ingeniería en Computación E3093º CUAT Conceptos de Arquitectura de Computadoras (INFO)5º CUAT Introducción al Diseño Lógico6º CUAT Taller de Arquitectura7º CUAT Circuitos Digitales y Microcontroladores
Ingeniería Electrónica E2267º CUAT Introducción a los Sistemas Lógicos y Digitales8º CUAT Circuitos Digitales y Microprocesadores9º CUAT Arquitectura de Computadores I
4
Introducción, repaso de Arquitectura I, bibliografía.
Definición de Arquitectura de Computadoras.
Prehistoria e historia de las computadoras.
Clasificación según el repertorio de instrucciones.
Clasificación según la organización.
Clasificación según la tecnología.
Clasificación según la aplicación.
Objetivos de la materia.
Arquitectura de Computadoras
Contenido de las clases intoductorias
5
Representación digital de la información. Sistemas numéricos posicionales en base 2. Operaciones aritméticas implementadas con lógica. Otros tipos de información.
El programa almacenado. Arquitectura de von Neumann. Tipos de instrucciones. Codificación ISA.
Organización mínima. Datapath (REG y ALU) + UC. Buses.
Programas y algoritmos. Re-programabilidad vs. sistemas dedicados. Hardware vs. software.
El ciclo de instrucción. Interrupciones. Sistema de entrada/salida.
La jerarquía de memoria. Localidad. MMU. Cache.
Programación de alto nivel y sistemas operativos.
Arquitectura de Computadoras
Introducción
COMPUTADORADispositivo electrónico, digital y programable, utilizado para el
procesamiento y/o manipulación de información.
6
Arquitectura de Computadoras
Bibliografía básica Arq I
Stallings Tanenbaum NullIntroducción 1-2 1 1Números A A-B 2Sistemas digitales 8 3 3Von Neumann y buses 3 2-3 4Repertorio de instrucciones 9-10 4-5 5Memoria 4-5 2 6Entrada/salida 6 2 7Sistemas operativos 7 6 8Arquitectura II 11-16 8 9-10
7
Arquitectura de Computadoras
Arquitectura II
PRIMERA PARTE: PARALELISMO DENTRO DEL PROCESADORArquitectura RISC, segmentación y sistema de caché
Procesadores superescalares y VLIWDSP y GPU
SEGUNDA PARTE: PARALELISMO ENTRE PROCESADORESProcesadores SIMD y Vectoriales
Arquitecturas MIMDClusters
Diferentes formas de paralelismo
8
LÓGICA (Software?)
ISA (INSTRUCTION SET ARCHITECTURE): Diseño a nivel del lenguaje de máquina, visible para el programador o compilador. Repertorio de instrucciones, registros, tipo y tamaño de operandos, modos de direccionamiento.
IMPLEMENTACIÓN (Hardware?)
ORGANIZACIÓN: Estructura del bus, diseño CPU, sistema de memoria, cache, ciclo de instrucción.
TECNOLOGÍA: Diseño lógico, integración, encapsulado, potencia.
Arquitectura de Computadoras
Definición
“La arquitectura de computadoras, como otras arquitecturas, es el arte de determinar las necesidades del usuario de una estructura y luego diseñarla para satisfacer dichas necesidades tan eficientemente como sea posible dentro de ciertas limitaciones económicas y tecnológicas.” Frederick P. Brooks, IBM, 1962.
Diseño de computadoras
9
Procesadores Intel Dos procesadores con idéntica ISA pero diferente ORG: Celeron y
Celeron D.
Dos procesadores con idénticas ISA y ORG, pero diferente tecnología: Celeron 1GHz y Celeron 2.8GHz.
Dos procesadores con diferentes ISA, ORG y Tecnología: Celeron e Itanium.
ERROR COMÚNSuponer que dos procesadores con idéntica ISA
se pueden comparar por su reloj
OTROS EJEMPLOSComputadora óptica (cambiando Tec puedo mantener la ISA y ORG)
Computadora analógica (cambia ORG)Computadora vectorial (cambia ISA y ORG)
EjemplosAplicación de procesamiento de señales:La ARQUITECTURA, dispone de MAC, MUL o nada? (ISA); cuántos ciclos demora? (ORG); cuál es la frecuencia de trabajo/consumo de potencia? (TEC).
10
Arquitectura de Computadoras
Prehistoria: arq de 8/16 bits
4004 (4-bit 640B) 19718008 (8-bit 16KB) 19728080 (8-bit 64KB) 1972
8086 (16-bit 16MB) 19788088 (8/16-bit) 1980
IBM PC
6800 (8-bit 64KB) 197368000 (16/32-bit 16MB) 1979
68008 (8/16-bit) 1982
Apple II/Mac Personal Computer
11
Arquitectura de Computadoras
Historia: arq de 32 bitsDespués de 30 años de existencia de las computadoras y 10 de los microprocesadores [Null, Cap 1], se produce un renacimiento de la Arquitectura en la década del 80, principalmente por dos motivos:
LENGUAJES DE ALTO NIVEL: Desaparece la programación en assembler, por lo tanto no es necesaria la compatibilidad de código objeto.
SISTEMAS OPERATIVOS: Se reducen el costo y el riesgo de lanzar al mercado una nueva arquitectura.
Nacimiento de las nuevas Arquitecturas RISC:
− ILP (pipeline + superescalares)
− CACHE
Crecimiento sostenido durante 20 años (ley de Moore)
12
Arquitectura de Computadoras
Historia: arq de 32 bitsDespués de 30 años de existencia de las computadoras y 10 de los microprocesadores [Null, Cap 1], se produce un renacimiento de la Arquitectura en la década del 80, principalmente por dos motivos:
LENGUAJES DE ALTO NIVEL: Desaparece la programación en assembler, por lo tanto no es necesaria la compatibilidad de código objeto.
SISTEMAS OPERATIVOS: Se reducen el costo y el riesgo de lanzar al mercado una nueva arquitectura.
Nacimiento de las nuevas Arquitecturas RISC:
− ILP (pipeline + superescalares)
− CACHE
Crecimiento sostenido durante 20 años (ley de Moore)
13
Número de transistores por integrado.Duplica cada dos años, crecimiento exponencial sostenido.
14
Capacidad de los discos rígidos para PC (en GB)Crecimiento exponencial sostenido.
15
Performance relativa a VAX-11 (1978)Crecimiento exponencial sostenido (19862002). Luego desaceleración (a pesar de
que tanto la densidad de transistores como el resto de las tecnologías acompañaron).El aumento del número de transistores no repercute directamente en la performance. Depende de los avances en ARQUITECTURA, tanto en hardware como en software.
16
Arquitectura de Computadoras
Clasificaciones
Según la arquitectura del repertorio de instrucciones (ISA)
Según la organización
Según la tecnología
Según la aplicación
17
1. Clase: Número y almacenamiento de operandos. Además de memoria, dónde? Utilización de registros.
2. Direccionamiento de memoria. Byte ordering (endianness). Alineación.
3. Modos de direccionamiento. Cantidad. Puede cualquiera de los operandos estar en memoria?
4. Tipo y tamaño de los operandos.
5. Tipos y variedad de operaciones.
6. Control de flujo.
7. Codificación del repertorio de instrucciones.
8. Interrupciones y modos privilegiados (user, supervisor,protected).
Arquitectura de Computadoras
Clasificación a nivel lenguaje de máquina (ISA)
ORTOGONALIDADTodos los modos de direccionamiento y
todos los tipos de datos disponibles para todas las instrucciones.
Gran ventaja para los compiladores.
18
Clasificación a nivel lenguaje de máquina
Almacenamiento de operandos
TAXONOMÍA DE PATTERSON: PILA, ACC, R-M, R-R, M-M
Add A,B,C
19
Clasificación a nivel lenguaje de máquina
Número de operandos
20
21
M3 = M1 + M2
Bn = (An + An1)/2
MM
RR
RM
Arquitectura Memoria-Memoria
Arquitectura Registro-Memoria
Arquitectura Registro-Registro
Suma de dos enteros
Filtro en punto fijo
EJEMPLO: Velocidad vs. Densidad de código
Analizaremos el impacto de dos problemas diferentes:
Sobre tres arquitecturas diferentes:
22
ADD M1,M2,M3
LOAD R1,M1 (4c)ADD R1,M2 (5c)STORE R1,M3 (4c)
LOAD R1,M1 (4c)LOAD R2,M2 (4c)ADD R1,R2,R3 (3c)STORE R3,M3 (4c)
FDCO1TR1C02TR2ECO3TR3 = 9c
LOAD: FDCOTR = 4c
ADD: FDE = 3c
ADD: FDCOTRE = 5c
MM
RR
RM
13c
M3 = M1 + M2
15c
9c
LOAD: FDCOTR = 4c
23
ADD M1,M2,M3
LOAD R1,M1 (4c)ADD R1,M2 (5c)STORE R1,M3 (4c)
LOAD R1,M1 (4c)LOAD R2,M2 (4c)ADD R1,R2,R3 (3c)STORE R3,M3 (4c)
FDCO1TR1C02TR2ECO3TR3 = 9c
LOAD: FDCOTR = 4c
ADD: FDE = 3c
ADD: FDCOTRE = 5c
MM
RR
RM
13c
M3 = M1 + M2
15c
9c
LOAD: FDCOTR = 4c
Bn = (An + An1)/2
ADD An,An1,BnDIV Bn,#2,Bn
18c
LOAD R1,An1 (4c)ADD R1,An (5c)DIV R1,#2 (5c)STORE R1,Bn (4c)
18c
LOAD R1,An (4c)ADD R1,R2,R3 (3c)DIV R3,#2,R3 (3c)STORE R3,Bn (4c)ADD R1,#0,R2 (3c)
17c
MM
RM
RR
24
ADD M1,M2,M3
LOAD R1,M1 (4c)ADD R1,M2 (5c)STORE R1,M3 (4c)
LOAD R1,M1 (4c)LOAD R2,M2 (4c)ADD R1,R2,R3 (3c)STORE R3,M3 (4c)
FDCO1TR1C02TR2ECO3TR3 = 9c
LOAD: FDCOTR = 4c
ADD: FDE = 3c
ADD: FDCOTRE = 5c
MM
RR
RM
13c
M3 = M1 + M2
15c
9c
LOAD: FDCOTR = 4c
Bn = (An + An1)/2
ADD An,An1,BnDIV Bn,#2,Bn
18c
LOAD R1,An1 (4c)ADD R1,An (5c)DIV R1,#2 (5c)STORE R1,Bn (4c)
18c
LOAD R1,An (4c)ADD R1,R2,R3 (3c)DIV R3,#2,R3 (3c)STORE R3,Bn (4c)ADD R1,#0,R2 (3c)
17c
MM
RM
RR
1
3
4
1
2
2.5
25
Clasificación a nivel lenguaje de máquina
Modos de direccionamiento
26
Clasificación a nivel lenguaje de máquina
Repertorio de instrucciones
Todas las arquitecturas disponen de un repertorio compuesto al menos por las tres primeras categorías.
27
Clasificación a nivel lenguaje de máquina
Tipo y tamaño de operandos
Arquitecturas con operandos de 8, 16, 32 o 64 bits.
Operandos enteros y/o punto flotante (simple y doble precisión).
CODIFICACIÓN DEL SET DE INSTRUCCIONESTamaño de los programas
Implementación del procesador (ORG+TECH)
RISC vs CISC(largo fijo vs.
variable)
28
Estructura interna de la CPU La unidad de control (microprogramada vs. cableada) El camino de los datos (Datapath = Registros + ALU) El ciclo de instrucción, segmentación Escalaridad Cache de datos e instrucciones CPI, latencia Productividad (throughput)
Arquitectura de Computadoras
Clasificación según la organización
… PARALELISMO ...
29
Clasificación según la organización
CU & Datapath
30
Para llevar a cabo el ciclo de instrucción (CAPTACION-DECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita registros de almacenamiento temporario.Registros visibles
a) Usos generales: pueden utilizarse en cualquier operación.
b) Uso específico: para datos o direcciones (ej. puntero de segmento).
Registros de control
PC (puntero), IR (instrucción), MAR (dirección) y MBR (datos)Registros de estado
PSW (program status word)
Clasificación según la organización
Registros
31
Para llevar a cabo el ciclo de instrucción (CAPTACION-DECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita registros de almacenamiento temporario.Registros visibles
a) Usos generales: pueden utilizarse en cualquier operación.
b) Uso específico: para datos o direcciones (ej. puntero de segmento).
Registros de control
PC (puntero), IR (instrucción), MAR (dirección) y MBR (datos)Registros de estado
PSW (program status word)
Clasificación según la organización
Registros
32
Clasificación según la organización
El ciclo de instrucción
CAPTACION DELA INSTRUCCION
CAPTACION DELA INSTRUCCION
DECODIFICACIONDECODIFICACION
CAPTACION DELOPERANDO
CAPTACION DELOPERANDO
EJECUCION DELA INSTRUCCION
EJECUCION DELA INSTRUCCION
CALCULO DIRDEL OPERANDO
CALCULO DIRDEL OPERANDO
MEMORIA
MEMORIA
ALU
ALU
UC
F
D
CO
FO
E
33
Tecnologías que condicionan el diseño de la ISA:
Circuitos integrados (densidad de transistores 55%/año) DRAM semiconductora (densidad celdas 40-60%/año) Discos magnéticos (capacidad 100%/año) Networking (ancho de banda 100%/año)
La ISA debe sobrevivir a lo largo de ciclos de 5 años (2 de diseño + 3-2 de producción).
Arquitectura de Computadoras
Clasificación según la TECNOLOGÍA
34
Tecnología del proceso CMOS (½ celda DRAM, expected average half-pitch of a memory cell).
Un elemento más pequeño implica mayor cantidad de transistores disponibles, conmutación más rápida, menor energía y menor temperatura.
Tecnología de integración
180 nm 2000 PII130 nm 2001 PIII90 nm 2003 P4 y PPC65 nm 2006 Core2, PS345 nm 2008 Xeon, PS3slim, Power732 nm 2010 Core i3 i5, AMD FX22 nm 2012 Core i714 nm 2014? LIMITE? gate 5 nm tunneling→10 nm 2015? nanoelectrónica
180 nm 2000 PII130 nm 2001 PIII90 nm 2003 P4 y PPC65 nm 2006 Core2, PS345 nm 2008 Xeon, PS3slim, Power732 nm 2010 Core i3 i5, AMD FX22 nm 2012 Core i714 nm 2014? LIMITE? gate 5 nm tunneling→10 nm 2015? nanoelectrónica
35
Límites al tamaño del intregrado: Potencia (max ~70W)Yield del waffer (cuántos fallan)Encapsulado (número de patas)
Condiciona la cantidad disponible de transistores. Compromiso entre:CU (cantidad de instrucciones y modos
de direccionamiento)Registros (cantidad y tamaño)ALU (funcionalidad, fp?)CACHE
Tecnología de integración (cont)
36
37
38
Arquitectura de Computadoras
Clasificación según la aplicaciónPor qué existen arquitecturas tan diferentes? Cuál es mejor?
DISCUSIÓN: Equivalente con la industria automotriz.
Diseño de alto rendimiento
SERVERS ($5K) [cómputo masivo, gráficos]
Availability, reliability, scalability, throughput.
Diseño de bajo costo
EMBEDDED SYSTEMS ($50) [consolas, switches]
Minimización de memoria y potencia.
Diseño costo/rendimiento
DESKTOP ($500) [debe incluir sw!]
Marketing vs. rendimiento, información incompleta o vaga, medidas inapropiadas, recurrir a la popularidad.
39
Móvil: ARM
– Celulares y reproductores multimedia
– Consolas de mano
– Tablets y PDA
Desktop: Intel/AMD
– PC, laptop.
High Performance: IBM POWER
– Servidores para cálculo masivo
– Consolas de juego de 7ª generación
40
Consolas de juego4ta Generación 5ta Generación 6ta Generación 7ma Generación 8va Generación
Año 1990 1995 2000 2005 2013Bits 16b 32b 64b 128b 64b
SEGA
NINTENDO
SONY
MICROSOFT
Soporte Cartridge CD DVD Bluray Bluray/InternetConectividad Ethernet WiFi Gigabit EthernetPC Equiv PII/PowerPC PIII/PIV/AMD K7 Core/ADM64 Athlon
Sega GénesisMotorola 68000
Sega SaturnHitachi SupeH RISC
Sega DreamcastHitachi SuperH RISC
Super NintendoWDC W65C816
Nintendo 64MIPS R4200
Nintendo GamecubePOWER Gekko
Nintendo WiiPOWER Broadway
Nintendo Wii UPOWER7
PlayStationMIPS 3000
PlayStation IIEmotion Eng. (MIPS)
PlayStation IIIPOWER Cell
PlayStation 4AMD Jaguar x86-64 AMD Radeon
XboxPentium III
Xbox 360POWER Xenon
Xbox OneAMD Jaguar x86-64 AMD Radeon
IBM POWERBroadway 90nm 730MHz Gekko ??Xenon 65nm 3.2GHz 3 PPE simétricoCell 45nm 3.2GHz 1 PPE + 7 SPE
41
Arquitectura de Computadoras
RESÚMEN
Arquitecturade
computadoras
DISEÑO DEL REPERTORIO DE INSTRUCCIONES (ISA)
Implementación
ORGANIZACION TECNOLOGIA
SW
HW
42
PRÁCTICA DE REPASO
Arquitecturas ARM
CLASIFICAR, SEGÚN LOS CRITERIOS EXPUESTOS, LOS PROCESADORESARM7, ARM7TDMI, ARM9, ARM11
ARM Cortex-A7/8/9/15, ARM Cortex-M0/1/3/4, ARM Cortex-R
Resumen de los repertorios de instrucciones de los diferentes Cortex-M y datapath del ARM7 (Wikipedia)
45
EJEMPLO: “Smart Phones”
ARM CortexQuad-core 1.2 GHz / Dual-core 1.7 GHz
46
Moto G $200Chipset Qualcomm MSM8226 Snapdragon 400CPU Quad-core 1.2 GHz Cortex-A7GPU Adreno 305 (450 MHz)28 nm
Moto X $300Chipset Qualcomm MSM8960Pro Snapdragon S4 ProCPU Dual-core 1.7 GHz Krait 300 (Cortex-A15)GPU Adreno 320 (400 MHz)28 nm
NotaEl procesador Cortex-A15 ocupa cuatro veces el area y presenta el doble de performance que el Cortex-A7.http://www.eetimes.com/author.asp?section_id=36&doc_id=1318968
Quad-core 1.2 GHz / Dual-core 1.7 GHz
47
Quad-core 1.2 GHz / Dual-core 1.7 GHz
48
Quad-core 1.2 GHz / Dual-core 1.7 GHz
49
OTRO EJEMPLO
Apple A5X SoC2 ARM Cortex-A9 cores and 4 GPU cores
nVidia Tegra 3 SoC4 ARM Cortex-A9 cores and 12 GPU cores
Apple dice que el suyo es “More powerful”
http://geeknizer.com/ipad-a5x-vs-tegra-3/
50
AGOSTO 2014http://m.v3.co.uk/v3-uk/news/2359539/ibm-unveils-brain-inspired-truenorth-chip-with-supercomputer-power