Security/뭐했니2017. 3. 3. 02:56

CPUID 명령어(Intel opcode)

- id flag여부에 따라 사용가능/블가능(?)

- 64-bit mode 와 non 64-bit 모드에서 같은 연산을 함.

- 주로 프로세서 정보를 EAX, EBX, ECX, EDX에 리턴함

- EAX값을 인수로 받아서 처리함 in->out에 대해선 그때그떄..

나머지는 매뉴얼 보면 정말 잘 나와있음


Control Register

- CPU의 behavior(?대충 느낌으로) 를 바꾸거나 관리하는데 사용됨

- Interrupt control

- switching the addressing mode

- paging control

- coprocessor control ...> coprocessor는 CPU연산 도와주는얘였는데 요즘은 통합되거나(그래도 내부적으로 병렬) GPU형태로..?

- 종류 : 

CR0 : 별거다있음. 영문위키에 찾으면 다나옴 x86-64에선 64bit

CR1 : Reserved for the future use..ㅎㅎ

CR2 : Page Fault Linear Address값을 가지고 있음. page fault 발생시 프로그램이 접근하려 했던 주소값이 저장됨

-page fault : Memory Management Unit에 매핑되지 않은 메모리 페이지에 프로그램이 접근했을 때 하드웨어가 raise 하는 exception type. 에러라고 보지 않고, 운영체제가 프로그램에서 필요한 만큼의 메모리 양을 늘려주는 매커니즘 중 하나다(일반적이고 necessary) 나중에 좀더 공부해봐야겠음.


CR3 : Virtual Addressing 이 허용될 때 사용한다. CR0의 31번 비트가 켜져야 사용가능.

       페이징 디렉토리와 페이징 테이블을 이용해 프로세서가 선형주소를 물리주소로 변환하게 해줌.


CR4 : 보호모드에서 무슨무슨 연산 컨트롤할때 사용. 영문위키 gogo


이외에도 Model Specific Register같은거도 있었음



단어 몇개만 알면 왠만한 문서는 어느정도는 읽히는거 같음(물론 번역기나 사전이 필요해요..)


next : 파이썬으로 script 짤때 편해지는 모듈 공부하기/만들기(ㅎㅎ)

'Security > 뭐했니' 카테고리의 다른 글

toc-tou (time of check to time of use) - 1  (0) 2017.05.30
20170305  (0) 2017.03.05
20170301..2  (0) 2017.03.02
ㅁㅇㅇ 170223  (0) 2017.02.23
170222  (0) 2017.02.22
Posted by Palette14