Capitulo 4 Flashcards

1
Q

¿Qué es ISA?

A

Instruction Set Architecture

Define el conjunto de instrucciones que un procesador puede ejecutar.

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

Define ‘código de máquina’.

A

Secuencias de 1s y 0s que entiende la máquina.

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

¿Qué es un lenguaje de alto nivel?

A

Lenguaje de programación con mensajes super claros para el humano.

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

¿Qué función cumple un ‘assembler’?

A

Lenguaje intermedio entre el código de máquina y el lenguaje de alto nivel.

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

¿Qué es un bus en arquitectura de computadoras?

A

Sistema digital que transfiere datos entre los componentes de una computadora.

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

¿Cuál es la función del bus del sistema?

A

Reducir la cantidad de interconexiones entre la CPU y sus subsistemas.

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

¿Qué genera la CPU sobre el bus de direcciones?

A

Direcciones que se transfieren sobre el bus de direcciones.

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

¿Qué recibe la memoria a través del bus de direcciones?

A

Direcciones.

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

¿Cuál es el procedimiento típico de almacenamiento antes de la ejecución?

A

El usuario escribe un programa en lenguaje de alto nivel.

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

¿Qué hace un compilador?

A

Traduce el programa a lenguaje ensamblador.

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

¿Cómo se almacena un programa después de ser convertido a lenguaje de máquina?

A

El programa se almacena en disco.

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

¿Qué se carga en la memoria principal antes de la ejecución?

A

El programa en lenguaje de máquina desde el disco.

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

¿Qué es un registro en memoria?

A

Almacena normalmente un byte de información y tiene una dirección.

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

¿Qué es un ‘nibble’?

A

4 bits.

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

¿Qué es un ‘byte’?

A

8 bits.

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

¿Qué es una ‘media palabra’?

A

16 bits.

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

¿Qué es una ‘palabra’?

A

32 bits.

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

¿Qué es una ‘doble palabra’?

A

64 bits.

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

¿Qué es una ‘cuádruple palabra’?

A

128 bits.

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

¿Qué determina el rango de direcciones en memoria?

A

El tamaño de la dirección de memoria que la CPU puede colocar sobre el bus de direcciones.

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

¿Qué son las palabras de más de un byte?

A

Se almacenan como una secuencia de bytes, direccionadas a partir del byte menos significativo.

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

Completa: La forma de almacenar bytes en memoria puede ser __________.

A

[Little-Endian] o [Big-Endian].

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

¿Qué contiene la CPU?

A

Unidad de datos, registros, ALU y unidad de control.

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

¿Qué es el contador de programa (PC)?

A

Contiene la dirección de la instrucción en ejecución.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Qué hace la unidad de control?
Responsable de la ejecución de las instrucciones del programa.
26
¿Qué pasos realiza la unidad de control en el ciclo de búsqueda-ejecución?
* Búsqueda en memoria de la próxima instrucción a ser ejecutada * Decodificación del código de operación * Búsqueda de operandos en memoria (si hay) * Ejecución de la instrucción y almacenamiento de los resultados.
27
¿Qué es el conjunto de instrucciones?
Colección de instrucciones que un procesador puede ejecutar.
28
¿Qué es un compilador?
Programa que transforma programas escritos en un lenguaje de alto nivel en lenguaje de máquina.
29
¿Qué define a la arquitectura CISC?
Cierto grado de complejidad en sus instrucciones.
30
¿Qué caracteriza a la arquitectura RISC?
Cierto grado de simplificación en sus instrucciones.
31
¿Qué es ARC?
A RISC Computer.
32
¿Qué tamaño tienen las instrucciones en ARC?
1 palabra (32 bits).
33
¿Qué instrucciones están permitidas para el acceso a memoria en ARC?
* ld * st
34
¿Cómo se representa el formato de instrucción en ARC?
Define la manera en que el ensamblador distribuye los diversos campos de una instrucción.
35
¿Qué hace la instrucción 'ld'?
Carga un registro desde la memoria principal.
36
¿Qué hace la instrucción 'st'?
Almacena el contenido de un registro en la memoria principal.
37
¿Qué es la instrucción 'sethi'?
Carga los 22 bits más significativos de un registro y coloca en 0 sus diez bits menos significativos.
38
¿Qué hace la instrucción 'addcc'?
Suma los operandos de origen.
39
¿Qué hace la instrucción 'call'?
Invoca una subrutina.
40
¿Qué es la negación de la suma lógica?
Altera los flags. ## Footnote Se refiere a una operación que cambia el estado de los flags en un sistema lógico.
41
¿Qué hace la instrucción 'srl'?
Desplaza a la derecha el contenido de un registro en una cantidad de cero a 31 posiciones. Las posiciones que quedan vacías sobre la izquierda del registro desplazado se convierten en 0s. ## Footnote 'srl' significa 'shift right logical'.
42
¿Cuál es la función de 'addcc'?
Suma los operandos de origen utilizando la representación complemento a dos. ## Footnote Es una operación aritmética común en programación de bajo nivel.
43
¿Qué hace la instrucción 'call'?
Invoca una subrutina y almacena la dirección de la instrucción actual en %r15. ## Footnote Esto permite regresar a la instrucción original después de ejecutar la subrutina.
44
¿Qué realiza la instrucción 'jmpl'?
Salta y vincula (retorno de subrutina), saltando a una nueva dirección y almacenando la dirección de la instrucción actual. ## Footnote 'jmpl' es utilizado para manejar el flujo de control en programas.
45
¿Qué condición debe cumplirse para que la instrucción 'be' ejecute un salto?
El flag z debe ser igual a 1. ## Footnote 'be' significa 'branch if equal'.
46
¿Qué hace la instrucción 'bneg'?
Salta a una dirección si el flag n es igual a 1. ## Footnote 'bneg' significa 'branch if negative'.
47
¿Qué condición verifica 'bcs' para realizar un salto?
Si el flag c es igual a 1. ## Footnote 'bcs' significa 'branch if carry set'.
48
¿Qué verifica 'bvs' para ejecutar un salto?
Si el flag v es igual a 1. ## Footnote 'bvs' significa 'branch if overflow set'.
49
¿Qué hace la instrucción 'ba'?
Salta a la dirección obtenida sumando a la dirección de la instrucción actual el valor 4dip22 incluido en la instrucción de salto. ## Footnote 'ba' significa 'branch always'.
50
¿Qué son las directivas en ensamblador?
Instrucciones dirigidas al ensamblador para que realice ciertas acciones en el momento del ensamble. ## Footnote Son específicas de un determinado ensamblador.
51
¿Qué sucede con las sentencias que aparecen antes del .begin o después del .end?
Serán ignoradas. ## Footnote Esto es parte de la organización del código en ensamblador.
52
¿Cuánto mide una instrucción de tres direcciones?
7 Bytes. ## Footnote Esto incluye el tamaño de la instrucción y las palabras operativas.
53
¿Cuánto tráfico total de memoria genera un programa con dos instrucciones de tres direcciones?
26 Bytes. ## Footnote Esto se calcula sumando el tráfico de instrucciones y de datos.
54
¿Cuánto mide una instrucción de dos direcciones?
5 Bytes. ## Footnote Incluye el tamaño de la instrucción y las palabras operativas.
55
¿Cuánto tráfico total de memoria genera un programa con tres instrucciones de dos direcciones?
31 Bytes. ## Footnote Esto incluye el tráfico de instrucciones y de datos.
56
¿Cuál es el tamaño de una instrucción de una dirección?
3 Bytes. ## Footnote Esto incluye el tamaño de la instrucción y una palabra operativa.
57
¿Qué son los modos de direccionamiento?
Métodos para obtener la dirección de un dato almacenado en memoria. ## Footnote Incluyen varias técnicas como inmediato, directo, indirecto, etc.
58
¿Qué es el modo de direccionamiento inmediato?
Permite hacer referencia a una constante cuyo valor se conoce al momento del ensamble. ## Footnote Es útil para operaciones que requieren valores constantes.
59
¿Qué implica el modo de direccionamiento indirecto?
Acceder a una variable puntero cuya dirección se conoce al momento de la compilación. ## Footnote Se desaconseja su uso debido a la necesidad de múltiples instrucciones.
60
¿Qué es una subrutina?
Secuencia de instrucciones a la que se invoca como si fuera una única instrucción. ## Footnote También se conoce como función o procedimiento.
61
¿Cuáles son algunos métodos para pasar argumentos a una subrutina?
* Colocar los argumentos en registros * Crear una zona de transferencia de datos * Utilizar una pila ## Footnote Cada método tiene sus ventajas y desventajas en términos de eficiencia y complejidad.
62
¿Qué es el enlace entre subrutinas?
El proceso de transferencia de argumentos entre subrutinas. ## Footnote Es fundamental para la comunicación efectiva entre diferentes partes de un programa.
63
¿Qué se requiere para la entrada y salida en lenguaje simbólico?
* Uso de instrucciones específicas * Bus de entrada-salida ## Footnote También se puede utilizar la entrada-salida mapeada en memoria principal para simplificar el acceso a dispositivos.