본문 바로가기

기타/달고나 문서2

8086 CPU 레지스터 구조 CPU가 프로세스를 실행하기 위해서는 프로세스를 CPU에 적재시켜야 할 것이다.그리고 흩어져 있는 명령어집합과 데이터들을 적절하게 집어내고 읽고 저장하기 위해서는 여러가지 저장 공간이 필요하다.또 CPU가 재빨리 읽고 쓰기를 해야 하는 데이터들이므로 CPU 내부에 존재하는 메모리를 사용한다.그 공간을 레지스터(Register)라고 한다. 레지스터는 목적에따라 분류가 나뉜다.범용 레지스터 : 논리 연산, 수리 연산에 사용되는 피연산자, 주소를 계산하는데 사용되는 피연산자, 그리고 메모리 포인터가 저장되는 레지스터다.세그먼트 레지스터 : code segment, data segment, stack segment를 가르키는 주소가 들어가 있는 레지스터다.플래그 레지스터 : 프로그램의 현재 상태나 조전등을 검사.. 2015. 2. 27.
8086 Memory Architecture & 8086 CPU 레지스터 구조 이 문서는 구글에 달고나 문서라고만 검색을 해도 나온다.이 문서는 Buffer Overflow 공격에 대한 원리와 관련 지식을 모았다. 8086 시스템의 기본적인 메모리 구조는 위 그림과 같다.[8086? : 인텔사에서 개발한 16비트 마이크로프로세서이며, x86 아키텍처를 적용한 첫 제품이다.] 시스템이 초기화 되기 시작하면 시스템은 커널을 메모리에 적재시키고가용 메모리 영역을 확인하게 된다.시스템은 운영에 필요한 기본적인 명령어 집합을 커널에서 찾는다.그래서 커널 영역은 반드시 저 위치에 있어야 한다고 한다.커널은 64KByte 영역에 자리잡지만 이를 확장하여 오늘날의 운영체제들은 더 큰 영역을 차지한다.32bit 시스템에서는 CPU가 한꺼번에 처리할 수 있는 데이터가 32bit 단위로 되어있다.64.. 2015. 2. 19.
728x90