Primer Parcial Flashcards

Modelo Para el prog de apps, Introducción al ASM, Call Convention, Memoria Cache

1
Q

Las principales contribuciones de von Neumann:

A

El concepto de programa almacenado.
Una nueva arquitectura para la construcción de computadores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Limitaciones de la arquitectura von Neumann

A

Cuello de botella de memoria:

Cuello de botella de decodificación:

Flujo de Instrucciones + Flujo de datos SISD:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

cATEGORIAS flujos de instrucciones y flujos de datos

A

SISD: simple flujo de instrucciones, simple flujo de datos.
MISD: múltiples flujos de instrucciones, simple flujo de datos.
SIMD: simple. flujo de instrucciones, .múltiples flujos de datos.
MIMD: múltiples flujos de instrucciones, múltiples flujos de datos.
MTMD: múltiples tareas, múltiples flujo de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

En que grupos de clasifican los 16 registros del pentuim que osn para el uso del programador de aplicaciones

A
  • 8 Registros de Proposito General (RPG)
  • 1 Registro Puntero de Instrucciones (EIP)
  • 1 Registro de Estado (o de Señalizadores) (EFLAGS)
  • 6 Registros de Segmento (RS)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cuales son los registros de proposito general

A

heredados del 8086 de 16 bits y ampliados a 32 bits los RPG son 8 registros que pueden manejar 32/16 y hasta 8 bits y son
* EAX: Acumulador
* EBX: Base
* ECX: Contador
* EDX: Datos
* ESP: Puntero de Pila
* EBP: Puntero de Base
* EDI: Indice destino
* ESI: Indice fuente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que es el EIP y En que modos puede trabajar?

A

El EIP es el Puntero de Instrucciones o Contador de Programa y no
está disponible para el programador, lo gobierna implícitamente el flujo de
control de las instrucciones, las interrupciones y las excepciones.
Puede trabajar:
* En modo Protegido, con 32 bits y 4gb de desplazamiento max
* En modo Real, con 16 bits y g4 KB de desplazamiento max

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que contiene a ggrandes reasgos el registro EFLAGS

A

Este registro consta de 32 bits, de los cuales, la mayoría flags de estado,
controlados por la ALU (acarreo, paridad, acarreo auxiliar, cero, signo y
sobrepasamiento), actuando los restantes como señalizadores del sistema,
ligados al mecanismo de protección y a otros recursos de que dispone el
sistema de explotación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que es la segmentacion y que son los segmentos?

Nombrar los registros de Segmentos

A

la segmentación como sistema
principal de organización de la memoria. Los segmentos son zonas de la memoria
de tamañoo variable que contienen el mismo tipo de información.
La segmentaci ́on favorece la programaci ́on estructurada y la modularidad, permite la
reubicaci ́on y soporta una estructura de protecci ́on segura y flexible.
Los registros que conforman el RS son:
* CS: Segmento de Código
* DS: Segmento de Datos
* SS: Segmento de Pila
* ES,FS,GS: Segmentos Extras de Datos

Mejorar esta respuesta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explicar cada uo de los rs

A
  • CS: Contiene en cada momento el segmento de c ́odigo que est ́a ejecutando
  • la CPU. El desplazamiento que hay que a ̃nadir a la base del CS reside en el EIP.
  • SS: Guarda el valor del selector del segmento de pila en curso. ESP contiene el desplazamiento que debe a ̃nadirse a la base del segmento de pila para determinar la cima por donde se cargan y descargan los datos.
  • DS: Soporta el valor del selector del segmento de datos y el desplazamiento viene especificado en el modo de direccionamiento usado en la instrucci ́on para expresar operandos y el resultado.
  • ES/FS/GS: Los x86 de 32 bits disponen de estos registros para tener activos otros tres segmentos de datos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como funciona la Segmentacion en modo real?

A

En modo Real se le agrega 4 ceros a los 16Bits del RS correspondiente para calcular la base del segmento
Un segmento queda definido por los siguientes
elementos:
* Base. Dirección de comienzo, 20 bits. El bus de direcciones es de 20 líneas y la capacidad máxima de la memoria principal es de 1 MB.
* Desplazamiento. El tamaño máximo de un segmento es de 64 KB, por lo que el desplazamiento estará definido por 16 bits. (Definido para cada segmento por si correspondiente desplazador)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como esta formado los Registros de Segmento en modo Protegido

A

Cuando el Pentium trabaja en modo protegido la direccion logica o virtual de todo elemento accesible en la memoria, esta formada por un puntero que consta de los siguientes campos:

  • Selector: 14 bits de mas peso del RS al que se desea acceder y con ellos se encuentra la base donde comienza el segmento, el límite o tamaño que tiene y sus atributos. Los dos bits de menos peso del RS no pertenecen al selector sino que conforman el campo RPL que indica el nivel de privilegio del segmento peticionario.
  • Desplazamiento: Es lo que se añade a la base del segmento para localizar la direccion que hay que acceder en el. El tamaño de desplazamiento determina su longitud maxima, en este caso es 4 GB.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que es un descriptor de Segmento y con que elementos esta definido

A

El segmento al que apunta el RS en modo protegido se denomina Descriptor de Segmento y esta definido por:
* Base: Direcci ́on lineal donde comienza el segmento. Consta de 32 bits, el tamaño maximo que puede alcanzar la memoria f ́ısica es de 232 = 4GB.
* Lımite: 20 bits que determinan el tama ̃no del segmento. Si est ́a expresado en bytes, el lımite maximo serıa de 220 = 1MB y si esta expresado en paginas de 4 KB, un segmento puede ser tan grande como la memoria principal: 4 GB.
* Atributos o derechos de acceso: Campo de 12 bits, que proporciona las caracterısticas relevantes del segmento como: Tipo de Segmento (r,w,x) Nivel de privilegio e indicadores relacionados con la gestion de memoria

Estos se guardan en la tabla de descriptores que residen en la memoria principal y son creadas y manejadas desde el SO.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

De que se encargan las 8 etapas de una intrucion realizada por un Unidad de Coma florante

A
  • Las cuatro primeras etapas son las mismas que poseen las unidades de
    enteros.
  • La quinta y la sexta, corresponden a la ejecuci ́on de las instrucciones de coma flotante.
  • La septima etapa se encarga de escribir el resultado en los registros adecuados y la octava realiza el informe de posibles errores que se hayan producido.

re pija esta preg

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Que beneficios proporciona la FPU

A

La FPU integrada en el Pentium amplıa el numero de registros que puede
manejar el programador de aplicaciones, ası como el repertorio de instrucciones.

Los nuevos registros que proporciona el coprocesador son ocho generales de 80 bits cada uno y tres de 16 bits, siendo estos ultimos empleados en labores de control y presentaci ́on de estado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Razones fundamentales por las que se sigue usando Assembler

A
  • Eficiencia Tanto en los requisito de memoria de un programa y el largo de su codigo como en el tiempo necesario para ejecutarlo ya que este solo contiene el codigo necesario para realizar su tarea
  • Accesibilidad al hardware Permite el control directo sobre el hw sin abstracciones lo cual mejora su manejo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

cuales son las 3 clases de sentencias que componen el Assembler?

A
  • Instruciones Ejecutables : generan instrucciones en lenguaje de maquina(mov, add, sub)
  • Directivas de Ensamblador (pseudo-ops): No se ejecutan ni se traducen a codigo de maquina, sirven para darle ordenes al assembler como definir constantes, espacios de memoria, incluir archivo, etc (equ, %define)
  • Macros : agrupar instrucciones con un nombre (simil funcion)
17
Q

Que y cuales son los Modos de dirreccionamiento que reconoce Assembler

A

Son las formas de especificicar la ubicacion de los operandos, assembler reconoce los siguientes:
* Por registro
* Inmediato
* Directo
* Indirecto
* Indexado

18
Q

Explicar el direccionamiento por Registro

A

Origen y destino son registros, la trasferencia sucede sentro del micro.
Por ejemplo: mov ah, al.
Reglas:
* dest y or, deben ser del mismo tamaño
* Algunos registros no pueden ser destino
* No se puede usa como org y dest un registro de segmento

19
Q

Explicar el direccionamiento Inmediato

A

El operando de origen, porma parte del codigo del programa(constantes o literales).
por ejemplo: mov ah, 20h
Reglas:
* El operando de destino puede ser cualquier registro menos un registro de segmento
* El valor literal o inmediato debe tener un tamaño identico al destino

20
Q

Explicar el direccionamiento Directo

A

Uno de los operandos es una direccion de memoria literal que puede ponerse explicitamente o por medio de una etiqueta
por ejemplo:
* mov ax, 1280h
* mov ax, [etiqueta]

21
Q

Explicar el direccionamiento Indirecto

A

Uno de los operandos es una direccion de memoria pero esta no de explicita literalmente sino a traves de un registro que funciona como puntero.
Por ejemplo
* mov al , [bx]
* mov al, [bx + 4 ]
Los registros que pueden utilizarse son BX, BP, SI Y DI

22
Q

Explicar el direccionamiento Indexado

A

Permite el acceso a memoria calculando la direccion a partir de tres componentes. La dirección no se obtiene de un registro sino que es calculada a partir de dos registros y, opcionalmente, un desplazamiento.

El contenido del registro ındice suele ir cambiando en el interior de un bucle. Opcionalmente puede sumarse tambien un desplazamiento

Entiendo que es como que va recorriendo direcciones de memoria

23
Q

Cuales son las instrucciones de movimiento de datos en Assembly?

A
  • MOV
  • PUSH
  • POP
  • LEA (Cargar direcciones de memoria)
24
Q

Cuales son las instrucciones de Aritmeticas y logicas en Assembly?

A
  • ADD
  • SUB
  • INC,DEC
  • IMUL (“Multiplicacion”)
  • IDIV
  • AND, OR ,XOR
  • NOT
  • SHL, SHR (Shift)
25
Q

Cuales son las instrucciones de Control de Flujo en Assembly?

A
  • JUMP
  • J < Condition >
  • CMP (compare)
  • CALL, RET
26
Q

Explique la convencion de llamado

A
  1. El programa llamante empuja los parametros a la pila, de derecha a izquierda
  2. Se llama un CALL para pasar el control (Esto pushea en la pila la direccion de retorno)
  3. Se guarda el valor de EBP en la pila para poder agregar variables locales a esta sin perder referencia a los parametros de la funcion, se guarda en la pila por si se anidan funciones para no perder la referencia anterior
  4. Si se retornan valores se guardan en AL, AX O EAX
  5. antes de hacer el retorno se recupera el ESP anteior desde EBP y al hacer un RET se popea la direccion de retorno
  6. Al reecuperrar el control para limpiar los parametros de la pila se añade un valor a ESP (bajo la pila, descartando los parametros) lo cual es mas rapido que un POP
27
Q

Que es el principio de localidad? Que tipos de localidad hay?

A

El principio de localidad habla de que la distribucion Espacial y temporal de acceso a las direcciones de memoria no es homogenea, es decir si se accede a una direccion de memoria las probabilidades de que la siguiente sea una direccion cercana es mucho mayor a que sea una alejada(Espacial), de igual manera despues de acceder a una direccion las probabilidades de que se vuelva a acceder a esta en un tiempo cercano son mucho mayores a que pase mucho tiempo entre accesos( temporal )

28
Q

como organiza la memoria cache de correspondencia directa los datos?

A

Cada posicion de memoria principal se correspende con una unica de cache, esta correspondencia se suele hacer utilizando el modulo que al ser normalmente una potencia de 2, corresponde con los bits mas significativos para el tageo y los menos significativos para el indexado.
tambien utiliza un bit de validez para saber si el dato que esta guardado es valido o es basura

Ej: la posicion 101 del cache puede tener las posiciones de memoria 00101, 01101, 10101 o 11101

29
Q

Que es un dataMiss ?

A

Es una solicitud de datos en la cache que no se puede completar porque los datos no estan presentes, al suceder esto se deben recuperar los datos desde la memoria de una jererquia mas baja, esto se realiza con una unidad de control que rellena la memoria cache. al suceder esto se puede detener todo el procesador a la espera de los datos.

30
Q

Diferencias entre la Escritura directa y la escritura retardada

A

La principal diferencia es que mientras que al tener que escribir un dato la escritura directa escribe tanto la cache como la memoria principal mientras que la escritura retardada solo escribe el cache y trascribe esos datos a la memoria principal solo al haber un miss. por un lado la escritura directa es muchisimo mas lenta pero por el otro la escritura retardada es mucho mas compleja de implementar ya que se debe llevar registro de que datos del cache fueron editados

31
Q

Cuales son las dos politicas de fallo de escritura?

A
  • Reserva de escritura: Se reserva un bloque en la cache. El bloque se recupera de la memoria y luego se sobrescribe la parte apropiada del bloque en cache. Estrategia mas comun.
  • Asignacion sin escritura: Actualiza la parte del bloque en la memoria pero no en la cache. La motivaci ́on es que a veces los programas escriben bloques completos de datos, como cuando el SO pone a cero una pagina de memoria.