Barrel processor
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.](рос.)
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення.
|
- п
- о
- р
- Конвеєр команд
- Bubble
- Operand forwarding[en]
- Позачергове виконання
- Спекулятивне виконання
- Модуль передбачення переходів
- Memory dependence prediction[en]
- Конфлікти в конвеєрі
- Процесор цифрових сигналів (DSP)
- GPGPU
- Мікроконтролер
- Фізичний процесор
- Система на кристалі (SoC)
- Секційний процесор
- Barrel processor
- Cellular[en]
- Блок генерації адреси (AGU)
- Арифметико-логічний пристрій (ALU)
- Barrel shifter
- Функціональний блок (EU)
- Математичний співпроцесор (FPU)
- Back-side bus
- (Мультиплексор)
- Регістри
- Модуль керування пам'яттю (MMU)
- Буфер асоціативної трансляції (TLB)
- Кеш
- Регістровий файл
- Мікрокод
- Пристрій керування
- Тактова частота
- APM
- ACPI
- Динамічна зміна частоти[en]
- Динамічна зміна напруги[en]
- Clock gating
|