33
Repaso de Arquitectura y Organización Criterios de clasificación 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 3, 4 y 5) (4th ed, ch 1 & ap. B)

Repaso de Arquitectura y Organización - UNLPelectro.fisica.unlp.edu.ar/arq/transparencias/ARQII_00-Repaso.pdf · Repaso de Arquitectura y Organización Criterios de clasificación

Embed Size (px)

Citation preview

Repaso de Arquitectura y Organización

Criterios de clasificación

William Stallings, Organización y Arquitectura de ComputadoresAndrew S. Tanenbaum, Organización de Computadoras

Linda Null y Julia Lobur, Computer Organization and Architecture

John Hennessy – David PattersonArquitectura de Computadores – Un enfoque cuantitativo

(1a edición, capítulos 3, 4 y 5) (4th ed, ch 1 & ap. B)

2

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.

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.

La jerarquía de memoria. Localidad. Caches.

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.

3

Arquitectura de Computadoras

Arquitecturas 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

4

Arquitectura de Computadoras

Bibliografía básica

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

5

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, ciclo de instrucción.

TECNOLOGÍA: Diseño lógico, integración, encapsulado, potencia.

Arquitectura de Computadoras

Definición H-P

“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

6

Arquitectura de Computadoras

Ejemplos 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)

7

Arquitectura de Computadoras

HistoriaDespué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)

8

Número de transistores por integrado.Duplica cada dos años, crecimiento exponencial sostenido.

9

Capacidad de los discos rígidos para PC (en GB)Crecimiento exponencial sostenido.

10

Performance relativa a VAX-11 (1978)Crecimiento exponencial sostenido (1986­2002), luego desaceleración.

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.

11

Arquitectura de Computadoras

Clasificación según la aplicaciónPor qué existen arquitecturas tan diferentes? Cuál es mejor? 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.

12

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.

13

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

14

Clasificación a nivel lenguaje de máquina

Número de operandos

15

16

M3 = M1 + M2

Bn = (An + An­1)/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:

17

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)

F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c

LOAD: F­D­CO­TR = 4c

ADD: F­D­E = 3c

ADD: F­D­CO­TR­E = 5c

MM

RR

RM

13c

M3 = M1 + M2

15c

9c

LOAD: F­D­CO­TR = 4c

18

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)

F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c

LOAD: F­D­CO­TR = 4c

ADD: F­D­E = 3c

ADD: F­D­CO­TR­E = 5c

MM

RR

RM

13c

M3 = M1 + M2

15c

9c

LOAD: F­D­CO­TR = 4c

Bn = (An + An­1)/2

ADD An,An­1,BnDIV Bn,#2,Bn

18c

LOAD R1,An­1 (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

19

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)

F­D­CO1­TR1­C02­TR2­E­CO3­TR3 = 9c

LOAD: F­D­CO­TR = 4c

ADD: F­D­E = 3c

ADD: F­D­CO­TR­E = 5c

MM

RR

RM

13c

M3 = M1 + M2

15c

9c

LOAD: F­D­CO­TR = 4c

Bn = (An + An­1)/2

ADD An,An­1,BnDIV Bn,#2,Bn

18c

LOAD R1,An­1 (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

20

Clasificación a nivel lenguaje de máquina

Modos de direccionamiento

21

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.

22

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)

23

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

24

Clasificación según la organización

CU & Datapath

25

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

26

Clasificación según la organización

El ciclo de instrucción

CAPTACION DELA INSTRUCCION

DECODIFICACION

CAPTACION DELOPERANDO

EJECUCION DELA INSTRUCCION

CALCULO DIRDEL OPERANDO

MEMORIA

MEMORIA

ALU

ALU

UC

F

D

CO

FO

E

27

Tecnologías que condiciona 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

TECNOLOGÍA

28

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

INTEGRACIÓN

180 nm 1999/2000 PII130 nm 2000/200190 nm 2002/200365 nm Actual PIV, Core (gate 35 nm)45 nm 2008? Gate metálico...16 nm 2018? LIMITE?

gate de 5 nm, tunneling

29

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

INTEGRACIÓN (cont)

30

Arquitectura de Computadoras

RESÚMEN

Arquitecturade

computadoras

DISEÑO DEL REPERTORIO DE INSTRUCCIONES (ISA)

Implementación

ORGANIZACION TECNOLOGIA

SW

HW

31

PRÁCTICA DE REPASO

Arquitecturas conocidas

32

33

Consolas de juego

4ta Generación 5ta Generación 6ta Generación 7ma GeneraciónAño 1990 1995 2000 2005Bits 16b 32b 64b 128b

SEGA

NINTENDO

SONY

MICROSOFT

Soporte Cartridge CD DVD BlurayConectividad Ethernet WiFiEquiv PII/PowerPC PIII/PIV/AMD K7 Core/ADM64

Sega GénesisMotorola 68000

Sega SaturnHitachi SupeH RISC

Sega DreamcastHitachi SuperH RISC

Super NintendoWDC W65C816

Nintendo 64MIPS R4200

Nintendo GamecubePOWER Gekko

Nintendo WiiPOWER Broadway

PlayStationMIPS 3000

PlayStation IIEmotion Eng. (MIPS)

PlayStation IIIPOWER Cell

XboxPentium III

Xbox 360POWER Xenon