Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
10. 메모리
목표§ 메모리의개요
§ Random Access Memory (RAM)
§ Read Only Memory (ROM)
§ 프로그램가능한ROM (PROM)
§ 비휘발성입/출력메모리
§ 메모리패키지
§ 대용량저장장치
2
§ 밀도 : Density-메모리가수용할수있는데이터의양
§ (비) 휘발성 : (Non-) Volatility -전원이제거되었을때의정보저장능력
§ 판독/기록기능 : Read/write capability -메모리를업데이트하는능력
반도체메모리의세가지특성
§ DRAM (Dynamic Random-Access Memory)
§ SRAM (Static Random-Access Memory)
§ ROM (Read-Only Memory)
§ EPROM (Electrically Programmable ROM)
§ EEPROM (Electrically Erasable PROM)
§ 플래시 메모리 (Flash Memory)
§ FRAM (강유전체 RAM)
§ MRAM (자기저항 RAM)
반도체메모리의분류:
3
메모리의 구조v 메모리 번지 레지스터(MAR : memory address register) : 메모리
액세스시 특정 워드의 주소가 MAR에 전송된다.
v 메모리 버퍼레지스터(MBR : memory buffer register) : 레지스터와외부 장치 사이에서 전송되는 데이터의 통로.
입력주소(n비트)
메모리
2n개의 워드워드당 m비트
MAR
MBR
데이터(m비트)
입력 출력
읽기 제어 신호
쓰기 제어 신호
n비트로 된 MAR은최대 2n개(0~2n-1)의메모리 번지를 표시.
2. 메모리의 동작
q 메모리 읽기(read) 동작
① 선택된 워드의 주소를 MAR로 전송한다.② 읽기 제어 입력을 동작시킨다.
110010014746
48
450000101110
01101010
MAR
MBR
메모리 주소0~1023
110010014746
48
450000101110
11001001
MAR
MBR
메모리 주소0~1023
읽기 동작 전 읽기 동작 후
4
q 메모리 쓰기(write) 동작
① 지정된 메모리의 번지를 MAR로 전송한다.② 저장하려는 데이터 비트를 MBR로 전송한다.③ 쓰기 제어 신호를 동작시킨다.
쓰기 동작 전 쓰기 동작 후
110010014746
48
450000101110
01101010
MAR
MBR
메모리 주소0~1023
011010104746
48
450000101110
01101010
MAR
MBR
메모리 주소0~1023
3. 메모리 분류
반도체 메모리
순차액세스메모리 랜덤액세스메모리
RAM ROM
DRAM SRAMMaskROM
FieldPROM
Fuse-linkPROM
EPROM EEPROM
반도체 메모리의 분류
5
• 접근 방법에 의한 분류
v RAM(Random Access Memory) : 접근 시간이 어느 위치나 동일하게걸리는 메모리 형태
v SAM(Sequential Access Memory) : 원하는 위치에 도달하는데 일정한시간이 경과되는 형태이므로 접근 시간은 위치에 따라서 다르다.
• 기록 기능에 의한 분류
v RWM(Read and Write Memory) : 기록과 판독 두 가지를 모두 수행할 수있는 메모리 (RAM은 RWM 메모리를 의미).
v ROM(Read Only Memory) : 판독만 가능한 메모리
• Mask ROM(MROM) : 제조시 정보가 기록
• PROM(Programmable ROM) : 제조 후 사용자가 기록할 수 있는 ROM
• Fuse-link PROM : 한번만 기록이 가능
• EPROM(Erasable PROM) : 자외선을 쪼여서 그 내용을 지운 후에 다시기록이 가능
• EEPROM(Electrically Erasable PROM) : 전기적으로 내용을 지우고 다시기록이 가능
• 기억 방식에 의한 분류
v 정적 RAM(Static RAM : SRAM) : SRAM은 주로 2진 정보를 저장하는 내부Flip-flop으로 구성되며, 저장된 정보는 전원이 공급되는 동안에 보존.SRAM은 사용하기가 쉽고 일기와 쓰기 Cycle이 더 짧은 특징이 있다.
v 동적 RAM(Dynamic RAM : DRAM) : 2진 정보를 충전기에 공급되는 전하의형태로 보관. DRAM은 전력 소비가 적고 단일 메모리 칩 내에 더 많은정보를 저장할 수 있으며, refresh회로가 필요하다.
• 휘발성/비휘발성 메모리
v 휘발성(volatile) 메모리 : 일정한 시간이 지나거나 전원이 꺼지면 기록된내용이 지워지는 메모리 형태. RAM은 모두 외부에서 공급되는 전력에의해 정보를 저장하기 때문에 휘발성 메모리에 해당.
v 비휘발성(non-volatile) 메모리 : 전원이 차단되어도 기록된 정보가 계속유지. 자기 코아나 자기 디스크 메모리가 해당. 디지털 컴퓨터가동작하는데 필요한 프로그램을 저장하는데 사용
6
컴퓨터에서의 메모리
v 주기억장치(main memory) : 중앙처리장치(CPU: central processingunit)에 의해 현재 실행되고 있는 프로그램과 데이터를 저장
v 보조기억장치(mass storage) : 이외에 다른 경우에 사용을 목적으로프로그램과 데이터를 저장하며, 대용량임.
v 주소버스와 제어버스는 단방향이지만 데이터버스는 양방향이다.
데이터 버스
RAM ROM 입력장치 출력장치
주소 버스
제어 버스
CPU
컴퓨터 시스템 블록도
ROM의 구성v ROM은 AND 게이트와 OR 게이트로 구성된 조합논리회로
v AND 게이트는 디코더를 구성한다.
v OR 게이트는 디코더의 출력인 최소항들을 합하는 데 사용되며, OR 게이트의 수는 ROM의 출력선의 수와 같다.
n개의입력선
메모리 배열2n 워드 m비트
ROM
×디코더
m개의 출력선
7
v 번지 입력은 5비트이며 디코더로부터 선택되는 최소항은 입력의 5비트와등가인 10진수로 표시되는 최소항이다.
v 디코더의 32개 출력은 각각의 OR 게이트의 퓨즈를 통해 연결된다.
v 그림에는 OR 게이트의 입력에는 실제로 32×4=128개의 내부 퓨즈가 있다.
5 32디코더×
012
31
A0
A1
A2
A3
A4
F3 F2 F1 F0
퓨즈링크
주소입력
최소항
32×4 ROM의 내부 논리 구조
5 32디코더×
012
31
A0
A1
A2
A3
A4
F1 F2 F3 F4
30
v ROM은 2진 데이터를 표시하기 위해 각 주소에 해당하는 워드의 내용을나타내는 진리표를 사용한다.
v 진리표에서 입력은 주소에 해당하고, 출력은 주소에 대한 워드의 내용이다.
입 력 출 력
A4 A3 A2 A1 A0 F3 F2 F1 F0
0000
0000
0000
0011
0101
0100
1110
1001
0110
…… ……1111
1111
1111
0011
0101
1010
0000
0111
1001
[Example]
5 32디코더
×
012
31
A0
A1
A2
A3
A4
F3 F2 F1 F0
30
3
2928
8
2. ROM의 종류
• 마스크 ROMv 제조 과정에서 제작자에 의해 마지막 조립 과정에서 프로그래밍되며,
ROM에 프로그램된 것은 절대 변경할 수 없다.
• PROMv 사용자가 특별한 프로그램 장치를 이용하여 프로그램을 할 수 있으며, 일단
프로그램을 하면 퓨즈의 연결 형태가 그대로 유지되며, 변경할 수 없다.
• EPROMv 퓨즈가 절단되어도 모든 퓨즈들이 절단되지 않은 초기 상태로 복원할 수
있는 ROM이다. 복원하는 과정은 일정 시간 자외선을 쪼이면 된다.
• EEPROMv EPROM과 같으나, 복원 과정에서 자외선 대신에 전기 신호를 사용하여
지우는 PROM이다.
ROM을 사용한 조합논리회로의 구현
• 구현 예
åå
=
=
)2 0,(),(
)3 2, 1,(),(
2
1
mBAF
mBAF
2 4디코더
×
00A
F2
011011B
F1
2 4디코더
×
00A
F2
011011B
F1
AND-OR 게이트의 ROM AND-OR-NOT 게이트의 ROM
9
RAMSRAM의 메모리 셀 구조와 동작
S=1일 때 이면 래치에 저장된 데이터 비트가 데이터 출력 단자를통하여 출력
S=1일 때 이면 데이터 입력 단자에 있던 데이터 비트가 래치로전송되어 저장.
BinaryCell
R/W
데이터출력
데이터입력
선택입력(S)
SRAM의 메모리 셀 구조
0=WR/
1=WR/
QR 데이터출력
S
데이터입력
선택입력(S)
R/W
• SRAM의 기본 구조
v BC(binary cell) : 1개의 메모리 셀을 표시
v 인에이블 입력이 논리 1이면 2개의 번지 입력값에 따라 4개의 워드 중하나가 선택된다.
2 4디코더
×
D0
D1
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
D2
D3
A0
A1
E
R/W
데이터 출력
데이터 입력
주소입력
4×3 정적 RAM의 기본구조
10
256×4 SRAM의 외부 구조
A0A1A2A3A4A5A6A7
D0D1D2D3
CSR/W
SRAM256 4×
O0
O1
O2
O3
데이터 출력
주소입력
데이터 입력
WRITEREADEN
256×4 SRAM의 기본구조
A0
A1
A2
A3
A4
A5
A6
A7
D0D1D2D3
CS
R/W
O0O1O2O3
행 디코더
입력버퍼
32 32Memory Cell Array
×32
8 8 8 8
8 8 8 8
출력버퍼
입력데이터선택
출력열 디코더
11
동적 RAM(DRAM)
• DRAM의 메모리 셀 구조와 동작
(1) Write
v : 입력 버퍼는 Enable, 출력 버퍼는 Disable.
v 메모리 셀에 논리 1을 저장하기 위해서는 Din=1로 하고, 행(row) 입력이논리 1이면 트랜지스터는 ON상태가 되며, 콘덴서에는 양(+)의 전압이충전.
v 논리 0을 저장하기 위해서는 Din=0으로 하면 축전기는 충전되지 않는다.
v 축전기에 논리 1이 저장되어 있는 경우는 축전기는 방전.
출력버퍼
열 입력
입력버퍼
재충전 입력행 입력
재충전 버퍼
R/WDout
Din
콘덴서
DRAM의 메모리 셀 구조
0=WR/
(2) Read
v :출력 버퍼는 Enable,입력 버퍼는 Disable.
v 행(row) 입력이 논리 1이면 트랜지스터는 ON상태가 되며, 축전기는비트선(bit line)을 통하여 출력 버퍼에 연결
v 저장된 데이터는 출력(Dout)을 통하여 외부로 출력
(3) 재충전(Refresh)
v , 행(row) 입력=1, 재충전(refresh) 입력=1로 하면 트랜지스터가 ON이되어 축전기는 비트 선에 연결
v 출력 버퍼는 Enable되고, 저장된 데이터 비트는 재충전 입력이 논리 1이 되어Enable되므로 재충전 버퍼에 다시 입력
1=WR/
1=WR/
12
• DRAM의 기본 구조
(1) 주소 입력의 멀티플렉싱
• 14비트의 주소 입력은 7비트의 열(column)과 7비트의 행(row)으로나누어진다. 먼저 신호 입력에 의해 7비트의 행 주소가 입력되어 행주소 래치에 저장되고, 그 다음에 신호 입력에 의해 7비트의 열주소가 입력되어 열 주소 래치에 저장된다.
RASCAS
128 128Memory Cell Array
행주소래치
A0/A7
128
A1/A8A2/A9A3/A10A4/A11A5/A12A6/A13
열주소래치
행주소
디코더
행주소
디코더128
CS
RAS
×
R/W
CAS
Dout
Din A0~A6 A7~A13
CAS
RAS
CS
주소
(2) 메모리 재충전 회로
v 메모리의 재충전 동작은 모든 메모리 셀이 행 입력을 통하여 재충전이 될때 까 지 순 차 적 으 로 각 각 의 메 모 리 셀 들 을 재 충 전 한 다 . 이 것 을버스트(burst) 재충전이라고 하며, 2~4㎳마다 반복한다. 재충전이 되는동안에는 데이터를 메모리로부터 읽기(read)와 쓰기(write)를 할 수 없다.
v 모든 재충전을 한 번에 하지 않고 읽기와 쓰기 동작 사이에 행의 재충전동작을 분배해서 수행할 수 있으며, 이 경우에도 재충전은 2~4㎳마다반복해야 한다.
13
메모리 확장
• 워드 길이 확장
v CS(chip select)는 RAM을 선택하는 입력
v : 선택된 RAM 칩의 읽기(read)와 쓰기(write) 동작을 제어
v 출력의 ▽ 표시는 3 상태(tri-state) 출력을 표시
v CS=0이면 RAM 칩은 선택되지 않고 출력은 Hi-Z 상태가 된다.
v CS=1이고 이면 주소에 의해 선택된 8비트의 데이터가 출력선을통하여 출력
두개의 16×4 RAM을16×8 RAM으로 확장
WR/
1=WR/
A0CS
RAM×16 4
R/WRAM
×16 4
A1 A2 A3 A0 A1 A2 A3
A0
A3~
D0
D7
O0
O7
~ ~
• 워드 용량 확장
v 16×4 RAM 2개를 사용하여 32×4 RAM을 구성하는 경우
v 32개의 서로 다른 주소가 존재하므로 주소버스의 길이는 5.
v A4=0이면, A4A3A2A1A0=00000~01111
v A4=1이면, A4A3A2A1A0=10000~11111
2개의 16×4 RAM을 이용하여 32×4 RAM으로 확장
A0
RAM×16 4
R/WRAM
×16 4
A1 A2 A3 A0 A1 A2 A3
A0
A3
~
D0
D3
O0
O1
~
O2
O3
A4
CS CS
14
1K×8 RAM 4개를 사용하여 4K×8 RAM을 구성하여라.
×
R/W
3
RAM 1K 8
dataaddrRWCS
dataaddrRWCS
dataaddrRWCS
dataaddrRWCS
2 4디코더
×
2 1 0
×RAM 1K 8
×RAM 1K 8
×RAM 1K 8
0~1023
1024~2047
2048~3071
3072~4095
8
810EN
A0~A9A10A11 D0~D7
D0~D7
프로그램 가능 논리장치(PLD) v PLD(Programmable Logic Device)는 주로 AND 게이트와 OR 게이트의
배열(array) 구조를 갖는 IC이며 각 게이트 입력에 퓨즈링크(fuse-link)가연결되어 있다. 사용자가 적당한 곳의 퓨즈링크를 전자적으로 끊음으로써
AND-OR 즉 적의 합(sum of product)의 형식으로 된 조합논리함수를 실현할수 있다.
PLD의 퓨즈링크 PLD의 개략도
A
Y1
퓨즈링크
Y2 Y3
B C
AND Gate Array
OR Gate Array
A
Y1 Y2 Y3
B C
15
• PLD 종류
v PROM(Programmable ROM)
PROM은 디코더의 역할을 하는 고정 AND 배열과 프로그램이 가능한 OR 배열로구성되어 있다. PROM은 주로 주소 지정 메모리로 사용되며 고정된 AND 게이트의제약 때문에 논리소자로는 사용하지 않는다.
v PLA(Programmable Logic Array)
AND 입력과 OR 입력 양쪽을 다 프로그램 할 수 있어서 가장 융통성 있게 프로그램 할수 있다. 그러나 동작속도와 집적도가 좀 저하된다.
v PLE(Programmable Logic Element)
AND 입력은 고정되고 OR 입력만을 프로그램 할 수 있는 PLD.
v PAL(Programmable Array Logic)
AND 입력만을 프로그램 할 수 있고 OR 입력은 고정되어 있으며, 현재 가장 널리쓰이고 있다.
v GAL(Generic Array Logic)
GAL은 여러 가지 PLD 중 가장 최근에 개발된 소자다. PAL과 마찬가지로 프로그램이가능한 AND 배열과 고정 OR 배열 및 출력논리로 구성되어 있으나 GAL은 다시프로그램할 수 있고 또한 출력논리도 프로그램이 가능하다는 두 가지 점에서 PAL과차이가 있다.
1. PLA
3입력-3출력의 PLA의 구조
O2 O1 O0
I1I2 I0
AND Array
OR Array
16
2. PLE
v AND 게이트 입력은 고정되고 OR 게이트 입력만 프로그램
v PLA에 비해서 프로그래밍 상에 제한이 있게 된다. PLE는 PROM과 유사.
최소항입 력 출 력
B1 A1 B0 A0 S1 S0 Cm0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15
0000000011111111
0000111100001111
0011001100110011
0101010101010101
0001111011100001
0110011001100110
0000000100011111
2비트 2진수 가산기의 진리표
ååå
=
=
=
)15 14, 13, 12, 11, 7,(
)14 13, 10, 9, 6, 5, 2, 1,(
)15 10, 9, 8, 6, 5, 4, 3,(
0
1
mC
mS
mS
S0 CS1
m0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15
A0A1 B0B1
X
17
3. PAL
v OR 게이트 입력은 고정되고 AND 게이트 입력만 프로그램
v PLA에 비해서 프로그래밍 상에 제한이 있지만 현재 가장 많이 쓰이는PLD이다.
Example
CDBDBCCDBAY
CDBABCCDBAY
DABCY
+++=
++=
=
2
1
0
CDBDBCCDBAY
CDBABCCDBAY
DABCY
+++=
++=
=
2
1
0
x
x
x
x
Y0 Y1
x
x
x
x
0123456789101112131415
DB CA
Y2
AND Array(Programmable)
OR Array(고정)
X
18
4. GAL
v GAL(Generic Array Logic)은 반복적으로 프로그램이 가능한 AND 배열이고정 OR 배열에 연결된 구조를 갖고 있기 때문에 PAL과 마찬가지로 어떠한SOP 형태의 논리식도 구현할 수 있다.
v 반복적으로 프로그램이 가능한 배열은 행과 열로 된 도체의 격자로서 각교차점은 PAL의 퓨즈와는 달리 E2CMOS 셀로 구성되어 있다.
F
E2CMOSE2CMOS E2CMOSE2CMOS
E2CMOSE2CMOS E2CMOSE2CMOS
E2CMOSE2CMOS E2CMOSE2CMOS
E2CMOSE2CMOS E2CMOSE2CMOS
E2CMOSE2CMOS E2CMOSE2CMOS
E2CMOSE2CMOS E2CMOSE2CMOS
A A B B
GAL의 기본적인
E2CMOS 배열 구조
Example : 아래 논리함수를 GAL로 구현
BABAABF ++=
on off off off
off off on off
off on off off
off off on off
off on off off
off off off on
F
A A B B