1. 레지스터 전달 이란?
ㅇ 레지스터 (Register)
- 2진 데이터를 저장하는 플립플롭 및 관련 게이트들의 집합체
- 1 이상의 마이크로 연산 수행 능력을 갖춘 것
ㅇ 레지스터 전달 (Register Transfer)
- 레지스터 간에, 레지스터와 메모리 간에, 또는 모듈 간에
- 주로, 버스를 통한 데이터 이동
2. 레지스터 전달 레벨 (Register Transfer Level, RTL)
또는, 레지스터 전달 논리 (Register Transfer Logic)
※ 디지털 하드웨어 설계에서, 하드웨어 동작을 기술하는 추상화 수준 중 하나로써,
- 동작 설계를, 레지스터 간의 데이터 전송을 기반으로 설명
. 레지스터는 일련의 플립플롭으로 구성되며,
. 전달 동작은 조합논리회로에 의해 구현시킬 수 있음
ㅇ RTL 설계의 기본 생각은,
- 기본적으로, 복잡한 디지털시스템을 모듈식 설계로 구현케 하는 설계 기법으로,
. 각 모듈이 레지스터,디코더,멀티플렉서,연산 소자,제어 논리 등으로 구성되어 있으며,
. 각 모듈 간에 데이터패스(Datapath),제어 신호(Control signal)로 서로 연결함으로써 완성됨
- 이때, 모듈 간을 레지스터에 저장된 2진 정보의 연산으로 보는 것이 설계가 쉬워짐
- 따라서, 모듈식 회로를 레지스터들의 집합으로 보고,
. 이들 레지스터 간의 데이터 흐름의 전달 및 처리 동작에 대한 행동을 기술하면서 설계를 함
ㅇ 결국, RTL 설계는, 일종의 중간 레벨 설계를 위한 기법 임
- 디지털시스템 각 부품의 기능 및 상호 통신을,
- 레지스터 전달 관점에 의해, 시간 주기적으로 상세 기술 함
- 주로, 데이터 흐름(전달) 및 신호 제어 등으로 기술 함
※ RTL 설계는, HDL (Verilog, VHDL)를 사용하여 작성 가능 ☞ HDL 설계 관점 구분 참조
- 이들 HDL은, RTL 수준에서, 디지털시스템을 설명할 수 있는 구문과 구조를 제공
3. 마이크로 동작/연산 (Micro-operation) / 레지스터 전달 연산 (Register Transfer Operation)
ㅇ 주로, 레지스터 간에 이루어지는 낮은 수준의 기본 동작들을 말함
- 레지스터에 저장된 2진 데이터에 대해 행해지는 세부 연산 동작
. 例) shift, count, clear, load, increment 등의 동작
ㅇ 통상, 하나의 클럭 펄스 동안에, 다수 비트에 동시(병렬)로 실행되는 기본 동작
4. 레지스터 전달 언어 (Register Transfer Language)
ㅇ 레지스터 동작을 기호로 나타낸 언어
- 컴퓨터의 `CPU 내부 레지스터`,`메모리`,`I/O 장치` 간의 데이터 전달과 연산 과정을
기호로 표시하여 나타냄
- 조건적 레지스터 전송 연산 例) P : R2 ← R1
. P가 1일 때, 레지스터 간에(R1에서 R2로) 데이터 전달됨
ㅇ 레지스터 주요 연산들 例)
- 전송 연산
- 산술(곱셈 등) 연산
- 비트 조작 연산
- 시프트 연산