[기본원리] 메모리의 하드웨어 구조
- 프로그래밍 정보
- 2010. 7. 14.
이제 CPU , 레지스터와 프로그램카운터 , 2진수 및 그외 기타 등등을 거쳐
드디어 메모리 쪽으로 달려왔습니다 ^^
2010/07/09 - [Programing/기본원리] - CPU는 단순하다 의외로!!
2010/07/10 - [Programing/기본원리] - 컴퓨터는 2진수만 취급합니다.
2010/07/12 - [Programing/기본원리] - 소수점 때문에 바보가 되는 컴퓨터??
2010/07/02 - [Programing/기본원리] - 프로그래밍 에서의 CPU .
음,,, 네 메모리 입니다.
우선 컴퓨터는 데이터를 처리하는 기계입니다.
처리 대상인 데이터는 하드디스크와 메모리에 저장되어 있고,
그것의 처리방법과 순서를 표시한것이 프로그램이죠.
따라서 메모리를 직접 제어할 수 있다면, 다양한 방법으로 사용이 가능하게 됩니다.
메모리는 메모리 IC로 구성되어 있는데요,
메모리 IC의 종류에는 ( SRAM, DRAM, SDRAM, ROM ) 등이 있고
이들의 기본구조는 모두 같습니다.
메모리 IC는 전원, 어드레스 신호, 데이터 신호, 제어 신호를 위한 수많은 핀(IC)을 가지고 있구요,
또한 이 핀을 통해서 데이터를 처리할 수 있게 되는 것이지요!
메모리 IC 의 하드웨어 구조를 그림으로 그려보았습니다.
나타내는 상태는 아래와 같습니다.
- VCC , GND : 전원 신호
- A0 ~ A9 : 어드레스 신호
- D0 ~ D7 : 데이터 신호
- RD , WD : 읽기, 쓰기 제어 신호
일반적으로 +5V 의 전압은 1을 나타내고, 0V 의 전압은 0을 나타냅니다.
이것으로 VCC, GND 에 전원을 공급 후,
다른핀에 0 또는 1을 신호로 보내게 되지요.
데이터 신호의 핀이 8개 ( D0~D7 ) 있으므로 한번에 1바이트(8비트)의 데이터를 처리할 수 있고,
어드레스 핀이 10개 ( A0 ~ A9 ) 있으므로 2의 10제곱(0000000000 ~ 1111111111) 까지, 총 1,024 개의 어드레스를 지정할 수 있는 메모리 입니다.
어드레스란 데이터가 저장되는 장소이므로 여기에선
1바이트의 데이터를 1024개 만큼 저장할 수 있다는 말이 됩니다.
즉, 1,024 = 1K 이므로 1KB 의 용량을 가지는 메모리 겠네요.
실제 PC의 메모리가 약 1GB 라고 가정해 볼까요?
1GB 라면 1KB 의 메모리가 약 1,000,000 개가 있어야 한다는 말이 됩니다.
엄청난 숫자군요.
하지만 실제 메모리에는 메모리 IC에 수많은 핀(8개가 아닌 그 이상)이 있기 때문에
몇개의 메모리 IC만으로도 1GB를 만들 수가 있습니다.
따라서 저렇게나 많은 메모가 IC가 들어있는건 아니지요 ^^
어쨋든 제어신호인 RD, WD 는 신호가 모두 0일때는 읽고, 쓰기가 모두 불가능 하다는 점이 중요합니다.
결국, 메모리 IC에는 수 많은 데이터 저장 공간이 있고, 어드레스 신호로 데이터가 담긴곳을 지정하여 정보를 읽고 쓸 수 있다~~~~ 라고 하는 것이 핵심이라면 핵심이네요.