νλ‘κ·Έλ¨μ λ΄λΆ
μμ© νλ‘κ·Έλ¨μ μ€ννκΈ° μν΄μλ μμ© νλ‘κ·Έλ¨μ΄ νμλ‘ νλ μ¬λ¬κ°μ§ κΈ°λ₯μ ꡬννλ 볡μ‘ν μννΈμ¨μ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ² λ©λλ€.
λ°λ©΄ μ»΄ν¨ν°μ νλμ¨μ΄λ μμ£Ό λ¨μν μ μμ€μ λͺ λ Ήμ΄(μΈμ€νΈλμ )λ₯Ό μ€νν μ μμ λΏμ λλ€.
λ°λΌμ μμ© νλ‘κ·Έλ¨μ μ»΄ν¨ν°μμ μ€ννκΈ° μν΄μλ μμ±λ 볡μ‘ν μμ λ€μ μμ£Ό λ¨μν λͺ λ Ήμ΄λ‘ λ²μνλ κ³Όμ μ΄ νμν©λλ€.
μ΄λ¬ν κ³Όμ μ μ¬λ¬ κ³μΈ΅μ μννΈμ¨μ΄ μΆμν(Abstraction)λ₯Ό ν΅ν΄ κ°λ₯νκ² λ§λ€μμ΅λλ€.
μννΈμ¨μ΄ κ³μΈ΅μ μλμ κ°μ΄ ꡬμ±λ©λλ€.
μμ© μννΈμ¨μ΄(Application software, μμ© νλ‘κ·Έλ¨)κ° κ³μΈ΅μ κ°μ₯ λ°κΉ₯μͺ½μ μμΉνλ©°,
μ¬λ¬κ°μ§ μμ€ν μννΈμ¨μ΄(System software)κ° νλμ¨μ΄μ μμ© νλ‘κ·Έλ¨ μ¬μ΄μ μ‘΄μ¬ν©λλ€.
κ°μ₯ μμͺ½μλ νλμ¨μ΄κ° μ‘΄μ¬ν©λλ€.
μμ© μννΈμ¨μ΄
κ³ μμ€ μΈμ΄λ‘ μμ±λ νλ‘κ·Έλ¨μ μλ―Έν©λλ€.
μμ€ν μννΈμ¨μ΄
μμ€ν μννΈμ¨μ΄μλ μ¬λ¬ κ°μ§ μ’ λ₯κ° μμΌλ, κ°μ₯ μ€μ¬μ΄ λλ κ²μ μ»΄νμΌλ¬μ μ΄μ체μ μ λλ€.
μ΄μ체μ (Operating System)λ μ¬μ©μ νλ‘κ·Έλ¨κ³Ό νλμ¨μ΄ κ°μ μΈν°νμ΄μ€ μν μ νλ©΄μ, κ°μ’ μλΉμ€μ μ μ΄ κΈ°λ₯μ μ 곡ν©λλ€.
λ€μμ μ΄μ체μ κ° μ 곡νλ μ¬λ¬ κΈ°λ₯λ€ μ€ μ€μν κ²μμ λμ΄ν κ²μ λλ€.
- κΈ°λ³Έμ μΈ μ μΆλ ₯ μμ μ νΈλ€λ§
- λ©λͺ¨λ¦¬μ μ μ₯ κ΄λ¦¬
- μμ μ μ€μΌμ₯΄λ§κ³Ό μμ 곡μ μ μ΄
μ»΄νμΌλ¬(compiler)λ C, Java λ±κ³Ό κ°μ΄ μμ μμ€ μΈμ΄λ‘ μμ±λ νλ‘κ·Έλ¨μ νλμ¨μ΄κ° μ€νν μ μλ λͺ λ Ήμ΄λ‘ λ²μνλ μμ μ μνν©λλ€.
μμ μμ€ μΈμ΄μμ κΈ°κ³μ΄λ‘ λ²μλλ κ³Όμ
μ»΄ν¨ν°λ μ§μμ λ°λΌμ μΌνλ κΈ°κ³λΌ λ³Ό μ μλλ°, μ΄λ μ΄ μ§μλ₯Ό λͺ λ Ήμ΄(instruction)λΌκ³ ν©λλ€.
μΈμ€νΈλμ μ κ²°κ΅ μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ λΉνΈλ€μ λμ΄μ λΆκ³Όνλ―λ‘, μΈμ€νΈλμ μμ μ«μλ‘ μκ°ν μ μμ΅λλ€.
μ΄μ°½κΈ°μλ νλ‘κ·Έλλ¨Έκ° μ»΄ν¨ν°λ‘ μ΄μ§μλ‘ λννμμΌλ, μ΄λ λ§€μ° μ§κ²¨μ΄ μμ μ΄μμ΅λλ€.
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ μ¬λμ΄ μκ°νλ κ²κ³Ό λΉμ·ν μλ‘μ΄ νμ λ°©λ²μ νλ κ³ μνμ΅λλ€.
μλ‘μ΄ νμ λ°©λ² μμ κ²°κ΅μ μ¬λμ΄ μ΄μ§μλ‘ λ²μνμ¬μΌ νμ§λ§, μ¬λλ€μ μ΄λ₯Ό μ΄μ§μλ‘ λ²μν΄μ£Όλ νλ‘κ·Έλ¨μ κ°λ°νμμ΅λλ€.
μ΄λ¬ν νλ‘κ·Έλ¨μ μ΄μ λΈλ¬(assembler)λΌ λΆλ¦ λλ€.
μλ₯Ό λ€μ΄ νλ‘κ·Έλλ¨Έκ° λ€μ μ½λλ₯Ό μμ±ν κ²½μ°
add A, B
μ΄μ λΈλ¬λ μ΄λ₯Ό 1001010100101110 μΌλ‘ λ°κΎΈμ΄μ€λλ€.
μμ κ°μ κΈ°νΈ ννμ μΈμ΄λ₯Ό μ΄μ λΈλ¦¬μ΄(Assembly Language)λΌ λΆλ¦ λλ€.
μ΄μ λΈλ¦¬μ΄μ λΉκ΅νμ¬, κΈ°κ³κ° μ΄ν΄νλ μΈμ΄λ₯Ό κΈ°κ³μ΄(machine language)λΌκ³ λΆλ¦ λλ€.
μ΄μ λΈλ¦¬μ΄ μμλ λΆνΈν μ μ΄ λ§μΌλ©°, μ΄ν μ΄λ₯Ό κ°μ νκΈ° μν΄ μμ μμ€ μΈμ΄(High-level language)κ° λ±μ₯νμμ΅λλ€.
μ€λλ νλ‘κ·Έλ¨μ μμ μμ€ μΈμ΄λ‘ μμ±λλ©°, μ»΄νμΌλ¬μ μν΄ μ΄μ λΈλ¦¬μ΄λ‘ λ²μλ©λλ€.
μ΄ν μ΄μ λΈλ¦¬μ΄λ μ΄μ λΈλ¬μ μν΄ κΈ°κ³μ΄λ‘ λ²μλ©λλ€.
νλμ¨μ΄μ μννΈμ¨μ΄μ μΆμν
μΆμν μ€ μ€μνκ² μ΄ν΄λ³΄μμΌ ν κ²μ μννΈμ¨μ΄μ νλμ¨μ΄ κ°μ μΈν°νμ΄μ€μ λλ€.
μννΈμ¨μ΄λ νλμ¨μ΄μ μ΄νλ₯Ό ν΅ν΄ ν΅μ νλ©°, μ΄νλ₯Ό ꡬμ±νλ λ¨μ΄λ€μ λͺ λ Ήμ΄(Instruction)λΌκ³ ν©λλ€.
μ΄ν μ체λ λͺ λ Ήμ΄ μ§ν© ꡬ쑰(Instruction Set Architecture, ISA) λλ λ¨μν ꡬ쑰(Architecture)λΌκ³ ν©λλ€.
ISAλ λͺ λ Ήμ΄, λ μ§μ€ν°, λ©λͺ¨λ¦¬ μ κ·Ό, μ μΆλ ₯ λ±μ ν¬ν¨νμ¬ μ νν μλνλ κΈ°κ³μ΄ νλ‘κ·Έλ¨μ μμ±νκΈ° μν΄ μμμΌ νλ λͺ¨λ μ 보λ₯Ό μλ―Έν©λλ€.
μ΄ν리μΌμ΄μ νλ‘κ·Έλλ¨Έμκ² μ 곡λλ κΈ°λ³Έ λͺ λ Ήμ΄ μ§ν©(ISA)κ³Ό μ΄μ체μ μΈν°νμ΄μ€λ₯Ό ν©μ³μ ABI(Application binary interface)λΌκ³ ν©λλ€.
μ»΄ν¨ν°μ κ΅¬μ± μμ
μ»΄ν¨ν°λ κΈ°λ³Έμ μΌλ‘ μ λ ₯(input), μΆλ ₯(output), λ©λͺ¨λ¦¬(memory), λ°μ΄ν°ν¨μ€(datapath), μ μ΄ μ λ(control unit)μΌλ‘ ꡬμ±λμ΄ μμ΅λλ€.
μ΄μ€ λ°μ΄ν°ν¨μ€μ μ μ΄ μ λμ ν©μ³μ νλ‘μΈμλΌκ³ λΆλ₯΄κΈ°λ ν©λλ€.
'π₯ Computer Science > μ»΄ν¨ν° ꡬ쑰' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ»΄ν¨ν° ꡬ쑰] λͺ λ Ήμ΄(Instruction)[4] - λ Όλ¦¬ μ°μ° λͺ λ Ήμ΄ (0) | 2022.10.01 |
---|---|
[μ»΄ν¨ν° ꡬ쑰] λͺ λ Ήμ΄(Instruction)[3] - λͺ λ Ήμ΄ νμ (0) | 2022.10.01 |
[μ»΄ν¨ν° ꡬ쑰] λͺ λ Ήμ΄(Instruction)[2] - Operands(νΌμ°μ°μ) (0) | 2022.10.01 |
[μ»΄ν¨ν° ꡬ쑰] λͺ λ Ήμ΄(Instruction)[1] - RISC-Vμ λͺ λ Ήμ΄ νν (0) | 2022.10.01 |
[μ»΄ν¨ν° ꡬ쑰] μ»΄ν¨ν°μ μ±λ₯ (0) | 2022.09.18 |