. 메모리 목표 메모리의개요 Random Access Memory (RAM) Read Only Memory (ROM) 프로그램가능한 ROM (PROM) 비휘발성입 / 출력메모리 메모리패키지 대용량저장장치
반도체메모리의세가지특성 밀도 : 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) 2
메모리의구조 v 메모리번지레지스터 (MAR : memory address register) : 메모리액세스시특정워드의주소가 MAR 에전송된다. v 메모리버퍼레지스터 (MBR : memory buffer register) : 레지스터와외부장치사이에서전송되는데이터의통로. n 비트로된 MAR 은최대 2 n 개 (~2 n -) 의메모리번지를표시. MAR 입력주소 (n 비트 ) 메모리 2 n 개의워드워드당 m 비트 입력 MBR 출력 데이터 (m 비트 ) 읽기제어신호 쓰기제어신호 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 쓰기동작전 쓰기동작후 3. 메모리분류 반도체메모리 순차액세스메모리 랜덤액세스메모리 RAM ROM DRAM SRAM Mask ROM Field PROM Fuse-link PROM EPROM EEPROM 반도체메모리의분류 4
접근방법에의한분류 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) 메모리 : 전원이차단되어도기록된정보가계속유지. 자기코아나자기디스크메모리가해당. 디지털컴퓨터가동작하는데필요한프로그램을저장하는데사용 5
컴퓨터에서의메모리 v 주기억장치 ( main memory) : 중앙처리장치 (CPU: central processing unit) 에의해현재실행되고있는프로그램과데이터를저장 v 보조기억장치 (mass storage) : 이외에다른경우에사용을목적으로프로그램과데이터를저장하며, 대용량임. v 주소버스와제어버스는단방향이지만데이터버스는양방향이다. RAM ROM 입력장치출력장치 데이터버스 CPU 주소버스 제어버스 컴퓨터시스템블록도 ROM 의구성 v ROM 은 AND 게이트와 OR 게이트로구성된조합논리회로 v AND 게이트는디코더를구성한다. v OR 게이트는디코더의출력인최소항들을합하는데사용되며, OR 게이트의수는 ROM 의출력선의수와같다. ROM n 개의입력선 디코더 메모리배열 2 n 워드 m비트 m 개의출력선 6
v 번지입력은 5 비트이며디코더로부터선택되는최소항은입력의 5 비트와등가인 진수로표시되는최소항이다. v 디코더의 32 개출력은각각의 OR 게이트의퓨즈를통해연결된다. v 그림에는 OR 게이트의입력에는실제로 32 4=28 개의내부퓨즈가있다. 최소항 주소입력 A A 2 A 4 5 32 디코더 2 3 A A 2 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 2 A F 3 F 2 F F A A 2 A 4 2 3 5 32 디코더 28 29 3 3 F 3 F 2 F F 7
2. ROM 의종류 마스크 ROM v 제조과정에서제작자에의해마지막조립과정에서프로그래밍되며, ROM 에프로그램된것은절대변경할수없다. PROM v 사용자가특별한프로그램장치를이용하여프로그램을할수있으며, 일단프로그램을하면퓨즈의연결형태가그대로유지되며, 변경할수없다. EPROM v 퓨즈가절단되어도모든퓨즈들이절단되지않은초기상태로복원할수있는 ROM 이다. 복원하는과정은일정시간자외선을쪼이면된다. EEPROM v EPROM과같으나, 지우는 PROM이다. 복원과정에서자외선대신에전기신호를사용하여 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 8
RAM SRAM의메모리셀구조와동작 S=일때 = 이면래치에저장된데이터비트가데이터출력단자를 통하여출력 S=일때 = 이면데이터입력단자에있던데이터비트가래치로 전송되어저장. 선택입력 (S) 선택입력 (S) 데이터입력 R Q 데이터출력 데이터입력 Binary Cell 데이터출력 S SRAM 의메모리셀구조 SRAM 의기본구조 v (binary cell) : 개의메모리셀을표시 v 인에이블입력이논리 이면 2 개의번지입력값에따라 4 개의워드중하나가선택된다. 데이터입력 D A 주 소입력 A D 2 4 디코더 D 2 D 3 E 4 3 정적 RAM 의기본구조 데이터출력 9
주소입력 데이터입력 A A 2 A 4 A 5 A 6 A 7 D D D 2 D 3 SRAM 256 4 WRITE READ EN O O O 2 O 3 데이터출력 256 4 SRAM 의외부구조 D 3 D 2 D D 256 4 SRAM 의기본구조 입력버퍼 A 행디코더 8 8 8 8 입력데이터선택 A 2 A 4 A 5 32 32 32 Memory Cell Array A 6 A 7 8 8 8 8 출력열디코더 출력버퍼 O 3 O 2 O O
동적 RAM(DRAM) DRAM 의메모리셀구조와동작 () Write v = : 입력버퍼는 Enable, 출력버퍼는 Disable. v 메모리셀에논리 을저장하기위해서는 D in =로하고, 행 (row) 입력이논리 이면트랜지스터는 ON상태가되며, 콘덴서에는양 (+) 의전압이충전. v 논리 을저장하기위해서는 D in =으로하면축전기는충전되지않는다. v 축전기에논리 이저장되어있는경우는축전기는방전. 열입력재충전버퍼 재충전입력행입력 D out D in 출력버퍼 입력버퍼 콘덴서 DRAM 의메모리셀구조 (2) Read v : = 출력버퍼는 Enable, 입력버퍼는 Disable. v 행 (row) 입력이논리 이면트랜지스터는 ON상태가되며, 축전기는비트선 (bit line) 을통하여출력버퍼에연결 v 저장된데이터는출력 (D out ) 을통하여외부로출력 (3) 재충전 (Refresh) v, = 행 (row) 입력 =, 재충전 (refresh) 입력 =로하면트랜지스터가 ON이되어축전기는비트선에연결 v 출력버퍼는 Enable되고, 저장된데이터비트는재충전입력이논리 이되어 Enable되므로재충전버퍼에다시입력
DRAM의기본구조 () 주소입력의멀티플렉싱 4비트의주소입력은 7비트의열 (column) 과 7비트의행 (row) 으로나누어진다. 먼저 RAS 신호입력에의해 7비트의행주소가입력되어행주소래치에저장되고, 그다음에 CAS 신호입력에의해 7비트의열주소가입력되어열주소래치에저장된다. RAS /A 7 D in 주소 ~A 6 A 7 ~ RAS A /A 8 A 2 /A 9 / A 4 /A A 5 /A 2 A 6 / 행주소래치 행주소디코더 28 28 28 Memory Cell Array D out CAS 열주소래치 행주소디코더 28 CAS (2) 메모리재충전회로 v 메모리의재충전동작은모든메모리셀이행입력을통하여재충전이될때까지순차적으로각각의메모리셀들을재충전한다. 이것을버스트 (burst) 재충전이라고하며, 2~4 ms마다반복한다. 재충전이되는동안에는데이터를메모리로부터읽기 (read) 와쓰기 (write) 를할수없다. v 모든재충전을한번에하지않고읽기와쓰기동작사이에행의재충전동작을분배해서수행할수있으며, 이경우에도재충전은 2~4 ms마다반복해야한다. 2
메모리확장 워드길이확장 v (chip select) 는 RAM을선택하는입력 v : 선택된 RAM 칩의읽기 (read) 와쓰기 (write) 동작을제어 v 출력의 표시는 3 상태 (tri-state) 출력을표시 v =이면 RAM 칩은선택되지않고출력은 Hi-Z 상태가된다. v =이고 = 이면주소에의해선택된 8비트의데이터가출력선을통하여출력 ~ 두개의 6 4 RAM 을 6 8 RAM 으로확장 D A A 2 A A 2 6 4 RAM 6 4 RAM O ~ ~ D 7 O 7 워드용량확장 v 6 4 RAM 2개를사용하여 32 4 RAM을구성하는경우 v 32개의서로다른주소가존재하므로주소버스의길이는 5. v A 4 =이면, A 4 A 2 A =~ v A 4 =이면, A 4 A 2 A =~ ~ A 4 A A 2 A A 2 6 4 RAM 6 4 RAM O O O 2 O 3 D ~ D 3 2 개의 6 4 RAM 을이용하여 32 4 RAM 으로확장 3
K 8 RAM 4 개를사용하여 4K 8 RAM 을구성하여라. EN A ~A 9 D ~D 7 2 4 8 디코더 3 2 RAM K 8 data addr RW RAM K 8 data addr 24~247 RW RAM K 8 data addr RW ~23 248~37 RAM K 8 data addr 372~495 RW 8 D ~D 7 프로그램가능논리장치 (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 의개략도 4
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 과차이가있다.. PLA I 2 I I OR Array AND Array 3 입력 -3 출력의 PLA 의구조 O 2 O O 5
2. PLE v AND 게이트입력은고정되고 OR 게이트입력만프로그램 v PLA에비해서프로그래밍상에제한이있게된다. PLE는 PROM과유사. 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 S S C B A B S S = C = å å å = m m (3, 4, 5, 6, 8, 9,,5) (, 2, 5, 6, 9,,3,4) m(7,,2,3,4,5) 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 S S C 6
3. PAL v OR 게이트입력은고정되고 AND 게이트입력만프로그램 v PLA 에비해서프로그래밍상에제한이있지만현재가장많이쓰이는 PLD 이다. Example Y = AD Y = AD + A + D Y = AD + + BD + CD 2 Y = AD Y = AD + A + D Y = AD + + BD + CD 2 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 X Y 2 7
4. GAL v GAL(Generic Array Logic) 은반복적으로프로그램이가능한 AND 배열이고정 OR 배열에연결된구조를갖고있기때문에 PAL 과마찬가지로어떠한 SOP 형태의논리식도구현할수있다. v 반복적으로프로그램이가능한배열은행과열로된도체의격자로서각교차점은 PAL 의퓨즈와는달리 셀로구성되어있다. A A B B F GAL 의기본적인 배열구조 Example : 아래논리함수를 GAL로구현 F = AB + AB + AB A A B B on off off off off off on off off on off off off off on off F off on off off off off off on 8