CS/컴퓨터구조

[Chapter 6] 02 주기억장치

jieun0675 2023. 5. 31. 21:15

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