user23
(어설픈껄떡쇠)
1
제목이 좀 이상하긴 하지만 …
메모리 (RAM) 는 램모듈에 장착되어서 램 소켓을 통해서 메인보드에 장착되어 있습니다. 램은 별도의 하드웨어로 구성되어 구분하기가 참 쉽습니다. 또 메모리의 용량은 구성된 램모듈에 따라서 그 용량이 결정되고 있기에 알아 보기 쉽습니다.
그럼 하드웨어끼리 데이터를 주고 받는 데 사용되는 포트라는 것이 위치하고 있는 부품은 어느 것입니까? 그리고 그 크기는 어느 정도 입니까? 또, 포트를 보니까 번호가 쭈욱 붙어 있던데, 몇 번 포트가 마지막 포트입니까?
I/O port를 말씀하시는 듯 합니다.(아닌가??)
메인보드의 South Bridge에 혹은 근처에 붙어있을 것으로 짐작(?)합니다.
대표적인 I/O port로는 RTC의 시간을 알려주는 0x70 port가 있습니다.
ANSI C를 예로 들면… 다음 처럼 사용 합니다.
Byte temp_sec=0;
Byte temp_min=0;
Byte temp_hour=0; //typedef Byte unsigned char
outp(0x70, 0x04);
temp_hour = inp(0x71); // present hour
outp(0x70, 0x02);
temp_min = inp(0x71); // present min
outp(0x70, 0x00);
temp_sec = inp(0x71); // present sec
RTC 뿐만 아니라, RAM의 SPD가 적혀있는 EEPROM에 접근하기 위해서 사용하는 SMBASE Address도 I/O port입니다.
SMBASE Address로 SPD를 R/W할 수 있지요.
보통 port는 16bit의 size이니… 이론상 0xFFFF가 마지막 port입니다만 실제 사용하는 것은 정확히 몇 번인지 모르겠습니다.