Rejestr odwzorowany w pamięci, jak to naprawdę działa

2

Gdy system operacyjny definiuje mapę pamięci, np. APIC jest mapowany na określony adres, gdy program wydaje wartość adresu STA zestawu, w jaki sposób jest zapewnione, że kontroler DDR odrzuca ten adres i w jaki sposób urządzenie, tj. APIC, wie, że adres koreluje z jego rejestr, aby mógł akceptować dane na magistrali danych? Czy jest to skonfigurowane z OCW / ICW ?, na większym zdjęciu, czy wszystkie urządzenia mają wbudowaną tabelę map pamięci, którą system operacyjny musi skonfigurować?

John Smith
źródło
Mapowanie pamięci rejestrów zachodzi na poziomie sprzętowym. Dekoder adresu pamięci określa, czy adres odnosi się do pamięci RAM, czy do rejestru urządzenia. Ten dekoder adresu pamięci jest zwykle podłączony na stałe.
trociny
Gdzie znajduje się dekoder adresu pamięci, czy jest on częścią mmu po translacji wirtualnego adresu fizycznego, zakładam, że system operacyjny może do niego napisać i go skonfigurować?
John Smith,
Dekoder adresu pamięci musi być oddzielny od dowolnej pamięci podręcznej MMU lub procesora, ponieważ oba są opcjonalne (tzn. Można je wyłączyć). Dekoder byłby częścią logiki magistrali systemowej. Zobacz en.wikipedia.org/wiki/Address_decoder „Zakładam, że system operacyjny może do niego pisać i konfigurować?” - Gdy coś jest podłączone na stałe , nie można go skonfigurować za pomocą oprogramowania. W przypadku PCI rozszerzenie dekodowania adresu obejmuje podstawowe rejestry adresów, które AFAIK może być jedynym konfigurowalnym aspektem dekodowania adresu pamięci.
trociny