Chapter 2 메모리와프로그램논리장치
. 메모리의구조. 메모리개요 v 메모리번지레지스터 (MAR : memory address register) : 메모리액세스시특정워드의주소가 MAR 에전송된다. v 메모리버퍼레지스터 (MBR : memory buffer register) : 레지스터와외부장치사이에서전송되는데이터의통로. 메모리 MAR 입력주소 (n 비트 ) 2 n 개의워드워드당 m 비트 읽기제어신호 쓰기제어신호 n 비트로된 MAR 은최대 2 n 개 (~2 n -) 의메모리번지를표시. MBR 입력출력데이터 (m비트) - 2 -
2. 메모리의동작 q 메모리읽기 (read) 동작 선택된워드의주소를 MAR로전송한다. 2 읽기제어입력을동작시킨다. 메모리주소 ~23 메모리주소 ~23 MAR 45 46 47 48 MAR 45 46 47 48 MBR MBR 읽기동작전 읽기동작후 - 3 -
q 메모리쓰기 (write) 동작 지정된메모리의번지를 MAR로전송한다. 2 저장하려는데이터비트를 MBR로전송한다. 3 쓰기제어신호를동작시킨다. 메모리주소 ~23 메모리주소 ~23 MAR 45 46 47 48 MAR 45 46 47 48 MBR MBR 쓰기동작전 쓰기동작후 - 4 -
3. 메모리분류 반도체메모리 순차액세스메모리 랜덤액세스메모리 RAM ROM DRAM SRAM Mask ROM Field PROM Fuse-link PROM EPROM EEPROM 반도체메모리의분류 - 5 -
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) : 전기적으로내용을지우고다시기록가능 - 6 -
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 를사용한메모리, 바이폴라메모리에비해서속도가느리지만소비전력이적어대용량메모리로사용 - 7 -
4. 컴퓨터에서의메모리 v 주기억장치 (main memory) : 중앙처리장치 (CPU: central processing unit) 에의해현재실행되고있는프로그램과데이터를저장 v 보조기억장치 (mass storage) : 이외에다른경우에사용을목적으로프로그램과데이터를저장하며, 대용량임. v 주소버스와제어버스는단방향이지만데이터버스는양방향이다. RAM ROM 입력장치출력장치 데이터버스 CPU 주소버스 제어버스 컴퓨터시스템블록도 - 8 -
q ROM 의구성 2. ROM v ROM 은 AND 게이트와 OR 게이트로구성된조합논리회로 v AND 게이트는디코더를구성한다. v OR 게이트는디코더의출력인최소항들을합하는데사용되며, OR 게이트의수는 ROM 의출력선의수와같다. ROM n 개의입력선 디코더 메모리배열 2 n 워드 m비트 m 개의출력선 - 9 -
v 32x4 ROM 구조예 v 디코더의 5 비트주소입력으로부터선택되는최소항은입력의 5 비트와등가인 진수로표시되는최소항이다. v 디코더의 32 개출력은각각의 OR 게이트의퓨즈를통해연결된다. v 그림에는 OR 게이트의입력에는 32 4=28 개의내부퓨즈가있다. 최소항 주소입력 A A A 2 A 3 A 4 5 32 디코더 2 3 A A A 2 A 3 A 4 5 32 디코더 2 3 3 퓨즈링크 F F 2 F 3 F 4 F 3 F 2 F F 32 4 ROM 의내부논리구조 - -
v ROM 은 2 진데이터를표시하기위해각주소에해당하는워드의내용을나타내는진리표를사용한다. v 진리표에서입력은주소에해당하고, 출력은주소에대한워드의내용이다. [Example] 입력 출력 A 4 A 3 A 2 A A F 3 F 2 F F A A A 2 A 3 A 4 2 3 5 32 디코더 28 29 3 3 F 3 F 2 F F - -
q ROM 을사용한조합논리회로의구현 구현예 F ( A, B) = F ( A, B) = 2 å å m(, 2, 3) m(, 2) A B 2 4 디코더 A B 2 4 디코더 F 2 F F 2 F AND-OR 게이트의 ROM AND-OR-NOT 게이트의 ROM - 2 -
예제 2-2 비트의 2 진수를입력하여입력의제곱에해당하는 2 진수를출력하는조합논리회로를 ROM 을사용하여구현하여라. 입력출력입력출력 진수 A A B 3 B 2 B B A A B 3 B 2 4 9 A A 2 4 디코더 B 3 B 2 B B - 3 -
qsram의메모리셀구조와동작 S=일때 R/W = 3. RAM 이면래치에저장된데이터비트가데이터출력단자를통하여출력 S=일때 R/W = 이면데이터입력단자에있던데이터비트가래치로전송되어저장. 선택입력 (S) 선택입력 (S) 데이터입력 R Q 데이터출력 S 데이터입력 Binary Cell 데이터출력 R/W R/W SRAM 의메모리셀구조 - 4 -
q SRAM 의기본구조 v BC(binary cell) : 개의메모리셀을표시 v 인에이블입력이논리 이면 2 개의번지입력값에따라 4 개의워드중하나가선택된다. 데이터입력 D BC BC BC 주소입력 A A D 2 4 디코더 D 2 BC BC BC BC BC BC D 3 E BC BC BC R/W 4 3 정적 RAM 의기본구조 데이터출력 - 5 -
256 4 SRAM 의구조 D 3 D 2 D D 주소입력데이터입력 R/W CS A A A 2 A 3 A 4 A 5 A 6 A 7 D D D 2 D 3 WRITE READ EN SRAM 256 4 O O O 2 O 3 데이터출력 A A A 2 A 3 A 4 A 5 A 6 행디코더 32 8 8 8 8 32 32 Memory Cell Array 입력버퍼 입력데이터선택 A 7 8 8 8 8 R/W 출력열디코더 CS 출력버퍼 O 3 O 2 O O - 6 -
q 동적 RAM(Dynamic RAM, DRAM) DRAM 의메모리셀구조와동작 () Write v R/W = : 입력버퍼는 Enable, 출력버퍼는 Disable. v 메모리셀에논리 을저장하기위해서는 D in = 로하고, 행 (row) 입력이논리 이면트랜지스터는 ON 상태가되며, 콘덴서에는 (+) 전압충전. v 논리 을저장하기위해서는 D in = 으로하면콘덴서는충전되지않는다. (2) Read 콘덴서에논리 이저장되어있는경우는콘덴서는방전. v R/W =: 출력버퍼는 Enable, 입력버퍼는 Disable. v 행입력이논리 이면트랜지스터는 ON상태, 콘덴서는비트선을통하여출력버퍼에연결 v 저장된데이터는출력 (D out ) 을통하여외부로출력 열입력재충전버퍼 (3) 재충전 (Refresh) v R/W = : 행입력 =, 재충전입력 =이면트랜지스터가 ON되어컨덴서는비트선에연결 v 출력버퍼는 Enable되고, 저장된데이터비트는재충전입력이논리 이되어 Enable되므로재충전버퍼에다시입력 재충전입력행입력 D out R/W D in 출력버퍼콘덴서입력버퍼 DRAM 의메모리셀구조 - 7 -
DRAM 의구조 () 주소입력의멀티플렉싱 w 4비트의주소입력은 7비트의열과 7비트의행 ) 으로나누어진다. 먼저 RAS 입력에의해 7비트의행주소가입력되어행주소래치에저장되고, 다음에 CAS 입력 에의해 7 비트의열주소가입력되어열주소래치에저장된다. (2) 메모리재충전회로 메모리의재충전동작은모든메모리셀이행입력을통하여재충전이될때까지순차적으로각각의메모리셀을재충전한다. 이것을버스트 (burst) 재충전이라고하며, 2~4 ms마다반복한다. 재충전동안에는데이터를메모리로부터읽기와쓰기불가. 모든재충전을한번에하지않고 주소 RAS CAS 읽기와쓰기동작사이에행의 재충전동작을분배해서수행할수 있으며, 이경우에도재충전은 2~4 ms마다반복해야한다. A ~A 6 A 7 ~A 3 RAS A /A 7 A /A 8 A 2 /A 9 A 3 /A A 4 /A A 5 /A 2 A 6 /A 3 행주소래치 열주소래치 행주소디코더 행주소디코더 28 28 D in 28 28 Memory Cell Array D out CS CAS R/W CS - 8 -
q메모리확장 워드길이확장 v CS(chip select) 는 RAM을선택하는입력 v R/W : 선택된 RAM 칩의읽기 (read) 와쓰기 (write) 동작을제어 v 출력의 표시는 3 상태 (tri-state) 출력을표시 v CS=이면 RAM 칩은선택되지않고출력은 Hi-Z 상태가된다. v CS=이고 R/W =이면주소에의해선택된 8비트의데이터가출력선을통하여출력 A ~ A 3 두개의 6 4 RAM 을 6 8 RAM 으로확장 CS R/W D A A A 2 A 3 A A A 2 A 3 6 4 RAM 6 4 RAM O ~ ~ D 7 O 7-9 -
주소 예제 2-2 워드길이확장 2 개의 K 8 RAM 을사용하여 K 6 RAM 을구성하여라. 6 비트데이터입력 8 8 RAM K 8 data addr R/W R/W 8 CS CS data addr R/W CS RAM K 8 8 6 비트데이터출력 q 워드용량확장 A ~ A 3 A 4 R/W v 6 4 RAM 2 개를사용하여 32 4 RAM 을구성하는경우 v 32 개의서로다른주소가존재하므로주소버스의길이는 5. v A 4 = 이면, A 4 A 3 A 2 A A =~ v A 4 = 이면, A 4 A 3 A 2 A A =~ CS A A A 2 A 3 A A A 2 A 3 CS 6 4 RAM 6 4 RAM O O O 2 O 3 D ~ D 3 2 개의 6 4 RAM 을이용하여 32 4 RAM 으로확장 - 2 -
예제 2-3 K 8 RAM 4 개를사용하여 4K 8 RAM 을구성하여라. EN R/W A A A ~A 9 D ~D 7 2 4 디코더 8 3 2 RAM K 8 data addr RW CS RAM K 8 data addr RW CS RAM K 8 data addr RW CS RAM K 8 data addr RW CS ~23 24~247 248~37 372~495 8 D ~D 7-2 -
4. 프로그램가능논리장치 (PLD) v PLD(Programmable Logic Device) 는주로 AND 게이트와 OR 게이트의배열 (array) 구조를갖는 IC 이며각게이트입력에퓨즈링크 (fuse-link) 가연결되어있다. 사용자가적당한곳의퓨즈링크를전자적으로끊음으로써 AND- OR 즉적의합 (sum of product) 의형식으로된조합논리함수를실현할수있다. A B C A B C AND Gate Array 퓨즈링크 OR Gate Array Y Y 2 Y 3 Y Y 2 Y 3 PLD 의퓨즈링크 PLD 의개략도 - 22 -
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 과차이가있다. - 23 -
. PLA I 2 I I OR Array Y Y Y 예제 2-4 2 3 = AB + ABC = AB + BC + ABC = AB + BC 다음과같은 SOP 형식으로표현된논리함수가주어졌다. 이것을주어진구조의 PLA 로구현하여라. A B C AND Array O 2 O O 3 입력 -3 출력의 PLA 의구조 x x x x AB ABC AB BC AB Y Y 2 Y 3-24 -
2. PLE v AND 게이트입력은고정되고 OR 게이트입력만프로그램 v PLA 에비해서프로그래밍상에제한이있게된다. PLE 는 PROM 과유사. S S C B = = = å å å A B m(3, m(, m(7,,2,3,4,5) A 4, 5, 6, 8, 9,,5) 2, 5, 6, 9,,3,4) 2 비트 2 진수가산기의진리표 최소항 m m m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9 m m m 2 m 3 m 4 m 5 입력출력 B A B A S S C S S C X m m m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9 m m m 2 m 3 m 4 m 5-25 -
예제 2-5 어떤논리함수를간략화하여항의수를최소로한결과다음과같은논리함수를얻었다고하자. 이논리함수를 PLE 로구현하여라. X = å m() å Y = m(, 2) å Z = m(,, 3) X = m = BA B A Y Z = m = m + m 2 + m = B A + B A = ( = + m 3 A) = B A + BA + BA = ( = B + A) m (BA) m BA m 2 BA m 3 BA X Y Z - 26 -
3. PAL v OR 게이트입력은고정되고 AND 게이트입력만프로그램 2 3 4 5 6 7 8 9 2 3 4 5 A B C D AND Array (Programmable) x x x x x x x x OR Array( 고정 ) Y Y Y 2 X Y Y Y 2 = ABCD = ABCD + ABC + BCD = ABCD + BC + BD + CD 예제 2-6 다음과같은 4 입력 4 출력 PAL 구조에서주어진논리함수를실현 A B C W = ABC + ABCD Y = AB + CD + BD X = A + BCD Z = ABC + ABCD + ACD + ABCD AND 게이트입력 A A B B C C D D W W x x W X Y Z D A A B B C C D D W W - 27 -
q PAL 읽는방법 PAL 6 R 8 A 2 2 3 4 5 입력선의수를표시하며정 부논리를 조로계산 2 기능분류기호 ( 래치의유무 ) 3 출력래치가있는형인경우, 출력단자수를표시한다. 4 지연시간의버전을표시한다. 지연시간이클수록속도가느리다 ( 기호없음>A>B>D의순서임. 5 소비전력의형명임. 숫자가없는경우에비해 2는 ½, 4는 ¼의소비전력. - 28 -
5. PLD 프로그래밍 v PLD 프로그램에필요한 3 가지요소 Ø 프로그래밍소프트웨어 ( 논리컴파일러 ) Ø 컴퓨터 Ø 프로그래머 (PLD 라이터 ) 디버깅 edit YES START 논리회로설계설계입력구문에러 NO 컴파일러실행 설계시뮬레이션 YES 설계에러 NO JEDEC 파일생성 PLD 쓰기 PLD 프로그래밍과정의흐름도 END - 29 -
한학기동안수고하셨습니다. ^ ㅡ ^ - 3 -