Trabajos de arcom
avicii437 Apuntes 4 de Septiembre de 2022
2.289 Palabras (10 Páginas) 117 Visitas
Burgos Sasha Serena 1K1
[pic 1]
[pic 2][pic 3][pic 4][pic 5]
PROBLEMAS PROPUESTOS
Recuerde los pasos del ciclo de búsqueda y ejecución en ARC.
La microarquitectura se centra en el ciclo de búsqueda y ejecución de una instrucción. Los pasos involucrados en este son:
- Buscar en la memoria la siguiente instrucción que debe ejecutarse.
- Decodificar el código de operación.
- Si los hubiera, leer los operandos desde la memoria o desde registros.
- Ejecutar la instrucción y almacenar los resultados.
- Volver al paso 1.
- ¿Qué es la microarquitectura?
La microarquitectura es una descripción del circuito eléctrico de una computadora, de la unidad central de proceso o del procesador digital de señal, que es suficiente para describir completamente el funcionamiento del hardware.
- La microarquitectura de una maquina incluye una sección de datos, que contiene registros y una unidad aritmético-lógica y una sección de control.
- La microarquitectura busca a la instrucción a ejecutar, determina de qué instrucción se trata, localiza operandos, ejecuta la instrucción, almacena los resultados, luego repite la secuencia para la siguiente instrucción.
- ¿Qué es y qué función cumple un microprograma?
Un microprograma implementa un conjunto de instrucciones de CPU. El mismo establece un puente entre el hardware y el software de la máquina, se encarga de controlar y enviar las instrucciones externas del equipo y asegurar que éstas se efectúen correctamente.
- Una sentencia en un lenguaje de alto nivel es compilada en una serie de instrucciones de máquina, en una CPU usando microcódigo, cada instrucción de máquina es implementada por una serie de microinstrucciones(a veces llamado microprograma o microcódigo), que se encuentra almacenado en la memoria de control (ROM)
- Los elementos que componen un microprograma existen en un nivel conceptual más bajo aún que las instrucciones de assembler.
- Escriba sobre el multiplexor de la memoria de control. Dibuje su bloque, indicando entradas y salidas.
El multiplexor de la memoria del control (ROM) selecciona la nueva dirección en la ROM, posee 3 entradas de 11 bits (NEXT, DECODE, JUMP) y una entrada de selección de 2 bit, estos bits vienen de la unidad lógica CBL.
[pic 6]
[pic 7][pic 8]
- ¿Qué es la memoria de control?, ¿dónde se encuentra?, ¿qué función cumple?, ¿cómo está formada?
Una memoria de control es una memoria ROM (sólo de lectura), que se ubica en el mismo escalón un poco por debajo de las memorias RAM ya que su velocidad de lectura es menor que ellas.
Contiene 2048 palabras de 41 bits contiene los valores de todas las lineas que deben controlarse para implementar cada instrucción a nivel de usuario.
- ¿Qué es el registro MIR?, ¿dónde se encuentra?, ¿qué función cumple?, ¿cómo está compuesto?, ¿explique cada campo del mismo?
MIR: Registro de Instrucciones de Microprograma. Este se encuentra en la Unidad de Control, y recibe cada micropalabra, de 41 bits, de la memoria de control. Los 41 bits del MIR están separados en 11 campos.
[pic 9]
Función: MIR controla la ejecución de microinstrucciones del registro de estado %psr y un mecanismo para determinar los saltos, conformado por la unidad de saltos de control (CBL: control branch logic) y el multiplexor de direcciones de la memoria de control.
Los campos A MUX, B MUX, C MUX son los selectores del A MUX, B MUX, C MUX de la sección de datos
- ¿Qué función cumple el formato DECODE?, ¿explique cómo está compuesto?
El formato de direcciones de DECODE permite que la instrucción sea decodificada en un solo paso, a través de saltos a diferentes ubicaciones definidas por los valores que adoptan los campos op, op2 y op3. Este formato se encuentra en el MUX de direcciones de memoria de control. Es seleccionada cuando la salida del bloque lógica de saltos de control es 10 (Esta salida depende del campo COND del MIR) Como no posee las 11 entradas necesarias, solo 8 ya que está compuesta solo por 8 bits, se agregan 3 bits: un 1 adelante y dos 0 al final.
[pic 10]
- Dibuje la trayectoria de datos de ARC, la básica, y explique las funciones de los elementos más importantes de la misma.
[pic 11]
Los elementos de la trayectoria de datos:
- Registros
- Bus A, B y C
- Decodificador A,B y C
- Multiplexor C
- ALU (unidad aritmético-lógica)
- ALU: Es un elemento muy importante ya que puede realizar una de 16 operaciones sobre los buses A y B. El resultado de cada operación realizada en ALU se coloca en el bus C ( i no queda bloqueada por el multiplexor que maneje el bus C) como consecuencia de colocar en él una palabra proveniente de la memoria de la máquina.
Nota: Las instrucciones en assembler que terminan en “cc”, afectan a los códigos de condición y al contenido del registro de estado (%psr).
- El trayecto de datos de ARC posee 38 registros.
- Registro 0 al 31 son de propósitos generales accesibles al usuario y el registro 0 siempre tiene el valor 0 el cual no puede ser modificado.
- Registro 32 es el PC, este almacena la dirección de la próxima instrucción a ejecutarse,.
- Registro 33; 34; 35; 36 son los registros %temp0, %temp1, %temp2 y %temp3 que son registros temporales del sistema.
- Registro 37 es el IR, este almacena la próxima instrucción a ejecutarse.
- Decodificadores A, B y C: simplifican la selección de registros. Las entradas de los decodificadores seleccionan un registro para cada uno de los buses.
Nota: La salida del decodificador C que es igual a 0 no se utiliza (el %r0 no puede ser escrito).
Los decodificadores de cada bus redireccionan los bits de los resultados de la ALU y de operandos a los registros 0 a 32. La ALU se encarga de realizar operaciones con los bits redireccionados de los Buses A y B y por cada operación realizada en la ALU se depositarán los 32 bits del resultado en el bus C a menos que la información quede bloqueada por el multiplexor que maneja el bus C.
- ¿Cuántos registros en total posee el Trayecto de Datos? Nómbrelos.
El trayecto de datos contiene 38 registros de datos accesibles por el usuario (Desde %r0 hasta %r31), el contador de programa (%pc), el registro de instrucciones (%ir) y 4 registros temporales no accesibles al programador (%temp0-%temp3).
- ¿Qué función cumplen los decodificadores A, B y C en el trayecto de datos? ¿Por qué tienen 6 entradas? Dibuje sus bloques, indicando entradas y salidas.
Decodificador A: Selecciona un registro que se copia en el bus A y llevado a ALU. Paralelamente el Decodificador B selecciona un registro, que se copia en el bus B y es llevado hacia ALU.
Decodificador C: Selecciona en qué registro se va a guardar la información obtenida. Mientras que los decodificadores A y B son los que seleccionan un registro para leerlo.
Tiene 6 entradas ya que es el número de bits necesario para que el decodificador pueda seleccionar uno de los registro.
[pic 12][pic 13][pic 14][pic 15][pic 16][pic 17][pic 18][pic 19][pic 20][pic 21][pic 22][pic 23][pic 24][pic 25][pic 26][pic 27][pic 28][pic 29][pic 30][pic 31][pic 32][pic 33][pic 34][pic 35] | [pic 36][pic 37][pic 38][pic 39][pic 40][pic 41][pic 42][pic 43][pic 44][pic 45][pic 46][pic 47][pic 48][pic 49][pic 50][pic 51][pic 52][pic 53][pic 54][pic 55][pic 56][pic 57][pic 58][pic 59] | [pic 60][pic 61][pic 62][pic 63][pic 64][pic 65][pic 66][pic 67][pic 68][pic 69][pic 70][pic 71][pic 72][pic 73][pic 74][pic 75][pic 76][pic 77][pic 78][pic 79][pic 80][pic 81][pic 82][pic 83] |
...