Відмінності між версіями «Команди переходу»

8 байтів вилучено ,  10 місяців тому
правопис
(Прибрав посилання на саму себе)
(правопис)
{{без джерел|дата=березень 2016}}
'''Кома́нди перехо́ду''' або '''Кома́нди переда́чі керування''' ({{lang-en|branch instructions}}) — команди [[Центральний процесор|процесора]], які змінюють послідовний порядок виконання програми (тобто перезавантажують [[лічильник команд]] вказаною адресою, а не збільшуючи його значення на довжину поточної команди). Команди переходу можуть бути '''умовними''' ({{lang-en|conditional branch}}) та '''безумовними''' ({{lang-en|unconditional branch}}).
 
== Команди умовного переходу ==
В командах умовного переходу рішення про примусовупримусовий передачуперехід управліннядо іншої адреси (шляхом перезавантаження [[лічильник команд|лічильника команд]]) або продовження звичайного режиму виконання програми приймається в залежності від виконання або невиконання певної умови.
 
В командах умовного переходу рішення про примусову передачу управління (шляхом перезавантаження [[лічильник команд|лічильника команд]]) або продовження звичайного режиму виконання програми приймається в залежності від виконання або невиконання певної умови.
 
Реалізація команд умовних переходів в різних [[Архітектура комп'ютера|комп'ютерних архітектурах]] може відрізнятись. В деяких архітектурах обчислення умови для прийняття рішення про подальший перехід та безпосередньо команда переходу відокремлені.
== Проблеми в конвеєрі ==
 
В [[конвеєр команд|конвеєрі]] при виконанні команди переходу (насамперед умовного) факт того, чи відбудеться перехід, чи ні, стає відомим на пізніх етапах конвеєра. За цей час в конвеєр на ранні етапи завантажуються наступні за цією команди. У випадку, якщо перехід відбувається, то зрозуміло, що потрібно повністю замінити послідовність інструкцій, які слідують за командою переходу. Ці так званіТакі [[конфлікти управлінняв конвеєрі]] призводять до істотного падіння швидкодії процесора. В сучасних процесорах для зниження негативу від цих конфліктів використовують різні методики [[передбачення переходів]] та [[спекулятивне виконання]].
 
== Див. також ==
* [[Умовний перехід]]
 
{{без джерел|дата=березень 2016}}
{{ВП-портали|Програмування|}}
 
14 358

редагувань