컴퓨터 하드웨어 - 반도체 메모리
반도체 메모리
- 현재 주기억 장치로 사용되고 있는 반도체 메모리는 하나의 칩(chip)상에 수메가 비트를 저장할 수 있다. 반도체 제조공법상 쌍극성(bipolar type)과 모스형(mos type)의 두 가지로 구분된다.
메모리의 제조기술적인 분류에 따른 특성
1) 밀도(chip당 bit 용량)
2) 속도
3) 소비전력(bit당 mW)
4) bit당 cost(반도체 제조가격 측면)
5) Noise 면역성
읽기동작(read operation)과 쓰기동작
- 특별한 메모리위치(주소)에 저장되어 있는 2진 워드가 감지되어 다른 소자에 전달되는 동작
- 만약 100번 주소에 있는 메모리에서 워드 4를 사용하려 한다면 주소 100번에서 읽기동작을 실행해야 한다.
- 한 워드를 메모리부터 가져오기 때문에 패치(fetch)동작이라고도 한다.
접근 시간(access time)
- 기억 장치가 출력 신호를 받은 시간부터 데이터가 출력된 때까지의 시간
- 자기 코어 기억 장치에서는 접근 시간과 복원 시간을 합해서 사이클(cycle) 시간이라 하며, IC 메모리에서는 사이클 시간이 접근 시간과 같다.
- 메모리소자 동작속도의 측정치로 읽기동작하는 데 필요한 시간이라고도 할 수 있으며, 이는 주소입력 순간으로부터 메모리 내용의 출력순간까지의 시간이다.
랜덤 액세스메모리(RAM)
- 한 메모리 워드의 실제 물리적 위치가 그 위치로부터 읽거나 쓰는 데 걸리는 시간이 얼마나 걸리는가에는 영향을 받지 않는 메모리이다. 즉 액세스시간이 메모리의 모든 주소에 대해서 같은 메모리이다.
- 대부분의 반도체메모리와 코어메모리는 RAM이다.
- 사용 예 : CDP(컴팩트 디스크 플레이어)는 적당한 코드를 입력함으로써 어떤 한 노래를 선택하든간에 같은 시간을 갖는다.
- 사용 예 : CDP(컴팩트 디스크 플레이어)는 적당한 코드를 입력함으로써 어떤 한 노래를 선택하든간에 같은 시간을 갖는다.
순차 액세스 메모리(SAM)
- 액세스시간이 일정하지 않고 주소위치에 따라 변하는 메모리의 한 형태이다.
- 원하는 주소에 도달할 때까지 모든 주소위치를 통하여 저장된 워드를 순차적으로 찾기 때문에 랜덤 액세스메모리보다 더 긴 액세스시간을 갖는다.
- 사용 예 : 자기테이프, 디스크, 자기버블메모리
- 사용 예 : 자기테이프, 디스크, 자기버블메모리
읽기전용메모리(ROM)
- 읽기동작이 쓰기동작보다 매우 많은 응용분야를 위해 설계된 반도체메모리의 종류
- 기술적으로 (주로 제작자에 의해)단 한 번만 프로그래밍되어 쓸 수 있으며, 이후로는 내용을 수정할 수 없으며 읽기만 가능하다.
- 모든 ROM은 비휘발성이며 전원이 제거되어도 데이터는 그대로 저장된다.
- 한 번 이상 쓰기동작을 할 수 있는 메모리 RMM(Read Mostly Memory)도 있는데 읽기동작보다 쓰기동작이 훨씬 복잡하기 때문에 자주 사용되지는 않는다.
ROM의 구성도
- ROM은 읽어내기만 하기 때문에 기억부와 번지 해독기, 출력 버퍼만으로 구성된다.
프로그램이나 자료 저장 방법에 따른 ROM 분류
- 마스크(Mask) ROM : 사용자의 요구에 따라 제작사가 자료를 넣기 때문에 내용을 바꿀 수는 없지만 대량 생산에 적합
- PROM(Programmable ROM) : 제작시에 아무런 내용을 넣지 않은 상태로 만들어져서 사용자가 원하는 내용을 저장할 수 있다. 하지만 한 번 기억되면 그 내용을 변경할 수 없다.
- EPROM(Erasable ROM) : ROM의 내용을 자외선 삭제 장치로 지울 수 있다. 지운 후에 새로운 내용을 써 넣는 것도 가능
- EEPROM(Electrically Erasable PROM) : ROM의 내용을 전기신호로 지울 수 있다. 지운 후에 새로운 내용을 써 넣는 것도 가능
정적 램(static RAM device, SRAM)
- 전원이 인가되는 동안은 저장된 데이터가 영원히 저장되고, 주기적으로 데이터를 다시 쓸 필요가 없는 반도체 메모리장치
- 플립플롭 조합으로 구성되어 있다.
동적 램(dynamic RAM device, DRAM)
- 전원이 인가되어도 저장된 데이터가 영원히 유지되지 못하며, 데이터가 메모리에 주기적으로 다시 쓰여져야 저장된 데이터가 계속 저장되는 반도체메모리
- 이러한 주기적 동작을 리플레시(refresh)동작이라 한다.
휘발성 메모리(volatile memory)
- 전원이 제거되면 메모리에 있는 모든 정보가 소실된다.
- 반도체메모리가 휘발성 메모리에 해당한다.
캐시 메모리(cache memory)
- SRAM과 구성이 동일하다.
- 기억 용량은 작으나 속도가 매우 빠른 버퍼(buffer) 메모리로 주기억 장치와 CPU와의 속도 차이를 줄여서 처리의 효율을 높이기 위해서 사용된다.
- 캐시 기억 장치의 호출 시간은 주기억 장치의 호출 시간보다 5~10배 정도 빠르다.
- 전체 기억 장치 시스템의 총 소요 시간을 최소화하면서 가능한 하 높은 평균 액세스 속도를 얻기 위해서 사용한다.
메모리의 연결
- 컴퓨터 내부메모리는 어드레스(Address) 버스, 데이터(Data) 버스, 제어(Control) 버스라는 세 종류의 버스로 CPU에 연결되는 신호선이 구성된다.
버스
1) 어드레스 버스 : CPU에서 메모리 IC까지 2진 어드레스 출력을 전달하는 단방향 버스
2) 데이터 버스 : CPU와 메모리 IC 사이에 데이터를 옮기는 양방향 버스
3) 제어 버스 : CPU에서 메모리 IC까지 제어신호들 전달
CPU의 쓰기동작 순서
1) CPU가 데이터가 저장될 메모리 위치에 2진 어드레스 공급. 어드레스 버스선에서 이 어드레스를 인가한다.
2) CPU가 데이터 버스선에 저장될 데이터 인가
3) CPU가 메모리 쓰기 동작을 위해 제어신호선 동작시킴
4) 메모리 IC들은 저장될 위치를 선택하기 위해 2진 어드레스 해독
5) 데이터 버스에 있는 데이터가 선택된 메모리 위치로 전송됨
CPU의 읽기동작 순서
1) 어드레스 버스선에 이 어드레스 인가. CPU가 데이터의 메모리 위치의 2진 어드레스 공급
2) CPU가 메모리 읽기동작을 위해 제어신호선 활성화 시킴
3) 메모리 IC중에서 읽기동작이 실행되는 위치를 선택하기 위해, 2진 어드레스를 해독한다.
4) 메모리 IC들은 선택된 메모리 위치로부터 데이터 버스에 데이터 인가. 데이터가 전송되는 곳으로부터 CPU로 데이터 인가
메모리 맵(Memory Map)
- 원하는 용량 및 워드사이즈에 알맞게 응용하기 위해 메모리칩을 조합하거나 큰 용량을 나누어 쓰는 것