Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Proyecto 2 arquitectura, Ejercicios de Arquitectura de ordenadores

Proyecto 2 de arquitectura de computadores

Tipo: Ejercicios

2022/2023

Subido el 06/10/2023

santiago-lopez-0mf
santiago-lopez-0mf 🇨🇴

1 documento

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Entrega 2 Arquitectura De Computadores
Santiago Lopez Rodriguez
Politecnico GranColombiano
Facultad de Ingeniería e Innovación
Ingeniería de sistemas
Bogotá, Colombia
27 de Septiembre de 2023
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Proyecto 2 arquitectura y más Ejercicios en PDF de Arquitectura de ordenadores solo en Docsity!

Entrega 2 Arquitectura De Computadores Santiago Lopez Rodriguez Politecnico GranColombiano Facultad de Ingeniería e Innovación Ingeniería de sistemas Bogotá, Colombia 27 de Septiembre de 2023

Algoritmo propuesto en Python: Se presentará para el proyecto, el código realizado en Python donde se pueden identificar todos los pasos necesarios para dar solución al problema planteado el cual hace referencia a una validación si un número ingresado es primo o no. En el código podemos visualizar diferentes instrucciones como pueden ser comparaciones de menor o igual que, mod 2, bucles, sumas, multiplicaciones, y al final el retorno de las respuestas por parte del sistema. A continuación, se presentará todos los puntos, en los cuales se toma como referencia el lenguaje ensamblador de un microprocesardor para MIPS, por tal motivo encontraremos diferentes instrucciones los cuales se compararán con las del lenguaje de alto nivel, y se notará la diferencia respecto al lenguaje utilizado, la dificultad y el entendimiento desde una perspectiva más enfocada al circuito base sobre el funcionamiento en una problemática planteada.

Parámetros que recibe: RS y RT Descripción: Operación que se utiliza para calcular el residuo de una división sin signo. Ejemplo: mult $t0, $t

Nombre: Move From LO Mnemónico: MFHI Parámetros que recibe: Producto de multiplicación Descripción: Mueve el resultado de la multiplicación de registros para almacenarlos Ejemplo: MFLO $t

Nombre: Branch if Not Equal Mnemónico: BNE Parámetros que recibe: RS y RT Descripción: Realiza un salto condicional en función de si dos valores no son iguales. Ejemplo: BNE $t0, $t1, etiqueta_igual

Nombre: Branch if Not Equal Mnemónico: SW Parámetros que recibe: Registro fuente, Desplazamiento y Registro base Descripción: Se utiliza para almacenar un valor desde un registro en una dirección de memoria específica en la arquitectura MIPS. Ejemplo: SW $registro_fuente, desplazamiento($registro_base)

  1. Definición de la cantidad de registros que se usarán y el tamaño de cada registro: Se pretende usar un total de 10 registros de 8 bits, y para el uso de registros de estado y control se usarán las instrucciones:  Contador del programa (PC)

 Registro de instrucciones (IR)  Registros de propósito general (GPRs)  Registro de memoria (MAR)

  1. Descripción breve de los modos de direccionamiento que serán posibles. Direccionamiento inmediato: Los operandos de la instrucción se toman directamente de los datos que siguen a la instrucción en memoria. Ejemplo: ADD $t2, $t0, $t Direccionamiento indirecto: L a instrucción contiene una referencia a la dirección de memoria donde se encuentra la dirección real del operando. Ejemplo: LOAD R1, (R2) Direccionamiento relativo: Se utiliza comúnmente en instrucciones de bifurcación condicional. Ejemplo: beq $t0, $t1, Label Direccionamiento por acumulador: Se utiliza el registro conocido como acumulador donde el resultado de la operación se almacena de nuevo en el acumulador. Ejemplo: mult $t0, $t Direccionamiento indexado con desplazamiento: Almacena un valor en memoria utilizando una combinación de registros y un desplazamiento (offset). Ejemplo: sw $t0, offset($t1)
  2. Traducción del programa de alto nivel (entrega 1) al lenguaje ensamblador que han construido, usando su propio conjunto de instrucciones. Alto nivel Lenguaje ensamblador a == b BEQ $t0, $t1, etiqueta_igual a + b ADD $t2, $t0, $t a * b mult $t0, $t a % b REMU $t0, $t1, $t a != b BNE $t0, $t1, etiqueta_igual Return Destino J destino