Closed marianoSLamaison closed 1 month ago
Buenas!
Para responder concisamente, no, las instrucciones son almacenadas por separado de la memoria de usuario, y lo que hace el CPU, como indica la cita que pusiste, es enviarle a memoria el PC del hilo actual y memoria debe ser capaz de devolverle la instrucción a ejecutar.
Extendiendome, la memoria se divide en dos, como indica el enunciado, una parte es la memoria de usuario, que contiene el void * que mencionas, y la otra es la memoria de sistema, y citando esta:
Archivos de pseudocódigo Por cada TID del sistema, se deberá leer su archivo de pseudocódigo y guardar de forma estructurada las instrucciones del mismo para poder devolverlas una a una a pedido de la CPU. Queda a criterio del grupo utilizar la estructura que crea conveniente para este caso de uso.
Por lo que, ustedes como equipo van a tener que definir una manera estructurada de almacenar y manejar los archivos de pseudocódigo de tal manera que, sabiendo el PID, TID, y PC, sea capaz de devolver la linea solicitada al CPU. Cabe mencionar, leyendo la segunda solución posible que indicas, que la memoria nada más va a enviar la instrucción, el CPU se encarga de "codificarla" en la etapa de Decode.
Saludos.-
Perfecto. Con nuestro equipo decidimos hacer una estructura para memoria que almacene cada set de instrucciones por Proceso y por Thread, con una lista de string donde cada string es una instruccion individual, junto a sus argumentos. Y nuestro equipo esta interesado en saber si esta implementación podría generar inconvenientes.
Muchas gracias por cierto!!!
Buenas! Cómo va?
Si no les genera inconvenientes a nivel programación, del lado del enunciado no incumple ninguna restricción.
Saludos.-
Excelente, muchísimas gracias. Y que tenga un buen día.
🛠️ Lenguaje
C
🖋️ Descripción
Buenos días. Queríamos consultarle, por que no comprendemos cómo va a funcionar en el TP el tema de las instrucciones y la CPU. Se comprende por el enunciado que describe la fase fetch del modulo CPU que este va a tener que solicitarle a memoria instrucciones una por una dando una direccion de memoria fija. A si que estamos en la duda de si las instrucciones seran o no cargadas en el void* de memoria que representa la totalidad de la memoria en forma codificada o si seria de otra manera.
📔 Citas del enunciado/videos
Esta es la cita la cual inicio la duda:
💭 Soluciones posibles
De momento estas son las dos formas que hemos interpretado podria implementarse siguiendo el enunciado por parte de kernel:
📝 Normas del foro