๐ง ๋ถ๋ถ ์์ด(Subsequence) ๊ธธ์ด n์ธ ์์ด(sequence, ordered list) $S = a_1, a_2, ... a_n$ ์ด ์ฃผ์ด์ก์ ๋, ์์ด $S' (= a_{i1}, a_{i2}, ..., a_{ik})$ ๊ฐ $1 \leq i1 < i2 < ... < ik \leq n$ ๋ฅผ ๋ง์กฑํ ๊ฒฝ์ฐ, $S'$ ๋ฅผ $S$ ์ subsequence๋ผ ํฉ๋๋ค. ๐ง ์ฆ๊ฐ ์์ด(Increasing sequence) ์์ด S = $a_1, a_2, ..., a_n$ ์ ๋ํ์ฌ $a_1 < a_2 < ... < a_n$ ์ผ ๋, increasing sequence๋ผ ํฉ๋๋ค. ๐ง ๊ฐ์ํ์ง ์๋ ์์ด(Non-decreasing sequence) ์์ด S = $a_1, a_2, ..., a_n$ ์ ๋ํ์ฌ $a..
๐ฅ Computer Science
๐ง Memoization ์ฌ๊ท์ ์ผ๋ก ๋ฐ๋ณต๋๋ ์ด๋ ํ ํจ์์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํฉ๋๋ค. ๐ง Dynamic Programming Recursion(์ฌ๊ท)๊ณผ Memoization์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐ๋ฒ์ ์๋ฏธํฉ๋๋ค. DP์ ๋ณธ์ง์ ์ฌ๊ท๋ฅผ ์ฌ๋ฐ๋ฅด๊ณ ๋๋ํ๊ฒ ํ๋ ๊ฒ์ด๋ฏ๋ก, ์ฌ๊ท๋ฅผ ์ํ Recurrence Relation์ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ์ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๐ง DP ๋ฌธ์ ํด๊ฒฐ ์์ 1. ๋ฌธ์ ๋ฅผ ์ ํํ๊ฒ ์ ์ํฉ๋๋ค. 2. ์ ์๋ ๋ฌธ์ ์ ๋ํ์ฌ ๋ถ๋ถ ๋ฌธ์ (Subproblem)์ ์ ์ํฉ๋๋ค. 3. Subproblem์ ์ด์ฉํ์ฌ Recurrence Relation์ ์ธ์๋๋ค. 4. Memoization์ ์ด์ฉํ์ฌ Recurrence Relation์ ๊ณ์ฐํฉ๋๋ค. - ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ๋ค๋ค ์ ์ฅํ ์๋ฃ๊ตฌ์กฐ..
์์ ๊ธ์์ ์ดํด๋ณธ ๋ฐ์ดํฐํจ์ค์ ์ ์ด๋ฅผ ์์ธํ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง 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..
๐ง ๊ธฐ๋ณธ์ ์ธ RISC-V ๊ตฌํ ๊ฐ์ ์ด์ ๋ถํฐ ๋ค์ ํต์ฌ์ ์ธ ๋ช
๋ น์ด๋ค์ ์คํํ๊ธฐ ์ํ ํ๋ก์ธ์๋ฅผ ์ค๊ณํ๋ ๊ณผ์ ์ ํตํด, ํ๋ก์ธ์์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช
๋ น์ด : ld, sd ์ฐ์ ๋
ผ๋ฆฌ ๋ช
๋ น์ด : add, sub, and, or ์กฐ๊ฑด๋ถ ๋ถ๊ธฐ ๋ช
๋ น์ด : beq ์ด๋ฌํ ๋ช
๋ น์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๊ฒ์ ๋๋ถ๋ถ์ ๋ช
๋ น์ด๊ฐ ์ด๋ค ๋ช
๋ น์ด์ธ์ง์ ์๊ด์์ด ๋์ผํฉ๋๋ค. ๋ชจ๋ ๋ช
๋ น์ด์ ์ฒซ ๋๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ๋์ผํฉ๋๋ค. 1. ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๋ฅผ ํ๋ก๊ทธ๋จ์ด ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ช
๋ น์ด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. 2. ์ฝ์ ๋ ์ง์คํฐ๋ฅผ ์ ํํ๋ ๋ช
๋ น์ด ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ๋๋ 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ดํ๋ถํฐ๋ ๋ช
๋ น์ด์ ์ข
๋ฅ์ ๋ฐ๋ผ ์ํํด์ผ ํ ํ๋๋ค์ด ๋ฌ๋ผ์ง๋๋ค. RISC-..
๐ง ํ๋ก์ธ์ค์ ์ ์ด Unix๋ C ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ํ๋ก์ธ์ค๋ฅผ ์ ์ดํ๊ธฐ ์ํด ๋ง์ ์์คํ
์ฝ์ ์ ๊ณตํฉ๋๋ค. ๋ค์์ ๋ํ์ ์ธ ๊ธฐ๋ฅ๋ค์
๋๋ค. ํ๋ก์ธ์ค ID ๊ฐ์ ธ์ค๊ธฐ ํ๋ก์ธ์ค ์์ฑ๊ณผ ์ข
๋ฃ ์์ ํ๋ก์ธ์ค ์ ๊ฑฐ ํ๋ก๊ทธ๋จ์ ๋ก๋ฉ๊ณผ ์คํ ๐ง ํ๋ก์ธ์ค ID ๊ฐ์ ธ์ค๊ธฐ getpid : ํธ์ถํ๋ ํ๋ก์ธ์ค์ PID๋ฅผ ๋ฐํํฉ๋๋ค. getppid : ๋ถ๋ชจ ํ๋ก์ธ์ค์ PID๋ฅผ ๋ฐํํฉ๋๋ค. (์ฆ ํธ์ถํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ง๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐํํฉ๋๋ค.) ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ ๊ณ ์ ํ ํ๋ก์ธ์ค ID (PID)๋ฅผ ๊ฐ์ต๋๋ค. ์์ ํจ์๋ค์ ํตํด PID๋ฅผ ์ป์ด์ฌ ์ ์์ต๋๋ค. ์ด๋ ๋ฐํ ํ์
์ pid_t ํ์
์ ์ ์ ๊ฐ์ด๋ฉฐ, ์ด๋ ๋ฆฌ๋
์ค ์์คํ
์์ types.h์ ์ ์๋ก ์ ์ฅ๋์ด ์์ต๋๋ค. ๐ง ํ๋ก์ธ์ค์ ์ํ ํ๋ก๊ทธ๋๋จธ์ ๊ด์ ์์ ํ๋ก์ธ์ค๋ ๋ค์๊ณผ ๊ฐ์ ..
๐ง ํ๋ก์ธ์ค ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๊ฐ ๋ง๋ค์ด ์ฃผ๋ ์คํ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค์
๋๋ค. ํ๋ก๊ทธ๋จ์ ์ค๋๋ ์์คํ
์์ ์คํ๋ ๋, ๋ง์น ๋จ ํ ๊ฐ์ ํ๋ก๊ทธ๋จ๋ง์ด ์์คํ
์์ ๋์๊ฐ๊ณ ์๋ ๊ฒ ๊ฐ์ ์ฐฉ๊ฐ์ด ๋ค๊ฒ ํฉ๋๋ค. ์ด๋ฌํ ์ฐฉ๊ฐ์ ํ๋ก์ธ์ค๋ผ๋ ๊ฐ๋
์ ์ํด ์ด๋ฃจ์ด์ง๋๋ค. ์์คํ
๋ด์ ๊ฐ ํ๋ก๊ทธ๋จ์ ์ด๋ค ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ(context)์์ ๋์๊ฐ๋๋ค. ๋ฌธ๋งฅ์ ํ๋ก๊ทธ๋จ์ด ์ ํํ๊ฒ ๋์๊ฐ๊ธฐ ์ํด์ ํ์ํ ์ํ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ฌธ๋งฅ ์์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋์ ๋ฐ์ดํฐ, ์คํ, ๋ฒ์ฉ ๋ ์ง์คํฐ์ ๋ด์ฉ, ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ํ๊ฒฝ๋ณ์, ์ด๋ ค ์๋ ํ์ผ์ ์๋ณ์๊ฐ ํฌํจ๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์คํ ๋ชฉ์ ํ์ผ์ ์ด๋ฆ์ ์์ ์
๋ ฅํ์ฌ ํ๋ก๊ทธ๋จ์ ๋๋ฆด ๋๋ง๋ค ์์ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ , ์คํ ๋ชฉ์ ํ์ผ์ ์๋ก์ด ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ์์ ์คํ..
๐ง ์ ์ดํ๋ฆ CPU์ ์ ์์ ์ฒ์ ๊ณต๊ธํ๋ ์์ ๋ถํฐ, ์ ์์ด ๊บผ์ง๋ ์์ ๊น์ง ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๋ ์ฐ์๋ (์ธ์คํธ๋ญ์
์) ์ฃผ์๊ฐ๋ค์ ์คํํฉ๋๋ค. ๋ช
๋ น์ด 1 ๋ช
๋ น์ด 2 ๋ช
๋ น์ด 3 ... ๋ช
๋ น์ด n ๋ช
๋ น์ด 1์์ ๋ช
๋ น์ด 2๋ก์ ์ ํ์ ์ ์ด์ด๋์ด๋ผ ๋ถ๋ฆ
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ ์ ์ด์ด๋์ ๋ฐฐ์ด์ (ํ๋ก์ธ์์) ์ ์ดํ๋ฆ์ด๋ผ ๋ถ๋ฆ
๋๋ค. ๐ง ์์ธ์ ์ธ ์ ์ด ํ๋ฆ, ECF ๊ฐ์ฅ ๊ฐ๋จํ ์ ํ์ ์ ์ดํ๋ฆ์ ๋ช
๋ น์ด 1๊ณผ ๋ช
๋ น์ด 2๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก ๋๋ํ ์๋ ๊ฒฝ์ฐ์
๋๋ค. ์ ์ดํ๋ฆ ์์์ jump, branches, call, return ๋ฑ์ ๋ช
๋ ์ด๊ฐ ์คํ๋๋ฉด ์์ ๊ฐ์ ์ ์ง์ ์ธ ์ ์ดํ๋ฆ์ด ๋ณ๊ฒฝ๋๊ณ , ์๋ก ๋๋ํ ์กด์ฌํ์ง ์๋ ๋ช
๋ น์ด๊ฐ ์คํ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์์คํ
์ ์์ฒ๋ผ ๋ช
๋ น์ด๋ก ์ธํ ์ํ ๋ณํ๊ฐ ์๋, ํ๋ก๊ทธ๋จ์ ์คํ๊ณผ..
๐ง ๋ถ๋์์์ ๋ง์
๋ง์
์ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. 1. ๋ํด์ง๋ ๋ ์ ์ค ์ง์๊ฐ ํฐ ์์ ๋ง์ถ์ด, ์ง์๊ฐ ์์ ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์ด๋ ์๋ฆฌ์ด๋ ์ดํ ๋ฒ๋ ค์ง๋ ์๊ฐ ์์ ์ ์์ต๋๋ค. 2. ์ ํจ์๋ฆฌ(frac)์ ์๋ก ๋ํฉ๋๋ค. 3. ์ด ํฉ์ ์ ๊ทํ๋์ง ์์์ ์ ์์ผ๋ฏ๋ก, ์ด๋ฅผ ์ ๊ทํ ์ํต๋๋ค. ์ด๋ ์ค๋ฒ/์ธ๋ํ๋ก์ฐ ์ฌ๋ถ๋ฅผ ํ์ธํ์ฌ์ผ ํฉ๋๋ค. 4. ๋นํธ ์์ ํํ๋ฒ์๊ฐ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ๊ทผ์ฌ๋ฅผ ํตํด ์๋ฆฌ์๋ฅผ ๋ง์ถ์ด ์ฃผ๊ณ , ๋ํ ๋ค์ ์ ๊ทํ๊ฐ ํ์ํ๋ค๋ฉด 3, 4์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์งํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๋ ๋ถ๋์์์ ์ ๋ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. $ 1.000 \times 2^{-1} + -1.110 \times 2^{-2} \;\;\;(0.5 + -0.4375)$ 1. ํฐ ์์ ์ง์..