Модуль передбачення умовних переходів (англ. Branch Prediction Unit) — пристрій, який визначає напрям розгалужень (передбачає, виконається умовний перехід, чи ні) в програмі, що наразі виконується. Входить до складу мікропроцесорів, які мають конвеєрну архітектуру. Передбачення розгалужень дозволяє робити попередню вибірку інструкцій та даних з пам'яті, а також виконувати інструкції, які розташовані після умовного переходу до того, коли він буде виконаний. Модуль передбачення є невід'ємною частиною усіх сучасних суперскалярних мікропроцесорів, бо в більшості випадків (точність передбачення переходів в сучасних процесорах перевищує 90 %) дозволяє оптимально використовувати обчислювальні ресурси процесора.
Існує два базових методи передбачення переходів: статичний і динамічний.
Статичне передбачення
Статичні методи передбачення розгалужень є найпростішими. Робота цих методів базується на припущенні, що різні типи переходів або виконуються завжди, або не виконуються ніколи. В сучасних процесах статичні методи використовуються лише тоді, коли неможливе використання динамічного передбачення.
Прикладами статичного передбачення можуть бути тривіальне передбачення переходів, яке використовувалося в ранніх процесорах архітектури SPARC та MIPS (припускається, що умовні переходи ніколи не виконуються), а також статичне передбачення, яке використовується в сучасних процесорах як підстрахування (припускається, що будь-який зворотний перехід, тобто перехід на молодші адреси, є циклом і виконується, а будь-який прямий перехід, тобто на старші адреси, не виконується).
Динамічне передбачення
Динамічні методи, які широко використовують в сучасних процесах, використовують аналіз історії розгалужень. Прикладом динамічного передбачення є дворівневий адаптивний історичний алгоритм (англ. Bimodal branch prediction), який використовувався процесорами архітектури Intel P6 (аналізується таблиця історії переходів, що містить молодші значущі біти адреси інструкції і відповідну імовірність умовного переходу: «скоріш за все, буде виконаний», «можливо, буде виконаний», «можливо, не буде виконаний», «скоріш за все, не буде виконаний» та оновлюється після кожного переходу).
Посилання
- Dan Luu, Branch Prediction
Це незавершена стаття про апаратне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття не містить . (січень 2018) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Modul peredbachennya umovnih perehodiv angl Branch Prediction Unit pristrij yakij viznachaye napryam rozgaluzhen peredbachaye vikonayetsya umovnij perehid chi ni v programi sho narazi vikonuyetsya Vhodit do skladu mikroprocesoriv yaki mayut konveyernu arhitekturu Peredbachennya rozgaluzhen dozvolyaye robiti poperednyu vibirku instrukcij ta danih z pam yati a takozh vikonuvati instrukciyi yaki roztashovani pislya umovnogo perehodu do togo koli vin bude vikonanij Modul peredbachennya ye nevid yemnoyu chastinoyu usih suchasnih superskalyarnih mikroprocesoriv bo v bilshosti vipadkiv tochnist peredbachennya perehodiv v suchasnih procesorah perevishuye 90 dozvolyaye optimalno vikoristovuvati obchislyuvalni resursi procesora Isnuye dva bazovih metodi peredbachennya perehodiv statichnij i dinamichnij Statichne peredbachennyaStatichni metodi peredbachennya rozgaluzhen ye najprostishimi Robota cih metodiv bazuyetsya na pripushenni sho rizni tipi perehodiv abo vikonuyutsya zavzhdi abo ne vikonuyutsya nikoli V suchasnih procesah statichni metodi vikoristovuyutsya lishe todi koli nemozhlive vikoristannya dinamichnogo peredbachennya Prikladami statichnogo peredbachennya mozhut buti trivialne peredbachennya perehodiv yake vikoristovuvalosya v rannih procesorah arhitekturi SPARC ta MIPS pripuskayetsya sho umovni perehodi nikoli ne vikonuyutsya a takozh statichne peredbachennya yake vikoristovuyetsya v suchasnih procesorah yak pidstrahuvannya pripuskayetsya sho bud yakij zvorotnij perehid tobto perehid na molodshi adresi ye ciklom i vikonuyetsya a bud yakij pryamij perehid tobto na starshi adresi ne vikonuyetsya Dinamichne peredbachennyaDinamichni metodi yaki shiroko vikoristovuyut v suchasnih procesah vikoristovuyut analiz istoriyi rozgaluzhen Prikladom dinamichnogo peredbachennya ye dvorivnevij adaptivnij istorichnij algoritm angl Bimodal branch prediction yakij vikoristovuvavsya procesorami arhitekturi Intel P6 analizuyetsya tablicya istoriyi perehodiv sho mistit molodshi znachushi biti adresi instrukciyi i vidpovidnu imovirnist umovnogo perehodu skorish za vse bude vikonanij mozhlivo bude vikonanij mozhlivo ne bude vikonanij skorish za vse ne bude vikonanij ta onovlyuyetsya pislya kozhnogo perehodu PosilannyaDan Luu Branch Prediction Ce nezavershena stattya pro aparatne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2018