Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Барабанный процессор

Из Википедии — свободной энциклопедии

Barrel процессор, барабанный процессор, представляет собой процессор, который после каждого такта переключается между потоками команд. Эта архитектура процессора также известна как «interleaved» (чередующаяся) или «fine-grained» (мелкозернистая) временная многопоточность. В отличие от одновременной многопоточности в современных суперскалярных архитектурах, данная технология не позволяет выполнять несколько команд за один цикл.

Как и при вытесняющей многозадачности, каждому потоку выполнения присваивается свой собственный программный счётчик и другие аппаратные регистры для сохранения контекста каждого потока. Barrel процессор может гарантировать, что каждый поток будет выполняться через каждые n циклов, в отличие от процессора с вытесняющей многозадачностью, который, как правило, запускает один поток выполнения в течение сотен или тысяч циклов, в то время как все остальные потоки ждут своей очереди.

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

История

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

Барабанные процессоры также могут быть использованы в качестве центральных процессоров в больших системах. Например, Tera MTA[en] (1988) имел Barrel процессор со 128 потоками на ядро.[2][3] MTA-архитектура получила дальнейшее развитие в последующих продуктах, таких как YarcData uRiKA, представленные в 2012 году они ориентированы на приложения для интеллектуального анализа данных.[4]

Barrel процессоры могут быть использованы для снижения затрат на железо. Микрокод Xerox Alto исполнялся на barrel процессоре, который реализовывал два центральных процессора, видеоконтроллер, контроллер Ethernet, контроллер диска, а также другие устройства ввода/вывода.[5]

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

Преимущества перед однопоточными процессорами

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

  • Способность выполнять полезную работу других потоков, в то время как приостановленный поток ожидает.
  • Проектирование n-поточного Barrel процессора с длинной конвейера n гораздо проще, чем проектирование однозадачного процессора, поскольку у barrel процессора простой конвейера минимален и не требует создания схем упреждающего чтения (не нуждается в предсказаниях переходов).
  • Для приложений реального времени barrel процессор может гарантировать, что «в реальном времени» поток будет выполняться с точным таймингом, независимо от того, что происходит с другими потоками, даже если другой поток блокируется в бесконечном цикле или постоянно прерывается через аппаратные прерывания.

Недостатки по сравнению с однопоточными процессорами

Есть несколько недостатков barrel процессоров.

  • Состояние каждого потока должно храниться на чипе (обычно в регистрах), чтобы избежать дорогостоящих переключений контекста вне кристалла. Для этого требуется большее количество регистров, по сравнению с обычными процессорами.
  • Если все потоки будут разделять один и тот же кэш, то это уменьшит общую производительность системы. Чтобы этого избежать, лучше разделить кэш-памяти на блоки под каждый поток отдельно, но это может значительно увеличить число транзисторов (и, следовательно, стоимость) такого процессора. (Однако, в режиме жёсткого реального времени во встраиваемых системах, где barrel процессоры встречаются чаще, стоимость доступа к памяти, как правило, рассчитана исходя из предположения о худшем промахе мимо кэша, так что это незначительная проблема. Кроме того, некоторые barrel процессоры, такие как XMOS XS1, не имеют кэша вообще.)

Примечания

  1. CDC Cyber 170 Computer Systems; Models 720, 730, 750, and 760; Model 176 (Level B); CPU Instruction Set; PPU Instruction Set Архивная копия от 3 марта 2016 на Wayback Machine — См. страницы 2-44 с иллюстрациями чередования «барабана».
  2. アーカイブされたコピー. Дата обращения: 11 августа 2012. Архивировано 22 февраля 2012 года.
  3. History: Seymour Cray & Cray Research to Cray Inc. | Cray Архивировано 12 июля 2014 года.
  4. Computing Solutions for Big Data Analytics | Cray Архивировано 9 августа 2012 года.
  5. PARC, Xerox Alto Hardware Manual. BitSevers. Дата обращения: 11 октября 2016. Архивировано 4 сентября 2017 года.

Ссылки

Эта страница в последний раз была отредактирована 5 июня 2022 в 03:37.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).