descargar

Transcripción

descargar
Repaso de Arquitectura y
Organización
Criterios de clasificación
v.2014
William Stallings, Organización y Arquitectura de Computadores, 8ª ed, 2010
Andrew S. Tanenbaum, Organización de Computadoras, 4ª ed, 2000
John Hennessy – David Patterson
Arquitectura 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 E309
3º CUAT Conceptos de Arquitectura de Computadoras (INFO)
5º CUAT Introducción al Diseño Lógico
6º CUAT Taller de Arquitectura
7º CUAT Circuitos Digitales y Microcontroladores
Ingeniería Electrónica E226
7º CUAT Introducción a los Sistemas Lógicos y Digitales
8º CUAT Circuitos Digitales y Microprocesadores
9º CUAT Arquitectura de Computadores I
Arquitectura de Computadoras
Contenido de las clases
intoductorias

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.
4
Arquitectura de Computadoras
Introducción
COMPUTADORA
Dispositivo electrónico, digital y programable, utilizado para el
procesamiento y/o manipulación de información.

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.
5
Arquitectura de Computadoras
Bibliografía básica Arq I
Introducción
Números
Sistemas digitales
Von Neumann y buses
Repertorio de instrucciones
Memoria
Entrada/salida
Sistemas operativos
Arquitectura II
Stallings
1-2
A
8
3
9-10
4-5
6
7
11-16
Tanenbaum
1
A-B
3
2-3
4-5
2
2
6
8
Null
1
2
3
4
5
6
7
8
9-10
6
Arquitectura de Computadoras
Arquitectura II
Diferentes formas de paralelismo
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
7
Arquitectura de Computadoras
Definición
Diseño de computadoras
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.
“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.
8
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).
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)
9
Computadora vectorial (cambia ISA y ORG)
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
6800 (8-bit 64KB) 1973
68000 (16/32-bit 16MB) 1979
68008 (8/16-bit) 1982
IBM PC
Apple II/Mac Personal Computer
10
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
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)
12
Número de transistores por integrado.
Duplica cada dos años, crecimiento exponencial sostenido.
13
Capacidad de los discos rígidos para PC (en GB)
Crecimiento exponencial sostenido.
14
Performance relativa a VAX-11 (1978)
Crecimiento exponencial sostenido (1986­2002). 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. 15
Depende de los avances en ARQUITECTURA, tanto en hardware como en software.
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
16
Arquitectura de Computadoras
Clasificación a nivel lenguaje de
máquina (ISA)
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.
ORTOGONALIDAD
Todos los modos de direccionamiento y
todos los tipos de datos disponibles
para todas las instrucciones.
Gran ventaja para los compiladores.
7. Codificación del repertorio de instrucciones.
17
8. Interrupciones y modos privilegiados (user, supervisor,protected).
Clasificación a nivel lenguaje de máquina
Almacenamiento de operandos
Add A,B,C
TAXONOMÍA DE PATTERSON: PILA, ACC, R-M, R-R, M-M
18
Clasificación a nivel lenguaje de máquina
Número de operandos
19
20
EJEMPLO: Velocidad vs. Densidad de código
Analizaremos el impacto de dos problemas diferentes:
M3 = M1 + M2
Bn = (An + An­1)/2
Suma de dos enteros
Filtro en punto fijo
Sobre tres arquitecturas diferentes:
MM
Arquitectura Memoria-Memoria
RM
Arquitectura Registro-Memoria
RR
Arquitectura Registro-Registro
21
M3 = M1 + M2
MM
ADD M1,M2,M3
9c
F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c
RM
LOAD R1,M1
ADD R1,M2
STORE R1,M3
(4c)
(5c)
(4c)
LOAD: F­D­CO­TR = 4c
13c
ADD: F­D­CO­TR­E = 5c
RR
LOAD R1,M1
LOAD R2,M2
ADD R1,R2,R3
STORE R3,M3
(4c)
(4c)
(3c)
(4c)
15c
LOAD: F­D­CO­TR = 4c
ADD: F­D­E = 3c
22
M3 = M1 + M2
Bn = (An + An­1)/2
MM
ADD M1,M2,M3
9c
MM
ADD An,An­1,Bn
DIV Bn,#2,Bn
18c
F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c
RM
LOAD R1,M1
ADD R1,M2
STORE R1,M3
(4c)
(5c)
(4c)
13c
LOAD: F­D­CO­TR = 4c
RM
LOAD R1,An­1
ADD R1,An
DIV R1,#2
STORE R1,Bn
(4c)
(5c)
(5c)
(4c)
18c
ADD: F­D­CO­TR­E = 5c
RR
LOAD R1,M1
LOAD R2,M2
ADD R1,R2,R3
STORE R3,M3
(4c)
(4c)
(3c)
(4c)
LOAD: F­D­CO­TR = 4c
ADD: F­D­E = 3c
15c
RR
LOAD R1,An
ADD R1,R2,R3
DIV R3,#2,R3
STORE R3,Bn
ADD R1,#0,R2
(4c)
(3c)
(3c)
(4c)
(3c)
17c
23
M3 = M1 + M2
Bn = (An + An­1)/2
MM
1
ADD M1,M2,M3
9c
MM
ADD An,An­1,Bn
DIV Bn,#2,Bn
18c
1
F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c
RM
3
LOAD R1,M1
ADD R1,M2
STORE R1,M3
(4c)
(5c)
(4c)
13c
LOAD: F­D­CO­TR = 4c
RM
LOAD R1,An­1
ADD R1,An
DIV R1,#2
STORE R1,Bn
(4c)
(5c)
(5c)
(4c)
18c
2
ADD: F­D­CO­TR­E = 5c
RR
4
LOAD R1,M1
LOAD R2,M2
ADD R1,R2,R3
STORE R3,M3
(4c)
(4c)
(3c)
(4c)
LOAD: F­D­CO­TR = 4c
ADD: F­D­E = 3c
15c
RR
LOAD R1,An
ADD R1,R2,R3
DIV R3,#2,R3
STORE R3,Bn
ADD R1,#0,R2
(4c)
(3c)
(3c)
(4c)
(3c)
17c
2.5
24
Clasificación a nivel lenguaje de máquina
Modos de direccionamiento
25
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.
26
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).

RISC vs CISC
(largo fijo vs.
variable)
CODIFICACIÓN DEL SET DE INSTRUCCIONES
Tamaño de los programas
Implementación del procesador (ORG+TECH)
27
Arquitectura de Computadoras
Clasificación según la organización
 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)
… PARALELISMO ...
28
Clasificación según la organización
CU & Datapath
29
Clasificación según la organización
Registros
Para llevar a cabo el ciclo de instrucción (CAPTACIONDECODIFICACION-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)
30
Clasificación según la organización
Registros
Para llevar a cabo el ciclo de instrucción (CAPTACIONDECODIFICACION-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)
31
Clasificación según la organización
El ciclo de instrucción
MEMORIA
CAPTACION DE
CAPTACION DE
LA INSTRUCCION
LA INSTRUCCION
F
D
UC
DECODIFICACION
DECODIFICACION
ALU
CALCULO DIR
CALCULO DIR
DEL OPERANDO
DEL OPERANDO
CO
MEMORIA
CAPTACION DEL
CAPTACION DEL
OPERANDO
OPERANDO
FO
ALU
EJECUCION DE
EJECUCION DE
LA INSTRUCCION
LA INSTRUCCION
E
32
Arquitectura de Computadoras
Clasificación según la TECNOLOGÍA
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).
33
Tecnología de integración
Tecnología del proceso CMOS (½ celda DRAM, expected average halfpitch of a memory cell).
180 nm
180 nm
130 nm
130 nm
90 nm
90 nm
65 nm
65 nm
45 nm
45 nm
32 nm
32 nm
22 nm 22 nm 14 nm
14 nm
10 nm
10 nm
2000
2000
2001
2001
2003
2003
2006
2006
2008
2008
2010
2010
2012
2012
2014?
2014?
2015?
2015?
PII
PII
PIII
PIII
P4 y PPC
P4 y PPC
Core2, PS3
Core2, PS3
Xeon, PS3slim, Power7
Xeon, PS3slim, Power7
Core i3 i5, AMD FX
Core i3 i5, AMD FX
Core i7
Core i7
LIMITE? gate 5 nm LIMITE? gate 5 nm →→ tunneling
tunneling
nanoelectrónica
nanoelectrónica
Un elemento más pequeño implica mayor cantidad de transistores
disponibles, conmutación más rápida, menor energía y menor
temperatura.
34
Tecnología de integración (cont)
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
35
36
37
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.
38
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
39
Consolas de juego
Año
Bits
4ta Generación
1990
16b
5ta Generación
1995
32b
6ta Generación
2000
64b
7ma Generación
2005
128b
8va Generación
2013
64b
SEGA
Sega Génesis
Motorola 68000
Sega Saturn
Sega Dreamcast
Hitachi SupeH RISC Hitachi SuperH RISC
NINTENDO
Super Nintendo
WDC W65C816
Nintendo 64
MIPS R4200
Nintendo Gamecube
POWER Gekko
Nintendo Wii
POWER Broadway
Nintendo Wii U
POWER7
PlayStation
MIPS 3000
PlayStation II
Emotion Eng. (MIPS)
PlayStation III
POWER Cell
PlayStation 4
AMD Jaguar x86-64
AMD Radeon
Xbox
Pentium III
Xbox 360
POWER Xenon
Xbox One
AMD Jaguar x86-64
AMD Radeon
DVD
Ethernet
PIII/PIV/AMD K7
Bluray
WiFi
Core/ADM64
Bluray/Internet
Gigabit Ethernet
Athlon
SONY
MICROSOFT
Soporte
Cartridge
Conectividad
PC Equiv
IBM POWER
Broadway
90nm
Xenon
65nm
Cell
45nm
CD
PII/PowerPC
730MHz Gekko ??
3.2GHz
3 PPE simétrico
3.2GHz
1 PPE + 7 SPE
40
Arquitectura de Computadoras
RESÚMEN
SW
Arquitectura
de
computadoras
HW
DISEÑO DEL REPERTORIO
DE INSTRUCCIONES (ISA)
Implementación
ORGANIZACION
TECNOLOGIA
41
PRÁCTICA DE REPASO
Arquitecturas ARM
CLASIFICAR, SEGÚN LOS CRITERIOS EXPUESTOS, LOS PROCESADORES
ARM7, 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)
42
EJEMPLO: “Smart Phones”
ARM Cortex
Quad-core 1.2 GHz / Dual-core 1.7 GHz
45
Quad-core 1.2 GHz / Dual-core 1.7 GHz
Moto G $200
Chipset Qualcomm MSM8226
Snapdragon 400
CPU
Quad-core 1.2 GHz Cortex-A7
GPU
Adreno 305 (450 MHz)
28 nm
Moto X $300
Chipset Qualcomm MSM8960Pro
Snapdragon S4 Pro
CPU
Dual-core 1.7 GHz Krait 300 (Cortex-A15)
GPU
Adreno 320 (400 MHz)
28 nm
Nota
El 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
46
Quad-core 1.2 GHz / Dual-core 1.7 GHz
47
Quad-core 1.2 GHz / Dual-core 1.7 GHz
48
OTRO EJEMPLO
Apple A5X SoC
2 ARM Cortex-A9 cores and 4 GPU cores
nVidia Tegra 3 SoC
4 ARM Cortex-A9 cores and 12 GPU cores
Apple dice que el suyo es “More powerful”
http://geeknizer.com/ipad-a5x-vs-tegra-3/
49
AGOSTO 2014
http://m.v3.co.uk/v3-uk/news/2359539/ibm-unveils-brain-inspired-truenorth-chip-with-supercomputer-power
50

Documentos relacionados