๐ง ๋ ผ๋ฆฌ ์ฐ์ฐ ๋ช ๋ น์ด
๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ข ๋ฅ๋ก๋ Shift ์ฐ์ฐ๊ณผ, ๋นํธ๋ณ AND, OR, XOR, NOT ์ ์ฐ์ฐ์ด ์กด์ฌํฉ๋๋ค.
์ด๋ฒ ๊ธ์์๋ ์ด๋ฌํ ๋ ผ๋ฆฌ ์ฐ์ฐ ๋ช ๋ น์ด๋ค์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ง Shift ์ฐ์ฐ
Shift ๋ช ๋ น์ด๋ ์๋ ๋ด์ ๋ชจ๋ ๋นํธ๋ฅผ ์ผ์ชฝ ๋๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋์ํค๊ณ ,
์ด๋ ํ ๋น์๋ฆฌ๋ 0์ผ๋ก ์ฑ์ฐ๋ ๋ช ๋ น์ด์ ๋๋ค.
์๋ฅผ ๋ค์ด์ x19 ๋ ์ง์คํฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ฉด
$00000000 \;\;00000000 \;\;00000000 \;\;0000$$1001_2 \;\;$$ = 9_{10} $
์ผ์ชฝ์ผ๋ก 4๋ฒ Shift ์ํค๋ ๋ช ๋ น์ด๋ฅผ ์คํ์ํค๋ฉด ๋ค์๊ณผ ๊ฐ์์ง๋๋ค.
$00000000 \;\; 00000000 \;\; 00000000 \;\; $$1001$$0000_2 \;\; = 144_{10} $
RISC-V์์ Shift ๋ช ๋ น์ด์ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
โญ๏ธ ๋ ผ๋ฆฌ ์ฌํํธ์ ์ฐ์ ์ฌํํธ
์์ ํ๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด ์ฐ์ธก ์ฌํํธ ์ฐ์ฐ์๋ ๋ ผ๋ฆฌ ์ฌํํธ์ ์ฐ์ ์ฌํํธ๊ฐ ์์ต๋๋ค.
๋ ผ๋ฆฌ ์ฌํํธ๋ ์ผ์ชฝ ๋น ๊ณต๊ฐ์ ๋ถํธ์ ์๊ด์์ด 0์ผ๋ก ์ฑ์ฐ์ง๋ง,
์ฐ์ ์ฌํํธ๋ ์ผ์ชฝ ๋น ๊ณต๊ฐ์ ๋ถํธ ๋นํธ๋ก ์ฑ์๋๋ค.
์๋ฅผ ๋ค์ด
10011์ ์ฐ์ธก ๋ ผ๋ฆฌ ์ฌํํธ๋ก 2์นธ ์์ง์ด๋ฉด 00100์ธ๋ฐ ๋ฐํ์ฌ,
์ฐ์ ์ฌํํธ๋ก 1์นธ ์์ง์ด๋ฉด 11100 ์ ๋๋ค.
โญ๏ธ R format Shift ์ฐ์ฐ
funct7 | rs2 | rs1 | funct3 | rd | opcode |
7 bits | 5 bits | 5 bits | 3 bits | 5 bits | 7 bits |
rs2์ ์ผ๋ง๋งํผ shiftํ ๊ฒ์ธ์ง๊ฐ ์ฃผ์ด์ง๋๋ค.
โญ๏ธ I format Shift ์ฐ์ฐ
funct6 | immediate | rs1 | funct3 | rd | opcode |
6 bits | 6 bits | 5 bits | 3 bits | 5 bits | 7 bits |
immediate ํ๋์ ์ผ๋ง๋งํผ shiftํ ๊ฒ์ธ์ง๊ฐ ์ฃผ์ด์ง๋๋ค.
์ด์ ๊ธ์์ ์ดํด๋ณธ I- ํ์ ํ์๊ณผ ์กฐ๊ธ ๋ฌ๋ผ์ง ๋ถ๋ถ์ด ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๊ธฐ์กด์๋ 12๋นํธ์ immediate ํ๋๊ฐ ์์๋๋ฐ,
์ง๊ธ์ 6๋นํธ์ funct6 ํ๋์ 6๋นํธ์ immediate ํ๋๊ฐ ์๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ด์ ๋ 64๋นํธ ๋ ์ง์คํฐ๋ฅผ 64( $2^6$ )์๋ฆฌ ์ด์ ์๋ฆฌ์ด๋ ํ๋ ๊ฒ์ ์ธ๋ชจ๊ฐ ์๊ธฐ ๋๋ฌธ์
I- ํ์ ํ์์ 12๋นํธ immediate ํ๋ ์ค ํ์ 6๋นํธ๋ง ์ฌ์ฉํ๊ณ ( 0 ~ 63 )
๋๋จธ์ง 6๋นํธ๋ ์ถ๊ฐ์ ์ธ opcode ํ๋๋ก ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๐ง NOT ์ฐ์ฐ
NOT ์ฐ์ฐ์ ํผ์ฐ์ฐ์ ํ๋๋ฅผ ๋ฐ์์ ํผ์ฐ์ฐ์์ ๋นํธ๊ฐ 1์ด๋ฉด ๊ฒฐ๊ณผ๊ฐ 0์ผ๋ก, 0์ด๋ฉด ๊ฒฐ๊ณผ๋ฅผ 1๋ก ๋ง๋๋ ์ฐ์ฐ์์ ๋๋ค.
AND, OR ์ฐ์ฐ์ฒ๋ผ ํผ์ฐ์ฐ์๊ฐ 3๊ฐ(์์ค 2๊ฐ์, ๋ชฉ์ ์ง 1๊ฐ)์ธ ๋ค๋ฅธ ๋ ผ๋ฆฌ ์ฐ์ฐ ๋ช ๋ น์ด๋ค๊ณผ ๋ฌ๋ฆฌ
NOT ๋ ผ๋ฆฌ ์ฐ์ฐ ๋ช ๋ น์ด๋ ํผ์ฐ์ฐ์๊ฐ 2๊ฐ(์์ค 1๊ฐ์, ๋ชฉ์ ์ง 1๊ฐ)์ ๋๋ค.
RISC-V ์ค๊ณ์๋ค์ 3๊ฐ์ ํผ์ฐ์ฐ์ ํ์์ ์ ์งํ๊ธฐ ์ํด์ NOT ๋์ XOR(exclusive OR)๋ช ๋ น์ด๋ฅผ ํฌํจ์์ผฐ์ต๋๋ค.
NOT ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ 11111....1111 ๊ณผ XOR ์ฐ์ฐ์ ํ ๊ฒฐ๊ณผ์ ๋์ผํ๋ฏ๋ก, XOR์ ํตํด NOT ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค.