일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Meta Learning
- PRML
- FGVC
- 3d
- 머신러닝
- cs
- computervision
- FineGrained
- GAN
- Vision
- web
- pytorch
- REACT
- CV
- Python
- nlp
- Torch
- Front
- algorithm
- SSL
- dl
- nerf
- 딥러닝
- Depth estimation
- math
- 알고리즘
- classification
- ML
- clean code
- 자료구조
- Today
- Total
KalelPark's LAB
[ Computer Architecture ] Instruction Format이란? 본문
[ Computer Architecture ] Instruction Format이란?
kalelpark 2023. 3. 29. 10:33
Instruction format이란?
Instruction set에서 주로 사용되며, 컴퓨터에서 사용되는 instruction (명령, 작업)의 레퍼토리 (순서를 가진 목록)
machine code라고 불리는 binary code로 encoded됩니다.
Instruction (명령어)
- Binary에서 잘 작동되고, Memory 내, 명령어와 연산자를 저장합니다.
Store Program Organization
- Program과 데이터가 서로 다른 저장소에 저장되지만, 같은 것처럼 다뤄지는 것을 의미합니다.
- Register for Processing, Instruction code format, Immediate operands
RISC-V Instruction Format
- register operands for arithmetic computation
- 32 registers (X0 ~ X31, Word)
- Examples (x0 : the constant value, x1 : return address, x2 : stack pointer, x3 : global pointer)
모든 instruction은 32-bit, 1word 길이로 일반화되어 있습니다.
* 대표적인 3가지 타입으로 분류된다.
- R-Type (Register Type) : most arithmetic and logical instruction (except for "immediate")
- I-Type (Register Type) : data transfer (load), arithmetic with Immediate
- S-Type (Store Type) : data transfer (store)
RISC-V : R format
32 비트 내에 모든 것을 넣었으며, opcode, func3, func7을 통하여 어떤 명령을 수행할지 결장합니다.
rd는 detination register이며, 값을 넣고자 하는 Register가 됩니다.
rs1, rs2는 각각 source가 되는 register 입니다.
* Opcode, func3, func7을 활용하여, 어떤 명령어를 사용할지 결정합니다.
EX)
func7 : 0, rs2 : 10101, rs1 : 10100, func3 : 0, rd : 010001, opcode : 0110011,
RISC-V : I format
* 대부분의 arithmetic 과 logical instruction이 해당 부분에 존재합니다. (load 혹은 constant 연산을 위해 사용합니다.)
R-Type과는 다르게 rs1만 존재합니다.
immediate 비트는 총 12개이며, 해당 부분에는 상수 혹은 offset이 사용됩니다.
* 만약 load로 명령어를 사용하게 되면, rs1에 있는 base address에 imm 값(offset)을 더하여 rd에 넣게 됩니다.
혹은 add(add immediate)를 사용하게 되면, rs1에 있는 source를 imm에 더하여 rd에 넣습니다.
RISC-V : S format
* S-Type은 Store을 Insturction Format입니다. rd 자리에 imm이 들어간 것을 볼 수 있습니다.
앞부분의 imm과 합쳐서 offset역할을 합니다. 여기서 rs1은 저장 공간의 base address고 rs2는 저장할 값이 있는 register.
명령어 집합 설명
'Study > Computer Architecture' 카테고리의 다른 글
[ Computer Architecture ] 클럭, 코어, 스레드란? (0) | 2023.01.28 |
---|---|
[ Computer Architecture ] 레지스터, 인터럽트란? (0) | 2023.01.28 |
[ Computer Architecture ] ALU, 제어장치란? (0) | 2023.01.28 |
[ Computer Architecture ] 컴파일, 인터프리티 언어 그리고 주소 지정 방식? (0) | 2023.01.26 |
[ Computer Architecture ] 컴퓨터 구조란? (0) | 2023.01.25 |