1. Repaso de Arquitectura y
Organización
Criterios de clasificación
v.2012
William Stallings, Organización y Arquitectura de Computadores
Andrew S. Tanenbaum, Organización de Computadoras
Linda Null y Julia Lobur, Computer Organization and Architecture
John Hennessy – David Patterson
Arquitectura de Computadores – Un enfoque cuantitativo
(1a edición, capítulos 1 a 5) (4th ed, ch 1 & ap. B)
2. 2
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 la clase
3. 3
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
COMPUTADORA
Dispositivo electrónico, digital y programable, utilizado para el
procesamiento y/o manipulación de información.
4. 4
Arquitectura de Computadoras
Bibliografía básica Arq I
Stallings Tanenbaum
Introducción 1-2 1
Números A A-B
Sistemas digitales 8 3
Von Neumann y buses 3 2-3
Repertorio de instrucciones 9-10 4-5
Memoria 4-5 2
Entrada/salida 6 2
Sistemas operativos 7 6
Arquitectura II 11-16 8
5. 5
Arquitectura de Computadoras
Arquitectura II
PRIMERA PARTE: PARALELISMO DENTRO DEL PROCESADOR
Arquitectura RISC, segmentación y sistema de caché
Procesadores superescalares y VLIW
DSP y GPU
SEGUNDA PARTE: PARALELISMO ENTRE PROCESADORES
Procesadores SIMD y Vectoriales
Arquitecturas MIMD
Clusters
Diferentes formas de paralelismo
6. 6
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
7. 7
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ÚN
Suponer que dos procesadores con idéntica ISA
se pueden comparar por su reloj
OTROS EJEMPLOS
Computadora óptica (cambiando Tec puedo mantener la ISA y ORG)
Computadora analógica (cambia ORG)
Computadora vectorial (cambia ISA y ORG)
Ejemplos
Aplicació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).
8. 8
Arquitectura de Computadoras
Prehistoria: arq de 8/16 bits
4004 (4-bit 640B) 1971
8008 (8-bit 16KB) 1972
8080 (8-bit 64KB) 1972
8086 (16-bit 16MB) 1978
8088 (8/16-bit) 1980
IBM PC
6800 (8-bit 64KB) 1973
68000 (16/32-bit 16MB) 1979
68008 (8/16-bit) 1982
Apple II/Mac Personal Computer
9. 9
Arquitectura de Computadoras
Historia: arq de 32 bits
Despué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)
11. 11
Capacidad de los discos rígidos para PC (en GB)
Crecimiento exponencial sostenido.
12. 12
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.
14. 14
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)
ORTOGONALIDAD
Todos los modos de direccionamiento y
todos los tipos de datos disponibles
para todas las instrucciones.
Gran ventaja para los compiladores.
15. 15
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
23. 23
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.
24. 24
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 INSTRUCCIONES
Tamaño de los programas
Implementación del procesador (ORG+TECH)
RISC vs CISC
(largo fijo vs.
variable)
25. 25
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 ...
27. 27
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
28. 28
Clasificación según la organización
El ciclo de instrucción
CAPTACION DE
LA INSTRUCCION
CAPTACION DE
LA INSTRUCCION
DECODIFICACION
DECODIFICACION
CAPTACION DEL
OPERANDO
CAPTACION DEL
OPERANDO
EJECUCION DE
LA INSTRUCCION
EJECUCION DE
LA INSTRUCCION
CALCULO DIR
DEL OPERANDO
CALCULO DIR
DEL OPERANDO
MEMORIA
MEMORIA
ALU
ALU
UC
F
D
CO
FO
E
29. 29
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
30. 30
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 PII
130 nm 2001 PIII
90 nm 2003 P4 y PPC
65 nm 2006 Core2, PS3
45 nm 2008 Xeon, PS3slim, Power7
32 nm 2010 Core i3 i5, AMD FX
22 nm 2012 Core i7
16 nm 2013? LIMITE? gate 5 nm tunneling
→
11 nm 2015? nanoelectrónica
180 nm 2000 PII
130 nm 2001 PIII
90 nm 2003 P4 y PPC
65 nm 2006 Core2, PS3
45 nm 2008 Xeon, PS3slim, Power7
32 nm 2010 Core i3 i5, AMD FX
22 nm 2012 Core i7
16 nm 2013? LIMITE? gate 5 nm tunneling
→
11 nm 2015? nanoelectrónica
31. 31
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)
32. 32
Arquitectura de Computadoras
Clasificación según la aplicación
Por 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.
33. 33
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
34. 34
Consolas de juego
4ta Generación 5ta Generación 6ta Generación 7ma Generación
Año 1990 1995 2000 2005
Bits 16b 32b 64b 128b
SEGA
NINTENDO
SONY
MICROSOFT
Soporte Cartridge CD DVD Bluray
Conectividad Ethernet WiFi
Equiv PII/PowerPC PIII/PIV/AMD K7 Core/ADM64
Sega Génesis
Motorola 68000
Sega Saturn
Hitachi SupeH RISC
Sega Dreamcast
Hitachi SuperH RISC
Super Nintendo
WDC W65C816
Nintendo 64
MIPS R4200
Nintendo Gamecube
POWER Gekko
Nintendo Wii
POWER Broadway
PlayStation
MIPS 3000
PlayStation II
Emotion Eng. (MIPS)
PlayStation III
POWER Cell
Xbox
Pentium III
Xbox 360
POWER Xenon
IBM POWER
Broadway 90nm 730MHz Gekko ??
Xenon 65nm 3.2GHz 3 PPE simétrico
Cell 45nm 3.2GHz 1 PPE + 7 SPE
36. 36
PRÁCTICA DE REPASO
Arquitecturas ARM
CLASIFICAR, SEGÚN LOS CRITERIOS EXPUESTOS, LOS PROCESADORES
ARM7, ARM7TDMI, ARM9, ARM11
ARM Cortex-A, 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)