📚개요

디지털 컴퓨터에서 기억장치는 처리할 프로그램과 데이터를 기억하거나 처리 후의 결과를 기억하는 장치입니다. 기억장치는 주기억장치와 보조기억장치로 구분됩니다.

  • 주기억장치: RAM, ROM, PLD

  • 보조기억장치: 자기 테이프, 플로피 디스크, 하드 디스크, 레이저 디스크 등


📄기억장치의 특성

기억장치는 2진 기억소자의 모임입니다. 기억장치에 기억되는 정보는 2진 비트들의 조합이며 실제로 기억장치 내부에서 이러한 여러 개의 비트가 배열되어 구체적인 데이터를 기억하게 됩니다.

2진 데이터가 기억장치에 저장하는 단위는 단어(word)라고 하고 단어는 m개(m은 8, 16, 32, 64 등의 값)의 비트로 구성됩니다. 기억장치에는 데이터나 프로그램을 일렬로 기억할 수 있도록 기억장치의 각 단어의 위치를 가리키는 주소가 부여됩니다.

기억장치의 성능은 기억장치에 저장된 정보를 읽거나 기록하는 속도에 따라 좌우되고 일정한 양의 정보를 읽어 내는데 걸리는 평균시간을 측정하여 평가합니다. 한 워드의 정보를 읽어 내는 데 걸리는 시간을 액세스 타임이라고 합니다.



📄기억장치의 종류

기억장치는 중앙처리장치와 직접통신을 수행합니다. 기억장치의 기억소자는 과거에 자기 코어를 이용했으나 현재는 반도체 메모리를 이용하고 있습니다.

기억장치는 대표적으로 두 가지가 있습니다. 하나는 RAM(Randon Access Memory)이고, 다른 하나는 ROM(Read Only Memory)입니다.

이 밖에 읽기만 허용하는 기억장치로 프로그래밍이 가능한 논리장치인 PLD(Programmable Logic Device)가 있습니다. PLD는 전자적 퓨즈로 접속된 내부 논리게이트가 있는 집적회로를 의미합니다. PLD에는 PLA(Programmable Logic Array)와 PAL(Programmable Array Logic)이 있습니다.




📚RAM

RAM은 임의의 기억장소에 사용자가 작성한 프로그램이나 데이터를 저장할 수 있고 필요할 때마다 그 내용을 읽어낼 수 있을 뿐만 아니라, 자유롭게 변경시킬 수 있는 기억장치입니다. 따라서 RAM을 RWM(Read Write Memory)이라고도 부릅니다. 한편 RAM은 전원이 없으면 정보가 손실되므로 휘발성 메모리라고 합니다.



📄RAM의 종류

  • SRAM(Static RAM)
    • 플립플롭으로 구성되어 사용하기 용이
    • 고속의 액세스 타임
    • 주로 캐시 메모리로 사용


  • DRAM(Dynamic RAM)
    • 커패시터로 충전되는 전하의 형태로 정보 저장
    • 주기적으로 커페시터를 충전시키는 동작 필요
    • 주로 컴퓨터의 주기억장치로 사용



📄RAM의 구성

디지털 컴퓨터에서 기억장치는 데이터 입출력선, 주소선, 제어선 등을 사용합니다. 데이터 입출력선은 저장시킬 정보를 기억장치로 전달하고 저장되어 있는 정보를 외부장치로 내보냅니다. 주소선은 기억장치 내의 단어를 선택하는데 사용됩니다. 제어선은 읽기와 쓰기가 있고 쓰기 입력은 정보를 기억장치 안으로 전송하도록 하고, 읽기 입력은 정보를 기억장치로부터 외부로 전송하도록 합니다.

RAM1

RAM2


  • 내부 구성

RAM의 내부구조는 1비트의 2진 정보를 저장할 수 있는 기본단위의 기억소자인 메모리 셀과 각 단어를 선택하기 위한 디코딩 회로로 구성되어 있습니다. 여기서 메모리 셀은 플립플롭 회로로 되어 있습니다.

MC

선택단자(E)는 기억소자를 선택하고, 읽기/쓰기 단자(R/W)는 기억소자에 대한 읽기/쓰기 모드를 결정합니다. R/W = 1이면 읽기모드를 수행하기 위해 플립플롭과 출력단자 사이에 경로를 형성하여 출력이 나타나게 합니다. 또한 입력이 R/W = 0이면 쓰기모드를 수행하기 위해 입력단자로 부터 플립플롭으로 경로를 형성하게 되어 입력단자의 정보가 플립플롭, 즉 기억소자에 기억됩니다.

4x4RAM


  • 램의 확장

RAM을 서로 연결하여 더 큰 용량의 기억장치를 구성할 수 있습니다. 기억장치의 용량을 늘리려면 기억장치 내의 단어의 수를 증가시키거나, 단어의 비트 수를 증가시키는 방법이 있습니다.

  1. 기억장치내의 단어의 수를 증가시키는 방법
    • 단어의 수는 주소선의 수와 관련
    • 따라서 단어를 선택하는 주소의 길이를 증가
    • 결국 주소선의 비트 수를 늘리는 방법

      RAMExtension


  2. 단어의 비트 수를 증가시키는 방법
    • RAM을 병렬 연결

      RAMExtension2




📚ROM

ROM은 기록되어 있는 데이터를 읽어 낼 수만 있는 기억장치입니다. 그리고 ROM은 내용을 변경할 수도 없고, 전원을 끊어도 내용이 소멸되지 않습니다.


📄ROM의 종류

  • 마스크 ROM: 한번 저장한 것은 내용을 바꿀 수 없는 ROM

  • PROM(Programmable ROM): 사용자가 데이터를 써 넣을 수 있는 프로그래밍 가능한 ROM(기록된 내용은 변경 불가)

  • EPROM(Erasable PROM): 한번 쓴 내용을 지울 수 있는 ROM



📄ROM의 구성

ROM은 고정된 2진 정보를 저장하는 기억장치로 1개의 ROM 칩은 디코더와 여러 개의 OR 게이트로 구성되어 있습니다. 2진 정보는 설계자가 결정한 다음에 필요한 내부 연결 패턴을 기억장치 내에 형성함으로써 구현합니다.

ROM은 특별한 패턴 구조로 프로그래밍할 수 있는 내부의 전자 퓨즈선으로 구성되어 있고 일단 한 형태로 프로그래밍하면 전원의 유무에 관계없이 그 패턴을 그대로 유지합니다.

8x4ROM


  • ROM의 내부 구조

ROM은 디코더와 OR 게이트로 구성되어 있으며 k개의 입력이 디코더에 가해지면 2k개의 디코더 출력 중 하나가 1이 됩니다. 이 디코더의 출력이 메모리 배열 중에서 1개의 단어를 출력하고 이 단어의 비트들이 출력단자에 나타납니다.

ROMStructure

ROMStructure2



📄ROM을 이용한 조합논리회로 구현

ROM은 디코더와 OR 게이트로 이뤄진 논리회로입니다. 디코더는 k개의 입력변수를 가지고 2k개의 최소항을 만들어내는 조합논리회로입니다. 따라서 디코더에 OR 게이트를 연결하면 부울함수의 최소항의 합을 만들어 낼 수 있으므로 ROM을 이용하면 조합논리회로를 구현할 수 있습니다.

ROMCombination



Leave a comment