๐Ÿ–ฅ Computer Science

๐Ÿง ๋ถ€๋ถ„ ์ˆ˜์—ด(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..
๐Ÿง 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. ํฐ ์ˆ˜์˜ ์ง€์ˆ˜..
๋ง ๋ž‘
'๐Ÿ–ฅ Computer Science' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (4 Page)