Registr specifický pro model - Model-specific register - Wikipedia

A registr specifický pro daný model (MSR) je některý z různých kontrolní registry v x86 instrukční sada používá ladění, sledování provádění programu, výkon počítače monitorování a jisté přepínání procesor funkce.

Dějiny

Se zavedením procesoru 80386 začala společnost Intel zavádět „experimentální“ funkce, které by v budoucích verzích procesoru nutně nebyly. Prvním z nich byly dva „testovací registry“ (TR6 a TR7), které umožňovaly testování procesorů překladová vyrovnávací paměť (TLB); speciální varianta MOV instrukce umožňovala pohyb do az testovacích registrů.[1] V 80486 (TR3 – TR5) následovaly tři další testovací registry, které umožňovaly testování mezipamětí procesoru na kód a data.[2] Žádný z těchto pěti registrů nebyl implementován v následném procesoru Pentium; speciální varianta MOV vygeneroval neplatnou výjimku opcode.[3][4]

Se zavedením procesoru Pentium poskytla společnost Intel pár pokynů (RDMSR a WRMSR) pro přístup k současným i budoucím „registrům specifickým pro daný model“ a také k CPUID instrukce k určení, které funkce jsou přítomny na konkrétním modelu. Mnoho z těchto registrů se ukázalo jako dostatečně užitečné k uchování. Intel je klasifikoval jako architektonický registrů specifických pro daný model a zavázala se k jejich začlenění do budoucích produktových řad.[5]

Používání MSR

Čtení a zápis do těchto registrů zpracovává rdmsr a wrmsr pokyny. Jelikož se jedná o privilegované pokyny, mohou být prováděny pouze operačním systémem. Používání Linuxu msr modul jádra vytvoří pseudo soubor "/ dev / cpu /X/ msr "(s jedinečným X pro každý procesor nebo procesorové jádro). Uživatel s oprávněním číst a / nebo zapisovat do tohoto souboru může k přístupu k těmto registrům použít I / O API souboru. The msr-tools[6] balíček poskytuje referenční implementaci.

Dokumentace týkající se MSR, které podporuje určitá implementace procesoru, se obvykle nachází v dokumentaci procesoru dodavatele CPU. Příklady poměrně známých MSR jsou registry rozsahu paměti typu (MTRR) a registry rozsahu adres (ARR).

Viz také

Reference

  1. ^ "10.6.2 Testovací registry". 80386 REFERENČNÍ PŘÍRUČKA PROGRAMÁTORA (PDF). Intel. 1986.
  2. ^ "10.6.2 Testovací registry". REFERENČNÍ PŘÍRUČKA PROGRAMÁTORU i486 (PDF). Intel. 1990.
  3. ^ „23.2.12 Testovací registry“. Uživatelská příručka k procesoru Pentium Svazek 3: Příručka k architektuře a programování (PDF). Intel. 1993.
  4. ^ Alan Cruse. „Registry specifické pro model“ (PPT). Poznámky k přednášce, třída Pokročilé programování mikropočítačů, University of San Francisco, 2006.
  5. ^ „2.1 ARCHITEKTONICKÉ MSRS“. Intel 64 a IA-32 Architectures Software Developer's Manual Volume 4: Register-Specific Registers. Intel. Květen 2020.
  6. ^ msr-tools na 01.org

externí odkazy