32bit mcu 를 사용해 회로를 꾸미는 경우 어드레스 버스의 A0 는 아예 연결을 하지 않는 것을 볼 수 있습니다.

왜 그럴까요?

1.jpg



요즘 나오는 MCU 들은 일반적으로 16Bit data bus 와 25~27 bit 정도의 address 버스를 갖습니다.

A0 의 사용 여부는 여기서data bus 의 bit 수와 상관이 있겠습니다.


addrss 는 1byte 데이터의 저장소 위치를 최소 단위로 하고 있는데, 16bit data bus 는 한번에 2byte 의 데이터를 표현 할 수있기 때문에 2byte 데이터의 주소만큼씩 변경 하게 됩니다. 만약 데이터 bus 가 8bit 라면 a0 는 사용 해야 합니다.


따라서 16bit data bus 를 갖는 mcu 에서 32 bit 데이터를 출력 하게 되면, 16bit 씩 두번 출력 하게 되며,

이때 address 는 2의 배수로 움직이게 됩니다. 또한 2byte 의 데이터는 연속해야 하므로, 00,02,04.. 처럼 

홀수 주소로 엑세스 할 수 없 으며, 짝수 주소를 갖게 됩니다.


따라서 A0 는 아래 표와 같이 사용 할 일이 없어집니다.

ADDRESS 

DATA 

A1 

A0 

 0x00

1byte 

 0

 0

 0x01

1byte

 0

 1

 0x02

1byte

 1

 0

 0x03

1byte

 1

 1


2byte 단위로 엑세스 하게되어, 결국  A0 의 값은 의미가 없어지며, A1 만 확인 하면 되겠습니다.

그래서 A0 는 아예 제거를 하는 것 입니다.


앞으로 왜 A0 연결이 안되었는지 .. 연결해야 하나?? 실수로 빠졌나? 하는 의문은 버립시다. ~