๐Ÿ–ฅ Computer Science/์ปดํ“จํ„ฐ ๊ตฌ์กฐ

๐Ÿง ์˜์‚ฌ ๊ฒฐ์ • ๋ช…๋ น์–ด ์ปดํ“จํ„ฐ๋Š” ๋‹จ์ˆœํžˆ ์‚ฐ์ˆ  ์—ฐ์‚ฐ๋งŒ์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋‚˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” ๋ณดํ†ต if ๋ฌธ์žฅ์„ ํ†ตํ•ด์„œ ํŒ๋‹จ ๊ธฐ๋Šฅ์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. RISC-V ์–ด์…ˆ๋ธ”๋ฆฌ์–ด์—์„œ๋Š” go to ๊ฐ€ ์žˆ๋Š” if ๋ฌธ๊ณผ ๋น„์Šทํ•œ ํŒ๋‹จ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋‘๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ๋ณธ ํ›„ ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. โญ๏ธ beq - ๊ฐ™์œผ๋ฉด ๋ถ„๊ธฐํ•œ๋‹ค. beq rs1, rs2, L1 ์œ„ ๋ช…๋ น์–ด๋Š” rs1์˜ ๊ฐ’์ด rs2์˜ ๊ฐ’๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ L1์œผ๋กœ ์ด๋™ํ•˜๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. โญ๏ธ bne - ๊ฐ™์ง€ ์•Š์œผ๋ฉด ๋ถ„๊ธฐํ•œ๋‹ค. bne rs1, rs2, L1 ์œ„ ๋ช…๋ น์–ด๋Š” rs1์˜ ๊ฐ’์ด rs2์˜ ๊ฐ’๊ณผ ๊ฐ™์ง€ ์•Š์€ ๊ฒฝ์šฐ L1์œผ๋กœ ์ด๋™ํ•˜๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๐Ÿง ์กฐ๊ฑด๋ถ€ ๋ถ„๊ธฐ (Conditional branch) ์กฐ๊ฑด๋ถ€..
๐Ÿง ๋…ผ๋ฆฌ ์—ฐ์‚ฐ ๋ช…๋ น์–ด ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜๋กœ๋Š” 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..
์„ฑ๋Šฅ์˜ ์ •์˜ ์–ด๋–ค ์ปดํ“จํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๋Š” ๊ฒƒ์˜ ์˜๋ฏธ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๋‹จ์ˆœํžˆ ๋‘ ์ปดํ“จํ„ฐ์—์„œ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒฝ์šฐ, ๋จผ์ € ์‹คํ–‰๋˜๊ณ  ๋จผ์ € ๋๋‚˜๋Š” ์ชฝ์ด ๋” ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๊ฐ€์ง€๊ณ , ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ, ํ•˜๋ฃจ ๋™์•ˆ ๋” ๋งŽ์€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ๋” ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์ž ๊ฐœ์ธ์˜ ์ž…์žฅ์—์„œ๋Š” ์‘๋‹ต์‹œ๊ฐ„(response time), ์ฆ‰ ์‹คํ–‰์‹œ๊ฐ„์ด ์ œ์ผ ์ค‘์š”ํ•œ ์š”์†Œ์ผ ๊ฒƒ์ด๋ฉฐ, ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž์˜ ๊ฒฝ์šฐ์—๋Š” ์ฒ˜๋ฆฌ๋Ÿ‰(throughput) ํ˜น์€ ๋Œ€์—ญํญ(bandwidth)์ด ๋” ์ค‘์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•˜๋Š” ์ฒ™๋„๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ์ œ ๋”..
ํ”„๋กœ๊ทธ๋žจ์˜ ๋‚ด๋ถ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”๋กœ ํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์ปดํ“จํ„ฐ์˜ ํ•˜๋“œ์›จ์–ด๋Š” ์•„์ฃผ ๋‹จ์ˆœํ•œ ์ €์ˆ˜์ค€์˜ ๋ช…๋ น์–ด(์ธ์ŠคํŠธ๋Ÿญ์…˜)๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž‘์„ฑ๋œ ๋ณต์žกํ•œ ์ž‘์—…๋“ค์„ ์•„์ฃผ ๋‹จ์ˆœํ•œ ๋ช…๋ น์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ์—ฌ๋Ÿฌ ๊ณ„์ธต์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ถ”์ƒํ™”(Abstraction)๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด(Application software, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ)๊ฐ€ ๊ณ„์ธต์˜ ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ์— ์œ„์น˜ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด(System software)๊ฐ€ ํ•˜๋“œ์›จ์–ด์™€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์— ์กด..
๋ง ๋ž‘
'๐Ÿ–ฅ Computer Science/์ปดํ“จํ„ฐ ๊ตฌ์กฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)