Está en la página 1de 9

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

Trabajo Prctico N 6

Temas: La arquitectura de programacin.


Los lenguajes y la mquina.
OBJETIVOS:

Presentar la arquitectura de programacin ARC.


Estudiar algunas propiedades generales de la arquitectura de programacin.
Lograr un balance entre el rendimiento del sistema y las caractersticas de la
tecnologa en la que se implementa el procesador.
Establecer la forma en que se calcula la direccin cuando se accede a memoria.
Estudiar algunas instrucciones.
Analizar la forma en que estas secuencias de instrucciones se traducen en cdigo
objeto.
BIBLIOGRAFA:

Murdocca y Heuring. Principios de Arquitectura de Computadoras, Prentice Hall,


captulos 4 y 5 (5.2).

1- LA MEMORIA EN LA ARQUITECTURA ARC


ARC (A RISC Computer) es un subconjunto del modelo de arquitectura basado
en el procesador SPARC, desarrollado por Sun Microsystems.
En una mquina direccionable por byte, el dato ms pequeo que se puede
buscar en memoria es el byte. Las palabras multi bytes se almacenan como
secuencias de bytes, y se direccionan a partir del byte menos significativo de la
palabra almacenada.
Cuando se utilizan palabras de ms de un byte, hay dos alternativas en la
forma de almacenar sus bytes en memoria: el byte ms significativo se
almacena en la direccin ms baja de memoria (big-endian). El byte menos
significativo se almacena en la direccin ms baja (little-endian).
Las direcciones de memoria estn ordenadas en forma consecutiva. Cada
locacin numerada corresponde a una palabra en ARC. El nico nmero que
identifica a cada palabra se conoce como su direccin.

Pgina 1 de 9

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

Trabajo Prctico N 6

2- LA UNIDAD CENTRAL DE PROCESAMIENTO (CPU)


La CPU consiste de una seccin de datos que contiene registros y una ALU, y
una seccin de control, que interpreta las instrucciones y realiza las
transferencias entre registros. La seccin de datos se conoce como "camino de
datos" o "datapath".
La CPU lee las instrucciones y los datos desde la memoria, ejecuta las
instrucciones y almacena los resultados nuevamente en la memoria.

3. EL CONJUNTO DE INSTRUCCIONES ARC


Es la coleccin de instrucciones que un procesador puede ejecutar.
Difiere de un procesador a otro, en el tamao de las instrucciones, el tipo de
operaciones que permiten, el tipo de operandos que puede ejecutar y los
resultados que pueden entregar.

Pgina 2 de 9

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

Trabajo Prctico N 6

El tamao de una instruccin en ARC es de 32 bits, o sea una palabra.

4. FORMATO DE LENGUAJE ENSAMBLADOR ARC


El lenguaje hace distincin entre maysculas y minsculas.
Los campos de etiqueta y comentario son optativos.
El campo etiqueta usa caracteres alfabticos, numricos (siempre y cuando no
sea el primer dgito), los smbolos guin bajo (_), signo monetario ($), punto (.)
y los dos puntos (:) que indica el final de la etiqueta.
El campo comentario va precedido del smbolo !.
Los operandos se separan con comas (,) y su uso depender de cada
instruccin.

5. FORMATO DE INSTRUCCIONES EN ARC


El formato de instruccin definir como el programa ensamblador (que traduce
programas en lenguaje assembler a cdigos binarios), distribuye los diferentes
campos de una instruccin y la forma en que los interpreta la Unidad de
Control.

Pgina 3 de 9

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

Trabajo Prctico N 6

Cada instruccin tiene 32 bits.


Los dos bits ms significativos forman el campo OP, que corresponde al cdigo
de operacin, a partir de ste se identificar el formato.

6. EL PROCESO DE ENSAMBLADO.
Un compilador traduce un lenguaje de alto nivel, que es independiente de la
arquitectura, a lenguaje ensamblador, el cual es dependiente de la arquitectura.
El proceso de transformar un programa en lenguaje ensamblador en un
programa en lenguaje de mquina se conoce como proceso de ensamblado.
Los ensambladores comerciales proveen las siguientes prestaciones:
-- Permite al programador especificar la ubicacin de variables y programas.
-- Provee expresiones nemnicas en el lenguaje de programacin para todas
las instrucciones del lenguaje de mquina y modos de direccionamientos y
traduce sentencias vlidas al lenguaje absoluto.
-- Permite el uso de rtulos simblicos para representar direcciones y
constantes.
-- Ofrece al programador especificar la direccin de inicio de un programa, si
existiera.
-- Incluye un mecanismo que permite la definicin de variables en un programa
escrito en lenguaje simblico y el uso de las mismas en otro programa
ensamblado por separado.
-- Provee la expansin de macro rutinas (se definen una sola vez).

Pgina 4 de 9

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

AO 2015

Trabajo Prctico N 6

PROBLEMAS PROPUESTOS

1) Grafique y explique el modelo de un sistema de computacin con estructura


de buses.
2) Describa al computador ARC.
3) Describa la memoria del computador ARC.
4) Cuando se utilizan palabras de ms de un byte, qu alternativas conoce
en cuanto a la forma de almacenar sus bytes en memoria?
5) Cmo est compuesta la CPU? Describa las funciones de sus bloques.
6) Para qu sirven el contador de programa y el registro de instruccin?
7) Cmo es el Ciclo de Bsqueda Ejecucin?, para qu sirve? En el paso
1 del mismo qu registros del CPU estn involucrados?
8) Cuntos registros de propsito general hay en el CPU de un computador
ARC? Particularice los registros 0, 14 y 15.
9) Qu es PSR? Explique las funciones de cdigos de condicin. Cmo
indicara que el resultado es positivo?
10) Explique cada subconjunto de instrucciones ARC.
11) Qu son pseudo operaciones o directivas? Describa brevemente.
12) Qu sucede cuando una sentencia, en un proceso de traduccin, aparece
antes del .begin o despus del .end, para el lenguaje ensamblador de
ARC?.
13) Explique la diferencia entre el lenguaje de mquina y el lenguaje simblico.
14) Cules son la primera y la ltima direccin de una memoria de 220 bytes si
la menor estructura direccionable es una palabra de cuatro bytes?
15) En la siguiente figura se muestra un mapa de memoria de ARC. Qu
cantidad de memoria (en bytes) tiene disponible para cada uno de los
mdulos de memoria de video adicionales? (Se pide la respuesta en la
forma de potencias de 2 o suma de potencias de 2, por ejemplo, 210).

Pgina 5 de 9

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

AO 2015

Trabajo Prctico N 6

16) Escribir una subrutina para ARC que realice una operacin de intercambio
entre los operandos de bits x = 25 e y = 50, los que se encuentran
almacenados en memoria. Usar la menor cantidad de registros.
17) Desarrolle un programa en assembler que realice el clculo: z = x + y.
18) A continuacin se muestra una seccin de cdigo simblico de ARC,
responda:
a. Qu funcin cumple el programa? Cmo lo hace?
b. Indique cuales son las etiquetas, las directivas, las instrucciones y los
comentarios.
c. Pselo a lenguaje mquina.

Pgina 6 de 9

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

AO 2015

Trabajo Prctico N 6

19) Un sistema buscador contiene un pequeo procesador con una memoria de


27 palabras de 8 bits. La arquitectura de programacin tiene cuatro
registros: R0, R1, R2 Y R3. El conjunto de instrucciones se muestra en la
siguiente figura, as como los cdigos binarios correspondientes a cada
registro, al formato de instruccin y a los modos, los que determinan si el
operando es un registro (bit de modo = 0). Uno de los operandos o los dos
pueden estar en registros, pero no pueden ser simultneamente posiciones
de memoria. Si el operando origen o si el destino corresponden a una
posicin de memoria, no se utilizan los campos de origen o de destino de la
instruccin, dado que en su lugar se utiliza el campo de direcciones.
a) Escribir un programa que utilice cdigo objeto (no simblico) para
intercambiar los contenidos de los registros R0 y R1. De ser necesario,
pueden utilizarse los otros registros, pero no se debe emplear posicin
alguna de memoria. Usar no ms de cuatro lneas de cdigo (pueden ser
menos) Colocar ceros en cualquier posicin cuyo valor no interese.
b) Usar cdigo objeto para escribir un programa que intercambie los
contenidos de las posiciones de memoria 12 y 13. Como en la consigna
anterior, est permitido utilizar los registros que sean necesarios, pero
no posiciones de memoria. Nuevamente, colocar ceros en cualquier
posicin cuyo valor no interese.

Pgina 7 de 9

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES

Trabajo Prctico N 6

20) Crear una tabla de smbolos para el segmento de programa ARC que se
muestra a continuacin.
! Programa principal
.begin
.org
2048
.extern sub
main ld
[x],
%r2
ld
[y],
%r3
call
sub
jmpl
%r15 + 4,
x:
105
y:
92
.end

! Biblioteca de subrutina
.begin
ONE
.equ
.org
.global
sub:
orncc
%r3
addcc
%r3
jmpl
%r3
.end

%r0

1
2048
sub
%r3,

%r0,

%r3,

ONE,

%r15

4,

21) Un desensamblador es un programa que lee un mdulo objeto y recrea el


mdulo fuente en lenguaje simblico. Dado el siguiente cdigo objeto,
desensamblarlo para obtener las sentencias correspondientes del lenguaje
simblico ARC. Dado que el cdigo objeto no contiene informacin
suficiente para determinar los nombres de los smbolos, se les asignarn
ordenadamente las letras del abecedario a medida que sean necesarias.
1100
1100
1000
1100

0010
0100
0110
0110

0000
0000
1000
0100

0000
0000
0000
0000

0010
0010
0100
0010

Pgina 8 de 9

1000
1000
0000
1000

0001
0001
0000
0001

0100
1000
0010
1100

AO 2015

Universidad Tecnolgica Nacional


Facultad Regional Tucumn

ARQUITECTURA DE COMPUTADORES
1000
0000
0000
0000

0001
0000
0000
0000

1100
0000
0000
0000

0011
0000
0000
0000

1110
0000
0000
0000

Trabajo Prctico N 6
0000
0000
0000
0000

0000
0000
0000
0000

0100
1111
1001
0000

22) Qu es un ensamblado de dos pasadas?


23) Un programa que est en lenguaje de mquina debe ser pasado a lenguaje
simblico. Una vez traducido, con cuntas directivas, etiquetas y
comentarios finales queda el programa traducido?.

Pgina 9 de 9