테스트 레지스터

Test register

Intel 80386Intel 80486 프로세서에 있는 테스트 레지스터는 프로세서에서 사용하는 레지스터로, 대개 자체 테스트를 수행하는 데 사용되었다.이러한 레지스터의 대부분은 문서화되지 않았고, 전문화된 소프트웨어에 의해 사용되었다.시험 기록부는 TR3에서 TR7로 명명되었다.정규 프로그램은 보통 이러한 레지스터가 작동하도록 요구하지 않는다.펜티엄과 함께, 시험 레지스터는 다양한 모델별 레지스터(MSR)로 대체되었다.

TR6TR7 두 개의 시험 레지스터가 시험 목적으로 제공되었다.TR6은 시험 명령어 레지스터였고, TR7은 시험 데이터 레지스터였다.이 레지스터들은 MOV 명령의 변형들에 의해 접근되었다.시험 레지스터는 소스 피연산자 또는 대상 피연산자가 될 수 있다.MOV 지침은 실 주소 모드보호 모드에서 정의된다.시험 기록부는 특권 자원이다.보호 모드에서 접근하는 MOV 지시사항은 권한 수준 0에서만 실행될 수 있다.다른 권한 수준에서 실행할 때 테스트 레지스터를 읽거나 쓰려고 하면 일반적인 보호 예외가 발생한다.또한 이러한 지침은 80486보다 최신 CPU에서 잘못된 opcode 예외를 생성한다.

이 지침은 데이터의 흐름에 따라 두 가지 방법으로 암호화된다.범용 레지스터의 데이터를 테스트 레지스터로 이동하는 것은0F 26 /r(와 함께)r/mGPR이 되고, 그리고reg시험 기록부가 되는 것).데이터를 다른 방식으로 이동(즉, 시험 레지스터에서 일반 목적 레지스터로)하는 것은 다음과 같이 인코딩된다.0F 24 /r(와 함께)r/mGPR이 되고, 그리고reg시험 기록부가 되는 것).[1]ModR/M 바이트의 메모리 형식이 정의되지 않은 경우, 레지스터-등록 이동만 허용된다.다시 말해, 더mod필드(두 개의 MSB)를 다음으로 설정해야 함1.

참고 항목

참조

  1. ^ Introduction to the 80386 Including the 80386 Data Sheet. Intel. April 1986. p. 122.