์์ ๊ธ์์ ์ดํด๋ณธ ๋ฐ์ดํฐํจ์ค์ ์ ์ด๋ฅผ ์์ธํ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง ALU ์ ์ด ์ ๋ RISC-V ALU๋ ์ ์ด ์
๋ ฅ 4๊ฐ๋ฅผ ์ฌ์ฉํ๋ ๋ค์ 4๊ฐ์ ์กฐํฉ์ ์ ์ํฉ๋๋ค. ALU๋ ๋ช
๋ น์ด ์ข
๋ฅ์ ๋ฐ๋ผ ์์ ๋ค ๊ฐ์ง ๊ธฐ๋ฅ๋ค ์ค ํ๋๋ฅผ ์ํํ๊ฒ ๋ฉ๋๋ค. ld, sd ๋ช
๋ น์ด์ธ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ๋ง์
์ฉ์ผ๋ก ALU๋ฅผ ์ฌ์ฉํฉ๋๋ค. R ํ์
๋ช
๋ น์ด์ ๊ฒฝ์ฐ์๋ ๋ช
๋ น์ด์ funct7 ํ๋([31 : 25])์ funct3 ํ๋([14:12])๊ฐ์ ๋ฐ๋ผ์ ๋ค ๊ฐ์ง ์ฐ์ฐ(AND, OR, add, sub)๋ค ์ค ํ๋๋ฅผ ์ํํ๊ฒ ๋ฉ๋๋ค. ์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช
๋ น์ด(beq)์ ๊ฒฝ์ฐ ALU๋ ๋ ํผ์ฐ์ฐ์์ ๋บ์
์ ํ ํ ๊ฒฐ๊ณผ๊ฐ 0์ธ์ง ์๋์ง๋ฅผ ํ
์คํธํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ค์ ํตํด ALU ์ ์ด ์ ๋์ ๋ง๋ค ์ ์์ต๋๋ค. A..
๐ฅ Computer Science/์ปดํจํฐ ๊ตฌ์กฐ
๐ง ๊ธฐ๋ณธ์ ์ธ RISC-V ๊ตฌํ ๊ฐ์ ์ด์ ๋ถํฐ ๋ค์ ํต์ฌ์ ์ธ ๋ช
๋ น์ด๋ค์ ์คํํ๊ธฐ ์ํ ํ๋ก์ธ์๋ฅผ ์ค๊ณํ๋ ๊ณผ์ ์ ํตํด, ํ๋ก์ธ์์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช
๋ น์ด : ld, sd ์ฐ์ ๋
ผ๋ฆฌ ๋ช
๋ น์ด : add, sub, and, or ์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช
๋ น์ด : beq ์ด๋ฌํ ๋ช
๋ น์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๊ฒ์ ๋๋ถ๋ถ์ ๋ช
๋ น์ด๊ฐ ์ด๋ค ๋ช
๋ น์ด์ธ์ง์ ์๊ด์์ด ๋์ผํฉ๋๋ค. ๋ชจ๋ ๋ช
๋ น์ด์ ์ฒซ ๋๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ผํฉ๋๋ค. 1. ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๋ฅผ ํ๋ก๊ทธ๋จ์ด ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ช
๋ น์ด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. 2. ์ฝ์ ๋ ์ง์คํฐ๋ฅผ ์ ํํ๋ ๋ช
๋ น์ด ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ๋๋ 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ดํ๋ถํฐ๋ ๋ช
๋ น์ด์ ์ข
๋ฅ์ ๋ฐ๋ผ ์ํํด์ผ ํ ํ๋๋ค์ด ๋ฌ๋ผ์ง๋๋ค. RISC-..
๐ง ๋ถ๋์์์ ๋ง์
๋ง์
์ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. 1. ๋ํด์ง๋ ๋ ์ ์ค ์ง์๊ฐ ํฐ ์์ ๋ง์ถ์ด, ์ง์๊ฐ ์์ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์ด๋ ์๋ฆฌ์ด๋ ์ดํ ๋ฒ๋ ค์ง๋ ์๊ฐ ์์ ์ ์์ต๋๋ค. 2. ์ ํจ์๋ฆฌ(frac)์ ์๋ก ๋ํฉ๋๋ค. 3. ์ด ํฉ์ ์ ๊ทํ๋์ง ์์์ ์ ์์ผ๋ฏ๋ก, ์ด๋ฅผ ์ ๊ทํ ์ํต๋๋ค. ์ด๋ ์ค๋ฒ/์ธ๋ํ๋ก์ฐ ์ฌ๋ถ๋ฅผ ํ์ธํ์ฌ์ผ ํฉ๋๋ค. 4. ๋นํธ ์์ ํํ๋ฒ์๊ฐ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ๊ทผ์ฌ๋ฅผ ํตํด ์๋ฆฌ์๋ฅผ ๋ง์ถ์ด ์ฃผ๊ณ , ๋ํ ๋ค์ ์ ๊ทํ๊ฐ ํ์ํ๋ค๋ฉด 3, 4์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์งํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๋ ๋ถ๋์์์ ์ ๋ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. $ 1.000 \times 2^{-1} + -1.110 \times 2^{-2} \;\;\;(0.5 + -0.4375)$ 1. ํฐ ์์ ์ง์..
๐ง ๋๋์
๋๋์
์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ๊ณ์ฐ๋ฉ๋๋ค. ๋๋์
์ ํผ์ฐ์ฐ์๋ ํผ์ ์(dividend)์ ์ ์(divisor) ๋ ๊ฐ์ด๋ฉฐ, ๋ชซ(quotient) ๊ณผ ๋๋จธ์ง(remaunder) ๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋๋จธ์ง๋ ์ ์๋ณด๋ค ์์ต๋๋ค. ๋ชซ์ ๋ฌด์ํ๊ณ ๋๋จธ์ง๋ง์ ๊ตฌํ๊ธฐ ์ํด ๋๋์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์ข
์ข
์์ต๋๋ค. ๐ง ๋๋์
์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์์ด๋์ด ๋ชซ ๋ ์ง์คํฐ 64๋นํธ๋ฅผ 0์ผ๋ก ์ด๊ธฐํ์ํค๊ณ ์์ํฉ๋๋ค. ๋๋์
์๊ณ ๋ฆฌ์ฆ์ ๋งค๋ฒ ๋ฐ๋ณตํ ๋๋ง๋ค ์ ์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ๋นํธ์ฉ ์๋ฆฌ์ด๋ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์๋ฅผ 128๋นํธ ์ ์ ๋ ์ง์คํฐ์ ์ผ์ชฝ ์ ๋ฐ์ ๋ฃ๊ณ ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํผ์ ์์ ์๋ฆฌ๋ฅผ ๋ง์ถ๊ธฐ ์ํด ๋ฐ๋ณตํ ๋๋ง๋ค ์ค๋ฅธ์ชฝ์ผ๋ก ํ ๋นํธ์ฉ ์๋ฆฌ์ด๋ํฉ๋๋ค. ๋๋จธ์ง(remainder) ๋ ์ง์คํฐ๋..
๐ง ๊ณฑ์
๊ณฑ์
์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ๊ณ์ฐ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ ํผ์น์(multiplicand)๋ผ๊ณ ๋ถ๋ฅด๊ณ , ๋ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ ์น์(multiplier)๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. ์ต์ข
๊ฒฐ๊ณผ๋ ๊ณฑ(product)๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. ์ฃผ๋ชฉํ ์ ์ ๊ณฑ์
์ ์ต์ข
๊ฒฐ๊ณผ์ ์๋ฆฟ์๊ฐ ํผ์น์๋ ์น์์ ๋น๊ตํ์ฌ ์๋นํ ํฌ๋ค๋ ๊ฒ์
๋๋ค. ๋ถํธ ๋นํธ๋ฅผ ๋ฌด์ํ๋ค๋ฉด n๋นํธ์ ํผ์น์์ ๋ํ m๋นํธ ์น์์ ๊ณฑ์
๊ฒฐ๊ณผ๋ n + m ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ ๊ฐ๋ฅํ ๊ณฑ์ ํํํ๊ธฐ ์ํด์๋ n + m ๋นํธ๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ง์
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฐ์ ์ดํ ์๊ฐํ๋๋ก ํ๊ณ , ์ด์ง์ ๊ณฑ์
์ ๊ณผ์ ์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง ๊ณฑ์
์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์์ด๋์ด ์น์๋ 64๋นํธ ์น์ ๋ ์ง์คํฐ์ ์ ์ฅ๋์ด ์์ผ๋ฉฐ, 128..
๐ง ๋ง์
๊ณผ ๋บ์
์ปดํจํฐ์์ ๋ง์
๊ณผ ๋บ์
์ ์ญ์ง์์์์ ๋ง์
, ๋บ์
๊ณผ ๋น์ทํฉ๋๋ค. ๋จ์ง ์ปดํจํฐ์์๋ ํํํ ์ ์๋ ์์ ๋ฒ์๊ฐ ์ ํ์ ์ด๋ฏ๋ก, ํน์ ํ ๊ฒฝ์ฐ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ๋ง์ด ์ฐจ์ด์ ์
๋๋ค. โญ๏ธ ์ค๋ฒํ๋ก์ฐ ๋ถํธ๊ฐ ๋ค๋ฅธ ๋ ์๋ฅผ ๋ํ๋ ๊ฒฝ์ฐ์๋ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ด์ ๋ ๊ณ์ฐ ๊ฒฐ๊ณผ์ ์ ๋๊ฐ์ด ๋ ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ๋๋ณด๋ค๋ ์ปค์ง ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋บ์
์ ๊ฒฝ์ฐ์๋ ๋๊ฐ์ด ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋จ ๋บ์
์ด๋ฏ๋ก ๋ฐ๋๊ฐ ๋ฉ๋๋ค. ์ฆ ํผ์ฐ์ฐ์์ ๋ถํธ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋บ์
์์ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. ๋ํ๋ ๋ ํผ์ฐ์ฐ์๊ฐ 32๋นํธ๋ผ๊ณ ํ๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋ ์ต๋ 33๋นํธ๊ฐ ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ 32๋นํธ๊ฐ ์ต๋ ํฌ๊ธฐ์ด๋ฏ๋ก, ๋ถํธ ๋นํธ๊ฐ ๊ฒฐ๊ณผ์ ๋ถํธ๊ฐ ์๋๋ผ ํฌ๊ธฐ๋ฅผ ๋..
RISC-V๋ ๋ช
๋ น์ด์ ๊ธธ์ด๋ฅผ 32๋นํธ๋ก ๊ณ ์ ํ์ฌ ํ๋์จ์ด๋ฅผ ๊ฐ๋จํ๊ฒ ๋ง๋ค์์ผ๋, ๋ช
๋ น์ด ๋ด์ 32๋นํธ ์ด์์ ์์๋ ์ฃผ์๋ฅผ ํ์ํ ์ ์์ด ๋ถํธํ ์ ๋ ์์ต๋๋ค. ์ด๋ฒ์๋ ์ด๋ฌํ ๊ธด ์์ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ผ๋ฐ์ ์ธ ํด๋ฒ๊ณผ, ๋ถ๊ธฐ ๋ช
๋ น์ด์์ ์ฌ์ฉ๋๋ ๋ช
๋ น์ด ์ฃผ์์ ์ต์ ํ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๐ง ํฐ ์์น ํผ์ฐ์ฐ์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ์์๋ ๋์ฒด๋ก ํฌ๊ธฐ๊ฐ ์์ผ๋ฏ๋ก, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ 12๋นํธ ๋ด๋ก ํํ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ๋ ํฐ ์์๋ฅผ ๋ค๋ฃฐ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด RISC-V๋ ๋ ์ง์คํฐ์ ๋นํธ 12๋ฒ์งธ์๋ฆฌ๋ถํฐ 31๋ฒ์งธ ์๋ฆฌ๊น์ง์ 20๋นํธ ์์๊ฐ์ ๋ฃ๋ lui(load upper immediate) ๋ช
๋ น์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋จ์ ํ์ 12๋นํธ ๊ณต๊ฐ์ 0์ผ๋ก ..
๐ง ํ๋ก์์ (procedure) ํ๋ก์์ ๋ ํจ์๋ ์ดํดํ๊ธฐ ์ฝ๊ณ , ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์
๋๋ค. ํ๋ก๊ทธ๋จ์ด ํ๋ก์์ ๋ฅผ ์คํํ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฏ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. 1. ํ๋ก์์ ๊ฐ ์ ๊ทผํ ์ ์๋ ๊ณณ์ ์ธ์๋ฅผ ๋ฃ๋๋ค. ( x10 - x17 ๋ ์ง์คํฐ ์ฌ์ฉ ) 2. ํ๋ก์์ ๋ก ์ ์ด๋ฅผ ๋๊ธด๋ค. ( jal x1, ProcedureAddress ๋ช
๋ น์ด ์ฌ์ฉ ) 3. ํ๋ก์์ ๊ฐ ํ์๋ก ํ๋ ๋ฉ๋ชจ๋ฆฌ ์์์ ํ๋ํ๋ค. 4. ํ์ํ ์์
์ ์ํํ๋ค. 5. ํธ์ถํ ํ๋ก๊ทธ๋จ์ด ์ ๊ทผํ ์ ์๋ ์ฅ์์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฃ๋๋ค. ( x10 - x17 ๋ ์ง์คํฐ ์ฌ์ฉ ) 6. ํ๋ก์์ ๋ ํ๋ก๊ทธ๋จ ๋ด์ ์ฌ๋ฌ ๊ณณ์์ ํธ์ถ๋ ์ ์์ผ๋ฏ๋ก, ์๋ ์์น๋ก ์ ์ด๊ถ์ ๋๋ ค์ค๋ค. ( jalr x0, 0(x1) ..