You are on page 1of 30

Integrantes

Riera Juan Pablo


Leandro Maldonado
Aparicio Facundo Daniel

1. Explique niveles de mquina.


La computadora pude verse de distintas perspectivas o niveles que van desde el nivel
superior corresponde al usuario, hasta el nivel inferior el de los transistores.

2. Cmo surgi y a que hace referencia compatibilidad hacia arriba?


IBM fue la primera en el concepto Familia de computadora, aplicado en su serie 360.Las
computadoras ms poderosas de la familia podan ejecutar los programas escritos para las
maquinas menos potentes, sin modificaciones en dichos programas (compatibilidad hacia
arriba)
3. Qu entiende por ciclo de instruccin? Cmo se subdivide?
CICLO DE INSTRUCION:
a) Recuperar la siguiente instruccin desde la memoria (por el PC) y luego
incrementa el PC.
b) Decodificar el patrn de bits en el registro de instrucciones IR.
c) Ejecutar la instruccin indicada en el registro de la instruccin IR.
4. En la memoria RAM, qu se almacenan?

Datos e Instrucciones.
5. A qu llamamos direccin en una memoria?

Direccin de memoria: Identifica una celda en la memoria en la que se almacena


informacin.

6. Explique el concepto de palabra y de qu depende ste.

Son las posiciones de almacenamiento.

7. Qu son registros?

Proporciona almacenamiento interno a la CPU.

8. Qu es un decodificador y qu funcin cumplira en una memoria?

El compilador: es un programa que convierte un lenguaje de alto nivel a uno de bajo nivel
(asamblea)

9. Explique la diferencia entre el lenguaje mquina y el lenguaje simblico. De qu otra


forma se denominan estos lenguajes? Varan segn las arquitecturas?

La principal diferencia entre el lenguaje de mquina y el simblico es que la computadora


solo entiende el lenguaje de mquina que es la instruccin puesta como ceros y unos. La
combinacin de ambos es el lenguaje assembler. No vara segn el tipo de arquitectura.

10. Qu hace un programa compilador y uno ensamblador?

Un programa compilador es el programa que convierte los tipos de datos y las


instrucciones desde el lenguaje de alto nivel hacia los circuitos de la computadora.
Un programa ensamblador se usa para traducir los esquemas nemotcnicos de un
lenguaje comn, tales como MOVE, DATA, ACC a sus correspondientes expresiones
formadas por ceros y unos en el lenguaje de mquina

11. Explique momento de compilacin, momento de ensamble, momento de enlace,


momento de carga, y momento de ejecucin.

Momento de compilacin: El compilador se enfrenta a la conversion de algunas o mas


sentencias de lenguaje simbolico. Tiene que lidear con algunas tareas complejas como:
Reconocer dentro del texto del programa los smbolos bsicos del lenguaje.
Analizar los smbolos para reconocer la estructura de programacin subyacente.
Anlisis de nombres.
Asociar los nombres con variables particulares del programa y posterior con
posiciones particulares de memoria en las que se almacenaran dichas variables al
momento de la ejecucin del programa.
Anlisis de tipo. Determinar el tipo de todos los datos requeridos.
Asignacin de acciones y generacin de cdigo. Es la accin de asociar las
sentencias de programa con la secuencia apropiada del lenguaje ensamblador.

Adems de las mencionadas existen acciones adicionales que deben ser resueltas por el
compilador, como la asignacin de variables a registros, el control del uso de registros y si
as lo quisiera el programador la optimizacin del programa.

Momento de ensamble: El proceso de traduccin de un programa expresado en lenguaje


simblico se conoce como proceso de ensamblado. Este proceso es lineal y simple, hay
una relacin directa y nico entre las sentencias del lenguaje simblico y sus expresiones
en el lenguaje de mquina. Si bien el ensamblado es un proceso lineal, es tedioso y
proclive al error si se hace a mano. Se podra destacar que el programa ensamblador es
una de las primas herramientas de software desarrolladas luego de la invencin de la
computadora electrnica digital.

Momento de Enlace y Carga: La mayora de las aplicaciones de cualquier tamao tienen


una cantidad de mdulos que han sido compilados o ensamblados por separado. Estos
mdulos pueden haber sido generados por distintos lenguajes de programaciones o
pueden integrar una biblioteca provista como parte del ambiente del lenguaje de
programacin o del sistema operativo. Cada mdulo deber proveer la informacin
descripta anteriormente de modo que todos ellos puedan vincularse en forma conjunta
para su carga y ejecucin.
Esto se trata de un programa llamado editor de enlace o linker que combina programas
ensamblados por separado en un nico programa o mdulo de carga. El linker resuelve
todas las referencias globales y externas y reubica las direcciones de los diferentes
mdulos. El mdulo de carga puede ser cargado en memoria por medio de un cargador
que tambin modifica direcciones si el programa se carga en una direccin distinta a las
direcciones de origen de carga usada por el linker.

Enlace (Linking): Al combinar los mdulos ensamblados o compilados por separado en un


mdulo de carga el programa de enlace debe:
referencias de direcciones externas a los mdulos a medida que los vincula.
Reubicar cada mdulo por medio de la combinacin ms apropiada de los mimos.
Durante este proceso de reubicaciones muchas de las direcciones del mdulo pueden
llegar a modificarse para reflejar su nueva ubicacin.
Especificar el smbolo de comienzo del mdulo de carga.
Si el modelo de memoria incluye ms de un segmento de memoria, debe especificar
los contenidos e identidades de los diversos segmentos.

Carga: El cargador (loader) es un programa que ubica el mdulo de carga en la memoria


principal. Conceptualmente, las tareas del programa cargador no son complejas. Debe
cargar los diversos segmentos de memoria con los valores apropiados e inicializar ciertos
registros, como el puntero de pila %sp y el contador de programa %pc, a sus valores
iniciales.

Momento de ejecucin: Se lo podra definir de distintos modos como al intervalo de en el


que un programa de computadora se ejecuta en un sistema operativo. Este tiempo se
inicia con la puesta en memoria principal del programa, por lo que el sistema operativo
comienza a ejecutar sus instrucciones. El intervalo finaliza en el momento en que ste
enva al sistema operativo la seal de terminacin, sea sta una terminacin normal, en
que el programa tuvo la posibilidad de concluir sus instrucciones satisfactoriamente, o una
terminacin anormal, en el que el programa produjo algn error y el sistema debi forzar
su finalizacin. Si vamos a una definicin ya en un entorno de ejecucin seria que es un
estado de mquina virtual que suministra servicios para los procesos de un programa de
computadora que se est ejecutando. Puede pertenecer al mismo sistema operativo, o ser
creado por el software del programa en ejecucin.

12. Qu es el conjunto de instrucciones? Es igual en todos los procesadores?

El conjunto de instrucciones es la coleccin de instrucciones que un procesador puede


ejecutar, lo que en efecto define al procesador. Los conjuntos de instrucciones pueden ser
completamente diferentes de un procesador a otro. Difieren los tipos de tamaos de las
instrucciones, el tipo de operaciones que permiten, el tipo de operandos con los que pueda
trabajar y los tipos de resultados que puede entregar.

13. Explique los componentes del Modelo de Von Neumann.

Sus componentes son:

a) Unidad de entrada: proveen datos e instrucciones requerida por el sistema.


b) Unidad de Salida: Recibe los resultados.
c) Unidad de Memoria: Almacena datos e informacin.
d) Unidad Aritmetica-Logica: Procesa datos e instrucciones.

14. Cul es el concepto ms importante que se introduce con el Modelo de Von Neumann?

El programa almacenado en memoria.

15. Dibuje y explique el formato de instruccin del Modelo de Von Neumann


La ALU y La AC, forman la unidad central de procesamiento (CPU), Las flechas gruesas
presentan RUTAS DE DATOS y las finas RUTAS DE CONTROL.

16. Nombre los principales registros y buses de la mquina de Von Neumann.

Los principales registros de esta computadora son:

MAR: (Registro de direccin)


MBR: (Registro temporal de memoria)
PC: (Contador de Programa)
AC: (Acumulador)
INPR: (Registro de entrada)
OUTR: (Registro de salida)

17. Explique cmo se ejecutaran los ciclos de bsqueda y ejecucin en el modelo de Von
Neumann.

La funcin bsica que realiza un computador es la ejecucin de un programa, constituido


un conjunto de instrucciones almacenadas en memoria. El procesador es precisamente el
que se encarga de ejecutar las instrucciones especificadas en el programa. Esta seccin
proporciona una revisin de los aspectos clave en la ejecucin de un programa, que en su
forma ms simple consta de dos etapas: El procesador lee {capta) la instruccin de
memoria, y la ejecuta. La ejecucin del programa consiste en la repeticin del proceso de
captacin de instruccin y ejecucin de instruccin. Por supuesto, la ejecucin de la
instruccin puede a su vez estar compuesta de cierto nmero de pasos. El procesamiento
que requiere una instruccin se denomina ciclo de instruccin. Los dos pasos se denotan
como ciclo de captacin y ciclo de ejecucin. Al comienzo de cada ciclo de instruccin, la
CPU capta una instruccin de memoria. En una CPUtpica, se utiliza un registro llamado
contador de programa (PC, ProgramCounter) para seguir la pistade la instruccin que debe
captase a continuacin. A no ser que se indique otra cosa, la CPU siempreincrementa el PC
despus de captar cada instruccin, de forma que captar la siguiente instruccin dela
secuencia (es decir, la instruccin situada en la siguiente direccin de memoria).
La instruccin captada se almacena en un registro de la CPU conocido como registro de
instruccin (IR, InstructionRegister). La instruccin se escribe utilizando un cdigo binario
que especifica la accin que debe realizar la CPU. La CPU interpreta la instruccin y lleva a
cabo la accin requerida. En general, esta puede ser de cuatro tipos:

Procesador-Memoria: deben transferirse datos desde la CPU a la memoria, o desde la


memoria a la CPU.
Procesador-E/S: deben transferirse datos a o desde el exterior mediante
transferencias entre la CPU y un mdulo de E/S.
Procesamiento de Datos: la CPU ha de realizar alguna operacin aritmtica o lgica
con los datos.
Control: una instruccin puede especificar que la secuencia de ejecucin se altere.

Se requieren tres instrucciones, que consumen tres ciclos de captacin y tres de ejecucin:

1. El contador de programa (PC) la direccin de la primera instruccin. Esta instruccin se


carga en el registro de instruccin (IR). Obsrvese que este proceso implicara el uso del
registro de direccin de memoria (MAR) y el registro de datos de memoria (MBR). Por
simplicidad, se han ignorado estos registros intermedios.
2. Los primeros cuatro bits de IR (primer dgito hexadecimal) indican que el acumulador
(AC) se va a cargar. Los restantes 12 bits (tres dgitos hexadecimales) especifican la
direccin que se va a cargar.
3. El registro PC se incrementa, y se capta la siguiente instruccin.
4. El contenido anterior de AC y el de la posicin de memoria se suman, y el resultado se
almacena en AC.

18. Indique las partes en que est compuesta la estructura del computador IAS y las
subdivisiones de la CPU. Describa en forma sinttica la funcin que cumple cada una de
ellas y sus registros

EL COMPUTADOR IAS
La estructura general del computador IAS. Esta consta de:
Una memora principal: almacena tanto datos como instrucciones.
Una unidad aritmtica-lgica: capaz de hacer operaciones con datos binarios.
Un Equipo de entrada y salida: dirigido por la unidad de control.

19. A partir del Modelo de Von Neumann, indique que otros registros se incorporan al IAS y
que uso tienen.

El computador IAS Utiliza los mismos registros de von Neumann y adems incorpora dos
nuevos registros:

IBR (Registro temporal de Instruccin): Empleado para almacenar


temporalmente la instruccin contenida en la parte derecha de una
palabra en la memoria.
MQ (Multiplicador cociente): se emplea para almacenar operados y
resultados de operaciones de la ALU temporalmente.

20. En el modelo IAS indique cuales son los registros de la ALU y cules de la UC.

Registros de la ALU:

AC y MQ (acumulador y multiplicador cociente):se emplea para almacenar


operados y resultados de operaciones de la ALU temporalmente
MBR (Registro temporal de memoria):contiene una palabra que debe ser
almacenada en la memoria, o es usado para recibir una palabra procedente de la
memoria.

Registros de la UC (unidad de control):


IBR (registro temporal de memoria): empleado para almacenar temporalmente la
instruccin contenida en la parte derecha de una palabra en memoria.
PC (contador de programa): contiene la direccin de la prxima pareja de
instrucciones que van a ser capturadas de la memoria.
IR (Registro de instruccin): Contiene los ocho bits del cdigo de operacin de la
instruccin que se va a ejecutar.
MAR (registro de direccin de memoria): especifica la direccin en memoria de la
palabra que va a ser escrita o leda MBR.

21. Cuntas palabras tiene la memoria del IAS?, qu longitud tienen?, qu tipos de
palabras usa?

La memoria de la arquitectura IAS, consiste de 1000 posiciones de almacenamiento,


llamadas palabras, de cuarenta dgitos binarios (bits) cada una.
Con este formato de la palabra instruccin se pueden extraer dos instrucciones al mismo
tiempo, cada una de 20

Bits (8 bits para el CODOP y 12 bits para la instruccin).

22. Cuntos bits tiene una instruccin en IAS?, cmo est formada?

La instruccin izquierda est formada por 20 bits (ocho para el codop, 12 para la
instruccin).La instruccin derecha est formada por 20 bits (ocho para el codop, 12 para
la instruccin).

23. En qu tipo de instrucciones se clasifica el conjunto de instrucciones del IAS?

El computador IAS tiene un total de 21 instrucciones, estas se pueden agrupar de la


siguiente manera:

Transferencia de datos: transferir datos entre la memoria y los registros de la ALU


o entre dos registros de la ALU.
Salto incondicional: normalmente la unidad de control ejecuta instrucciones
secuencialmente en la memoria. Las instrucciones de salto pueden cambiar esta
secuencialidad. Esto facilita las operaciones repetitivas.
Salto condicional: el salto de una condicin, lo que permite puntos de decisin.
Aritmtica: operaciones realizadas por la ALU.
Modificacin de direcciones: permite que la LU haga operaciones con las
direcciones y las inserta en instrucciones almacenadas en memoria. Esto permite
una considerable flexibilidad de direccionamiento en un programa.

24. Escribir un programa que lea un dato de la direccin 600 de memoria y lo almacene en la
direccin 601.
LOAD M(600)

STOR M(601)

25. . Escribir un programa que sume el nmero almacenado en la posicin 867 ms el nmero
almacenado en la posicin 562. El resultado de la suma (sin considerar acarreo) se debe
almacenar en la posicin 778.

LOAD M (867)

ADD M (562)

STOR M (778)

26. Escribir un programa que divida el nmero almacenado en la posicin 867 por 8. El
resultado de la divisin (sin considerar el resto ni la parte fraccionaria) se debe almacenar
en la posicin 778.

LOAD M (867)

RSH

RSH

RSH

STOR M (778)

27. Dado el siguiente programa:

LOAD M(1048) %ac 55


ADD M(1049) %acac+11
RSH %acac/2
RSH %acac/2
STOR M(1050) %transferir el acumulador en la posicin 1050 de memoria.

1048 55
1049 11
1050 0
Se pide que:
A. Escriba el comentario de lo que hace cada instruccin.
B. Pase el programa a lenguaje de mquina.

00000001 010000011000
00000101 010000011001
00010101
00010101
00100001 010000011010

28. Explique cmo se ejecutaran los ciclos de bsqueda y ejecucin en el computador IAS.

Durante el ciclo de bsqueda de captacin, el codop de la siguiente instruccin es cargado


al IR y la parte que contiene la direccin es almacenada en el MAR, esta instruccin puede
ser captada desde el IBR, o puede ser obtenida de la memoria cargando una palabra en el
MBR, y luego IBR, IR y MAR.

Una vez que el codop est en el IR, se lleva a cabo el ciclo de ejecucin. Los circuitos de
control interceptan el codop y ejecutan las instrucciones enviando seales de control a la
ALU y el PC incrementa en 1.

29. Indique en donde se almacenan las instrucciones previas al ciclo de bsqueda, durante el
ciclo de bsqueda y en el momento en que se estn ejecutando.

Las instrucciones previas al ciclo de bsqueda se encuentran en la memoria. Luego se


transfiere al IR y MAR.

30. Dada una hipottica maquina (computador) que maneja una Memoria de 128 MB, en
donde cada registro de memoria tiene una longitud de 16 bits, cuyo Procesador posee un
conjunto de 3 instrucciones (sumar, leer de la memoria, escribir en la memoria). Los
cdigos numricos asignados a cada operacin son desde el nmero 0 (cero) en adelante,
desde la primera operacin que es la suma. Esta mquina trabaja con un formato de
instruccin que puede manejar una direccin por vez.
Se pide:
a) Cuntos bits se necesitan para representar las tres instrucciones?
b) Dibujar el formato de instruccin correspondiente, indicando el nombre de cada
campo, su funcin y longitud.
c) Con el formato del punto anterior, realizar el cdigo mquina de la instruccin de
lectura de un dato en la posicin 900 de memoria.
d) Escribir la instruccin del punto anterior en lenguaje assembler, de acuerdo a la
arquitectura IAS.

Respuestas:
a) 2 bits se necesitara para poder representar las 3 instrucciones.
b) Formato de instruccin:

CODOP DIRECCION
2bits 14bits

c) LOAD M(900)

d)

CODOP DIRECCION
01 00001110000100

31. Dado el ejemplo de una mquina hipottica (figura 3.5, pgina 64, captulo 3, libro del
autor Stallings), indique qu hace en sus seis pasos?, cuntas instrucciones usa?,
cuntos ciclos de instruccin se usaron?

Paso 1: El PC contiene la direccin de la primera instruccin (300).Esta instruccin se carga


en el IR.
Paso 2: Los primeros 4bits del IR, Indican que el AC se va a cargar la direccin (904).
Paso 3:se Incrementa el PC y se capta la siguiente instruccin (5941) desde la direccin.
Paso 4: el contenido anterior del AC se suman con la posicin 941 y el resultado se
almacena en AC.
Paso 5: El PC se incrementa y capta la instruccin (294) de la posicin 302.
Paso 6: El contenido de AC se almacena en la posicin 941.

Utiliza 3 Instrucciones (leer, escribir, sumar).


Se utilizaron dos ciclos de instrucciones.
32. . Dibuje el modelo de Bus de Sistema. Explique las funciones de sus componentes.

La CPU genera direcciones que se transfieren sobre el bus de direcciones. La Memoria


recibe esas direcciones a travs del mismo bus. La Memoria nunca genera direcciones y la
CPU nunca recibe direcciones.

33. En el Modelo de Bus de Sistema:


1. qu componente ejecuta las instrucciones?

Las instrucciones se ejecutan dentro de la CPU, a pesar que las instrucciones y los
datos se encuentren almacenados en la memoria.

2. cul almacena los datos y los programas listos para ejecutarse?

Las instrucciones y los datos deben cargarse desde la memoria hacia los registros de la
CPU, en tanto q los resultados deben devolverse a la memoria para su
almacenamiento desde los registros de la CPU.

34. Explique cmo se ejecutaran los ciclos de bsqueda y ejecucin en el modelo de Bus del
Sistema.

La CPU enva la direccin a buscar en la Memoria, a travs del Bus de Direccin .Lo buscan
y lo devuelve a la CPU a travs del Bus de Datos

35. Indique las caractersticas de las arquitecturas RISC y CISC.


Arquitecturas RISC y CISC:

Una de las primeras decisiones a la hora de disear un microprocesador es decidir


cul ser su juego de instrucciones.
La decisin por dos razones; primero, el juego de instrucciones decide el diseo fsico
del conjunto; segundo, cualquier operacin que deba ejecutarse en el microprocesador
deber poder ser descrita en trminos de un lenguaje de estas instrucciones.

Frente a esta cuestin caben dos filosofas de diseo; mquinas denominadas CISC y
mquinas denominadas RISC.

Cuando hablamos de microprocesadores CISC, computadoras con un conjunto de


instrucciones complejo, (del ingls complexinstruction set computer), y
procesadores RISC, computadoras con un conjunto de instrucciones reducido, (del
ingls reducedinstruction set computer), se piensa que los atributos complejo y
reducido describen las diferencias entre los dos modelos de arquitectura para
microprocesadores.
Esto es cierto solo de forma superficial, pues se requiere de muchas otras
caractersticas esenciales para definir los RISC y los CISC.

Hasta hace solo algunos aos, la divisin era tajante: RISC se utilizaba para entornos
de red, mientras que CISC se aplicaba en ordenadores domsticos. Pero en la
actualidad se alzan voces que afirman que CISC est agotando sus posibilidades,
mientras otras defienden fervientemente que CISC ya ha alcanzado a RISC,
adoptando algunas de sus principales caractersticas.

Arquitectura RISC

En la arquitectura computacional, RISC (del ingls reducedinstruction set computer) es


un tipo de microprocesador con las siguientes caractersticas fundamentales:

Las mquinas RISC protagonizan la tendencia actual de construccin de


microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC... son ejemplos de
algunos de ellos.
RISC es una filosofa de diseo de CPU para computadora que est a favor de
conjuntos de instrucciones pequeas y simples que toman menor tiempo para
ejecutarse.

El tipo de procesador ms comnmente utilizado en equipos de escritorio, el x86, est


basado en CISC en lugar de RISC, aunque las versiones ms nuevas traducen
instrucciones basadas en CISC x86 a instrucciones ms simples basadas en RISC
para uso interno antes de su ejecucin.

La idea fue inspirada por el hecho de que muchas de las caractersticas que eran
incluidas en los diseos tradicionales de CPU para aumentar la velocidad estaban
siendo ignoradas por los programas que eran ejecutados en ellas. Adems, la
velocidad del procesador en relacin con la memoria de la computadora que acceda
era cada vez ms alta. Esto con llev la aparicin de numerosas tcnicas para reducir
el procesamiento dentro del CPU, as como de reducir el nmero total de accesos a
memoria.
36. Describa la memoria del computador ARC. Qu es el mapa de memoria? Dibuje el de la
arquitectura ARC. Qu es el espacio de direcciones? .A qu memoria se refiere?

El espacio de direcciones de la arquitectura estdividida en diferentes sectores, los que se


utilizan para el sistema operativo, para los elementos de E/S, para los programas del
usuario y para la pila del sistema. La Distribucin de estos sectores formaEL MAPA DE
MEMORIA.

37. Cuando se utilizan palabras de ms de un byte, qu alternativas conoce en cuanto a la


forma de almacenar sus bytes en memoria?

Cuando se utilizan palabras de ms de un byte, hay dos alternativas en cuanto a la formas


de almacenar sus bytes de memoria; En la primera de ellas, el byte ms significativo se
almacena en la direccin ms baja de la memoria (bigendian) y en la otra, el byte menos
significativo en la direccin ms baja de memoria (Little endian).

38. .Indique los tipos y tamaos de las palabras en la arquitectura ARC

La direccin de la palabra de 32 bits es la del byte almacenado en la menor de las


direcciones de la palabra.

ARC tiene diferentes tipos de datos (byte, media palabra,entero, etc.), pero, por el
momento considerara solo el tipo de datos enteros 32 bits.Cada entero se almacena en
memoria como un conjunto de 4 bits. La arquitectura ARC funciona con el byte ms
significativo almacenado en la menor de las direcciones asignada a la palabra, lo que se
conoce como almacenamiento bigendian.

39. Una palabra en ARC cuntos registros usa?, de cuntos bytes cada uno?

En la ARC cada palabra tiene 32 bits,esta dividida en 4 registros de 8 bits cada uno .
40. Cules son la primera y la ltima direccin de una memoria de 2^(20) bytes si la menor
estructura direccionable es una palabra de cuatro bytes?

La primera direccin de la memoria es la 0 Y ultima 2^(20)-4

41. 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, 2^(10).

42. Cmo est compuesta la CPU en ARC? Describa las funciones de sus bloques

La arquitectura de la CPU consiste en una seccin de datos, formada por los registros y la
ALU, y una seccin de control, la que interpreta las instrucciones y realiza transferencias
entre los registros. La seccin correspondiente a los datos se conoce tambin como
Trayecto de datos.

La CPU, Unidad Central de Procesamiento, 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.

43. Cmo est formado el bloque trayecto de datos? De qu otra forma se lo llama
tambin? Dibuje el trayecto de datos, indicando las funciones de los buses y dems
elementos involucrados.

El trayecto de datosest constituido por un conjunto o bloque de registros por la unidad


aritmtica-lgica, tres buses conectan el trayecto de datos con el bus del sistema esto
permite la trasferencia de datos entre la memoria principal y el conjunto de registros .tres
buses adiciones conectan el conjunto de registros con la unidad aritmtica-lgica. Estos
buses permiten la bsqueda simultnea de dos operados almacenados en el conjunto de
registros, para ser procesados por la ALU, tras la cual se devuelve el resultado en el
conjunto de registros. La unidad de control selecciona las operaciones de uno y dos
operados, entre las cuales se incluyen la suma, el producto y las operaciones lgicas. Los
operados se transfieren desde el bloque de registros a travs de dos buses que se
conectan con los registros de origen rs1y rs2.La salida de la ALU se coloca en el bus que
conduce el registro destino(rd) con el objetivo de devolver el resultado al registro
correspondiente dentro del conjunto de registro.

44. Qu funciones cumple el bloque de control?

La unidad de control es la responsable de coordinar las distintas unidades que intervienen


en la ejecucin de un programa de computador.

45. Cuntos bits se usan para indicar la direccin de un registro de la CPU? Por qu?

Para indicar la posicin de un registro de la CPU solamente se necesitan 5bits, ya que


solamente contamos con 32 registros.

46. Para qu sirven el contador de programa y el registro de instruccin?

El contador de programa (PC) Contiene la direccin de la instruccin a ejecutar. La


instruccin a la que apunta el PC se rescata de la memoria y se almacena en el IR, desde
donde se la interpreta.

47. Cmo es el Ciclo de Bsqueda Ejecucin en ARC?, para qu sirve? En el paso 1 del
mismo qu registros del CPU estn involucrados? En cunto se debe incrementa el PC y
por qu?

1_Busqueda en la memoria de la prxima instruccin a ser ejecutada.


2_Decodificacion del cdigo de operacin.
3_Busqueda de operando en la memoria. Si los hubiera.
4_Ejecutar la instruccin y almacenar el resultado.
5_volver al paso 1.
48. Cuntos registros de propsito general hay en el CPU de un computador ARC?
Particularice los registros 0, 14 y 15.

La arquitectura ARC contiene 32 registros denominados %r0-%r31, cada uno de los cuales
contiene una palabra de 32 bits. Tambin existe un registro de estado del procesador
(PSR),que describe el estado vigente del procesador, y un contador de programa (PC) de
32 bits. Los registros %14 y %15 tienen aplicacin adicional como puntero de pila (%sp) y
Registro de enlace y el %r0 siempre contiene el valor 0 por lo cual no pude modificarse.

49. Qu es PSR? Explique las funciones de cdigos de condicin. Cmo indicara que el
resultado es positivo?

Registro de estado del procesador (PSR): contiene informacin acerca del estado del
procesador, incluida la informacin referida a los resultados de las operaciones
aritmticas. Las banderas aritmticas, del registro de estado se denominan Cdigos de
condicin. Especifican si una operacin aritmtica determinada el resultado dio cero (z). Si
dio un nmero negativo (n), si se obtuvo un arrastre a la salida de la unidad aritmtica-
lgica (c), o si se produjo un desborde (v).

50. Indique la diferencia entre registros del CPU y registros de la memoria RAM.

ARC es una mquina de 32 bits con capacidad para manejar tipos de datos de 32 bits. La
direccin de las palabras de 32 bits es la del byte almacenado en la menor de las
direcciones de la palabra. La memoria est dividida de la siguiente manera:

Las primeras 20148 direcciones se reservan para el sistema operativo.


El espacio del usuario es el que se reserva para la carga de los programas
ensamblados por el usuario.
La pila del sistema se inicia en la direccin 2^(31) -4
La zona 2^(31) y 2^(32)-1 se reserva para los dispositivos de entrada y
salida.

Los registros de la CPU

Tienen 32 registro de uso general, as como tambin un Contador de


Programa (PC) y un registro de Instruccin (IR).
Existe un registro de estado del procesador (PSR).
ARC es una mquina de arquitectura carga-descarga.

51. Cuntas instrucciones a la vez ejecuta la CPU en ARC?, en qu lenguaje deben estar esas
instrucciones?
52. Explique cada subconjunto de instrucciones ARC.

Instrucciones de memoria:

Las primeras dos instrucciones ld y st transfiere una palabra entre la memoria entre la
memoria principal y algunos de los registros de ARC. La instruccin sethi carga los 22 bits
ms significativos de un registro con la constante de 22 bits contenida dentro de la
instruccin.

Instrucciones aritmticas:

Las instrucciones andcc,orccyorncc realizan operaciones Y,O y NOR, respectivamente,


sobre sus operandos. Uno de los operandos orgenes debe estar en un registro.

La instruccin sr1 desplaza un registro un registro hacia la derecha y carga los ceros en el
bit ms significativo.

La instruccin sra, desplaza el contenido original del registro a la derecha y almacena una
copia del bit ms significativo del contenido original.

La instruccin addcc realiza sobre sus operandos una suma de 32 bits en complemento a
dos.

Instrucciones de control:

Las instrucciones call y jmpl dormn un par utilizando para el llamada de subrutinas y el
retorno desde las mismas, respectivamente. La instruccin jmpl tambin se utiliza para
transferir el control a otro sector del programa.

Las ltimas cinco instrucciones de salto o bifurcacin condicional .Las instrucciones


be,bneg,bcs,ba provocan un salto en la secuencia de ejecucin de un programa .Se las
llama condicionales debido a que verifican uno o ms de los cdigos de condicin del
registro de estado , y provocan el salto si los bits construccionales de alto nivel.
53. Cmo es el formato del lenguaje simblico 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.

54. De ejemplos de instruccin en assembler para:


A. Leer el contenido de la direccin 2048 de memoria, use el registro 24 como
destino.
B. Escribir en la direccin 4096 de memoria el contenido del registro 24.
C. Leer el contenido de la direccin 4096 de memoria, use dos registros fuentes y
el registro 24 como destino.
D. Leer el contenido de la direccin 4096 de memoria, use un registro fuente y una
constante, y el registro 30 como destino.
E. Suma aritmtica usando dos registros fuentes, y el registro 5 como destino.
F. Suma aritmtica usando un registro fuente y una constante, y el registro 10
como destino.
G. Suma lgica, usando dos registros fuentes y el registro 23 como destino.
H. Salto a subrutina, usando un valor, no etiqueta, para la cantidad de palabras a
saltar. Reescriba la instruccin usando etiqueta.
I. Retorno de subrutina.
J. Salto incondicional.
K. Salto condicional.

a)Inst 1: ld [%ro,2048],%24

b) Inst 2: st%24,[%r0,4096]

c) Inst 3: ld [%r1,%r2], %24 !%r1= 2048, %r2=2048

d) inst 4: ld [%r0,4096], %r30

e) inst 5: addcc %r1,%r2,%r5

f) inst 6: addcc %r0,2048,%r10

g) inst 7:addcc %r3,%r6,%r23

h) Inst 8: call 50,call X !X=50

i) Inst 9: jmpl %15+4,%r0

j) Inst 10: ba 100

K) Inst 11: ba loop.

55. . Dibuje un mapa de memoria que ejemplifique la instruccin de lectura ld [%r0, %r1],
%r24, la cual se encuentra en la posicin 20004, el contenido del registro 1 es 4096, y en la
posicin 4096 se encuentra el dato 212. Indique en CPU que valor queda almacenado en el
registro destino.

212 4096

Ld[%r0,%r1],%r24 20.004
!%r0=0
!%r1=4096
!%r24=212
!PC=20.004
!IR=ld[20004],%24

56. De un ejemplo de instruccin en assembler de suma lgica usando dos registros fuentes y
el registro 25 como destino. Los valores de los registros fuentes son 00000000(16) y
FFFFFFFF(16). Indique que valor queda almacenado en el registro destino. Dibuje un mapa
de memoria que ejemplifique la instruccin, usted decida la direccin de la misma

Orcc %r1,%r2,%25

En el registro %r25, que almacenado el valor FFFFFFFF(16). Al realizarse la suma logica.

57. Dada la instruccin ba 12, almacenada en la direccin 4000 de memoria. Cul sera la
direccin hacia dnde salta? Dibuje el mapa de memoria.

4000 ba 12

4048

PC - 4048

IR-ba 12

58. Luego de ejecutar la instruccin jmpl %r15 +4, %r0, almacenada en la direccin 4000, y
tomando como referencia que la ltima instruccin call esta almacenada en la direccin
2000, cul sera la nueva direccin del PC?.

PC= 2004
59. Dada la instruccin ld %r0, 20000, %r5. Indique si es correcta. Si no lo es explique el
motivo y como lo solucionara.

La constante 20000 no se puede escribir en la instruccin de memoria.

60. Qu son seudo operaciones o directivas? Describa brevemente.

Son instrucciones que son ejecutadas por un ensamblador en el tiempo de ensamblado, no


por un CPU en el tiempo de ejecucin. Pueden hacer al ensamblado del programa
dependiente de parmetros entrados por un programador, de modo que un programa
pueda ser ensamblado de diferentes maneras, quizs para diversos aplicaciones. Tambin
pueden ser usadas para manipular la presentacin de un programa para hacerlo ms fcil
leer y mantener.

61. Qu sucede cuando una sentencia, en un proceso de traduccin, aparece antes del .begin
o despus del .end, para el lenguaje ensamblador de ARC?.

62. 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

begin

.org 2048

prog1: ld [x], %r1

[y], %r2

call add_2

end

.begin

add_2: st %r2, [x]

st %r1, [y]
jmpl %r15 + 3, %r0

x: 25

y: 50

.end

begin

.org 2048

prog1: ld [x], %r1

ld [y], %r2

call add_2

.end

.begin

add_2: st %r2, [x]

st %r1, [y]

jmpl %r15 + 3, %r0

x: 25

y: 50

end

63. Desarrolle un programa en assembler que realice el clculo: z = x + y. Pruebe el mismo en el


Simulador ARC, que se encuentra en el aula virtual, copie y pegue las pantallas que surgen
64. Qu son los formatos de instruccin?, en qu se vinculan con el registro IR?.

Un programa consta de una secuencia de instrucciones , cada una de las cuales especifica una
accin particular. Una parte de la instruccin, llamada cdigo de operacin. Seala la accin que
se va a ejecutarse. Muchas instrucciones contienen los datos que usan, o bien especifican donde
estn

Y se relacionan con el IR porque

El registro de instruccin IR es un registro de la unidad de control de la CPU en donde se almacena


la instruccin que se est ejecutando. En los procesadores simples cada instruccin a ser ejecutada
es cargada en el registro de la instruccin que la contiene mientras se es decodificada, preparada y
al final ejecutada, un proceso que puede tomar varios pasos. Los procesadores ms complejos
usan una tubera de registros de instruccin donde cada etapa de la tubera hace parte del trabajo,
decodificacin, preparacin, o ejecucin, y despus pasa el resultado a la siguiente etapa para
realizar el siguiente paso hasta que la instruccin es procesada totalmente. Esto funciona como
una lnea de ensamblaje en donde en cada etapa se hace un trabajo parcial, y luego se pasa a la
siguiente etapa para continuar con la fabricacin del producto. Los procesadores modernos
pueden incluso hacer algunos de los pasos de fuera de orden ya que la decodificacin de varias
instrucciones se hace en paralelo.

Decodificar el opcode en el registro de instruccin incluye la determinacin de la instruccin,


tambin determinar donde estn sus operandos en memoria, leer los operandos desde la
memoria, asignar recursos del procesador para ejecutar el comando
65. En los formatos aritmtico-lgicos y de memoria qu nos indica el bit 13?

I: El campo desplazamiento es tal numero constante o un registro

66. Convierta cada una de las instrucciones escritas en assembler, de los ejemplos anteriores, a
cdigo mquina

67. Qu es un ensamblado de dos pasadas?

Muchos ensambladores dan dos pasadas al programa fuente a fin de resolver referencias hacia
adelante (o posteriores) a direcciones que aun no se encuentran en el programa. Durante la pasad
1, el ensamblador lee todo el cdigo fuente y construye una tabla de smbolos de nombres y
etiquetas usadas en el programa, esto es nombres de campos de daos y etiquetas de programa y
sus localidades relativas (desplazamiento) dentro del segmento, usted puede ver tal table de
smbolos. La pasada 1 determina la cantidad de cdigo que es generado por cada instruccin.

Durante la pasada 2, el ensamblador usa la tabla de smbolos que construyo en la pasada 1. Ahora
que Conoce la longitud y posiciones relativas de cada campo de datos e instrucciones, puede
completar el cdigo objeto para cada instruccin. Despus produce, si se solicita, los diferentes
archivos objeto (.OBJ) de listado (.LST) y de referencia cruzada (.REF)

68. 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?.

Nos debera de mostrar lo siguiente

Direccin de memoria donde se encuentra cada instruccin mquina. Para aplicaciones


nativas, sta es la direccin de memoria real. Para Visual Basic, C# o cdigo administrado,
es un desplazamiento desde el inicio de la funcin.
Cdigo fuente del que se deriva el cdigo ensamblado.
Bytes de cdigo: representaciones en bytes de las instrucciones mquina o MSIL reales.
Nombres de smbolos para las direcciones de memoria.
Nmero de lneas correspondiente al cdigo fuente.

69. A continuacin se muestra una seccin de cdigo simblico de ARC, responda:


A. Qu funcin cumple el programa? Cmo lo hace? Realice una prueba de escritorio.

B. Indique cuales son las etiquetas, las directivas, las instrucciones y los comentarios.

C. Realice la tabla de smbolos.

D. Pselo a lenguaje mquina.

A_ La funcin que cumple el programa es :

-Un programa ARC que suma cinco enteros.

Lo hace de la siguiente manera : lo hace a travs de un sistema repetitivo con una subrutina , en la
cual el programa lo que hace es al principio carga los valores de %r1 y %r2 de a , luego verifica
que %r3 sea = 0 y despus testea el resto de los elementos , finaliza cuando el resultado sea = 0,
%r1 se le resta -4 para que se decremente la longitud de arreglo y se informa al programa de las
otras direcciones que se quieren sumar , se carga los registro de %r4 y %r5 , y se suman en la
memoria %r4 en %r5, despus se suma con %r3 el cual pasa a ser un nuevo elemento se cargar
%r3 , despus se repite la secuencia , se hace el retorno a la rutina de llamada y se da el resultado
y se establecen nuevos valores

B_
C_

D_

70. Crear una tabla de smbolos para el segmento de programa ARC que se muestra a
continuacin.

71) 1- 11 00001 000000 00000 1 0100000010100

Ld %r0,2068,%r1 %r1=0

2- 11 00010 000000 00000 1 0100000011000

Ld %r0,2072, %r2

3- 10 00011 010000 00001 0 000000000010

Adcc %r2, %r1, %r3

4-11 00011 000100 00000 1 0100000011100

St %r0, 2076, %r3


5- 10 00000 111000 01111 1 0000000000100

Jmpl %r15, %r4, %r0

6- 00 00000 000000 00000 0 0000000001111

Numero 15

7- 0000 0000 0000 0000 0000 0000 0000 1001

Numero 9

8-0000 0000 0000 0000 0000 0000 0000 0000

Numero 0

72)

Arquitectura Von Neumann IAS ARC


Memoria 1000 byte 1024 palabras 4 GB
CPU ALU, MQ, AC AC, ALU, MQ ALU,AC,40 registros
mas
Lenguaje Assembler Assembler Assembler
Palabra 0 a 19 bit 0 a 39 bit 0 a 39 bit
Macroinstrucciones No No Si

You might also like