본문 바로가기
반응형

Segment2

세그먼테이션 (Segmentation) 코드가 있는 메모리 영역과 데이터가 있는 메모리 영역을 혼합하여 사용하면 일반 데이터를 인스트럭션 등으로 해석해버리는등의 문제가 발생할 소지가 다분하다. 따라서 코드 영역, 데이터 영역등을 구분하여 사용하는데 이것을 세그먼테이션이라고 한다. 페이징과는 달리 한 구획의 크기가 일정하지 않고 단순히 크기대로 자르는 대신 사용 용도에 따라 나누어지기 때문에 프로그래머는 세그먼트 레지스터만 설정하면 절대 주소 체계로 프로그래밍이 가능하고 사용용도 또한 논리적으로 제약이 가능해 메모리 액세스에 대한 차등 권한을 줄 수 있다. 실제로는 세그먼테이션과 페이징의 장점을 결합하여 사용된다. CPU가 생성한 논리주소는 세그먼트 레지스터(16bit)와 오프셋(32bit)으로 구성되고 세그먼트 레지스터의 인덱스를 사용하여 세.. 2010. 12. 28.
레지스터 레지스터는 CPU 바로 안에 있는 고속 저장 장소이며 일반 메모리보다 훨씬 빠른 속도를 접근되도록 설계되었다. 레지스터는 8개의 범용 레지스터와 6개의 세그먼트 레지스터, 프로세서 상태 플래그 레지스터와 명령어 포인터가 있다. 1.범용 레지스터 범용 레지스터는 계산과 데이터 전송에 주로 사용된다. 각 레지스터는 하나의 32비트 값이나 두 개의 16비트 값으로 다룰 수 있다. 어떤 레지스터의 일부분은 8비트 값으로 다룰 수 있다. 예를 들어 32비트 EAX레지스터의 16비트 하위 반은 AX라는 이름을 갖고 AX 레지스터의 8비트 상위 반은 AH, 하위 반은 AL이라는 이름을 갖는다. 32비트 16비트 8비트(상) 8비트(하) EAX AX AH AL EBX BX BH BL ECX CX CH CL EDX DX.. 2010. 11. 27.
반응형

바로가기