24
Chapter 12 메모리와 프로그램 논리장치

Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

Page 2: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

반도체 메모리

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

RAM ROM

DRAM SRAMMaskROM

FieldPROM

Fuse-linkPROM

EPROM EEPROM반도체 메모리의 분류

메모리(memory) 분류

Page 3: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

Page 4: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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를 사용한 메모리, 바이폴라 메모리에 비해서 속도가 느리지만 소비전력이 적어 대용량 메모리로 사용

Page 5: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

Ø 컴퓨터에서의 메모리

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

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

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

데이터 버스

RAM ROM 입력장치 출력장치

주소 버스

제어 버스

CPU

컴퓨터 시스템 블록도

Page 6: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

ROM (Read Only Memory)Ø ROM의 구성

v ROM은 AND 게이트와 OR 게이트로 구성된 조합논리회로v AND 게이트는 디코더 구성v OR 게이트는 디코더의 출력인 최소항들을 합하는데 사용되며, OR 게이트의 수는

ROM의 출력선의 수와 같다.

n개의입력선

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

ROM

×디코더

m개의 출력선

Page 7: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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의 논리 표시

Page 8: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 9: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 10: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 11: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 12: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

Page 13: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 14: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

~ ~

Page 15: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 16: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 17: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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

Page 18: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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과 차이가 있다.

Page 19: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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의논리 함수 구현

Page 20: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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의 논리함수 구현

Page 21: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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 논리 함수가 필요

Page 22: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

- 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의개수가 제한됨

Page 23: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

v PLD 프로그래밍

§ PLD 프로그램에 필요한 요소- 프로그래밍 소프트웨어(논리 컴파일러)

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

YES

NO

START

논리회로설계

설계 입력

구문 에러

컴파일러 실행

설계 시뮬레이션

설계 에러

JEDEC 파일 생성

NO

YES

PLD 쓰기

END

edit

디버깅

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

Page 24: Chapter 12cms3.koreatech.ac.kr › sites › yjjang › down › dig13 › ch12_pld.pdf · 2016-10-31 · 한국기술교육대학교전기전자통신공학부 -7-v32x4ROM구조예

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

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