1. 레지스터 (Register)
ㅇ 일련의 플립플롭들이 클럭을 공유하며 만들어진, n 비트 저장 장치
ㅇ 레지스터 특성을 나타내는 수치 관계는?
- n개 플립플롭을 갖는 레지스터인 경우에, (플립플롭의 수 : n개)
- 2n개의 서로다른 상태들이 존재하고, (상태 수 : 2n개)
- n 비트 정보의 저장이 가능 (저장 가능 정보 비트 수 : n 비트)
2. 레지스터의 구분 및 역할
ㅇ [논리회로를 구성하는 범용 소자] 일련의 비트 저장 및 이동 소자
- 1개의 클럭 입력을 공유하는 다수의 플립플롭들이 묶여진, 소형 기억장치
. 카운터,시프트레지스터 등 일련의 비트 저장 및 이동이 가능한 소자들을 총칭
- 또한, 직렬 또는 병렬로 입력,출력 동작 수행이 가능함
ㅇ [컴퓨터 내 특정 역할 소자] ☞ CPU 내부 레지스터 참조
- CPU에 또는 MPU에 내장되어, 데이터를 일시적으로 보관하는 임시 기억장치
. 마이크로프로세서 초기 모델인 x86 계열은 레지스터가 8개 정도
- 구분
. 범용 레지스터 : CPU에서 조작되는 데이터들의 임시 보관을 위한 기억장치
.. 산술연산장치의 입력 데이터,계산 결과를 임시로 저장하기 위한 기억 공간 역할
. 용도 지정 레지스터
.. 명령 레지스터 : 실행될 명령어 보관
.. 프로그램 카운터 : 다음 실행될 명령의 주소를 갖으며,
실행중인 프로그램의 실행위치 추적을 위해 사용
.. 기타, 데이터 레지스터, 주소 레지스터 등
* 레지스터는,
. 컴퓨터 하드웨어 설계의 기본 요소임과 동시에,
.. 16/32/64 비트 컴퓨터 라고 말할 때,
.. 보통, 레지스터 크기 및 메모리 주소 지정을 위한 비트 수를 말함
. 프로그램 작성자(프로그래머)에게도 보이는 중요한 부분임
3. 레지스터의 입출력 구분
ㅇ PIPO (Parallel Input/Parallel Output,병렬 입력/병렬 출력)
- 例) 74ALS174/74HC174 TTL IC
ㅇ SISO (Serial Input/Serial Output, 직렬 입력/직렬 출력)
ㅇ PISO (Parallel Input/Serial Output, 병렬 입력/직렬 출력)
ㅇ SIPO (Serial Input/Parallel Output, 직렬 입력/병렬 출력)
4. 레지스터의 데이터 이동 형태
ㅇ 레지스터 내 시프팅 (Shifting)
- 레지스터 내 직렬 데이터 흐름 (오른쪽 또는 왼쪽 이동)
ㅇ 레지스터 내 순환 (Feedback)
- 직렬 출력 데이터가 다시 같은 레지스터의 직렬 입력으로 귀환
ㅇ 레지스터 간 데이터 전달 (Data Transfer)
- 직렬 전달 : 한 번에 한 비트 씩
- 병렬 전달 : 한 번에 한 워드 씩
5. 레지스터 간의 데이터 전달 연산의 추상화 : 마이크로 오퍼레이션
ㅇ 내부 레지스터 간에, 레지스터와 메모리 간에, 또는 모듈 간에
- 주로, 버스를 통한 데이터 이동(데이터 처리와 정보 흐름)과 관련된 연산
. 例) shift, count, clear, load, increment 등의 동작
ㅇ 이를통해, 복잡한 디지털시스템의 동작 표현 및 설계가 가능해짐