메모리 맵
이 문서의 내용은 출처가 분명하지 않습니다. (2013년 10월) |
컴퓨터 공학에서 메모리 맵(memory map)은 여러 가지 측면에서 접근할 수 있으나 컴퓨터 체계 중 메모리와 관련된 다음과 같은 경우이다:
- 프로세스의 메모리 배치 맵 : 프로그램에 의해 작성 된 코드를 실행파일로 만들어 OS 실행할 때, 메모리에 각각의 데이터 영역을 분리하여 할당 된 지도를 말한다. 결국 프로세스가 실행되기 위한 데이터 저장 할 변수 영역, 기계어 코드 영역 등의 분류별로 나누어 저장하는 지도이다. 프로그램의 실행 시, 영역별로 나누어 분리하여 파일화하고 실행할 때는 메모리에 묶음으로 나누어 배치한 후 실행한다. 운영체계에서 실행되는 프로그램 메모리 배치 뿐만아니라 마이크로프로세서의 프로그램도 마찬가지로 메모리 나누어 배치한다.
- 마이크로프로세서의 설계에서 메모리 배치 : 메모리 맵은 메모리와 입출력을 마이크로프로세서에서 어떻게 배치할 것인가를 규정한다. 메모리와 입출력(I/O)와의 관계 등을 규정하고, 메모리와 입출력(I/O) 메모리 배치를 한다. 주로 메모리 설계에서의 배치를 의미한다. 메모리 맵 입출력 방식과 입출력 맵 입출력 방식을 말한다.
메모리 맵은 프로그램이 작성되었을 때 마이크로프로세서와 컴파일러마다 메모리 맵의 차이가 있다. 각 메모리를 배치하는 방식과 묶음의 이름이 다르다.
프로세서의 메모리 배치 예
편집C/C++언어 등의 변수가 선언되면 각각의 데이터 처리 변수 방식에 따라 특정 묶음으로 분리한다. 프로그래밍에 의해 작성 된 코드는 기계어 코드의 묶음으로 분리한다. 프로그램이 실행할 때 필요한 요소들의 묶음을 메모리에 나누어 배치한다.
각각의 기능적 묶음은 실행파일에서 구별하여 저장한다. 사용자에 의해 실행하면 메모리에 묶음을 나누어 배치하고 기계어코드 영역을 실행한다.
참고:
- ↑ 배치할 때 이름은 CPU와 컴파일러에 따라 다르므로 개발도구를 선택하면 맵파일을 만드는 방법과 메모리 맵 파일 생성 옵션을 설정해야 한다.
마이크로프로세서의 메모리 배치
편집입출력의 메모리 배치 방식은 다음과 같은 방식이 있다: