๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€

1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘ํ˜„๋Œ€ ์ปดํ“จํ„ฐ๋Š” ๊ณต์œ ๋œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ‘๊ทผ์„ ์ œ๊ณตํ•˜๋Š” ๊ณตํ†ต ๋ฒ„์Šค์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ CPU์™€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ device controller๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.device controller: ๊ฐ ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.device controller์™€ CPU๋Š” ๋ณ‘ํ–‰์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ด๋“ค์€ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์ ‘๊ทผ์— ๋Œ€ํ•ด ๊ฒฝ์Ÿํ•œ๋‹ค. Local buffer: CPU์˜ ์ž‘์—… ๊ณต๊ฐ„์ธ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ device controller๋„ ์ž‘์—… ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.๋ฉ”์ธ CPU์˜ ์ž‘์—… ๊ณต๊ฐ„์ธ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋“ฏ์ด ๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—… ๊ณต๊ฐ„์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋ฅผ Local Buffer๊ฐ€ ๊ทธ ์—ญํ• ์„ ํ•œ๋‹ค.์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜์Œ ๊ตฌ๋™๋˜๋ฉด ์ดˆ๊ธฐ์— ์‹คํ–‰๋  ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์–ด์•ผํ•œ๋‹ค. ์ด๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ ํ•˜..
1. ์šด์˜์ฒด์ œ๋ž€? ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด์ž ์ปดํ“จํ„ฐ์˜ ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์— ์ค‘๊ฐ„ ๋งค๊ฐœ์ฒด ์—ญํ• ์„ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.์šด์˜์ฒด์ œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ์ปดํ“จํ„ฐ ์ž์›์„ ๊ณจ๊ณ ๋ฃจ ๋ฐฐ๋ถ„ํ•˜์—ฌ ์ž‘์—… ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ์ ๋‹นํ•œ ์‹œ์ ์— ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ž์›์„ ํšŒ์ˆ˜ํ•˜๊ณ  ์•…์˜์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ์š”์†Œ: ํ•˜๋“œ์›จ์–ด, ์šด์˜์ฒด์ œ, ์‘์šฉํ”„๋กœ๊ทธ๋žจ, ์‚ฌ์šฉ์ž์ปดํ“จํ„ฐ ์ž์›: ํ‚ค๋ณด๋“œ, CPU, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ 2. ์šด์˜์ฒด์ œ์˜ ๋ชฉํ‘œ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ๋ฆฌ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ , ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๊ฒŒ ํ•œ๋‹ค.์ปดํ“จํ„ฐ ์ž์›์˜ ํ• ๋‹น์€ ๊ณต์ •ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. 3. ์šด์˜์ฒด์ œ์˜ ๋ฐœ์ „์ž‘์—… ๋ฐฉ์‹ ๋ฐœ์ „ํ•˜๋“œ์™€์ด์–ด๋ง ์‹œ์Šคํ…œ → ์ผ๊ด„ ์ž‘์—… ์‹œ์Šคํ…œ: batch(ํ•œ ๋ฒˆ์— ..
Fake Simple ์ปดํ“จํ„ฐ ๋ช…๋ น์–ด ์ง‘ํ•ฉ - ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋‹จ์ˆœํ•œ ๊ฐ€์ •,์˜ˆ์‹œ์ด๋‹ค. ๋ช…๋ น์–ด ํ˜•์‹ (๊ฐ€์ •) 16bits๋กœ ๊ตฌ์„ฑ ์—ฐ์‚ฐ๋ถ€ํ˜ธ๊ฐ€ 4bits ํ˜น์€ 16bits 1) 15๋ฒˆ bits๊ฐ€ 0์ด๋ฉด 12~15๋ฒˆ bit๊ฐ€ ์—ฐ์‚ฐ๋ถ€ํ˜ธ์ด๊ณ , 2) 15๋ฒˆ bits๊ฐ€ 1์ด๋ฉด 0~15๋ฒˆ bit๊ฐ€ ์—ฐ์‚ฐ๋ถ€ํ˜ธ์ด๋‹ค. ๋ช…๋ น์–ด LDA~CAL์€ ์—ฐ์‚ฐ๋ถ€ํ˜ธ๊ฐ€ 1~6์ธ๋ฐ ๊ฐ‘์ž๊ธฐ HLT๋ถ€ํ„ฐ๋Š” 8000์ด ๋œ๋‹ค. ์ด์œ ๋Š” 15๋ฒˆ ๋น„ํŠธ์— ์žˆ๋‹ค. ์•ž์—์„œ 15๋ฒˆ ๋น„ํŠธ๊ฐ€ 0์ด๋ฉด 12~15๋ฒˆ ๋น„ํŠธ๊ฐ€ ์—ฐ์‚ฐ๋ถ€ํ˜ธ์ด๊ณ , 15๋ฒˆ ๋น„ํŠธ๊ฐ€ 1์ด๋ฉด 0~15๋ฒˆ ๋น„ํŠธ๊ฐ€ ์—ฐ์‚ฐ๋ถ€ํ˜ธ๋ผ๊ณ  ํ•˜์˜€๋‹ค. 1(16)์—์„œ 1์€ 0001(2) ์ฆ‰ 15๋ฒˆ ๋น„ํŠธ๊ฐ€ 0์ด๊ณ , 8000(16)์—์„œ 8์€ 1000(2) ์ฆ‰, 15๋ฒˆ ๋น„ํŠธ๊ฐ€ 1์ด๋‹ค. 1(16) = 0000/0000/0000/0001(2) 8..
์ตœ์ƒ์œ„ ํ”„๋กœํผํ‹ฐ ํด๋ž˜์Šค์— ์†Œ์†๋˜์ง€ ์•Š์€ ํ”„๋กœํผํ‹ฐ๋Š” ์ „์—ญ ๋ณ€์ˆ˜/์ƒ์ˆ˜์˜ ์—ญํ•  public/internal/private ๋“ฑ์˜ ๊ฐ€์‹œ์„ฑ ์ง€์ •์ด ๊ฐ€๋Šฅ private val prefix = "Hello, " fun main() { val name = readLine() ?: return println("$prefix$name") } ๋Šฆ์€ ์ดˆ๊ธฐํ™” ์ƒ์„ฑ์ž์—์„œ ์ดˆ๊ธฐํ™” ๋˜์ง€๋Š” ์•Š์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ƒ ์‹ค์‚ฌ์šฉ ์‹œ๋Š” ์ดˆ๊ธฐํ™” ๋˜๋Š” ๊ฒƒ์ด ๋ช…๋ฐฑํ•œ ๋ณ€์ˆ˜์—๋Š” lateinit์ด๋ผ๋Š” ์˜ˆ์•ฝ์–ด๋กœ ํ‘œ๊ธฐํ•˜์—ฌ null ๊ฐ’์ด ๋ถˆ๊ฐ€ํ•จ์„ ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ์ดˆ๊ธฐํ™”๊ฐ€ ์•ˆ๋  ๊ฒฝ์šฐ UninitializedPropertyAccessException์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ !!๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. (๊ฐ€๋Šฅํ•˜๋ฉด by lazy ์‚ฌ์šฉ์„ ๊ถŒ์žฅ) class ..
1. ๋ช…๋ น์–ด ์ง‘ํ•ฉ ๊ตฌ์กฐ(ISA) ๋ช…๋ น์–ด ์ง‘ํ•ฉ๊ตฌ์กฐ = ์ปดํ“จํ„ฐ๊ตฌ์กฐ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•  ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ •์˜ ๋ช…๋ น์–ด๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์—์„œ ์ธ์‹&์‹คํ–‰๋˜๋Š” ๊ธฐ๊ณ„์–ด Machine Code, Assembly Code ๋ช…๋ น์–ด ์ง‘ํ•ฉ ๊ตฌ์กฐ๋Š” "ํŠน์ • CPU๋ฅผ ์œ„ํ•ด ์ •์˜๋œ ๋ช…๋ น์–ด๋“ค์˜ ๋ชจ์Œ" S/W์™€ H/W์‚ฌ์ด์— ISA Cํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€ํ™˜๊ณผ์ • C program -> Asm program -> Object program ->Executable program text text binary binary ADT data value์˜ ์ง‘ํ•ฉ์ด ์ธก์ • Object๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” state๊ฐ€ ๋œ๋‹ค. 2. ๋ช…๋ น์–ด ํŠน์„ฑ ๋ช…๋ น์–ด์˜ ํŠน์„ฑ: ํ˜•ํƒœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์š”์ธ CPU๋Š” ์ฃผ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ›์•„์™€์„œ ๊ทธ ๋ช…๋ น์„ ์‹ค..
์ปดํ“จํ„ฐ์˜ ์„ฑ๋Šฅ = ์‘๋‹ต์‹œ๊ฐ„์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์‘๋‹ต์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ์œจ์€ ์ƒํ˜ธ์—ฐ๊ด€๊ด€๊ณ„์ž„!! ์‘๋‹ต์‹œ๊ฐ„์ด๋ž€? ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง€๊ณ  ์‹œ์Šคํ…œ์ด ๋ฐ˜์‘ํ•˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ ์ •ํ™•ํžˆ!!! ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ = CPU ์‹คํ–‰์‹œ๊ฐ„ ์œผ๋กœ ์ •์˜ CPU์‹คํ–‰์‹œ๊ฐ„: CPU๊ฐ€ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ ์‹œ๊ฐ„(์ž…์ถœ๋ ฅ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ๊ฐ„์€ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.) ์ปดํ“จํ„ฐ์˜ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค = CPU ์‹คํ–‰์‹œ๊ฐ„์ด ์งง๋‹ค ์„ฑ๋Šฅ =1 / CPU ์‹คํ–‰ ์‹œ๊ฐ„ ๋‘ ์ปดํ“จํ„ฐ X, Y๋กœ ๋น„๊ตํ•ด๋ณด์ž ์„ฑ๋Šฅ ๋น„๊ต ์ •๋Ÿ‰ํ™” M2๋Š” M1๋ณด๋‹ค ์„ฑ๋Šฅ์ด n๋ฐฐ ํ–ฅ์ƒ. M1์ด ๊ธฐ์ค€์ด๋ฏ€๋กœ ๋ถ„๋ชจ! ์•”๋‹ฌ์˜ ๋ฒ•์น™ 1) ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋ถ„์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒฝ์šฐ, ์ „์ฒด ์‹œ์Šคํ…œ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ 2) ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ..
์งˆ๋ฌธ ๊ฐ์ฒด์™€ ๊ตฌ์กฐ์ฒด์˜ ์ฐจ์ด์ ์€? ํด๋ž˜์Šค๋Š” ์ƒ์†์ง€์›&์ฐธ์กฐ ํ˜•์‹, ๊ตฌ์กฐ์ฒด๋Š” ๊ฐ’ ํ˜•์‹, ์ƒ์† ๋ฐ ๋ฉ”์†Œ๋“œ ์ง€์› ํ•˜์ง€ ์•Š์Œ. ํ•จ์ˆ˜๊ฐ€ ์ž๋ฃŒ๊ตฌ์กฐ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ค๋ฉด ์–ด๋–ค ์žฅ์ ์ด ์ƒ๊ธฐ๋Š”๊ฐ€? ์™œ ์ •๋ณด ์€๋‹‰์€ ๊ฐ์ฒด ๊ธฐ๋ฐ˜์—์„œ๋งŒ ๊ฐ€๋Šฅํ•œ๊ฐ€? ๋ฐ–์—์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๊ฒŒ ์„ ์–ธ var time:Double private Set 4ํด๋ž˜์Šค๋ž€? ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง€๋Š” ํƒ€์ž…์„ ์ •์˜ํ•˜๋Š” ๋‹จ์œ„ ํด๋ž˜์Šค ์„ ์–ธ class Person{ //ํ”„๋กœํผํ‹ฐ var firstName: String = "" var familyName: String = "" var age: Int = 0 //๋ฉ”์†Œ๋“œ fun fullName() = "$firstName $familyName" fun showMe() { println("${fullName()}: $age") } } ๊ฐ์ฒด์˜..
์™œ ํ•จ์ˆ˜ ๋‚ด ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ด์œ  ํŒŒ๋ผ๋ฏธํ„ฐ? ์™œ ํŒจํ‚ค์ง€ ์ด์œ  ๋ชจ๋“ˆ๋ณ„๋กœ ๊ตฌ๋ถ„, ํ˜‘์—…์— ์šฉ์ด ์™œ ์ž๋ฐ”์—๋Š” ์—†๋Š” ์ฝ”ํ‹€๋ฆฐ์˜ ๊ธฐ๋Šฅ(๋ฒ”์œ„: '..' 'unitl' ',') (์†Œ์†: 'in') Kotlin ํ•จ์ˆ˜์˜ ์˜ˆ import kotlin.math.PI // kotlin.math ํŒจํ‚ค์ง€์—์„œ PI ์ƒ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ด fun circleArea(radius: Double): Double { //ํ•จ์ˆ˜์˜ ์ •์˜ return PI*radius*radius } fun main() { print("Enter radius: ") val radius = readLine()!!.toDouble() println("Circle area: ${circleArea(radius)}") } fun circleArea(radius: Double): Dou..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)