Sei sulla pagina 1di 48

Repaso de Arquitectura y

Organizacin
Criterios de clasificacin
v.2014

William Stallings, Organizacin y Arquitectura de Computadores, 8 ed, 2010


Andrew S. Tanenbaum, Organizacin 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/

Ingeniera en Computacin E309


3 CUAT Conceptos de Arquitectura de Computadoras (INFO)
5 CUAT Introduccin al Diseo Lgico
6 CUAT Taller de Arquitectura
7 CUAT Circuitos Digitales y Microcontroladores

Ingeniera Electrnica E226


7 CUAT Introduccin a los Sistemas Lgicos y Digitales
8 CUAT Circuitos Digitales y Microprocesadores
9 CUAT Arquitectura de Computadores I

Arquitectura de Computadoras

Contenido de las clases


intoductorias

Introduccin, repaso de Arquitectura I, bibliografa.

Definicin de Arquitectura de Computadoras.

Prehistoria e historia de las computadoras.

Clasificacin segn el repertorio de instrucciones.

Clasificacin segn la organizacin.

Clasificacin segn la tecnologa.

Clasificacin segn la aplicacin.

Objetivos de la materia.

Arquitectura de Computadoras

Introduccin
COMPUTADORA
Dispositivo electrnico, digital y programable, utilizado para el
procesamiento y/o manipulacin de informacin.

Representacin digital de la informacin. Sistemas numricos posicionales


en base 2. Operaciones aritmticas implementadas con lgica. Otros tipos
de informacin.

El programa almacenado. Arquitectura de von Neumann. Tipos de


instrucciones. Codificacin ISA.

Organizacin mnima. Datapath (REG y ALU) + UC. Buses.

Programas y algoritmos. Re-programabilidad vs. sistemas dedicados.


Hardware vs. software.

El ciclo de instruccin. Interrupciones. Sistema de entrada/salida.

La jerarqua de memoria. Localidad. MMU. Cache.

Programacin de alto nivel y sistemas operativos.

Arquitectura de Computadoras

Bibliografa bsica Arq I


Introduccin
Nmeros
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

Arquitectura de Computadoras

Arquitectura II
Diferentes formas de paralelismo
PRIMERA PARTE: PARALELISMO DENTRO DEL PROCESADOR
Arquitectura RISC, segmentacin y sistema de cach
Procesadores superescalares y VLIW
DSP y GPU
SEGUNDA PARTE: PARALELISMO ENTRE PROCESADORES
Procesadores SIMD y Vectoriales
Arquitecturas MIMD
Clusters

Arquitectura de Computadoras

Definicin

Diseode
computadoras

LGICA (Software?)

ISA (INSTRUCTION SET ARCHITECTURE): Diseo a nivel del


lenguaje de mquina, visible para el programador o compilador.
Repertorio de instrucciones, registros, tipo y tamao de operandos,
modos de direccionamiento.

IMPLEMENTACIN (Hardware?)

ORGANIZACIN: Estructura del bus, diseo CPU, sistema de


memoria, cache, ciclo de instruccin.
TECNOLOGA: Diseo lgico, integracin, encapsulado, potencia.

La arquitectura de computadoras, como otras arquitecturas, es el arte de


determinar las necesidades del usuario de una estructura y luego
disearla para satisfacer dichas necesidades tan eficientemente como sea
posible dentro de ciertas limitaciones econmicas y tecnolgicas.
Frederick P. Brooks, IBM, 1962.

Ejemplos
Aplicacin de procesamiento de seales:
La ARQUITECTURA, dispone de MAC, MUL o nada? (ISA); cuntos ciclos
demora? (ORG); cul es la frecuencia de trabajo/consumo de potencia?
(TEC).

Procesadores Intel

Dos procesadores con idntica ISA pero diferente ORG: Celeron y


Celeron D.
Dos procesadores con idnticas ISA y ORG, pero diferente tecnologa:
Celeron 1GHz y Celeron 2.8GHz.
Dos procesadores con diferentes ISA, ORG y Tecnologa: Celeron e
Itanium.
ERROR COMN
Suponer que dos procesadores con idntica ISA
se pueden comparar por su reloj
OTROS EJEMPLOS
Computadora ptica (cambiando Tec puedo mantener la ISA y ORG)
Computadora analgica (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


Despus de 30 aos de existencia de las computadoras y 10 de los
microprocesadores [Null, Cap 1], se produce un renacimiento de la
Arquitectura en la dcada del 80, principalmente por dos motivos:
LENGUAJES DE ALTO NIVEL: Desaparece la programacin en

assembler, por lo tanto no es necesaria la compatibilidad de cdigo


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 aos (ley de Moore)


11

Arquitectura de Computadoras

Historia: arq de 32 bits


Despus de 30 aos de existencia de las computadoras y 10 de los
microprocesadores [Null, Cap 1], se produce un renacimiento de la
Arquitectura en la dcada del 80, principalmente por dos motivos:
LENGUAJES DE ALTO NIVEL: Desaparece la programacin en

assembler, por lo tanto no es necesaria la compatibilidad de cdigo


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 aos (ley de Moore)


12

Nmero de transistores por integrado.


Duplicacadadosaos,crecimientoexponencialsostenido.

13

Capacidad de los discos rgidos para PC (en GB)


Crecimientoexponencialsostenido.

14

Performance relativa a VAX-11 (1978)


Crecimientoexponencialsostenido(19862002).Luegodesaceleracin(apesarde
quetantoladensidaddetransistorescomoelrestodelastecnologasacompaaron).
Elaumentodelnmerodetransistoresnorepercutedirectamenteenlaperformance.
15
DependedelosavancesenARQUITECTURA,tantoenhardwarecomoensoftware.

Arquitectura de Computadoras

Clasificaciones
Segn la arquitectura del repertorio de
instrucciones (ISA)
Segn la organizacin
Segn la tecnologa

Segn la aplicacin

16

Arquitectura de Computadoras

Clasificacin a nivel lenguaje de


mquina (ISA)
1. Clase: Nmero y almacenamiento de operandos. Adems de
memoria, dnde? Utilizacin de registros.
2. Direccionamiento de memoria. Byte ordering (endianness).
Alineacin.
3. Modos de direccionamiento. Cantidad. Puede cualquiera de los
operandos estar en memoria?
4. Tipo y tamao 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. Codificacin del repertorio de instrucciones.


17
8. Interrupciones y modos privilegiados (user, supervisor,protected).

Clasificacin a nivel lenguaje de mquina

Almacenamiento de operandos

Add A,B,C

TAXONOMA DE PATTERSON: PILA, ACC, R-M, R-R, M-M

18

Clasificacin a nivel lenguaje de mquina

Nmero de operandos

19

20

EJEMPLO: Velocidad vs. Densidad de cdigo


Analizaremoselimpactodedosproblemasdiferentes:
M3=M1+M2
Bn=(An+An1)/2

Suma de dos enteros


Filtro en punto fijo

Sobretresarquitecturasdiferentes:
MM

Arquitectura Memoria-Memoria

RM

Arquitectura Registro-Memoria

RR

Arquitectura Registro-Registro
21

M3=M1+M2
MM
ADDM1,M2,M3

9c

FDCO1TR1C02TR2ECO3TR3=9c

RM
LOADR1,M1
ADDR1,M2
STORER1,M3

(4c)
(5c)
(4c)

LOAD:FDCOTR=4c
13c

ADD:FDCOTRE=5c

RR
LOADR1,M1
LOADR2,M2
ADDR1,R2,R3
STORER3,M3

(4c)
(4c)
(3c)
(4c)

15c

LOAD:FDCOTR=4c
ADD:FDE=3c

22

M3=M1+M2

Bn=(An+An1)/2
MM

ADDM1,M2,M3

9c

MM
ADDAn,An1,Bn
DIVBn,#2,Bn

18c

FDCO1TR1C02TR2ECO3TR3=9c

RM
LOADR1,M1
ADDR1,M2
STORER1,M3

(4c)
(5c)
(4c)

13c

LOAD:FDCOTR=4c

RM
LOADR1,An1
ADDR1,An
DIVR1,#2
STORER1,Bn

(4c)
(5c)
(5c)
(4c)

18c

ADD:FDCOTRE=5c

RR
LOADR1,M1
LOADR2,M2
ADDR1,R2,R3
STORER3,M3

(4c)
(4c)
(3c)
(4c)

LOAD:FDCOTR=4c
ADD:FDE=3c

15c

RR
LOADR1,An
ADDR1,R2,R3
DIVR3,#2,R3
STORER3,Bn
ADDR1,#0,R2

(4c)
(3c)
(3c)
(4c)
(3c)

17c

23

M3=M1+M2

Bn=(An+An1)/2
MM

ADDM1,M2,M3

9c

MM
ADDAn,An1,Bn
DIVBn,#2,Bn

18c

FDCO1TR1C02TR2ECO3TR3=9c

RM

LOADR1,M1
ADDR1,M2
STORER1,M3

(4c)
(5c)
(4c)

13c

LOAD:FDCOTR=4c

RM
LOADR1,An1
ADDR1,An
DIVR1,#2
STORER1,Bn

(4c)
(5c)
(5c)
(4c)

18c

ADD:FDCOTRE=5c

RR

LOADR1,M1
LOADR2,M2
ADDR1,R2,R3
STORER3,M3

(4c)
(4c)
(3c)
(4c)

LOAD:FDCOTR=4c
ADD:FDE=3c

15c

RR
LOADR1,An
ADDR1,R2,R3
DIVR3,#2,R3
STORER3,Bn
ADDR1,#0,R2

(4c)
(3c)
(3c)
(4c)
(3c)

17c

2.5
24

Clasificacin a nivel lenguaje de mquina

Modos de direccionamiento

25

Clasificacin a nivel lenguaje de mquina

Repertorio de instrucciones

Todas las arquitecturas disponen de un repertorio


compuesto al menos por las tres primeras categoras.
26

Clasificacin a nivel lenguaje de mquina

Tipo y tamao de operandos


Arquitecturas con operandos de 8, 16, 32 o
64 bits.

Operandos enteros y/o punto flotante


(simple y doble precisin).

RISC vs CISC
(largo fijo vs.
variable)

CODIFICACIN DEL SET DE INSTRUCCIONES


Tamao de los programas
Implementacin del procesador (ORG+TECH)
27

Arquitectura de Computadoras

Clasificacin segn la organizacin


Estructura interna de la CPU
La unidad de control (microprogramada vs. cableada)
El camino de los datos (Datapath = Registros + ALU)
El ciclo de instruccin, segmentacin
Escalaridad
Cache de datos e instrucciones
CPI, latencia
Productividad (throughput)

PARALELISMO ...
28

Clasificacin segn la organizacin

CU & Datapath

29

Clasificacin segn la organizacin

Registros
Para llevar a cabo el ciclo de instruccin (CAPTACIONDECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita
registros de almacenamiento temporario.
Registros visibles

a) Usos generales: pueden utilizarse en cualquier operacin.


b) Uso especfico: para datos o direcciones (ej. puntero de
segmento).
Registros de control

PC (puntero), IR (instruccin), MAR (direccin) y MBR (datos)


Registros de estado

PSW (program status word)

30

Clasificacin segn la organizacin

Registros
Para llevar a cabo el ciclo de instruccin (CAPTACIONDECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita
registros de almacenamiento temporario.
Registros visibles

a) Usos generales: pueden utilizarse en cualquier operacin.


b) Uso especfico: para datos o direcciones (ej. puntero de
segmento).
Registros de control

PC (puntero), IR (instruccin), MAR (direccin) y MBR (datos)


Registros de estado

PSW (program status word)

31

Clasificacin segn la organizacin

El ciclo de instruccin
MEMORIA

CAPTACION DE
CAPTACION DE
LA INSTRUCCION
LA INSTRUCCION

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

32

Arquitectura de Computadoras

Clasificacin segn la TECNOLOGA


Tecnologas que condicionan el diseo de la ISA:

Circuitos integrados (densidad de transistores 55%/ao)

DRAM semiconductora (densidad celdas 40-60%/ao)

Discos magnticos (capacidad 100%/ao)

Networking (ancho de banda 100%/ao)

La ISA debe sobrevivir a lo largo de ciclos de 5 aos (2 de


diseo + 3-2 de produccin).

33

Tecnologa de integracin
Tecnologa del proceso CMOS ( celda DRAM, expected average halfpitch of a memory cell).

180nm
180nm
130nm
130nm
90nm
90nm
65nm
65nm
45nm
45nm
32nm
32nm
22nm
22nm
14nm
14nm
10nm
10nm

2000
2000
2001
2001
2003
2003
2006
2006
2008
2008
2010
2010
2012
2012
2014?
2014?
2015?
2015?

PII
PII
PIII
PIII
P4yPPC
P4yPPC
Core2,PS3
Core2,PS3
Xeon,PS3slim,Power7
Xeon,PS3slim,Power7
Corei3i5,AMDFX
Corei3i5,AMDFX
Corei7
Corei7
LIMITE?gate5nm
LIMITE?gate5nmtunneling
tunneling
nanoelectrnica
nanoelectrnica

Un elemento ms pequeo implica mayor cantidad de transistores


disponibles, conmutacin ms rpida, menor energa y menor
temperatura.
34

Tecnologa de integracin (cont)


Lmites al tamao del intregrado:
Potencia (max ~70W)
Yield del waffer (cuntos fallan)
Encapsulado (nmero de patas)

Condiciona la cantidad disponible de


transistores. Compromiso entre:
CU (cantidad de instrucciones y modos
de direccionamiento)
Registros (cantidad y tamao)
ALU (funcionalidad, fp?)
CACHE

35

36

37

Arquitectura de Computadoras

Clasificacin segn la aplicacin


Por qu existen arquitecturas tan diferentes? Cul es mejor?
DISCUSIN: Equivalente con la industria automotriz.

Diseo de alto rendimiento


SERVERS ($5K) [cmputo masivo, grficos]
Availability, reliability, scalability, throughput.

Diseo de bajo costo


EMBEDDED SYSTEMS ($50) [consolas, switches]
Minimizacin de memoria y potencia.

Diseo costo/rendimiento
DESKTOP ($500) [debe incluir sw!]

Marketing vs. rendimiento, informacin incompleta o vaga,


medidas inapropiadas, recurrir a la popularidad.
38

Mvil: ARM

Celulares y reproductores multimedia

Consolas de mano

Tablets y PDA

Desktop: Intel/AMD

PC, laptop.

High Performance: IBM POWER

Servidores para clculo masivo

Consolas de juego de 7 generacin

39

Consolas de juego
Ao
Bits

4ta Generacin
1990
16b

5ta Generacin
1995
32b

6ta Generacin
2000
64b

7ma Generacin
2005
128b

8va Generacin
2013
64b

SEGA

Sega Gnesis
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 simtrico
3.2GHz
1 PPE + 7 SPE

40

Arquitectura de Computadoras

RESMEN
SW

Arquitectura
de
computadoras
HW

DISEO DEL REPERTORIO


DE INSTRUCCIONES (ISA)

Implementacin

ORGANIZACION

TECNOLOGIA
41

PRCTICA DE REPASO

Arquitecturas ARM
CLASIFICAR, SEGN 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

Potrebbero piacerti anche