In computer science, a memory map is a structure of data (which usually resides in memory itself) that indicates how memory is laid out.
Fonte: link
Existe extrema ambiguidade em relação a essa frase de abertura. Primeiramente, como a RAM pode saber como liberar memória para os processadores? espaço de endereçamento se o propósito da RAM depende do sistema?
Normalmente, o próprio mapa de memória é salvo em algum tipo de memória não volátil no dispositivo, que carrega o mapa de memória no processador / MMU quando o sistema é inicializado. Como alguém que usa o dispositivo, você pode alterar o mapa de memória você mesmo , embora o layout seja menos relevante em sistemas que executam sistemas operacionais, pois ele se torna o trabalho do SO para controlar o acesso à memória. A abordagem DIY geralmente é necessária apenas em sistemas embarcados, nos quais você está conectando fisicamente RAM / ROM IC a um circuito existente.
Passando para sistemas de computadores modernos ...
Second, RAM can be changed. If the data resides in the RAM, all RAM chips are hardwired to have a structure describing memory? That doesn't make sense, because from the scope of the CPU it's vague, and makes even less sense when you look at it from the scope of the RAM(a system can have different memory at any time, different hardware, different addresses, different architecture, etc.).
Third, the article claims that the memory map is passed to the firmware for an OS. That would only make sense if the RAM is hardwired, or the map is synchronous with the CPU's address space.
Exatamente - é por isso que a própria RAM fornece detecção de presença serial (SPD) para que a BIOS / UEFI possa determinar qual RAM está no seu sistema (e se mudou desde a última vez que o computador foi iniciado!).
Além disso, as unidades de gerenciamento de memória x86 vêm com suporte de memória virtual feito para uso com sistemas operacionais. A MMU em si conecta o layout de RAM fisicamente conectado (que é apenas um grande número de linhas de dados / endereços conectadas a todos os DIMMs na placa-mãe), então isso é abstraído da própria CPU (mesmo se a MMU e a CPU estiverem no mesmo morrer, eles são logicamente duas "unidades" diferentes.
RAM can not map addresses out for a system if it has no knowledge of the system's structure.
Você está correto, a RAM em si não (e é por isso que eles têm perfis SPD / XMP) - a CPU / MMU identificará quais recursos estão disponíveis no sistema toda vez que você iniciar o computador. Além disso, este processo é abstraído de qualquer coisa sob o sistema operacional, já que a maioria dos sistemas operacionais usa memória virtual agora, que > completamente separa o conceito de memória do sistema da RAM física (a maioria das pessoas está familiarizada com este conceito através da paginação , onde o sistema operacional pode colocar parte da memória de um processo em disco para liberar memória RAM para outros aplicativos).