Mano machine concepts
Mano Machine μ£Όμ κ°λ μ 리
λ§μ΄ν¬λ‘ μ°μ° μ μ΄ μ νΈ
FGO (Full Gate Operate)
AC(Accumulator)μ κ°μ νμΈνλ μ‘°κ±΄λΆ λΆκΈ° μ°μ°μ λλ€:
- ACκ° 0μ΄ μλ κ²½μ°: λ€μ λ§μ΄ν¬λ‘λͺ λ Ήμ΄λ‘ μ§ν
- ACκ° 0μΌ κ²½μ°: NextU+2 μμΉμ λ§μ΄ν¬λ‘λͺ λ Ήμ΄λ‘ 건λλλλ€
S (Subtract)
ACμμ M[AR]μ κ°μ λΉΌλ λ§μ΄ν¬λ‘ μ°μ°μΌλ‘, κ²°κ³Όλ ACμ μ μ₯λ©λλ€. 2μ 보μ μ°μ°μ μ¬μ©νμ¬ κ΅¬νλ©λλ€.
μ μ΄ μ νΈ
NextU (Next ΞΌ-instruction)
λ€μ λ§μ΄ν¬λ‘ λͺ λ Ήμ΄λ‘ μ§ννλ μ μ΄ μ νΈμ λλ€. Control Address Register(CAR)μ κ°μ 1 μ¦κ°μμΌ λ€μ λ§μ΄ν¬λ‘ λͺ λ Ήμ΄ μ£Όμλ‘ μ΄λν©λλ€.
Next ins (Next instruction)
νμ¬ λͺ λ Ήμ΄μ μ€νμ μλ£νκ³ λ€μ κΈ°κ³μ΄ λͺ λ Ήμ΄λ‘ μ§ννλ μ μ΄ μ νΈμ λλ€. Program Counter(PC)λ₯Ό 1 μ¦κ°μν€κ³ μλ‘μ΄ λͺ λ Ήμ΄ μ¬μ΄ν΄μ μμν©λλ€.
νλμ¨μ΄ κ΅¬μ± μμ
SC (Sequence Counter)
λ§μ΄ν¬λ‘νλ‘κ·Έλ¨ λͺ λ Ήμ΄μ μμλ₯Ό μ μ΄νλ 3λΉνΈ μΉ΄μ΄ν°μ λλ€:
- λͺ λ Ήμ΄ μ¬μ΄ν΄ μμ μ 0μΌλ‘ μ΄κΈ°ν
- T0λΆν° T7κΉμ§μ νμ΄λ° μ νΈ μμ±
- ν΄λ νμ€λ§λ€ 1μ© μ¦κ°νλ©° λ§μ΄ν¬λ‘μ°μ°μ νμ΄λ° μ μ΄
C (Carry flip-flop)
λΊμ μ°μ° μ 2μ 보μ κ³μ°μ μν΄ μ¬μ©λλ ν립νλ‘μ λλ€:
- λΊμ μμ μ: C = 1 (Set)
- λΊμ μ’ λ£ μ: C = 0 (Clear)
Executed Micro Operations
CPUκ° μ€μ λ‘ μ€ννλ κΈ°λ³Έμ μΈ λμλ€μ μλ―Έν©λλ€. μλ₯Ό λ€μ΄ ADD λͺ λ Ήμ΄ μ€ν μ λ€μκ³Ό κ°μ λ§μ΄ν¬λ‘ μ°μ°λ€μ΄ μμ°¨μ μΌλ‘ μ€νλ©λλ€:
- T0: AR β PC (μ£Όμ λ μ§μ€ν°μ νλ‘κ·Έλ¨ μΉ΄μ΄ν° κ° μ μ₯)
- T1: IR β M[AR], PC β PC + 1 (λͺ λ Ήμ΄ κ°μ Έμ€κΈ° λ° PC μ¦κ°)
- T2: AR β IR(0-11) (μ€νΌλλ μ£Όμ κ°μ Έμ€κΈ°)
- T3: DR β M[AR] (λ°μ΄ν° κ°μ Έμ€κΈ°)
- T4: AC β AC + DR (μ€μ λ§μ μν)
μ hexμ£Όμλ λ€ 0xλ‘ μμνλκ±ΈκΉ?
β0xβλ μ΄ μ«μκ° 16μ§μ(hexadecimal)λΌλ κ²μ λνλ΄λ μ λμ΄(prefix)μ λλ€.
νλ‘κ·Έλλ°μμ μ«μ νκΈ° λ°©μμ λͺ νν ꡬλΆνκΈ° μν΄ νΉλ³ν μ λμ΄λ₯Ό μ¬μ©νλλ°:
- 16μ§μ: 0x (μ: 0x2AF)
- 8μ§μ: 0 (μ: 0777)
- 2μ§μ: 0b (μ: 0b1010)
- 10μ§μ: μ λμ΄ μμ
Fetch-Decode-Execute μ¬μ΄ν΄
μ¬μ΄ν΄μ λλλ§λ€ νκ° λ¬λΌμ§λ κ²μ κ° λ¨κ³λ³λ‘ λ μ§μ€ν°λ€μ μνκ° λ³ννκΈ° λλ¬Έμ΄λ€.
- Fetch (λͺ λ Ήμ΄ κ°μ Έμ€κΈ°) λ¨κ³:
- PC(Program Counter)μ μ£Όμκ°μ ν΄λΉνλ λͺ λ Ήμ΄λ₯Ό λ©λͺ¨λ¦¬μμ κ°μ Έμμ IR(Instruction Register)μ μ μ₯
- PCλ λ€μ λͺ λ Ήμ΄λ₯Ό κ°λ¦¬ν€λλ‘ μ¦κ°
- Decode (ν΄μ) λ¨κ³:
- IRμ μ μ₯λ λͺ λ Ήμ΄λ₯Ό λΆμνμ¬ μνν λμκ³Ό νΌμ°μ°μλ₯Ό νμ
- λͺ λ Ήμ΄μ μ’ λ₯μ λ°λΌ νμν λ μ§μ€ν°λ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ²°μ
- Execute (μ€ν) λ¨κ³:
- ν΄μλ λͺ λ Ήμ΄λ₯Ό μ€μ λ‘ μν
- ALUλ₯Ό ν΅ν μ°μ°μ΄λ λ©λͺ¨λ¦¬ μ κ·Ό λ±μ΄ μ΄λ£¨μ΄μ§
- μ€ν κ²°κ³Όκ° λ μ§μ€ν°λ λ©λͺ¨λ¦¬μ μ μ₯
κ° λ¨κ³λ§λ€ λ¬λΌμ§λ νμ λ΄μ©:
λ μ§μ€ν°λ€μ κ° λ³ν, λ²μ€μ μν, μ μ΄ μ νΈλ€μ μν, λ©λͺ¨λ¦¬ μ κ·Ό μν
μ΄λ¬ν λ³νλ€μ΄ νλ‘ λνλκΈ° λλ¬Έμ κ° λ¨κ³λ³λ‘ νμ λ΄μ©μ΄ λ¬λΌμ§κ² λ©λλ€. μ΄λ μ»΄ν¨ν°κ° λͺ λ Ήμ΄λ₯Ό μ²λ¦¬νλ κ³Όμ μ λ¨κ³λ³λ‘ 보μ¬μ£Όλ κ²μ λλ€.