Entradas

Instrucciones JUMP y BRANCH

Imagen
Las instrucciones JUMP y BRANCH hacen referencia a los saltos incondicionados y condicionados respectivamente en la implementación MIPS.  A continuación se detalla su estructura. Photo by  Markus Spiske on Unsplash Instrucción JUMP Es una operación de  salto sin condición .  Su formato es de tipo J ,   definido en las estructuras básicas de instrucciones MIPS. Debido a esto, se compone de dos partes: Código de operación y Dirección. El salto se realiza  siempre a la dirección especificada por la instrucción.  Código de operación:  2 La dirección corresponde a la dirección física  de la Memoria de Instrucciones a la cual se debe realizar el salto.  Ejemplo: Es un salto incondicional (JUMP) a la dirección  3 de la Memoria de Instrucciones. Instrucción BRANCH Es una instrucción de salto con condición . Se realiza el salto únicamente si la condición establecida se cumple. Su formato es de  tipo I , definido en las estructuras  básicas de instrucciones MIPS. Debido a esto, se comp

Cómo se leen las instrucciones en un procesador MIPS

Imagen
En este artículo veremos de qué forma se accede y qué componentes intervienen en la lectura de las instrucciones para su posterior ejecución por parte del procesador. 😉 Photo by  Vishnu Mohanan on Unsplash Esta es la primera parte de la serie de tutoriales sobre cómo emular un procesador MIPS en Logisim . Comenzaremos con los siguientes 3 elemento s: 1) Memoria de Instrucciones Memoria RAM donde se almacenan las instrucciones a ejecutar. Tamaño de direccionamiento: 8 bits Capacidad de almacenamiento: 256 Instrucciones de 32 bits 2) Contador de programa (PC) También llamado Puntero de Instrucciones. Es un  Registro que indica la posición donde está el procesador en su secuencia de instrucciones. Capacidad de almacenamiento: 8bits Todo bien 👌 Hasta el momento, los dos primeros elementos conectados se verían de la siguiente forma: El registro Contador de Programa (PC) envía a la Memoria de Instrucciones la dirección donde se encuentra la Instrucción que se debe ejecutar actualmente.

Memoria SRAM: Qué es y cómo gestionan la información

Imagen
Todas las instrucciones que ejecuta el procesador se cargan en una memoria de tipo SRAM ( S tatic R andom A ccess M emory ) para tener un rápido acceso según sean requeridas. ¡En este post te mostraré qué es y cómo gestionan la información! 🙂  Photo by Mathew Schwartz on Unsplash ¿Qué es una Memoria SRAM? En términos sencillos, una  Memoria es un conjunto de espacios disponibles en los cuales podemos consultar y almacenar información temporalmente. Las memorias de acceso aleatorio poseen una característica que las hacen excepcionales: ¡P ueden  leer  o  escribir  datos  con un  tiempo de espera igual en cualquiera de sus posiciones !   De esta forma, no es necesario seguir un orden para acceder a la información.  Particularmente, debido a la tecnología que utilizan las Memorias SRAM, son capaces de conservar la información (mientras sigan alimentadas) sin necesidad de un  refrescamiento de memoria .  Estas cualidades la hacen una memoria de vital importancia a la hora de ayudar en l

Qué es la Memoria Caché de un procesador

Imagen
Una de las palabras que has escuchado a los "informáticos del trabajo" y que nadie más entiende. En este artículo comprenderás (de una vez por todas) a lo que se refieren. Photo by  Brian Kostiuk  on  Unsplash Antes que todo, hablemos de la Memoria RAM Seguramente ya conoces sobre la Memoria RAM de tu dispositivo. El lugar donde se almacenan de  forma temporal  los datos de los programas que estás utilizando justo en este momento. ¿O debería decir Memoria DRAM ? Tranquilos, en este artículo trataremos sobre conceptos básicos, por lo que me voy a referir a la M emoria Principal del sistema como Memoria RAM Sus características más importantes son las siguientes: Es de alta velocidad .  Los datos se almacenan de forma temporal . Por esto, si apagas o reinicias tu dispositivo, los datos almacenados en ella se perderán.  La Memoria RAM presenta un problema: Se encuentra a una distancia considerable del procesador.  Las distancias en componentes electrónicos se traducen en tiempo

Motivo inicial del blog e información general

Imagen
Importante : Actualmente el blog se encuentra en proceso de actualización  Editado el: 12/01/2021 Una de las preguntas que me han llamado la atención y despertaron mi curiosidad por la computación es ¿Cómo funciona un procesador? . En este blog, explicaré  su forma de operación basándome en el diseño de un procesador MIPS .  Microprocesador MIPS R4400 fabricado por Toshiba Consideraciones generales Este semestre en la universidad, debo estudiar  el comportamiento de  un procesador MIPS  utilizando  Logisim .   H a sido un proceso de bastante aprendizaje el cual quiero compartir y espero que les sea de utilidad para entender  la forma en que trabaja esta unidad tan importante para el sistema .  Además de las entradas con el proceso de desarrollo , subiré explicaciones relacionadas con la arquitectura y ejercicios prácticos . La idea es que los temas sean (en lo posible) lo más fácil de entender.  Frecuencia de actualización Voy a subir el trabajo desarrollado  semanalmente  según mi

Estructura básica de las instrucciones MIPS

Imagen
La arquitectura MIPS destaca por poseer un conjunto de instrucciones organizado y bastante claro.  A continuación, conocerás las clases de formatos en los que se agrupan todas las instrucciones. Photo by  Markus Spiske on Unsplash En este Blog trabajaremos sobre un subset de instrucciones MIPS. Las cuales servirán tanto para entender la estructura del procesador, como para hacer uso de referencia en futuras implementaciones de sistemas más complejos. En la siguiente imagen, se muestran las instrucciones que serán implementadas en el proyecto, agrupadas por tipo. Como se observa, todas las instrucciones MIPS tienen una longitud de 32 bits y se distinguen en 3 formatos básicos: Tipo J Utilizado por las instrucciones de salto incondicional. Campo Cantidad de bits Descripción op 6 Código de operación dirección 26 Dirección de salto Tipo R Utilizado por las instrucciones aritméticas y lógicas.

Programación

Imagen
Lista de la programación para el desarrollo del procesador MIPS con las especificaciones de cada entrega acordadas para el semestre. Primera entrega: Especificación: PC, memoria de instrucciones y I.F (Instruction fetch) Segunda entrega:  Especificación: Entrega 1 + Instrucción Branch y Jump funcionales (No es necesaria una unidad de control)  Tercera entrega:  Especificación: Entrega 2 + Cambio de salto de direcciones ahora sera de 1 en 1, no de 4 en 4 + Lista de instrucciones codificadas listas para el procesador e inicios de la unidad de control.  Cuarta entrega:  Especificación: Entrega 3 + 32 Registros de lectura (Nota: estos registros serán, eventualmente, lectura y escritura, tener en cuenta al momento de diseñar) + Modificar instrucciones branch y jump para que hagan comparaciones con los registros.  Quinta entrega:  Especificación: ALU + UNIDAD DE CONTROL COMPLETA (U.C) (En este punto no es necesario integrarlo con el resto del circuito)  Sexta entrega  Especificac