Sunteți pe pagina 1din 23

DE ARQUITECTURA .

U NIDAD T EM ATICA
1: D EFINICI ON
1. Concepto de arquitectura.
2. Analisis de las prestaciones de las arquitecturas.
de juegos de instrucciones.
3. Diseno

1-1

T EMA 1: C ONCEPTO DE ARQUITECTURA .


1. Introduccion.
2. Concepto de arquitectura.
de una arquitectura.
3. Factores a considerar en el diseno
4. Lenguajes descriptivos.

Bibliografa:
S. Dasgupta, Computer Architecture: A Modern Synthesis, Volume 2: Advanced Topics, John Wiley & Sons, 1989.
J.L. Hennessy, D.A. Patterson, Computer Architecture: A Quantitative Approach, 3a edicion, Morgan Kaufmann Publishers, 2002.
J.L. Hennessy, D.A. Patterson, Computer Architecture: A Quantitative Approach, 4a edicion, Morgan Kaufmann Publishers, 2006.

Departamento de Informatica de Sistemas y Computadores (DISCA)


Facultad de Informatica de Valencia
1-2


1 INTRODUCCION

1. Introduccion
Evolucion del rendimiento de los procesadores

Antes de los anos 80: 1.25 anual.


Mejoras tecnologicas.
A finales de los 70 se comienza a utilizar microprocesadores.
Mediados de los 80 - 2002 : 1.52 anual.
Mejoras tecnologicas.
Desarrollo de la arquitectura RISC (Reduced Instruction Set Computers)
Mejoras arquitectonicas: paralelismo a nivel de instruccio n (ILP) y
caches.

1-3


1 INTRODUCCION

Las mejoras arquitecnicas han permitido mejorar en un factor de 7 lo que


se conseguira u nicamente con mejoras tecnolo gicas.
2002 - actual : 1.2 anual.
Mejoras tecnologicas.
Alcanzado lmites en ILP, alta latencia de la memoria, alto consumo y
disipacion de potencia.
Aumento notable de la potencia de calculo disponible: un microprocesador actual
hace lo mismo que un supercomputador hace 10 an os.
Empleo del microprocesador en un amplio rango de maquinas: desde los PCs
hasta los supercomputadores.
Actualmente: la mejora de las prestaciones debe buscarse en el empleo de varios
procesadores en el mismo chip.

1-4


1 INTRODUCCION

Sistemas de computo actuales


Computadores de sobremesa.
Amplia gama con diferentes prestaciones y precio.
Diseno dirigido por optimizar la relacio n precioprestaciones.
Servidores.
Aspectos crticos: disponibilidad, escalabilidad, productividad.
Caso espacial: supercomputadores. Alcanzar las maximas prestaciones, sin
importar el precio.
Computadores empotrados.
Mercado creciente.
Utilizados en sistemas de uso habitual (electrodomesticos, perifericos, coches),
telefonos moviles, consolas, etc.
Amplia gama con diferentes prestaciones y precio.
Objetivos de diseno: alcanzar las prestaciones requeridas al mnimo precio,
tiempo real, minimizar memoria ocupada y minimizar consumo.

La tarea del disenador


de computadores
Ante una nueva maquina, el disenador:
Determina que atributos son importantes
Disena el sistema para maximizar el rendimiento
Tomando en consideracio n limitaciones de coste y consumo.
Que hay que disenar?
Juego de instrucciones, organizacio n funcional, diseno logico e implementacio n
optimizar el diseno requiere conocer un amplio conjunto de tecnologas: compiladores, sistemas operativos, disen o de circuitos integrados, consumo de energa,
refrigeracion, ...

1-5

2 CONCEPTO DE ARQUITECTURA

2. Concepto de arquitectura
La arquitectura de un computador comprende tanto el juego de instrucciones como
su implementacion.
Aspectos que abarca:
1. Arquitectura del juego de instrucciones:
Realiza una descripcion del comportamiento del computador, tal como
las ven los programadores de sistemas.
Sinonimos: ISA (Instruction Set Architecture), exo-arquitectura, arquitectura externa, arquitectura lo gica.
2. Organizacion:
Las instrucciones se ejecutan por medio del hardware. La organizaci o n de un
computador describe el hardware utilizando distintos niveles de abstracci o n.
Define las capacidades y caractersticas de los componentes principales
(operadores, subsistema de memoria, . . . ), su interconexio n (buses, multiplexores, . . . ) y control.
Sinonimos: endo-arquitectura, arquitectura interna, arquitectura fsica,
estructura, microarquitectura.
3. Realizacion:
Comprende el diseno logico detallado y los aspectos especficos de implementacion.
El diseno de una arquitectura debe cubrir los tres aspectos de dise n o.
Los tres aspectos no son independientes: las decisiones tomadas en cada uno de
ellos pueden influir sobre el resto.

1-6

2 CONCEPTO DE ARQUITECTURA

SOFTWARE

ARQUITECTURA DEL
JUEGO DE INSTRUCCIONES
ORGANIZACION

HARDWARE

1-7

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO

de una arquitec3. Factores a considerar en el diseno


tura.
1. Requisitos funcionales

Ambito
de aplicacion
Proposito general
Buenas prestaciones para un gran rango de
aplicaciones, incluyendo graficos, video y audio
Calculo cientfico
Coma flotante, graficos
Servidores comerciales
Bases de datos, transacciones,
disponibilidad, escalabilidad
Empotrados
Soporte especfico, limitaciones de consumo
Codigo fuente
Binaria

Nivel de compatibilidad software


Diseno mas flexible,
necesita desarrollar nuevos compiladores
ISA definido (poca flexibilidad),
no se necesita software nuevo

Requisitos del sistema operativo


Espacio direccionamiento Limita el taman o de las aplicaciones
Gestion de memoria
Paginacio n, segmentacion, . . .
Proteccion
Gestion de procesos
Soporte multitarea
Estandares requeridos por el mercado
Coma flotante
IEEE 754
E/S
Ultra ATA, Ultra SCSI, PCI . . .
Sistema operativo
UNIX, Windows, PalmOS, propietario . . .
Redes
Soporte de Ethernet, InfiniBand . . .
Lenguajes
C, C++, Java, FORTRAN, . . .

1-8

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO

2. Seleccionar el mejor diseno


Cuantificar prestaciones.
Cuantificar coste y otros atributos.
Comparar.

1-9

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
3. Tendencias en la tecnologa
El disenador debe ser consciente de los rapidos cambios en la tecnologa:
Tecnologa de circuitos integrados:
El numero de transistores por chip aumenta un 40-55 % cada a n o
(2X cada 18 meses) (Ley de Moore):
La densidad de transistores aumenta en un 35 % cada a n o
El tamano de la oblea aumenta en 1020 % cada an o

Feature size: Tamano del transistor mas pequeno. El no de transistores crece cuadraticamente con la reduccio n del tamano de transistor.

1-10

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
Feature size (cont): De 10m (10106 ) en 1971 a 65 nm en 2006.

1-11

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
La velocidad de los transistores aumenta linealmente al reducir su
tamano.
Aumento del retardo relativo de las interconexiones. Retardo depende de la resistencia y capacidad del cable (R C).
Al reducir el tamano de transistor se reduce la anchura y altura
de las lneas (menor seccion), aumentando R.
Aunque la capacidad asociada a la superficie del conductor disminuye, la capacidad de acoplamiento entre lneas es mayor,
aumentando C.
La fraccion de chip accesible en un ciclo de reloj se va reduciendo: 100 % con 0.25m a 5 % con 0.06m.

1-12

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
Memorias DRAM:
La capacidad aumenta en 1.4 por an o (duplicandose cada 2 anos)
El tiempo de acceso se reduce en un 7 % cada an o (2X cada 10
anos).
Notables mejoras en el interfaz con la memoria han contribuido
considerablemente en aumentar el ancho de banda: 1 GB/s (PC133,
1996) a 12.8 GB/s (DDR3-1600, 2006).

Creciente diferencia de velocidad entre procesador y memoria


(Memory wall).
Discos:
Notables (y variables) aumentos de capacidad. (Hasta 1990, 1.3X;
19901996, 1.6X; 19962004, 2X; 2004 1.3X)
El tiempo de acceso se reduce en un 30 % cada 10 a n os (1.5X cada
10 anos).
Notable mejora del ancho de banda aumentando la velocidad de
rotacion y mejorando el interfaz.
Interfaces e interconexiones.
Notable mejora del ancho de banda (Ethernet 10, 1978; Ethernet
100, 1995; Ethernet 1G, 1999; Ethernet 10G, 2003).
La latencia mejora a menos ritmo (Ethernet 10, 3000s; Ethernet
100, 500s; Ethernet 1G, 340s; Ethernet 10G, 190s)
Recientemente, aparicio n de nuevas tecnologias de interconexio n
de altas prestaciones.
1-13

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
4. Consumo y disipacion de calor.
Potencia por transistor = Potdinamica + Potestatica
Potdinamica = 12 C V 2 f
Reducir tension, pero hay un valor mnimo para una frecuencia dada.
En 24 anos, la tension se ha reducido de 12 a 1.1 V ha contribuido a
122
reducir Potdinamica en un factor 1,1
2 = 119X
Pero hay un valor mnimo de tension margen de reduccion sobrante
2
es bajo: 1,1
= 2,5X
0,72
Potestatica = If uga V .
A menor tamano de transistor, If uga
A mayor numero de transistores, mayor contribucio n de la Potestatica
(actualmente, 25 % del total).
El aumento del numero de transistores y de la frecuencia predomina sobre
la reduccion debida a la tension y capacidad De 0.01 W en los primeros
microprocesadores a cerca de 130 W en un Itanium2.

Implicaciones
Distribucion de la corriente al microprocesador. Los microprocesadores
modernos tienen cientos de patillas para la alimentaci o n.
Evacuacion del calor generado. La ventilacio n por aire esta alcanzando
su lmite.
1-14

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO

Interaccion arquitectura tecnologa:


Determinadas arquitecturas demandan cierta tecnologa mientras que la tecnologa disponible en un momento dado puede dictar ciertas decisiones arquitectonicas.
Algunos ejemplos:
Microprocesador de 32 bits. Cuando la tecnologa MOS fue capaz de
albergar de 25.000 a 50.000 transistores en un solo chip a principios
de los 80 fue factible disen ar un microprocesador de 32 bits en un solo
chip.
Caches. La diferencia de velocidad entre el procesador y la memoria
motivo la introduccion de la memoria cache entre el procesador y la
memoria. El continuo crecimiento de esta diferencia ha sugerido el empleo de varios niveles (L1, L2, L3) de cache en los dise n os.
Etapas para propagar senales. El retardo creciente de los cables motivo la inclusion en el Pentium 4 de dos etapas de segmentacio n destinadas u nicamente a la propagacio n de la senales a traves de los cables.
Tecnicas de ahorro de potencia. Algunos procesadores pueden trabajar
a distintos niveles de tensio n y frecuencia (Potdinamica ) o incluso desconectar ciertas porciones cuando no se usan (Potestatica ).
Multiprocesadores en un chip. Un procesador sofisticado que funciona
a mucha frecuencia consume mucho. En su lugar, podemos poner varios
procesadores mas sencillos que funcionan a menor frecuencia y menor
tension.

1-15

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
5. Coste.
Coste de un circuito integrado.

BARRA DE SILICIO

OBLEA

DADOS

DADO
(defectos)

DADO

CIRCUITO INTEGRADO

Coste final f (superficie dado4 )


Superficie dado = f (complejidad del disen o)
Factores que disminuyen el coste de los componentes:
Curva de aprendizaje: El coste de un componente disminuye con
el tiempo, al aumentar la productividad (disminuir la tasa de componentes defectuosos).
Volumen de ventas: Duplicar el volumen de ventas disminuye un
10 % el coste.

Utilizacion de componentes universales: DRAMs, discos, monitores. La fuerte competencia baja los precios.
Costes de diseno
El coste de una fabrica es inversamente proporcional al feature size.
El tamano del equipo de disenadores es inversamente proporcional al
feature size: de 3 personas en el Intel 4004 a mas de 300 en los modernos
procesadores.

1-16

DE UNA ARQUITECTURA
3 FACTORES EN EL DISENO
6. Aplicaciones.
Requisitos de memoria de las aplicaciones: cada a n o, los programas y
sus datos necesitan de 1.5 a 2 veces mas memoria consumo de 1 bit
del bus de direcciones por an o!
Lenguajes. Hace tiempo que los lenguajes de alto nivel han sustituido al
lenguaje ensamblador para la programacio n de la maquina.
El compilador es el usuario principal de la maquina.
Reto: como utilizar eficientemente varios (decenas de) procesadores?
Relativamente facil con paralelismo a nivel de proceso o tarea, si
hay varias a ejecutar.
Dficil paralelizar algunas aplicaciones.
Programar en paralelo es difcil.

1-17

4 LENGUAJES DESCRIPTIVOS

4. Lenguajes descriptivos
CHDLs: Computer hardware description languages.
ADLs: Architectural description languages.

Utilidad de los lenguajes descriptivos:


1. Documentacion del diseno.
2. Simulacion del diseno.
Se ejecuta la descripcio n, con dos objetivos:
a) Comprobar su correccion funcional.
b) Evaluacion de sus prestaciones.
sin disponer del sistema!
3. Sntesis automatica.
Dos ejemplos:
a) Del hardware.
b) Del codigo generado por los compiladores.
4. Verificacion formal.
Como obtener un diseno libre de fallos?
a) Empleando sntesis automatica, si los componentes estan verificados, y
las transformaciones realizadas son correctas.
b) Realizando una verificacio n funcional exhaustiva. So lo en sistemas sencillos.
c) Realizando una verificacio n formal: Modelo matematico (la descripcion) + computacion simbolica sobre el modelo.
5. Diagnosis de fallo.
Inyeccion de fallos en la descripcio n, y observacion del comportamiento.

1-18

4 LENGUAJES DESCRIPTIVOS

Ejemplos de lenguajes descriptivos: VHDL


VHDL (Very high speed integrated circuits Hardware Description Language)
Capacidad de descripcion multinivel: permite realizar la especificaci o n de un sistema desde el nivel logico hasta el nivel de arquitectura del juego de instrucciones
del computador.
En VHDL se puede realizar una descripcio n desde tres enfoques (estilos de descripcion):
Comportamiento. Explica la funcionalidad del sistema, especificando solamente las entradas y salidas del mismo, as como la correspondencia entre
ambas.
Estructural. Especifica los componentes mas primitivos de que e ste consta,
as como la interconexion entre ellos.
Flujo de datos. Especifica el comportamiento de un sistema empleando unas
ecuaciones que representan movimiento de datos dentro del sistema. Dichas
ecuaciones reflejan ademas una estructura.
Los tres estilos de descripcio n pueden utilizarse simultaneamente en la especificacion de un sistema.

1-19

4 LENGUAJES DESCRIPTIVOS
Ejemplo 1: Descripcion de un semisumador.

1-20

4 LENGUAJES DESCRIPTIVOS
entity semisumador is
port (A,B : in bit; -- input ports
Sum,Carry : out bit); -- output ports
end semisumador;
architecture estructural of semisumador is
component not_gate
port (I: in bit; 0: out bit);
end component;
component and_gate
port (Il, I2: in bit; 0: out bit);
end component;
component or_gate
port (I1, I2: in bit; 0: out bit);
end component;
signal w,x,y,z : bit;
begin
Gl:
G2:
G3:
G4:
G5:
G6:
end

not_gate port map (A,x);


not_gate port map (B,y);
and_gate port map (x,B,z);
and_gate port map (y,A,w);
or_gate port map (z,w,Sum);
and_gate port map (A,B,Carry);
estructural;

architecture flujo_datos of semisumador is


begin
Sum <= (not A and B) or (A and not B) after 30 ns;
Carry <= A and B after 10 ns;
end data flujo_datos;
architecture comportamiento of semisumador is
begin
process
variable na,nb,ns: natural;
variable ns_v: bit_vector(0 to 1);
begin
na := bin2int(A);
nb := bin2int(B);
ns := na+nb;
ns_v := int2bin(ns);
Sum <= ns_v(1) after 30ns;
Carry <= ns_v(0) after 10ns;
end process;
end comportamiento;

1-21

4 LENGUAJES DESCRIPTIVOS
Ejemplo 2: Descripcion de un computador.

1-22

4 LENGUAJES DESCRIPTIVOS
architecture estructural of computador is
component CPU
port (DATA: inout tri_vector (O to 7);
ADDR: out bit_vector(3 downto 0);
CLOCK, INT: in bit;
MR, RW, IO_REQ: out bit);
end component;
component RAM
port (DATA: inout tri_vector(0 to 7);
ADDR: in bit_vector(2 downto 0);
CSO, CSl, RW: in bit);
end component;
component DEC
port (DEC_IN: in bit; DEC_OUT: out bit_vector(0 to 1))
end component;
component CLK
port (C: out bit);
end component;
signal M: bit_vector(0 to 1);
signal cl, mr, rw: bit;
begin
PROCESSOR: CPU port map (DATA, ADDR, cl, INT, mr, rw, IO_REQ);
M0: RAM port map (DATA, ADDR(2 downto 0), mr, M(0), rw);
Ml: RAM port map (DATA, ADDR(2 downto 0), mr, M(l), rw);
DECODER: DEC port map (ADDR(3), M);
CLOCK: CLK port map (cl);
end estructural;

1-23

S-ar putea să vă placă și