
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37


목차
7장 정리
- 레지스터
-카운터
- 메모리
- 레지스터
-카운터
- 메모리
본문내용
간.
(2) 직렬 가산기
- 6비트 직렬 가산기
- 최하위 비트 위치에 대한 자리 올림수가 0이므로 덧셈을 시작할 때 자리 올림수 f/f을 reset한다.
- sum은 A의 최상위 비트에 들어 간다.
(3) 직렬 2의 보수기
- copy- complement algorithm을 사용
* 레지스터의 최하위 비트부터 조사
* 모든 연속적인 0비트와 첫 번째 1은 그대로, 나머지 비트는 보수
ex) 10110101000
보수 복사
01001011000
7.3 카운터
- counter pulse: 규칙적이거나 불규칙적
- 동기식 카운터, 비동기식 카운터
* 동기식 카운터: clock pulse가 모든 f/f의 클록펄스입력단자에 동시에 가해짐.
* 비동기식 카운터: 다른 f/f의 전이에 따라 trigger됨.
- 증가 카운터, 감소 카운터, 증감 카운터
7.3.1 비동기식 카운터
(1) ripple counter
한 f/f의 전이가 다른 f/f을 trigger시키는 입력으로 사용.
- 비동기식 2진 리플 증가 카운터
* 보수기능이 있는 T f/f, JK f/f이 직렬 연결
* 최하위 비트를 저장한 f/f만 clock pulse가 입력
* 하강 에지에서 다음 f/f이 동작
0000 0100 1000 1100
0001 0101 1001 1101
0010 0110 1010 1110
0011 0111 1011 1111
* 비동기식인 경우 전파지연으로 인한 pulse의 주파수
ex) 각 f/f의 전파지연 시간=10ns라면
전체 지연시간= 40ns.
∴ clock 시간이 40ns이하이면 정상적인 counting을 할 수 없다.
일반적으로,N: f/f의 단계수
tp: f/f 한 단의 지연시간
T: clock pulse의 주기
T≥N×tp
fmax=1/(N×tp)
N=4이고 t=10ns라면
fmax=1/(4×10ns)=25MHz
정상적으로 동작하기 위해서는 fmax=25MHz
- 2진 리플 감소 카운터
* 최하위 비트는 매 클록마다 보수
* 상승 에지에서 다음 f/f이 동작
A1는 A0가 0에서 1로변할 때 변함
A2는 A1가 0에서 1로변할 때 변함
A3는 A2가 0에서 1로변할 때 변함
- 10진 리플 카운터
- 하강 에지에서 동작
7.3.2 동기식 카운터
(1) 동기식 2진 증가 카운터
- 하강 에지에서 트리거
- 낮은 위치에 있는 모든 f/f이 1일 때 펄스와 함께 보수를 취한다.
(2) 동기식 2진 증감 카운터
(3) 동기식 카운터의 설계
[2진 증가 카운터]
- 입력: count pulse
- 출력: 현재 상태
JA=KA=BC, JB=KB=C, JC=KC=1
[10진
카운터]
TQ1=1, TQ2=Q8'Q1, TQ4=Q2Q1,
TQ8=Q8Q1+Q4Q2Q1, y=Q8Q1
- 미사용상태(1010-1111)로 들어가면 몇 상태를 거친 후 정상상태로 되돌아 온다.(자기 정정)
ex) 1010이 입력하면 1011을 거친 후 0110으로
(4) 병렬 로드가 가능한 동기식 카운터
7.3.3 타이밍 신호
- 제어장치는 타이밍 신호에의해 동작순서를 결정.
- 타이밍 신호는 카운터, 시프트 레지스터 등을 사용하여 구현.
(1) 워드 타임 신호의 발생
- 직렬 모드의 레지스터의 전달에 사용되는 워드타임 신호를 만들어 내는 회로
(2) 타이밍 신호 발생
- 타이밍신호: 하나의 클럭 펄스동안 하나의 operation(micro-op)이 실행하도록 발생하는 신호.
[링카운터를 이용한 타이밍 신호 생성]
- 링카운터: 임의 시간에 한 개의 f/f만 1이 되고 나머지는 모두 0이 되는 카운터
[n비트 카운터와 n×2n디코더를 이용한 타이밍 신호생성]
[존슨 카운터]
- 존슨 카운터(switch-tail ring counter): 마지막 f/f의 출력의 보수를 첫 f/f의 입력에 연결한 순환 시프트 레지스터, n비트로 2n개의 상태를 생성
7.4 메모리
- 데이터를 저장하고 검색하는 방식에 따라 분류
(1) RAM(random access memory)
RWM(read/write memory)
ROM(read only memory)
(2) associative memory, CAM(content addressable memory)
(3) SAM
(4) DAM
7.4.1 RAM
(1) RWM
* 메모리 read: MAR←주소, READ←1
* 메모리 write: MBR←내용, WRITE←1
* 메모리 워드: access되는 데이터 단위
- 반도체 RAM: 정적 RAM(SRAM), 동적 RAM(DRAM)
- 정적 RAM의 메모리 셀: f/f으로 구성되므로 전원이 공급하는 한 셀의 내용은 변함이 없다.
- 동적 RAM의 메모리셀: capacitor를 이용하므로 시간이 지남에 따라 방전하므로 refresh하는 회로가 필요.
- 정적, 동적 RAM의 차이점:
* 동적 RAM은 재생회로가 필요하고 재생시간이 필요하므로 속도가 느리다.
* 정적 RAM 보다 집적도가 좋다.
[정적 RAM]
[동적 RAM]
7.4.2 associative memory
- 메모리 주소에 의해 access하는 것이 아니라 내용에 의해 access함.
- 데이터 레지스터: 탐색될 데이터를 기억
- 마스크 레지스터: 마스크 저장
- 워드 선택 레지스터: 탐색 작업에 포함될 워드를 가리킨다.
- 결과 레지스터: 선택된 데이터가 데이터 레지스터의 내용과 일치하면 1
- MMR(multiple match resolver)
[예]
- Q: 메모리의 내용
- M=0이면 항상 R=1
- 워드는 워드내의 모든 셀의 반응 출력이 1이면 response는 1.
7.4.3 순차 액세스 메모리(stack & queue)
- FIFO(first-in first-out): Queue
-
LIFO(last-in first-out): stack
7.4.4 DAM(direct access memory)
7장 정리
- 레지스터
병렬 레지스터
시프트 레지스터
-※ 카운터
비동기식 카운터(리플 카운터, 2진 증가 카운터, 2진 감소 카운터, 10진 리플 카운터)
동기식 카운터
- 메모리
RAM: 정적 RAM, 동적 RAM
assocaitive memory
(2) 직렬 가산기
- 6비트 직렬 가산기
- 최하위 비트 위치에 대한 자리 올림수가 0이므로 덧셈을 시작할 때 자리 올림수 f/f을 reset한다.
- sum은 A의 최상위 비트에 들어 간다.
(3) 직렬 2의 보수기
- copy- complement algorithm을 사용
* 레지스터의 최하위 비트부터 조사
* 모든 연속적인 0비트와 첫 번째 1은 그대로, 나머지 비트는 보수
ex) 10110101000
보수 복사
01001011000
7.3 카운터
- counter pulse: 규칙적이거나 불규칙적
- 동기식 카운터, 비동기식 카운터
* 동기식 카운터: clock pulse가 모든 f/f의 클록펄스입력단자에 동시에 가해짐.
* 비동기식 카운터: 다른 f/f의 전이에 따라 trigger됨.
- 증가 카운터, 감소 카운터, 증감 카운터
7.3.1 비동기식 카운터
(1) ripple counter
한 f/f의 전이가 다른 f/f을 trigger시키는 입력으로 사용.
- 비동기식 2진 리플 증가 카운터
* 보수기능이 있는 T f/f, JK f/f이 직렬 연결
* 최하위 비트를 저장한 f/f만 clock pulse가 입력
* 하강 에지에서 다음 f/f이 동작
0000 0100 1000 1100
0001 0101 1001 1101
0010 0110 1010 1110
0011 0111 1011 1111
* 비동기식인 경우 전파지연으로 인한 pulse의 주파수
ex) 각 f/f의 전파지연 시간=10ns라면
전체 지연시간= 40ns.
∴ clock 시간이 40ns이하이면 정상적인 counting을 할 수 없다.
일반적으로,N: f/f의 단계수
tp: f/f 한 단의 지연시간
T: clock pulse의 주기
T≥N×tp
fmax=1/(N×tp)
N=4이고 t=10ns라면
fmax=1/(4×10ns)=25MHz
정상적으로 동작하기 위해서는 fmax=25MHz
- 2진 리플 감소 카운터
* 최하위 비트는 매 클록마다 보수
* 상승 에지에서 다음 f/f이 동작
A1는 A0가 0에서 1로변할 때 변함
A2는 A1가 0에서 1로변할 때 변함
A3는 A2가 0에서 1로변할 때 변함
- 10진 리플 카운터
- 하강 에지에서 동작
7.3.2 동기식 카운터
(1) 동기식 2진 증가 카운터
- 하강 에지에서 트리거
- 낮은 위치에 있는 모든 f/f이 1일 때 펄스와 함께 보수를 취한다.
(2) 동기식 2진 증감 카운터
(3) 동기식 카운터의 설계
[2진 증가 카운터]
- 입력: count pulse
- 출력: 현재 상태
JA=KA=BC, JB=KB=C, JC=KC=1
[10진
카운터]
TQ1=1, TQ2=Q8'Q1, TQ4=Q2Q1,
TQ8=Q8Q1+Q4Q2Q1, y=Q8Q1
- 미사용상태(1010-1111)로 들어가면 몇 상태를 거친 후 정상상태로 되돌아 온다.(자기 정정)
ex) 1010이 입력하면 1011을 거친 후 0110으로
(4) 병렬 로드가 가능한 동기식 카운터
7.3.3 타이밍 신호
- 제어장치는 타이밍 신호에의해 동작순서를 결정.
- 타이밍 신호는 카운터, 시프트 레지스터 등을 사용하여 구현.
(1) 워드 타임 신호의 발생
- 직렬 모드의 레지스터의 전달에 사용되는 워드타임 신호를 만들어 내는 회로
(2) 타이밍 신호 발생
- 타이밍신호: 하나의 클럭 펄스동안 하나의 operation(micro-op)이 실행하도록 발생하는 신호.
[링카운터를 이용한 타이밍 신호 생성]
- 링카운터: 임의 시간에 한 개의 f/f만 1이 되고 나머지는 모두 0이 되는 카운터
[n비트 카운터와 n×2n디코더를 이용한 타이밍 신호생성]
[존슨 카운터]
- 존슨 카운터(switch-tail ring counter): 마지막 f/f의 출력의 보수를 첫 f/f의 입력에 연결한 순환 시프트 레지스터, n비트로 2n개의 상태를 생성
7.4 메모리
- 데이터를 저장하고 검색하는 방식에 따라 분류
(1) RAM(random access memory)
RWM(read/write memory)
ROM(read only memory)
(2) associative memory, CAM(content addressable memory)
(3) SAM
(4) DAM
7.4.1 RAM
(1) RWM
* 메모리 read: MAR←주소, READ←1
* 메모리 write: MBR←내용, WRITE←1
* 메모리 워드: access되는 데이터 단위
- 반도체 RAM: 정적 RAM(SRAM), 동적 RAM(DRAM)
- 정적 RAM의 메모리 셀: f/f으로 구성되므로 전원이 공급하는 한 셀의 내용은 변함이 없다.
- 동적 RAM의 메모리셀: capacitor를 이용하므로 시간이 지남에 따라 방전하므로 refresh하는 회로가 필요.
- 정적, 동적 RAM의 차이점:
* 동적 RAM은 재생회로가 필요하고 재생시간이 필요하므로 속도가 느리다.
* 정적 RAM 보다 집적도가 좋다.
[정적 RAM]
[동적 RAM]
7.4.2 associative memory
- 메모리 주소에 의해 access하는 것이 아니라 내용에 의해 access함.
- 데이터 레지스터: 탐색될 데이터를 기억
- 마스크 레지스터: 마스크 저장
- 워드 선택 레지스터: 탐색 작업에 포함될 워드를 가리킨다.
- 결과 레지스터: 선택된 데이터가 데이터 레지스터의 내용과 일치하면 1
- MMR(multiple match resolver)
[예]
- Q: 메모리의 내용
- M=0이면 항상 R=1
- 워드는 워드내의 모든 셀의 반응 출력이 1이면 response는 1.
7.4.3 순차 액세스 메모리(stack & queue)
- FIFO(first-in first-out): Queue
-
LIFO(last-in first-out): stack
7.4.4 DAM(direct access memory)
7장 정리
- 레지스터
병렬 레지스터
시프트 레지스터
-※ 카운터
비동기식 카운터(리플 카운터, 2진 증가 카운터, 2진 감소 카운터, 10진 리플 카운터)
동기식 카운터
- 메모리
RAM: 정적 RAM, 동적 RAM
assocaitive memory