컴퓨터 하드웨어 기억장치

기억 장치

  • 입력 장치에서 읽어 들인 숫자, 문자, 각종 기호 등의 자료들을 저장하는 장치로 주기억 장치와 보조 기억 장치로 나누어진다.

1) 주기억 장치(main memory unit)

  • 컴퓨터 중앙 처리 장치(CPU)에 위치하며 실행하고자 하는 프로그램이나 자료를 기억시키는 장치

2) 보조 기억 장치(auxiliary storage unit)

  • 주변 장치로서(CPU에 속하지 않음!) 주기억 장치에 필요한 프로그램이나 자료를 보낼 수 있고, 처리된 자료 또는 개발된 프로그램 등을 저장할 수 있다.

3) 기억 장치에서 사용되는 단위

  • 최소 단위는 비트(bit : binary digit)이다.
  • 8개의 비트가 모이면 1바이트가 된다.
  • 1바이트는 영문자 1개를 기억하며 한글 1문자를 저장하는 데엔 2바이트가 필요하다.
  • 1킬로 바이트(KB)는 1,024바이트로 구성되며, 1메가 바이트(MB)는 1,024킬로 바이트이고, 1기가 바이트(GB)는 1,024메가 바이트가 된다.

  • 메모리 셀(memory cell)
    • **한 소자나 전기회로가 하나의 비트를 저장**하는 데 사용된다.
    • (0 또는 1) 플립플롭, 충전된 커패시터, 자기테이프 또는 디스크 등을 예로 들 수 있다.

  • 메모리 워드(memory word)
    • 메모리에 있는 비트는 몇 가지 형태의 명령이나 데이터로 표현된다.
    • 예를 들면, 8개의 플립플롭으로 구성된 레지스터는 8비트 워드로 저장되는 메모리로 생각할 수 있다.
    • 워드의 용량은 보통 4~8바이트 사이이다.

  • 바이트(byte)
    • 8비트 워드에 대해 사용되는 용어이다.
    • 항상 8비트로 구성된다.
    • 마이크로컴퓨터에서 가장 일반적인 워드 크기이다.

  • 용량(capacity)
    • 비트들을 저장할 수 있는 공간
    • 메모리에 있어 워드수는 대개 1024의 곱이다.
    • 우리가 흔히 보는 하드 용량 몇 GB는 2^10(1,024), 2^20(1,048), … 와 같이 딱 나눠 떨어지는 10의 배수가 아닌 2의 거듭제곱들이다.

주기억 장치

1) 주기억 장치의 구성

  • 주기억 장치는 수많은 바이트로 구성된다.
  • 입력 장치를 통하여 읽어 들은 자료는 1과 0의 상태가 모아져 바이트 단위로 구성되며 순서에 따라 특정한 장소에 저장된다.
  • 자료를 저장하거나 저장된 자료를 읽기 위하여 각 기억 장소는 고유한 주소를 갖는다.
    main_memory_unit

  • 기억부
    • 주어진 프로그램이나 데이터를 기억해 두는 2진 기억 소자(memory cell)들이 2차원 행렬(matrix)로 구성되어 있다.

  • 메모리 주소 레지스터(MAR : Memory Address Register)
    • 프로그램이나 데이터를 입출력하기 위한 번지를 가지고 있다.

  • 메모리 버퍼 레지스터(MBR : Memory Buffer Register)
    • 입출력하고자 하는 프로그램이나 데이터를 임시 보관하는 레지스터

  • 번지 선택 회로
    • MAR(메모리 주소 레지스터)에 의하여 기억 장소를 선택하는 회로

  • 제어 회로
    • 기억 장치에 저장하라는 Write 신호와 기억 장치로부터 읽어내리는 Read 신호를 발생시키는 회로
    • 칩이나 모듈 개념으로 여러개로 나누어 구성될 경우 칩 선택 신호나 메모리 모듈 선택 신호가 필요하다.

2) 기억 장치에 저장하는 외부 동작의 순서

  1. 기억 장치의 위치(번지)를 MAR(메모리 주소 레지스터)에 넣는다.
  2. 프로그램이나 데이터의 비트를 MBR(메모리 버퍼 레지스터)에 넣는다.
  3. 입력 신호로 MBR(메모리 버퍼 레지스터)의 내용이 메모리에 저장된다.

3) 기억 장치로부터 읽어낼 때 외부 동작 순서

  1. 읽어내려는 프로그램이나 데이터 번지를 MAR에 넣은 후 출력신호를 준다.
  2. 메모리의 해당 내용이 MBR로 옮겨져 외부로 출력하게 된다.

4) 어드레스(Address)

  • 메모리에서 한 워드의 위치를 식별하는 주소(숫자)
  • 메모리소자 또는 시스템에 저장된 각 워드는 고유의 주소를 갖는다.
  • 주소는 보통 2진수, 8진수, 16진수로 표현되고, 편의를 위해 10진수로 표현되기도 한다.
  • 메모리에 있는 특정 워드의 위치를 언급할 때마다 그것을 식별하기 위해서 그 위치의 주소코드를 사용한다.

!모든 프로그램은 주기억 장치에서만 실행된다!

  • 그래서 주기억 장치(RAM)의 용량이 클수록 더 많은 정보를 기억하고 실행할 수 있기 때문에 비싸다.