Curso 2009-2010
Tema 2:
Transparencia: 2 / 53
ndice
Conceptos bsicos
Consideraciones sobre los lenguajes de alto nivel y su influencia
en el diseo del lenguaje mquina
Parmetros del repertorio de instrucciones
Formato de instrucciones
Tecnologa VLIW
Compatibilidad binaria
Compiladores
Ejemplos de repertorio de instrucciones
Bibliografa
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 3 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 4 / 53
Programa
fuente
(PASCAL)
Libreras
_____
_____
_____
_____
_____
_____
_____
_____
_____
Compilador
Ensamblador
Montador
Inicio:
add ax, 1000h
jc fin
inc si
Programa en ensamblador
_____
_____
_____
_____
_____
_____
Mdulo objeto
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Ejecutable
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 5 / 53
Estudio del impacto de los lenguajes de alto nivel y de los servicios del
sistema operativo en el diseo del repertorio de instrucciones
Almacenar en registros
variables muy usadas
Operandos por
instruccin modificados
Datos y modos de
direccionamiento
empleados
Comparaciones y saltos
condicionales e
incondicionales
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 6 / 53
Estudio del impacto de los lenguajes de alto nivel y de los servicios del
sistema operativo en el diseo del repertorio de instrucciones
PROGRAM Principal (input, output);
VAR v: vector;
BEGIN
LeerVector ( v );
IntercambioDirecto ( v );
MostrarVector ( V );
writeln (Progama finalizado)
END.
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Llamadas a subrutinas
y funciones
Invocacin de
servicios del sistema
operativo
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 7 / 53
Operaciones
Tipo y tamao de operandos
Responde a
Dnde se encuentran los operandos
adems de en memoria?
Cuntos operandos son designados
explcitamente en una instruccin
tpica?
Puede la ALU operar con operandos
situados en memoria?
Cmo se especifica la posicin de
memoria?
Qu operaciones se proporcionan en
el repertorio de instrucciones?
Cul es el tamao y el tipo de cada
operando?
Cmo se especifcia cada operando
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 8 / 53
Almacenamiento Operandos
temporal
explcitos por
instruccin ALU
Pila
0
Acumulador
1
Conjunto de
23
registros
Destino para
resultados
Pila
Acumulador
Registros o
memoria
Tipo de mquina
Pila
Ventajas
Modelo sencillo para evaluar
expresiones
Buena densidad de cdigo al ser
cortas las instrucciones
Acumulador
Conjunto de registros
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Desventajas
Imposibildad de acceso aleatorio a
la pila
Dificultad de generacin de cdigo
eficiente
Dificultad de implementacin
eficiente
La mayor cantidad de trfico entre
acumulador-memoria
Instrucciones largas al tener que
nombrarse los registros
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 9 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 10 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 11 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 12 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 13 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 14 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 15 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 16 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 17 / 53
43
39
17
55
24
3
11
16
32
40
1 6 1
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 18 / 53
94
83 92
38
52 49
26 23
Cargas
Comparaciones
TeX
Spice
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
69
Operaciones de
la ALU
GCC
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 19 / 53
Byte
Media palabra (16 bits)
Palabra (32 bits)
Coma flotante en simple precisin (32 bits)
Coma flotante en doble precisin (dos palabras)
Carcter (byte) en ASCII o EBCDIC
BCD empaquetado y desempaquetado
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
91
89
66
34
0
0 0 4
Doble
palabra
Palabra
TeX
Spice
Media
palabra
11
0 9
Byte
GCC
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 20 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
10
Tema 2:
Transparencia: 21 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
78
66 75
16 13 10
18 12 12
Llamada / retorno
Salto
incondicional
TeX
Spice
Salto condicional
GCC
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 22 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
11
Tema 2:
Transparencia: 23 / 53
72 75
25
0
89
25
11
LT / GE
GT / LE
TeX
Spice
EQ /NE
GCC
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 24 / 53
54 51 54
17
70 63 63
31 26
Saltos hacia
atrs
Saltos efectivos
TeX
Spice
Total
bifurcaciones
GCC
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
12
Tema 2:
Transparencia: 25 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 26 / 53
Muchos modos de
direccionamiento
Pocos modos de
direccionamiento
Ej. SPARC
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
13
Tema 2:
Transparencia: 27 / 53
El tamao del cdigo generado tiene una relacin directa con el nmero
de accesos a memoria y por lo tanto con el tiempo de ejecucin
El nmero de instrucciones y el tipo influye en la decodificacin y por lo
tanto, nuevamente en el tiempo de ejecucin
La facilidad de programacin de la mquina
Equilibrar en el diseo:
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 28 / 53
Los repertorios CISC como el del i80x86 suelen hacer que uno de los
operandos sea fuente y destino de la operacin
Los repertorios RISC suelen emplear tres operandos en la ALU dos fuente
y uno destino
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
14
Tema 2:
Transparencia: 29 / 53
Caractersticas generales:
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 30 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
15
Tema 2:
Transparencia: 31 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 32 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
16
Tema 2:
Transparencia: 33 / 53
Unidad
de Fetch
VLIW
EU
EU
EU
Banco de Registros
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 34 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
17
Tema 2:
Transparencia: 35 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 36 / 53
Compiladores (I)
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
18
Tema 2:
Transparencia: 37 / 53
Compiladores (II).
Estructura de un compilador
Anlisis
Fuente
Compilador
Escner
Tablas
FOR
Parser
Sntesis
Preparacin
para la
generacin
del cdigo
Objeto
Tabla de
Smbolos
Tiras
Constantes
Generacin
de cdigo
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 38 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
19
Tema 2:
Transparencia: 39 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Tema 2:
Arquitectura de Computadores
I. T. Informtica de Gestin
Transparencia: 40 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
20
Tema 2:
Transparencia: 41 / 53
Explicacin
Decide si se expanden o no los procedimientos
Sustituye dos instancias del mismo clculo por simple copia
Reorganiza las expresiones matemticas para minimizar los
recursos necesarios para evaluarla
Elimina cdigo de un bucle que calcula el mismo valor en
cada iteracin del bucle
Sustituir la multiplicacin por sumas y desplazamientos, la
divisin por restas y desplazamientos
Reordenar las instrucciones para mejorar el rendimiento de
la segmentacin
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 42 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Sin integracin:
TablaVacia PROC
MOV T.NumeroElementos, 0
RET
TablaVacia ENDP
.
.
.
CALL TablaVacia
Arquitectura de Computadores
I. T. Informtica de Gestin
21
Tema 2:
Transparencia: 43 / 53
.
.
Precio := Cantidad x PUnidad;
Descuento :=
Cantidad x PUnidad x Tanto;
.
..
Precio := Cantidad x PUnidad;
.
.
.
.
Temp0 := Cantidad x PUnidad;
Descuento := Temp0 x Tanto;
.
.
.
Temp0 := Cantidad x PUnidad;
.
.
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 44 / 53
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
22
Tema 2:
Transparencia: 45 / 53
Movimiento de cdigo:
MOV CX, 4
MOV SI, 0
Bucle:
MOV AH, 2
MOV DL, Cadena[SI]
INT 21h
INC SI
LOOP Bucle
MOV CX, 4
MOV SI, 0
MOV AH, 2
Bucle:
MOV DL, Cadena[SI]
INT 21h
INC SI
LOOP Bucle
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 46 / 53
Reduccin de potencia:
MOV AL, Pi
MUL Radio
MUL 2
MOV Perimetro, AL
MOV AL, Pi
MUL Radio
SHL AL, 1
MOV Perimetro, AL
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
23
Tema 2:
Transparencia: 47 / 53
Planificacin de la segmentacin:
ADD AL, BL
ADD AL, BL
MOV CL, AL
XOR DX, DX
XOR DX, DX
MOV CL, AL
INC DL
INC DL
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 48 / 53
Ejemplos de repertorio de
instrucciones (I). Alpha vs. i80x86
Arquitectura de 64 bits
Ejecucin paralela de instrucciones
Configuracin multiprocesador
Alta velocidad de reloj
No orientado a un sistema operativo concreto
No orientado a un lenguaje de alto nivel en concreto
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
24
Tema 2:
Transparencia: 49 / 53
Ejemplos de repertorio de
instrucciones (I). Alpha
3 operandos
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 50 / 53
Ejemplos de repertorio de
instrucciones (II). Alpha
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
25
Tema 2:
Transparencia: 51 / 53
Ejemplos de repertorio de
instrucciones (III). i80x86
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
Tema 2:
Transparencia: 52 / 53
Ejemplos de repertorio de
instrucciones (y IV). i80x86
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
26
Tema 2:
Transparencia: 53 / 53
Bibliografa
Estructura de computadores.
Jos M. Angulo. Paraninfo, 1996
Captulo 2 y 9
Departamento de Automtica
rea de Arquitectura y Tecnologa de Computadores
Arquitectura de Computadores
I. T. Informtica de Gestin
27