se menciona en el libro organización y diseño de computadoras de Patterson/Hennessy página 252 que:
La memoria de instrucciones solo necesita proporcionar acceso de lectura porque la ruta de datos no escribe instrucciones. Dado que la memoria de instrucciones solo lee, la tratamos como lógica combinacional: la salida en cualquier momento refleja el contenido de la ubicación especificada por la entrada de dirección y no se necesita una señal de control de lectura. ( Necesitaremos escribir la memoria de instrucciones cuando cargamos el programa; esto no es difícil de agregar y lo ignoramos por simplicidad).
mi pregunta es : ¿cómo es posible almacenar la memoria de instrucciones cuando el programa está cargado? ¿Deberíamos agregar una habilitación para la PC que se active por sistema operativo y el sistema operativo luego escriba la dirección en la PC? o hay otras formas??
aquí hay una figura simple de PC y memoria de instrucciones
Esencialmente, todo lo que dice el texto es que, de alguna manera, el programa se carga en la memoria antes de que la CPU pueda comenzar a ejecutarlo. Dado que el texto solo tiene la intención de discutir cómo la CPU ejecuta las instrucciones fuera de la memoria del programa, cómo las instrucciones terminan en la memoria del programa en primer lugar es un detalle de implementación.
Hay muchas formas de introducir las instrucciones en la memoria del programa y depende en gran medida de la arquitectura.
Los sistemas basados en memoria de solo lectura tendrán las instrucciones cargadas en la memoria del programa ya sea durante la fabricación del propio chip (con una ROM de máscara) o con hardware de programación externo que escribe en la matriz de memoria.
Los sistemas que contienen memoria flash a menudo tienen algún mecanismo de autoprogramación en el que el procesador puede ejecutar instrucciones especiales o escribir en registros especiales para activar una operación de borrado o escritura en la memoria del programa. Es posible que la CPU deba detenerse temporalmente para permitir que se complete la operación.
Una computadora de escritorio estándar que se ejecuta desde la memoria RAM y carga programas desde un disco duro tiene un proceso mucho más complejo. En este caso, el arranque inicial se realizaría desde una ROM flash de algún tipo, posiblemente copiada en la RAM por componentes de la placa base antes de que la CPU principal pueda comenzar a ejecutarse. Luego, este código de inicio cargará más código en la RAM desde un disco duro o una unidad de estado sólido. Una CPU de escritorio o servidor en realidad ni siquiera ejecuta código fuera de la RAM, ejecuta código fuera de la memoria caché en el chip, que a su vez se carga desde la RAM. Debido a esto, es posible que la CPU ejecute software desde la memoria caché mientras se realizan operaciones de memoria para hacer otras cosas, incluida la copia de otro código ejecutable desde un disco duro a la RAM. La CPU también se detiene y espera ocasionalmente cuando el código que desea ejecutar no está en el caché.
Entiendo tu pregunta, ¿cómo puedes arreglar un auto mientras conduces?
El procesador no necesita la memoria de instrucciones todo el tiempo, bloquea la instrucción en un registro (o muchas instrucciones en una cola). Hasta su procesamiento, la memoria de instrucciones, datos y direcciones pueden ser accedidas por el propio procesador o por algún otro coprocesador.
Si la escritura en la memoria de instrucciones es rápida como una memoria RAM, se puede hacer en un solo paso, luego la PC recupera las direcciones y la siguiente instrucción se puede leer desde la memoria de instrucciones. En este momento las direcciones son manejadas por un registro diferente.
Si es un proceso largo como en las memorias flash, alguien más lo hace, generalmente la memoria de instrucciones está organizada en bancos, el banco que está en proceso de escritura no está disponible para leer instrucciones. El procesador envía los datos al motor de programación mientras ejecuta instrucciones de un banco diferente.
Por supuesto, el código inicial, el cargador de arranque que le dice al procesador cómo cargar un programa, está escrito por medios externos, en la fábrica, usando programadores, etc. sin la intervención del procesador.
Eugenio Sh.
Fatemeh Karimi
Eugenio Sh.
Fatemeh Karimi
jack creasey
Fatemeh Karimi
Fatemeh Karimi
usuario3528438
jack creasey
viejo contador de tiempo
viejo contador de tiempo