본문 바로가기
CS/컴퓨터구조

기억장치

by chogigang 2023. 12. 1.

현대의 컴퓨터는 1946년 폰 노이만이 제안한 프로그램 내장 방식을 채택하고 있으며 컴퓨터는 일반적인 기계들과는 달리 기억장치를 가지고 있습니다.

기억 장치는 처리할 프로그램과 데이터를 기억하거나 또는 처리한 후의 결과를 기억하는 장치로서 크게 내부 기억장치 외부 기억장치로 나눌 수 있습니다.   기억 장치의 특성을 결정하는 요소로는 기억 용량, 액세스 또는 사이클 타임, 단위 기억 용량당의 가격 등을 들 수 있습니다.

 

 

 

처음부터 요약을 하고 시작을 하자면

 

 

주 기억장치

1.Rom

Mask-Rom , PRom , EPRom , EERom

2.RAM

DRAM, SRAM

3. 자기 코어

 

보조 기억장치

HDD, SSD, USB, Floppy disk, CD-Rom

 

 여기서 추가적으로 주 기억장치와 보조기억 장치의 차이점 그리고 예외인 것을 요약을 하자면 

 

 

 

1.Access 방식

1. Random Access(임의접근 메모리) : IC

2. sequential Access(순차 접근 메모리 ) : 자가 테이프

 

2. 휘발성인가 비 휘발성인가

1. 주기억장치   => 휘발성 대표적으로 RAM     예외적으로 ROM은 휘발성이 아닌 비휘발성입니다.

 

2. 비휘발성   => 예외적으로 ROM  , 보조기억장치들 (SSD, HDD 등등 )

 

3. 파괴 및 비파괴

 

위 휘발성, 비휘발성과 비슷합니다

1. 파괴적 기억 장치 : 데이터를 읽으면 해당 데이터를 파괴하고 파괴된 데이터를 복원하는 과정이 필요(ex. 자기 코어, FRAM)

2. 비파괴적 기억 장치 : 데이터를 읽어도 영향을 주지 않음(ex. 반도체 기억 장치, 자기-표면 기억 장치, 광저장 장치)

     비파괴는 RestorationTime(복원시간)을 0으로 계산합니다. 

 

 

이렇게 해서 예를 들어 주 기억장치 인 RAM은  Access 방식은 Random 방식이면서 휘발성이고 파괴적 기억 장치이며
 ROM 비휘발성 인 예외적인 주기억 장치이며 Sequential Access (순차 접근)  , 이며 비파괴입니다.

SSD는  보조기억 장치이며 Random Access를 사용하며 휘발성이며, 파괴적 기억장치입니다

 

 

 

 

 

 

내부 기억장치와 외부 기억장치

내부 기억장치는 cpu 명령의 실행 과정에서 정보를 직접 액세스 할 필요가 있는 기억장치로서 주기적 장소, 산술 논리 및 제어 기억 장소, 펌웨어 메모리, 버퍼 메모리 등이 있습니다

 

 

1. 주기억 장소

 

주기억장치는 워드(word), 바이트(byte) 단위로 번지(address)를 붙여서 read/write 하므로 주로 현재 처리 중인 데이터와 프로그램을 격납하는데 사용되는 장치로서 입력장치에서 데이터를 받는 입력메모리, 프로그램명령어를 담고 있는 프로그램 메모리, 출력장치로 나갈 정보를 담고 있는 출력 메모리, 중간 처리된 결과는 물론 처리되고 있는 정보를 갖고 있는 작업 메모리(working memory)로 세분할 수 있습니다.

 

2. 산술 논리 및 제어 기억장소

 

cpu의 내부에는 고속의 레지스터로 된 산술 논리저장 장치와 제어 레지스터, ROM으로 된 제어 기억 장치가 있으며 레지스터는 산술 논리저장 장치가 동작 중일 때 각각의 명령어나 데이터를 임시로 기억하는 곳이며    , 범용 레지스터는  특수한 기능만 수행하는 레지스터입니다.

 

3. 펌웨어 메모리

고체 상태 소프트웨어 라고 하며 반도체 롬 속에 영원히 내장하는 특별한 기억 회로를 가지고 있으며 전원이 차단되어도 그 내용이 지워지지 않습니다.  ROM으로 된 펌웨어는 계속해서 많은 하드웨어와 소프트웨어의 기능을 대신할 수가 있으며 특수한 일을 수행하기 위해 설계된 논리 회로들은 메모리 회로에 저장된 프로그램으로 대신할 수 있을 것입니다

반면 보조기억장치나 외부 기억장치 상에 있는 데이터는 처리되기 전에 주기억 장치로 읽혀져 들어와야 합니다. 보조 기억장치는 주기억장치의 용량 부족을 보충하는 기억으로 주기억장치와 같이 언제나 중앙처리장치의 제어를 받고 있어 필요에 따라 그것에 기억도어 있는 데이터를 읽어 내거나 또한 새로이 기억시킬 수 있으나 주기억장치로 옮겨지지 않으면 처리가 안됩니다.

일반적으로 주기억장치보다 가격이 저렴하고 용량은 크지만 데이터의 전송 속도가 느립니다. 

 

 

 

액세스 방법의 의한 분류

순차적 액세스 기억장치

기억장치에 저장된 정보들을 처음부터 순서대로 액세스 합니다.

자기 테이프(magnetic tape) 저장장치가 이 방식을 이용하는데

저장되는 모든 정보는 테이프의 처음 위치에서 시작하여 연속적으로 위치하게 됩니다.

그 내용들은 내부적으로 레코드라고 불리는 정보 단위로 분리되어 저장되고, 레코드는 고유의 주소를 갖습니다.

테이프 전체 내용을 읽고 쓰는 경우는 처음부터 시작하면 됩니다만, 테이프 내 임의의 위치에 저장된 특정 정보를 읽기 위해서는 그 위치에 도달할 때까지 앞부분의 테이프를 모두 통과해야 합니다.

따라서 정보가 저장된 위치에 따라 액세스 시간이 달라집니다.

 

랜덤 액세스 기억장치

반도체 메모리나 자기 코어 같은 주기억 매체는 직접 접근(direct access)또는 랜덤 접근(random access) 메모리라고 합니다 이 기억장치는 번지를 붙인 기억 내용에 번지를 저장함으로써 직접 read/write가 가능한 장치입니다. 특히 자기 디스크와 같은 랜덤 기억장치를 직접 접근 기억장치(DASD:direct Asscess Storage)라고 합니다

 

색인 순차 액세스 기억장치

순차와 랜덤의 중간 방식입니다. 데이터의 각 부분 하나하나 인덱스(index)를 붙여 이 인덱스에 따라 호출합니다. 자기 디스크나, 자기 드럼이 이 방식을 취하고 있습니다.

 

연관 기억장치(asscociative memory unit.  , 키워드로 주소값을 찾아감.)

기억된 정보의 일부분을 이용하여 원하는 정보가 기억된 위치를 알아낸 후 접근하는 기억 장치입니다.

 

 

가격

액세스 하기 위한 주변 회로의 가격을 포함한 비트당 가격으로 평가합니다.

 

 

 액세스 시간(access time)

호출 시간이라도 하며 제어장치가 정보의 전송을 요구를 메모리에 요구한 후부터 전송이 실제로 개시할 때까지의 시간 즉 메모리 내의 데이터에 도달하여 그 내용을 얻는데 요구하는 평균 시간을 의미합니다.   전기 기계식 장치에서 액세스 시간은 읽기 기록(read-write) 헤드가 지정된 기억 장소에 도달하는데 요구되는 시크타임(seek time)과 데이터를 장치 내로 또는 밖으로 전송하는데 요구되는 전송 시간(transfer time)으로 나눌 수 있습니다.

 

사이클 시간

주 메모리에 있어서 읽거나 쓰는 동작을 시작하면서부터 이들 동작이 완료될 때까지의 시간을 말한다

 

 

기억장치의 계층 

 

 

 

주기억 장치

주기억 장치는 컴퓨터 내부에 위치하며 프로그램과 데이터를 내장하고 연산 및 제어장치에 의해서 직접 제어되기 때문에 보조기억장치에 비해서 데이터의 전송 속도가 빠릅니다. 그러나 기억 용량이 적으므로 보조기억장치를 필히 같이 사용합니다

제1세대 컴퓨터의 주기억 소자로서 보통 자기 드럼(magnetic drum)을 사용했고 제2세대 이후에는 자기 코어(magnetic core)를 사용했지만 요즘은 반도체 메모리(semiconductor memory)를 널리 사용하고 있습니다

 

주기억장치의  데이터 단위 

기억 공간에는 연속된 번호가 붙어 있어 이 번호로 데이터를 액세스 할 수 있으며 보통 이 번호를 주소(address)라고 하며 프로그램의 명령어와 데이터의 위치를 알려줍니다 주기억 장치에서 취급하는 데이터의 단위로는 바이트(byte), 워드(word)가 있으며 보통 8비트의 데이터 단위로 이루어집니다.

 

한편 컴퓨터는 1 명령어로서 1회만 처리할 수 있는 데이터의 단위 바이트, 워드 등을 기본 단위로 하는데 여기에는 고정 길이 단위와 가변길이 단위가 있습니다   

고정길이 단위는 데이터의 길이가 고정되어 있으며 워드(word)를 기본 단위로 하며 하프 워드(half word), 풀 워드(full word), 더블워드(double word)를사용 합니다. 보통 2진 수치를 표현하는 것을 널리 쓰이고 흔히 대형 컴퓨터의 경우 이 고정 길이 워드를 채택하고 있습니다.    주로 플립플롭 회로로 되어 있습니다

 

 

 

 

 

 

 

 

 

기억부

2차원의 테이블 혹은 행렬(matrix)로 구성되어 있으며 어드레스 신호의 상위 어드레스부와 하위 어드레스부에서 지정되어 양쪽의 어드레스 신호가 일치한 메모리 쉘이 선택되도록 되어 있습니다. 

 

해독기 

상위 어드레스부와 하위 어드레스부의 해독기로 구성되어 있으며, 어드레스신호를 해독하여 어드레스 선택 신호를 상위 어드레스부와 하위 어드레스부에서 기억부로 보내는 기능을 갖고 있습니다. 보내어진 신호에 의해 원하는 어드레스의 메모리 셀이 선택됩니다.

 

제어부

선택된 메모리 셀은 제어부에서의 R/W 신호에 따라 정보를 읽을 것인가, 써넣을 것인가 결정됩니다. 단지 롬(ROOM)은 읽기만 하기 때문에 이신호는 필요가 없습니다. 제어부는 칩선택의 기능도 갖고 있습니다. 메모리의 구성은 칩 속에 구성되는데  이 메모리 칩의 어드레스 신호선과 데이터 신호선, IC의 기억 용량과 상호 관계를 식으로 표현하면 다음과 같습니다.

 

 

 

반도체 메모리

플립플롭 회로를 실리콘 칩 속에 고밀도로 집적(ic)화한 것으로 바이폴러형과  MOS 형이 있습니다

 

바이폴리형 :

트랜지스터로 구성된 플립플롭 회로를 IC화한 것으로 스테틱형이 일반적입니다. 임의의 시점에서 판독이 가능하며 주로 레지스터, 펌웨어 메모리, 버퍼 메모리 등의 소용량, 고속 메모리에 적합합니다.

MOS 형:

 금속 산화물 반도체 트랜지스터로 구성된 플립플롭 회로를 IC화한 스태틱 MOS형과 미소한 콘덴서에 전하를 축적함과 방전함에 따라 정보를 기억 유지시키는 다이내믹 MOS형이 있습니다. 

 

 

 

 

일반적으로 반도체 메모리는 전원이 단절되면 저장하고 있던 모든 내용이 소멸됩니다. 저장된 내용을 계속 유지하려면 외부의 전원이 필요하므로 여기서 RAM과 같은 반도체 메모리를 휘발성 메모리라고 하고 ROM, 자기 코어 자가 디스크와 같은 비휘발성 메모리는 저 원이 단절되어도 계속 정보가 저장됩니다. 

 

 

RAM

임의의 기억 장소에 사용자가 작성한 프로그램이나 데이터를 저장시킬 수 있고 또 프로그램을 실행시키고 싶을 때 그 내용을 읽어 낼 뿐만 아니라 자유로이 변경시킬 수도 있는 기억장치를 말하며 RWM이라고 부르기도 합니다.

 

RAM MOS 플립플롭의 조합으로 거성 된 SRAM과 콘덴서에서 전하를 충전시켜서 정보를 기억시키는 DRAM이 잇습니다. 

SRAM은 플립플롭으로 구성되어 있기 때문에 사용하기 쉬운 장점이 있습니다. 전원을 끄지 않는 한 램의 내용을 그대로 유지합니다

 

 

DRAM

컨덴서 회로로 구성

SRAM에 비해 느립니다

단위 면적당 집적도는 SRAM보다 큽니다

재생(Refresh) 전원이 필요합니다

 

 

SRAM

flip-flop 회로

DRAM보다 빠릅니다

단위 면적당 집적도가 RAM보다 적습니다

재생 전원이 필요 없습니다.

 

 

ROM

Read only Memory   

데이터를 읽기만 하는 메모리로서 내용을 변경할 수도 없고 전원을 끊어도 내용이 소멸되지 않는 기능을 가지고 있습니다. 

 

Mask_ROM =제조 시에 데이터 기록

 

PRom(programable-Rom):

1. 생산 시에는 비어 있습니다

2. 자외선을 이용하여 새로운 내용을 기억

3.1회에 한하여 기록 

 

EPRom(Erasable and Programm-able Read Only Memory)

기록된 내용을 자외선을 이용하여 지울 수 있습니다

새로운 내용을 자외선을 이용하여 기록할 수 있습니다.

 

EEPROM(ElectricallyErasable PROM)

전기적 신호를 사용합니다. 

 

주기억 장치의 기능 

액세스 타임(access time)

기억장치가 판독(read) 신호를 받은 시간부터 읽은 데이터가 출력할 때까지의 시간

 

복원 시간(restoration time)

기억장치에서 판독할 경우 정보가 파괴되는 파괴적 메모리에서 읽어낸 정보를 다시 재 저장하는 데 걸리는 시간 

 

사이클 타임(cycle time)

액세스 타임과 복원 시간을 합친 시간     파괴적 메모리에서는 사이클 타임과 액세스 타임이 같습니다

 

 

보조기억장치와 주변장치

자기 디스크장치 

 

 

 

 

트랙(track)

디스크 드라이버에서 사용되는 엑세스 암은 디스크 기록면의 수많은 다른 위치 즉 트랙(track)에 놓일 수 있으며 디스크가 빠르게 회전되기 때문에 엑세스 암에 있는 헤드들은 디스크의 동심원상에 기록된 자료들을 자유로이 읽어낼 수 있습니다.

 

실린더(cylinder)

디스크 각 기록 표면의 동심원을 이루고 있는 원형의 기록 위치를 트랙이라 하며 디스크의 중심축으로부터 동일한 거리에 위치하고 있는 트랙의 모임을 실린더라고 합니다.   디스크의 존재하는 트랙수와 팩의 실린더 수는 동일하며 하나의 디스크에 200개의 트랙이 존재한다면 실린더수도 200개이다. 

 

ex  )

디스크수 X2. -2

디스크가 6개면

정보 저장은 10개 가 됩니다

가장 윗면, 가장 아랫면은 정보를 저장하지 않습니다.

 

데이터의 기억과 탐색 

탐색시간 

실린더에 저장된 데이터를 찾기 위하여 레코드의 위치까지 도달하는 데 걸리는 시간

회전 지연 시간 

헤드가 위치한 후 찾고자 하는 데이터 레코드의 기록 부분이 헤드 아래까지 오는 데 걸리는 시간

 

데이터의 전송

데이터의 전송을 위하여 걸리는 시간

 

 

플로피 디스크

플라스틱으로 만들어져 있으며 한 장으로 된 얇은 원판으로서 재킷 속에 들어 있습니다. 일면 디스켓이라 하며 디스크 드라이버에 의해 판독 기록 합니다.

 

하드 디스크

금속판에 자성 물질을 입혀서 여러 장 쌓아놓은 모양으로 그 재질이 딱딱한 금속판으로 되어 있기 때문에 하드 디스크라는 이름이 붙여졌습니다 플로피 디스크와는 달리 여러 개의 고정된 디스크가 영구적으로 설치되어 먼지나 외부의 물질 등으로부터 손상될 염려가 없게 되어 있습니다. 고정 디스크 또는 내장 디스크라고 부르기도 합니다.

 

 

광 디스크 

레이저 광선을 사용해서 데이터를 읽고 쓰는 장치 광메모리 레이저 디스크라고 하고 CD-ROM에 대표되는 출력 전용형 광디스크와 추기형 광디스크, 광자기 디스크에 대표되는 고쳐쓰기형 광디스크의 3종류가 있습니다.

 

 

 

읽기 전용 CD-ROM

IC 메모리 ROM과 같아서 내용을 읽어내는 것만 가능합니다 공장에서 출하할 때에 씌어져 있는 데이터는 고쳐 쓸 수 없으며 1비트의 데이터를 알루미늄판 표면으로 피트라고 불리는 들어간 경사로 나타내고 피트에 닿은 레이저 광선의 반사방법으로 1인가 0인가를 식별합니다.

 

 

 

자기 드럼 장치

개발초기에는 주로 주기억장치로 사용되었지만 요즘은 보조기억장치로 사용되고 있으며 자가 드럼은 자기 코어에 비해서 속도가 느리고 값이 비싸며 부피가 큽니다. 또한 코어는 즉시 판독을 하지만 드럼은 반복적입니다. 그리고 코어는 하나하나 기억 셀 로 되오 있지만 드럼은 큰 기억 면적을 차지하는 장치이며 현재는 거의 이용되지 않고 있습니다.

 

 

 

캐시 기억장치

 

컴퓨터 본체 중에서는 cpu의 연산 속도에 비해서 주기억장치의 읽기 쓰기 속도가 느린 셈입니다. cpu를 구성하는 회로의 양이 비교적 적으므로 고속의 회로를 사용할 수 있는 데 비해서 메모리 쪽은 막대한 양의 회로가 필요하므로 느려도 염가인 회로를 사용할 수밖에 없기 때문입니다. 어떤 어드레스의 데이터를 읽고자 할 때 그 어드레스 전후의 수십 단어를 한꺼번에 주기억장치로부터 꺼내서 캐시 메모리에 기억하도록 되어 있으며 따라서 그 후 한참 동안 CPU는 캐시 메모리 안의 데이터에 액세스 하면 되므로 고속 처리가 가능하게 됩니다.

 

 

 

 

 

연관 기억장치

 

여러 개의 자료 중에서 주어진 특성을 가진 자료들이 기억된 위치를 알아내기 위하여 메모리를 구성하는 모든 단자들을 동시에 한 비트씩 병렬로 특정한 비트의 조합으로 주어진 특성과 비교하기 때문에   주소에 의해서만 접근할 수 있는 메모리보다 훨씬 빠릅니다.  하지만 RAM보다 비용이 더 많이 듭니다.

'CS > 컴퓨터구조' 카테고리의 다른 글

입출력 시스템과 입출력장치  (0) 2023.12.06
제어 장치  (0) 2023.11.17
중앙 처리장치(CPU)  (0) 2023.11.10
정수의 산술 연산  (1) 2023.11.03
음수의 표현  (0) 2023.10.28