본문으로 건너뛰기

기억장치

1. 기억장치 분류와 특성

1.1 기억장치 액세스 유형

유형설명예시
순차적 액세스처음부터 순서대로 접근자기 테이프
직접 액세스위치 근처로 이동 후 순차 검색디스크, CD-ROM
임의 액세스주소로 직접 접근, 모든 위치 액세스 시간 동일RAM, ROM 등
연관 액세스내용 일부(비트) 비교로 일치 데이터 접근연관(associative) 메모리

1.2 기억장치 설계 및 전송 단위

  • 용량: 저장 가능한 총 정보량
  • 액세스 속도: 읽기/쓰기 소요 시간
  • 전송 단위: CPU가 한 번에 읽거나 쓸 수 있는 비트수 (주기억장치: 단어, 보조저장장치: 블록)
  • 주소지정 단위: 각 주소에 저장되는 데이터 길이 (바이트/단어)
    • 주소 비트 수 $A$, 주소지정 단위 수 $N$ → $2^A = N$

1.3 액세스 속도 관련 파라미터

  • 액세스 시간: 주소/신호 입력~데이터 액세스 완료까지 시간
  • 데이터 전송률: 초당 액세스 비트수
    • 공식: $\text{전송률} = \frac{1}{\text{액세스 시간}} \times \text{전송 단위 비트수}$
    • 예: 액세스 100ns, 32비트 → 40MB/s

1.4 기억장치 유형

  • 제조 재료:
    • 반도체: RAM, ROM, 플래시 메모리
    • 자기-표면: 디스크 등
  • 데이터 저장 성질:
    • 휘발성: 전원 차단 시 데이터 소멸 (RAM)
    • 비휘발성: 영구 저장 (ROM, 디스크, SSD)
    • 삭제 불가: 내용 변경 불가 (ROM)

2. 계층적 기억장치 시스템

2.1 계층화의 필요성 및 효과

  • 다양한 속도/용량/가격의 기억장치 조합 필요
  • 효과: 성능-가격비 향상
  • 특성:
    • 상위 계층: 빠름, 비쌈, 용량 작음, CPU 접근 빈도 높음
    • 하위 계층: 느림, 쌈, 용량 큼, 접근 빈도 낮음

2.2 계층적 기억장치 시스템의 원리

  • 2단계 계층: ML1(고속/소용량) ↔ ML2(저속/대용량)
  • 지역성의 원리: 프로그램 실행 중 특정 영역 집중 액세스 → 상위 계층 액세스 빈도↑, 평균 액세스 시간↓

2.3 기억장치 계층의 구성

  • 상위층: 비트당 가격↑, 용량↓, 액세스 시간↓, CPU 접근 빈도↑
  • 하위층: 용량↑, 가격↓, 접근 빈도↓
  • 캐시 메모리: CPU-주기억장치 사이 고속 메모리, 속도 차이 보완
  • 내부 기억장치: CPU 직접 접근 가능 (레지스터, 캐시, 주기억장치)
  • 외부 기억장치: 장치 제어기 통해 접근 (디스크, SSD, CD-ROM 등)

3. 반도체 기억장치

3.1 RAM (Random Access Memory)

  • 특성: 임의 액세스, 읽기/쓰기 가능, 휘발성
  • DRAM: 캐패시터 저장, 주기적 재충전 필요, 대용량/저가, 주기억장치
  • SRAM: 플립플롭 저장, 재충전 불필요, 고속, 캐시 메모리
  • 내부 조직: 다양한 비트 조직(8x8, 16x4 등), 대용량은 RAS/CAS 신호로 주소 관리

3.2 ROM (Read Only Memory)

  • 특성: 읽기만 가능, 영구 저장
  • 용도: 시스템 초기화, 진단, 제어 유닛 마이크로 프로그램, 서브루틴 저장
  • 종류:
    • PROM: 1회 프로그래밍 가능
    • EPROM: 자외선 삭제/재기록 가능
    • EEPROM: 전기적 삭제/재기록, 갱신 횟수 제한
    • 플래시 메모리: NAND/NOR형, 삭제 빠름, SSD 구성요소

4. 기억장치 모듈의 설계

  • 병렬 접속: 단어 길이(N) > 칩 데이터 I/O(B) → N/B개 칩 병렬 연결, 데이터 폭 확장
  • 직렬 접속: 기억 장소 수↑ 필요시 칩 직렬 연결, 총 용량 확장
  • 설계 순서:
    1. 시스템 필요 용량 결정
    2. 칩 선정 및 주소 맵 작성
    3. 세부 회로 설계

5. 결론

컴퓨터 기억장치는 프로그램/데이터 저장의 핵심 요소입니다. 속도, 용량, 가격의 균형을 맞춘 계층적 시스템 이해와 RAM, ROM, 플래시 메모리 등 반도체 기억장치의 원리, 모듈 설계는 컴퓨터 아키텍처의 근간입니다.