Chapter 12메모리와 프로그램 논리장치
- 2 -한국기술교육대학교 전기전자통신공학부
반도체 메모리
순차액세스메모리 랜덤액세스메모리
RAM ROM
DRAM SRAMMaskROM
FieldPROM
Fuse-linkPROM
EPROM EEPROM반도체 메모리의 분류
메모리(memory) 분류
- 3 -한국기술교육대학교 전기전자통신공학부
Ø 접근 방법에 의한 분류
v RAM(Random Access Memory) : 접근 시간이 어느 위치나 동일하게 걸리는 메모리 형태
v SAM(Sequential Access Memory) : 원하는 위치에 도달하는데 일정한 시간이 경과되는 형태이므로 접근 시간은 위치에 따라서 다르다.
Ø 기록 기능에 의한 분류
v RWM(Read and Write Memory) : 기록과 판독 두 가지를 모두 수행할 수 있는 메모리 (RAM은 RWM 메모리를 의미).
v ROM(Read Only Memory) : 판독만 가능한 메모리
w Mask ROM(MROM) : 제조시 정보 기록
w PROM(Programmable ROM) : 제조 후 사용자가 기록할 수 있는 ROM
w Fuse-link PROM : 전기적 fuse를 사용하여 한번만 기록 가능
w EPROM(Erasable PROM) : 자외선으로 내용을 지운 후, 다시 기록 가능
w EEPROM(Electrically Erasable PROM) : 전기적으로 내용을 지우고 다시 기록 가능
- 4 -한국기술교육대학교 전기전자통신공학부
Ø 기억 방식에 의한 분류v 정적 RAM(Static RAM : SRAM) : 2진 정보를 저장하는 내부 Flip-flop으로 구성되
며, 저장된 정보는 전원이 공급되는 동안에 보존. 사용하기가 쉽고 읽기와 쓰기Cycle이 짧은 특징이 있다.
v 동적 RAM(Dynamic RAM : DRAM) : 2진 정보를 커패시터(C)에 공급되는 전하의형태로 보관. 전력 소비가 적고 단일 메모리 칩 내에 더 많은 정보를 저장할 수 있으며, refresh회로가 필요하다.
Ø 휘발성/비휘발성 메모리v 휘발성(volatile) 메모리 : 일정한 시간이 지나거나 전원이 꺼지면 기록된 내용이
지워지는 메모리 형태. RAM은 휘발성 메모리에 해당.
v 비휘발성(non-volatile) 메모리 : 전원이 차단되어도 기록된 정보가 계속 유지. 자기 코아나 자기 디스크, ROM은 비휘발성 메모리 – 예 : boot ROM
Ø 기억소자에 의한 분류v 바이폴라(bipolar) 메모리 : bipolar TR을 사용한 메모리로서 TTL, ECL 제조공정 적
용 . 액세스 시간이 빠르지만 소비전력이 크다.
v MOS 메모리 : pMOS, nMOS , CMOS를 사용한 메모리, 바이폴라 메모리에 비해서 속도가 느리지만 소비전력이 적어 대용량 메모리로 사용
- 5 -한국기술교육대학교 전기전자통신공학부
Ø 컴퓨터에서의 메모리
v 주기억장치(main memory) : 중앙처리장치(CPU: central processing unit)에의해 현재 실행되고 있는 프로그램과 데이터를 저장
v 보조기억장치(mass storage) : 이외에 다른 경우에 사용을 목적으로 프로그램과 데이터를 저장하며, 대용량, 하드디스크
v 주소버스와 제어버스는 단방향이지만 데이터버스는 양방향이다.
데이터 버스
RAM ROM 입력장치 출력장치
주소 버스
제어 버스
CPU
컴퓨터 시스템 블록도
- 6 -한국기술교육대학교 전기전자통신공학부
ROM (Read Only Memory)Ø ROM의 구성
v ROM은 AND 게이트와 OR 게이트로 구성된 조합논리회로v AND 게이트는 디코더 구성v OR 게이트는 디코더의 출력인 최소항들을 합하는데 사용되며, OR 게이트의 수는
ROM의 출력선의 수와 같다.
n개의입력선
메모리 배열2n 워드 m비트
ROM
×디코더
m개의 출력선
- 7 -한국기술교육대학교 전기전자통신공학부
v 32x4 ROM 구조 예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
32×4 ROM의 논리 표시
- 8 -한국기술교육대학교 전기전자통신공학부
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
- 9 -한국기술교육대학교 전기전자통신공학부
Ø ROM을 사용한 조합논리회로의 구현
§ 구현 예
åå
=
=
)2 0,(),(
)3 2, 1,(),(
2
1
mBAF
mBAF
2 4디코더
×
00A
F2
011011B
F1
2 4디코더
×
00A
F2
011011B
F1AND-OR 게이트의 ROM
AND-OR-NOT 게이트의 ROM
- 10 -한국기술교육대학교 전기전자통신공학부
예 : 2비트의 2진수를 입력하여 입력의 제곱에 해당하는 2진수를 출력하는 조합논리회로를 ROM을 사용하여 구현
입 력 출 력10진수
입 력 출 력
A1 A0 B3 B2 B1 B0 A1 A0 B3 B2
0011
0101
0001
0010
0000
0101
0149
0011
0101
0001
0010
2 4디코더
×
00A0
B3
011011
B2
A1
B1 B0
- 11 -한국기술교육대학교 전기전자통신공학부
RAM (Random Access Memory)qSRAM의 메모리 셀 구조와 동작v S=1일 때 이면 래치에 저장된 데이터 비트가 데이터 출력 단자를 통하
여 출력v S=1일 때 이면 데이터 입력 단자에 있던 데이터 비트가 래치에 저장
BinaryCell
R/W
데이터출력
데이터입력
선택입력(S)
SRAM의 메모리 셀 구조
0=WR/
1=WR/
QR 데이터출력
S
데이터입력
선택입력(S)
R/W
- 12 -한국기술교육대학교 전기전자통신공학부
Ø 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의 기본구조
- 13 -한국기술교육대학교 전기전자통신공학부
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
출력버퍼
입력데이터선택
출력열 디코더
A0A1A2A3A4A5A6A7
D0D1D2D3
CSR/W
SRAM256 4×
O0
O1
O2
O3
데이터 출력
주소입력
데이터 입력
WRITEREADEN
- 14 -한국기술교육대학교 전기전자통신공학부
메모리 확장Ø워드 길이 확장
v CS(chip select)는 RAM을 선택하는 입력
v : 선택된 RAM 칩의 읽기(read)와 쓰기(write) 동작을 제어
v 출력의 ▽ 표시는 3 상태(tri-state) 출력 표시
v CS=0이면 RAM 칩은 선택되지 않고 출력은 Hi-Z 상태
v CS=1이고 이면 주소에 의해 선택된 8비트의 데이터가 3상 출력 포트O0~O7으로 나온다.
두개의 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
~ ~
- 15 -한국기술교육대학교 전기전자통신공학부
v 워드길이 확장
2개의 1K×8 RAM을 사용하여 1K×16 RAM 구성
10주소
16비트 데이터 입력
16 비트데이터 출력
CSR/W 8
8
dataaddr
CS
dataaddr
CS
×RAM 1K 8
×RAM 1K 8
8
8
R/W
R/W
v 워드 용량 확장
16×4 RAM 2개를 사용하여 32×4 RAM 구성하는 경우
§ 32개의 주소가 존재하므로 주소입력버스의길이는 5
§ CS 신호를 사용하여 메모리 소자 선택- A4=0이면, A4A3A2A1A0=00000~01111 주소
- 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
- 16 -한국기술교육대학교 전기전자통신공학부
예: 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
A11 A10 A9 – A0 주소값
00ㅣ00
0000000000ㅣ
1111111111
0ㅣ
1023
01ㅣ01
0000000000ㅣ
1111111111
1024ㅣ
2047
10ㅣ10
0000000000ㅣ
1111111111
2048ㅣ
3071
11ㅣ11
0000000000ㅣ
1111111111
3072ㅣ
4095
- 17 -한국기술교육대학교 전기전자통신공학부
프로그램 가능 논리장치(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
- 18 -한국기술교육대학교 전기전자통신공학부
Ø PLD 종류
v PROM(Programmable ROM)
디코더의 역할을 하는 고정 AND 배열과 프로그램이 가능한 OR 배열로 구성되어 있다.PROM은 주소 지정 메모리로 사용된다.
v PLA(Programmable Logic Array)
AND 입력과 OR 입력 양쪽을 다 프로그램 할 수 있어서 가장 융통성 있게 프로그램 할 수 있다. 집적도가 저하된다.
v PLE(Programmable Logic Element)
AND 입력은 고정되고 OR 입력만 프로그램 가능
v PAL(Programmable Array Logic)
AND 입력만을 프로그램 할 수 있고 OR 입력은 고정
v GAL(Generic Array Logic)
- PAL과 마찬가지로 프로그램 가능한 AND 배열과 고정 OR 배열 및 출력논리로 구성
- 재 프로그램할 수 있고 또한 출력논리도 프로그램이 가능하다는 점이 PAL과 차이가 있다.
- 19 -한국기술교육대학교 전기전자통신공학부
PLA (Programmable Logic Array)v PLA 구조
3입력-3출력의 PLA의 구조
O2 O1 O0
I1I2 I0
AND Array
OR Array
예 : SOP 형식으로 표현된 논리함수가 주어졌다.주어진 구조의 PLA로 구현하여라.
BCBAYBCABCBAY
BCAABY
+=
++=
+=
3
2
1
xxxx
Y1 Y2 Y3
BA C
ABABCABBCAB
product term의개수 최소화 필요
미사용term
출력
입력
product term
SOP 혹은 SOM의논리 함수 구현
- 20 -한국기술교육대학교 전기전자통신공학부
PLE (Programmable Logic Element)v PLEv AND 게이트 입력은 고정되고 OR 게
이트 입력만 프로그램v PLA에 비해서 프로그래밍 상에 제한
이 있다. PROM과 유사
최소항입 력 출 력
B1 A1 B0 A0 C S1 S0
m0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15
0000000011111111
0000111100001111
0011001100110011
0101010101010101
0000000100011111
0001111011100001
0110011001100110
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
SOM의 논리함수 구현
- 21 -한국기술교육대학교 전기전자통신공학부
예 : 어떤 논리함수를 간략화하여 항의 수를 최소화한 결과 다음과 같은 논리함수를 얻었다고 하자. 이 논리함수를 PLE로 구현하여라.
å= )1(mX å= )2,0(mY å= )3,1,0(mZ
)(
)(
310
20
1
ABBAABABmmmZ
AABABmmY
ABmX
+==++=++=
==+=+=
==
X
AB
m0
m1
m2
m3
(BA)
BA
BA
BA
Y Z
Ø PLE로 구현하기 위하여서는SOM 논리 함수가 필요
- 22 -한국기술교육대학교 전기전자통신공학부
PAL (Programmable Array Logic)v PAL
- OR 게이트 입력은 고정되고 AND 게이트 입력만 프로그램
CDBDBCDCABY
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
예 : feedback이 있는 4입력 4출력 PAL구조에서 주어진 논리함수 실현
DCBADCADCBACABZ
DBCDBAY
BCDAX
DCBACABW
+++=
++=
+=+=
x
x
W
X
Y
Z
A
B
C
D
AAND 게이트 입력A B B C C D D WW
A A B B C C D D WW
- SOM 혹은 SOP의논리함수 구현
- 한 개의 출력에 입력되는 product term의개수가 제한됨
- 23 -한국기술교육대학교 전기전자통신공학부
v PLD 프로그래밍
§ PLD 프로그램에 필요한 요소- 프로그래밍 소프트웨어(논리 컴파일러)
- 프로그래머 (PLD 라이터)
YES
NO
START
논리회로설계
설계 입력
구문 에러
컴파일러 실행
설계 시뮬레이션
설계 에러
JEDEC 파일 생성
NO
YES
PLD 쓰기
END
edit
디버깅
PLD 프로그래밍 과정의 흐름도
- 24 -한국기술교육대학교 전기전자통신공학부
한 학기 동안 수고하셨습니다. ^ㅡ^