UTNianos

Versión completa: [Arquitectura][Aporte] Final 10/02/10
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Bueno, aca tienen el final que tomaron hoy, las respuestas las dio patricia quiroga


Parte 1. Contestar [Mínimo 5 puntos] las incorrectas restan 0,5 puntos.

1. Si para resguardar el entorno de CPU se ejecutaron las siguientes instrucciones Secuencia: PUSH reg n, PUSH reg n+1, PUSH reg n+2. ¿Cuáles serían las intrucciones y en qué orden orden se deben ejecutar para restaurar correctamente la información de los registros?
En orden serían: POP reg n+2, POP reg n+1 POP reg n

2. Identifique un registro visible al que debe hacer referencia una instrucción que utiliza para obtener el operando el modo implicito
Ninguno

3.¿Cuál es el criterio de acceso que se utiliza para acceder a la memoria de etiquetas de una cache totalmente asociativa?
Acceso asociativo (o por contenido)

Indique los pasos necesarios a nivel ejecución para determinar si el operando 1 es distinto del operando 2

Hay dos maneras:
a – hacer una resta entre 1 y 2 i verificar el flag Z
b – usar una instrucción de comparación (que hace la resta internamente) y verificar el flag Z (creo que la instrucción en assembler es COMP o CMP, por ahi mande cualquiera)


Verdadero o falso
1. Un cilindro de disco es el conjunto de todas las pistas de todas las superficies grabables de un disco.
Falso, son todas las pistas de todas las superficies grabables que estan alineadas (mismo numero).

2. Los dígitos en hexa 000 y FFF pueden representar la primera y ultima dirección física de una palabra de memoria de 8 bits y capacidad de 8K
Falso, capacidad de 4K

3. Con X dígitos decimales se pueden obtener 10^X – 1 numeros decimales distintos.
Falso, se pueden obtener 10^X

4.Una instrucción de salto incondicional implica resguardar el valor actual del puntero de instrucciones
Falso, en un salto incondicional no tiene sentido resguardar el valor actual del puntero de instrucciones debido a que no hay retorno


5.La frecuencia indica la cantidad de ciclos por segundo y la unidad que la representa es el nanosegundo
Falso, la unidad es el Hertz (Hz)


Parte 2 Resolver
(5 Puntos) En un computador X el ciclo de una instrucción contempla las siguientes etapas:
1. Búsqueda de la instrucción y actualización del puntero de instrucción (10 ns)
2. Decodificación (incluida la lectura de registros de CPU) (8 ns)
3. Ejecución (incluido el cálculo de dirección del operando) (10 ns)
4. Acceso a memoria para instrucciones de transferencia desde / hacia memoria (10 ns)
5. Escritura de un registro en CPU (7 ns)

Las instrucciones que utilizan la ALU son todas de tipo mnemonico reg, reg es decir no acceden a memoria. Las instrucciones de transferencia desde memoria recorren todas las fases, las instrucciones de transferencia hacia memoria no utilizan la fase 5.

Calcule el tiempo que tarda en ejecutarse

a.una instrucción aritmetica
b.una instrucción de salto
c.una instrucción de lectura de memoria
d.una instrucción de almacenamiento en memoria
e.una instrucción logica

a – utiliza las etapas 1, 2, 3, 5 => tarda 35 ns (instrucción de alu)
b - utiliza las etapas 1, 2, 3 => tarda 28 ns
c - utiliza las etapas 1, 2, 3, 4, 5 => tarda 45 ns (no entiendo porque usa la 5)
d - utiliza las etapas 1, 2, 3, 4 => tarda 38 ns
e – idem al a


(3 puntos) En un módulo de memoria de 256K x 16

¿Cuántos bits se necesitan para direccionar una palabra?
18
¿Cómo está formada la matriz en filas por columnas?
256 K filas X 16 columnas

3.¿Cuál es el valor hexa de la primera y la ultima dirección expresados en hexa?
00000 y 3FFFF


Bueno, espero que les sirva

mucha suerte!
Muchas gracias!!!
3.¿Cuál es el criterio de acceso que se utiliza para acceder a la memoria de etiquetas de una cache totalmente asociativa?
Acceso asociativo (o por contenido)


Me mató la respuesta... lol


Aprobaba, no con 10 pero aprobaba... pero llegué tardísimo a campus y la p....

Bueno, vamos por el 10 el miercoles que viene (?)


Gracias por el aporte thumbup3
me ganaste de mano....
pero mucho mejor... yo solo tengo el scan.
(y la acabo de aprobar!!!)

DrTornillo escribió:(3 puntos) En un módulo de memoria de 256K x 16
......
¿Cómo está formada la matriz en filas por columnas?
256 K filas X 8 columnas
En esta no estoy de acuerdo...
para mi la rta correcta es:
256K filas x 16 columnas

Saludos.
Ale.
Uf, aprobe justo, q raro el ejercicio de los tiempos.


c.una instrucción de lectura de memoria : Usa las 5 porque, como dice el enunciado, "Las instrucciones de transferencia desde memoria recorren todas las fases".
alexandermonday escribió:
DrTornillo escribió:(3 puntos) En un módulo de memoria de 256K x 16
......
¿Cómo está formada la matriz en filas por columnas?
256 K filas X 8 columnas
En esta no estoy de acuerdo...
para mi la rta correcta es:
256K filas x 16 columnas

si, tenes razon, me confundi yo cuando lo pase, ahi edite, gracias por hacermelo notar!


lucho6 escribió:c.una instrucción de lectura de memoria : Usa las 5 porque, como dice el enunciado, "Las instrucciones de transferencia desde memoria recorren todas las fases".

que tonto, no me di cuenta ni cuando pase el enunciado, jaja =P
Gracias por el aporte !
Es cierto que cambiaron el temario? De ser asi, cuales son los capitulos?
mil graciass!!! :D
baarbi10 escribió:Gracias por el aporte !
Es cierto que cambiaron el temario? De ser asi, cuales son los capitulos?

Esto supuestamente está sacado del grupo yahoo de arquitectura...posteado por Patricia Quiroga.

Sacaron algunos capítulos de Angulo :beer:
Me preguntaron sobre este tema y lo respondo por aca asi lo hago publico.


(3 puntos) En un módulo de memoria de 256K x 16

1. ¿Cuántos bits se necesitan para direccionar una palabra?
18
256K = 2^8 x 2^10 = 2 ^18 , es decir , precisas 18 direcciones para representar 256K posiciones.

2. ¿Cómo está formada la matriz en filas por columnas?
256 K filas X 16 columnas
Con 18 lineas del bus de direcciones de la memoria , direccionas 256K posiciones.
Recuerden que una memoria RAM o ROM esta formada por una matriz , en la interseccion de una fila y columna es donde se almacena un bit. ( sea que luego lo leeras o escribiras ) Una posicion de memoria es una fila , el bus de datos es toda la columna. Es decir habra tantas filas como posiciones de memoria tenga la memoria , y tantas columnras como bits tenga el bus de datos.
,
3. ¿Cuál es el valor hexa de la primera y la ultima dirección expresados en hexa?
00000 y 3FFFF
La posicion de memoria mas baja siempre son todos 0 ( ceros )
La posicion de memoria mas alta , es cuando todo el bus de direcciones tiene todos sus bits en 1 ( uno )
En este caso, tengo 18 bits en '1' , y para hacer mejor la representacion en hexadecimal los separo de a cuatro bits :
0011 1111 1111 1111 1111
3 F F F F
Con lo que podemos decir que con 18 bits la maxima posicion de memoria que podemos representar es 0x3FFFF



2. Los dígitos en hexa 000 y FFF pueden representar la primera y ultima dirección física de una palabra de memoria de 8 bits y capacidad de 8K
Falso, capacidad de 4K
Este es un caso similiar al ultimo explicado arriba, pero la pregunta se la hacen a partir del resultado.
Nos indica que 0x000 , es la primera direccion ( esto es verdadero , todos '0' siempre es la primera direccion )
Nos indica que 0xFFF es la ultima direccion , lo que tenemos que hacer es determinar cuantos bits del bus de direcciones preciso para representar 0xFFF , lo paso a binario:
F F F
1111 1111 1111 << OJO que siempre deben ser todos unos y no se debe colar entre medio ningun '0' , sino no es la posicion maxima representable en un bus de direcciones.
obervamos que precisamos 12 bits para obtener la maxima direccion 0xFFF
Debemos ahora determinar cuantas posiciones nos permite direccionar 12 bits:
12^2 = 2^2 x 2^10 = 4 K posiciones.
Tenemos aca que podemos direccionar 4 K posiciones , que es un valor diferente a las 8K posiciones que nos indica el enunciado, por lo tanto es FALSO.

Hay otras formas de resolverlo , esta es la mas larga pero te deja en claro mas conceptos.

( la mas facil es pasar 8K a hexa y le resto uno , y si el numero es distinto de 0xFFF digo que es falso. )

Si algo no queda claro avisen, recien me levanto zzz
( che el post dice que son 10:40 am , y en realidad son las 7:40 am!! )
Capooooo Alex!!!

Me están ayudando mucho tus explicaciones, no cazo mucho ejercicios jajaja y voy a dar el 24, asi que tengo que ponerme.

¿Podrías explicar me este punto? :

3. Con X dígitos decimales se pueden obtener 10^X – 1 numeros decimales distintos.
Falso, se pueden obtener 10^X


O sea, yo lo interpreto parecido al tema de los bits y las direcciones de memoria.
Si vos tenes ponele 8 bits, podes tener hasta 2^8 direcciones diferentes.

¿Es así?
guidok escribió:¿Podrías explicar me este punto? :

3. Con X dígitos decimales se pueden obtener 10^X – 1 numeros decimales distintos.
Falso, se pueden obtener 10^X


O sea, yo lo interpreto parecido al tema de los bits y las direcciones de memoria.
Si vos tenes ponele 8 bits, podes tener hasta 2^8 direcciones diferentes.

¿Es así?

Claro, en binario tenes dos estados (0 y 1) en decimal tendrias de 0 a 9 y ese 10^X incluye el 0. Ahora,
Cita:3. Con X dígitos decimales se pueden obtener 10^X – 1 numeros decimales distintos.
Falso, se pueden obtener 10^X
Con 0 dígitos decimales se pueden obtener 10^0=1 numeros decimales... Epic Catedra FAIL (?)
como dice Matt,
trabajas en base 10 , es decir decimal.
pensalo asi:
con un digito , conseguis representar 10 numeros diferentes , del 0 al 9
con dos digitos son 100 numeros diferentes , del 0 al 99
La formula que representa a esta relacion es
[cant diferente de numeros] = 10 ^ x
donde x es la cantidad de digitos.

y con cero digitos, puede representar solo un valor.
y si lo pensamos es verdad, solo un valor,el que representa a la nada misma. que no puede cambiar, por eso es unico. ;)

Ale.
Jajaja, bárbaro, muchas gracias a los dos.

De este final que adjunto ahora, tengo muchas dudas en los ejercicios. Son los que están en la parte de la derecha. Algunos puntos los puedo responder pero otros no.



Si alguno puede sería tan amable de explicarmelos?
Word = 2bytes = 16bits => double =4bytes = 32bits
Rango sin signo = 0 a 4294967295
Rango signado = -2147483648..+2147483647

2da parte
direccion memoria = 9 bits
0B2(hex) = 10110010(bin)
Con 4 se busca la etiqueta, hay un acierto en la ultima si te fijas. El valor binario de la etiqueta es 1011 (los 4 primeros).
Con los 4 restantes (sería el 2 binario) buscas el dato. En este caso sería 29.

Bueno, la instrucción de assembler es muy pava xD

Como siempre, si puse algo mal corrijan ;)

P.D: Algun mod resizee la imagen que redimensiona todo el foro xD
Páginas: 1 2
URLs de referencia