π μμΈ μ 리
- μ§κΈκΉμ§λ λμ λ¨Έμ μ κΈ°λ₯λ€μ νμ©νμ§ μκ³ , νλ‘μμ Έμ μ€λ²ν€λ μ€μ΄κΈ°, μ΅μ ν λ°©ν΄μμ μμ κΈ° λ±μ μ΄μ μ λμλ€.
- μ±λ₯μ λμ± κ·ΉλννκΈ° μν΄ νλ‘μΈμμ λͺ λ Ήμ΄ λ¨μμμ κΈ°λ° μ€κ³κΉμ§ νμ©ν΄μ μ΅μ νν΄λ³΄μ.
- νλ νλ‘μΈμλ νλ‘κ·Έλ¨ μ±λ₯μ κ·Ήλν νκΈ° μν΄ λ³΅μ‘ν νλμ¨μ΄λ₯Ό μ΄μ©νλλ°, μ΄λλ¬Έμ μκ°λ³΄λ€ μ€μ μλ λ°©μμ΄ κΈ°κ³μ΄λμ μ‘°κΈ λ€λ₯Ό μ μλ€.
- μ½λ μμ€μμλ λͺ λ Ήμ΄κ° νλμ© μμ°¨μ μΌλ‘ μννλκ±Έλ‘ λ³΄μ΄μ§λ§
- μ€μ λ‘λ μ¬λ¬ λͺ λ Ήμ΄κ° λμμ νκ°λκ³ μμΌλκΉ!
- μμμ νμ΄νλΌμ΄λ ν΄λ΄€μΌλ μ μμ§
- νμ¬ νλ‘κ·Έλ¨μ μ΅λ μ±λ₯μ νΉμ§μ§λ λκ°μ§ ννμ μ΄ μλλ°
- μ§μ°μκ° νκ³
- ν μ°μ°μ κ²°κ³Όκ° λ€μ μ°μ°μ΄ μμλκΈ° μ μ νμν λ.
- μ°μ°μ΄ μμλλ‘ λ°μν΄μΌ νλ κ²½μ°
- μ²λ¦¬λ νκ³
- νλ‘μΈμ€μ κΈ°λ₯ μ λμ΄ κ°μ§ μμμ μΈ μ»΄ν¨ν λ₯λ ₯
- μ§μ°μκ° νκ³
5.7.1 Overall Operation
- νλ λ§μ΄ν¬λ‘ νλ‘μΈμλ₯Ό λ¨μνν΄μ νμΈν΄λ³΄μ.
- μ΄λ μ΅κ·Ό Intel νλ‘μΈμ ꡬ쑰λ₯Ό λ°λ₯΄κ³ μκ³ , μ΄λ₯Ό μνΌμ€μΉΌλΌλΌκ³ λΆλ₯Έλ€.
- λ§€ ν΄λ‘μ¬μ΄ν΄λ§λ€ μ¬λ¬ μ°μ°μ μνν μ μμΌλ©° λΉμμ°¨μ μΌλ‘ μ€ν κ°λ₯νλ€λ λ»μ΄λ€.
- μ 체 μ€κ³λ fetchμ κΈ°λ³Έμ μΈ μ°μ°μ μμ±νλ ICUμ μμ±λ μ°μ°μ μ€μ λ‘ μ€ννλ EU λκ°λ‘ λλμ΄μ§λ€.
- μ΄λ μ΅κ·Ό Intel νλ‘μΈμ ꡬ쑰λ₯Ό λ°λ₯΄κ³ μκ³ , μ΄λ₯Ό μνΌμ€μΉΌλΌλΌκ³ λΆλ₯Έλ€.
- ICUλ κ°μ₯ μ΅κ·Όμ μ κ·Όν λͺ
λ Ήμ΄λ₯Ό λ΄κ³ μλ νΉμ λ©λͺ¨λ¦¬μΈ λͺ
λ Ήμ΄ μΊμμμ λͺ
λ Ήμ΄λ₯Ό μ½μ΄μ¨λ€.
- ICUλ νμ¬ μ€νμ€μΈ λͺ
λ Ήλ³΄λ€ ν¨μ¬ μμ λͺ
λ Ήμ΄λ₯Ό κ°μ Έμ¨λ€.
- λμ½λ©νκ³ EUλ‘ λκΈΈ μκ°μλ²κΈ° μν΄
- κ·Έλ°λ° νλ‘κ·Έλ¨μ΄ λΆκΈ°μ λλ¬νλ€λ©΄?
- λΆκΈ°κ°μ€νλλ©΄ -> μ μ΄κΆμ΄ λΆκΈ° λμμΌλ‘ λμ΄κ°λ€.
- μ€ν μλλ©΄ -> λ λͺ λ Ήμ΄ κ·Έλλ‘ μ°λ©΄ λλκ±°κ³
- νλ νλ‘μΈμλ λΆκΈ°κ° μ€νλ μ§ μ¬λΆλ₯Ό μΆμΈ‘νκ³ λμ μ£ΌμκΉμ§ μμΈ‘νλ λΆκΈ° μμΈ‘μ΄λΌλ κΈ°μ μ μ¬μ©νλ€.
- λΆκΈ°κ° μ΄λν κ²μΌλ‘ μμΈ‘λλ μ§μ μμ Fetchμ Decodeλ λ¬Όλ‘ , λ§μλμ§ κ²°μ λκΈ°λ μ μ μ°μ°λ μ€νν΄λ²λ¦°λ€.
- μλͺ» μμΈ‘νμΌλ©΄ μνλ₯Ό λΆκΈ°μμ μΌλ‘ λλλ¦¬κ³ λ€μ Fetchνμ¬ μ€ννλ€
- μ΄κ±Έ νλκ³³μ΄
Fetch ControlλΈλ
- λΆκΈ°κ° μ΄λν κ²μΌλ‘ μμΈ‘λλ μ§μ μμ Fetchμ Decodeλ λ¬Όλ‘ , λ§μλμ§ κ²°μ λκΈ°λ μ μ μ°μ°λ μ€νν΄λ²λ¦°λ€.
- ICUλ νμ¬ μ€νμ€μΈ λͺ
λ Ήλ³΄λ€ ν¨μ¬ μμ λͺ
λ Ήμ΄λ₯Ό κ°μ Έμ¨λ€.
- EUλ νΉμ μ°μ°μ μ΅μ νλ κΈ°μ μ λλ€μ΄ λͺ¨μ¬μ μ‘΄μ¬νλ€
- Intel Core i7 λ νΌλ°μ€ λ¨Έμ μΌλ‘ 보μλ©΄
0. βμ μ μ°μ μ°μ°, λΆλμνμ κ³±μ
, μ μ λ° λΆλμμ λλμ
, λΆκΈ°
- μ μ μ°μ μ°μ°, λΆλμμ λ§μ , μ μ κ³±μ , λΆλμμ κ³±μ
- λ‘λ, μ£Όμ κ³μ°
- λ‘λ, μ£Όμ κ³μ°
- μ€ν μ΄
- μ μ μ°μ μ°μ°
- μ μ μ°μ μ°μ°, λΆκΈ°
- μ μ₯ μ£Όμ κ³μ°
- μ΄λ¬ν 리μμ€κ° νλ‘κ·Έλ¨μ΄ λ¬μ±ν μ μλ μ΅λ μ±λ₯μ μ΄λ€ μν₯μ λ―ΈμΉλμ§λ λμ€μ 보μ!
- Intel Core i7 λ νΌλ°μ€ λ¨Έμ μΌλ‘ 보μλ©΄
0. βμ μ μ°μ μ°μ°, λΆλμνμ κ³±μ
, μ μ λ° λΆλμμ λλμ
, λΆκΈ°
- ν λͺ
λ Ήμ΄μμ λ€λ₯Έ λͺ
λ Ήμ΄λ‘ κ²°κ³Όλ₯Ό μ λ¬νλ μλλ₯Ό λμ΄κΈ° μν΄ μλΉλΆλΆμ μ 보λ€μ μ€νμ λ μ¬μ΄μμ μ§μ κ΅νλλ€
- μ°λ¦¬κ° 4μ₯μμ ν λ°μ΄ν° ν¬μλ© κΈ°λ²μ λ μ κ΅ν νν
- μμΈν 보μλ©΄,
λ μ§μ€ν° rμ μ λ°μ΄νΈνλ λͺ λ Ήμ΄κ° λμ½λ©λλ©΄νκ·Έ tκ° λΆμ΄μ(r, t)ννμ νλͺ©μ΄ ν μ΄λΈμ μΆκ°λ¨ - μ΄ν
rμ μ¬μ©νλ λͺ λ Ήμ΄κ° λμ½λ©λλ©΄, μ€ν μ λμrμ κ°μ μ½λκ² μλλΌtμ κ°μ κΈ°λ€λ¦¬λΌλ ννλ‘ μ€ν μ λμ μ λ¬λ¨ - μ μ°μ°μ΄ λλλ©΄, μ€ν μ λμ
(v, t)μ ννλ‘,tμ κ²°κ³ΌλvλΌλ μ 보λ₯Ό λ΄λ³΄λ - μ΄ν
tλ₯Ό κΈ°λ€λ¦¬κ³ μλ λ€λ₯Έ μ°μ°λ€μ μ΄ κ°vλ₯Ό λ°μμ μ€ν
- μμΈν 보μλ©΄,
- μ΄ λ°©μμ register renaming μ΄λΌκ³ νλ€!
- μ€μ λ°μ΄ν° μμ‘΄μ±μ΄ μλλ°λ μμλ₯Ό μ§μΌμΌνλ κ² μ²λΌ 보μ΄λ μν©μ tagλ₯Ό λΆμ¬ν΄μ κ°μ§ μμ‘΄μ±μ μμ¨ μ μλ€.
- out-of-order(λΉμμ°¨μ μ€ν)μ ν΅μ¬
- λ¬Όλ‘ retirement (λͺ λ Ήμ΄ μ΅μ’ κ²°κ³Ό λ°μ)μ in-orderμ΄μ΄μΌ ν¨!
- out-of-order(λΉμμ°¨μ μ€ν)μ ν΅μ¬
- μ€μ λ°μ΄ν° μμ‘΄μ±μ΄ μλλ°λ μμλ₯Ό μ§μΌμΌνλ κ² μ²λΌ 보μ΄λ μν©μ tagλ₯Ό λΆμ¬ν΄μ κ°μ§ μμ‘΄μ±μ μμ¨ μ μλ€.
- μ°λ¦¬κ° 4μ₯μμ ν λ°μ΄ν° ν¬μλ© κΈ°λ²μ λ μ κ΅ν νν