레지스터

레지스터 register는 여러 비트로 구성된 2진수를 저장하기 위해 플립플롭들을 일렬로 배열한 회로 장치를 의미합니다. n비트 레지스터는 플립플롭 n개로 구성되며 2진 n비트를 저장하게 됩니다.

이전에 설명한 카운터 또한 클록 펄스 입력에 따라 미리 정해진 순서로 상태가 변화하는 레지스터의 한 종류라고 할 수 있습니다. 그렇지만 레지스터는 상태 변화에 순서가 없으며 데이터를 저장 및 이동 목적이 강하기 때문에 레지스터와 카운터를 구분하여 부르고 있습니다.

언급했듯이 레지스터는 비트를 저장하거나 좌측, 우측으로 이동(shift)시킬 수 있는 기능에도 사용합니다.

레지스터에는 직렬입력-직렬출력, 직렬입력-병렬출력, 병렬입력-직렬출력, 병렬입력-병렬출력의 네 가지 기본 형태가 있습니다.


직렬입력-직렬출력 레지스터

직렬입력-직렬출력 레지스터 (SISO, Serial-In Serial-Out)는 데이터를 직렬로 입력하여 직렬로 출력하는 레지스터입니다.

다음은 D 플립플롭으로 구성된 4비트 SISO 레지스터의 회로도와 타이밍도입니다.
각 플립플롭의 출력이 다음 플립플롭의 D 입력으로 사용됩니다.

SISO 레지스터는 주로 모뎀과 같은 장치에 사용됩니다.

이미지 출처
https://www.geeksforgeeks.org/digital-logic/siso-shift-register/
https://www.build-electronic-circuits.com/shift-register/

직렬입력-병렬출력 레지스터

직렬입력-병렬출력 레지스터 (SIPO, Serial-In Parallel-Out)는 데이터를 직렬로 입력하여 병렬로 출력하는 레지스터입니다.

다음은 D 플립플롭으로 구성된 4비트 SIPO 레지스터의 회로도와 타이밍도 입니다.

이미지 출처
https://www.build-electronic-circuits.com/shift-register/

병렬입력-직렬출력 레지스터

병렬입력-직렬출력 레지스터 (PISO, Parallel-In Serial-Out)는 데이터를 병렬로 입력하여 직렬로 출력하는 레지스터입니다.

다음은 D 플립플롭과 멀티플렉서를 사용한 4비트 PISO 레지스터의 회로도입니다.

이미지 출처
https://www.build-electronic-circuits.com/shift-register/

병렬입력-병렬출력 레지스터

병렬입력-병렬출력 레지스터 (PIPO, Parallel-In Parallel-Out)는 데이터를 병렬로 입력하여 병렬로 출력하는 레지스터입니다.

다음은 D 플립플롭으로 구성된 4비트 PIPO 레지스터의 회로도입니다.

0개의 댓글