рдЖрд░рдЖрдИрдПрд╕рд╕реА-рд╡реА рдиреБрдХрд╕рд╛рди

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛, рдПрдЖрд░рдПрдо рдореЗрдВ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛрд░ рд╕рддреНрдпрд╛рдкрди рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЗ рд░реВрдк рдореЗрдВред рдмреЗрд╢рдХ, рдореЗрд░реА рд░рд╛рдп рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрдХрд╛рд░реА рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЧрд╣рд░рд╛рдИ рд╕реЗ рдХрд╛рдо рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдереАред рддреЛ рдпрд╣ рдПрдХ рдЫреВрдЯ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛: рд╢рд╛рдпрдж рдореИрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реВрдБред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░рд╛ рдЕрдм рднреА рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрд░рдЖрдИрдПрд╕рд╕реА-рд╡реА рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдЕрдЧрд░ рдореИрдВрдиреЗ рдЖрдЬ 32-рдмрд┐рдЯ рдпрд╛ 64-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рд╣реЛрддрд╛, рддреЛ рдореИрдВ рд╢рд╛рдпрдж рдореМрдЬреВрджрд╛ рдЯреВрд▓реНрд╕ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ред

рдЖрд▓реЗрдЦ рдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ RISC-V 2.0 рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 2.2 рдХреЗ рд▓рд┐рдП, рдЗрд╕рдиреЗ рдХреБрдЫ рдЕрдкрдбреЗрдЯ рдХрд┐рдПред

рдореВрд▓ рдкреНрд░рд╛рдХреНрдХрдерди: рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп


RISC-V рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рдХреЛ рдкреВрд░реНрдгрддрдо рддрдХ рдШрдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ, рдХреЛрдбрд┐рдВрдЧ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдЖрджрд┐ рдкрд░ рдмрд╣реБрдд рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХреА рдЗрд╕ рдЗрдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг рдЭреВрдареА рдУрдереЛрдЧреЛрдирд▓рд┐рдЯреА рд╣реЛ рдЧрдИ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ рд╕рдВрдХреНрд░рдордг, рдХреЙрд▓ рдФрд░ рд░рд┐рдЯрд░реНрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛) рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛, рдЬреЛ рдЖрдХрд╛рд░ рдФрд░ рдорд╛рддреНрд░рд╛ рджреЛрдиреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИред рдирд┐рд░реНрджреЗрд╢ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ C рдХреЛрдб рд╣реИ:

int readidx(int *p, size_t idx) { return p[idx]; } 

рдпрд╣ рдПрдХ рд╕рд░рдгреА рдХреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдорд╛рдорд▓рд╛ рд╣реИ, рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рд╣реИред рдпрд╣ x86_64 рдХрд╛ рд╕рдВрдХрд▓рди рд╣реИ:

 mov eax, [rdi+rsi*4] ret 

рдпрд╛ рдПрдЖрд░рдПрдо:

 ldr r0, [r0, r1, lsl #2] bx lr // return 

рд╣рд╛рд▓рд╛рдБрдХрд┐, RISC-V рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

 slli a1, a1, 2 add a0, a1, a1 lw a0, a0, 0 jalr r0, r1, 0 // return 

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

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

рд╣рдореЗрдВ CISC рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ "рдЬрдЯрд┐рд▓" рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЬрдЯрд┐рд▓, рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдЕрдХреНрд╖рдо рдирд┐рд░реНрджреЗрд╢ - "рдХрд╛рд░реНрдпрд╛рддреНрдордХ" рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рд▓реЗрдХрд░ CISC рдФрд░ RISC рдкреНрд░реЛрд╕реЗрд╕рд░ рддрдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ, рдЬреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд╕рдд рджрд░реНрдЬреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


  • рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ред рдпрджреНрдпрдкрд┐ рдпрд╣ RISC-V рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реИ, рдпрд╣ рдПрдХ рдЦрдВрдбрд┐рдд, рдЕрд╕рдВрдЧрдд рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢ ( JALR ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП, рдФрд░ рд░рд┐рдЯрд░реНрди рдХреЗ рд▓рд┐рдП, рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░-рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╢рд╛рдЦрд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
    • рдХреЙрд▓: Rd = R1
    • рд╡рд╛рдкрд╕реА: Rd = R0 , Rs = R1
    • рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреНрд░рдордг: Rd = R0 , Rs transition R1
    • (рдЕрдЬреАрдм рд╕рдВрдХреНрд░рдордг: Rd R0 , Rd R1 )
  • рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдлрд╝реАрд▓реНрдб рдХреА рдПрдХ рдЪрд░ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрд╡рдпрдВ-рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдЕрдХреНрд╕рд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, x86 рдФрд░ рдердореНрдм -2 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ - рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд╡рд░реНрд╕-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдпрд╛рдиреА рдЖрд░рдУрдкреА рд╣рдорд▓реЗ )
  • RV64I рдХреЛ рд╕рднреА 32-рдмрд┐рдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░рд┐рддреНрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ 64-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдКрдкрд░реА рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдКрдкрд░реА рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рд┐рдЪ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ "рд╢реВрдиреНрдп" рдмрд┐рдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдХреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдКрдкрд░реА рдЖрдзреЗ рдХреЛ рд╢реВрдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)
  • рдЧреБрдгрди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рддреЗрдЬ рдЧреБрдгрд╛ рдмреНрд▓реЙрдХ рдЫреЛрдЯреЗ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдкрд░ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рдХреНрд╖реЗрддреНрд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рд╣рдореЗрд╢рд╛ рдереЛрдбрд╝рд╛ рдзреАрдореА рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрдИ рдЧреБрдгрд╛ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ ALU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
  • LR / SC рдЖрд╡реЗрджрдиреЛрдВ рдХреА рдПрдХ рд╕реАрдорд┐рдд рд╕рдмрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдЦреНрдд рдкреНрд░рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛рдлреА рд╕рдЦреНрдд рд╣реИ, рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдХреИрд╢ рдХреЗ рдмрд┐рдирд╛)
    • рдпрд╣ рдХреИрд╕ рдЕрдиреБрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ
  • рдореЗрдореЛрд░реА рд╕реНрдЯрд┐рдХреА рдмрд┐рдЯреНрд╕ рдПрдлрдкреА рдФрд░ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдореЛрдб рдПрдХ рд╣реА рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╣реИрдВред рдпрджрд┐ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдореЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП RMW рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ FP рдЪреИрдирд▓ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • FP рдирд┐рд░реНрджреЗрд╢ 32, 64 рдФрд░ 128-рдмрд┐рдЯ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди 16-рдмрд┐рдЯ рдирд╣реАрдВ (рдЬреЛ 128 рдмрд┐рдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ)
    • рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: 0b10 рдЖрдпрд╛рдо рдХрд╛ рдХреЛрдб рдореБрдлрд╝реНрдд рд╣реИред
    • рдЕрджреНрдпрддрди: рджрд╢рдорд▓рд╡ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╕рдВрд╕реНрдХрд░рдг 2.2 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЖрдзрд╛ рд╕рдЯреАрдХ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдирд╣реАрдВ рд╣реИред рдорди рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
  • рдПрдлрдкреА рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдПрдлрдкреА рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп (рд▓реЛрдб / рд╕реНрдЯреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
    • рдПрдореБрд▓реЗрдЯрд░ рд▓реЗрдЦрдХ рдЖрдкрд╕реЗ рдирдлрд░рдд рдХрд░реЗрдВрдЧреЗ
    • рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХрд╛ рдкреНрд░рд╡рд╛рд╕ рдЕрд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
    • рдЕрдкрдбреЗрдЯ: рд╕рдВрд╕реНрдХрд░рдг 2.2 рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ NaN-рдореБрдХреНрдХреЗрдмрд╛рдЬреА рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдмреАрдорд╛рд░


  • рдХреЛрдИ рд╢рд░реНрдд рдХреЛрдб рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рддреБрд▓рдирд╛-рдФрд░-рд╢рд╛рдЦрд╛ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЕрдкреНрд░рд┐рдп рд╣реИрдВ:
    • рдПрдХ рдпрд╛ рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рдХреЛрдВ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╕рд╢рд░реНрдд рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рд╕реНрдерд╛рди рдХреЛ рдХрдо рдХрд░рдирд╛
    • рд╕рд╢рд░реНрдд рдкрд╕рдВрдж рдирд╣реАрдВ (рдмрд╣реБрдд рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА)
    • рдХреИрд░реА-рдУрд╡рд░ рдпрд╛ рдЙрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдХреИрд░реА-рдУрд╡рд░ / рдШрдЯрд╛рд╡ рдирд╣реАрдВ
    • (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдЭрдВрдбреЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкреНрд░рд╛рдкреНрдд рдЭрдВрдбреЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ)
  • рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ unprivileged ISA рдореЗрдВ рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХрд╛рдЙрдВрдЯрд░ (рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЪрдХреНрд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рдЪреИрдирд▓реЛрдВ рдкрд░ рд╣рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡реЗрдХреНрдЯрд░ рд╣реИ
  • рдЧреБрдгрд╛ рдФрд░ рднрд╛рдЧ рдПрдХ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░реЗ рдХреЛ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧреБрдгрди рд╡рд┐рднрд╛рдЬрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд╛рдЬрди рдирд╣реАрдВ рд╣реИред
  • рдмреБрдирд┐рдпрд╛рджреА рдЕрдиреБрджреЗрд╢ рд╕реЗрдЯ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдХреЛрдИ рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВред рдорд▓реНрдЯреА-рдХреЛрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрд▓рдПрд▓ / рдПрд╕рд╕реА рдЬреИрд╕реЗ рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢ рд╕рд╕реНрддреА рд╣реИрдВ (рдПрдХрд▓ [рдорд▓реНрдЯреА-рдХреЛрд░] рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рднреАрддрд░ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ 1 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдЯреЗрдЯ рдмрд┐рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
  • LR / SC рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рдорд╛рди рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╣реИрдВ, рдЬреЛ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ
  • рд╕рд╛рдорд╛рдиреНрдп рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢ ( LR / SC рдирд╣реАрдВ) CAS рдЖрджрд┐рдо рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ
    • CmpHi:CmpLo рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдкрд╛рдВрдЪ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ CmpHi:CmpLo ( CmpHi:CmpLo , CmpHi:CmpLo , SwapHi:SwapLo ), рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЖрдЧреЗ рджрд┐рдП рдЧрдП LR / SC рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдУрд╡рд░рд╣реЗрдб рд▓рдЧрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди
  • рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ 32-рдмрд┐рдЯ рдФрд░ 64-рдмрд┐рдЯ рдорд╛рдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 8-рдмрд┐рдЯ рдпрд╛ 16-рдмрд┐рдЯ рд╡рд╛рд▓реЗ рдирд╣реАрдВ
  • RV32I рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рдПрдХ FP рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмреАрдЪ DP FP рдорд╛рди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдореЗрдореЛрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╛рдиреА 32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рд╕реЗ 64-рдмрд┐рдЯ рдбрдмрд▓-рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдореЗрдореЛрд░реА рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╡рд░реНрддреА рдорд╛рди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЙрд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдлрд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RV32I рдореЗрдВ 32-рдмрд┐рдЯ ADD рдирд┐рд░реНрджреЗрд╢ рдФрд░ RVI64 рдореЗрдВ 64-рдмрд┐рдЯ ADD рдореЗрдВ рдПрдХ рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реИ, рдФрд░ RVI64 рдореЗрдВ рдПрдХ рдФрд░ ADD.W рдПрдиреНрдХреЛрдбрд┐рдВрдЧ ADD.W ред рдпрд╣ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рджреЛрдиреЛрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдпрд╛ 64-рдмрд┐рдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЬреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред
  • рдХреЛрдИ MOV рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВред MV рдХрдорд╛рдВрдб рдХреЗ mnemonic рдХреЛрдб рдХреЛ рдХреЛрдбрд╛рдВрддрд░рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢ MV rD, rS -> ADDI rD, rS, 0 ред рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрдорддреМрд░ рдкрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ MOV рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реБрдП, MOV рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╣реИрдВред 12-рдмрд┐рдЯ рдСрдкрд░реЗрдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЛ RISC-V рдореЗрдВ MV рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╡рд┐рд╣рд┐рдд рд░реВрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
    • MOV рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ MOV ADD rD, rS, r0 рдирд┐рд░реНрджреЗрд╢ ADD rD, rS, r0 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╣рд┐рдд MOV рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдбрд┐рдХреЛрдб рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реАрдкреАрдпреВ рдореЗрдВ рд╢реВрдиреНрдп рд░рдЬрд┐рд╕реНрдЯрд░ (r0) рд╡рд╛рд▓реЗ рдСрдкрд░реЗрд╢рди рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ

рдмрд╣реБрдд


  • JAL рд╕рдВрдЪрд╛рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ R0 рд▓рд┐рдП 5 рдмрд┐рдЯреНрд╕ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрд╢рд╛ R1 (рдпрд╛ рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЗ рд▓рд┐рдП R0 ) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ
    • рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ RV32I 21-рдмрд┐рдЯ рд╢рд╛рдЦрд╛ рд╡рд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ - рдХрдорд╛рдВрдб рдФрд░ / рдпрд╛ "рд╢рд╛рдЦрд╛ рджреНрд╡реАрдк" рдХреЗ рдХрдИ рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ред
    • рдпрд╣ рдХрдорд╛рдВрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЧрд┐рд░рд╛рд╡рдЯ рд╣реИ!
  • рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛, рд▓реЛрдб / рд╕реНрдЯреЛрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдорд╣рд╛рди рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреЗрд╕ рдФрд░ рддрддреНрдХрд╛рд▓ рдлрд╝реАрд▓реНрдб рдкрд░рд┐рд╡рд░реНрддрди)
    • рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдЖрдЙрдЯрдкреБрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рдХреЛрдбрд┐рдВрдЧ рдСрд░реНрдереЛрдЧреЛрдирд▓рд┐рдЯреА рджреЛ рдордЬрдмреВрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдХреЛрдбрд┐рдВрдЧ рдСрд░реНрдереЛрдЧреЛрдирд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдереАред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрддрд╛ рдкреАрдврд╝реА рдЕрдзрд┐рдХ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
  • рд░рдЬрд┐рд╕реНрдЯрд░ Rbase ( Rbase + Roffset ) рдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ ( Rbase + Rindex << Scale ) рдХреЗ рд╕рд╛рде рдХреЛрдИ рдореЗрдореЛрд░реА рд▓реЛрдбрд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВред
  • FENCE.I рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рдкрд┐рдЫрд▓реЗ рд╕рднреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢ рдХреИрд╢ рдХрд╛ рдПрдХ рдкреВрд░реНрдг рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдиред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрд╛рдбрд╝ рдкрд░ рд╕рднреА I $ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдбреА $ рдФрд░ рднрдВрдбрд╛рд░рдг рдмрдлрд░ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ
  • RV32I рдореЗрдВ, 64-рдмрд┐рдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░реА рдЖрдзреЗ рд╕реЗ рджреЛ рдмрд╛рд░ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд░реАрдб рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдирд┐рдЪрд▓реЗ рдФрд░ рдКрдкрд░реА рдЖрдзреЗ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреБрд▓рдирд╛ рдФрд░ рд╢рд╛рдЦрд╛ рдХрд░рдирд╛
    • рдЖрдорддреМрд░ рдкрд░, 32-рдмрд┐рдЯ рдЖрдИрдПрд╕рдПрдПрд╕ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реАрдб рд╕реНрдкреЗрд╢рд▓ рдкреЗрдпрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред
  • рд╕рдВрдХреЗрдд рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рдЗрд╕ рд╕реНрдерд╛рди рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдкреБрд░рд╛рдиреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ ( NOP рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд) рдкрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рди NOP , рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕реАрдкреАрдпреВ рдкрд░ рдХреБрдЫ рдХрд░реЗрдВ
    • рд╢реБрджреНрдз рдПрдирдУрдкреА рд╕рдВрдХреЗрдд рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╕реНрдкрд┐рдирд▓реЙрдХ рдЙрдкрдЬ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ
    • рдирдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рд╕рдВрдХреЗрдд рднреА рд╣реЛрддреЗ рд╣реИрдВ (рдирдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рджреГрд╢реНрдп рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, x86 рдмреЙрд░реНрдбрд░ рдЪреЗрдХ рдирд┐рд░реНрджреЗрд╢ рд╣рд┐рдВрдЯ рд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ рддрд╛рдХрд┐ рдмрд╛рдпрдиреЗрд░реА рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рд░рд╣реЗрдВ)

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


All Articles