주기억장치

degull·2023년 5월 26일

#1 기억장치 개요

컴퓨터의 기억장치

  • 기억장치는 주기억장치와 보조기억장치로 구분
  • 주기억장치 : CPU와 접근 통신이 가능한 기억장치
    -> CPU와 보조기억 장치 사이에 위치한다.
    -> 주기억장치인 RAM은 확장 슬롯에 장착되며, 주 회로기판의 종류에 따라 2~4개의 확장 슬롯 존재
  • 보조기억장치 : 현재는 필요하지 않은 프로그램이나 데이터를 저장하고 있다가 필요할 때 주기억장치로 전송하는 장치
    -> 하드디스크, 플로피디스크, CD-ROM, DVD는 주 회로기판의 특정 포트에 연결 케이블로 연결

++ 캐시기억장치 : CPU 내부에 존재

기억장치의 성능과 계층구조

기억장치의 성능 평가 요소

  • 기억용량(Capacity)
    - 기억장치에 저장할 수 있는 데이터의 총량으로, 단위는 비트, 바이트, 워드

  • 접근시간(Access Time)
    - 기억장치에 저장된 데이터를 읽거나 새로운 데이터를 기록하는 데 걸리는 시간

  • 사이클 시간(Cycle Time)
    - 기억장치의 기본 단위 정보를 읽고 기록하는 데 걸리는 시간
    = 기억장치에 두 번 연속 접근하는 데 걸리는 최소 시간

    **비파괴 기억장치 : 사이클 시간과 접근 시간 동일(비파괴 기억 장치인 반도체 기억장치는 사이클 시간과 접근 시간을 구분할 필요 없음.

    **자기코어 기억장치(파괴기억장치) : 정보를 읽으면 기억 장치에 저장된 정보가 삭제됨. 읽기 위한 접근 시간과 정보를 다시 저장하기 위한 복원시간을 합한 시간이 사이클 시간이 됨..

  • 기억장치의 대역폭(Bandwidth)
    - 기억장치가 한 번에 전송가능한 비트 수 / 저장가능한 비트 수

  • 데이터 전송률(Data Transportation)
    - 기억장치에서 초당 몇 비트의 데이터가 전송되어 읽히는가

  • 가격
    - 기억장치의 가격은 기억장치의 처리속도와 비례

    ** CPU의 처리속도와 보조를 맞추기 위해 고가의 기억장치 사용

    ** 비용의 한계로 인해 대용량 기억 장치를 구비하기 어려움


기억장치의 계층구조

기억장치의 분류

제조 재료에 따른 기억 장치의 유형

  • 반도체 기억 장치 : 반도체 물질인 실리콘 칩 사용
  • 자기 표면 기억 장치 : 자화(자석같은 특성) 물질로 코팅된 표면에 정보 저장

데이터를 저장하는 성질에 따른 기억 장치의 유형

  • 휘발성 기억장치(RAM), 비휘발성 기억장치(ROM)

접근 방법에 따른 기억 장치의 유형

  • 순차적 접근 : 데이터가 저장되는 순서에 따라 기억장치에 순차적 접근.
    필요한 데이터가 저장된 위치에 따라 접근 시간 결정
    예) 자기 테이프

  • 직접 접근 : 기억 장소 근처로 이동 후 순차적으로 검색하여 최종적으로 원하는 데이터에 접근.
    필요한 데이터의 위치와 이전 접근 위치에 따라 접근 시간 결정
    예) 디스크

  • 임의 접근 : 저장된 모든 데이터에 접근하는 데 소요되는 시간이 이전 접근 순서와 무관하게 항상 일정
    예) 반도체 기억장치 (RAM,ROM)

#2 주기억 장치

주기억 장치의 구조와 동작

#주기억장치 : 실행할 프로그램과 데이터를 저장

- 주기억장치는 전원이 켜진 상태에서만 데이터를 읽거나 쓸 수 있고, 전원이 꺼지면 기억된 내용이 모두 지워짐(휘발성)
- 정보의 장기적인 저장을 목적으로 하지만, 프로그램의 명령을 저장하고 있다가 빠르게 실행하도록 하는 것이 목적
- 실행이 완료된 명령이 다른 명령으로 교체되어 신속하게 실행됨
- 전원이 꺼지면 빠르게 실행할 일이 없기 때문에 기억된 모든 명령이 주기억장치에서 삭제됨

CPU : 주기억장치에 저장된 프로그램에서 명령을 제어 장치로 하나씩 꺼내 해독
제어장치 : 해독된 결과로 제어신호 생성 후 각 장치에 전달해 동작하도록 함


프로그램은 반드시 주기억장치에 저장되어야 실행될 수 있으므로 입력장치나 보조기억장치에서 주기억 장치로 저장된 후 제어장치로 전달


#주기억장치

- CPU에 있는 제어 장치에서 데이터 읽기/쓰기 동작을 수행하도록 제어신호 수신
  • 쓰기동작모드 : 입력장치나 보조기억장치에서 주기억장치로 입력정보 전달
    -> 기록회로 : 입력된 프로그램과 데이터를 임시로 저장했다가 프로그램 명령과 프로그램에서 사용될 데이터를 실제로 기억하는 기억소자로 구성된 기억매체에 전달

    -> 제어장치 : 데이터가 저장될 기억 소자의 주소를 번지 선택회로에 전달해 데이터가 저장될 기억 소자를 선택하도록 함


  • 읽기동작모드 : 제어장치 읽기 제어 신호를 발생시키고 인출될 정보가 저장된 기억 소자의 번지를 지정
    --> 해당 번지에 저장된 내용은 판독 회로에서 판독되어 외부로 유출

명령어 처리과정에서의 주기억장치

명령어 : 4단계 머신사이클 (인출-해독-실행-저장)
-> 시스템 클록에 의해 동기화

  • 필요한 명령어를 주기억장치에서 불러와, 마지막 저장 단계는 수행 결과를 주기억 장치에 저장
    -> 머신 사이클 중 두 단계를 거쳐 주기억장치에 읽기/쓰기 동작 수행
    -> 주기억장치의 주소 번지는 기억 장치 주소 레지스터를 통해 전달 & 주기억 장치와 버스 간 데이터는 기억 장치 버퍼 레지스터를 통해 전달

주기억장치와 레지스터

  • 인출과정 : 기억 장치 주소 레지스터가 지시하는 주기억장치의 주소 번지에서 데이터를 읽어와 기억 장치 버퍼 레지스터에 저장
  • 저장과정 : 기억 장치 주소 레지스터에 저장되어 있는 주소 번지에 해당하는 주기억 장치 위치에 기억장치 버퍼 레지스터에 저장되어 있는 데이터 저장

주기억 장치의 분할

  • 응용 프로그램 : 실행될 때만 주기억 장치에 저장되었다가 수행이 종료되면 다른 프로그램으로 대체 / 삭제, 전원꺼지면 삭제
  • 시스템 프로그램 : 컴퓨터가 구동을 시장해서 종료될 때까지 주기억 장치에 유지

시스템 프로그램 영역

  • 상주구역 : 언제라도 바로 실행 가능한 운영체제의 기본적인 기능과 자주 사용되는 프로그램이 기억되는 곳

  • 비상주구역 : 자주 사용되지 않는 프로그램을 필요할 때만 보조 기억 장치에서 인출해 저장했다가 처리가 끝나면 다른 프로그램이 다시 사용할 수 있는 구역

사용자 응용 프로그램 영역

일반 프로그램이 기억되는 곳으로 시스템 프로그램의 제어에 의해 동작
여러 부분으로 분할하고 독립된 프로그램을 기억시켜 다중 프로그래밍 방식으로 동작가능
& 운영체제가 사용자 응용 프로그램 각각의 독립된 영역을 보호하는 기억 보호를 수행


주기억 장치는 고가이므로 용량에 제한이 있음

단일 사용자 할당 기법

운영체제가 차지하는 부분을 제외한 나머지 기억공간을 한 사용자 응용 프로그램이 독점 사용하는 방식

  • 장점
1.사용자에게 최대한 융통성 제공

2.최대의 단순성과 최소의 비용만족

3.특별한 하드웨어 필요x, 운영체제 소프트웨어 필요x
  • 단점
1.사용자가 사용하는 부분 이외는 낭비

2.입력과 출력을 수행하는 동안 주기억 장치 내 프로그램이 CPU를 계속 쓸 수 없어 활용도 낮음

3.프로그램이 주기억 장치의 용량보다 크면 실행하기 어려움

고정 분할 할당 기법

각 응용프로그램에 동일한 크기의 분할된 구역을 고정 할당하는 방식

  • 장점
1.한 프로그램을 적재하고 남은 공간에 다른 프로그램을 적재해 실행하므로 프로세서와 기억 장치 같은 자원의 활용도가 크게 향상

2.동시에 여러 프로그램을 주기억장치에 적재해 실행하는 다중 프로그래밍 기법 가능
  • 단점
1.할당되는 저장공간이 작고 저장될 프로그램이 큰 경우, 프로그램이 작은 단위로 쪼개지는 단편화 문제 발생

2.프로그램과 할당된 분할 구역의 크기가 일치하지 않으면 남는 공간 발생

가변 분할 할당 기법

단편화를 해결하기 위해 각 작업에 필요한 만큼의 공간만을 할당하는 방식.
구역을 미리 일정한 크기로 분할하는 것이 아닌, 주기억장치에 들어오는 새로운 프로그램의 크기에 맞게 기억공간을 가변적으로 분할해 프로그램에 맞는 공간 할당

  • 장점
1.기억 장소에 분산된 공간을 한곳에 모아 사용 가능한 큰 영역을 만듦으로써 낭비를 줄일 수 있음
  • 단점
1.기억 장소를 집약하는 동안 전체 시스템은 수행중이던 작업을 일단 중지해야 하며, 집약하는 데 많은 시간이 소모됨

2.수행중이던 프로그램과 데이터를 주기억 장치 내 다른 장소로 이동하기 때문에 각각의 위치 및 이와 관련된 내용을 수정해야 함

주기억 장치의 종류

자기 코어 기억 장치

  • 초기에 많이 사용되었던 임의접근 컴퓨터 기억장치

  • 링 모양이며, Ferrite의 자성물질로 제작되어 자화가 쉬움

  • 한 번 자화되면 외부 영향이 없는 한 그 상태를 계속 유지(비휘발성)

  • 자기 코어 중앙에는 선 X, Y, Z, S 관통

반도체 기억 장치

  • 디지털 시스템의 프로그램이나 데이터를 저장하는 주기억 장치에 널리 사용됨

  • 대부분의 반도체 기억장치는 저장 위치에 상관 없이 같은 시간에 접근이 가능한 RAM 형태

  • 휘발성인 RAM과 비휘발성인 ROM으로 구분

  • 반도체 기억장치 칩에는 제어 신호 단자, 레지스터, 주소 레지스터 위치

  • 쓰기동작 : 기억장치에 데이터를 저장하는 것으로, 1바이트의 데이터를 기억장치에 저장하는 과정

  • 읽기동작 : 기억장치에 저장되어 있는 데이터를 인출해 이를 요구한 장치로 전달하며, 1바이트의 데이터를 지정된 주소 위치에서 읽는 과정을 보여줌



#3 RAM과 ROM

임의 접근 기억 장치

RAM

  • 크기가 작고, 신뢰성 높으며, 성능이 우수하며, 소비전력이 적기 때문에 '주기억 장치'로 사용됨
  • CPU의 처리속도는 빠르지만 보조 기억 장치의 처리속도는 느릭 때문에 속도차이를 극복하기 위해 보조기억장치보다 속도가 빠른 RAM을 중간에 놓는다.
  • 주 회로기판의 소켓에 저장

주요 데이터를 보조 기억 장치인 하드디스크에서 가져와 저장했다가, CPU에 필요한 데이터를 빠르게 제공하고, CPU에서 출력된 데이터를 빠르게 저장하고 있다가 최종적으로 하드디스크에 전달


- 선택된 주소의 데이터를 언제나 쉽게 읽고 쓸 수 있음 --> RAM에 데이터를 기록하면 이전에 저장되어 있던 데이터가 지워지고 새로운 데이터 저장됨 --> 언재든 수정 가능 - 전원 공급이 끊기면 저장된 데이터가 모두 삭제되기 때문에 데이터를 짧은 시간 동안 저장하는 장소로 사용 - 언제 어디서나 기억장치의 특정 장소에 접근 가능
**저장된 모든 데이터에 접근하는 데 소요되는 시간이 이전 접근 순서와 무관하게 항상 일정**

DRAM(동적 RAM)

  • 충전기 Capacity에 전하를 저장하는 방식으로, 2진 데이터를 저장한다.
    --> 소비가 적고 단이 메모리 칩에 더 많은 정보를 저장가능하지만, 충전기의 방전 현상으로 인한 정보의 손실을 막기 위해 '재충전 회로'가 필요
  • 충전기에 전하가 존재하는지에 따라 2진수의 1과 0을 구분하여 저장한다.
  • SRAM보다 구조가 간단
  • 전력 소모가 적고 가격이 낮아 대용량 기억 장치에 많이 사용됨
  • 1비트를 구성하는 데 트랜지스터 1개의 커패시티 1개가 필요해 고밀도 집적에 유리

  • 실질적인 2진 데이터가 저장되는 충전기는 커패시터이며, 입력단자로 행 입력과 열 입력이 존재
  • 커패시티가 여러개인 경우 행 입력과 열 입력의 조합으로 정확한 저장 위치 지정 가능


SRAM(정적 RAM)

  • 플립플롭 방식의 기억 소자를 가진 RAM, 전원이 공급되는 한 저장된 내용을 계속 기억하며 DRAM과 달리 복잡한 재싱 클록이 필요 없다.
  • MOS FET 4~6개로 된 플립플롭 기억 소자로 구성되므로 집적밀도가 높아 가격이 비싸며, 소용량 저장장치에 사용됨
  • DRAM보다 처리 속도가 5배정도 빨라 캐시 기억 장치에 주로 사용됨


칩 조직

RAM과 같은 반도체 기억장치는 하나의 집적회로 칩으로 제공되며, 이 칩에는 기억 소자의 배열이 포함
반도체 기억장치를 설계할 때 한 번에 읽고 쓸 수 있는 데이터의 비트 수는 중요한 고려 사항
기억소자의 배열이 B개의 비트로 이루어진 W개의 워드로 구성되었다면 WxB비트로 나타냄

  • 1Mx16비트 : 16비트로 이루어진 1M개의 워드로 구성
  • 16Mx1비트 : 1비트로 이루어진 16M개의 워드로 구성(칩 1개당 1비트로 조직됨)

칩 패키징

신호의 입력과 출력을 위한 연결 핀이 포함되어 있으며, 데이터 핀, 전원공급 핀, 접지 핀, 칩 선택 핀 포함


읽기 전용 기억 장치

ROM은 저장된 명령이나 데이터를 읽기만 할 수 있는 기억 장치로, 데이터를 추가하거나 재기록하는 쓰기 동작을 하기 어렵거나 불가능하지만 전원 공급이 끊겨도 저장된 데이터를 유지할 수 있어 비휘발성 기억장치로 분류됨.
컴퓨터 시스템은 전원을 켜면 내장 메모리를 체크하거나 주변 장치를 초기화하는데, 이와 같은 일을 수행하려면 전원을 끄더라도 내용이 지워지지 않는 기억장치가 필요하므로 ROM을 사용함
또한 시스템 동작에 쓰이는 표, 변환, 명령어 프로그램 등 반복적으로 사용하는 데이터를 저장하는 데 이용됨

ROM의 구성

  • 주소를 입력해 데이터를 읽을 위치를 결정하는 주소 디코더와 기억 장치의 배열과 연결되어 있음
  • ROM의 경우 플립플롭 대신 OR 게이트의 연결 게이트의 연결 관계를 통해 기억 장치의 배열을 형성
  • 쓰기 동작이 없기 때문에 입력단자가 존재하지 않음

ROM의 종류

반도체 기억 장치를 만드는 데 사용되는 소자에 따라 트랜지스터-트랜지스터 논리의 바이폴라 ROM과 금속 산화막 반도체 ROM으로 구분가능
제조상 ROM의 분류는 Mask ROM과 PROM은 바이폴라형과 MOS형이 있음

Mask ROM

  • 내용 변경이 불가능해 동일한 정보의 ROM을 생산할 때는 경제적임
  • 데이터의 내용을 변경하고자 할 때, 다시 제작해야 하므로 비용 상승을 유발할 수 있음

PROM

  • 기본 개념이 ROM과 같지만 사용자가 PROM 라이터 장비로 필요한 논리 기능을 직접 기록 가능
  • 최초의 PROM은 1회에 한해 새로운 내용으로 변경 가능했으나 한 번 기록한 내용은 삭제 불가능
  • ROM을 구성하는 모듈의 각 비트가 퓨즈이기 때문에 한 번 썼다가 수정하면 퓨즈가 끊어져 데이터가 지워짐

EPROM

  • 필요할 때마다 기억된 내용을 지우고 새로운 내용을 기록할 수 있는 ROM
  • 저장된 데이터를 삭제하는 방법에 따라 UVEPROM, EEPROM을 구분됨

플래시 기억장치

  • EEPROM의 한 종류이지만 EEPROM과 달리 데이터를 블록 단위로 입력가능
  • 읽기와 쓰기 동작이 자유로워 RAM과 ROM 중간에 위치
  • 하드디스크 대용으로 사용
  • 읽고 쓸 수 있으나 RAM 대용으로 사용불가
  • 데이터를 10만~100만 번 이상 쓰기를 한 후에는 더 이상 사용불가

#4 기억 장치의 확장

기억 장치의 확장 방법

  • 워드의 수는 그대로 유지하고 길이를 확장하는 방법 존재
  • 워드의 길이는 그대로 유지하고 수를 증가사켜 확장하는 방법 존재
  • 원하는 워드의 용량 및 길이를 얻기 위해 몇 개의 기억 장치 칩을 조합할 때 주변 장치가 기억장치를 적절하게 활용가능

워드 길이의 확장

  • 기억 장치 칩의 주소 버스와 제어 버스에 공통 신호를 사용하고 여러 워드를 순차적으로 연결하면 워드 용량을 유지하면서 워드 길이를 확장 가능

워드 용량의 확장

  • 기억 장치의 칩 선택 신호는 제어 버스를 통해 공통으로 연결되고, 각 기억장치 칩의 선택으로 주소를 확장하고 워드 용량을 확장할 수 있음
profile
그래도 해야지

0개의 댓글