본문 바로가기

Computer/0x02 운영체제

x86 프로세서의 구조 - 7화

x86 프로세서의 구조 - 7화




라톤 준비겸 매일 뛰는데... 이거 장난 아니게 힘드네요 ;;;

그 만큼 뛰는 걸 게을리 했다는 반증이겠지요.. 반성하고 있습니다. 조금만 나태해지면 생기는 현상이며

또한 한가지 교훈은, 자신이 포기했던 부분은 결국 시간이 지나서 다시 그 지점부터 시작해야 한다는 점입니다.


아무튼 이번 시간에는 x86프로세서의 구조에 대해서 계속 스터디를 이어가겠습니다.



세그먼트와 주소 지정



- 선형주소: 8086(또는 real mode)에서 20 bit 크기 => 최대 1MB 메모리 참조 가능 

       80286 보호모드에서 24bit 크기 => 최대 16MB 메모리 참조 가능

80386 이상 보호모드에서 32 bit 크기 => 최대 4GB 메모리 참조 가능 



- 선형주소와 물리적 메모리 주소의 관계

: paging을 사용하지 않으면 선형주소 = 메모리 주소

  paging을 사용하면: 선형주소 ≠ 메모리주소 


- 세그먼트 레지스터와 세그먼트 시작 주소 지정 


동작모드

Segment register 값의 내용

8086 또는

80286 이상 real mode

20-bit segment 시작주소의 상위 16-bit

80286 보호모드

24-bit segment 시작주소들을 저장한 테이블의

인덱스(-> segment selector 라고 부름)

80386 이상 보호모드

32-bit segment 시작주소들을 저장한 테이블의 인덱스 (그리고 32-bit offset 사용)






real address mode 에서의 주소지정


- segment 와 offset을 사용한 주소 지정

: 8086의 register는 16 bit 크기 => 최대 64KB 메모리 참조 가능

 8086에서 16 bit segment register 들을 추가로 사용하여 => 20 bit 메모리 주소 제공






















이상 지금까지 x86 프로세서의 구조 - 7화 였습니다. 감사합니다 :)