ЦП

редактировать

A ЦП - это ЦП, который переключается между потоками выполнения каждый цикл. Этот метод проектирования ЦП также известен как «чередование» или «мелкозернистая» временная многопоточность. В отличие от одновременной многопоточности в современных суперскалярных архитектурах, он обычно не позволяет выполнять несколько инструкций за один цикл.

Подобно вытесняющей многозадачности, каждому потоку выполнения назначается собственный счетчик программ и другие аппаратные регистры (архитектурное состояние каждого потока ). Бочкообразный процессор может гарантировать, что каждый поток будет выполнять одну инструкцию каждые n циклов, в отличие от машины с вытесняющей многозадачностью, которая обычно выполняет один поток выполнения в течение десятков миллионов циклов, в то время как все остальные потоки ждут своей очереди.

Метод, называемый C-замедление, может автоматически генерировать соответствующий проект цилиндрического процессора из дизайна однозадачного процессора. Сгенерированный таким образом n-образный процессор работает примерно так же, как n отдельных многопроцессорных копий исходного однозадачного процессора, каждая из которых работает примерно на 1/4 исходной скорости.

Содержание
  • 1 История
  • 2 Сравнение с однопоточными процессорами
    • 2.1 Преимущества
    • 2.2 Недостатки
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
История

Один из Самым ранним примером цилиндрического процессора была система обработки ввода-вывода в суперкомпьютерах CDC 6000 series. Они выполнили одну инструкцию (или часть инструкции) от каждого из 10 различных виртуальных процессоров (называемых периферийными процессорами) перед тем, как вернуться к первому процессору.

Одним из мотивов создания цилиндрических процессоров было то, чтобы снизить затраты на оборудование. В случае PPU CDC 6x00 цифровая логика процессора была намного быстрее, чем основная память, поэтому вместо десяти отдельных процессоров для PPU используется десять отдельных основных блоков памяти, но все они используют один набор логика процессора.

Другим примером является Honeywell 800, у которого было 8 групп регистров, позволяющих выполнять до 8 параллельных программ. После каждой инструкции процессор (в большинстве случаев) переключался на следующую активную программу в последовательности.

Процессоры Barrel также использовались в качестве крупных центральных процессоров. Tera MTA (1988) представлял собой крупномасштабный цилиндрический процессор со 128 потоками на ядро. Архитектура MTA постоянно развивается в последующих продуктах, таких как Cray Urika-GD, первоначально представленный в 2012 году (как YarcData uRiKA) и предназначенный для приложений интеллектуального анализа данных.

Barrel Процессоры также встречаются во встроенных системах, где они особенно полезны благодаря своей детерминированной производительности потоков в реальном времени. Примером может служить XMOS XCore XS1 (2007), четырехступенчатый цилиндрический процессор с восемью потоками на ядро. XS1 используется в устройствах Ethernet, USB, аудио и управления, а также в других приложениях, где производительность ввода-вывода имеет решающее значение. Процессоры Barrel также использовались в специализированных устройствах, таких как восьмипоточный процессор ввода-вывода Ubicom IP3023 с восемью потоками (2004). Некоторые 8-битные микроконтроллеры в виде процессоров с цилиндрическими функциями, до 8 потоков на ядро.

Сравнение с однопоточными процессорами

Преимущества

Однозадачный процессор много времени бездействует, не делая ничего полезного, когда промах в кэше или происходит остановка конвейера. Преимущества использования цилиндрических процессоров перед однозадачными процессорами включают:

Недостатки

У барреля есть несколько недостатков процессоры.

  • Состояние каждого потока должно храниться на кристалле, обычно в регистрах, чтобы избежать дорогостоящих переключений контекста вне кристалла. Для этого требуется большое количество регистров по сравнению с обычными процессорами.
  • Либо все потоки должны использовать один и тот же кеш, что снижает общую производительность системы, либо для каждого выполнения должна быть одна единица кеша поток, который может значительно увеличить количество транзисторов и, следовательно, стоимость такого процессора. Однако в встраиваемых системах жесткого реального времени , где часто встречаются цилиндрические процессоры, затраты на доступ к памяти обычно рассчитываются с учетом наихудшего поведения кэша, поэтому это несущественная проблема. Некоторые процессоры-цилиндры, такие как XMOS XS1, вообще не имеют кеша.
См. Также
Ссылки
  1. ^Компьютерные системы CDC Cyber ​​170; Модели 720, 730, 750 и 760; Модель 176 (уровень В); Набор инструкций процессора; Набор команд PPU - См. Стр. 2-44 для иллюстрации вращающегося «цилиндра».
  2. ^Справочное руководство программистов Honeywell 800 (PDF). 1960. с. 17.
  3. ^«Архивная копия». Архивировано с оригинального 22 февраля 2012 года. Проверено 11 августа 2012 г. CS1 maint: заархивированная копия как заголовок (ссылка )
  4. ^«Архивная копия». Заархивировано из оригинала 12 июля 2014 г. Проверено 19 августа 2014 г. CS1 maint: заархивированная копия как заголовок (ссылка )
  5. ^«Подразделение Cray YarcData запускает новое устройство для работы с графиком больших данных» (пресс-релиз). Сиэтл, Вашингтон, Санта-Клара, CA: Cray Inc., 29 февраля 2012 г. Проверено 24 августа 2017 г.
Внешние ссылки
Последняя правка сделана 2021-05-11 13:05:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте