memory mapped I/O 란 무엇인가? - 2009/02/09 16:53
memory mapped I/O 란 무엇인가?
임베디드시스템 에서 소프트웨어라 함은 마이크로프로세서가 주체가 되어 실행하는 일련의 프로그램(PROGRAM)을 말한다.
마이크로프로세서가 제어하는 모든 메모리를 포함한 I/O 장치들은 다음과 같이 크게 두가지 중 하나의 형태를 띤다.
즉, memory mapped I/O 와 non-memory mapped I/O 의 형태라 할 수 있다.
memory mapped 장치의 대표적인 것은 메모리류(FLASH,RAM,SDRAM)와 LCD DRIVER IC, Ethernet controller, USB controller 등
마이크로 프로세서의 제어를 받는 다양한 종류의 컨트롤러 들이다.
그러면, non-memory mapped 장치는 어떤 것들이 있을까? I2C 인터페이스를 가진 모든 디바이스(video encoder, tuner, eeprom, etc), SPI 인터페이스 장치, GPIO 인터페이스 장치. 기타 등등.
당장 생각나는 것은 모두 적은 것 같은데, 찾아보면 아마도 또 있을것이다.
이제 두 가지 형태가 있다는 것은 알았는데 그럼 각각은 어떻게 구분 되는가?
memory mapped 형태의 특징을 설명하면 자동적으로 non-memory mapped 설명이 될 것이므로 이제 설명을 해 보겠다.
즉, memory mapped I/O 와 non-memory mapped I/O 의 형태라 할 수 있다.
memory mapped 장치의 대표적인 것은 메모리류(FLASH,RAM,SDRAM)와 LCD DRIVER IC, Ethernet controller, USB controller 등
마이크로 프로세서의 제어를 받는 다양한 종류의 컨트롤러 들이다.
그러면, non-memory mapped 장치는 어떤 것들이 있을까? I2C 인터페이스를 가진 모든 디바이스(video encoder, tuner, eeprom, etc), SPI 인터페이스 장치, GPIO 인터페이스 장치. 기타 등등.
당장 생각나는 것은 모두 적은 것 같은데, 찾아보면 아마도 또 있을것이다.
이제 두 가지 형태가 있다는 것은 알았는데 그럼 각각은 어떻게 구분 되는가?
memory mapped 형태의 특징을 설명하면 자동적으로 non-memory mapped 설명이 될 것이므로 이제 설명을 해 보겠다.
memory mapped 형태는 두 가지 분명한 외관 상의 특징을 갖는다.
첫번째 특징은 칩셀렉트 신호인 /CS(혹은 /CE), 와 어드레스인 ADDR 을 가진다.
두번째 특징은 어드레스가 앞서의 설명과 같이 존재 하므로 해당 장치는 MEMORY MAP 에 그 영역을 할당 받는다(할당한다).
소프트웨어 개발을 한다는 것은 위의 두가지 형태의 장치 리소스 들을 가지고 상상한 무형의 것을 만들어 내는 것이 될 것이다.
참고로, 과거 인텔의 i80xx 계열에서는 memory map 와 또한 대비되는 용어인 I/O map 을 함께 사용 하였었다.
지금도 하이엔드 프로세서에서 그 명맥이 유지되어 사용 되고 있는지는 모르겠다.
-홍익컴닷컴-
http://www.hongikcom.com
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요->





