1. 기억장치의 개요
- 처리할 프로그램과 데이터를 기억하거나 처리한 후의 결과를 기억하는 장치
- 주기억장치와 보조기억장치로 구분
- 주 기억장치: RAM, ROM, PLD
- 보조기억장치: 자기 테이프, 플로피 디스크, 하드 디스크, 레이저 디스크 등
기억 장치는 2진 기억소자의 모임
- 기억장치에 기억디는 정보는 2진 비트들의 조합
- 기억장치 내부에 이러한 비트들의 조합이 배열되어 데이터 기억
- 2진 데이터가 기억장치에 저장되는 단위는 단어
단어
- 단어는 m개의 비트로 구성(m은 8, 16, 32, 64)
- 각 단어의 위치는 주소 부여
기억장치 성능
- 기억장치의 정보를 읽거나 기록하는 속도에 좌우
- 한 워드를 읽어내는데 걸리는 시간 - 액세스 타임
반도체 메모리
- F/F 회로를 실리콘 칩에 고밀도로 집적화한 것
-> RAM (Random Access Memory)
-> ROM (Read Only Memory)
PLD (Programmable Logic Device)
- 전자적 퓨즈로 접속된 내부 논리 게이트를 갖고 있는 집적회로
- 읽기만 간으한 기억 장치
2. RAM
- 임의의 기억장소에 사용자가 작성한 프로그램이나
- 데이터를 저장할 수 있고,
- 필요할 때마다 그 내용을 읽어낼 수 있을 뿐만 아니라, 자유롭게 변경시킬 수 있는 기억장치
- 전원이 없으면 정보가 손실되므로 휘발성 메모리라고 함
- RWM(Read Write Memory)라고도 함
SRAM(Static RAM)
- F/F으로 구성되어 사용하기 용이
- 고속의 액세스 타임
- 주로 캐시 메모리(cache memory)로 사용
DRAM(Dynamic RAM)
- 커패시터(capacitor)로 충전되는 전하의 형태로 정보 저장
- 주기적으로 커패시터를 충전시키는 동작 필요 (refreshing 동작)
- 주로 컴퓨터의 주기억장치로 사용
RAM의 블럭도
데이터 입, 출력선
- 저장시킬 정보를 저장장치에 전달하고, 저장되어 있는 정보를 외부장치로 내보낸다.
주소선
- 기억장치 내의 단어를 선택 (1024개의 워드를 하나하나 지정할 수 있는)
제어선
- 쓰기는 정보를 기억장치로 전송
- 읽기는 정보를 외부로 전송
RAM의 블럭도
기억장치의 규모
- 저장할 수 있는 단어의 수와 각 단어를 구성하는 비트 수로 정의 예) 2^k x n
- 저장할 수 있는 단어 수는 2k 개, 각 단어는 n 비트
- 주소선으로 기억장치 내의 특정단어를 선택 가능
-각 단어는 그 위치를 나타내는 주소로 할당
☞ 예를들어 주소선의 수가 k라면
- 주소는 0 부터 2k -1 까지의 범위를 갖는다.
☞ 즉, 2^k×n 인 기억장치의 특정단어를 선택하려면 K 비트의 주소를 사용하면 된다.
1024 단어가 들어있다고 하면 2의 10승 => 10비트의 주소선이 있어야 한다
(1) 내부 구성
메모리 셀 = MC
데이터 출력 값이 배열로 되어 있고 하나 하나가 출력으로 나오게 되고, 선택된 번지의 address에 되어 있는 단어다.
내부 구조
- 메모리 셀(기억소자)과 디코딩 회로(단어선택)로 구성
- 메모리 셀(MC: Memory Cell): RAM구성의 기본 단위, F/F 회로로 구성
메모리 셀의 구조
선택단자(E) : 기억소자 선택
읽기/쓰기 단자(R/W) : 기억소자에 대한 읽기/쓰기 모드 결정
- R/W=1 : 읽기모드를 수행하기 위하여 F/F과 출력단자 사이에 경로를 형성하여 출력이 나타나게 한다.
- R/W=0 : 쓰기모드를 수행하기 위하여 입력단자로 부터 F/F으로 경로를 형성하게 되어 입력단자의 정보가 기억소자(F/F)에 기억된다.
메모리 셀을 이용해 4x4 램의 내부 구조
=> 4비트, 4개의 단어
- 기억부, 해독부, 제어부로 구성
기억부
- 여러 개의 메모리 셀로 이루어진 부분
- 2차원의 테이블 혹은 행렬 형태
해독부
- 디코더로 구성
- 디코더는 기억장치 선택입력에 의해 구동
제어부
- 읽기/쓰기단자의 입력신호에 따라 데이터의 입,출력을 제어하는 부분
=> 주소 입력에 의해 각 단어가 선택됨
=> 기억장치 선택 입력에 의해
- 선택입력이 0: 단어를 선택하지 않고
- 선택입력이 1: 주소 입력값에 따라 단어 선택
(2) RAM의 확장
- 개개의 RAM을 서로 연결하면 더 큰 용량의 기억장치 구성 가능
- 기억장치 용량 : 단어의 수와 단어를 나타내는 비트 수에 의해 결정
※ 기억장치 용량 증가 방법
1) 기억장치내의 단어의 수를 증가시키는 방법
- 단어의 수는 주소선의 수와 관련
- 따라서 단어를 선택하는 주소의 길이를 증가
- 결국 주소선의 비트 수를 늘이는 방법
2) 단어의 비트 수를 증가시키는 방법
- RAM을 병렬 연결
i) 단어의 수를 증가 (2^k 부분)
※ 1K×8 RAM
- 8비트로 표현된 1K(=1024)개의 단어를 가짐
따라서
- 10비트의 주소선과
- 각각 8개의 입, 출력선이 필요
※ 단어의 수를 증가시키는 방법
- 주소 비트를 1 증가시키면 기억용량, 즉 단어의 수는 2배 증가
- 따라서 2개의 RAM을 사용하면 단어의 수는 2배 증가하므로 주소 비트를 1 증가시키면 된다.
10비트 => 1 ~10 : 4개 RAM 주소선에 공통 연결
디코더를 장착 시켜서 4개 중에 어떤 것을 선택할 것인지를 결정 => 추가적으로 선택할 수 있도록 해주겠다는 것
(입력 2개 필요 => 11, 12번 비트가 입력으로 연결됨)
결론적으로 1k x 8 램을 4배로 연결시키면 => 용량을 4배로 증가시킬 수 있다.
그러려면 주소선이 늘어나야 하고, 이때 2비트의 주소선이 늘어나게 되는데 기본적으로 10비트가 1kx8이라는 하나의 램에 대한 주소에 대한 정보를 갖고 있다면 추가 되는 두 개의 주소선은 칩 선택을 하는데 사용해서, 1,2,3,4 번을 선택할 수 있으므로 조정이 가능
=> 통합해서 사용 가능
ii) 단어의 비트 수를 증가 (n 부분)
※ 1K×8 RAM → 1K×16 RAM 확장
1K×8 RAM 2개를 병렬 연결
- 각 단어의 수는 증가하지 않고,
- 각 단어의 비트 수가 2배, 즉 16비트로 증가
16개의 입출력선
- 2개의 RAM에 각각 입,출력
주소선과 칩 선택, 읽기/쓰기 입력
- 2개의 RAM에 공통으로 입력
=> 이 두가지 방법을 각각 할 수도 있고 혼용해서 사용할 수도 있다.
3. ROM
ROM(Read Only Memory)이란?
- 기록되어 있는 데이터를 읽어낼 수만 있는 기억장치
- 내용을 변경할 수 없고, 전원을 끊어도 내용이 소멸되지 않음
ROM의 종류
- 마스크 ROM : 한번 저장한 것은 내용을 바꿀 수 없는 ROM
- PROM(Programmable ROM): 사용자가 데이터를 써 넣을 수 있는 프로그래밍이 가능한 ROM(기록된 내용은 변경 불가)
- EPROM(Erasable PROM): 한번 쓴 내용을 지울 수 있는 ROM
롬의 구성
ROM은 고정된 2진 정보를 저장하는 기억장치
- 2진 정보는 설계자에 의해 결정되고,
- 필요한 내부 연결 패턴을 기억장치 내에 형성함으로써 구현
ROM 칩은 디코더와 여러 개의 OR 게이트로 구성
- ROM은 특별한 패턴 구조로 프로그래밍할 수 있는 내부의 전자 퓨즈선으로 구성
- 일단 한 형태로 프로그래밍되면 전원의 유무에 상관없이 그 패턴을 유지
고정된 2진 정보를 보관할 수 있도록 한다.
8×4 ROM의 블럭도
-8개의 입력과 4개의 출력
8×4 ROM의 진리표
- 3개의 입력선 조합에 대한 ROM의 출력값
- 예를 들어
-> 입력선 X,Y, Z 의 조합이 000 이면 출력선에는 F3 F2 F1 F0 = 0101 이 나타난다.
-> 이 때 출력값은 ROM에 저장된 한 단어
ROM의 기본 구조
- 디코더와 OR 게이트로 구성
- k개의 입력이 디코더에 가해지면 2k 개의 디코더 출력 중 하나가 1이 된다.
- 이 디코더의 출력이 메모리 배열 중에서 1개의 단어를 출력하고, 이 단어의 비트들이 출력단자에 나타난다.
8 X 4 ROM의 내부구조
3×8 디코더는 3개의 입력과 8개의 출력
디코더의 출력은 메모리 배열의 주소를 가르킴
- 디코더의 출력은 퓨즈선을 통하여 4개의 OR 게이트와 연결
- 이때 각 OR 게이트는 내부적으로 8개의 입력을 갖고 있다.
-즉, 8개의 내부 입력선을 갖는 4개의 OR 게이트 이므로, 총 8×4=32 개의 퓨즈선으로 연결
OR 게이트의 연결논리와 전자 퓨즈선의 표현
주의 할 점은 x 표시가 연결이 되어있다는 것을 의미!
ROM은 디코더와 OR 게이트로 이루어진 논리회로
따라서 ROM을 이용하여 부울함수 구현 가능
예시 :8×4 ROM을 이용하여 부울함수 구현
'CS > 디지털논리회로' 카테고리의 다른 글
PLD의 구조와 종류, PLA의 내부구조, PLA를 이용한 부울함수, PAL의 내부구조, PAL을 이용한 부울함수 구현 (0) | 2023.06.15 |
---|---|
레지스터와 카운터, 동기식 2진 카운터, 모듈로-N 카운터, 링 카운터, 존슨 카운터, 카운터의 설계 (0) | 2023.06.15 |
레지스터, 데이터 적재 레지스터, 시프트 레지스터, 카운터, 비동기식 카운터 (0) | 2023.06.15 |
순서논리회로의 설계 과정 및 예시, D 플립플롭, JK 플립플롭 입출력 방정식 및 상태표 작성 (0) | 2023.06.15 |
순서논리회로의 분석, 상태표, 상태도 (0) | 2023.06.15 |