[TIL] 2022.11.29. [Computer Architecture]
2022. 11. 29. 23:51
오늘의 컴구 공부.
opcode
-> 필드는 항상 6:0의 7비트에 있는데 opcode에 따라서는 funct3 (비트 14:12)필드와 funct7 필드(31:25)가 확장 opcode로 사용된다.
R-형식 분기 명령어와 분기명령어의 경우에는 첫 번째 레지스터 피연산자가 비트 19:15에 있는데, 적재/저장 명령어에서는 이 필드가 베이스 레지스터로 사용된다.
R-형식 명령어와 분기 명령어의 경우에는 두 번째 레지스터 피연산자가 비트 24:20에 있다. 저장 ㅁ여령어의 경우에는 이 필드가 메모리에 저장될 레지스터 피연산자를 나타낸다.
간단하기 위해서는 규칙적인 것이 좋다.
신호 이름 | 0 | 1 |
RegWrite | 아무 일도 생기지 않는다. | Write Register 입력이 지정하는 레지스터에 Write data 입력값을 쓴다. |
ALUSrc | 레지스터 파일의 두 번째 출력이 ALU의 두 번째 피연산자가 된다. | 명령어의 12비트 변위가 부호확장되어 ALU의 두 번째 피연산자가 된다. |
PCSrc | PC + 4 가 새로운 PC값이 된다. | 분기 목적지 주소가 새로운 PC 값이 된다. |
MemRead | 아무 일도 생기지 않는다. | Address 입력이 지정하는 데이터 메모리 내용을 READ data 출력으로 내보낸다. |
Memwrite | 아무 일도 생기지 않는다. | Address 입력이 지정하는 데이터 메모리 내용을 Write data 입력값으로 바꾼다. |
MemToReg | ALU 출력이 레지스터의 Write data 입력이 된다. | 데이터 메모리 출력이 레지스터의 Write data 입력이 된다. |
입력이 두 개인 멀티플렉서의 1비트 제어신호가 인가 되면 멀티플렉서는 1번 입력을 선택한다.
그렇지 않고 제어가 인가되지 않으면 멀티플렉서는 0번 입력을 선택한다.
상태 소자는 모두 클럭을 입력으로 가지고 있으며 클럭은 쓰기를 제어하는 데 사용된다는 것을 기억하라.
클럭을 상태소자 외부의 게이트에 연결하면 타이밍 문제를 일으킬 수 있다.
'Today I Learned(TIL)' 카테고리의 다른 글
[TIL] 2022.12. 1. [Computer Architecture] (1) | 2022.12.01 |
---|---|
[TIL] 2022.11.30. (기록) (0) | 2022.11.30 |
[TIL] 2022.11.28. [Computer Architecture] (0) | 2022.11.28 |
[TIL] 2022.11.27. [Single Datapath] (0) | 2022.11.27 |
[TIL] 2022.11.27. [Computer Architecture] (1) | 2022.11.27 |