"рдорд▓реНрдЯреАрд▓реЗрдЯ" рдХрд╛ рдЧреАрдд

рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ MCp0411100101 рдирд╛рдо рдореЗрдВ рдЫрд┐рдкрд╛рдИ рд╣реБрдИ рдкрд╣реЗрд▓реА рдирд╣реАрдВ рдмрддрд╛рдИ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ nerudo рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдЬреЛ "рдорд▓реНрдЯреАрд▓реЗрдЯ" рд╡рд┐рд╖рдп рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд▓рдн рд╣реЛ рдЧрдпрд╛ рд╣реИ :

рдЗрд╕ рдмрд╣реБрд╕реНрддрд░реАрдп рдХреЗ рд╡рд╛рд╕реНрддреБ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдкрдврд╝рддреЗ рд╣реБрдП, рдореИрдВ рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдп рд╕реЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: "рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред"


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдорд╕реАрдкреА рдПрдХ рдореВрд▓ рдИрдкреАрдЖрдИрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░реАрдо (рдбреЗрдЯрд╛рдлрд╝реНрд▓реЛ рд╕реЗ) рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИред рдИрдкреАрдЖрдИрд╕реА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд░реНрджреЗрд╢ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рд╕рдорд╛рдирддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдгрдирд╛ред рдореИрдВ рдЗрд╕ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ, рди рдХрд┐ рдЗрдЯреЗрдирд┐рдпрдо рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред MCp рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╕рдорд░реВрдкрддрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рд╣реИред

MCp рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдорд╕реАрдкреА рдореЗрдВ рдИрдкреАрдЖрдИрд╕реА рдРрд╕рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХрдИ рдЖрдХрд░реНрд╖рдХ (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ) рдЧреБрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

  1. рдЕрдЪреНрдЫреА рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ред рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдорд╕реАрдкреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
    • рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдмрд╛рд░ рдЙрдирдХреЗ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд░рд╛рдЬреНрдп рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВ;
    • рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдореГрддрд┐, рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдХреЛрдб рдкреНрд░реАрдлрд╝реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЧрдардмрдВрдзрдиред
  2. рдЧреИрд░-рдорд╛рдирдХ рд╢рд╛рдЦрд╛ рд╕рдВрдЧрдарди рддрдерд╛рдХрдерд┐рдд рдкреНрд░рдмрдВрдзрд┐рдд рд░рдирдЯрд╛рдЗрдо, рдпрд╛ (рд╢рд╛рд╕реНрддреНрд░реАрдп рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ), рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  3. рдкрд╛рд░рдВрдкрд░рд┐рдХ рдорд╢реАрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдПрдорд╕реАрдкреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ "рдЕрдзрд┐рдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ" рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  4. рдХреЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд (рдорд╢реАрди рдХреЛрдб рдирд┐рд╣рд┐рдд рд╣реИ) рдФрд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд MCp рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдорд╛рдирдЬрдирдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛рддреА рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдВрд╕ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрд╢рди рдХреЗ рдПрдХ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдбрд┐рд╡рд╛рдЗрд╕ (рдпрд╛ рдкреВрд░реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрд╡рдпрдВ) рдмрд╕ рддреАрди рдЧреБрдирд╛ рд╣реИрдВ, рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рдПрдорд╕реАрдкреА, рдЬрдм рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЗрд╕рдХреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  5. рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдорд╕реАрдкреА рдХреЛ рдЕрднреА рднреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛) рдФрд░ рдорд▓реНрдЯреА-рдереНрд░реЗрдбрд┐рдВрдЧ рдореЛрдб (рдпрд╛рдиреА рдПрд╕рдПрдордЯреА - рдПрдХ рд╕рд╛рде рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдорд▓реНрдЯреА рдереНрд░реЗрдбрд┐рдВрдЧ) рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд╕рд╛рдзрди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рднреА рдЪрд▓рддрд╛ рд╣реИред


рдЕрдм рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдпреЗ рдЧреБрдг рдХрд╣рд╛рдБ рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдФрд░ тАЬрдмрд╣реБрдХреЛрд╢рд┐рдХреАрдптАЭ рдирд╛рдо рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдпрд╛рдиреА тАЬрд╕реЗрд▓тАЭ рдХреНрдпрд╛ рд╣реИред рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд░рд╣рд╕реНрдпрдордп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ "MultiClet" рдЦреЛрдЬ рдХреА рдХреБрдВрдЬреА рд╣реИ? :) рдирд╣реАрдВ, рдореИрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред

рдХреЛрд╢рд┐рдХрд╛рдУрдВ


рдПрдХ рд╕реЗрд▓ (рдРрд╕рд╛ рдирд╛рдо) MCp рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдореБрдЦреНрдп рддрддреНрд╡ рд╣реИред рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рд╡рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред

рдХрд┐рд╕реА рднреА рдЖрдзреБрдирд┐рдХ рд╕реАрдкреАрдпреВ рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдПрдорд╕реАрдкреА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕рддрд╣реА рд╣реИ)ред

  1. ALU : рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрде рдореЗрдВ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рддрд░реНрдХ рдЙрдкрдХрд░рдгред рдпрд╣реА рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдЬреЛ рдбреЗрдЯрд╛ рдкрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрдирдкреБрдЯ рдкреЛрд░реНрдЯ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдСрдкрд░реЗрд╢рди рдХреЛрдб рдФрд░ рдСрдкрд░реЗрдВрдбреНрд╕ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
  2. рдПрд▓рдПрд╕рдпреВ : рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ (рд▓реЛрдб / рд╕реНрдЯреЛрд░ рдпреВрдирд┐рдЯ)ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рдХрд╛ рдпрд╣ рдЯреБрдХрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ рдпрд╛ рдкрдврд╝рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рд╣реИрдВред
  3. рдЖрд░рдПрдл : рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╝рд╛рдЗрд▓ред рдпреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреБрдЫ рдмрд╕реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ (рд╕рд╣реА рдирд╛рдо рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рд░ рдирд╣реАрдВ) рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдмрд╕реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдЗрдирдкреБрдЯ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ рдХрдорд╛рдВрдб рдФрд░ рдореВрд▓реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдмрд╕реЗрдВ LSU рдпрд╛ ALU рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВред рдпрд╣ рдЕрдХреНрд╕рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ рдЗрддрдиреА рддреЗрдЬ рдЖрдВрддрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдореЛрд░реА рд╣реИред рдпрд╣ рдХрд╣рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ рдХрд┐ рдЖрд░рдПрдл рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЗрддрдиреА рдХреБрд╢рд▓ рдЖрдВрддрд░рд┐рдХ рдореЗрдореЛрд░реА рд╣реИ, рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдорд╣рд╛рдорд╣рд┐рдо рдореМрдЬреВрдж рд╣реИ ...
  4. CU : рдирд┐рдпрдВрддреНрд░рдг рдЙрдкрдХрд░рдгред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдХрдИ ALU, LSUs рдФрд░ RF рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдЕрдм рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрд░рдПрдл рдкреНрд░рддрд┐ рдХреЛрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлреИрд╢рдиреЗрдмрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдореИрдВ рд╕рд┐рд░реНрдл рд╕реНрдкрд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ), рдЙрдирдХреЗ рдмреАрдЪ рд╕рд┐рдЧреНрдирд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ред рдЖрдзреБрдирд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, рд╕реАрдпреВ рд╕реНрд╡рдпрдВ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╢реЗрдбреНрдпреВрд▓рд░, рд╢рд╛рдЦрд╛ рднрд╡рд┐рд╖реНрдпрд╡рдХреНрддрд╛, рдбрд┐рдХреЛрдбрд░, рдХрддрд╛рд░, рдкрд╛рд╡рддреА рдмрдлрд╝рд░, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдЗрд╕ рдХрд╣рд╛рдиреА рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрд╕реА рддрд░рд╣, рдореИрдВ ALU рдФрд░ рд╢рд┐рдлреНрдЯрд░реНрд╕ ALU рдкрд░ рд▓реЗрдЯ рдирд╣реАрдВ рд╣реВрдВред


рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ CU рдПрдХ рдРрд╕рд╛ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, ALU, LSU рдФрд░ RF рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕реВрдХреНрд╖реНрдо рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╕реНрдХреЗрд▓рд░ ALUs рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВ; рд╣рд╛рдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрдерди рд╕рд╢рд░реНрдд рдерд╛)ред рд╕реАрдкреАрдпреВ, рдЬреАрдкреАрдпреВ, рдкреАрдкреАрдпреВ, рдПрд╕рдкреАрдпреВ рдФрд░ рдЕрдиреНрдп рдПрдХреНрд╕рдкреАрдпреВ рдореЙрдбрд▓ рдХреА рдкреВрд░реА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╡рд┐рднрд┐рдиреНрди рд╕реАрдпреВ рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рдХрд╛рдо рдХреЗ рддрд░реНрдХ рдореЗрдВ рдЕрдВрддрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ (рдФрд░ рдпрд╣ рдЕрдВрддрд░ рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╕реНрдХреЗрд▓рд░ рдПрдПрд▓рдпреВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ)ред

рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреИрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рддрд░реНрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕реАрдпреВ рддреБрдЪреНрдЫ рдЪрдХреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ рдЖрд░рдПрдл рд╕реЗ рдкрдврд╝реЗрдВ, рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрдИрдкреА (рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕реВрдЪрдХ) рдФрд░ рдПрд╕рдкреА (рд▓реВрдк рдХреЗ рдКрдкрд░), рджреЛрдиреЛрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ред рдПрд▓рдПрд╕рдпреВ рдЗрдирдкреБрдЯ рдкреЛрд░реНрдЯ рдкрд░ рд░реАрдб рдСрдкрд░реЗрд╢рди рдХреЛрдб рдФрд░ рдЖрдИрдкреА рд╕рд╛рдордЧреНрд░реА рд╕реЗрдЯ рдХрд░реЗрдВ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реАрдпреВ рдХреЗрд╡рд▓ рдЖрд░рдПрдл рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдПрд▓рдПрд╕рдпреВ рдЗрдирдкреБрдЯ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдЧрд╛), рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдирд┐рд░реНрджреЗрд╢ рдХреЛрдбред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдЬрдВрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреЛрдб рд╣реИ, рддреЛ рд╕реАрдпреВ рдХреЛ рдПрд▓рдПрд╕рдпреВ рдкреЛрд░реНрдЯреНрд╕ рдХреЛ рд╕реНрдЯреИрдХ рдХреЗ рдКрдкрд░ рд╕реЗ рдорд╛рди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрд╕рдкреА рдХреЛ рдПрдХ рдореЗрдВ рдмрджрд▓реЗрдВ, рдЗрд╕ рд╡реИрд▓реНрдпреВ рдХреЛ рдЖрд░рдПрдл рдкрд░ рднреЗрдЬреЗрдВ, рдФрд░ рдЕрдЧрд▓реА рдШрдбрд╝реА рдореЗрдВ рдПрд▓рдПрд╕рдпреВ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдХреЛ рдЖрд░рдПрдл рдЗрдирдкреБрдЯ рдкреЛрд░реНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ (рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП) рдЖрдИрдкреА тАЛтАЛрдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдЕрдиреБрд░реВрдк рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рдХреЗ рдкреЛрд░реНрдЯ)ред рдлрд┐рд░, рдЪрдХреНрд░ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╡реНрдпрд░реНрде рдПрдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреИрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣ рдЕрд╕рд╛рдзрд╛рд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдПрдХ рдлреИрдВрд╕реА рд╕реБрдкрд░рд╕реНрдХреНрд▓реЗрдпрд░ рдФрд░ рдорд▓реНрдЯреА-рдереНрд░реЗрдб POWER8 рдХрд╛ рддрд░реНрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдШрдбрд╝реА рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдкрд┐рдЫрд▓реЗ рдирдореВрдиреЗ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 16 рджреГрд╢реНрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде i686 рдХреЗ рд╕рд╛рде, рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╛рдЗрд▓реЗрдВ рдЖрдХрд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред 128x64 рдмрд┐рдЯреНрд╕ рдореЗрдВ), рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдЖрджрд┐ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╣реЛрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдпрд╛ рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдЖрд░рдЖрдИрдПрд╕рд╕реА-рдЬреИрд╕реЗ рд╕реАрдпреВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЬреАрдкреАрдпреВ рд╕рднреА ALU, LSUs рдФрд░ RFs рдХреЛ рдПрдХ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рд╕рдорд╛рди рдХрдорд╛рдВрдб рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЖрдЬ рдХреЗ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ CPU рдореЗрдВ, рдпрд╣ CU рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд┐рдк рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реАрдпреВ рдПрдХ рдЪреАрдЬ рд╣реИ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рдо рдХреЗ рд╕рд╛рде рд▓реЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, рдПрдХ рд╕реАрдпреВ (рдПрд╕рдПрдордЯреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд╛рдЗрдкрд░ рдереНрд░реЗрдбрд┐рдВрдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ (рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ; рд▓реЗрдХрд┐рди рдЖрдк рдХрдИ CU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЕрд╣рд╛! рдореЗрд░рд╛ рдпреБрд╡рд╛ рдкрдбрд╛рд╡рди (рд╣рдо рд╕рднреА рдЖрддреНрдорд╛ рдореЗрдВ рдпреБрд╡рд╛ рд╣реИрдВ рдФрд░ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ :) рдорд▓реНрдЯреАрд╕реНрдХрд▓реЗрдЯ рдХреЗ рд░рд╣рд╕реНрдп рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реАрдм рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЕрдм рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдмрд╣реБрдХреЛрд╢рд┐рдХреАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдРрд╕рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдИ CU рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рддрд░рд┐рдд CU рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрдИ рдХреЛрд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдПрдХ рдзрд╛рдЧреЗ (рдПрдХ рдзрд╛рдЧрд╛, рдзрд╛рдЧрд╛) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдореИрдВ рдХреБрдЫ рдФрд░ рдХрд╣реВрдВрдЧрд╛ред

рддреЛ, рдПрдХ рд╕реЗрд▓ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╕реАрдкреАрдпреВ рдореЗрдВ рдирд╛рднрд┐рдХ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЗрд╕рдореЗрдВ рдЕрдкрдирд╛ рд╕реАрдпреВ, рдПрдПрд▓рдпреВ (рдПрдХ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╢реБрд░реБрдЖрддреА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреА рдХрд╛рдлреА рдЙрдиреНрдирдд рд╣реИ, рдлреНрд▓реЛрдЯ [2] рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬрдЯрд┐рд▓ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рджреЛрд╣рд░реЗ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛)ред рд╕реЗрд▓ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЖрд░рдПрдл рдФрд░ рдПрд▓рдПрд╕рдпреВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╛ рдЙрдирдХрд╛ рдЕрдкрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдорд┐рд░рд░ рдореЛрдб рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ RAID-5 рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ; рдпрд╛рдж рд░рдЦреЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╢рдмреНрдж "рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛" рд╣реИ)ред рдФрд░ рдПрдорд╕реАрдкреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рд╕рдмрд╕реЗ рд╕реБрдЦрдж рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрд░рдПрдл рдРрд╕реЗ рд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдПрдорд╕реАрдкреА рдкреНрд░рджрд░реНрд╢рди рдЗрд╕реЗ рдХрд╛рдлреА рдХрдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЧрдгрдирд╛ рдХреЗ рджреМрд░рд╛рди рдореБрдЦреНрдп рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдЖрд░рдПрдл рдФрд░ рд╢рдВрдЯ (рдмрд╛рдИрдкрд╛рд╕) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреНрдп рдЧреИрд░-рдореЗрдореЛрд░реА рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ - рдПрдХ рд╕реНрд╡рд┐рдЪред

рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕реАрдпреВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдХ рд╡рд┐рддрд░рд┐рдд рд╕реАрдпреВ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдереНрд░реЗрдб (рдереНрд░реЗрдб рдХреЗ рдЕрд░реНрде рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдЕрд░реНрде рдореЗрдВ) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╡реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ, рд╕рдВрдпреБрдХреНрдд рдореЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рд╡реЗ рдПрдХ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВ: рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдореЗрдореЛрд░реА рдФрд░ рдЖрд░рдПрдл рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ (рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдл рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд░реВрдкрд╛рдВрддрд░рдг, рд╕рдВрдХреНрд░рдордг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреА рдЧрдгрдирд╛ (рдФрд░ рдЗрд╕рд╕реЗ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрдореАрдиреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдкреИрдЯрд░реНрди-рдорд┐рд▓рд╛рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ)ред рдФрд░, рдФрд░ рднреА рдЕрдзрд┐рдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп, рдпреЗ рд╕реАрдпреВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдП :) рдпрд╣ рдЕрд╕рд╛рдзрд╛рд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рд╕реБрдкрд░рд╕реЗрд▓рдХрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕реАрдпреВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реИред рд╡реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдРрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИрдВ (рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдВрдЧрд╛: рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рд╛рджрдЧреА рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЙрдирдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдХреЗрдВрджреНрд░реАрдХрд░рдг рдХреЗ рдХрд╛рд░рдг, рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреЗ рдЧрдарди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ; рдкрд╛рда рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ)ред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ (рдЬреЛ рд╕реНрд╡рдпрдВ MCp рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╕реБрдзрд╛рд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рд░рд╛рдп рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ), рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдзрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпреЗ CU рд╣реИрдВ, рдЬреЛ рдЧрд▓рддреА рдХреЛ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдФрд░ рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд╡рд░реНрддрдорд╛рди рдЪрд░рдг рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдФрд░ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рди рдХреЗрд╡рд▓ рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рддрд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рднреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RiDE рд╕рд┐рд╕реНрдЯрдо рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ред MCp рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐ рдЪрдХреНрд░ 4 рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдПрдХ рдЬрдЯрд┐рд▓ рдФрд░ рдмрдбрд╝реЗ (рдЖрдХрд╛рд░ рдореЗрдВ) рдХреЗрдВрджреНрд░реАрдп рд╕реАрдпреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред рдЫреЛрдЯреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрдо рдКрд░реНрдЬрд╛ред рд╕реНрдерд╛рдиреАрдп, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рд╕рд┐рдЧреНрдирд▓ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреА рддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдо рдКрд░реНрдЬрд╛ рдХрд╛ рдкреНрд░рд╕рд╛рд░ рдФрд░ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред рдпрд╣ рд╕рднреА рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП +3 рд╣реИред

рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ред рдпрджрд┐ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ CU рдорд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдорд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ MCP рдореЗрдВ CU рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдореГрддреНрдпреБ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЧрдгрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реЗрд╖ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рдЬрд╛рд░реА рд░рд╣ рд╕рдХрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдзреАрд░реЗ-рдзреАрд░реЗред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдкрд▓ред рдпрд╣реА рд╣реИ, рдЙрдиреНрд╣реЛрдВрдиреЗ рддреАрди рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рдЧрд╛рдП рдЬреЛ рдПрдХ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MCp рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдЗрд╕ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдореЛрдб рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдХреНрд░реЙрд╕-рдЪреЗрдХрд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдореЛрдб рдореЗрдВ рдЗрд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЗрдВрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдЕрдиреНрдп рдореЛрдб рд╕рдВрднрд╡ рд╣реИрдВ (рдЕрдм рддрдХ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЙрдирдХрд╛ рдкреЗрдЯреЗрдВрдЯ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд╣реАрдВ рдлреИрд▓рд╛рдпрд╛ рд╣реИ)ред

рдиреЙрдирдХреНрд▓рд┐рдпрд░рд┐рдЯреА рдХрд╛ рдЬрдиреНрдо


рдЕрдм рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рд╡рд┐рддрд░рд┐рдд рд╕реАрдпреВ рдХреНрдпреЛрдВ рд╕рдВрднрд╡ рд╣реИ, рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдбрд┐рдВрдЧ рдХреА рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдХреНрдпреЛрдВ рдПрдорд╕реАрдкреА рдХреЗ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдпрд╣ рд╡рд┐рдзрд┐ рд╢рд╛рдВрдд рд╣реИред рдлрд┐рд░, рдореЗрд░реЗ рд▓рд┐рдП рдкрд╛рд░рдВрдкрд░рд┐рдХ (GPU рдФрд░ VLIWs рдХреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рднреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдЪрд▓реЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореЗрд░реЗ рд╣рд╛рде рдЦреБрдЬрд▓реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

cat test-habr.c && gcc -S test-habr.c && cat test-habr.s

typedef struct arrst Arrst;

struct arrst
{
	void * p;
	char a[27];
	unsigned x;
};

struct st2
{
	Arrst a[23];
	struct st2 * ptr;
};

struct st2 fn5(unsigned x, char y, int z, char w, double r, Arrst a, Arrst b)
{
	int la[27];
	char lb[27];
	double lc[4];
	struct st2 ld[1];

	return ((struct st2 *)b.p)[a.a[((Arrst *)b.p)->a[13]]].ptr->ptr->ptr[lb[10]];
}

	.file	"test-habr.c"
	.text
	.globl	fn5
	.type	fn5, @function
fn5:
.LFB0:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$1016, %rsp
	movq	%rdi, -1112(%rbp)
	movl	%esi, -1116(%rbp)
	movl	%edx, %eax
	movl	%ecx, -1124(%rbp)
	movl	%r8d, %edx
	movsd	%xmm0, -1136(%rbp)
	movb	%al, -1120(%rbp)
	movb	%dl, -1128(%rbp)
	movq	56(%rbp), %rdx
	movq	56(%rbp), %rax
	movzbl	21(%rax), %eax
	movsbl	%al, %eax
	cltq
	movzbl	24(%rbp,%rax), %eax
	movsbq	%al, %rax
	imulq	$928, %rax, %rax
	addq	%rdx, %rax
	movq	920(%rax), %rax
	movq	920(%rax), %rax
	movq	920(%rax), %rdx
	movzbl	-134(%rbp), %eax
	movsbq	%al, %rax
	imulq	$928, %rax, %rax
	leaq	(%rdx,%rax), %rcx
	movq	-1112(%rbp), %rax
	movq	%rax, %rdx
	movq	%rcx, %rsi
	movl	$116, %eax
	movq	%rdx, %rdi
	movq	%rax, %rcx
	rep movsq
	movq	-1112(%rbp), %rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	fn5, .-fn5
	.ident	"GCC: (GNU) 4.7.2"
	.section	.note.GNU-stack,"",@progbits


. , CU, (, AT&T ):
	imulq	$928, %rax, %rax
	addq	%rdx, %rax
	movq	920(%rax), %rax
	movq	920(%rax), %rax
	movq	920(%rax), %rdx
	movzbl	-134(%rbp), %eax


, , , , 6-, . , , . , : - .

, , , тАФ ( , , , , ; CU ; , ) тАФ ( , ). CU :


, , . , , CU. Core iX, AMD FX, POWER8 . CU ┬л┬╗, , , . . CU тАФ , CPU. . , . , .

, . VIA Isaiah ( ) . , , PLL, FP, IU, Load/Store тАФ .

image

ARM big.LITTLE, , , . , NVIDIA , 4 , Sandy Bridge. SB - .

VLIW EPIC Intel HP (Itanium) : , ( , ). , . . CU VLIW- Itanium- . , CU , . , MCp. , VLIW : 6- ( Itanium) , , 12. : , ( ), VLIW . Itanium prefetch-, . , . () RISC SMT-, , .

. - , , CU ( , ALU). (, , CU ). .

┬л┬╗ : ? : !


! compilation time! (, ) MCp.

cat test-habr.c && rcc -target=mcp < test-habr.c

typedef struct arrst Arrst;

struct arrst
{
	void * p;
	char a[27];
	unsigned x;
};

struct st2
{
	Arrst a[23];
	struct st2 * ptr;
};

struct st2 fn5(unsigned x, char y, int z, char w, double r, Arrst a, Arrst b)
{
	int la[27];
	char lb[27];
	double lc[4];
	struct st2 ld[1];

	return ((struct st2 *)b.p)[a.a[((Arrst *)b.p)->a[13]]].ptr->ptr->ptr[lb[10]];
}


: .local/.global ( ). .alias, #define. . . beta- ( , , ). . . , . , .

.alias SP 39	; stack pointer
.alias BP 38	; function frame base pointer
.alias SI 37	; source address
.alias DI 36	; destination address
.alias CX 35	; counter

.text

fn5:
	.alias fn5.2.0C #BP,8
	.alias fn5.x.4C #BP,12
	.alias fn5.y.8C #BP,16
	.alias fn5.z.12C #BP,20
	.alias fn5.w.16C #BP,24
	.alias fn5.r.20C #BP,28
	.alias fn5.a.24C #BP,32
	.alias fn5.b.60C #BP,68

	.alias fn5.2.0A #BP,8
	.alias fn5.x.4A #BP,12
	.alias fn5.y.8A #BP,16
	.alias fn5.z.12A #BP,20
	.alias fn5.w.16A #BP,24
	.alias fn5.r.20A #BP,28
	.alias fn5.a.24A #BP,32
	.alias fn5.b.60A #BP,68

	.alias fn5.lb.27AD #BP,-27
	.alias fn5.1.32RT #BP,-32
	.alias fn5.2.36RT #BP,-36
	.alias fn5.3.40RT #BP,-40
	.alias fn5.4.44RT #BP,-44
	.alias fn5.5.48RT #BP,-48

	jmp	fn5.P0
	getl	#SP
	getl	#BP
	subl	@2, 4
	subl	@3, 56
	wrl	@3, @2
	setl	#SP, @2
	setl	#BP, @4
	complete

fn5.P0:
	jmp	fn5.P1
	rdsl	fn5.y.8C
	wrsb	@1, fn5.y.8A
	complete

fn5.P1:
	jmp	fn5.P2
	rdsl	fn5.w.16C
	wrsb	@1, fn5.w.16A
	complete

fn5.P2:
	jmp	fn5.P3
	getsl	0x340
	wrsl	@1, fn5.1.32RT
	complete

fn5.P3:
	jmp	fn5.P4
	rdsb	fn5.lb.27AD + 10
	rdsl	fn5.1.32RT
	mulsl	@1, @2
	wrsl	@1, fn5.2.36RT
	complete

fn5.P4:
	jmp	fn5.P5
	rdl	fn5.b.60A
	wrl	@1, fn5.3.40RT
	complete

fn5.P5:
	jmp	fn5.P6
	rdl	fn5.3.40RT
	addl	@1, 0x11
	rdsb	@1
	exa	fn5.a.24A + 4
	addl	@2, @1
	rdsb	@1
	rdsl	fn5.1.32RT
	mulsl	@1, @2
	wrsl	@1, fn5.4.44RT
	complete

fn5.P6:
	jmp	fn5.P7
	getsl	0x33c
	wrsl	@1, fn5.5.48RT
	complete

fn5.P7:
	jmp	fn5.P7.blkloop
	rdl	fn5.3.40RT
	rdsl	fn5.4.44RT
	rdsl	fn5.5.48RT
	addl	@2, @3
	addl	@1, @2
	rdsl	fn5.5.48RT
	rdl	@2
	addl	@1, @2
	rdsl	fn5.5.48RT
	rdl	@2
	addl	@1, @2
	rdl	@1
	rdsl	fn5.2.36RT
	addl	@1, @2
	rdl	fn5.2.0A

;   -     :)
	getl	0x0000ffff
	patch	@1, @3
	patch	@2, @3
	setq	#SI, @2
	setq	#DI, @2
	getl	0xfcc1ffff
	patch	@1, 0
	setq	#CX, @1

	getl	#MODR
	or	@1, 0x38
	setl	#MODR, @1
	complete

;  ,    CX, SI  DI  
fn5.P7.blkloop:
	exa	#CX
	jne	@1, fn5.P7.blkloop
	je	@2, fn5.P7.blkclean
	rdb	#SI
	wrb	@1, #DI
	complete

fn5.P7.blkclean:
	jmp	fn5.PF
	getl	#MODR
	and	@1, 0xffffffc7
	setl	#MODR, @1
	complete

fn5.1L:
fn5.PF:
	rdl	#BP, 4
	jmp	@1
	getl	#BP
	rdl	#BP, 0
	addl	@2, 4
	setl	#BP, @2
	setl	#SP, @2
	complete


, . , , complete. .

. , ( #), , . @N, N тАФ , . , , , .

, , @- . , , , , , . MCp ┬л┬╗ . (setX) (wrX).

, , , , . .

, N . n, , N*k+n (k = 0, 1, ...) , complete ( , ). .

, . , . , @- ( ) - , .

. , , тАФ , - , CU . VLIW EPIC-, ( ), , , CU , ( ).

. RF. MCp , , RF . , RF .

Load/Store/MOB Isaiah. , тАФ MOB, Memory Ordering Buffer. , , / ( ) . : . .

: ! RF . , , @- . , :
volatile a;
a += a;

( ):
	rdsl	a
	rdsl	a
	addsl	@1, @2
	wrsl	@1, a

, , . , MOB, +1 MCp.

. . , , . . , . . .

MCp . , (, , ) . : jmp ( ) j ( ), , .

, complete , . , jmp , .

MCp . , , :
	doSomething;
	if(condition)
	{
		doStuff;
	}


, doSomething. condition, ( , ). doSomething.

doSomething . , CU , , , . , . : , ! ; : , ! , .

MCp , , , doSomething (, ). MCp ( ), ( ) ( ). +1 .

, MCp CU, CU . CU , : , RF.


MCp. . , . MCp , , .

тАФ . . , RF , ( ), . , . , ( ). .

-, , , . -, WriteBack-, . WB-, , , MCp RF (, , , MCp , , +1 ), . .

тАФ (MMU). . , OS, : Linux, Plan9 :) , MMU тАФ . , SPEC MMU 17.5% ; SUN Java 40%. , MMU ( MCp)? CUDA . , () , Java, .Net, JavaScript, Go, : ?

, - , , . , (TLB) MMU 32 , 33 . . - . .. , .

MCp


, , .

, :) , CU. , . , , , . , , N*k+n (k = 0, 1, ...) N=1 n=0, . , . Profit? PROFIT! big.LITTLE .

. , - , , N n. (, , SMS- , ! !).

(managed runtimes) . (, , , ?). MCp (, ) , . , - , .

, MCp , , , . , , , (dependable) . , pattern-matching . , (- ):

fib :: (Integral t) => t -> t
fib 0 = 1
fib 1 = 1
fib n = fib (n - 1) + fib (n - 2)


CPU fib , , 1 .. , . MCp , .

, . , . , ( , ..). 16- , , , : ? ( ). , . , , .

MCp. , ( , ) , . . , , .

, !


, ( , ) - , .

Source: https://habr.com/ru/post/In163057/


All Articles