๐ง ๊ธฐ๋ณธ์ ์ธ RISC-V ๊ตฌํ ๊ฐ์
์ด์ ๋ถํฐ ๋ค์ ํต์ฌ์ ์ธ ๋ช ๋ น์ด๋ค์ ์คํํ๊ธฐ ์ํ ํ๋ก์ธ์๋ฅผ ์ค๊ณํ๋ ๊ณผ์ ์ ํตํด, ํ๋ก์ธ์์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช ๋ น์ด : ld, sd
์ฐ์ ๋ ผ๋ฆฌ ๋ช ๋ น์ด : add, sub, and, or
์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช ๋ น์ด : beq
์ด๋ฌํ ๋ช ๋ น์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๊ฒ์ ๋๋ถ๋ถ์ ๋ช ๋ น์ด๊ฐ ์ด๋ค ๋ช ๋ น์ด์ธ์ง์ ์๊ด์์ด ๋์ผํฉ๋๋ค.
๋ชจ๋ ๋ช ๋ น์ด์ ์ฒซ ๋๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ผํฉ๋๋ค.
1. ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๋ฅผ ํ๋ก๊ทธ๋จ์ด ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
2. ์ฝ์ ๋ ์ง์คํฐ๋ฅผ ์ ํํ๋ ๋ช ๋ น์ด ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ๋๋ 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฝ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด ์ดํ๋ถํฐ๋ ๋ช ๋ น์ด์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ํํด์ผ ํ ํ๋๋ค์ด ๋ฌ๋ผ์ง๋๋ค.
RISC-V ๋ช ๋ น์ด ์งํฉ์ ๋จ์ํจ๊ณผ ๊ท์น์ ์ธ ํน์ฑ์ด ๋ง์ ์ข ๋ฅ์ ๋ช ๋ น์ด ์คํ์ ๋น์ทํ๊ฒ ๋ง๋ค์ด ์ค์ผ๋ก์จ ๊ตฌํ์ ๋จ์ํํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ชจ๋ ๋ช ๋ น์ด ์ข ๋ฅ๋ ๋ ์ง์คํฐ๋ฅผ ์ฝ์ ํ ALU๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ฐ๊ฐ์ ๋ชฉ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช ๋ น์ด(ld, sd)๋ ์ฃผ์ ๊ณ์ฐ์ ์ํด ์ฌ์ฉํฉ๋๋ค.
- ์ฐ์ , ๋ ผ๋ฆฌ ๋ช ๋ น์ด๋ ์ฐ์ฐ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
- ์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช ๋ น์ด๋ ๋น๊ตํ๊ธฐ ์ํด์ ์ฌ์ฉํฉ๋๋ค.
ALU๋ฅผ ์ฌ์ฉํ ํ ๋ช ๋ น์ด ์คํ์ ๋๋ด๊ธฐ ์ํด ํ์ํ ๋์์ ๋ช ๋ น์ด ์ข ๋ฅ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฆ ๋๋ค.
๐ง ๊ฐ๋จํ ๋ฐ์ดํฐํจ์ค
์๋ ๊ทธ๋ฆผ์ ์ฌ๋ฌ ๊ธฐ๋ฅ ์ ๋(์ฅ์น)๋ค๊ณผ ๊ทธ๋ค ์ฌ์ด์ ์ฐ๊ฒฐ(๋ฐ์ดํฐํจ์ค)์ ์ถ์์ ์ผ๋ก ํํํ ๊ฒ์ ๋๋ค.
์ ๊ทธ๋ฆผ์ ํ๋ก์ธ์ ๋ด์ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ฑฐ์ ๋ค ๋ณด์ฌ์ฃผ๊ณ ์์ง๋ง ๋ช ๋ น์ด ์คํ์ ํ์ํ ๋ ๊ฐ์ง ์ธก๋ฉด์ด ์ ์ธ๋์ด ์์ต๋๋ค.
์ฒซ์งธ๋ก, ์๋ก ๋ค๋ฅธ source์์ ๋์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ ์ ๋์ผ๋ก ๊ฐ๋ ๊ณณ์ด ๋ช ๊ตฐ๋ฐ ์์ต๋๋ค.
์๋ฅผ ๋ค๋ฉด PC์ ๋ค์ด๊ฐ๋ ๊ฐ์ ๋ ๊ฐ์ ๋ง์ ๊ธฐ์์ ๋์ต๋๋ค.
(ํ๋๋ 4๊ฐ ๋ํด์ง๊ณ , ํ๋๋ Instruction์ผ๋ก๋ถํฐ ๋์ต๋๋ค.)
ALU์ ๋๋ฒ์งธ ์ ๋ ฅ์ ๋ ์ง์คํฐ ํน์ ๋ช ๋ น์ด์ immediate ํ๋์์ ๋์ค๋ฉฐ,
๋ ์ง์คํฐ ํ์ผ์ ์ฐ์ฌ์ง ๋ฐ์ดํฐ๋ ALU๋ Data memory์์ ๋์ต๋๋ค.
์ค์ ๋ก๋ ์ด๋ค์ ๋จ์ํ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ฉํฐํ๋ ์๋ฅผ ํตํด ๊ตฌํํฉ๋๋ค.
๋์งธ๋ก ์ด๋ค ์ ๋(์ฅ์น)๋ค์ ๋ช ๋ น์ด ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ์ด๋์ด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฌ ๋ช ๋ น์ด์ผ ๋๋ ์ฝ๊ธฐ, ์ ์ฅ ๋ช ๋ น์ด์ผ ๋๋ ์ฐ๊ธฐ๋ฅผ ํด์ผ ํฉ๋๋ค.
ALU๋ ์ฌ๋ฌ ์ฐ์ฐ(๋ํ๊ธฐ, ๊ณฑํ๊ธฐ, ๋๋๊ธฐ, ๋นผ๊ธฐ)๋ค ์ค ํ๋๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๋์๋ค์ ๋ช ๋ น์ด์ ์ฌ๋ฌ ํ๋ ๊ฐ์ ๋ฐ๋ผ ์ ํด์ง๋ ์ ์ด์ ์ ์ํด ํต์ ๋ฉ๋๋ค.
์๋ ๊ทธ๋ฆผ์ ์์ ๊ทธ๋ฆผ์์ ์ ์ด์ ๊ณผ ๋ฉํฐํ๋ ์๋ฅผ ์ถ๊ฐํ ๊ทธ๋ฆผ์ ๋๋ค.
์ ์ด ์ ๋(control unit)์ ๊ธฐ๋ฅ ์ ๋๋ค๊ณผ ๋ ๋ฉํฐํ๋ ์(์ฐ์ธก์ ๋ ๊ฐ์ ํด๋น)์ ์ ์ด์ ๊ฐ์ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค.
์ด์ ์ ๊ทธ๋ฆผ์ ํ๋ํ๋ ์ดํด๋ณด๋ฉฐ ์ดํดํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฐ์ ๋ฐ์ดํฐํจ์ค ์ค๊ณ๋ฅผ ์์ํ๊ธฐ ์ํด RISC-V ๋ช ๋ น์ด ์ข ๋ฅ ๊ฐ๊ฐ์ ์คํํ๋๋ฐ ํ์ํ ์ฃผ์ ๊ตฌ์ฑ ์์๋ค์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ง ๋ช ๋ น์ด๋ฅผ ์ธ์ถํ๊ณ PC๋ฅผ ์ฆ๊ฐ์ํค๋ ๋ฐ์ดํฐํจ์ค
์๋๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๋ก์จ, ํ์ฌ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ ์ง์คํฐ์ ๋๋ค.
์๋๋ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด๋ฅผ ์ ์ฅํ๊ณ , ์ฃผ์๊ฐ ์ฃผ์ด์ง๋ฉด(Instruction address) ํด๋น ์ฃผ์์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ๋ณด๋ด์ฃผ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๋์ ๋๋ค.
๋ช ๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ํด์๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ค๋(fetch) ๊ฒ์ผ๋ก ์์ํด์ผ ํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด ์คํ์ ์ค๋นํ๊ธฐ ์ํด์ ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ๋ค์ ๋ช ๋ น์ด๋ฅผ ๊ฐ๋ฆฌํค๋๋ก 4๋งํผ ์ฆ๊ฐ์์ผ์ผ ํฉ๋๋ค.
PC๊ฐ ๋ค์ ๋ช ๋ น์ด๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋๋ก ๊ฐ์ ์ฆ๊ฐ์์ผ์ฃผ๋ ๋ง์ ๊ธฐ๊ฐ ํ์ํ๋ฐ, ์ด ๋ง์ ๊ธฐ๋ ALU๋ฅผ ๊ฐ์ง๊ณ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
ALU์์ ์คํํ ์ ์๋ ๋ง์ ์ฐ์ฐ๋ค ์ค ๋ง์ ๋ง ์ฌ์ฉํ๋๋ก ์ ์ด์ ์ ์ฐ๊ฒฐํ๋ฉด ๋ฉ๋๋ค.
์ด๋ฐ ALU๋ ์๊ตฌ์ ์ผ๋ก ๋ง์ ๊ธฐ๋ก ๋ง๋ค์ด์ง๋ฉฐ, ๋ค๋ฅธ ALU ๊ธฐ๋ฅ(๊ณฑํ๊ธฐ, ๋นผ๊ธฐ, ๋๋๊ธฐ)์ ์ํํ ์ ์์ผ๋ฏ๋ก ์๋ ๊ทธ๋ฆผ์ฒ๋ผ Add๋ฅผ ๋ถ์ด๋๋ก ํ๊ฒ ์ต๋๋ค.
์์์ ์ดํด๋ณธ ์ธ ๊ฐ์ง ๊ธฐ๋ณธ ์ ๋๋ค์ ํฉ์ณ ๋ช ๋ น์ด๋ฅผ ์ธ์ถํ๊ณ , PC๋ฅผ ์ฆ๊ฐ์์ผ ๋ค์ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ๊ตฌํ๋ ๋ฐ์ดํฐํจ์ค๋ฅผ ๋ง๋ค๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
๐ง R ํ์ ๋ช ๋ น์ด์ ๋ฐ์ดํฐํจ์ค
๋ชจ๋ Rํ์ ๋ช ๋ น์ด๋ค์ 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฝ๊ณ , ํด๋น ๊ฐ๋ค์ ํตํด ALU ์ฐ์ฐ์ ์ํํ๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ ์ง์คํฐ์ ์๋๋ค.
ํด๋น ํ์ ๋ช ๋ น์ด๋ค์ R ํ์ ๋ช ๋ น์ด ๋๋ ์ฐ์ /๋ ผ๋ฆฌ ๋ช ๋ น์ด๋ผ ๋ถ๋ฆ ๋๋ค.
ํด๋น ๋ช ๋ น์ด์๋ add, sub, and, or ๋ช ๋ น์ด๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
ํ๋ก์ธ์์ ๋ฒ์ฉ ๋ ์ง์คํฐ 32๊ฐ๋ ๋ ์ง์คํฐ ํ์ผ(register file) ์์ ๋ค์ด์์ต๋๋ค.
๋ ์ง์คํฐ ํ์ผ์ ๋ ์ง์คํฐ๋ค์ ๋ชจ์ ๋์ ๊ฒ์ผ๋ก, ํ์ผ ๋ด์ ๋ ์ง์คํฐ์ ๋ฒํธ๋ฅผ ์ง์ ํ๋ฉด ์ด๋ค ๋ ์ง์คํฐ๋ผ๋ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค.
R ํ์ ๋ช ๋ น์ด๋ค์ ๋ ์ง์คํฐ ํผ์ฐ์ฐ์ 3๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, ๋งค ๋ช ๋ น์ด๋ง๋ค ๋ ์ง์คํฐ ํ์ผ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ๋ฐ์ดํฐ ํ๋๋ฅผ ์จ์ผ ํฉ๋๋ค.
๋ ์ง์คํฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ํด์๋ ๋ ์ง์คํฐ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ํ๋ฒ์ฉ ํ์ํฉ๋๋ค.
์ฝ์ ๋ ์ง์คํฐ ๋ฒํธ๋ฅผ ์ง์ (Read register)ํ๋ ์ ๋ ฅ๊ณผ, ๋ ์ง์คํฐ์์ ์ฝ์ ๊ฐ์ ๋ด๋ณด๋ด๋ ์ถ๋ ฅ(Read Data)์ ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ ์ํด์๋ ์ ๋ ฅ์ด 2๊ฐ ํ์ํฉ๋๋ค.
ํ ์ ๋ ฅ์ ๋ ์ง์คํฐ ๋ฒํธ๋ฅผ ์ง์ (Wrtie register)ํ๊ณ , ๋ค๋ฅธ ์ ๋ ฅ์ ๋ ์ง์คํฐ์ ์ธ ๋ฐ์ดํฐ ๊ฐ์ ์ ๊ณต(Wrtie data)ํฉ๋๋ค.
๋ ์ง์คํฐ ํ์ผ์ Read register ์ ๋ ฅ์ ์ ๊ณต๋๋ ๋ฒํธ์ ํด๋นํ๋ ๋ ์ง์คํฐ์ ๋ด์ฉ์ ํญ์ ์ถ๋ ฅํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๊ธฐ๋ ์ฐ๊ธฐ ์ ์ด ์ ํธ์ ์ํด ์ ์ด๋๋ฏ๋ก ํด๋ญ ์์ง์์ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ๊ธฐ ์ํด์๋ ํด๋น ์ ์ด ์ ํธ๊ฐ 1์ด ๋์ด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ์ ์ฒด์ ์ผ๋ก ์ ๋ ฅ 4๊ฐ(๋ ์ง์คํฐ ๋ฒํธ 3๊ฐ์ ๋ฐ์ดํฐ 1๊ฐ)์ ์ถ๋ ฅ 2๊ฐ(๋ชจ๋ ๋ฐ์ดํฐ)๊ฐ ํ์ํฉ๋๋ค.
์ด๋ฅผ ์๋ ๊ทธ๋ฆผ์ ๋ํ๋ด์์ต๋๋ค.
ALU ์์๋ ํด๋น ๋ ์ง์คํฐ์์ ์ฝ์ ๋ ๋ฐ์ดํฐ๋ฅผ ํตํด ์ฐ์ฐ์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
ALU๋ ์ฌ๋ฌ ์ฐ์ฐ์ ์ํํ ์ ์์ง๋ง ๋ช ๋ น์ด์ ๋ฐ๋ผ ์ํ๋์ด์ผ ํ๋ ์ฐ์ฐ์ด ์ ํด์ ธ ์์ต๋๋ค.
์ด๋ฅผ ์ ์ดํ๊ธฐ ์ํด ALU ์ ์ด ์ ๋์ด ์ฌ์ฉ๋๋๋ฐ ์ด๋ ๋ค์์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ง ๋ฉ๋ชจ๋ฆฌ(I-, S-) ํ์ ๋ช ๋ น์ด์ ๋ฐ์ดํฐํจ์ค
ld ๋ช ๋ น์ด์ sd ๋ช ๋ น์ด๋ ๋ ๊ฐ์ ๋ ์ง์คํฐ์ ํ ๊ฐ์ immediate๋ฅผ ๊ฐ์ง๋๋ค.
ํด๋น ๋ช ๋ น์ด๋ค์ ๋ฒ ์ด์ค ๋ ์ง์คํฐ์ ๋ช ๋ น์ด์ ํฌํจ๋์ด ์๋ 12๋นํธ immediate๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์ ์ฅ ๋ช ๋ น์ด๋ผ๋ฉด ์ ์ฅํ ๊ฐ์ ๋ ์ง์คํฐ ํ์ผ์์ ์ฝ์ด ์์ผ ํ๋ฉฐ,
์ ์ฌ ๋ช ๋ น์ด๋ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ์ฝ์ด๋ค์ธ ๊ฐ์ ์ง์ ๋ ๋ ์ง์คํฐ์ ์จ์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ ๋ช ๋ น์ด ๋ชจ๋ ๋ ์ง์คํฐ ํ์ผ๊ณผ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋ ALU๊ฐ ํ์ํฉ๋๋ค.
๋ํ 12๋นํธ ๊ฐ์ 64๋นํธ ๊ฐ์ผ๋ก ๋ถํธํ์ฅํ๋ ์ ๋์ด ํ์ํ๋ฉฐ,
์ฝ๊ณ ์ธ ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฅ ๋ช ๋ น์ผ ๋๋ง ์ฐ๊ธฐ๋ฅผ ํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ฝ๊ธฐ ์ ์ด ์ ํธ์ ์ฐ๊ธฐ ์ ์ด ์ ํธ, ์ฃผ์ ์ ๋ ฅ, ๋ฉ๋ชจ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์ ๋ ฅ์ด ํ์ํฉ๋๋ค.
(์ฝ๊ธฐ ์ ์ด ์ ํธ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ์ฃผ์์ ๊ฐ์ ์ฝ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.)
๐ง ๋ถ๊ธฐ ๋ช ๋ น์ด์ ๋ฐ์ดํฐํจ์ค
๋ถ๊ธฐ ๋ช ๋ น์ด(beq)๋ 3๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ๊ฐ๋๋ฐ, 2๊ฐ์ ๋ ์ง์คํฐ์ 12๋นํธ์ offset์ ๋๋ค.
2๊ฐ์ ๋ ์ง์คํฐ๋ ๊ฐ์์ง ๋น๊ต๋ ํผ์ฐ์ฐ์์ด๋ฉฐ,
12๋นํธ offset์ ๋ถ๊ธฐ ๋ช ๋ น์ด์ ์ฃผ์์ ๋ํ ์๋์ ์ธ ๋ถ๊ธฐ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ์ ๋๋ค.
์ด ๋ช ๋ น์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ PC๊ฐ์๋ค๊ฐ offset ํ๋๋ฅผ ๋ถํธํ์ฅํ ๊ฐ์ ๋ํด์ ๋ถ๊ธฐ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ๊ณ์ฐํด์ผ ํฉ๋๋ค.
๋ถ๊ธฐ ๋ช ๋ น์ด์์๋ ์ฃผ์ํด์ผ ํ ์ ์ด ๋ ๊ฐ์ง ์๋๋ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ถ๊ธฐ ์ฃผ์ ๊ณ์ฐ์ ๋ฒ ์ด์ค ์ฃผ์๋ ๋ถ๊ธฐ ๋ช ๋ น์ด ์ฃผ์์ ๋๋ค.
๋ณ์ ํ๋๋ ํํ์๋ ๋ณ์์ด๋ฏ๋ก, ์ผ์ชฝ์ผ๋ก 1๋นํธ๋งํผ ์๋ฆฌ์ด๋ ํ์ฌ์ผ ํฉ๋๋ค.
๋ถ๊ธฐ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ ๊ฒ ์ธ์๋, ๋ถ๊ธฐ ๋ช ๋ น์ด๋ ๋ ํผ์ฐ์ฐ์ ๋ ์ง์คํฐ๊ฐ ๋์ผํ์ง์ ์ฌ๋ถ๋ฅผ ํตํด next instruction์ผ๋ก ๋ฐ์์ฌ ์ฃผ์๊ฐ ๋ฌ๋ผ์ง๋๋ค.
๋ ํผ์ฐ์ฐ์ ๊ฐ์ด ๊ฐ์ ๋ ๋ถ๊ธฐ ๋ชฉ์ ์ง ์ฃผ์๊ฐ ์๋ก์ด PC๊ฐ์ด ๋๋ฉฐ, ์ด๋ ๋ถ๊ธฐ๊ฐ ์ผ์ด๋ฌ๋ค(taken)๋ผ๊ณ ๋งํฉ๋๋ค.
๋ฐ๋๋ก ๋ ํผ์ฐ์ฐ์ ๊ฐ์ด ๋ค๋ฅผ ๋์๋ ๋ค๋ฅธ ๋ช ๋ น์ด์ ๋์ผํ๊ฒ PC์ ๊ฐ์ด 4 ์ฆ๊ฐ๋๋ฉฐ, ์ด ๊ฐ์ด ์๋ก์ด PC๊ฐ์ด ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ์๋ ๋ถ๊ธฐ๊ฐ ์ผ์ด๋์ง ์์๋ค(not taken)๋ผ๊ณ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ถ๊ธฐ ๋ฐ์ดํฐํจ์ค๋ ๋ถ๊ธฐ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ณ , ๋ ์ง์คํฐ ๋ด์ฉ์ ๋น๊ตํ๋ ๋ ๊ฐ์ง ์ผ์ ํด์ผ ํฉ๋๋ค.
๋ ์ง์คํฐ ๋ด์ฉ์ ๋น๊ต๋ ALU๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ฉฐ, ๋บ์ ์ ํ๋๋ก ๋ง๋๋ ์ ์ด ์ ํธ๋ฅผ ALU์ ํจ๊ป ๋ณด๋ ๋๋ค.
๋ถ๊ธฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐ์ดํฐํจ์ค๋ ์๋์ ๊ฐ์ต๋๋ค.
ALU๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ 0์ธ์ง๋ฅผ ์ฐ์ฐ์ ์ข ๋ฅ์ ๊ด๊ณ์์ด ํญ์ ์ถ๋ ฅํ์ง๋ง, ์์ผ๋ก ํด๋น Zero ์ ํธ์ ์ฌ์ฉ์ ์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช ๋ น์ด์ ๊ฐ์์ง์ ๋น๊ต ํ ์คํธ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ง ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๐ง ๋ฐ์ดํฐํจ์ค ์ ๋ ๊ณต์
์์์ ์ดํด๋ณธ ๋ฐ์ดํฐํจ์ค ๊ตฌ์ฑ ์์๋ค์ ํ๋๋ก ๋ฌถ๊ณ ์ฌ๊ธฐ์ ์ ์ด๋ฅผ ์ถ๊ฐํ์ฌ ๋ฐ์ดํฐํจ์ค์ ๊ตฌํ์ ์์ฑํ ์ ์์ต๋๋ค.
์ ํฌ๊ฐ ์ดํด๋ณผ ๋ฐ์ดํฐํจ์ค๋ ๋ชจ๋ ๋ช ๋ น์ด๊ฐ ํ ํด๋ญ ์ฌ์ดํด์ ์คํ๋๋๋ก ํ ๊ฒ์ด๋ฏ๋ก, ์ด๋ ๋ฐ์ดํฐํจ์ค ์์๋ ๋ช ๋ น์ด ๋น ๋ ๋ฒ ์ด์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ ๋ฒ ์ด์ ์ฌ์ฉํ ํ์๊ฐ ์๋ ๊ตฌ์ฑ ์์๋ ํ์ํ ๋งํผ ์ฌ๋ฌ๊ฐ๋ฅผ ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ณ๋๋ก ๋ช ๋ น์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
(์ด๋ค์ ๋ช ๋ น์ด ์บ์์, ๋ฐ์ดํฐ ์บ์๋ก ๋ถ๋ฆฌ๋์ด ์ ๊ณต๋ฉ๋๋ค.)
๋ช๋ช ๊ธฐ๋ฅ ์ ๋์ ์ฌ๋ฌ๊ฐ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ง๋ง, ๋ง์ ๊ตฌ์ฑ ์์๋ค์ด ์๋ก ๋ค๋ฅธ ๋ช ๋ น์ด ํ๋ฆ๋ค์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๋ช ๋ น์ด ์ข ๋ฅ์์ ๋ฐ์ดํฐํจ์ค ๊ตฌ์ฑ ์์๋ค์ ๊ณต์ ํ๊ธฐ ์ํด์๋ ๊ทธ ๊ตฌ์ฑ ์์์ ์ ๋ ฅ์ผ๋ก ์ฌ๋ฌ ์ฐ๊ฒฐ์ ํ์ฉํด์ผ ํ๋ฉฐ, ๋ฉํฐํ๋ ์์ ์ ์ด ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ ์ ๋ ฅ๋ค ์ค ํ๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์๋๋ ์ด๋ค์ ๋ชจ๋ ํฉ์ณ ๋ง๋ ์ ์ฒด ๋ฐ์ดํฐํจ์ค์ ๋๋ค.
'๐ฅ Computer Science > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ ๊ตฌ์กฐ] ํ๋ก์ธ์[2] - ํ์ดํ๋ผ์ด๋ (0) | 2022.11.24 |
---|---|
[์ปดํจํฐ ๊ตฌ์กฐ] ํ๋ก์ธ์[1] - ๋ฐ์ดํฐํจ์ค ์ ์ด (0) | 2022.11.09 |
[์ปดํจํฐ ๊ตฌ์กฐ] ์ปดํจํฐ ์ฐ์ฐ[4] - ๋ถ๋์์์ ์ฐ์ฐ (0) | 2022.10.25 |
[์ปดํจํฐ ๊ตฌ์กฐ] ์ปดํจํฐ ์ฐ์ฐ[3] - ๋๋์ (1) | 2022.10.25 |
[์ปดํจํฐ ๊ตฌ์กฐ] ์ปดํจํฐ ์ฐ์ฐ[2] - ๊ณฑ์ (0) | 2022.10.25 |