1. 정의

- 클럭 : 컴퓨터에서 논리상태인 0(Low)과 1(High)이 일정한 간격으로 반복되는 신호
- 제어장치가 클럭 신호를 받아들임
- cpu가 일정시간(신호를 받을때)마다 명령을 실행
- 클럭 사이클 : Low와 High가 일정 주기로 반복되는 현상(0과 1을 반복)
- 클럭 주기 : 클럭 사이클이 한번 도는데 걸리는 시간, 항상 동일(Low에서 High까지 걸리는 시간)
2. 클럭의 level, trigger, edge
- level : 클럭 신호에서의 Low와 High
- trigger : Higt(1) 또는 Low(0)로 변화하게 만드는 신호
- 레벨을 변화시키는 신호
- 0인 상태에서 트리거 발생시 1로 변화
- edge : 0에서 1이 되거나, 1에서 0이 되는 상태를 구분하는 것으로 2가지 종류를 가짐
- rising edge
- falling edge
3. 클럭 신호와 Latch & 클럭신호와 Flip-flop
- Latch : 클럭 신호를 level에서 감지
- Flip-flop : 클럭신호를 edge에서 감지
4. 래치, 플립플롭
1) 정의
래치와 플립플롭 모두, 1비트 또는 바이너리 데이터(이진데이터)를 저장할 수 있는 조합 논리 회로
2) RS래치(Reset-Set)
NOR게이트를 2개 조합한 회로로 클럭신호 없이 입력되는 순간 바로 반영

NOR게이트를 2개 조합한 회로에 S와 R 입력값을 받을 수 있도록 구성
S와 R이 모두 1인 경우는 없으며, S 또는 R이 1인 경우만 존재
- [case1] S = 1
- S가 1인 경우, NOR게이트에 의해 Q'는 0
- R은 0인 상태에서 Q'가 0으로 들어오면서 NOR게이트에 의해 Q는 1
- [case2] R = 1
- R이 1인 경우 NOR게이트에 의해 Q는 0
- S는 0인 상태에서 Q가 0으로 들어오면서 NOR게이트에 의해 Q'는 1
Q와 Q'가 S, R과 함께 입력으로 전달됨 -> 출력이 입력으로 전달되는 구조 떄문에 이전 값을 저장할 수 있게 된다.
처음 S, R값을 입력한 후 S, R값을 다시 0으로 만들어도 이전 값을 기억!
3) RS 플립플롭
AND게이트와 NOR게이트를 2개 조합한 회로로 클럭신호를 반영(RS래치에서 클럭이 연결된 구조)

- RS래치와 다르게 CP(Clock Pulse) 신호를 받아 동작
- CP : 규칙적으로 발생하는 전기 신호
- AND게이트로 연결되기 때문에 R과 S는 CP가 1일때만 동작이 가능
- Q와 Q'는 서로 반대되는 값을 가짐
0일때는 1로 바꾸고, 1일때는 0으로 바꾸는 두가지 기능을 가지는 논리회로
4) D-type 플립플롭
R/S의 두개의 Input을 Data라는 하나의 input으로 변경하고, NOT게이트를 추가

- 입력신호 D가 NOT게이트를 통과하기 때문에 R/S와 마찬가지로 input이 동시에 1이 될수 없게 제한
- 회로적으로 차단
- D-type 플립플롭은 입력 D의 값을 클럭의 엣지에서 확인해 Q에 반영
- 엣지가 발생하지 않는 시간에는 Q가 변하지 않고 유지됨
- 엣지는 rising-edge와 falling edge를 사용
- AND게이트를 사용하고 있기 때문에 클럭이 1의 신호를 보낼때만 RS래치가 정상적으로 작동!
- 0의 신호를 보내는 경우에는 데이터가 저장되지 않으(래치가 작동하지 않음)
Reference
- https://blog.naver.com/PostView.naver?blogId=ycpiglet&logNo=222151383116
- https://maloveforme.tistory.com/152
- https://ko.wikipedia.org/wiki/%ED%94%8C%EB%A6%BD%ED%94%8C%EB%A1%AD
[컴퓨터 공학] RS플립플롭(RS래치2)
전에 RS래치의 전구가 이어져 있는 버젼에서 회로를 다음과 같이 바꿔보자.앞서 말했듯이 이 회로는 S가 1이었던 것을 Q가 기억하는 회로이다. 이러한 메모리 기능을 특정 순간에만 사용하기 위
velog.io
D 플립플롭
D Flip-flop, Data Flip-flop, Delay Flip-flop D 플립플롭(2022-08-16)
www.ktword.co.kr