рдЧреБрдгрди, рд╡рд░реНрдЧрдореВрд▓ рдирд┐рд╖реНрдХрд░реНрд╖рдг, рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдФрд░ рдХрдВрдкрдиреА рдорд┐рд▓реЗрдВрдбрд░ рдХреЗ рдореБрджреНрджреЗ рдкрд░

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

рдЬреЙрди рдкреАрд░рдПрд╕ "рдЖрдИ рдиреЛ рдиреЛ рдИрд╡рд┐рд▓"


рдпрд╣ рдкреЛрд╕реНрдЯ рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдордХреЗ рдкрд░ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реВрдХреНрд╖реНрдо рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдореНрдмреЗрдбреЗрдб рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╣рд▓реБрдУрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЖрдХрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рд╕реЗ рднрд░рд╛ рд╣реИред

рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рджреА рдереА, рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдкреВрдЫрддрд╛ рд╣реВрдВред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рдПрдХ рд╡рд░реНрдЧрдореВрд▓ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдСрдкрд░реЗрд╢рди рдХреЛ рд╕реНрдХреНрд╡рд╛рдпрд░ рдореЗрдВ рдЙрд▓рдЯрд╛ рдХрд░ рджреЗрдВ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЧреБрдгрд╛ рдХрд░реЗрдВ, рдмрд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ 8-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ 8-рдмрд┐рдЯ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, 16-рдмрд┐рдЯ рдкрд░рд┐рдгрд╛рдо (8 * 8 = 16) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рдо рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдкрд░реЗрд╢рди 16 * 16 = 32 рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ 16 рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рджреЛ 8 рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдирд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ

(16)*(16)=(1(8)*256+2(8))*1(8)*256+2(8)) =1*1*256*256+1*2*256+2*1*256+2*2

рдпрджрд┐ рдкрд░рд┐рдгрд╛рдореА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╣рдо рдЧреБрдгрд╛ рдХреЛ 256 рд╕реЗ рдмрд╛рдИрдВ рдУрд░ 8 рдЕрдВрдХреЛрдВ рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдорд┐рд▓рддрд╛ рд╣реИред рдЖрдЗрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ - рд╣рдореЗрдВ 4 * 8 = 16 рдХреЗ 4 рдЧреБрдгрд╛ рдФрд░ 4 рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛ 32 + 32 = 32 рдХреЗ 4 рдкрд░рд┐рд╡рд░реНрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдордХреЗ рдкреНрд░рдХрд╛рд░ рдПрд╡реАрдЖрд░ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ 4 * 2 + 4 * 4 = 24 рдЪрдХреНрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ "рдорд╛рдереЗ" рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдЗрдП рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ 4 рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ 3 рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдПрдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢реВрдиреНрдпрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрднреА рднреА рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдФрд░ рдХреБрд▓ рд╕рдордп 24/4 = 28 рдЪрдХреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рд╣рдо рдкрд╣рд▓реЗ рддреАрди рд╢рдмреНрджреЛрдВ рдореЗрдВ рдПрдХ рдкрд╛рд░реА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ (рдХреНрд░рдорд╢рдГ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ рдХрд┐ рдирд┐рдореНрди (рджреЛ рдХрдо рдмрд╛рдЗрдЯ) рд╢реВрдиреНрдп рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ), рддреЛ рд╣рдореЗрдВ 4 рдмрд╛рдЗрдЯреНрд╕ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рддреАрди рдФрд░ рджреЛ, рдЬреЛ рдХрдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ 1 * 2 + 2 = 4 рдЙрдкрд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдФрд░ 20 рдЙрдкрд╛рдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рдФрд░ рдЕрдВрддрд┐рдо рд╢рд░реНрддреЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреА рдЙрдЪреНрдЪрддрдо рдЫрдорд╛рд╣реА рдХреЗ рд╢реВрдиреНрдпрдХрд░рдг рдХреЛ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХрд╛рд▓ рдХреЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдЕрдиреНрдп 2 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рд╕реЗ рдШрдЯрд╛рдХрд░ 18 рдХрд░ рджреЗрддреА рд╣реИред рдЖрдЧреЗ, рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрд░реНрдерд╛рддреН рд░рдЬрд┐рд╕реНрдЯрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрдорд╛рдВрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рдЬреЛрдбрд╝реЗ, рджреЛ рдФрд░ рдЙрдкрд╛рдпреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо - рдореВрд▓ 28 рдХреЗ рдмрдЬрд╛рдп 16 рдЙрдкрд╛рдп - рдПрдХ рддрд┐рдкрд╣рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдЪреНрдЫрд╛ред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рддрд░реАрдХреЗ рдСрдкрд░реЗрд╢рди 32 * 32 = 32 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд 4 * 4 * (2 + 4) + 4 = 100 рдШрдбрд╝реА рдЪрдХреНрд░ рд╕реЗ (3 + 5 + 4 + 3) + (5 + 3) рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ +3) + (4 + 3) + 3 = 36 рдЙрдкрд╛рдп, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдЦреИрд░, рдЧреБрдгрди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 16 * 16 = 16 3 + 3 + 3 = 9 рдЪрдХреНрд░ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рд╕рднреА рд╡рд┐рдЪрд╛рд░ рдХреЗрд╡рд▓ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдорд╛рдиреНрдп рд╣реИрдВ рдХрд┐ 2 рдЙрдкрд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдкрд░реЗрд╢рди 8 * 8 = 16 рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рд▓рдХреНрд╖реНрдп рдПрдордХреЗ рдкрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрдиреНрдп рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреЗрдЬ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╣рдореЗрдВ рдЧреБрдгрд╛ (8 * 8 = 8 2, 8 * 8 = 16 9, 16 * 16 = 16 16, 16 * 16 = 32 36) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдм рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рд╣рдореЗрдВ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдкреВрд░реНрдгрд╛рдВрдХ рд░реВрдЯ рдХреЛ 32 рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ H рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рд╕рдмрд╕реЗ рдмрдбрд╝реА 16 рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ n рдХреЛ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ n * n <= H. рд╣рдо рд╕рднреА рдорд╛рдзреНрдпрдорд┐рдХ рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд░реНрдЧрдореВрд▓ (n = (N / n '+ n) / 2) рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди рдХреА рд╡рд┐рдзрд┐ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрд╢рди рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЕрдиреНрдп рдЧрдгрдирд╛ рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдмрд┐рдЯрд╡рд╛рдЗрдЬ рд╕рдиреНрдирд┐рдХрдЯрди рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдЫрджреНрдо рдХреЛрдб рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:

  • рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп -> тАЛтАЛрдПрди = 0; b = 0x8000;
  • рдкреНрд░рджрд░реНрд╢рди 16 рдмрд╛рд░ -> рдЕрдЧрд░ (((рдПрди + рдмреА) * (рдПрди + рдмреА)> = рдПрдЪ) рдПрди = рдПрди + рдмреА; рдмреА = рдмреА >> 1;

рдЖрдк рддреБрд░рдВрдд рдЗрд╕ рд╡рд┐рдХрд▓реНрдк 16 (рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛) рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ * (2 (рдЪрдХреНрд░ рдХрд╛ рд╕рдВрдЧрдарди) +2 (рдЬреЛрдбрд╝) + X (рдЧреБрдгрди) +5 (рддреБрд▓рдирд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди) +2 (рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╕рдВрд╢реЛрдзрди) / 2 (рдФрд╕рдд) рд╣рд╛рдл рдЯрд╛рдЗрдо) +2 (рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ)) = 16 * (12 + X)ред рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ 16 рдХреЗ рдмрдЬрд╛рдп рд╕реВрддреНрд░ X рдореЗрдВ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдШрд╛рдд рдХрд╛ рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕реА рдореЗрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ рдирд╣реАрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдмрд┐рдЯ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЧреБрдгрди рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдо 16 * 16 = 32 рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 32 * 32 = 32 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ X = 16 рдХреЗ рдмрдЬрд╛рдп X = 36 рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд┐рдо рдЖрдВрдХрдбрд╝рд╛ 16 * рд╣реИред 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП 48 = 768 рдШрдбрд╝реА рдЪрдХреНрд░ред

рдмреЗрд╢рдХ, рдпрд╣ рдиреНрдпреВрдЯрди рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдмрд╣реБрдд, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдЕрдЧрд▓реЗ рдЧреБрдгрд╛ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓рд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 16 * (12 + 16) = 448 рдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рдЧреБрдгрди рдХреЗ рдХрдо рдЦрд░реНрдЪреАрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЧреБрдгрди рдХреА рдЧрдгрдирд╛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдХреЗ рдЧреБрдгрди рдореЗрдВ рдХреБрдЫ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдХрд╛ рд╡рд░реНрдЧ рдЬреНрдЮрд╛рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕реВрддреНрд░ (n + b) * (n + b) = n * n + 2 * n * b + b * b рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдВрддрд░ рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдПрдХ рдордЬрд╝рд╛рдХ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ - рдПрдХ рдЧреБрдгрди рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдЪрд╛рд░ рдЯреБрдХрдбрд╝реЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рдВрдмреА (32-рдмрд┐рдЯ) рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА n * n, b * b рд╣реИ рдЬреЛ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЗ рд░рд╣рд╛ рд╣реИ b = b '/ 2 рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬреИрд╕реЗ b' * b '/ 4, рдФрд░ рдЗрд╕реА рддрд░рд╣ 2 * n * b = 2 * n * b '/ 2ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧрдгрдирд╛ рдпреЛрдЬрдирд╛ рдЙрднрд░рддреА рд╣реИ:

  1. рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди -> рдПрдирдПрди = 0; n = 0; b = 0x8000; рдмреА рдмреА = рдмреА * рдмреА;
  2. 16 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ -> рдЕрдЧрд░ (nn + n + bb> = H) {n = n + b; nn = nn + bb + n}; bb >> 2; рдмреА> 1;

рд╣рдо рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд╛рдЧрдд 16 * (2 (рдЪрдХреНрд░ рдХрд╛ рд╕рдВрдЧрдарди) +12 (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдФрд░ рджреЛ рдкрд░рд┐рд╡рд░реНрдзрди) +5 (рддреБрд▓рдирд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди) + (2 (рдЬреЛрдбрд╝) +8 (рджреЛ рдЬреЛрдбрд╝)) / 2 (рдФрд╕рдд рдЖрдзрд╛ рд╕рдордп) +8 (2 рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ) +2 (рджрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ) = 16 * 34 = 544 рдШрдбрд╝реА рдЪрдХреНрд░ред 32 * 32 рдХреЗ рдЧрд▓рдд рдЧреБрдгрд╛ рд╕реЗ рдмреЗрд╣рддрд░, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рднрдВрдбрд╛рд░ рд╣реИред

рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВ - рдЪрд▓реЛ рд╕рдмрд╕реЗ рдорд╣рдВрдЧреЗ рдСрдкрд░реЗрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдХреБрд▓ 17 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдореБрдЦреНрдп рд▓реВрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛:
2. 16 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ -> рдЯреА = рдПрдЪ-рдмреА рдмреА-рдПрди; if (T> = 0) {H = T; n = n + b);}; bb >> 2; рдмреА> 1;
рдлрд┐рд░ рдЪрдХреНрд░ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп 16 * (2 (рдЪрдХреНрд░ рдХрд╛ рд╕рдВрдЧрдарди) +12 (рдирдП рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛) +1 (рддреБрд▓рдирд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди) + ((4 (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ) +2 (рдЬреЛрдбрд╝)) / 2 (рдФрд╕рдд рдЖрдзрд╛ рд╕рдордп) +8 рд╣реЛрдЧрд╛ +2) = 16 * 28 = 448 рдЪрдХреНрд░, рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдФрд░ 2 + 2 = 4 * 16 = 64 рдЪрдХреНрд░ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 400 рд╕реЗ рдХрдо рдЪрдХреНрд░реЛрдВ рдХреЗ рднреАрддрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд╣реА рдЧреБрдгрд╛ 16 * 16 = 32 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЗ рдмрд┐рдирд╛, "рд╢реБрджреНрдз рд╕реА рдореЗрдВ"ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдЗрдирд╕ рд╣реИ - рдпрджрд┐ рд╕рдм рдХреБрдЫ рдЧреБрдгрди рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рд╣рдЬ рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЕрдВрддрд░ рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд▓реЗ рдЬрд╛рджреВ рдХреЗ рдПрдХ рд╕рддреНрд░ рдХреА рдЫрд╛рдк рджреЗрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрд╛рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИред

рдЖрд╡рд╢реНрдпрдХ рдиреЛрдЯ - рд╣рдореЗрдВ рдЧреБрдгрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг (рдХрдИ рдмрд╛рд░) рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 8 * 8 = 16 рдХрд╛ рддреЗрдЬреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдордХреЗ (рдФрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ) рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ рдпрд╛ рдЗрддрдирд╛ рддреЗрдЬ рдирд╣реАрдВ рд╣реИ (рдФрд░ рдпрд╣ рднреА рд╣реЛрддрд╛ рд╣реИ), рддреЛ рдЕрдВрддрд░ рдпреЛрдЬрдирд╛ рдХрдИ рдЧреБрдирд╛ рддреЗрдЬ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдирдХ рдЬреЛрдбрд╝ рдФрд░ рд╢рд┐рдлреНрдЯ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рдПрдордХреЗ рдореЗрдВ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рднрдВрдбрд╛рд░ рд╣реИрдВред рдЖрдЗрдП рддреНрд╡рд░рдг рдХреА рдПрдХ рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬреАрддреЗрдВред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рдкреБрд░рд╛рдиреЗ рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рд╡рд░реНрдЧрдореВрд▓ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рддрд░реНрдХ рдХреЛ H = H '<< 16 + H' рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо n = n '<< 8 + n' рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ n '' <256, рддреЛ рдЗрд╕рдХрд╛ рд╡рд░реНрдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛ n = n '<< 8 + 256 = (n' + 1) << 8 рдХреЗ рд╡рд░реНрдЧ рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдЪреНрдЪрддрдо рднрд╛рдЧ рддрд░реНрдХ рдХреЗ рдЙрдЪреНрдЪрддрдо рднрд╛рдЧ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧреА - рд╣рдо рдЫреЛрдЯреА рд▓рдВрдмрд╛рдИ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдкрд╣рд▓рд╛ рдЖрдзрд╛ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд╕реЗ рд╕рдордп рдХреА рд▓рд╛рдЧрдд рдореЗрдВ рдХрдореА рдЖрддреА рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЧреБрдгрди рдФрд░ рдЕрдВрддрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреБрд▓ рд▓рд╛рдн рдХреБрд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЗ рдПрдХ рдЪреМрдерд╛рдИ рддрдХ рд╣реЛрдЧрд╛ред

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

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

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

  1. рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп -> тАЛтАЛрдПрди = 0; рдПрдЪ 1 = 0;
  2. 16 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ -> (рдПрдЪ 1, рдПрдЪ) << 2; рдЯреА = рдПрдЪ 1-рдПрди -1; if (T> 0) {H1 = T; n = n + 2}; n << 1;

рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ, 16 * (12 (рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╢рд┐рдлреНрдЯ) +4 (рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛) +1 (рд╕рдорд╛рдзрд╛рди) +2 (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ) +1 (рд╡реГрджреНрдзрд┐) +2 (рд╢рд┐рдлреНрдЯ) = 16 * 22 = 352 рдЙрдкрд╛рдп, рд╢рд╛рдпрдж рдкрд░рд┐рдгрд╛рдо рдПрдХрджрдо рд╕рд╣реА рд╣реИред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдЫреЛрдЯреЗ рдиреБрдХрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкрд╛рдардХ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдЙрд╕реЗ рдХрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ) рдкрд░ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред

рдЦреИрд░, рдЙрд╕ рдЦрдВрдб рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдпрд╣ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдПрдВрдЯреЛрди рдЪрд┐рдЬрд╝реЛрд╡ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрджреНрднреБрдд рдореИрдХреВрдкреАрдкреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рд▓реЗрдЦрдХрд╢рд┐рдк рдХреЗ рд▓реЛрдХреА рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдВрдбреНрд░реАрд╕реНрдХреБ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ (рдареАрдХ рд╣реИ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд▓рд╛рд▓рд┐рддреНрдп рдХреЛ C ++ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдкрд┐рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ <a ┬л github.com/KonstantinChizhov/ Mcucpp ┬╗рдореЗрд░реЗ рдкрд╛рд╕ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд▓реЗрдЦрдХ (рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП) рдФрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╣реБрдд рд╕рдореНрдорд╛рди рд╣реИ, рдЬрд┐рд╕рдХреА рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдкреНрд░рд╢рдВрд╕рд╛ рдХреАред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдореИрдВрдиреЗ template_utils.h рдХреЛ рджреЗрдЦрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рджрд┐рдирдЪрд░реНрдпрд╛рдПрдБ рд▓рд╛рдЧреВ рдХреА рдЧрдИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд░реВрдЯ рдерд╛ред рдпрд╣ рддрдереНрдп рдХрд┐ рдпрд╣ рдЧреБрдгрди рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдиреНрдирд┐рдХрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЧрддрд┐ рдореЗрдВ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдЦреЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордЭ рдореЗрдВ рдпрд╣ рдЖрдЧреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдВрдХ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рдЬреАрддрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХреА рддрд░рд╣ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ (рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ "рдмрдЪреНрдЪреЗ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред" рдЕрд╢реБрджреНрдзрд┐ рдореЗрдВ 32 рдмрд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЪрдпрдирд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рджреГрдврд╝рддрд╛ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ 32 рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрдбрд╝ 16 рдмрд┐рдЯреНрд╕ рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрдм рдХрдВрдкрд╛рдЗрд▓рд░ рдЦреБрдж рдХрднреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдп рд░реВрдкрд╛рдВрддрд░рдг

 static inline uint32_t sqrt(uint32_t value) { uint16_t result = 0; uint16_t add = 0x8000; for (uint8_t i = 16; i !=0; ++i) { uint32_t rootGuess = result | add; uint32_t guess = rootGuess * rootGuess; if (value >= guess) { result = rootGuess; } add >>= 1; } return result; } 

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

рдмрд╛рдж рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдВ - рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛

  for (uint_fast8_t i= ...) 

рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдУрд▓реЗрдЧред

рдХреЗрдХ рдкрд░ рдЪреЗрд░реА рдиреАрдЪреЗ рд╕реНрдерд┐рдд рд╕рд╛рдЗрди рдирдВрдмрд░ рд╕реЗ рдкреВрд░реЗ рд╡рд░реНрдЧрдореВрд▓ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ 65-1 = 65635 = -1ред рджреВрд╕рд░реА рдУрд░, рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкрд░рд┐рдгрд╛рдо рд╕реЗ рднреА рдмрджрддрд░ рдХреНрдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рдПрдордХреЗ рдореЗрдВ рдХрд╛рд░рдг, рдФрд░ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреВрд░рд╛ рд╡рд░реНрдЧрдореВрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдЦреИрд░, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд┐ рдореИрдВ рдПрдВрдЯреЛрди рдЪрд┐рдЭреЛрд╡ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреНрдпреЛрдВ рдЧрдпрд╛ред рдореБрдЭреЗ MAX (MultiAgent Coherent System) рдирд╛рдо рдХреЗ рддрд╣рдд MK рдХреЗ рд▓рд┐рдП рдШрд░реЗрд▓реВ RTOS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдкрдж рдХреЗ рд▓рд┐рдП рдПрдкрд┐рдЧреНрд░рд╛рдл рджреЗрдЦреЗрдВ рдФрд░ Milander рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд MK рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдПред рдиреЛрдЯ - рдпрд╣ рдкреЛрд╕реНрдЯ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреНрд░рдЪрд╛рд░ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдкреВрд░реНрд╡реЛрдХреНрдд mcucpp рд╕реЗ, OS рд▓реЗрдЦрдХреЛрдВ рдиреЗ рд░рд┐рдВрдЧ рдмрдлрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ (рдмрд┐рдирд╛ рдПрдВрдЯреЛрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдлрд╛рдпрджреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдирд░рдо рд╕реВрддреНрд░реАрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдФрд░ рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдЬреАрддрд╛ рдерд╛)ред рдЪреВрдВрдХрд┐ рдореИрдВ рдорд┐рд▓реЗрдВрдбрд░ рдХреА рдЙрддреНрдкрд╛рджрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдиреЗ рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рджреА рдФрд░ рдореИрдВрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ред

рдпрд╛рд░реЛрд╕реНрд▓рд╛рд╡рдирд╛ рдХрд╛ рдЕрдЧрд▓рд╛ рд░реЛрдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

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

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдзреЗ рд╕рд╛рд▓ рдХрд╛ рд╡рд┐рд╡рд░рдг рд▓рдЧрднрдЧ рдорд╛рддреНрд░рд╛ (115 рд╕реЗ 55 рдкреГрд╖реНрдареЛрдВ рд╕реЗ) рдореЗрдВ рдЖрдзрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ "рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рд╡рд░рдг" рд╕реЗ рддреАрд╕рд░реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рддреЛ рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИ (рдЬрд┐рд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЬреИрд╕реЗ "рдСрдкрд░реЗрдЯрд░ рдХреА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛" рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╕рдордп рдФрд░ рдкреИрд╕рд╛ рдирд╣реАрдВ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╣реИрд░рд╛рди рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкрд╣рд▓реЗ рд╣реА рд╡рд╛рдХреНрдп рдореЗрдВ, рд╣рдо рд╕рдЪреНрдЪрд╛рдИ рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд▓рди рджреЗрдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ RTOS рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ "рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдирд╛" рдирд╣реАрдВ рд╣реИ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд▓реЗрдЦрдХ рдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЦреБрдж рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдпрд╛рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рд╣реИ, рд╡рд┐рдкрдгрди рд╕реЗрд╡рд╛ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╡рд░реНрдгрди рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ / рдбреЙрдХреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛, рдФрд░ рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рдерд╛, рдЕрдм рдпрд╣ / рдЯреВрд▓рдХрд┐рди / рдореИрдХ / рдбреЙрдХреНрд╕ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдареАрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реА рдпреБрд╡рд╛рд╡рд╕реНрдерд╛ рдореЗрдВ рдХрд╣рд╛ рдерд╛, "рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд╛рдЧрд▓ рд╣реИ," рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

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

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

рдкрд╣рд▓рд╛ рдЕрд╡рд▓реЛрдХрди рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ Cortex-M0 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ (1986 BE1T) рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдХреЛрдб рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдСрд░рд┐рдЬрдирд▓ ARM рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА (рдЗрдореНрдкреЛрд░реНрдЯреЗрдб) тАЛтАЛрдЯреЗрдХреНрд╕реНрдЯ рдлреНрд░реИрдЧрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ - рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рд╢реЗрдбрдпреВрд▓рд░ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдШрдЯрдХреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдХреЛрдИ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рддрд░рд╣ рдХреА рдореМрд▓рд┐рдХрддрд╛ рд╣реИ рдЬрдм рдореБрдЭреЗ рдлрд┐рд▓реНрдо "рдж рдЗрд╡рд┐рд▓ рд╕реНрдкрд┐рд░рд┐рдЯ рдСрдл рдпрдВрдмреБрдпрд╛" рд╕реЗ рдкреБрд░рд╛рдиреЗ рдЬрд╛рджреВрдЧрд░ рдХреЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рдорд╣рд╛рди рд╢рд┐рдХрд╛рд░реА: "рдХрд╛рди рдХрд╛рдЯ рджрд┐рдпрд╛, рдкрдХрд╛рдпрд╛ рдФрд░ рдЦрд╛рдпрд╛ - рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реЛрдЧрд╛?"

рдореИрдВ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ - рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдУрдПрд╕ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдЬрдЯрд┐рд▓ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рддрдХ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди - рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдирдЯрд╛рдЗрдо рддрдХ рдкрд╣реБрдВрдЪ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред , ( ) , . ( , , MPU), .

, , , , . (1) , , FREE-RTOS 20 , ( , , ).

, , 60 ( ). , . ( ) , (, ) ,

  1. (n)
  2. тАФ , 20*(3*4)=240 . , , , .

, , ( , , ) . , ( , ). mcucpp ( тАФ ), .

тАФ - , .

(, , ) - тАФ . ( , , ), , ( 2013) 1 , 2019 .

, :

  1. ( , ) ( , , , , ),
  2. ( ),
  3. () 2,
  4. HAL, CMSIS (- ),
  5. ,
  6. ,
  7. (3rd part), ,
  8. ,
  9. ,
  10. , (, , ..) ┬л ┬╗,
  11. , , ( , , MIT , ┬л ┬╗), , (?).

, , , 5 ( , , 10, IDE). , , .

, , , .

, , () .

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


All Articles