Download presentation
Presentation is loading. Please wait.
1
7 주기억장치 IT CookBook, 컴퓨터 구조와 원리 2.0
2
학습목표 기억장치의 성능과 구조를 이해한다. RAM을 분류해보고 동작원리를 학습한다. ROM에 대한 의미와 분류를 공부한다.
기억장치를 확장하는 설계 기법을 알아본다.
3
목 차 기억장치의 개요 주기억장치의 이해 임의 접근 기억장치와 읽기 전용 기억장치 기억장치의 확장
4
01 기억장치의 개요 기억장치는 주기억장치와 보조기억장치로 구분 주기억장치(main memory)
중앙처리장치(CPU, Central Processor Unit)와 접근 통신이 가능한 기억장치다. 보조기억장치(auxiliary memory) 현재는 필요하지 않은 프로그램이나 데이터를 저장하고 있다가 데이터나 프로그램을 요구하는 경우 주기억장치로 데이터를 전달하는 저장장치다.
5
01 기억장치의 개요 주회로기판에서 기억장치의 위치와 종류
6
01 기억장치의 개요 기억장치의 성능과 계층구조 기억장치의 성능 평가 요소
기억장치의 성능을 평가하는 대표적인 요소에는 기억용량, 접근 시간, 사이클 시간, 기억장치의 대역폭, 데이터 전송률, 가격이 있다. 기억 용량(Capacity) 기억 용량의 단위는 비트(bit)를 기본으로 하며, 바이트(byte, 1byte = 8bit), 단어(word)가 있다. 접근 시간(Access Time) 기억장치에 저장된 데이터를 읽거나 새로운 데이터를 기록하는 데 걸리는 시간이다. 사이클 시간(Cycle time) 연속적으로 기억장치에 접근을 할 때, 두 번을 접근하데 요구되는 최소 시간이다. 반도체 기억장치와 같이 정보를 읽어도 기억장치에 정보가 그대로 남아 있는 비파괴 기억장치에서는 사이클 시간과 접근 시간은 동일하다. 자기 코어(magnetic core) 기억장치와 같은 파괴 기억장치는 정보를 읽어 내면 저장되었던 정보가 삭제되므로 읽기 위한 접근 시간과 정보를 다시 저장하기 위한 복원 시간을 합한 시간이 사이클 시간이 된다.
7
01 기억장치의 개요 기억장치의 대역폭(Bandwidth)
기억장치가 한 번에 전송할 수 있는 비트 수 또는 저장할 수 있는 비트 수를 기억장치의 대역폭이라고 한다. 데이터 전송률(Data Transportation) 기억장치에서 데이터를 읽는 과정을 수행할 때, 초(second)당 몇 비트의 데이터가 전송되어서 읽혀지는가를 나타낸 것이 데이터 전송률이다. 가격(Cost) 일반적으로 기억장치의 가격은 기억장치의 처리속도와 비례한다. 컴퓨터 내부에서는 CPU의 처리속도와 보조를 맞추기 위해서는 고가의 기억장치를 사용한다. 그러나 비용의 한계로 인해 대용량의 기억장치를 구비할 수 없다.
8
01 기억장치의 개요 기억장치의 계층적 구조 기억장치의 성능을 평가하는 요소들은 서로 상관관계를 가진다. 기억장치 계층구조
데이터의 읽고, 쓰기 속도를 향상시키기 위해서는 고가의 고속 기억장치가 필요하다. 많은 양의 데이터를 저장하기 위해서는 기억장치의 용량이 커져야 하지만 적정 비용을 위해서는 저가의 기억장치가 필요하다. 저가의 기억장치를 사용하면 기억장치의 접근속도는 그만큼 느려지게 된다. 기억장치 계층구조
9
01 기억장치의 개요 기억장치의 분류 기억장치의 제조 재료에 따른 유형 데이터를 저장하는 성질에 따른 유형
반도체 기억장치(semiconductor memory) : 반도체 물질인 실리콘(Si) 칩을 사용하여 기억장치를 설계한다. 자기-표면 기억장치(magnetic-surface memory) : 자화 물질로 코팅된 표면에 정보를 저장한다. 데이터를 저장하는 성질에 따른 유형 휘발성(volatile) 기억장치 일정한 시간이 지나거나 전원 공급이 중단되면 기억장치 내의 기록된 모든 데이터가 지워지는 저장장치다. 예) RAM 비 휘발성 (nonvolatile) 기억장치 전원 공급이 중단되더라도 기억장치 내의 데이터들은 지워지지 않는 저장장치다. 예) ROM, CD-ROM
10
01 기억장치의 개요 기억장치 접근 방법에 따른 유형 순차적 접근(Sequential Access)
기억장치에 데이터가 저장되는 순서에 따라 순차적으로 접근된다. 접근 시간은 원하는 데이터가 저장된 위치에 따라 결정된다. 자기 테이프가 순차적 접근을 하는 대표적인 장치다. 직접 접근(Direct Access) 기억장소 근처로 이동한 다음 순차적 검색을 통하여 최종적으로 원하는 데이터에 접근한다. 접근 시간은 원하는 데이터의 위치와 이전 접근위치에 따라 결정된다. 디스크가 직접 접근을 하는 대표적인 기억장치다. 임의 접근(Random Access) 저장된 모든 데이터에 접근하는데 소요되는 시간이 이전의 접근 순서와는 무관하게 항상 일정한 방식이다. 반도체 기억장치(RAM, ROM)가 임의 접근을 하는 대표적인 기억장치다.
11
02 주기억장치의 이해 중앙처리장치(CPU)와 주기억장치 간의 관계 주기억장치는 실행할 프로그램과 데이터를 저장한다.
중앙처리장치는 주기억장치에 저장된 프로그램에서 명령을 하나씩 제어장치로 꺼내서 해독한다. 제어장치는 해독된 결과로 제어신호를 만들어 각 장치로 전달하여 동작되도록 한다.
12
02 주기억장치의 이해 주기억장치의 구조와 동작 주기억장치의 구조
CPU내의 제어장치는 데이터를 읽거나 쓰기 동작을 수행하도록 제어신호 발생한다. 쓰기 동작 모드 입력장치나 보조기억장치에서 주기억장치로 입력정보가 전달된다. 기록회로 : 입력된 프로그램과 데이터를 임시적으로 저장하였다가 기억매체에 전달한다. 기억 매체 : 프로그램 명령과 프로그램에서 사용될 데이터를 실제로 기억하는 기억 소자들로 구성된다. 번지 선택 회로 : 데이터가 저장될 기억소자를 선택한다. 읽기 동작 모드 제어장치는 읽기 제어신호를 발생하고 인출될 정보가 저장된 기억소자의 위치를 지정 판독 회로는 해당 번지에 저장된 내용을 판독하고 외부로 출력하게 된다.
13
02 주기억장치의 이해 명령어 사이클에서 주기억장치의 동작 명령어 사이클 인출-해독-실행-저장의 4단계
인출(Fetch) 단계는 필요한 명령어를 주기억장치에서 불러오며, 저장(Store) 단계는 수행 결과를 주기억장치에 저장한다. 주기억장치와 레지스터의 관계 인출 과정에서는 MAR이 지시하는 주기억장치의 주소 번지에서 데이터를 읽어와서 MBR에 저장한다. 저장 과정에서는 MAR에 저장되어 있는 주소 번지에 해당하는 주기억장치 위치에 MBR에 저장되어 있는 데이터를 저장하게 된다.
14
02 주기억장치의 이해 주기억장치의 분할 주기억장치에 저장되는 프로그램은 응용 프로그램과 시스템 프로그램
응용 프로그램은 실행될 때만 주기억장치에 저장되었다가 수행이 종료되면 다른 프로그램으로 대체되거나 삭제된다. 그리고 전원이 꺼지면 해당 프로그램은 삭제된다. 시스템 프로그램은 컴퓨터가 구동되기 시작해서부터 종료될 때까지 주기억장치에 유지되어야 한다. 주기억장치의 분할 구조
15
02 주기억장치의 이해 주기억장치의 분할 구조 시스템 프로그램 영역 : 운영체제가 저장되는 곳으로 상주 구역과 비상 주 구역으로 분류 상주구역(resident area) : 언제라도 바로 실행 될 수 있는 운영체제의 기본적 기능과 자주 사용되는 프로그램들이 기억되는 곳이다. 비상주 구역(transient area) : 자주 사용되는 프로그램들이 아니고 필요할 때에만 보조기억장치에서 인출된 후, 저장되었다가 처리가 끝나면 다른 프로그램이 다시 그 장소를 사용 가능한 구역이다. 사용자 응용 프로그램 영역 : 일반 프로그램이 기억되는 곳이며, 시스템 프로그램의 제어에 의해서 동작한다. 여러 부분으로 분할하고 독립된 프로그램들을 기억시켜, 다중 프로그래밍 방식으로 동작하는 것을 가능하게 한다. 운영체제는 사용자 프로그램 각각의 독립된 영역을 보호해주는 기억 보호(storage protection)를 수행한다.
16
02 주기억장치의 이해 주기억장치 할당 방법 사용자 응용 프로그램 영역을 효율적으로 사용하기 위한 고려사항
주기억장치에 한 번에 몇 개의 프로그램을 적재할 것인가? 한 개의 프로그램만 가능할 수도 있고 여러 개의 프로그램을 함께 공존시킬 수도 있다. 여러 개의 프로그램을 함께 적재할 때, 각 프로그램에 할당되는 공간의 크기를 동일하게 할지 아니면 서로 다르게 할지를 고려해야 한다. 일정한 크기의 공간이 할당되는 경우 프로그램의 수행이 끝날 때까지 그 크기를 유지할지 아니면 상황에 따라서 할당한 공간의 크기를 변경할지를 고려해야 한다. 일정한 크기의 공간을 할당하기로 할 때, 연속한 작은 공간들을 할당할지, 하나의 덩어리로 된 커다란 공간을 할당할지를 고려해야 한다. 주기억장치를 할당하는 방법에는 단일 사용자 할당 기법, 고정 분할 할당 기법, 가변 분할 할당 기법의 세 가지가 있음
17
02 주기억장치의 이해 단일 사용자 할당 기법 운영체제가 차지하는 부분을 제외한 나머지 기억 공간의 부분을 한 사용자가 독점 사용하도록 하는 기법 장점 사용자에게 융통성을 최대한 제공한다. 최대의 단순성과 최소의 비용을 만족한다. 특별한 하드웨어가 필요 없으며, 운영체제 소프트웨어도 필요 없다. 단점 사용자가 사용하는 부분 이외의 부분은 낭비가 될 수 있다. 입력과 출력을 수행하는 동안 주기억장치내의 프로그램은 중앙처리장치를 계속 쓸 수 없기 때문에 유휴 상태가 되므로 활용도가 매우 낮다. 프로그램이 주기억장치의 용량보다 큰 경우 이를 수행시키기 어렵다.
18
02 주기억장치의 이해 고정 분할 할당 기법 각 프로그램에 고정된 동일 크기의 분할된 구역을 할당하는 방법 장점 : 단점 :
프로그램이 적재되고 남은 공간에 다른 프로그램을 적재하여 수행하므로 프로세서와 기억장치 같은 자원의 활용도를 크게 향상시킨다. 동시에 여러 프로그램을 주기억장치에 적재하여 수행하는 다중 프로그래밍 기법이 가능하다. 단점 : 할당되는 저장 공간이 작고 저장될 프로그램이 클 경우에는 프로그램이 작은 단위로 쪼개지는 단편화(fragmentation)의 문제가 발생한다. 프로그램과 할당된 분할 구역의 크기가 일치하지 않으면 프로그램이 점유하고 남은 공간이 생기게 된다.
19
02 주기억장치의 이해 가변 분할 할당 기법 단편화를 해결하기 위하여 각 작업에 대한 필요한 만큼의 공간만을 할당
주기억장치 내에 새로운 프로그램이 들어올 때마다 그 프로그램의 크기에 맞추어 가변적으로 기억 공간을 분할하여 프로그램에 맞는 공간만을 할당한다. 가변 분할 기억장치 구조
20
02 주기억장치의 이해 가변 분할 할당 기법에서의 기억장소의 집약 기억 장소의 집약(memory compaction)
주기억장치를 검사하여 빈 영역을 하나의 커다란 빈 영역으로 만드는 방법 운영체제는 사용 중인 블록을 한데 모으고, 비어 있는 기억 장소를 하나의 커다란 공백으로 만든다. 기억 장소의 집약 과정 장점 : 기억 장소에 분산되었던 공간들을 한 곳에 모음으로써 사용 가능한 큰 영역을 만들 수 있다. 이를 통해 기억 장소의 낭비를 줄일 수 있다. 단점 : 기억 장소를 집약하는 동안 전체 시스템은 지금까지 수행해 오던 일들을 일단 중지해야 하며, 집약을 위하여 많은 시간이 소모된다. 수행 중이던 프로그램과 데이터를 주기억장치 내의 다른 장소로 이동시키기 때문에 각각의 위치 및 이에 관계되는 내용을 수정해야 한다.
21
02 주기억장치의 이해 가변분할할당기법에서 공백영역탐색 알고리즘 최초 적합 방법 최적 적합 방법 최악 적합 방법
여러 유휴 공간들을 차례대로 검색해 나가다가 새로운 프로그램을 저장 할 수 있을 만큼의 크기를 가진 부분을 최초로 찾으면 그 곳에 할당하는 방법이다. 최적 적합 방법 여러 공백 중 새로운 프로그램이 요구하는 크기보다 크면서 가장 크기가 비슷한 공간을 채택하여 할당하는 방법이다. 매우 작은 공백만 생기다는 장점을 갖는다. 최악 적합 방법 존재하는 여러 공백 중 가장 큰 부분을 찾아 할당. 프로그램이 할당되고 남은 공간이 크다면, 그 나머지 부분을 다른 프로그램에 할당하여 사용할 수 있다.
22
02 주기억장치의 이해 공백 영역을 찾는 알고리즘 예
새로운 17KB의 기억 장소를 필요로 하는 프로그램이 주기억장치로 들어오게 되면 최초 적합 방법의 경우는 ①에 프로그램이 적재 최적 적합 방법의 경우는 ④에 프로그램이 적재 최악 적합 방법의 경우는 ③에 프로그램이 적재
23
02 주기억장치의 이해 주기억장치의 종류 자기코어 기억장치 자기코어의 구조
초기에 많이 사용되던 임의 접근 컴퓨터 기억장치이며 비휘발성이다. 저장정보 전원 공급에 문제가 있거나 소프트웨어가 충돌하여도 손실되지 않는다. 저장 원리는 조그마한 자기 세라믹 링에 전류를 흘려 보내서 이 때 발생하는 자기장으로 정보를 저장한다. 자기코어의 구조 페라이트(ferrite)라는 자성 물질로 자화가 쉽고 한번 자화되면 외부 영향이 없는 한 그 상태를 계속해서 유지하는 매우 우수한 기억장치다.
24
02 주기억장치의 이해 자기코어 내부 구조 자기코어 중앙 내부에는 X, Y, Z, S의 4개 선이 관통
2개의 구동선(driving wire) X와 Y선은 0.5V의 전류를 흘려 그 교차점이 자화 되도록 한다. 감지선(sense wire) S는 자기 코어의 상태를 검출하는 역할을 한다. 금지선(inhibit wire) Z는 코어에 불필요한 코어가 자화된 경우 -0.5V 금지 전류 이용하여 코어의 자화를 소거하는 역할을 한다.
25
02 주기억장치의 이해 자기코어 행렬(magnetic core matrix)
자기코어가 실제적인 기억장치를 구성하기 위해서는 행렬 구조로 배치 자기코어를 평면으로 된 기판에 가로와 세로 4096(= 64X64)개 또는 16384(= 128X128)개를 배치한다. 자기 코어 행렬의 구성 (a) 한 장의 자기코어 행렬 면을 코어 플레인(core plane) (b) 코어 플레인을 필요한 만큼 겹쳐 놓은 것을 코어 스택(core stack)
26
02 주기억장치의 이해 반도체 기억장치(semiconductor memory) 디지털 시스템에서 주기억장치로 널리 사용됨
대부분 어느 저장 위치로도 같은 시간에 접근이 가능한 RAM(random access memory)의 형태를임 대부분의 경우 휘발성인 read/write RAM과 비휘발성인 ROM(read only memory)으로 분류 반도체 기억장치의 분류
27
02 주기억장치의 이해 반도체 기억장치의 구조 기억장치의 용량
기억장치의 가로 길이에 해당하는 것이 워드(m비트), 기억장치의 세로 길이에 해당하는 것이 워드의 개수(2n)다. 기억장치 주소 레지스터(MAR, Memory Address Register) 기억장치 접근 시 필요한 워드의 주소를 임시로 저장하는 장치다. 2n 개의 워드의 주소를 표현하기 위해서는 n비트가 필요하다. 기억장치 버퍼 레지스터(MBR, Memory Buffer Register) 기억장치와 CPU 등의 외부장치 사이에서 전송되는 데이터를 임시로 저장한다. 워드 단위로 데이터를 입출력하므로 m비트가 필요하다.
28
02 주기억장치의 이해 반도체 기억장치의 IC 칩 A0~A4는 주소를 지정하기 위한 단자다. I0~I3는 입력 포트이고 O0~O3는 출력 포트다. 𝑅/ 𝑊 는 읽기와 쓰기를 결정하는 제어 단자다. 그리고 M∙E(Memory Enable)는 기억장치의 사용 가능 여부를 결정한다. (a)에서 주소의 길이가 5비트이므로 워드의 개수는 32(= 25)가 된다. 그리고 워드의 길이는 4비트이므로 기억장치 용량을 계산하면 128(=32×4)비트가 된다. (b)에서 주소의 길이가 12비트이므로 워드의 개수는 212가 된다. 그리고 워드의 길이는 8비트이므로 기억장치 용량을 계산하면 212(4K)×8=4069 바이트가 된다.
29
02 주기억장치의 이해 반도체 기억장치의 동작 기억장치는 2진수의 데이터를 저장하고, 필요에 따라 이들을 인출
이를 위하여 기억장치는 쓰기(WRITE)동작, 읽기(READ)동작, 주소지정 (Addressing)동작이 실행되고, 데이터 버스를 따라 데이터가 이동
30
02 주기억장치의 이해 쓰기(WRITE) 동작 기억장치에 데이터를 저장하는 동작
한 바이트의 데이터를 기억장치에 저장하는 쓰기 과정 1단계 : 주소 레지스터에 있는 주소코드(101)를 주소 버스에 싣는다. 주소 디코더는 주소를 해석하여 기억장치의 위치(5)를 선택한다. 2단계 : 기억장치는 쓰기명령을 받게 되고 데이터 레지스터에 있던 데이터( )를 데이터 버스에 싣는다. 3단계 : 주소에 근거하여 선택된 기억장치 위치에 데이터를 저장하여 쓰기 동작을 완료한다.
31
02 주기억장치의 이해 읽기(READ) 동작 저장되어 있는 데이터를 인출하여서 요구한 장치로 전달해주는 동작
한 바이트의 데이터를 지정된 주소위치에서 읽어 가져오는 과정 1단계 : 주소 레지스터에 있는 주소코드(011)를 주소 버스에 싣는다. 주소 디코더는 이 주소코드를 해석하여 기억장치 위치(3)를 선택한다. 2단계 : 기억장치는 READ 명령을 받게 되고, 선택된 기억장치 주소에 저장되어 있던 바이트 데이터( )를 데이터 버스에 싣는다. 3단계 : 기억장치에서 읽혀진 데이터를 데이터 레지스터에 적재한다.
32
03 임의접근 기억장치와 읽기 전용기억장치 임의 접근 기억장치
반도체 기억장치 중 가장 일반적인 유형이 임의 접근 기억장치(RAM, Random Access Memory) RAM은 반도체 기억장치이므로 크기가 작고 신뢰성이 높으며, 성능이 우수하고 소비 전력이 적다. RAM은 대부분의 컴퓨터에서 주기억장치로 사용하고 있다.
33
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 특징과 용도 RAM의 특징 컴퓨터에서 주기억장치로 RAM을 사용하는 목적
선택된 주소의 데이터를 언제든지 쉽게 쓰고, 읽을 수 있다 RAM은 휘발성 기억장치로 전원 공급이 중지되면 저장된 데이터 모두가 삭제 저장된 모든 데이터에 접근하는데 소요되는 시간이 이전의 접근 순서와는 무관하게 항상 일정하다. 컴퓨터에서 주기억장치로 RAM을 사용하는 목적 중앙처리장치와 보조기억장치의 처리속도의 차이를 극복하기 위해서 보조기억장치보다 처리속도가 빠른 RAM을 중간에 위치시켜 처리속도의 차이를 극복한다.
34
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 분류 기억 방식에 따른 분류 정적 RAM(SRAM, Static RAM)
동적 RAM(DRAM, Dynamic RAM) 저장하려고 하는 2진 정보를 충전기에 공급되는 전하의 형태로 보관 전력 소비가 적고 단일 메모리 칩 내에 더 많은 정보를 저장할 수 있다. 충전기의 방전 현상으로 인한 정보의 손실을 막기 위해서 재충전(refresh) 회로가 필요하다. 정적 RAM(SRAM, Static RAM) 주로 2진 정보를 저장하는 내부 회로가 플립플롭으로 구성 저장된 정보는 전원이 공급되는 동안에 그대로 보존된다. 사용하기 쉽고 읽기와 쓰기 동작 사이클이 동적 RAM보다 짧다. 반도체 기억장치를 만드는데 사용하는 소자에 따른 분류 트랜지스터-트랜지스터 논리(TTL, Transistor-Transistor Logic)의 바이폴러(Bipolar) RAM 금속 산화막 반도체(MOS, Metal-Oxide-Semiconductor) RAM 바이폴라와 MOS를 조합하여 기억장치 소자를 제작하는 BiMOS RAM
35
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 제조상 분류 바이폴라 RAM은 SRAM의 기억방식 형태
MOS RAM은 SRAM과 DRAM의 두 가지 기억방식의 형태가 있다.
36
03 임의접근 기억장치와 읽기 전용기억장치 동적 RAM(DRAM)
충전기 캐패시터(capacitor)에 전하(charge)를 저장하는 방식 충전기에 전하가 존재하는 여부에 따라 2진수의 1과 0저장을 구분 캐패시터에 충전된 전하는 조금씩 방전되므로 기억된 정보를 잃게 됨 재충전(refresh)을 위한 제어회로를 탑재해야 한다. 이렇게 동적으로 저장 정보를 재생시키므로 동적(dynamic)이란 명칭이 붙여졌다. DRAM은 고밀도 집적에 유리하며, 전력 소모가 적고, 가격이 낮아 대용량 기억장치에 많이 사용됨 DRAM의 기억소자(memory cell) 구조
37
03 임의접근 기억장치와 읽기 전용기억장치 DRAM의 쓰기와 읽기 그리고 재충전 동작 쓰기 동작 읽기 동작
1단계 : 𝑅/ 𝑊 =0이며 쓰기 위해 입력버퍼는 Enable되고 출력버퍼는 Disable 2단계 : 논리 0을 저장하기 위해서는 Din=0 축전기는 충전되지 않는다. 만약 축전기에 논리 1이 저장되어 있는 경우, 축전기는 방전하게 된다. 3단계 : 기억 소자에 논리 1을 저장하려면 Din=1로 하고, 저장 위치를 지정하는 행(row) 입력이 논리 1이면 캐패시터에는 양(+)의 전압이 충전된다. 읽기 동작 1단계 : 𝑅/ 𝑊 =1이며 읽어온 데이터를 저장하기 위해서 출력버퍼는 Enable되고, 입력버퍼는 Disable이 된다. 2단계 : 출력하려는 데이터의 위치를 지정하는 행(row) 입력이 논리 1이면, 캐패시터는 비트선(bit line)을 통하여 출력버퍼에 연결된다. 3단계 : 저장된 데이터는 출력(Dout)을 통하여 외부로 출력된다.
38
03 임의접근 기억장치와 읽기 전용기억장치 재충전 동작
1단계 : 𝑅/ 𝑊 =1, 행(row) 입력=1, 재충전 입력=1이면 캐패시터는 비트 선에 연결된다. 2단계 : 출력버퍼는 Enable되고, 저장된 데이터 비트를 저장한다. 그리고 재충전 입력이 논리 1이므로 출력버퍼의 데이터는 재충전 버퍼에 다시 입력되고 다시 캐패시터에 저장된다
39
03 임의접근 기억장치와 읽기 전용기억장치 정적 RAM(SRAM) 플립플롭 방식의 기억소자를 가진 임의 접근 기억장치
전원 공급이 계속되는 한 저장된 내용을 계속 기억하고 DRAM과 다르게 복잡한 재생 클록(refresh clock)이 필요 없다. SRAM의 구조는 MOS FET 4∼6개로 된 플립플롭 기억소자로 구성되어 있어 집적 밀도가 높아서 가격이 비싸며, 소용량의 메모리에 사용한다. SRAM은 DRAM보다 처리속도가 5배 정도 빨라서 캐시메모리에 주로 사용한다. SRAM의 기억소자(memory cell)구조
40
03 임의접근 기억장치와 읽기 전용기억장치 칩 논리(Chip Logic)
RAM과 같은 반도체 기억장치는 하나의 IC 칩으로 제공되며, 그리고 이 칩에는 기억소자들의 배열(array of memory cells)을 포함 반도체 기억장치를 설계할 때 한번에 읽고 쓸 수 있는 데이터의 비트 수는 중요한 고려 대상 기억소자들의 배열 조직이 B개의 비트들로 이루어진 W개의 단어들로 구성된다고 하면 이것은 W×B bit로 표현 칩 조직 1M × 16bit : 16bit 단어들로 이루어진 1M개의 단어로 구성된다. 16M × 1bit : 1bit 단어들로 이루어진 16M개의 단어로 구성된다 칩 1개당 1 비트로 조직되어 있다(one-bit-per-chip). 4M × 4bit : 4bit 단어들로 이루어진 4M개의 단어로 구성된다.
41
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 내부조직 8×8 조직, 64-bit
A0, A1, A2의 3개의 주소 입력이 필요하다. (23 = 8)
42
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 내부조직 16×4조직, 64-bit
A0, A1, A2, A3의 4개의 주소 입력이 필요하다. (24 = 16)
43
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 내부조직 64×1조직, 64-bit
행(row)를 갖는 3개의 주소선과 열(column)의 주소를 갖는 3개의 주소 선이 필요하다. 모두 6개의 주소 선을 사용한다. 6개의 주소의 값을 가질 때 상위 3비트는 행의 배열 위치를 의미하고 하위 3비트는 열의 배열 위치를 의미한다. 3비트를 갖는 행과 열로 구분되는 주소 선을 갖기 때문에 3×8 디코더(decoder)가 각 행과 열에 각각 1개씩 모두 2 개를 필요로 하게 된다.
44
03 임의접근 기억장치와 읽기 전용기억장치 RAM의 내부조직 4M×4조직, 2048×2048×4bit
2M(2048)×2M(2048) 크기를 갖는 정방형 크기의 배열을 사용하게 되며 각 단어의 길이는 4비트가 된다. 따라서 전체 사용되는 비트의 수는 2048×2048×4비트(16Mbits = )의 비트를 사용한다.
45
03 임의접근 기억장치와 읽기 전용기억장치 칩 패키징(Chip Packaging)
칩 패키징은 신호의 입력과 출력을 위한 연결 핀들이 포함 기억장치 칩 패키징 내에 W개의 단어가 있다고 하면 주소 핀의 개수는 log2W 개로 정의된다. 여기에 데이터 핀과, 전원 공급 핀(Vcc), 접지 핀(Vss), 칩 선택 핀(CE, Chip Enable)등이 포함된다. 4M×4bit DRAM의 패키징 주소 핀의 수 : 11개 데이터 핀의 수 : 4개 Vcc, Vss, RAS, CAS, WE, OE
46
03 임의접근 기억장치와 읽기 전용기억장치 읽기 전용 기억장치(Read Only Memory)
ROM은 저장된 명령이나 데이터를 단지 읽기만 할 수 있는 기억장치로 새롭게 데이터를 추가하거나 재기록하는 쓰기 동작이 불가능 전원 공급이 중단되어도 저장된 데이터는 지워지지 않고 유지할 수 있기 때문에 비휘발성(non-volatile) 기억장치로 분류 컴퓨터시스템은 전원을 켜면 내장 메모리를 체크하거나 주변장치를 초기화 수행한다. 이와 같은 일을 수행하기 위해서는 전원을 끄더라도 그 내용이 지워지지 않는 기억장치가 필요하다. 그래서 ROM이 사용된다. 뿐만 아니라 시스템 동작에 사용되는 표, 변환, 명령어 프로그램등과 같이 반복적으로 쓰는 데이터를 주로 저장하는데 사용된다.
47
03 임의접근 기억장치와 읽기 전용기억장치 ROM의 구성
주소 입력을 통한 데이터를 읽을 위치를 결정하게 하는 주소 디코더가 존재하고 이것은 기억장치의 배열과 연결 됨 ROM의 구성에 대한 블록도 N개의 입력선은 디코더에 의해서 2N개의 주소가 존재, 이것은 2N개의 워드가 존재하는 것과 동일한 의미다. 기억장치 배열에서 워드의 길이는 M비트이고 이것이 출력 비트가 된다.
48
03 임의접근 기억장치와 읽기 전용기억장치 ROM의 회로도 OR 게이트의 연결 관계를 통해서 기억장치 배열을 형성
결과적으로 읽기만 가능하고 비휘발성인 ROM의 특성을 잘 만족한다. 그리고 OR 게이트의 수는 ROM의 출력선의 수와 동일하다. 5비트의 주소 입력선이 존재하므로 32(= 25)개의 워드가 존재한다. 출력은 4비트의 이진 데이터를 출력한다. 이 때 출력값 F1, F2, F3, F4는 OR 게이트 입력과 각 워드간 과의 연결에 따라서 결정된다. ROM에서는 쓰기 동작이 없으므로 입력단자가 존재하지 않는다.
49
03 임의접근 기억장치와 읽기 전용기억장치 2 × 4 ROM의 내부조직
워드의 길이는 3비트이고 4개의 워드가 존재, 출력은 3비트 A0A1=00이면 D0가 선택되고 출력 F0F1F2은 101이 된다. A0A1=01이면 D1이 선택되고 출력 F0F1F2은 011이 된다. A0A1=10이면 D2이 선택되고 출력 F0F1F2은 100이 된다. A0A1=11이면 D3이 선택되고 출력 F0F1F2은 111이 된다.
50
03 임의접근 기억장치와 읽기 전용기억장치 ROM의 종류 ROM은 반도체를 만드는데 사용하는 소자에 따라 분류할 수 있음
트랜지스터-트랜지스터 논리(TTL)의 바이폴러 ROM과 금속 산화막 반도체 ROM이 있다. ROM의 제조상 분류 Mask ROM과 PROM은 바이폴라형, MOS형 두 가지로 제조 가능하다.
51
03 임의접근 기억장치와 읽기 전용기억장치 Mask ROM과 PROM(Programmable ROM) Mask ROM
Mask ROM에 데이터를 집어넣기 위해서는 반드시 반도체 회사에 주문해 특별히 만들어야 하며, Mask ROM은 한번의 기록으로 더 이상 데이터를 변경할 수 없기 때문에 일반적으로 컴퓨터의 주 메모리로 사용하는 것은 불가능하다. PROM(Programmable ROM) 사용자가 특별한 장비인 PROM writer를 사용하여 필요한 논리 기능을 직접 기록할 수 있다. 최초의 PROM은 1회에 한해서 새로운 내용으로 변경할 수 있는 ROM이다. 한 번 기록한 내용을 변경하거나 삭제할 수 없다.
52
03 임의접근 기억장치와 읽기 전용기억장치 EPROM(Erasable PROM)
필요할 때마다 기억된 내용을 지우고 다른 새로운 내용을 기록할 수 있다. 레이저를 이용한 ROM writer를 사용하면 새로운 데이터의 쓰기가 가능 데이터를 입력하는 쓰기 동작은 PROM과 동일하고, 상단의 창에 자외선을 쏘이면 내용이 삭제되므로 새롭게 데이터를 다시 쓸 수 있다. 저장된 데이터들을 삭제하는 방법에 따라서 UVEPROM(Ultra Violate Erasable PROM)과 EEPROM(Electrically Erasable PROM)으로 구분 UVEPROM은 칩 중앙부에 동그란 유리창이 놓여있고 이 창을 통해 일정시간 자외선을 쏘여주면 내부에 기록되어 있는 데이터가 삭제된다. EEPROM은 전기적으로만 지울 수 있는 PROM으로 칩의 한 핀에 전기적 신호를 가해줌으로써 내부 데이터가 지워지게 된다. 전기 신호를 사용하므로 훨씬 편리한 점이 많지만, 가격이 월등히 비싸며, 쓰기/지우기 속도가 느린 단점이 있다.
53
03 임의접근 기억장치와 읽기 전용기억장치 플래시 메모리(Flash Memory)
EEPROM의 한 종류이지만 EEPROM과는 다르게 블록단위로 데이터를 입력 읽기와 쓰기 동작이 자유로운 편이어서 RAM과 ROM의 중간적인 위치 작은 카드 크기의 보조기억장치로 만들어서 하드디스크 대신 사용하면, 접근 속도가 하드디스크보다 훨씬 고속일 뿐만 아니라 반도체 기억장치이기 때문에 외부충격에 매우 강한다. 데이터를 읽는 과정은 일반 RAM과 비슷하게 설계 할 수 있지만 데이터를 써넣기 위해서는 시간이 상당히 오래 걸리며, RAM처럼 쉽게 설계할 수 없다. RAM은 데이터를 읽고 쓸 수 있는 횟수에 거의 제한이 없어서 칩의 수명이 다하는 동안까지 사용할 수 있는 반면 플래시 메모리는 십만에서 백만 번 이상의 쓰기를 한 후에는 데이터를 더 이상 쓸 수가 없다.
54
03 임의접근 기억장치와 읽기 전용기억장치 ROM의 칩 패키징(Chip Packaging)
칩 패키징은 신호의 입력과 출력을 위한 연결 핀들이 포함 칩 패키징 내에 W개의 단어가 있다고 하면 주소 핀의 개수는 log2W 개로 정의된다. 여기에 데이터 핀과, 전원 공급 핀(Vcc), 접지 핀(Vss), 칩 선택 핀(CE, Chip Enable) 등이 포함 1M×8 bit EPROM 주소선 : 20개 데이터 핀의 수 : 8개 Vcc, Vss, CE핀
55
04 기억장치의 확장 여러 개의 기억장치 칩을 가지고 더 큰 용량을 기억장치를 설계
워드의 수는 그대로 유지하고 워드의 길이를 확장하는 방법과 워드의 길이는 그대로 유지하면서 워드의 수를 증가시켜서 워드 용량을 확장하는 방법이 있다. 기억장치의 워드길이(word length)를 확장하는 경우 늘어난 길이만큼 데이터 버스의 비트 수를 늘려야 한다. 원하는 워드의 용량 및 워드의 길이를 얻기 위해서 몇 개의 기억장치 칩이 조합할 때, MAR(memory address register), MDR(memory data register), 제어장치 등의 주변장치들이 기억장치를 적절하게 활용한다. 기억장치의 주변장치
56
04 기억장치의 확장 워드 길이의 확장 256×4bit ROM 두 개를 이용하여 256×8bit의 기억장치를 만드는 과정
기억장치 칩들의 주소버스와 제어버스는 공통신호를 사용하고 여러 워드를 순차적으로 연결하여 워드의 용량을 유지하면서 길이를 확장할 수 있다. 256×4bit ROM 두 개를 이용하여 256×8bit의 기억장치를 만드는 과정 두 기억장치의 주소버스와 제어버스는 공통 병렬 신호로 사용이 되고 4비트의 길이를 갖는 각 워드들은 연결되어서 8비트의 워드길이가 된다.
57
04 기억장치의 확장 1K×8bit RAM 칩들을 이용한 1K×32bit 기억장치 모듈 설계
4개의 1K×8bit RAM 칩들을 적절하게 설계하면 워드의 길이가 확장되 는 (1K×8bit)×4 = 1K×32bit의 기억장치 모듈을 설계할 수 있음 각각의 1K×8bit RAM은 A0 ~ A9까지 10개의 주소선을 입력선으로 갖게 된다(210 = 1024 = 1K). 주소 영역은 000(16) ~ 3FF(16)까지 주소를 갖게 된다. 데이터를 저장할 때는 동일한 기억장치의 주소에 대하여 32비트들 중에서 칩 당 8비트씩 분산 저장하게 된다.
58
04 기억장치의 확장 워드 용량의 확장 256×4bit ROM 두 개를 이용하여 512×4bit의 기억장치를 만드는 과정
기억장치 칩들의 칩 선택 신호는 제어 버스를 통해 공통으로 연결되고, 각 기억장치 칩의 선택을 통해서 주소를 확장하고 워드의 용량을 확장을 할 수 있음 256×4bit ROM 두 개를 이용하여 512×4bit의 기억장치를 만드는 과정 공통 제어버스의 칩 선택 신호가 첫 번째 ROM을 선택하면 주소 0~255번지 내에 저장된 데이터를 접근하게 된다. 두 번째 ROM을 선택하면 주소 256~511번지 내에 저장된 데이터를 접근할 수 있게 된다.
59
04 기억장치의 확장 1K×8bit RAM 칩들을 이용한 4K×8bit 기억장치 모듈 설계
4개의 1K×8bit RAM 칩들을 적절하게 설계하면 용량이 (1K×8bit)×4 = 1K×32bit인 기억장치 모듈을 만들 수 있음 각각의 RAM은 A0 ~ A9까지 10개의 주소선을 입력선으로 갖게 된다(210 = 1024 = 1K). RAM들의 주소값이 연결되기 때문에 RAM 1은 000(16) ~ 3FF(16), RAM 2는 400(16) ~ 7FF(16), RAM 3은 800(16) ~ BFF(16), RAM 4은 C00(16) ~ FFF(16)까지 각각 다른 주소를 할당 받게 된다. 주소로 접속을 할 때는 상위 10개 비트 A0 ~ A9까지 각 RAM에 공통으로 할당되고 하위 두 비트 A10, A11은 2×4 decoder의 출력으로 4개의 칩 선택신호를 발생시켜 각 RAM을 선택하도록 한다.
60
04 기억장치의 확장 설계된 4K×8bit 기억장치 모듈
2×4 decoder의 입력 비트는 4개의 RAM 중에서 하나를 선택하며, 선택된 RAM의 주소범위를 알맞게 설정
61
04 기억장치의 확장 각 RAM에 지정되는 주소 영역 설계된 4K×8bit 기억장치 모듈에서 각 RAM의 주소 영역
2×4 decoder의 입력 비트 값이 주소 비트의 상위 두 비트가 된다.
62
04 기억장치의 확장 8비트 마이크로 컴퓨터를 위한 기억장치의 설계 예 8비트 마이크로 컴퓨터의 스팩
용량 RAM : 1K byte / ROM : 512byte 주소 영역 RAM : 0(16)번지부터 / ROM : 800(16)번지부터 사용 가능한 칩 RAM : 256×8비트 / ROM : 512×8비트 8비트 마이크로 컴퓨터을 위한 기억장치 주소표
63
04 기억장치의 확장 8비트 마이크로 컴퓨터를 위한 기억장치의 설계 예
64
Thank You IT CookBook, 컴퓨터 구조와 원리 2.0
Similar presentations