๋ถ์กฑํ ๋ถ๋ถ์ด ๋ง์ ์ฝ๋๊ฐ ๊ทธ๋ฆฌ ๊น๋ํ์ง๋ ์์ต๋๋ค.. ใ
(์ํ ๋ค๋ค ํ์ดํ
ํ์ธ์๐) ๐ง addOK /* * addOK - Determine if can compute x+y without overflow * Example: addOK(0x80000000,0x80000000) = 0, * addOK(0x80000000,0x70000000) = 1, * Legal ops: ! ~ & ^ | + > * Max ops: 20 * Rating: 3 */ int addOK(int x, int y) { /* * Overflow๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. * (1) MSB_X = 0, MSB_Y = 0, MSB_(X+Y) = 1 * (2) MSB_X = 1, MSB_Y = 1, MSB_(X+Y) = 0 * *..
๐ฅ Computer Science
๐ง ์ ๋์จ ํ์ธ๋ ์๋ฃ๊ตฌ์กฐ ์ ๋์จ ํ์ธ๋ ์๋ฃ๊ตฌ์กฐ(๋๋ ์๋ก์ ์งํฉ(disjoint set) ์๋ฃ๊ตฌ์กฐ)๋ ๋ค์ ๋ ์ข
๋ฅ์ ์ฐ์ฐ์ ์ง์ํ๋ ์๋ฃ๊ตฌ์กฐ์
๋๋ค. Union : ๋ ๊ฐ์ ๋
ธ๋๊ฐ ํฌํจ๋ ์งํฉ์ ํ๋์ ์งํฉ์ผ๋ก ํฉ์น๋ ์ฐ์ฐ Find : ํน์ ๋
ธ๋๊ฐ ์ํ ์งํฉ์ ๋ฃจํธ ๋
ธ๋๋ฅผ ๋ฐํํ๋ ์ฐ์ฐ ์ฐ์ ๋๋น๋๋์ ์ค๋ช
์ด ๊ต์ฅํ ์ข๊ธฐ ๋๋ฌธ์, ๋๋น๋๋์ ์ ํ๋ธ ๋งํฌ๋ฅผ ๊ฑธ์ด๋๋๋ก ํ๊ฒ ์ต๋๋ค. ( ์ ๋ ๊ทธ๋ฅ ์ ๊ฐ ๊ณต๋ถํ๋ ค๊ณ ๊ธ ์ด ๊ฑฐ๋๊น, ์ ํ๋ธ ๋ณด๋ฌ ๊ฐ์ธ์ฌ..ใ
ใ
) โญ๏ธ Find ์ฐ์ฐ Find ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ตฌํํ ์ ์์ต๋๋ค. 1. ํด๋น ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋์ ํด๋น ๋
ธ๋๋ฅผ ๋น๊ตํฉ๋๋ค. ์ด๋ ๋ ๋
ธ๋๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, ํด๋น ๋
ธ๋๋ ๋ฃจํธ ๋
ธ๋์
๋๋ค. 2. ๋ง์ฝ ๊ฐ์ง ์๋ค๋ฉด ํด๋น ๋
ธ๋์ ๋ถ๋ชจ ๋
ธ๋์ ๋..
์ปดํจํฐ์์๋ ์์๋ฅผ ํํํ๊ธฐ ์ํด ๋ถ๋์์์ ํํ์ ์ฌ์ฉํฉ๋๋ค. ๋ถ๋์์์ ํํ์ $V = x \times 2^{y}$ ํํ์ ์์๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค. ํ์ฌ ๋๋ถ๋ถ์ ์ปดํจํฐ๋ IEEE ๋ถ๋์์์ ํ์ค ์ ๋ฐฉ์์ ์ง์ํฉ๋๋ค. ์ด์ ๋ถํฐ ์ซ์๋ฅผ ์ด๋ป๊ฒ IEEE ๋ถ๋์์์ ํ์์ผ๋ก ๋ํ๋ด๋์ง์, ์ซ์๋ฅผ ํด๋น ํํ๋ก ์ ํํ๊ฒ ๋ํ๋ผ ์ ์์ ๋ ์ํํ๊ฒ ๋๋ ๊ทผ์ฌ(rounding)์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง ๋น์จ ์ด์ง์ ๋ถ๋์์์ ์ ๋ํด ์์๋ณด๊ธฐ ์ , ๋น์จ ์ด์ง์์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋น์จ ์ด์ง์์ ํ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. $$b_m \;b_{m-1}\; ... b_2\; b_1\; b_0\; .\; b_{-1} \;b_{-2}\; ... \;b_{-n+1}\; b_{-n}$$ ์ด์ง ์์์ ์ข์ธก์ ์ซ..
๐ง ๋
ผ๋ฆฌ ์ฐ์ฐ ๋ช
๋ น์ด ๋
ผ๋ฆฌ ์ฐ์ฐ์ ์ข
๋ฅ๋ก๋ 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 \;\..
๐ง ๋ช
๋ น์ด ํ์ (Instruction Format) ๋ช
๋ น์ด๋ ๋ช
๋ น ์ฝ๋์ ํผ์ฐ์ฐ์๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋ช
๋ น์ด๋ค์ ์ด์ง์๋ก ์ธ์ฝ๋ฉ๋๊ธฐ ๋๋ฌธ์, ๋ช
๋ น์ด์ ๊ฐ ๋ถ๋ถ์ ์ซ์๋ก ๋ณผ ์ ์์ต๋๋ค. ๋ค์ ์์ ๋ฅผ ํตํด ์ข ๋ ์์ธํ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ฎ๐จ ์์ ์๋ ์ด์
๋ธ๋ฆฌ ๋ช
๋ น์ด์ RISC-V ์ธ์ด ๋ฒ์ ์ ์ญ์ง์์ ์ด์ง์๋ก ํํํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. add x9, x20, x21 ์ญ์ง์ ํํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 0 21 20 0 9 51 ๋ช
๋ น์ด์ ๊ฐ ๋ถ๋ถ์ ํ๋(Field)๋ผ ๋ถ๋ฆ
๋๋ค. ์์์ ์ฒซ ๋ฒ์งธ, ๋ค ๋ฒ์งธ, ์ฌ์ฏ ๋ฒ์งธ ํ๋(0, 0, 51 ๋ถ๋ถ)๋ RISC-V ์ปดํจํฐ์๊ฒ ์ด ๋ช
๋ น์ด๋ ๋ง์
์ ์ํํ๋ค๊ณ ์๋ ค์ฃผ๋ ๋ถ๋ถ์
๋๋ค. ๋ ๋ฒ์งธ ํ๋๋ ๋ง์
์ ์ฌ์ฉํ ๋ ๋ฒ์งธ ํผ์ฐ์ฐ์ ๋ ์ง์คํฐ์ ๋ฒํธ( 21 = x21 ..
๐ง ํผ์ฐ์ฐ์ (Operands) ์ฐ์ ๋ช
๋ น์ด์ ํผ์ฐ์ฐ์์๋ ์ ์ฝ์ด ์์ต๋๋ค. ๋ ์ง์คํฐ(register)์ ์ฃผ์ ํน์ ์์๋ง์ด ํด๋น ์์น์ ์ฌ ์ ์์ต๋๋ค. RISC-V ์ปดํจํฐ๋ 32๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ๋ ์ง์คํฐ๋ 64๋นํธ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. (32๋นํธ ์ปดํจํฐ์ ๊ฒฝ์ฐ ๋ ์ง์คํฐ๋ 32๋นํธ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.) ๊ฐ๊ฐ์ ๋ ์ง์คํฐ๋ x0 ๋ถํฐ x31 ๊น์ง์ ์ฃผ์๋ฅผ ๊ฐ์ง๋๋ค. ์ฌ๊ธฐ์ ์๋(Word)๋ผ๋ ๋จ์ด๊ฐ ๋ฑ์ฅํ๋๋ฐ, ์๋๋ ์ปดํจํฐ์์์ ์ ๊ทผ ๋จ์์ด๋ฉฐ, ๋ ์ง์คํฐ์ ํฌ๊ธฐ์ ํด๋นํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ณธ๋์ ์๋ฏธ์๋ ๋ค๋ฅด๊ฒ ์ผ๋ฐ์ ์ผ๋ก Word๋ผ๊ณ ํ๋ฉด 32๋นํธ๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉฐ, 64๋นํธ ์ปดํจํฐ์์๋ Word๊ฐ 64๋นํธ์ด์ง๋ง Word๋ 32๋นํธ๋ผ๋ ์ธ์์ด ๊ฐํ๋ฏ๋ก, 64๋นํธ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด Double ..
๐ง ๋ช
๋ น์ด ์ปดํจํฐ์ ํ๋์จ์ด์๊ฒ ์ผ์ ์ํค๊ธฐ ์ํด์๋, ํ๋์จ์ด๊ฐ ์์๋ค์ ์ ์๋ ์ธ์ด๋ก ๋ช
๋ น์ ํด์ผ ํฉ๋๋ค. ์ปดํจํฐ ์ธ์ด์์์ ๋จ์ด๋ฅผ ๋ช
๋ น์ด(Instruction)๋ผ ์นญํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ํ CPU๊ฐ ์ดํดํ ์ ์๋ ๋ช
๋ น์ด๋ค์ ๋ชจ์๋์ ๊ฒ์ ๋ช
๋ น์ด ์งํฉ(Instruction set)์ด๋ผ ๋ถ๋ฆ
๋๋ค. ISA๊ฐ ๋ค๋ฅธ ์ปดํจํฐ๋ค์, ๋ชจ๋ ๋ค๋ฅธ ๋ช
๋ น์ด ์งํฉ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ์, ํ๋๋ฅผ ๋ฐฐ์ฐ๋ฉด ๋ค๋ฅธ ๊ฒ๋ค๋ ์ฝ๊ฒ ์ต์ํด์ง ์ ์์ต๋๋ค. ์์ผ๋ก ๋ฑ์ฅํ๋ ๋ชจ๋ ๋ช
๋ น์ด ์งํฉ์ RISC-V ์
๋๋ค. โ๏ธ ์ฐธ๊ณ : CISC์ RISC CISC : Complex Instruction Set Computer RISC : Reduced Instruction Set Computer CISC..
๐ง Strongly Connected ๋ฐฉํฅ ๊ทธ๋ํ์์๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ๋์ผํ๊ฒ Connectivity(์ฐ๊ฒฐ์ฑ)๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ๋ฐฉํฅ ๊ทธ๋ํ์์์ Connectivity๋ ๋ณดํต Strongly Connected ๋ก ์ ์๋๋ฉฐ, ํด๋น ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. $G$ ๋ Strongly Connected ํ๋ค : ์์์ ์๋ก ๋ค๋ฅธ ๋ ์ ์ $v$, $u$ $\in V(G)$ ์ ๋ํ์ฌ, $v$ ์์ $w$ ๋ก์ Path์, $w$ ์์ $v$ ๋ก์ Path๊ฐ ์กด์ฌํ๋ค. ๐ง Strongly Connected Components (๊ฐํ ์ฐ๊ฒฐ ์์) ๊ทธ๋ํ $G$์ ๋ํ Strong Connected Component $G'$ : $G$ ์ Maximal Strongly Connected Subgraph $..