less than 1 minute read

물리 주소(Physical Address)

물리주소를 이해하기 위해 임베디드 시스템을 예로 들어,

임베디드 시스템과 우리가 사용하는 범용 시스템의 가장 큰 차이는 하드디스크의 유무이다.

범용시스템은 하드디스크가 존재하고, 운영체제에서부터 각종 소프트웨어를 하드디스크에 저장해두고, 전원이 인가되면 그 저장된 소프트웨어를 기반으로 동작한다.

하지만 임베디드 시스템은 하드디스크가 없다.

하드디스크가 없으니 가장 기본이 되는 운영체제도 저장되어있지 않기때문에 메인 메모리인 렘에다가 저장해놓는 경우를 생각해볼수있다.

하지만 렘은 재부팅시에 저장된 데이터가 사라지기 때문에 매번 운영체제를 다시 로딩해야하는 불편함이 생긴다.

그래서 플래시 메모리는 이용해 범용컴퓨터의 하드디스크 역활을 대체하는 수단을 생각해볼수있다.

플래시 메모리에 저장해두고 전원이 인가되면 렘으로 데이터가 이동하도록 디자인 한다

이러한 디자인 형식의 특징은 운영체제 코드와 프로그램을 하나의 바이너리 코드로 생성해서 시스템에 로딩한다는것이다.

전원 인가시 한번만 로딩하면된다.

램 용량이 16M바이트였다고 가정해보자. 그렇다면 ARM9 입장에서 접근 가능한 메모리 영역은 0번지부터 16X1024X1024 - 1 번지 사이가 된다.

이것은 실제 물리적 주소 지정이라고 한다. 물리적 주소 지정의 특징은 메인 메모리 크기에 따라서 지정 가능한 주소의 범위가 결정되는 것이다.

물리적 주소 지정을 하게 되면 CPU 입장에서는 접근 가능한 주소의 범위가 제한되게 되는데,

이것은 프로그래머가 할당할 수 있는 주소 범위가 제한적이라는 뜻도 된다.

이렇게 주소가 제한적이게 되면, 프로그래머가 주소 범위를 넘어서지 않도록 주의를 기울이며 개발해야 한다.

출처 : https://popcorntree.tistory.com/68

Categories:

Updated: