반도체 기억장치 칩에는 기본적으로 데이터를 읽고 쓸 수 있는 제어신호 단자가 있다. 그리고 읽은 데이터나 기억장치에 기록하는데 쓸 데이터를 임시로 저장하는 레지스터가 존재한다. 또한 저장된 데이터에 대한 주소를 저장하는 별도의 주소 레지스터도 있다.

[ 그림 7-16 ]은 반도체 기억장치의 구조를 나타낸 것이다. 먼저 기억장치의 용량을 생각해보자. 기억장츼 가로 길이에 해당하는 것이 워드이고 길이는 m비트다. 기억장치의 세로 길이에 해당하는 것이 워드의 개수이며, 2의 n승 개다. 기억장치 주소 레지스터(MAR : Memory Address Register)는 기억장치에 접근할 때 필요한 워드의 주소를 임시로 저장하는 장치다. 2의 n승개 워드의 주소를 표현하려면 n비트가 필요하다. 기억장치 버퍼 페지스터(MBR : Memory Buffer Register)는 기억장치와 CPU 등의 외부장치 사이에서 전송되는 데이터를 임시로 저장한다. 워드 단위로 데이터를 입출력하므로 m비트가 필요하다.

[ 그림 7-16 ]

[ 그림 7-17 ]은 반도체 기억장치의 실제적인 IC 칩을 나타낸 것이다. (a)에서 A0~A4는 주소를 지정하기 위한 단자다. I0~I3는 입력 포트이고 O0~O3는 출력 포트다. R/W는 읽기와 쓰기를 결정하는 제어 단자다. M.E(Memory Enable)는 기억장치의 사용 가능 여부를 결정한다. 주소의 길이가 5비트이므로 워드의 개수는 32(=2의 5승) 개가 되고, 워드의 길이는 4비트이므로 기억장치 용량을 계산하면 128(32x4)비트가 된다. (b)에서는 (a)의 기호와 동일하게 사용된다. 따라서 주소의 길이가 12비트이므로 워드의 개수는 2의 12승가 되고, 워드의 길이는 8비트이므로 기억장치 용량을 계산하면 2의 12승(4K) x 8 = 4096 바이트 가 된다

[ 그림 7-17 ]