Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Arquitectura - Teoria V O F
Autor Mensaje
guidoakd Sin conexión
Secretario de la SAE
RACING CAMPEON 2014
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 431
Agradecimientos dados: 6
Agradecimientos: 26 en 19 posts
Registro en: Mar 2009
Facebook Twitter
Mensaje: #1
Arquitectura - Teoria V O F Finales Arquitectura de Computadoras
Como va? estoy preparando el final este y tengo unas cuantas dudas de la teoria.. dejo algunas con mi posible respuesta y justificación y me pueden decir si están bien? (generalmente son de parciales resueltos en las que pienso que la respuesta es otra)

1. El bit de granularidad del campo atributos de la tabla de páginas indica que el segmento está paginado. Falso.. no existe en la tabla de páginas.. en todo caso descriptor de un segmento.

2. Los registros de cálculo son registros de uso del programador de aplicaciones. Falso.. (Prop gral, segmento, eflags, y puntero de instrucciones)

3. ¿Cual es el registro que apunta a la primera posición vacía de la pila?
ESP. (Y.. Es lo mismo que poner SP ¿?)

4. ¿Que instrucciones assembler conoce que permitan transferir datos desde y hacia ella?. Pop y Push.

5. En un modo de direccionamiento directo para obtener el dato se accede a memoria una sola vez. Falso.. (Es lo mismo que direccionamiento inmediato?? yo conozco 3 tipos: el inmediato (está en la instruccion.. no habria que acceder), por registro y en memoria).

6. La traduccion de una direccion virtual se denomina dirección lineal y es llevada a cabo por la unidad de segmentación. Falso.. traduce virtuales a lineales.. pero no se denomina así..

7. La pila crece desde direcciones mas bajas hacia direcciones mas altas, esto le confiere el atributo de dato creciente. (Ni idea)

8. El tamaño máximo de un segmento en modo protegido puede ser de 64 KB, 1MB, 4GB. Falso.. 64KB y 1MB estaría permitido pero no se lo puede considerar como máximo.

9. Entre las estrategias para mejorar el rendimiento de los nuevos procesadores se aplica:
Un enfoque de aruiqtecura superescalar
Potenciacion del sistema de memoria principal (RAM dinámica)
Ambas. (Opto por esta.. pero la potenciación no es el el sistema de memoria caché?)
Ninguna.

10. El puntero de direcciones virtuales es de :
32 bits
48 bits
46 bits
Creo que 32 bits. 48 sería la "completa" (selector + despl)

11. Los registros de uso general no pueden ser usados por el programador.
Verdadera.. digamos que no especifica que tipo de programador?
12. Los registros de control y estado son utilizados por el programador.
Igual que antes pero falsa.. de que programador me habla?

13. ¿En que se mide el ciclo completo de una instruccion?

14. ¿Donde se encuentra el dato en el caso en que una insruccion sea de modo directo a memoria?
Teoricamente si modo directo = modo inmediato, respondería en la instrucción.

15. El modo de memoria plano permite la inhabilitacion de la paginacion quedando esta unidad de la MMU desactivada. Ni idea.

16. Un codigo de operacion no valido genera una excepcion dado que no puede decodificarse. Ni idea.

17. ¿Que es una doble falta?. Un tipo de excepción.

18. Se denomina algoritmo de sustitución en una memoria cache a una política de escritura en memoria principal.. Falso..?

19. El direccionamiento directo de registro no involucra acceso a memoria (parecida a una que puse antes.. de una sola vez). Supongo que es Verdadera.. si esta en la instruccion.

20. La interfaz de arbitraje de un bus controla los ciclos de bus que permiten el acceso a memoria y a la E/S. Ni idea

21. La FPU puede operar con tipo de dato BCD. Falso..
Otros adjuntos en este tema
.gif  pila.gif ( 5,73 KB / 681) por Anirus
.gif  pi2.gif ( 261,35 KB / 909) por Anirus
11-02-2011 17:11
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #2
RE: Arquitectura - Teoria V O F
Yo estoy estudiando tambien, te contesto las que creo que sé( y mirando el libro xD).
(11-02-2011 17:11)guidoakd escribió:  Como va? estoy preparando el final este y tengo unas cuantas dudas de la teoria.. dejo algunas con mi posible respuesta y justificación y me pueden decir si están bien? (generalmente son de parciales resueltos en las que pienso que la respuesta es otra)

1. El bit de granularidad del campo atributos de la tabla de páginas indica que el segmento está paginado. Falso.. no existe en la tabla de páginas.. en todo caso descriptor de un segmento.
Caí en esta, no me di cuenta que decía "tabla de páginas", tenés razón.

2. Los registros de cálculo son registros de uso del programador de aplicaciones. Falso.. (Prop gral, segmento, eflags, y puntero de instrucciones)
No sé cuáles son los de cálculo >>

3. ¿Cual es el registro que apunta a la primera posición vacía de la pila?
ESP. (Y.. Es lo mismo que poner SP ¿?)
Para mi es lo mismo, si te da duda podés poner los dos, como en Angulo que dice "Puntero de pila(ESP,SP)"

4. ¿Que instrucciones assembler conoce que permitan transferir datos desde y hacia ella?. Pop y Push.
Es correcto.

5. En un modo de direccionamiento directo para obtener el dato se accede a memoria una sola vez. Falso.. (Es lo mismo que direccionamiento inmediato?? yo conozco 3 tipos: el inmediato (está en la instruccion.. no habria que acceder), por registro y en memoria).
Copio de mi carpeta, en el libro de Quiroga hay algunos más.
"Direccionamiento directo o absoluto: codigo de operacion y direccion del dato a utilizar.

Direccionamiento inmediato: código de operación y dato a utilizar.

Direccionamiento indirecto: código de operacion y dirección de la celda de memoria que contiene la dirección de la celda de memoria en la que sí está el dato.

Direccionamiento implícito: ej incremento.

Direccionamiento relativo: codigo de operación y direccion base que sumada al contenido de un registro indice nos permite obtener la celda que contiene el dato.
"
La rta sería: Falso, se accede dos veces, una para obtener la dirección y otra para obtener el dato.

6. La traduccion de una direccion virtual se denomina dirección lineal y es llevada a cabo por la unidad de segmentación. Falso.. traduce virtuales a lineales.. pero no se denomina así..
Me parece que es verdadero, vos mismo dijiste "traduce virtuales a lineales" por lo tanto la lineal es la traducción de la virtual

7. La pila crece desde direcciones mas bajas hacia direcciones mas altas, esto le confiere el atributo de dato creciente. (Ni idea)
Falso, la pila va creciendo hacia abajo, sp, que contiene el desplazamiento que hay que sumarle a la base, se decrementa al meter elementos a la pila. En la pg 186 de Angulo dice "Si ED(Expanción Decreciente)=0 se trata de un segmento de pila pues su crecimiento se efectúa decrementando el valor de la dirección que apunta su cima, es decir disminuyendo el valor de la dirección"
Los gráficos se contradicen, el correcto y más claro creo que es el de la página 178, en el q la pila se iría llenando así, con el sp aproximandose cada vez más a la base porque al decrementar disminuye el desplazamiento:
[Imagen: pilan.gif](me confundi y consideré que las direcciones más altas estaban más arriba en lugar de ponerlas abajo como en el libro, porque cuando leo que decrece pienso que baja )
En la página 160 ponen como vacío lo que debería ser lleno, en el 178 si te fijas la zona libre es la que está entre la base y sp, mientras que en ese la ponen como llena, salvo que haya entendido mal y SSx16 no sea lo mismo que la base.



8. El tamaño máximo de un segmento en modo protegido puede ser de 64 KB, 1MB, 4GB. Falso.. 64KB y 1MB estaría permitido pero no se lo puede considerar como máximo.

9. Entre las estrategias para mejorar el rendimiento de los nuevos procesadores se aplica:
Un enfoque de aruiqtecura superescalar
Potenciacion del sistema de memoria principal (RAM dinámica)
Ambas. (Opto por esta.. pero la potenciación no es el el sistema de memoria caché?)
Ninguna.
Me parece que tenés razón en lo de la caché, si veo la rta cuando relea los caps te aviso

10. El puntero de direcciones virtuales es de :
32 bits
48 bits
46 bits
Creo que 32 bits. 48 sería la "completa" (selector + despl)
Página 180 de Angulo:
"El puntero de direcciones virtuales tiene el siguiente formato:
Selector(14):Dezplazamiento(32)"
La rta es 46bits, no son 48 porque los bits TI y RPL no cuentan.


11. Los registros de uso general no pueden ser usados por el programador.
Verdadera.. digamos que no especifica que tipo de programador?

Los de uso general no son EAX,EBX,ECX,...? si es así es Falsa porque pueden ser utilizadas por ambos

12. Los registros de control y estado son utilizados por el programador.
Igual que antes pero falsa.. de que programador me habla?
Supongo que cuando dicen programador debe ser el de aplicaciones, pero eso se debe poder preguntar en el final, o podés responder diciendo "Si se refiere a tal, es Falsa"

13. ¿En que se mide el ciclo completo de una instruccion?
En nanosegundos.

14. ¿Donde se encuentra el dato en el caso en que una insruccion sea de modo directo a memoria?
Teoricamente si modo directo = modo inmediato, respondería en la instrucción.
Se encuentra en la dirección que aparece en la instrucción
15. El modo de memoria plano permite la inhabilitacion de la paginacion quedando esta unidad de la MMU desactivada. Ni idea.
Falso, en el plano lo que se hace es "dividir" a la memoria en un sólo segmento, dando la idea de que la segmentación está desactivada, entonces al paginar, parece que se tratase de paginacion pura en lugar de segmentación paginada, podés leerlo en la página 191 de Angulo

16. Un codigo de operacion no valido genera una excepcion dado que no puede decodificarse. Ni idea.
En algunos resueltos lo ponen como Verdadero, en la página 271 te dice que genera una excepción pero no te dice si es porque no puede decodificarse(aunque sería lógico que no pueda) o porque el micro va a explotar...

17. ¿Que es una doble falta?. Un tipo de excepción.
Correcto, es cuando ocurren dos excepciones y el procesador no puede manipularlas secuencialemente.(pg 271)

18. Se denomina algoritmo de sustitución en una memoria cache a una política de escritura en memoria principal.. Falso..?
Falso, los algoritmos de sustitución son los que determinan qué lineas se reemplazan cuando se intenta cargar una linea desde la memoria principal y esa parte del caché está ocupada, mientras que las politicas de escritura son las que indican cuando se debe actualizar la memoria principal (porque el procesador hace los cambios en la copia que tiene en el caché y en algun momento hay que escribirlos en la principal)

19. El direccionamiento directo de registro no involucra acceso a memoria (parecida a una que puse antes.. de una sola vez). Supongo que es Verdadera.. si esta en la instruccion.
Falsa, cuando está en la instruccion es direccionamiento inmediato
20. La interfaz de arbitraje de un bus controla los ciclos de bus que permiten el acceso a memoria y a la E/S. Ni idea
No sé qué es la interfaz de arbitraje, en la pagina 191 de Stallings menciona "arbitraje de bus" pero está hablando de interrupciones
21. La FPU puede operar con tipo de dato BCD. Falso..
Es verdadero, en la página 320 de Angulo, el BCD aparece entre los datos del coprocesador matemático, que es la FPU.
"One other feature of the FPU that can be taken advantage of is the BCD
capability. BCD can be loaded, calculations performed, and data written back out. It allows for 18 4-bit BCD digits plus a sign bit within a
number to be processed simultaneously."
http://my.safaribooksonline.com/book/pro...e/sect1-62
13-02-2011 04:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidoakd Sin conexión
Secretario de la SAE
RACING CAMPEON 2014
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 431
Agradecimientos dados: 6
Agradecimientos: 26 en 19 posts
Registro en: Mar 2009
Facebook Twitter
Mensaje: #3
RE: Arquitectura - Teoria V O F
Joya .. gracias. Si tengo mas las posteo. Cualquier cosa si hiciste los practicos de algun final avisa y vemos que onda.

abrazo
13-02-2011 13:06
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #4
RE: Arquitectura - Teoria V O F
Fijte el ultimo ejercicio de este final
http://www.utnianos.com.ar/foro/attachment.php?aid=321
Dice "todos los registros de cálculo están puestos a cero", y preguntan cómo quedó AX despues de restarle FFFF, así que con registros de cálculo se refieren a los de proposito general, por lo tanto "2. Los registros de cálculo son registros de uso del programador de aplicaciones." es verdadera.
13-02-2011 14:20
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nacho_10 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 29
Agradecimientos dados: 0
Agradecimientos: 2 en 1 posts
Registro en: Aug 2010
Mensaje: #5
RE: Arquitectura - Teoria V O F
una memoria tiene capacidad de un mega, si se la divide en paginas y la direccion para acceder la pagina esta constituida por dos camposs: nro de frames y desplazamiento.

a)indique para un desplazamiento de 12 bits cual es el tamaño de la pagina y en cuantos frames se divide la memory

b)si el campo nro de frame mide 7 bits en cuantos frames se divide la memory y cuantos bits se usan para el desplazamiento en la direccion.

c) considerando el punto b), si el codigo de un programa ocupa 4096 bytes. cuantas paginas requiere??. calcule el eventual desperdicio...
si alguien me peude responder, me seria de gran ayudaa!! graacias
(Este mensaje fue modificado por última vez en: 14-02-2011 13:43 por nacho_10.)
14-02-2011 13:42
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
tenchology Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 104
Agradecimientos dados: 14
Agradecimientos: 24 en 8 posts
Registro en: Dec 2008
Mensaje: #6
RE: Arquitectura - Teoria V O F
(13-02-2011 04:18)Anirus escribió:  5. En un modo de direccionamiento directo para obtener el dato se accede a memoria una sola vez. Falso.. (Es lo mismo que direccionamiento inmediato?? yo conozco 3 tipos: el inmediato (está en la instruccion.. no habria que acceder), por registro y en memoria).
Copio de mi carpeta, en el libro de Quiroga hay algunos más.
"Direccionamiento directo o absoluto: codigo de operacion y direccion del dato a utilizar.

Direccionamiento inmediato: código de operación y dato a utilizar.

Direccionamiento indirecto: código de operacion y dirección de la celda de memoria que contiene la dirección de la celda de memoria en la que sí está el dato.

Direccionamiento implícito: ej incremento.

Direccionamiento relativo: codigo de operación y direccion base que sumada al contenido de un registro indice nos permite obtener la celda que contiene el dato.
"
La rta sería: Falso, se accede dos veces, una para obtener la dirección y otra para obtener el dato.

disculpame, como llegaste a la conclusion de que hay que acceder 2 veces? estoy perdido en ese tema
14-02-2011 22:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #7
RE: Arquitectura - Teoria V O F
(14-02-2011 22:23)tenchology escribió:  
(13-02-2011 04:18)Anirus escribió:  5. En un modo de direccionamiento directo para obtener el dato se accede a memoria una sola vez. Falso.. (Es lo mismo que direccionamiento inmediato?? yo conozco 3 tipos: el inmediato (está en la instruccion.. no habria que acceder), por registro y en memoria).
Copio de mi carpeta, en el libro de Quiroga hay algunos más.
"Direccionamiento directo o absoluto: codigo de operacion y direccion del dato a utilizar.

Direccionamiento inmediato: código de operación y dato a utilizar.

Direccionamiento indirecto: código de operacion y dirección de la celda de memoria que contiene la dirección de la celda de memoria en la que sí está el dato.

Direccionamiento implícito: ej incremento.

Direccionamiento relativo: codigo de operación y direccion base que sumada al contenido de un registro indice nos permite obtener la celda que contiene el dato.
"
La rta sería: Falso, se accede dos veces, una para obtener la dirección y otra para obtener el dato.

disculpame, como llegaste a la conclusion de que hay que acceder 2 veces? estoy perdido en ese tema

Ahi me equivoqué, leí que la pregunta decía direccionamiento indirecto y cuando me di cuenta no me dejaba editar, en ese sí hay que acceder dos veces, mientras que en la directa se accede sólo una vez.

Otro error que tuve que aprovecho para corregirlo ahora es cuando dije esto:
Cita:10. El puntero de direcciones virtuales es de :

"El puntero de direcciones virtuales tiene el siguiente formato:
Selector(14):Dezplazamiento(32)"
La rta es 46bits, no son 48 porque los bits TI y RPL no cuentan.
El bit de TI sí forma parte del selector, el RPL es el que no, me confundí porque me olvidé que el RPL estaba formado por dos bits.
"El campo selector está contenido en los 14 bits de más peso del registro segmento sirviendo los dos restantes para referenciar al nivel de privilegio del peticionario del segmento por lo que no se utilizan en el direccionamiento propiamente dicho. Dicha pareja de bits forman el campo RPL.
En el campo selector el bit de menos peso se denomina TI (Indicador de Tabla) e indica si la tabla de Descriptores a acceder es la local (TI = 1) o la global(TI = 0)"



(14-02-2011 13:42)nacho_10 escribió:  una memoria tiene capacidad de un mega, si se la divide en paginas y la direccion para acceder la pagina esta constituida por dos camposs: nro de frames y desplazamiento.

a)indique para un desplazamiento de 12 bits cual es el tamaño de la pagina y en cuantos frames se divide la memory

b)si el campo nro de frame mide 7 bits en cuantos frames se divide la memory y cuantos bits se usan para el desplazamiento en la direccion.

c) considerando el punto b), si el codigo de un programa ocupa 4096 bytes. cuantas paginas requiere??. calcule el eventual desperdicio...
si alguien me peude responder, me seria de gran ayudaa!! graacias


a) Las páginas a diferencia de los segmentos, tienen un tamaño fijo, así que con saber el tamaño de una ya sabes cómo son todas. El desplazamiento máximo en una página es su tamaño, si tomamos como ejemplo una página de un libro y medimos el desplazamiento en palabras, si tiene 200 palabras podés leer desde la palabra 1 hasta la 200, o sea te podés desplazar entre 0 palabras desde donde empieza para leer la primera y 199 para leer la ultima, con las páginas de la memoria virtual pasa igual, si te dicen que el desplazamiento se mide con 12 bits, el máximo número que podés formar con 12 bits es el tamaño de la página, por eso su tamaño es 2^12
Para saber cuantas entran en la memoria, sólo hay que hacer una división.

tamaño de memoria/tamaño de páginas = nro de páginas

1MB/2^12 = 2^20 / 2^12 = 2^(20-12) = 2^8 páginas o frames.

b) Acá nos están diciendo que ahora el nro de frame tiene 7 bits, para saber cuántos hay sólo hay que calcular cuánto se puede representar con 7bits, es decir 2^7. Después nos pide el desplazamiento, basta con calcular el tamaño de las páginas, para eso dividimos la memoria principal en 2^7 páginas.

tamaño de memoria/nro de paginas = tamaño de páginas

1MB/2^7 = 2^20/2^7 = 2^13

2^13 es el tamaño de las páginas, por lo tanto se necesitan 13 bits para representar el desplazamiento.

c) Las páginas lo que tienen de malo es que no se adaptan al tamaño de la informacion, así que nos puede pasar que la info no ocupe toda una página con lo cuál se desperdicia espacio. En este punto lo que te piden es que calcules cuantas páginas de tamaño 2^13 bytes necesitas para meter 4096 bytes y el desperdicio serían los bytes de la página que quedaron vacíos.
Así que calculo 4096/2^13. Da como resultado 0.5, es decir, se necesita media página para meter los 4096bytes, el desperdicio sería la mitad vacía, o sea los otros 4096 bytes.

Si ven algo raro corrijan=P, recien encontré que puse 20-12 = 16 xD
(Este mensaje fue modificado por última vez en: 15-02-2011 00:28 por Anirus.)
15-02-2011 00:13
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nacho_10 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 29
Agradecimientos dados: 0
Agradecimientos: 2 en 1 posts
Registro en: Aug 2010
Mensaje: #8
RE: Arquitectura - Teoria V O F
craack!! muchas graciaas!!
--------------------------------------------------------------------------------
y otra duda y no te molesto mas...

Todos los registros de calculo estan puestos a 0 cuando se ejecuta la linea de codigo siguiente
"2f37:0100 sub AL,01 "

A) como quedara el contenido del registro AL luego de su ejecucion, si el mnemonico sub significa restar? expresar en hexadecimal el valor del regristo, indicar el valor de los flags luego de la ejecucion.

B)indicar a que valor decimal corresponde si considere que el operando es signado
en el a) al no darme registros anteriores, calculo que estara en 00... entonces hice 00-01....que seria en binario 00000000 - 00000001.... saco el complemento autentico del segundo y me qeuda
00000000 + 11111111... que me da 11111111... que en hexa seria ff... por lo tanto en AL me queda ff... ahora los flags ni idea y el punto b tampoco Confused
(Este mensaje fue modificado por última vez en: 15-02-2011 11:22 por nacho_10.)
15-02-2011 11:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #9
RE: Arquitectura - Teoria V O F
(15-02-2011 11:18)nacho_10 escribió:  craack!! muchas graciaas!!
--------------------------------------------------------------------------------
y otra duda y no te molesto mas...

Todos los registros de calculo estan puestos a 0 cuando se ejecuta la linea de codigo siguiente
"2f37:0100 sub AL,01 "

A) como quedara el contenido del registro AL luego de su ejecucion, si el mnemonico sub significa restar? expresar en hexadecimal el valor del regristo, indicar el valor de los flags luego de la ejecucion.

B)indicar a que valor decimal corresponde si considere que el operando es signado
en el a) al no darme registros anteriores, calculo que estara en 00... entonces hice 00-01....que seria en binario 00000000 - 00000001.... saco el complemento autentico del segundo y me qeuda
00000000 + 11111111... que me da 11111111... que en hexa seria ff... por lo tanto en AL me queda ff... ahora los flags ni idea y el punto b tampoco Confused
Cita: al no darme registros anteriores, calculo que estara en 00...
En este caso acertaste, pero el que no te den registros anteriores no significa que está en 0, para algunos ejercicios sólo podés responder los bits que sabés cómo quedaron y lo desconocido va con X. Por ejemplo te pueden poner :
MOV BH,01
y preguntar como quedó BX, entonces sólo sabés que la parte BH es 01 y BL es deconocido, así que en ese caso la respuesta sería: 00000001XXXXXXXX
Por eso está mal afirmar que si no te dicen nada está en 0, en tu ejercicio sí lo dijeron:

Cita:Todos los registros de cálculo están puestos a 0 cuando se ejecuta la linea de código siguiente
"2f37:0100 sub AL,01 "

Antes de seguir con la segunda parte del a, hablemos del b, ahi te pregunta cuanto vale AL en decimal, podés pensarlo de dos formas:
1) AL valía 0, le restate 1, lo más lógico es que valga -1.
2) La segunda forma es pasando el nro 11111111 a decimal, por ahi había una mejor forma de pasarlo, pero no me acuerdo porque estoy dejando el repaso de ese tema para más adelante ya que no es tan complicado. Vemos que el primer bit es 1, así que el número es negativo. Primero le voy a restar un 1 que es lo que se le sumó en el complemento a 2, quedando 11111110 y después lo invierto quedando 1, que como dijimos su signo es negativo así que es en realidad -1.

Ahora que sabemos bien qué número es pasemos a los flags. Podés leer su significado en la página 162 de Angulo (pero no todos los de ahi son para operaciones aritméticas)
Overflow no puede haber, dado que nunca sucede cuando se opera con números de distinto signo* y como vimos, AL pudo tomar el valor que le correspondía. OF=0

El signo es negativo, por lo tanto SF=1.
El resultado fue distinto de cero por lo tanto ZF=0
El Carry(CF) y Carry Auxiliar (AF) van en 1, juraría que iba 0 pero en el proximo post te escribo porqué lo cambio.
Falta solamente PF, el bit de paridad impar, para eso contamos la cantidad de 1 del resultado. Son 8, así que como es par, PF va a valer 1 para que juntos la paridad sea impar. PF=1




*Página 77 del libro de Quiroga:
"Se debe destacar que el overflow sólo puede producirse con operandos del mismo signo, ya que en caso contrario(un positivo y un negativo), el resultado obtenido siempre "entrara" en el formato utilizado(en realidad, uno se resta del otro)"
Para practicar estas cosas podés usar Emu86, ahi te podés fijar cómo quedaron los registros e incluso los flags, además podés ver la pila para las instrucciones de push y pop.

Primero escribis el código:

Después ponés emulate y te sale esto:

Ahora ponés Run y lo ejecuta:

y cliqueando en flags ves los flags

Donde se puede ver que me había equivocado respecto a que no había carry, ahora me queda averiguar porque hay rofl
(Este mensaje fue modificado por última vez en: 15-02-2011 13:59 por Anirus.)
15-02-2011 13:34
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #10
RE: Arquitectura - Teoria V O F
Lo que se me ocurre es que si en lugar de considerarlo 00000000 + 11111111 uno hace 00000000-00000001 entonces hay carry en todos los bits, porque al restarle 1 el cero le pide al lado, y el de al lado al otro y así.
------------
Acá está la explicación: http://books.google.com/books?id=9Pe6Ajh...ub&f=false
Traduzco loq ue está al final de la página 90.
"Substracción y el flag Carry: una operación de substracción pone en 1 el carry flag cuando a un entero pequeño se le resta otro mayor. Es facil considerar el efecto de la substraccion en el flag de carry desde un punto de vista de hardware. Asumamos por un momento que la CPU puede negar un entero positivo sin signo realizando su complemeto a dos:
1. EL operando es negado y sumado al otro número.
2. El carry fuera del MSB es invertido y copiado en el flag de Carry."
(Este mensaje fue modificado por última vez en: 15-02-2011 15:18 por Anirus.)
15-02-2011 14:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nacho_10 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 29
Agradecimientos dados: 0
Agradecimientos: 2 en 1 posts
Registro en: Aug 2010
Mensaje: #11
RE: Arquitectura - Teoria V O F
mmm claaro pero pasa que ami me habian " enseñado " con el complemento autentico... igual mi profesora era un ahija de puta, elvira quiroga.. no explicaba un carajo, tomaba cosas que no explico y te deja en bolas mal para el final sin contar que tiene un hmor de mierda, pero bueno... espero que me vaya bien este miercoles en el final =)
si tenes algun consejoo para darme de que estudiar o que suelen tomar, seria de gran utilidad =P
(Este mensaje fue modificado por última vez en: 15-02-2011 15:19 por nacho_10.)
15-02-2011 15:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #12
RE: Arquitectura - Teoria V O F
Sobre qué suelen tomar sólo vi los finales que pusieron en el foro, no rendí todavía, me anoté al 9 de marzo así estudio tranquila.
Aprendete bien la teoría, y acá tenés varios ejercicios resueltos:
http://www.utnianos.com.ar/foro/showthre...8#pid24998
http://www.utnianos.com.ar/foro/showthread.php?tid=5113

Los ejercicios de caché que vi eran siempre lo mismo, te dan el tamaño de la memoria y los datos de la caché y tenés que decir cuántos bits tienen la dirección y que parte es la etiqueta, bloque y posición. Los de instrucciones son como el ejercicio que pusiste y a veces te piden obtener la direccion de la instrucción u operando usando como dato el CS o DS y el desplazamiento que aparece en la instruccion, lo tenés que saber reconocer. Con segmentación y paginación tenés los de obtener el limite y el desplazamiento, pero vi 2 difíciles en el primer link, el ejercicio 5 y 8, revisalos.

El complemento auténtico es lo mismo que el complemento a 2, quizá ya los sabías pero te lo digo por si acaso. El complemento a 1 es sólo invirtiendo los números sin sumar nada.
(Este mensaje fue modificado por última vez en: 15-02-2011 15:31 por Anirus.)
15-02-2011 15:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nacho_10 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 29
Agradecimientos dados: 0
Agradecimientos: 2 en 1 posts
Registro en: Aug 2010
Mensaje: #13
RE: Arquitectura - Teoria V O F
muchaas graciasss genio!!
15-02-2011 15:26
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
guidoakd Sin conexión
Secretario de la SAE
RACING CAMPEON 2014
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 431
Agradecimientos dados: 6
Agradecimientos: 26 en 19 posts
Registro en: Mar 2009
Facebook Twitter
Mensaje: #14
RE: Arquitectura - Teoria V O F
Dejo un par de preguntas mas

1) EIBP mantiene el criterio LIFO de la pila. Lo usan las instrucciones pop y push
2) Un segmento fault es una excepción detectada por la unidad de segmentación de la MMU
3) En una operacion de punto flotante en una suma no es necesario asegurare que ambos operandos tengan el mismo exponente (V creo)
4) En una entrada salida el DMA se quiere en modulo adicional en el bus de sistema. (No se entiende lo que dice pero si dice que se requiere un bus adicional supongo V)
5) Tiempo de latencia es:
a.Tiempo que tarda el sector en pasar x debajo de la cabeza lecto grabadora
b.Tiempo que tarda en posicionarse en un cilindro el brazo del disco
c.Tiempo que tarda en posicionarse en una la cabeza lecto grabadora en una pista
Ninguna
Creo que la correcta es la c.

6) En modo real o modo 16 bits,la base del segmento se obtiene de:
Una tabla de Vectores de Interrupcion
Una tabla de verdad
Una tabla de descriptores de segmento alojada en TLB
Ninguna

Sigo agregando en minutos
15-02-2011 21:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 195 en 69 posts
Registro en: Nov 2009
Mensaje: #15
RE: Arquitectura - Teoria V O F
(15-02-2011 21:04)guidoakd escribió:  Dejo un par de preguntas mas

1) EIBP mantiene el criterio LIFO de la pila. Lo usan las instrucciones pop y push

Es EIP el que hace eso. Mientras que EBP apunta a la base. EIBP no se si es un error de tipeo o un intento de confundir.


2) Un segmento fault es una excepción detectada por la unidad de segmentación de la MMU

Me da un poco de duda, pero creo que es falsa por esto:
"La MMU traduce la dirección virtual a fisica, y en caso de no hallarse el elemento en la memoria, se genera una excepción que maneja el SO".pg 181
"Si no está presente ( fallo) se produce una excepción que atiende el Sistema Operativo" pag 182

3) En una operacion de punto flotante en una suma no es necesario asegurare que ambos operandos tengan el mismo exponente (V creo)

Para operar en punto flotante lo primero que se procesan son los exponentes, si no son iguales se tiene que desplazar uno de los dos operandos para que queden con el mismo exponente, (página 78 del libro de Quiroga), por lo tanto es falsa ya que la ALU se tiene que asegurar.


4) En una entrada salida el DMA se quiere en modulo adicional en el bus de sistema. (No se entiende lo que dice pero si dice que se requiere un bus adicional supongo V)

No sé en que idioma está esta pregunta =P


5) Tiempo de latencia es:
a.Tiempo que tarda el sector en pasar x debajo de la cabeza lecto grabadora
b.Tiempo que tarda en posicionarse en un cilindro el brazo del disco
c.Tiempo que tarda en posicionarse en una la cabeza lecto grabadora en una pista
d.Ninguna

la a es retardo rotacional, c es tiempo de búsqueda, me parece que tiempo de latencia era algo de la memoria RAM, no de discos.


6) En modo real o modo 16 bits,la base del segmento se obtiene de:
Una tabla de Vectores de Interrupcion
Una tabla de verdad
Una tabla de descriptores de segmento alojada en TLB
Ninguna

La respuesta es Ninguna. En el modo real, la base del segmento se obtiene multiplicando por 16 al registro de segmento.
15-02-2011 22:28
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.