반응형
- 프로세서 시리즈 모아보기 -
https://microelectronics.tistory.com/112
기본적인 ISA 동작 방식을 모르면 이해하기 어렵습니다.
Decoder
1. 명령어 디코딩
- 프로세서에서 명령어를 디코딩한다는 것은 명령어의 제어 신호를 해석하여 데이터 흐름과 연산을 제어하는 것이다.
- 예시로 add R8, R17, R18과 같은 R 타입 명령어는 OP 코드, 세 개의 레지스터, 시프트 수, 그리고 함수 코드를 포함하며, 이 정보는 제어 논리에 입력되어 각 부품의 제어 신호를 설정한다.
2. Control Logic
- control logic은 명령어의 특정 필드를 통해 제어 신호를 생성하는 combination logic로 구성된다. 여기서 생성되는 주요 제어 신호는 다음과 같다:
- Register Write (레지스터 쓰기): 레지스터 파일에 데이터를 쓰는지 결정한다. R 타입과 로드 명령어에서 사용된다.
- ALU Source: ALU 입력으로 즉시 값(immediate)을 사용할지, 레지스터 파일의 두 번째 출력을 사용할지를 결정한다. I 형식 명령어에서 사용된다.
- PC Source: 점프나 분기 명령어에 대해 PC를 조정한다.
- Memory Read/Write: 메모리에서 읽거나 쓰는 작업을 제어한다. 로드 시에는 읽기, 저장 시에는 쓰기를 설정한다.
- Mem to Reg: 메모리 데이터나 ALU 출력을 레지스터 파일에 쓰는지 결정하며, 로드 명령어에서 메모리 데이터를 레지스터 파일에 쓴다.
- ALU Operation: 명령어에 따라 ALU가 수행할 연산을 설정한다. 예를 들어, add는 덧셈, 분기 시에는 비교 연산을 수행한다.
3. R-format 명령어(예시. add 명령어) 디코딩
- Register Write: 1로 설정하여 레지스터 파일에 쓰도록 한다.
- ALU Source: 0으로 설정하여 즉시 값을 사용하지 않고 레지스터 파일의 두 번째 출력을 사용한다.
- PC Source: 0으로 설정하여 다음 명령어로 이동한다(PC + 4).
- Memory Read/Write: 읽기와 쓰기는 필요하지 않으므로 0으로 설정한다.
- Mem to Reg: ALU 출력을 선택하여 레지스터 파일에 쓰도록 한다.
- ALU Operation: 명령어에 따라 add 또는 and 연산을 설정한다.
4. Load 명령어 디코딩 예시
- Register Write: 1로 설정하여 로드된 데이터를 레지스터 파일에 쓰도록 한다.
- ALU Source: 1로 설정하여 즉시 값을 주소 계산에 사용한다.
- PC Source: 0으로 설정하여 다음 명령어로 이동한다(PC + 4).
- Memory Read: 1로 설정하여 메모리에서 데이터를 읽는다.
- Memory Write: 쓰기가 필요하지 않으므로 0으로 설정한다.
- Mem to Reg: 메모리에서 읽은 데이터를 레지스터 파일에 쓰도록 설정한다.
- ALU Operation: 주소 계산을 위해 ADD로 설정한다.
5. 디코더 설계
반응형
각 제어 신호에 대해 진리표(truth table)를 작성하고 카르노 맵을 통해 논리식을 도출하여 제어 로직 구성한다. 본 게시글에서 자세한 설명은 생략한다.
결론
명령어 디코딩 과정을 통해 프로세서는 명령어의 필드에 따라 제어 신호를 생성하고, 이를 통해 데이터 흐름과 연산이 정확히 제어한다.
이러한 제호신호를 생성하는 디코더 로직은, 카르노 맵과 진리표를 사용하여 설계할 수 있다.
Reference
반응형
'Computer Architecture > Processor' 카테고리의 다른 글
Processor의 구조 - 6. Pipeline(파이프라인) 설계 (0) | 2024.11.13 |
---|---|
Processor의 구조 - 5. Pipeline(파이프라인) (0) | 2024.11.12 |
Processor의 구조 - 3. Clock 과 Critical Path(임계경로) (0) | 2024.11.10 |
Processor의 구조 - 2. Control Signal 과 Data path (0) | 2024.11.09 |
Processor의 구조 - 1. 프로세서의 세가지 구성 요소 (0) | 2024.11.08 |
댓글