El registro de la CPU que especifica la dirección en la memoria para la próxima lectura o escritura se conoce como?

Esta es una pregunta terrible. Hace mucho tiempo, antes de 1980 más o menos había un “registro de direcciones de memoria”. Solo había una ruta a la memoria y la CPU la tenía y solo era un registro.

Desde entonces, se han agregado varios niveles de almacenamiento en búfer o almacenamiento en caché entre la solicitud de la CPU y lo que realmente se solicita de la memoria. El lado de la memoria, el registro más cercano, podría ser un chip controlador de caché. O, en realidad, la memoria generalmente está en un bus, por lo que la memoria ve un árbitro de bus para arbitrar entre CPU y tarjetas periféricas, cualquiera de los cuales puede realizar solicitudes de memoria.

Probablemente son peces para el “registro de direcciones de memoria”, pero ese término ha estado obsoleto durante décadas, tal vez todavía se usa actualmente en microcontroladores muy simples sin caché y sin bus.

  • No estamos aquí para hacer tu tarea.
  • La pregunta tiene una variedad de defectos.
  • Debido a la ejecución fuera de orden, no hay forma de garantizar que la CPU respetará la secuencia de instrucciones (a menos que ejecute una instrucción de serialización).

Supongo que si y di registros (esi / edi para 32 bits y rsi / rdi para 64 bits). La dirección se controlaba con cld (los avances habituales hacia adelante, tal como los entendemos) y las instrucciones estándar (hacia atrás) si la memoria me sirve bien.

En estos días, esto se conoce como la asamblea x86 de los hombres de las cavernas. Está reemplazado en la mayoría de los procesadores, aunque algunas instrucciones no funcionarán con otros registros (si lo hicieran, codificar las instrucciones requeriría más bytes sin una buena razón).

Creo que puede ser MAR o registro de direcciones de memoria. Encontré una explicación bastante simple y breve aquí:

https://www.cs.umd.edu/class/sum