[Chapter 6] 02 주기억장치
1. 주기억 장치의 동작
• CPU와 주기억 장치 사이의 데이터 전송은 CPU 내부에 있는 레지스터 2개(MAR, MBR)와 제어 신호 3개(읽기, 쓰기, 칩 선택)를 통해 이루어짐.
-그림은 RAM : 쓰기신호(WR)가 있다 ↔ ROM의 경우에는 읽기신호(RD)만 있고 쓰기신호(WR)은 없다
※ 메모리 읽기 동작
➊ 읽으려는 메모리의 주소를 MAR로 전송한다.
➋ 칩 선택 신호와 읽기 신호를 활성화시키면 지정된 메모리의 워드가 MBR로 들어온다.
※ 메모리 쓰기 동작
➊ 지정된 메모리의 주소를 MAR로 전송하는 동시에 저장하려는 데이터의 워드를 MBR에 전송한다.
➋ 칩 선택 신호와 쓰기 신호를 활성화시킨다.
※ 기억 장치의 용량 표현
• 기억 장치의 용량은 주소 버스의 길이와 지정된 주소에 들어 있는 데이터의 길이로 나타낸다.
• 주소 버스의 길이가 n비트고, 워드당 비트 수가 m일 때 용량은 다음과 같다.
• MAR의 비트 수는 주소 버스의 길이 n과 같으며, 워드 개수는 2^n이다.
• MBR의 비트 수는 데이터 버스의 길이 m과 같다.
예제 6-1 기억 장치의 용량이 1024×8이라면 MAR과 MBR은 각각 몇 비트인가?
풀이 : 1024×8 = 2^10×8이므로 MAR=10비트, MBR=8비트이다
※ 워드의 저장 방법
• 주소에는 0번지부터 고유의 일련번호를 부여
• 각 주소에 데이터가 1바이트나 워드 단위로 저장
• 바이트 주소와 워드 주소로 분류할 수 있다.
• 기억 장치에 저장하는 바이트의 순서를 나타내는 방법을 엔디안(endian)이라고 함. ➔ Little endian and Big endian
❖ 리틀 엔디안(little endian)
• 하위 바이트를 낮은 주소에 저장하는 방법
• 산술 연산이 주소가 낮은 쪽에서 높은 쪽으로 처리되는 순서
• 리눅스, 인텔 계열의 CPU, AMD 계열의 CPU에서 사용하는 방식
❖ 빅 엔디안(big endian)
• 상위 바이트를 낮은 주소에 저장하는 방법으로 왼쪽에서 오른쪽으로 저장
• 숫자를 읽고 쓰는 일반적인 방식과 같아 사람이 읽기 편함
• IBM이나 모토로라의 CPU가 사용하는 방식, TCP/IP 전송도 이 방식을 사용
❖ 바이 엔디안(biendian) : 엔디안을 선택할 수 있도록 설계된 방법
2. 반도체 기억 장치
• 반도체 메모리 분류 관점: 쓰기 기능, 휘발성/비휘발성, 재사용 여부, 기억 방식 등
❖ RAM
• 전원이 꺼지면 저장 내용이 지워지는 휘발성 메모리
- Dynamic RAM(주메모리), Static RAM(캐시메모리), Pseudostatic RAM
• 비휘발성이고 고속으로 데이터를 액세스 가능한 차세대 메모리
- Ferroelectric RAM, Phase-change RAM, Magnetoresistance RAM
※ ROM(Read Only Memory)
• 모든 메모리는 순차회로이나 ROM은 조합회로
• 읽기 전용 메모리
-변경할 필요가 없는 프로그램이나 데이터를 저장
• 컴퓨터 시스템에서는 RAM과 함께 주기억 장치의 일부분으로 ROM을 사용
▪ PC를 부팅하는데 필요한 프로그램 및 장치들의 이상 유무를 검사
▪ 제어 장치의 마이크로 프로그램
❖ ROM의 기본 구조
• ROM은 디코더(AND 게이트)와 OR 게이트로 구성된 조합 논리 회로
❖ 32×4 ROM의 내부 논리 구조
• 5비트 주소가 입력되어 출력 32개 중 하나만 활성화됨
• 디코더의 출력 32개가 각각 퓨즈로 연결되어 OR 게이트에 입력되므로 내부 퓨즈는 32×4=128개
• 퓨즈를 통해 ROM의 데이터를 결정
- 디코더 입력은 주소비트(n)과 같고 OR게이트 개수는 데이터 수(m)와 같다.
❖ 1Kbyte ROM 블록도
- 쓰기 신호(WR)가 없다.
❖ ROM의 종류
마스크 ROM (mask ROM)
• 제조과정에서 데이터를 영구적으로 저장하며, 저장된 것은 절대 변경할 수 없다.
• 동일한 형태가 대량으로 필요할 때는 Mask ROM이 경제적이다.
PROM (programmable ROM)
• 사용자가 ROM 라이터를 이용하여 프로그램을 할 수 있다.
• 일단 프로그램을 하면 퓨즈의 연결 형태가 그대로 유지되며, 변경할 수 없다.
EPROM (erasable PROM)
• 초기 상태로 복원 할 수 있는 ROM이다.
• 복원하는 과정은 일정 시간 자외선을 쪼이면 된다.
EEPROM (electrically EPROM)
• EPROM과 같으나, 복원 과정에서 자외선 대신에 전기 신호를 사용하여 지우는 PROM이다.
❖ 플래시메모리(flash memory) // 보조기억장치
• 블록 단위로 읽기 ∙ 쓰기 ∙ 지우기가 가능한 EEPROM의 한 종류
• 비휘발성 ROM의 장점과 정보의 입출력이 자유로운 RAM의 장점을 동시에 지닌 반도체 메모리
• 속도가 빠르며 전력소모가 적음
• 반도체 칩 내부의 전자회로 형태에 따라 NAND 플래시와 NOR 플래시로 나뉨
- NAND 플래시는 대용량화에 유리하고 쓰기 및 지우기 속도가 빠르다
- NOR 플래시는 읽기 속도가 빠른 장점을 갖고 있다.
※ RAM(random access memory)
• RAM은 휘발성이어서 일시적인 저장 장치로만 활용됨
• RAM은 데이터의 읽기와 쓰기가 모두 가능
• 임의 액세스 방식 - 메모리의 위치에 관계없이 액세스 시간이 동일
• SRAM - 플립플롭을 사용해 정보를 저장
• DRAM은 Capacitor에 전하를 충전하는 방식으로 정보를 저장
❖ 64Kbyte RAM의 블록도
• 64K×8bit는 8비트로 된 기억 장소들이 64K(=2^16)개 배열된 경우이므로 주소선은 16개
• 데이터 선은 8개
• CS =0이면 메모리칩이 선택됨. (1이면 하이임피던스 상태)
3. 기억 장치 모듈의 설계
※ 워드 길이 확장
• 기억장치 칩의 데이터 I/O 비트 수가 워드 길이보다 적은 경우
→ 여러 개의 칩들을 병렬로 접속하여 기억장치 모듈을 구성 3
예제 6-3 1K×8 RAM 4개를 사용해 1K×32 RAM을 구성하여라.
풀이
※ 워드 용량 확장
• 필요한 기억장소의 수가 각 기억장치 칩의 기억장소 수보다 많은 경우
→ 여러 개의 칩들을 직렬 접속하여 기억장치 모듈을 구성
예제 6-4 1K×8 RAM 4개를 사용해 4K×8 RAM을 구성하여라.
※ 8비트 CPU의 주기억 장치 설계
❖ 기억장치 모듈의 설계 순서
① 컴퓨터시스템에 필요한 기억장치 용량 결정
② 사용할 칩들을 결정하고, 주소 표(address map)를 작성
③ 세부 회로 설계
❖ 8-비트 CPU를 위한 기억장치의 설계
• 용량 : 1Kbyte ROM, 1Kbyte RAM
• 주소 영역 : ROM = 0번지부터, RAM = 400H 번지부터
• 사용 가능한 칩들 : 1K×8bit ROM, 256×8bit RAMs