Chapter 12 › sites › yjjang › down › dig12 › ch... · 2016-10-31 · ram 1k 8× ram 1k...

Post on 03-Jul-2020

0 views 0 download

Transcript of Chapter 12 › sites › yjjang › down › dig12 › ch... · 2016-10-31 · ram 1k 8× ram 1k...

Chapter 12

메모리와 프로그램 논리장치

- 2 -한국기술교육대학교 전기전자통신공학부

1. 메모리 개요1. 메모리의 구조

v 메모리 번지 레지스터(MAR : memory address register) : 메모리 액세스시특정 워드의 주소가 MAR에 전송된다.

v 메모리 버퍼레지스터(MBR : memory buffer register) : 레지스터와 외부 장치 사이에서 전송되는 데이터의 통로.

입력주소(n비트)

메모리

2n개의 워드워드당 m비트

MAR

MBR

데이터(m비트)

입력 출력

읽기 제어 신호

쓰기 제어 신호

n비트로 된 MAR은 최대 2n개(0~2n-1)의 메모리 번지를 표시.

- 3 -한국기술교육대학교 전기전자통신공학부

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

- 5 -한국기술교육대학교 전기전자통신공학부

3. 메모리 분류

반도체 메모리

순차액세스메모리 랜덤액세스메모리

RAM ROM

DRAM SRAMMaskROM

FieldPROM

Fuse-linkPROM

EPROM EEPROM

반도체 메모리의 분류

- 6 -한국기술교육대학교 전기전자통신공학부

q 접근 방법에 의한 분류

v RAM(Random Access Memory) : 접근 시간이 어느 위치나 동일하게 걸리는 메모리 형태

v SAM(Sequential Access Memory) : 원하는 위치에 도달하는데 일정한 시간이 경과되는 형태이므로 접근 시간은 위치에 따라서 다르다.

q 기록 기능에 의한 분류

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) : 전기적으로 내용을 지우고 다시기록 가능

- 7 -한국기술교육대학교 전기전자통신공학부

q 기억 방식에 의한 분류

v 정적 RAM(Static RAM : SRAM) : 2진 정보를 저장하는 내부 Flip-flop으로구성되며, 저장된 정보는 전원이 공급되는 동안에 보존. 사용하기가 쉽고읽기와 쓰기 Cycle이 짧은 특징이 있다.

v 동적 RAM(Dynamic RAM : DRAM) : 2진 정보를 커패시터(C)에 공급되는전하의 형태로 보관. 전력 소비가 적고 단일 메모리 칩 내에 더 많은 정보를저장할 수 있으며, refresh회로가 필요하다.

q 휘발성/비휘발성 메모리

v 휘발성(volatile) 메모리 : 일정한 시간이 지나거나 전원이 꺼지면 기록된 내용이 지워지는 메모리 형태. RAM은 휘발성 메모리에 해당.

v 비휘발성(non-volatile) 메모리 : 전원이 차단되어도 기록된 정보가 계속유지. 자기 코아나 자기 디스크 메모리가 해당. boot ROM

q 기억소자에 의한 분류

v 바이폴라(bipolar) 메모리 : bipoar TR을 사용한 메모리로서 TTL, ECL 제조공정 적용 . 액세스 시간이 빠르지만 소비전력이 크다.

v MOS 메모리 : pMOS, nMOS , CMOS를 사용한 메모리, 바이폴라 메모리에 비해서 속도가 느리지만 소비전력이 적어 대용량 메모리로 사용

- 8 -한국기술교육대학교 전기전자통신공학부

4. 컴퓨터에서의 메모리

v 주기억장치(main memory) : 중앙처리장치(CPU: central processing unit)에 의해 현재 실행되고 있는 프로그램과 데이터를 저장

v 보조기억장치(mass storage) : 이외에 다른 경우에 사용을 목적으로 프로그램과 데이터를 저장하며, 대용량임.

v 주소버스와 제어버스는 단방향이지만 데이터버스는 양방향이다.

데이터 버스

RAM ROM 입력장치 출력장치

주소 버스

제어 버스

CPU

컴퓨터 시스템 블록도

- 9 -한국기술교육대학교 전기전자통신공학부

2. ROMq ROM의 구성

v ROM은 AND 게이트와 OR 게이트로 구성된 조합논리회로

v AND 게이트는 디코더를 구성한다.

v OR 게이트는 디코더의 출력인 최소항들을 합하는 데 사용되며, OR 게이트의 수는 ROM의 출력선의 수와 같다.

n개의입력선

메모리 배열2n 워드 m비트

ROM

×디코더

m개의 출력선

- 10 -한국기술교육대학교 전기전자통신공학부

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

- 11 -한국기술교육대학교 전기전자통신공학부

v ROM은 2진 데이터를 표시하기 위해 각 주소에 해당하는 워드의 내용을 나타내는 진리표를 사용한다.

v 진리표에서 입력은 주소에 해당하고, 출력은 주소에 대한 워드의 내용이다.

입 력 출 력

A4 A3 A2 A1 A0 F3 F2 F1 F00000

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

- 12 -한국기술교육대학교 전기전자통신공학부

q 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

- 13 -한국기술교육대학교 전기전자통신공학부

예제 12-1 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

- 14 -한국기술교육대학교 전기전자통신공학부

3. RAM

qSRAM의 메모리 셀 구조와 동작

⊙ S=1일 때 이면 래치에 저장된 데이터 비트가 데이터 출력 단자를통하여 출력

⊙ S=1일 때 이면 데이터 입력 단자에 있던 데이터 비트가 래치로 전송되어 저장.

BinaryCell

R/W

데이터출력

데이터입력

선택입력(S)

SRAM의 메모리 셀 구조

0=WR/

1=WR/

QR 데이터출력

S

데이터입력

선택입력(S)

R/W

- 15 -한국기술교육대학교 전기전자통신공학부

q 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의 기본구조

- 16 -한국기술교육대학교 전기전자통신공학부

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

- 17 -한국기술교육대학교 전기전자통신공학부

q동적 RAM(Dynamic RAM, DRAM)

§ DRAM의 메모리 셀 구조와 동작

(1) Write

v : 입력 버퍼는 Enable, 출력 버퍼는 Disable.

v 메모리 셀에 논리 1을 저장하기 위해서는 Din=1로 하고, 행(row) 입력이 논리 1이면트랜지스터는 ON상태가 되며, 콘덴서에는 (+) 전압 충전.

v 논리 0을 저장하기 위해서는 Din=0으로 하면 콘덴서는 충전되지 않는다.

콘덴서에 논리 1이 저장되어 있는 경우는 콘덴서는 방전.

출력버퍼

열 입력

입력버퍼

재충전 입력행 입력

재충전 버퍼

R/WDout

Din

콘덴서

DRAM의 메모리 셀 구조

0=WR/

(2) Read

v : 출력 버퍼는 Enable, 입력 버퍼는 Disable.

v 행 입력이 논리 1이면 트랜지스터는 ON상태, 콘덴서는 비트선을 통하여 출력 버퍼에 연결

v 저장된 데이터는 출력(Dout)을 통하여 외부로 출력

(3) 재충전(Refresh)

v : 행입력=1, 재충전입력=1이면 트랜지스터가 ON되어 컨덴서는 비트선에 연결

v 출력 버퍼는 Enable되고, 저장된 데이터 비트는 재충전 입력이 논리 1이 되어 Enable되므로 재충전 버퍼에 다시 입력

1=WR/

1=WR/

- 18 -한국기술교육대학교 전기전자통신공학부

§ DRAM의 구조

(1) 주소 입력의 멀티플렉싱

w 14비트의 주소 입력은 7비트의 열과 7비트의 행)으로 나누어진다. 먼저 입력에 의해 7비트의 행 주소가 입력되어 행 주소 래치에 저장되고, 다음에 입력에 의해 7비트의 열 주소가 입력되어 열 주소 래치에 저장된다.

(2) 메모리 재충전 회로§메모리의 재충전 동작은 모든 메모리 셀이 행 입력을 통하여 재충전이 될 때까지 순차적으로 각각의 메모리 셀을 재충전한다. 이것을 버스트(burst) 재충전이라고 하며,2~4㎳마다 반복한다. 재충전 동안에는 데이터를 메모리로부터 읽기와 쓰기불가.

§ 모든 재충전을 한 번에 하지 않고

읽기와 쓰기 동작 사이에 행의

재충전 동작을 분배해서 수행할 수

있으며, 이 경우에도 재충전은

2~4㎳마다 반복해야 한다.

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

주소

- 19 -한국기술교육대학교 전기전자통신공학부

q메모리 확장

§ 워드 길이 확장

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

~ ~

- 20 -한국기술교육대학교 전기전자통신공학부

예제 12-2 워드길이 확장

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

q 워드 용량 확장

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

- 21 -한국기술교육대학교 전기전자통신공학부

예제 12-3 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

- 22 -한국기술교육대학교 전기전자통신공학부

4. 프로그램 가능 논리장치(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

- 23 -한국기술교육대학교 전기전자통신공학부

q PLD 종류

v PROM(Programmable ROM)

PROM은 디코더의 역할을 하는 고정 AND 배열과 프로그램이 가능한 OR 배열로 구성되어 있다. PROM은 주소 지정 메모리로 사용된다.

v PLA(Programmable Logic Array)

AND 입력과 OR 입력 양쪽을 다 프로그램 할 수 있어서 가장 융통성 있게 프로그램 할수 있다. 그러나 동작속도와 집적도가 저하된다.

vPLE(Programmable Logic Element)

AND 입력은 고정되고 OR 입력만 프로그램 가능

vPAL(Programmable Array Logic)

AND 입력만을 프로그램 할 수 있고 OR 입력은 고정

v GAL(Generic Array Logic)

GAL은 여러 가지 PLD 중 가장 최근에 개발된 소자다. PAL과 마찬가지로 프로그램이가능한 AND 배열과 고정 OR 배열 및 출력논리로 구성되어 있으나 GAL은 다시 프로그램할 수 있고 또한 출력논리도 프로그램이 가능하다는 두 가지 점에서 PAL과 차이가 있다.

- 24 -한국기술교육대학교 전기전자통신공학부

1. PLA

3입력-3출력의 PLA의 구조

O2 O1 O0

I1I2 I0

AND Array

OR Array

예제 12-4 다음과 같은 SOP 형식으로 표현된 논리함수가 주어졌다. 이것을 주어진구조의 PLA로 구현하여라.

BCBAYBCABCBAY

BCAABY

+=

++=

+=

3

2

1

xxxx

Y1 Y2 Y3

BA C

ABABCABBCAB

- 25 -한국기술교육대학교 전기전자통신공학부

2. PLEv 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

- 26 -한국기술교육대학교 전기전자통신공학부

예제 12-5 어떤 논리함수를 간략화하여 항의 수를 최소로 한 결과 다음과 같은논리함수를 얻었다고 하자. 이 논리함수를 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

- 27 -한국기술교육대학교 전기전자통신공학부

3. PALv OR 게이트 입력은 고정되고

AND 게이트 입력만 프로그램

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

예제 12-6 다음과 같은 4입력 4출력 PAL구조에서 주어진 논리함수를 실현

DCBADCADCBACABZ

DBCDBAY

BCDAXDCBACABW

+++=

++=

+=+=

x

x

W

X

Y

Z

A

B

C

D

AAND 게이트 입력

A B B C C D D W W

A A B B C C D D W W

- 28 -한국기술교육대학교 전기전자통신공학부

q PAL 읽는 방법

① 입력선의 수를 표시하며 정•부논리를 1조로 계산

② 기능분류 기호(래치의 유무)

③ 출력 래치가 있는 형인 경우, 출력단자 수를 표시한다.

④ 지연시간의 버전을 표시한다. 지연시간이 클수록 속도가 느리다

(기호없음>A>B>D의 순서임.

⑤ 소비전력의 형명임. 숫자가 없는 경우에 비해 2는 ½, 4는 ¼의 소비전력.

PAL 16 R 8 A 2 ① ② ③ ④ ⑤

- 29 -한국기술교육대학교 전기전자통신공학부

5. PLD 프로그래밍

v PLD 프로그램에 필요한 3가지 요소

Ø 프로그래밍 소프트웨어(논리 컴파일러)

Ø 컴퓨터

Ø 프로그래머(PLD 라이터)

YES

NO

START

논리회로설계

설계 입력

구문 에러

컴파일러 실행

설계 시뮬레이션

설계 에러

JEDEC 파일 생성

NO

YES

PLD 쓰기

END

edit

디버깅

PLD 프로그래밍 과정의 흐름도

- 30 -한국기술교육대학교 전기전자통신공학부

한 학기 동안 수고하셨습니다. ^ㅡ^