2008년 07월 10일
메모리 맵이 중요한 이유
메모리 맵이 중요한 것은 너무나 당연하다.
프로그램은 메모리를 조작하는 것이다.
내가 사용할 수 있는 메모리 자원에 대해 모르고서 어떻게 메모리를 조작할 수 있을 것인가
내가 짠 프로그램의 크기가 사용할 수 있는 메모리 자원보다 크다면 프로그램은 제대로 동작하지 않을 것이다.
운 좋으면 빌드 과정에서 에러와 경고 메시지등을 볼 수 있을 것이고 운 나쁘면 시스템이 동작하지 않을 것이다.
더 운이 나쁘면 뭔가 동작은 하는데 오동작할 것이고 정말 운이 나쁘다면 가끔 오동작할 것이다.
그리고 진짜 진짜 불행한 경우에는 시장에서 판 물건이 오동작하여 사고가 터질 수 있다.
메모리에는 내가 사용할 수 있는 메모리도 있지만 하드웨어적으로 이미 사용이 예약되어 있는 메모리도 있다.
Reserved 를 말하는 것은 아니다.
주변장치 관련 레지스터와 같은 것을 말하는 것이다.
특정한 장치는 특정한 주소의 메모리 또는 특정한 레지스터를 사용하여 설정하고 사용할 수 있다.
설정을 잘못하거나 하면 엉뚱한 동작을 할 뿐이다.
메모리 맵에는 주변장치 관련 레지스터에 관한 정보가 담겨 있다.
주변장치 말고 외부 장치를 제어하기 위해 외부 장치의 선택 신호를 주소 버스 신호의 조합으로 만들 수 있다. 특정 주소에 접근하면 외부 장치의 선택 신호가 켜지는 방식이다. 이런 경우 외부 장치를 메모리처럼 다룰 수 있다.
이것은 하드웨어 프로그래밍에서만 통하는 것은 아니다.
유닉스나 리눅스 심지어 윈도우조차도 장치를 파일로 다룬다. 파일은 결국 메모리다.
그렇다면 PC 에도 메모리 맵이 있을까? 있기는 하다. 그런데 PC 의 경우 하드웨어와 프로그래머 사이에 운영체제가 존재하기 때문에 하드웨어 프로그래밍과 같지는 않다. 상당히 복잡하고 까다롭다. 게다가 다루다 실수할 경우 정말....;;
하드웨어 프로그래밍에서 처음보는 칩을 만날 때 행하는 중요한 일들 중의 두 가지가 메모리 맵을 살피고 메모리 맵을 작성하는 것이다.
물론 제일 처음 하는 일은 도입부의 Features 를 읽고 해석하는 일이지만...
프로그램은 메모리를 조작하는 것이다.
내가 사용할 수 있는 메모리 자원에 대해 모르고서 어떻게 메모리를 조작할 수 있을 것인가
내가 짠 프로그램의 크기가 사용할 수 있는 메모리 자원보다 크다면 프로그램은 제대로 동작하지 않을 것이다.
운 좋으면 빌드 과정에서 에러와 경고 메시지등을 볼 수 있을 것이고 운 나쁘면 시스템이 동작하지 않을 것이다.
더 운이 나쁘면 뭔가 동작은 하는데 오동작할 것이고 정말 운이 나쁘다면 가끔 오동작할 것이다.
그리고 진짜 진짜 불행한 경우에는 시장에서 판 물건이 오동작하여 사고가 터질 수 있다.
메모리에는 내가 사용할 수 있는 메모리도 있지만 하드웨어적으로 이미 사용이 예약되어 있는 메모리도 있다.
Reserved 를 말하는 것은 아니다.
주변장치 관련 레지스터와 같은 것을 말하는 것이다.
특정한 장치는 특정한 주소의 메모리 또는 특정한 레지스터를 사용하여 설정하고 사용할 수 있다.
설정을 잘못하거나 하면 엉뚱한 동작을 할 뿐이다.
메모리 맵에는 주변장치 관련 레지스터에 관한 정보가 담겨 있다.
주변장치 말고 외부 장치를 제어하기 위해 외부 장치의 선택 신호를 주소 버스 신호의 조합으로 만들 수 있다. 특정 주소에 접근하면 외부 장치의 선택 신호가 켜지는 방식이다. 이런 경우 외부 장치를 메모리처럼 다룰 수 있다.
이것은 하드웨어 프로그래밍에서만 통하는 것은 아니다.
유닉스나 리눅스 심지어 윈도우조차도 장치를 파일로 다룬다. 파일은 결국 메모리다.
그렇다면 PC 에도 메모리 맵이 있을까? 있기는 하다. 그런데 PC 의 경우 하드웨어와 프로그래머 사이에 운영체제가 존재하기 때문에 하드웨어 프로그래밍과 같지는 않다. 상당히 복잡하고 까다롭다. 게다가 다루다 실수할 경우 정말....;;
하드웨어 프로그래밍에서 처음보는 칩을 만날 때 행하는 중요한 일들 중의 두 가지가 메모리 맵을 살피고 메모리 맵을 작성하는 것이다.
물론 제일 처음 하는 일은 도입부의 Features 를 읽고 해석하는 일이지만...
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 보리야~보리야~♩ 개념 좀 찾아라~♪ by 토끼
- XP '시작 및 복구' 대화상자 내용 by 또레몽
- 프로세스 메모리 읽어내기.. by 미친병아리
- 컴퓨터 깨끗하게 정리하려면 어떻게 해야 해요? by 라이프아트
- [Firefox] 메모리 점유율 문제 by marca
# by | 2008/07/10 00:25 | 끄적끄적 | 트랙백 | 덧글(0)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]