Вы находитесь на странице: 1из 14

UNIDAD CENTRAL DE PROCESAMIENTO

472 compilador
497 registros
las preguntas en amarillo son los temas que hemos visto
9.1. Explique brevemente las siguientes representaciones: signo-
magnitud, complemento a dos, sesgada.
Signo/Magnitud
Está fundamentado en el sistema posicional binario que representa el signo del entero
separado de su magnitud. Se separa un bit para representar el signo; la costumbre es
asignar el valor de cero para representar positivo y uno para representar el signo
negativo. El bit de signo puede ocupar cualquier posición dentro de los bits de trabajo.
Para propósito de estas lecciones, presumimos que el bit del signo ocupa la posición
de más a la izquierda.

Complemento a dos
C2= 2^n -N (formula 1)
(C1= 2^n -N-1)
C2= C1+1(formula 2)
El complemento a dos de un número N que, expresado en el sistema binario está
compuesto por n dígitos, se define como: El total de números positivos será : (2^n
-1)-1 y el de negativos (2^n -1) , siendo n el número máximo de bits

Sesgada
Es un formato binario. Una vez establecemos el espacio de trabajo, el número de bits
m a que escribimos la representación, hemos fijado el total de representaciones
posibles. Este total se reparte, mitad a enteros negativos, la otra mitad al cero y a
números positivos. Esto nos determina el entero negativo de tamaño mayor (el
mínimo) que podemos representar.

9.2. Explique cómo determinar si un número es negativo en las sigu


ientes representaciones: signo-magnitud, complemento a dos, sesgada.

9.3. En qué consiste la regla de extensión del signo para los números en
complemento a dos?
Consiste en añadir posiciones de bits a la izquierda rellenándolas con el valor
del bit de signo original.

9.4. Como se obtiene el opuesto de un entero en la representación de


complemento a dos?
Siguiendo las siguientes reglas:
· Obtener el complemento booleano de cada bit del entero. Es decir cambiar 1
por 0 también viceversa.
· Tratando el resultado como un entero binario sin signo y sumarle 1.

9.5. En términos generales. Cuando produce el mismo entero la operación


de complemento a dos sobre un entero de n bits?
Existen 2 casos cuando A=0 y el otro caso es la combinación de bits en un 1
seguido de n-1 en estos casos el resultado de complemento a dos es el mismo.

9.6. Cuál es la diferencia entre la representación en complemento a dos


de un número y el complemento a dos de un número?
En la representación en complemento a dos se utiliza el bit más significativo
para el signo, en cambio el complemento a dos de un número se compone
como el negativo del número original.
9.7. Si al sumar tratamos los números en complemento a dos como si
fuesen enteros sin signo, el resultado, interpretado como un número en
complemento a dos, es correcto. Porque esto no se cumple para la
multiplicación?
Porque cada producto parcial consiste en dicho número desplazado a la
izquierda y las posiciones deben ser llenadas por 0 por lo que afectaría al
resultado debe realizarse de una manera diferente en el caso de multiplicación.
9.8. Cuáles son los cuatro elementos esenciales de un numero en la
notación de coma flotante?
· El signo se almacena en el primer bit de la palabra
· El primer bit de la parte significativa original siempre es 1
· Se suma 127 al exponente original almacenado en el campo exponente
· La base es 2

9.9. Que ventaja supone utilizar la representación sesgada para la parte


del exponente de un número en coma flotante?
Es que los números de coma flotante no negativos pueden ser trasladados de
la misma forma que los enteros al efectuar comparaciones
9.10. Que diferencia existen entre desbordamiento positivo,
desbordamiento del exponente y desbordamiento de la parte
significativa?
Desbordamiento positivo: Los números positivos mayores que
Desbordamiento del exponente: Un exponente positivo que excede el valor
máximo posible.
Desbordamiento de la parte significativa: La suma de dos mantisas del
mismo signo puede producir un acarreo procedente del bit más significativo.

9.11. Cuáles son los elementos básicos de la suma y la resta en coma


flotante?
Resta
· En las resta existe la posibilidad de obtener con uno o varios ceros en los bits
más significativos.
· La normalización se realiza desplazando la mantisa a la izquierda y restando
uno al exponente por cada posición desplazada.
· Es importante controlar la posibilidad de que el exponente se desborde a cero.
· Una posible solución seria usar el formato no normalizado
Suma
· En la suma existe la posibilidad de desbordamiento a infinito del valor de la
mantisa.
· El desbordamiento se debe corregir desplazando la mantisa una posición a la
derecha y sumando uno al exponente.
· Es importante controlar la posibilidad de que el exponente se desborde al
realizar esta operación ya que obtendríamos un número no representable.
9.12. Indique un motivo para el uso de los bits de guarda.
Para que no se pierdan bits en el proceso, al momento que el bit se desplaza
a la derecha para igualar exponentes.
9.13. Enumere cuatro métodos alternativos de redondeo de los resultados
de una operación de coma flotante.
· Redondeo al más cercano (al par en caso de empate)
· Redondeo a más infinito (por exceso)
· Redondeo a menos infinito (por defecto)
· Redondeo a cero (truncamiento)

REPERTORIOS DE INSTRUCCIONES DEL CPU


10.1 Cuales son los componentes típicos de una instrucción máquina?
a) Buscar la instrucción en la memoria principal
Se vuelca el valor del contador de programa sobre el bus de direcciones.
Entonces la CPU pasa la instrucción de la memoria principal a través del bus
de datos al Registro de Datos de Memoria (MDR).
b) Decodificar la instrucción
El decodificador de instrucción interpreta e implementa la instrucción. El
registro de instrucción (IR) mantiene la instrucción en curso mientras el
contador de guarda la dirección de memoria de la siguiente instrucción a ser
ejecutada.
c) Ejecutar la instrucción
A partir del registro de instrucción, los datos que forman la instrucción son
decodificados por la unidad de control. Ésta interpreta la información como una
secuencia de señales de control que son enviadas a las unidades funcionales
relevantes de la CPU para realizar la operación requerida por la instrucción.
d) Almacenar o guardar resultados
El resultado generado por la operación es almacenado en la memoria principal
o enviado a un dispositivo de salida dependiendo de instrucción.
10.2 Que posiciones de memorización pueden contener operandos de
origen y de destino?
· Memoria principal
· Registro del procesador
· Dispositivo de E/S
10.3 Si una instrucción contiene cuatro direcciones. Que propósito podría
tener cada dirección?
Contener 2 operandos, un resultado y la dirección de la instrucción siguiente,
aunque en la práctica es muy raro encontrar instrucciones que contengan
cuatro direcciones.
10.4 Enumere y explique brevemente cinco aspectos importantes en el
diseño del repertorio de instrucciones.
El repertorio de operaciones: Cuantas y que operaciones considerar y cuan
complejas deben ser.
Los tipos de datos: Los distintos tipos de datos con los que se efectúan
operaciones.
Los formatos de instrucciones: Longitud de la instrucción, numero de
direcciones, tamaño de distinto campo.
Los registros: Número de registros del procesador que pueden ser
referenciados por la instrucción.
El direccionamiento: El modo de direccionamiento mediante los cuales
pueden identificarse la dirección de operando.
10.5 Que tipos de operandos son usuales en los repertorios de
instrucciones maquina?
· Direcciones
· Números
· Caracteres
· Datos logicos

10.6 Qué relación existe entre el código de caracteres IRA 0 ASCII y la


representación decimal empaquetada?
La relación que estos dos representan caracteres de manera binaria aunque la
representación empaquetada ocupa un carácter por cada par de dígitos la otra
es el estándar más usado en la actualidad
10.7 Qué diferencia existe entre desplazamiento aritmético y
desplazamiento lógico?
Desplazamiento lógico los bits de un registro son desplazados (movidos) una
o más posiciones hacia la derecha o izquierda. Los bits que salen del registro
por un extremo se pierden y en el otro extremo del registro se rellena con un bit
cero por cada bit desplazado.
Los desplazamientos aritméticos son similares a los lógicos, solo que los
aritméticos están pensados para trabajar sobre números enteros con signo en
representación de complemento a dos en lugar de enteros sin signo. Permiten
multiplicación, división por dos.
10.8 Porque son necesarias las instrucciones de control de flujo de
ejecución?
Por qué son las que modifican el secuenciamiento de la ejecución de las
instrucciones del programa. En general el secuenciamiento es implícito, es
decir la siguiente instrucción en ejecutarse es la que esta físicamente detrás en
el programa.
10.9 Enumere y explique brevemente dos formas comunes de generar la
condición a comprobar en una instrucción de bifurcación o salto
condicional?
Bifurcación simple: Se trata de ejecutar unos comandos en caso de que se
cumpla una condición o nada en caso contrario.

Bifurcación completa: Otro caso es ejecutar unos comandos en caso de que


se cumpla una condición u otros comandos en caso contrario.
10.10 Que se entiende por anidamiento de procedimientos?
Es una técnica fundamental utilizada en todo tipo de lenguajes de
programación ya que permite que unos procedimientos utilicen las
funcionalidades proporcionadas por otros sin límite alguno.
10.11 Enumere 3 posibles ubicaciones para almacenar la dirección de
retorno de un procedimiento.
Almacenamiento de la dirección de retorno: Cuando una subrutina es
llamada, la localización de la instrucción para retornar necesita ser guardada en
alguna parte.
Almacenamiento local de datos: Una subrutina frecuente necesita memoria
para almacenar los valores de las variables locales.
Paso de parámetros: A menudo las subrutinas requieren que los valores para
sus parámetros les sean suministrados por el código que las llama.

10.12 Que es un procedimiento reentrante?


Es aquella cuya ejecución en una hebra puede verse interrumpida, ejecutarse
en otra hebra y volver a completar normalmente la ejecución en la primera
hebra. Requiere que todos sus procedimientos pase por la pila y que sus
variables se guarden allí.
10.13 Qué diferencia hay entre leguaje ensamblador y lenguaje maquina?
Lenguaje ensamblador: Es un lenguaje de programación de bajo nivel para
los computadores. Implementa una representación simbólica de códigos de
maquina binarios y otras constantes necesarias para programar en una
arquitectura de la CPU.
Lenguaje de maquina: O código maquina es el sistema de códigos
directamente interpretable por un circuito micro programable como el
microprocesador de una computadora.
10.14 En qué consiste la notación polaca inversa?
Su principio es el de evaluar los datos directamente cuando se introducen y
manejarlos dentro de una estructura LIFO lo que optimiza los procesos a la
hora de programar.
10.15 Cuál es la diferencia entre Big endian y Little endian?
Little endian: Significa que el byte de menor peso se almacena en la dirección
más baja de memoria y el byte de mayor peso en la más alta.
Big endian: El byte de mayor peso se almacena en la dirección más baja de
memoria y el byte de menor peso en la dirección más alta.

ESTRUCTURA Y FUNCIONAMIENTO DEL PROCESADOR


12.1 Qué papeles desempeñan en general los registros del procesador?

FUNCIONAN COMO UN NIVEL DE MEMORIA POR ENCIMA DE LA MEMORIA PRINCIPAL Y DE LA


CACHE EN LA JERARQUÍA DE UN CONJUNTO DE POSICIONES DE ALMACENAMIENTO

12.2 Que tipos de dato son admitidos normalmente por los registros
visibles por el usuario?
ÚNICAMENTE DATOS

12.3 Cuál es la función de los códigos de condición?


FACILITAN LOS SALTOS MÚLTIPLES. POR EJEMPLO UNA INSTRUCCIÓN TEST PUEDE VENIR SEGUIDA DE
DOS SALTOS, UNO SI MENOR O IGUAL QUE CERO Y OTRO SI MAYOR QUE CERO.

12.4 Que es la palabra de estado del programa?


REGISTRO O CONJUNTO DE REGISTROS QUE CONTIENE INFORMACIÓN DE ESTADO, CONTIENE
TÍPICAMENTE CÓDIGOS DE CONDICIÓN ADEMÁS DE OTRA INFORMACIÓN DE ESTADO

12.5 Porque es importante que un cauce de instrucciones de dos etapas


reduzca el tiempo de ciclo de instrucción a la mitad, en comparación con
un diseño no segmentado?
1. EL TIEMPO DE EJECUCIÓN SERA GENERALMENTE MÁS LARGO QUE EL TIEMPO DE CAPTACIÓN. LA
IMPLICACIÓN IMPLICA LA LECTURA Y ALMACENAMIENTO DE OPERANDOS Y LA REALIZACIÓN DE ALGUNA
OPERACIÓN, POR CONSIGUIENTE LA ETAPA DE CAPTACIÓN PUEDE TENER QUE ESPERAR ALGÚN TIEMPO
ANTES DE QUE PUEDA VACIAR SU BUFFER

12.6 Enumere y explique brevemente varias formas de las que un cauce


de instrucciones puede ocuparse de la instrucción de salto condicional.
ES UNA INSTRUCCIÓN DE SALTO CONDICIONAL DE LA SIGUIENTE INSTRUCCIÓN A CAPTAR ES
DESCONOCIDA. POR TANTA LA ETAPA DE CAPTACIÓN DEBE ESPERAR HASTA QUE RECIBA LA DIRECCIÓN
DE LA SIGUIENTE INSTRUCCIÓN DESDE LA ETAPA DE EJECUCIÓN. LA ETAPA DE EJECUCIÓN PUEDE
ENTONCES TENER QUE ESPERAR MIENTRAS SE CAPTA LA SIGUIENTE INSTRUCCIÓN

12.7 Como se usan los bits de historia en la predicción de saltos?


ESTOS BITS SON CONSULTADOS A MODO DE CONMUTADOR SALTAR/NO SALTAR QUE DIRIGE AL
PROCESADOR A TOMAR UNA DETERMINADA DECISIÓN LA PROXIMA VEZ QUE ENCUENTRE LA
INSTRUCCIÓN. NORMALMENTE ESTOS BITS DE HISTORIA NO ESTAN ASOCIADOS A LA INSTRUCCIÓN EN
MEMORIA PRINCIPAL . EN LUGAR DE ELLO, SE GUARDAN TEMPORALMENTE EN UN ALMACENAMIENTO DE
ALTA VELOCIDAD. P 477

COMPUTADORES DE REPERTORIO REPETIDO DE INSTRUCCIONES


13.1 Cuáles son las algunas características típicas que distinguen la
organización RISC?
 Operaciones realizadas: determinan las funciones que lleva a cabo el
procesador y su interacción con la memoria.
Operandos usados: los tipos de operandos y su frecuencia de uso determinan
la organización de memoria para almacenarlos y los módulos de
direccionamiento para acceder a ellos.
 Secuencia de la ejecución: determina la organización del control y del
cauce segmentado.

13.2 Explique brevemente las dos soluciones básicas empleadas para


minimizar las operaciones registro-memoria en las máquinas RISC.

Banco de registro amplio Caché

Todos los datos escalares locales Datos escalares locales recientemente


usados

variables individuales bloques de memoria

Variables globales asignadas por el variables globales usadas


compilador recientemente

Salvaguarda o restauración basadas en Salvaguarda o restauración basadas


la profundidad del anidamiento en el algoritmo de reemplazo

Direccionamiento a registros Direccionamiento a memoria.

13.3 Si se usa un buffer circular de registros para manejar las variables


locales en procedimientos anidados, describa dos aproximaciones para
gestionar las variables globales?

13.4 Cuáles son algunas de las características típicas de una arquitectura


de repertorio de instrucciones de tipo RISC?
 Una instrucción por ciclo
 operaciones registro a registro
 Modos de direccionamientos sencillos
 Formatos de instrucción sencillos.

13.5 Que es un salto retardado?

LA UNIDAD DE CONTROL
16.1 Explique la diferencia entre secuencia escrita y la secuencia de
tiempo de una instrucción?

16.2 Cuál es la relación entre instrucciones y microoperaciones?


16.3 Cuál es la función general de la unidad de control de un procesador?
16.4 Bosqueje un proceso de tres pasos que conduzca a la
caracterización de la unidad de control?
16.5 Qué tareas básicas realizan una unidad de control?
16.6 Escriba una lista típica de entradas y salidas de una unidad de
control.
16.7 Indique tres tipos de señales de control.
16.8 Explique brevemente qué se entiende por una implementación
cableada de una unidad de control.
UNIDAD CENTRAL DE PROCESAMIENTO

las preguntas en amarillo son los temas que hemos visto


9.1. Explique brevemente las siguientes representaciones: signo-
magnitud, complemento a dos, sesgada.
Signo/Magnitud
Está fundamentado en el sistema posicional binario que representa el signo del entero
separado de su magnitud. Se separa un bit para representar el signo; la costumbre es
asignar el valor de cero para representar positivo y uno para representar el signo
negativo. El bit de signo puede ocupar cualquier posición dentro de los bits de trabajo.
Para propósito de estas lecciones, presumimos que el bit del signo ocupa la posición
de más a la izquierda.

Complemento a dos
C2= 2^n -N (formula 1)
(C1= 2^n -N-1)
C2= C1+1(formula 2)
El complemento a dos de un número N que, expresado en el sistema binario está
compuesto por n dígitos, se define como: El total de números positivos será : (2^n
-1)-1 y el de negativos (2^n -1) , siendo n el número máximo de bits

Sesgada
Es un formato binario. Una vez establecemos el espacio de trabajo, el número de bits
m a que escribimos la representación, hemos fijado el total de representaciones
posibles. Este total se reparte, mitad a enteros negativos, la otra mitad al cero y a
números positivos. Esto nos determina el entero negativo de tamaño mayor (el
mínimo) que podemos representar.

9.2. Explique cómo determinar si un número es negativo en las siguientes


representaciones: signo-magnitud, complemento a dos, sesgada.
9.3. En qué consiste la regla de extensión del signo para los números en
complemento a dos?
Consiste en añadir posiciones de bits a la izquierda rellenándolas con el valor
del bit de signo original.

9.4. Como se obtiene el opuesto de un entero en la representación de


complemento a dos?
Siguiendo las siguientes reglas:
· Obtener el complemento booleano de cada bit del entero. Es decir cambiar 1
por 0 también viceversa.
· Tratando el resultado como un entero binario sin signo y sumarle 1.

9.5. En términos generales. Cuando produce el mismo entero la operación


de complemento a dos sobre un entero de n bits?
Existen 2 casos cuando A=0 y el otro caso es la combinación de bits en un 1
seguido de n-1 en estos casos el resultado de complemento a dos es el mismo.

9.6. Cuál es la diferencia entre la representación en complemento a dos


de un número y el complemento a dos de un número?
En la representación en complemento a dos se utiliza el bit más significativo
para el signo, en cambio el complemento a dos de un número se compone
como el negativo del número original.
9.7. Si al sumar tratamos los números en complemento a dos como si
fuesen enteros sin signo, el resultado, interpretado como un número en
complemento a dos, es correcto. Porque esto no se cumple para la
multiplicación?
Porque cada producto parcial consiste en dicho número desplazado a la
izquierda y las posiciones deben ser llenadas por 0 por lo que afectaría al
resultado debe realizarse de una manera diferente en el caso de multiplicación.
9.8. Cuáles son los cuatro elementos esenciales de un numero en la
notación de coma flotante?
· El signo se almacena en el primer bit de la palabra
· El primer bit de la parte significativa original siempre es 1
· Se suma 127 al exponente original almacenado en el campo exponente
· La base es 2

9.9. Que ventaja supone utilizar la representación sesgada para la parte


del exponente de un número en coma flotante?
Es que los números de coma flotante no negativos pueden ser trasladados de
la misma forma que los enteros al efectuar comparaciones
9.10. Que diferencia existen entre desbordamiento positivo,
desbordamiento del exponente y desbordamiento de la parte
significativa?
Desbordamiento positivo: Los números positivos mayores que
Desbordamiento del exponente: Un exponente positivo que excede el valor
máximo posible.
Desbordamiento de la parte significativa: La suma de dos mantisas del
mismo signo puede producir un acarreo procedente del bit más significativo.

9.11. Cuáles son los elementos básicos de la suma y la resta en coma


flotante?
Resta
· En las resta existe la posibilidad de obtener con uno o varios ceros en los bits
más significativos.
· La normalización se realiza desplazando la mantisa a la izquierda y restando
uno al exponente por cada posición desplazada.
· Es importante controlar la posibilidad de que el exponente se desborde a cero.
· Una posible solución seria usar el formato no normalizado
Suma
· En la suma existe la posibilidad de desbordamiento a infinito del valor de la
mantisa.
· El desbordamiento se debe corregir desplazando la mantisa una posición a la
derecha y sumando uno al exponente.
· Es importante controlar la posibilidad de que el exponente se desborde al
realizar esta operación ya que obtendríamos un número no representable.
9.12. Indique un motivo para el uso de los bits de guarda.
Para que no se pierdan bits en el proceso, al momento que el bit se desplaza
a la derecha para igualar exponentes.
9.13. Enumere cuatro métodos alternativos de redondeo de los resultados
de una operación de coma flotante.
· Redondeo al más cercano (al par en caso de empate)
· Redondeo a más infinito (por exceso)
· Redondeo a menos infinito (por defecto)
· Redondeo a cero (truncamiento)

REPERTORIOS DE INSTRUCCIONES DEL CPU


10.1 Cuales son los componentes típicos de una instrucción máquina?
a) Buscar la instrucción en la memoria principal
Se vuelca el valor del contador de programa sobre el bus de direcciones.
Entonces la CPU pasa la instrucción de la memoria principal a través del bus
de datos al Registro de Datos de Memoria (MDR).
b) Decodificar la instrucción
El decodificador de instrucción interpreta e implementa la instrucción. El
registro de instrucción (IR) mantiene la instrucción en curso mientras el
contador de guarda la dirección de memoria de la siguiente instrucción a ser
ejecutada.
c) Ejecutar la instrucción
A partir del registro de instrucción, los datos que forman la instrucción son
decodificados por la unidad de control. Ésta interpreta la información como una
secuencia de señales de control que son enviadas a las unidades funcionales
relevantes de la CPU para realizar la operación requerida por la instrucción.
d) Almacenar o guardar resultados
El resultado generado por la operación es almacenado en la memoria principal
o enviado a un dispositivo de salida dependiendo de instrucción.
10.2 Que posiciones de memorización pueden contener operandos de
origen y de destino?
· Memoria principal
· Registro del procesador
· Dispositivo de E/S
10.3 Si una instrucción contiene cuatro direcciones. Que propósito podría
tener cada dirección?
Contener 2 operandos, un resultado y la dirección de la instrucción siguiente,
aunque en la práctica es muy raro encontrar instrucciones que contengan
cuatro direcciones.
10.4 Enumere y explique brevemente cinco aspectos importantes en el
diseño del repertorio de instrucciones.
El repertorio de operaciones: Cuantas y que operaciones considerar y cuan
complejas deben ser.
Los tipos de datos: Los distintos tipos de datos con los que se efectúan
operaciones.
Los formatos de instrucciones: Longitud de la instrucción, numero de
direcciones, tamaño de distinto campo.
Los registros: Número de registros del procesador que pueden ser
referenciados por la instrucción.
El direccionamiento: El modo de direccionamiento mediante los cuales
pueden identificarse la dirección de operando.
10.5 Que tipos de operandos son usuales en los repertorios de
instrucciones maquina?
· Direcciones
· Números
· Caracteres
· Datos logicos

10.6 Qué relación existe entre el código de caracteres IRA 0 ASCII y la


representación decimal empaquetada?
La relación que estos dos representan caracteres de manera binaria aunque la
representación empaquetada ocupa un carácter por cada par de dígitos la otra
es el estándar más usado en la actualidad
10.7 Qué diferencia existe entre desplazamiento aritmético y
desplazamiento lógico?
Desplazamiento lógico los bits de un registro son desplazados (movidos) una
o más posiciones hacia la derecha o izquierda. Los bits que salen del registro
por un extremo se pierden y en el otro extremo del registro se rellena con un bit
cero por cada bit desplazado.
Los desplazamientos aritméticos son similares a los lógicos, solo que los
aritméticos están pensados para trabajar sobre números enteros con signo en
representación de complemento a dos en lugar de enteros sin signo. Permiten
multiplicación, división por dos.
10.8 Porque son necesarias las instrucciones de control de flujo de
ejecución?
Por qué son las que modifican el secuenciamiento de la ejecución de las
instrucciones del programa. En general el secuenciamiento es implícito, es
decir la siguiente instrucción en ejecutarse es la que esta físicamente detrás en
el programa.
10.9 Enumere y explique brevemente dos formas comunes de generar la
condición a comprobar en una instrucción de bifurcación o salto
condicional?
Bifurcación simple: Se trata de ejecutar unos comandos en caso de que se
cumpla una condición o nada en caso contrario.
Bifurcación completa: Otro caso es ejecutar unos comandos en caso de que
se cumpla una condición u otros comandos en caso contrario.
10.10 Que se entiende por anidamiento de procedimientos?
Es una técnica fundamental utilizada en todo tipo de lenguajes de
programación ya que permite que unos procedimientos utilicen las
funcionalidades proporcionadas por otros sin límite alguno.
10.11 Enumere 3 posibles ubicaciones para almacenar la dirección de
retorno de un procedimiento.
Almacenamiento de la dirección de retorno: Cuando una subrutina es
llamada, la localización de la instrucción para retornar necesita ser guardada en
alguna parte.
Almacenamiento local de datos: Una subrutina frecuente necesita memoria
para almacenar los valores de las variables locales.
Paso de parámetros: A menudo las subrutinas requieren que los valores para
sus parámetros les sean suministrados por el código que las llama.

10.12 Que es un procedimiento reentrante?


Es aquella cuya ejecución en una hebra puede verse interrumpida, ejecutarse
en otra hebra y volver a completar normalmente la ejecución en la primera
hebra. Requiere que todos sus procedimientos pase por la pila y que sus
variables se guarden allí.
10.13 Qué diferencia hay entre leguaje ensamblador y lenguaje maquina?
Lenguaje ensamblador: Es un lenguaje de programación de bajo nivel para
los computadores. Implementa una representación simbólica de códigos de
maquina binarios y otras constantes necesarias para programar en una
arquitectura de la CPU.
Lenguaje de maquina: O código maquina es el sistema de códigos
directamente interpretable por un circuito micro programable como el
microprocesador de una computadora.
10.14 En qué consiste la notación polaca inversa?
Su principio es el de evaluar los datos directamente cuando se introducen y
manejarlos dentro de una estructura LIFO lo que optimiza los procesos a la
hora de programar.
10.15 Cuál es la diferencia entre Big endian y Little endian?
Little endian: Significa que el byte de menor peso se almacena en la dirección
más baja de memoria y el byte de mayor peso en la más alta.
Big endian: El byte de mayor peso se almacena en la dirección más baja de
memoria y el byte de menor peso en la dirección más alta.

ESTRUCTURA Y FUNCIONAMIENTO DEL PROCESADOR


12.1 Qué papeles desempeñan en general los registros del procesador?

FUNCIONAN COMO UN NIVEL DE MEMORIA POR ENCIMA DE LA MEMORIA PRINCIPAL Y DE LA


CACHE EN LA JERARQUÍA DE UN CONJUNTO DE POSICIONES DE ALMACENAMIENTO

12.2 Que tipos de dato son admitidos normalmente por los registros
visibles por el usuario?
ÚNICAMENTE DATOS

12.3 Cuál es la función de los códigos de condición?


FACILITAN LOS SALTOS MÚLTIPLES. POR EJEMPLO UNA INSTRUCCIÓN TEST PUEDE VENIR SEGUIDA DE
DOS SALTOS, UNO SI MENOR O IGUAL QUE CERO Y OTRO SI MAYOR QUE CERO.
12.4 Que es la palabra de estado del programa?
REGISTRO O CONJUNTO DE REGISTROS QUE CONTIENE INFORMACIÓN DE ESTADO, CONTIENE
TÍPICAMENTE CÓDIGOS DE CONDICIÓN ADEMÁS DE OTRA INFORMACIÓN DE ESTADO

12.5 Porque es importante que un cauce de instrucciones de dos etapas


reduzca el tiempo de ciclo de instrucción a la mitad, en comparación con
un diseño no segmentado?
1. EL TIEMPO DE EJECUCIÓN SERA GENERALMENTE MÁS LARGO QUE EL TIEMPO DE CAPTACIÓN. LA
IMPLICACIÓN IMPLICA LA LECTURA Y ALMACENAMIENTO DE OPERANDOS Y LA REALIZACIÓN DE ALGUNA
OPERACIÓN, POR CONSIGUIENTE LA ETAPA DE CAPTACIÓN PUEDE TENER QUE ESPERAR ALGÚN TIEMPO
ANTES DE QUE PUEDA VACIAR SU BUFFER

12.6 Enumere y explique brevemente varias formas de las que un cauce


de instrucciones puede ocuparse de la instrucción de salto condicional.
ES UNA INSTRUCCIÓN DE SALTO CONDICIONAL DE LA SIGUIENTE INSTRUCCIÓN A CAPTAR ES
DESCONOCIDA. POR TANTA LA ETAPA DE CAPTACIÓN DEBE ESPERAR HASTA QUE RECIBA LA DIRECCIÓN
DE LA SIGUIENTE INSTRUCCIÓN DESDE LA ETAPA DE EJECUCIÓN. LA ETAPA DE EJECUCIÓN PUEDE
ENTONCES TENER QUE ESPERAR MIENTRAS SE CAPTA LA SIGUIENTE INSTRUCCIÓN

12.7 Como se usan los bits de historia en la predicción de saltos?


ESTOS BITS SON CONSULTADOS A MODO DE CONMUTADOR SALTAR/NO SALTAR QUE DIRIGE AL
PROCESADOR A TOMAR UNA DETERMINADA DECISIÓN LA PROXIMA VEZ QUE ENCUENTRE LA
INSTRUCCIÓN. NORMALMENTE ESTOS BITS DE HISTORIA NO ESTAN ASOCIADOS A LA INSTRUCCIÓN EN
MEMORIA PRINCIPAL . EN LUGAR DE ELLO, SE GUARDAN TEMPORALMENTE EN UN ALMACENAMIENTO DE
ALTA VELOCIDAD. P 477

COMPUTADORES DE REPERTORIO REPETIDO DE INSTRUCCIONES


13.1 Cuáles son las algunas características típicas que distinguen la
organización RISC?
 Operaciones realizadas: determinan las funciones que lleva a cabo el
procesador y su interacción con la memoria.
Operandos usados: los tipos de operandos y su frecuencia de uso determinan
la organización de memoria para almacenarlos y los módulos de
direccionamiento para acceder a ellos.
 Secuencia de la ejecución: determina la organización del control y del
cauce segmentado.

13.2 Explique brevemente las dos soluciones básicas empleadas para


minimizar las operaciones registro-memoria en las máquinas RISC.

Banco de registro amplio Caché

Todos los datos escalares locales Datos escalares locales recientemente


usados

variables individuales bloques de memoria

Variables globales asignadas por el variables globales usadas


compilador recientemente
Salvaguarda o restauración basadas en Salvaguarda o restauración basadas
la profundidad del anidamiento en el algoritmo de reemplazo

Direccionamiento a registros Direccionamiento a memoria.

13.3 Si se usa un buffer circular de registros para manejar las variables


locales en procedimientos anidados, describa dos aproximaciones para
gestionar las variables globales?

13.4 Cuáles son algunas de las características típicas de una arquitectura


de repertorio de instrucciones de tipo RISC?
 Una instrucción por ciclo
 operaciones registro a registro
 Modos de direccionamientos sencillos
 Formatos de instrucción sencillos.

13.5 Que es un salto retardado?

LA UNIDAD DE CONTROL
16.1 Explique la diferencia entre secuencia escrita y la secuencia de
tiempo de una instrucción?
16.2 Cuál es la relación entre instrucciones y microoperaciones?
16.3 Cuál es la función general de la unidad de control de un procesador?
16.4 Bosqueje un proceso de tres pasos que conduzca a la
caracterización de la unidad de control?
16.5 Qué tareas básicas realizan una unidad de control?
16.6 Escriba una lista típica de entradas y salidas de una unidad de
control.
16.7 Indique tres tipos de señales de control.
16.8 Explique brevemente qué se entiende por una implementación
cableada de una unidad de control.

UNIDAD 16
16.1. Explique la diferencia entre la secuencia escrita y la secuencia de tiempo de una
instrucción.

16.2. ¿Cuál es la relación entre instrucciones y microoperaciones·?

16.3. ¿Cuál es la función general de la unidad de control de un procesador?

16.4. Bosqueje un proceso de tres pasos que conduzca a la caracterización de la


unidad de control.

16.5. ¿Qué tareas básicas realiza una unidad de control?

16.6. Escriba una lista típica de entradas y salidas de un:1 unidad de control.

16.7. Indique tres tipos de señales de control.

16.8. Explique brevemente qué se entiende por una implementación cableada de una
unidad de control.

Вам также может понравиться