Barrel процесор являє собою процесор, який переключається між потоками виконання на кожному циклі. Цей метод проектування процесора також відомий як «чергувальна» або «дрібнозерниста» часова багатопотоковість. На відміну від одночасної багатопотоковості в сучасних суперскалярних архітектурах, дана технологія не дозволяє виконання декількох команд в одному циклі.
Як у витискальній багатозадачності, кожному потоку виконання присвоюється свій власний програмний лічильник і інші апаратні регістри (архітектурний стан кожного потоку). Barrel процесор може гарантувати, що кожен потік буде виконувати одну команду кожні n циклів, на відміну від машини з витискальною багатозадачністю, яка, як правило, запускає один потік виконання протягом сотень або тисяч циклів, в той час як всі інші потоки чекають своєї черги.
Техніка під назвою C-уповільнення може автоматично генерувати відповідну конструкцію процесора Barrel для однозадачної конструкції процесора. Процесор Barrel n-шляху згенерований таким чином, діє так само, як n окремих багатопроцесорних копій оригінального однозадачного процесора, кожен з яких працює приблизно на 1 / n від вихідної швидкості.
Історія
Цей розділ статті ще не написано. (серпень 2019) |
Переваги в порівнянні з однопотоковими процесорами
Однозадачний процесор витрачає багато часу на холостому ходу, не роблячи нічого корисного, кожен раз, коли відбувається промах кешу або застій конвеєра. Переваги використання процесорів Barrel у порівнянні з однозадачними процесорами включають в себе:
- Здатність виконувати корисну роботу над іншими потоками в той час як призупинений потік очікує.
- Проектування процесора Barrel n-шляхів з n-глибиною конвеєра набагато простіше, ніж проектування однозадачного процесора, оскільки Barrel процесор ніколи не має застою конвеєра і не потребує схем прямого зв'язку.
- Для додатків в реальному часі, Barrel процесор може гарантувати, що «в реальному часі» потік буде виконуватися з точним таймінгом, незалежно від того, що відбувається з іншими потоками, навіть якщо інший потік блокується в нескінченному циклі, або постійно переривається, через апаратні переривання.
Недоліки в порівнянні з однопотоковими процесорами
Є кілька недоліків Barrel процесорів.
- Стан кожного потоку повинен зберігатися на чипі (зазвичай в регістрах), щоб уникнути дорогих перемикань контексту поза кристалом. Для цього потрібна велика кількість регістрів, в порівнянні зі звичайними процесорами.
- Або всі потоки повинні розділяти один і той же кеш, який уповільнює загальну продуктивність системи, або повинен бути один блок кеш-пам'яті для кожного потоку виконання, що може значно збільшити число транзисторів (і, отже, вартість) такого процесора. (Проте, в режимі жорсткого реального часу у вбудованих системах, де Barrel процесори часто зустрічаються, вартість доступу до пам'яті, як правило, розрахована виходячи з припущення про найгіршу поведінку кешу, так що це незначне занепокоєння. Крім того, деякі Barrel процесори, такі як XMOS XS1, не мають кешу взагалі.)
Примітки
Посилання
- Soft peripherals Embedded.com article examines Ubicom's IP3023 processor
- An Evaluation of the Design of the Gamma 60 [Архівовано 30 липня 2012 у Wayback Machine.]
- Histoire et architecture du Gamma 60 [Архівовано 21 серпня 2013 у Wayback Machine.] (French and English)
- Методы увеличения вычислительной производительности [Архівовано 10 серпня 2019 у Wayback Machine.](рос.)
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення.
|