Rejestr testowy - Test register

Rejestr testu w Intel 80386 i Intel 80486 procesora, był używany przez rejestr procesora, zazwyczaj wykonać autotest. Większość z tych rejestrów była nieudokumentowana i wykorzystywana przez specjalistyczne oprogramowanie. Rejestry testowe zostały nazwane TR3 do TR7 . Zwykłe programy zwykle nie wymagają do działania tych rejestrów. W Pentium rejestry testowe zostały zastąpione różnymi rejestrami specyficznymi dla modelu (MSR).

Na potrzeby testów przewidziano dwa rejestry testowe TR6 i TR7 . TR6 to rejestr poleceń testowych, a TR7 to rejestr danych testowych. Dostęp do tych rejestrów miały warianty instrukcji MOV . Rejestr testowy może być operandem źródłowym lub operandem docelowym. Instrukcje MOV są zdefiniowane zarówno w trybie adresu rzeczywistego, jak iw trybie chronionym . Rejestry testowe są zasobami uprzywilejowanymi. W trybie chronionym instrukcje MOV, które uzyskują do nich dostęp, mogą być wykonywane tylko na poziomie uprawnień 0. Próba odczytu lub zapisu rejestrów testowych podczas wykonywania na dowolnym innym poziomie uprawnień powoduje ogólny wyjątek ochrony. Ponadto te instrukcje generują nieprawidłowy wyjątek kodu operacji na każdym procesorze nowszym niż 80486.

Instrukcja jest kodowana na dwa sposoby, w zależności od przepływu danych. Przenoszenie danych z rejestru ogólnego przeznaczenia do rejestru testowego jest zakodowane jako 0F 26 /r(z rejestrem r/mgeoradarowym, a regrejestrem testowym). Przenoszenie danych w drugą stronę (tzn. z rejestru testowego do rejestru ogólnego przeznaczenia) jest zakodowane jako 0F 24 /r(z r/mbyciem georadarem, a regbyciem rejestrem testowym). Dozwolone są tylko ruchy rejestr-rejestr; formy pamięci bajtu ModR/M są niezdefiniowane. Innymi słowy, modpole (dwa MSB ) musi być ustawione na 1.

Zobacz też

Bibliografia