Реконфигурируемые вычисления - Reconfigurable computing

Реконфигурируемые вычисления это компьютерная архитектура сочетание гибкости программного обеспечения с высокой производительностью оборудования за счет обработки с очень гибкими высокоскоростными вычислительными структурами, такими как программируемые вентильные матрицы (ПЛИС). Принципиальная разница по сравнению с обычным микропроцессоры возможность вносить существенные изменения в путь к данным сам в дополнение к потоку управления. С другой стороны, главное отличие от кастомного железа, т.е. специализированные интегральные схемы (ASIC) - это возможность адаптировать оборудование во время выполнения путем «загрузки» новой схемы в реконфигурируемую структуру.

История

Концепция реконфигурируемых вычислений существует с 1960-х годов, когда Джеральд Эстрин В статье предложена концепция компьютера, состоящего из стандартного процессора и набора «реконфигурируемого» оборудования.[1][2] Главный процессор будет управлять поведением реконфигурируемого оборудования. Последний затем будет адаптирован для выполнения конкретной задачи, например обработка изображений или сопоставление с образцом, так же быстро, как выделенное оборудование. Как только задача была выполнена, оборудование можно было настроить для выполнения другой задачи. Это привело к созданию гибридной компьютерной структуры, сочетающей гибкость программного обеспечения со скоростью оборудования.

В 1980-х и 1990-х годах в этой области исследований наблюдалось возрождение, когда в промышленности и академических кругах было разработано множество предложенных реконфигурируемых архитектур.[3] такие как: Copacobana, Matrix, GARP,[4] Эликсент, NGEN,[5] Полип,[6] MereGen,[7] PACT XPP, Silicon Hive, Montium, Pleiades, Morphosys и PiCoGA.[8] Такие конструкции были возможны благодаря постоянному развитию кремниевых технологий, которые позволяли реализовать сложные конструкции на одном кристалле. Некоторые из этих массово-параллельных реконфигурируемых компьютеров были созданы в первую очередь для специальных субдоменов, таких как молекулярная эволюция, нейронная система или обработка изображений. Первый в мире коммерческий реконфигурируемый компьютер, Algotronix CHS2X4, был построен в 1991 году. Он не имел коммерческого успеха, но был достаточно многообещающим, чтобы Xilinx (изобретатель Программируемая вентильная матрица, FPGA) купил технологию и нанял персонал Algotronix.[9] Более поздние машины позволили впервые продемонстрировать научные принципы, такие как спонтанная пространственная самоорганизация генетического кодирования с помощью MereGen.[10]

Теории

Классификация Треденника

Таблица 1: Схема классификации парадигм Ника Треденника
Ранние исторические компьютеры:
 Источник программирования
Ресурсы исправленыникто
Исправлены алгоритмыникто
фон Неймана Компьютер:
 Источник программирования
Ресурсы исправленыникто
Переменная алгоритмовПрограммное обеспечение (потоки инструкций)
Реконфигурируемые вычислительные системы:
 Источник программирования
Переменная ресурсовConfigware (конфигурация)
Переменная алгоритмовFlowware (потоки данных)

Фундаментальная модель парадигмы реконфигурируемой вычислительной машины, основанная на потоке данных анти машина хорошо иллюстрируется отличиями от других машинных парадигм, которые были введены ранее, как показано Ник Треденник следующая схема классификации компьютерных парадигм (см. «Таблица 1: Схема классификации парадигм Ника Треденника»).[11]

Xputer Хартенштейна

Ученый-компьютерщик Райнер Хартенштейн описывает реконфигурируемые вычисления в терминах антимашина это, по его словам, представляет собой фундаментальный сдвиг парадигмы от более традиционных машина фон Неймана.[12] Хартенштейн называет это парадоксом реконфигурируемых вычислений, когда программное обеспечение-конфигурируемое ПО (ПО-FPGA ) миграция приводит к зарегистрированным факторам ускорения более чем на четыре порядка, а также к снижению потребления электроэнергии почти на четыре порядка, хотя технологические параметры ПЛИС отстают от Кривая Гордона Мура примерно на четыре порядка, а тактовая частота существенно ниже, чем у микропроцессоров. Этот парадокс частично объясняется Синдром фон Неймана.

Высокопроизводительные вычисления

Высокопроизводительные реконфигурируемые вычисления (HPRC) - это компьютерная архитектура сочетание реконфигурируемых вычислительных ускорителей, таких как программируемая вентильная матрица с процессорами или многоядерный процессоры.

Расширение логики в ПЛИС позволило программировать более крупные и сложные алгоритмы в ПЛИС. Присоединение такой ПЛИС к современному процессору по высокоскоростной шине, например PCI Express, позволил настраиваемой логике действовать больше как сопроцессор а не периферийный. Это принесло реконфигурируемые вычисления в высокопроизводительные вычисления сфера.

Более того, репликация алгоритма на ПЛИС или использование множества ПЛИС позволили реконфигурируемые SIMD системы, в которых несколько вычислительных устройств могут одновременно работать с разными данными, что очень важно. параллельные вычисления.

Этот метод гетерогенных систем используется в компьютерных исследованиях и особенно в суперкомпьютеры.[13]В документе 2008 года сообщалось о факторах ускорения более чем на 4 порядка и факторах экономии энергии почти на 4 порядка.[14]Некоторые суперкомпьютерные фирмы предлагают гетерогенные блоки обработки, включая ПЛИС в качестве ускорителей.[нужна цитата ]Одной из областей исследований является производительность потока инструментов программирования с двумя парадигмами, полученная для таких гетерогенных систем.[15]

Соединенные штаты Национальный фонд науки имеет центр высокопроизводительных реконфигурируемых вычислений (CHREC).[16]В апреле 2011 года в Европе прошла четвертая Конференция по многоядерным и реконфигурируемым суперкомпьютерам.[17]

Коммерческие высокопроизводительные реконфигурируемые вычислительные системы начинают появляться с анонсом IBM интеграция ПЛИС с ее МОЩНОСТЬ процессор.[18]

Частичная реконфигурация

Частичная реконфигурация это процесс изменения части реконфигурируемого оборудования схема в то время как другая часть сохраняет свою прежнюю конфигурацию. Программируемые вентильные матрицы часто используются в качестве поддержки частичной реконфигурации.

Электронное оборудование, подобно программного обеспечения, можно разрабатывать модульно, создавая подкомпоненты, а затем компоненты более высокого уровня для их создания. Во многих случаях полезно иметь возможность заменить один или несколько из этих подкомпонентов, пока FPGA все еще работает.

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

Типичным примером использования частичной реконфигурации является случай устройства связи. Если устройство контролирует несколько подключений, некоторые из которых требуют шифрование, было бы полезно иметь возможность загружать разные ядра шифрования без отключения всего контроллера.

Частичная реконфигурация поддерживается не всеми ПЛИС. Требуется специальный поток программного обеспечения с упором на модульную конструкцию. Обычно модули проектирования строятся по четко определенным границам внутри ПЛИС, что требует специального сопоставления проекта с внутренним оборудованием.

По функциональности конструкции частичную реконфигурацию можно разделить на две группы:[19]

  • динамическая частичная реконфигурация, также известное как активная частичная реконфигурация - позволяет изменить часть устройства, пока остальная часть FPGA все еще работает;
  • статическая частичная реконфигурация - устройство неактивно в процессе перенастройки. В то время как частичные данные отправляются в FPGA, остальная часть устройства останавливается (в режиме выключения) и запускается после завершения настройки.

Текущие системы

Эмуляция компьютера

Плата FPGA используется для воссоздания компьютера Vector-06C

С появлением доступных плат FPGA проекты студентов и любителей стремятся воссоздать старые компьютеры или реализовать более новые архитектуры.[20][21][22] Такие проекты создаются с использованием реконфигурируемого оборудования (ПЛИС), а некоторые устройства поддерживают эмуляцию нескольких старых компьютеров с использованием одного реконфигурируемого оборудования (C-One ).

КОПАКОБАНА

Компьютер, полностью основанный на ПЛИС, - это COPACOBANA, оптимизированный по стоимости взломщик кода и анализатор и его преемник RIVYERA. Дочерняя компания SciEngines GmbH проекта COPACOBANA университетов Бохума и Киля в Германии продолжает разработку компьютеров, полностью основанных на ПЛИС.

Митрионика

Митрионика разработал SDK, который позволяет писать программы с использованием разовое задание язык для компиляции и выполнения на компьютерах на базе FPGA. Программный язык Mitrion-C и процессор Mitrion позволяют разработчикам программного обеспечения писать и выполнять приложения на компьютерах на базе FPGA таким же образом, как и с другими вычислительными технологиями, такими как графические процессоры («GPU»), процессоры на основе ячеек, параллельная обработка. единиц («PPU»), многоядерных ЦП и традиционных одноядерных кластеров ЦП. (из бизнеса)

Национальные инструменты

Национальные инструменты разработали гибридную встроенную вычислительную систему под названием CompactRIO. Он состоит из реконфигурируемого шасси, в котором размещается программируемая пользователем ПЛИС, модули ввода-вывода с возможностью горячей замены, контроллер реального времени для детерминированной связи и обработки, а также графическое программное обеспечение LabVIEW для быстрого программирования в реальном времени и на ПЛИС.

Xilinx

Xilinx разработал два стиля частичной реконфигурации устройств FPGA: модульный и основанный на различиях. Частичная реконфигурация на основе модулей позволяет изменять конфигурацию отдельных модульных частей конструкции, в то время как частичная реконфигурация на основе различий может использоваться, когда в дизайн вносятся небольшие изменения.

Intel

Intel[23] поддерживает частичную реконфигурацию своих устройств FPGA на 28-нм устройствах, таких как Stratix V,[24] и на 20 нм устройствах Arria 10.[25] Процесс частичной реконфигурации Intel FPGA для Arria 10 основан на методологии иерархического проектирования в программном обеспечении Quartus Prime Pro, где пользователи создают физические разделы FPGA, которые можно перенастроить.[26] во время выполнения, в то время как остальная часть проекта продолжает работать. Программное обеспечение Quartus Prime Pro также поддерживает иерархическую частичную реконфигурацию и моделирование частичной реконфигурации.

Классификация систем

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

Гранулярность

Гранулярность реконфигурируемой логики определяется как размер наименьшего функционального блока (настраиваемого логического блока, CLB), к которому обращаются инструменты отображения. Высокая степень детализации, которую также называют мелкой детализацией, часто подразумевает большую гибкость при внедрении алгоритмов в оборудование. Однако с этим связан штраф в виде увеличенной мощности, площади и задержки из-за большего количества маршрутов, требуемых на одно вычисление. Мелкозернистые архитектуры работают на уровне манипуляции на битовом уровне; в то время как элементы крупнозернистой обработки (реконфигурируемый блок передачи данных, rDPU) лучше оптимизированы для приложений стандартного тракта данных. Одним из недостатков крупнозернистых архитектур является то, что они имеют тенденцию терять часть своего использования и производительности, если им нужно выполнять меньшие вычисления, чем обеспечивает их гранулярность, например, для добавления одного бита к функциональному блоку шириной четыре бита будет потрачено три бита. . Эту проблему можно решить, имея крупнозернистый массив (реконфигурируемый массив каналов данных, rDPA) и a FPGA на том же чипе.

Крупнозернистые архитектуры (rDPA ) предназначены для реализации алгоритмов, которым требуются тракты данных шириной слова (rDPU). Поскольку их функциональные блоки оптимизированы для больших вычислений и обычно включают в себя арифметико-логические устройства (ALU), они будут выполнять эти вычисления быстрее и с большей энергоэффективностью, чем набор связанных между собой более мелких функциональных блоков; это происходит из-за того, что соединительные провода короче, что приводит к меньшей емкости проводов и, следовательно, более быстрым конструкциям с меньшим энергопотреблением. Потенциальным нежелательным следствием наличия больших вычислительных блоков является то, что, когда размер операндов может не соответствовать алгоритму, может произойти неэффективное использование ресурсов. Часто тип запускаемых приложений известен заранее, что позволяет адаптировать логику, память и ресурсы маршрутизации для повышения производительности устройства, при этом обеспечивая определенный уровень гибкости для будущей адаптации. Примерами этого являются массивы для конкретных предметных областей, нацеленные на получение более высокой производительности с точки зрения мощности, площади и пропускной способности, чем их более общие более мелкозернистые FPGA двоюродных братьев за счет уменьшения их гибкости.

Скорость реконфигурации

Конфигурация этих реконфигурируемых систем может происходить во время развертывания, между этапами выполнения или во время выполнения. В типичной реконфигурируемой системе битовый поток используется для программирования устройства во время развертывания. Мелкозернистые системы по своей природе требуют большего времени на настройку, чем более крупнозернистые архитектуры, из-за того, что необходимо адресовать и программировать больше элементов. Следовательно, более крупнозернистые архитектуры выигрывают от потенциально более низких требований к энергии, поскольку меньше информации передается и используется. Интуитивно понятно, что чем медленнее скорость реконфигурации, тем меньше потребление энергии, так как связанные с этим затраты энергии на реконфигурацию амортизируются в течение более длительного периода времени. Частичная переконфигурация позволяет перепрограммировать часть устройства, в то время как другая часть все еще выполняет активные вычисления. Частичная реконфигурация позволяет уменьшить реконфигурируемые потоки битов, таким образом не тратя энергию на передачу избыточной информации в потоке битов. Сжатие битового потока возможно, но необходимо провести тщательный анализ, чтобы гарантировать, что энергия, сэкономленная за счет использования меньших битовых потоков, не перевешивается вычислениями, необходимыми для распаковки данных.

Связь с хостом

Часто реконфигурируемый массив используется в качестве ускорителя обработки, подключенного к главному процессору. Уровень связи определяет тип передачи данных, задержку, мощность, пропускную способность и накладные расходы, связанные с использованием реконфигурируемой логики. Некоторые из наиболее интуитивно понятных схем используют периферийную шину для обеспечения компоновки реконфигурируемого массива, подобной сопроцессору. Однако также были реализации, в которых реконфигурируемая матрица намного ближе к процессору, некоторые даже реализованы в тракте данных с использованием регистров процессора. Задача главного процессора - выполнять функции управления, настраивать логику, планировать данные и обеспечивать внешний интерфейс.

Маршрутизация / межсоединения

Гибкость реконфигурируемых устройств в основном обусловлена ​​их маршрутизацией. Один стиль межсоединений стал популярным благодаря ПЛИС Поставщики Xilinx и Altera - это макет островного типа, где блоки расположены в массив с вертикальной и горизонтальной маршрутизацией. Макет с неадекватной маршрутизацией может страдать от плохой гибкости и использования ресурсов, что приводит к ограниченной производительности. Если предусмотрено слишком много межсоединений, потребуется больше транзисторов, чем необходимо, и, следовательно, большая площадь кремния, более длинные провода и большее энергопотребление.

Проблемы для операционных систем

Одна из ключевых задач реконфигурируемых вычислений - обеспечить более высокую продуктивность проектирования и предоставить более простой способ использования реконфигурируемых вычислительных систем для пользователей, которые не знакомы с основными концепциями. Один из способов сделать это - обеспечить стандартизацию и абстракцию, которые обычно поддерживаются и применяются операционной системой.[27]

Одна из основных задач операционной системы - скрыть оборудование и представить программы (и их программистов) красивыми, чистыми, элегантными и последовательными абстракциями для работы. Другими словами, две основные задачи операционной системы - это абстракция и управление ресурсами.[27]

Абстракция - это мощный механизм для решения сложных и различных (аппаратных) задач четко определенным и общим образом. Одна из самых элементарных абстракций ОС - это процесс. Процесс - это запущенное приложение, у которого есть ощущение (обеспечиваемое ОС), что оно выполняется самостоятельно на базовом виртуальном оборудовании. Это можно смягчить за счет концепции потоков, позволяющих одновременно запускать различные задачи на этом виртуальном оборудовании для использования параллелизма на уровне задач. Чтобы позволить различным процессам и потокам координировать свою работу, операционная система должна обеспечивать методы связи и синхронизации.[27]

В дополнение к абстракции необходимо управление ресурсами базовых аппаратных компонентов, поскольку виртуальные компьютеры, предоставляемые процессам и потокам операционной системой, должны совместно использовать доступные физические ресурсы (процессоры, память и устройства) пространственно и временно.[27]

Смотрите также

Рекомендации

  1. ^ Эстрин, G (2002). "Происхождение реконфигурируемых компьютеров: компьютер со структурой фиксированного и переменного (F + V) UCLA". IEEE Ann. Hist. Вычислить. 24 (4): 3–9. Дои:10.1109 / MAHC.2002.1114865.
  2. ^ Эстрин, Г., "Организация компьютерных систем - компьютер с фиксированной плюс переменной структурой",Proc. Западная совместная компьютерная конф., Western Joint Computer Conference, Нью-Йорк, 1960, стр. 33–40.
  3. ^ К. Бобда: Введение в реконфигурируемые вычисления: архитектуры; Springer, 2007 г.
  4. ^ Хаузер, Джон Р. и Вавжинек, Джон, "Гарп: процессор MIPS с реконфигурируемым сопроцессором",Материалы симпозиума IEEE по программируемым пользовательским вычислительным машинам(FCCM '97, 16–18 апреля 1997 г.), стр. 24–33.
  5. ^ Маккаскилл, Джон С .; Чоронгевский, Харальд; Мекельбург, Карстен; Танген, Уве; Гемм, Удо (1994-09-01). «NGEN - Конфигурируемое компьютерное оборудование для моделирования длительной самоорганизации биополимеров». Berichte der Bunsengesellschaft für Physikalische Chemie. 98 (9): 1114. Дои:10.1002 / bbpc.19940980906. ISSN  0005-9021.
  6. ^ Эволюционирующие системы: от биологии к оборудованию: вторая международная конференция, ICES 98, Лозанна, Швейцария, 23-25 ​​сентября 1998 г .: материалы. Сиппер, Моше., Манже, Даниэль, 1940-, Перес-Урибе, Андрес, Международная конференция по эволюционирующим системам (2: 1998: Лозанна, Швейцария). Берлин: Springer. 1998 г. ISBN  978-3540649540. OCLC  39655211.CS1 maint: другие (ссылка на сайт)
  7. ^ Сочетание биологических и электронных систем: материалы 2-го Цезария, Бонн, 1-3 ноября 2000 г.. Хоффманн, К.-Х. (Карл-Хайнц). Берлин: Springer. 2002 г. ISBN  978-3540436997. OCLC  49750250.CS1 maint: другие (ссылка на сайт)
  8. ^ Кампи, Ф .; Тома, М .; Лоди, А .; Cappelli, A .; Canegallo, R .; Герриери, Р., "Процессор VLIW с реконфигурируемым набором инструкций для встроенных приложений", Конференция по твердотельным схемам, 2003 г. Дайджест технических документов. ISSCC. 2003 IEEE International, vol., No., Pp. 250–491 vol. 1, 2003 г.
  9. ^ История Альготроникса
  10. ^ Füchslin, Rudolf M .; Маккаскилл, Джон С. (31.07.2001). «Эволюционная самоорганизация внеклеточного генетического кодирования». Труды Национальной академии наук. 98 (16): 9185–9190. Дои:10.1073 / pnas.151253198. ISSN  0027-8424. ЧВК  55395. PMID  11470896.
  11. ^ Н. Треденник: аргументы в пользу реконфигурируемых вычислений; Отчет о микропроцессоре, Vol. 10 № 10, 5 августа 1996 г., стр. 25–27.
  12. ^ Хартенштейн, Р. 2001. Десятилетие реконфигурируемых вычислений: дальновидная ретроспектива. В Материалы конференции по проектированию, автоматизации и тестированию в Европе (ДАТА 2001 г.) (Мюнхен, Германия). W. Nebel и A. Jerraya, Eds. Дизайн, автоматизация и испытания в Европе. IEEE Press, Пискатауэй, Нью-Джерси, 642–649.
  13. ^ Н. Ворос, Р. Николаос, А. Рости, М. Хюбнер (редакторы): Реконфигурация динамической системы в гетерогенных платформах - подход MORPHEUS; Springer Verlag, 2009 г.
  14. ^ Тарек Эль-Газави и др. (Февраль 2008 г.). «Обещание высокопроизводительных реконфигурируемых вычислений». IEEE Computer. 41 (2): 69–76. CiteSeerX  10.1.1.208.4031. Дои:10.1109 / MC.2008.65.CS1 maint: использует параметр авторов (ссылка на сайт)
  15. ^ Эсам эль-Араби; Иван Гонсалес; Тарек Эль-Газави (январь 2009 г.). «Использование частичной реконфигурации времени выполнения для высокопроизводительных реконфигурируемых вычислений». Транзакции ACM по реконфигурируемым технологиям и системам. 1 (4): 1–23. Дои:10.1145/1462586.1462590.
  16. ^ «Центр NSF для высокопроизводительных реконфигурируемых вычислений». Официальный веб-сайт. Получено 19 августа, 2011.
  17. ^ «Конференция по многоядерным и реконфигурируемым суперкомпьютерам». Официальный веб-сайт. 2011. Архивировано с оригинал 12 октября 2010 г.. Получено 19 августа, 2011.
  18. ^ "Altera и IBM представляют системы питания с ускорением на базе FPGA". HPCwire. 2014-11-17. Получено 2014-12-14.
  19. ^ Вишневский, Ремигиуш (2009). Синтез композиционных микропрограммных блоков управления программируемыми устройствами.. Зелена-Гура: Зелена-Гурский университет. п. 153. ISBN  978-83-7481-293-1.
  20. ^ "Apple2 FPGA". Получено 6 сен 2012.
  21. ^ Никлаус Вирт. «Проектирование архитектуры RISC и ее реализация на ПЛИС» (PDF). Получено 6 сен 2012.[мертвая ссылка ]
  22. ^ Ян Грей. «Разработка простого RISC-процессора, оптимизированного для FPGA, и системы на кристалле» (PDF). Получено 6 сен 2012.
  23. ^ «Intel завершает сделку по приобретению Altera». Получено 15 ноября 2016.
  24. ^ «ПЛИС Stratix V: максимальная гибкость за счет частичной и динамической реконфигурации». Получено 15 ноября 2016.
  25. ^ «Инструменты и функции программного обеспечения Intel Quartus Prime для повышения производительности». Получено 15 ноября 2016.
  26. ^ «Руководство по Quartus Prime Standard Edition, том 1: Дизайн и синтез» (PDF). Intel. стр. 4–1. Получено 15 ноября 2016.
  27. ^ а б c d Эккерт, Марсель; Мейер, Доминик; Хаасе, Ян; Клауэр, Бернд (30 ноября 2016 г.). «Концепции операционных систем для реконфигурируемых вычислений: обзор и обзор». Международный журнал реконфигурируемых вычислений. 2016: 1–11. Дои:10.1155/2016/2478907. ISSN  1687-7195. CC-BY icon.svg Эта статья содержит цитаты из этого источника, который доступен под Creative Commons Attribution 4.0 International (CC BY 4.0) лицензия.

дальнейшее чтение

  • Cardoso, João M. P .; Хюбнер, Михаэль (ред.), Реконфигурируемые вычисления: от ПЛИС до аппаратного / программного обеспечения, Springer, 2011.
  • С. Хаук и А. ДеХон, Реконфигурируемые вычисления: теория и практика вычислений на основе FPGA, Морган Кауфманн, 2008.
  • Дж. Хенкель, С. Парамесваран (редакторы): Разработка встроенных процессоров. Перспектива малой мощности; Springer Verlag, март 2007 г.
  • Дж. Тейч (редактор) и др .: Реконфигурируемые вычислительные системы. Тематический выпуск журнала it - Информационные технологии, Oldenbourg Verlag, Мюнхен. Vol. 49 (2007) Выпуск 3
  • T.J. Тодман, Г.А. Константинидес, S.J.E. Уилтон, О. Менсер, В. Лук и П.Я.К. Чунг, «Реконфигурируемые вычисления: архитектуры и методы проектирования», Протоколы IEEE: Компьютерные и цифровые методы, Vol. 152, № 2, март 2005 г., стр. 193–208.
  • А. Зомая (редактор): Справочник по естественным и инновационным вычислениям: интеграция классических моделей с новыми технологиями; Springer Verlag, 2006 г.
  • Дж. М. Арнольд и Д. А. Буэлл, «Программирование VHDL на Splash 2», в More FPGA, Уилл Мур и Уэйн Лук, редакторы, Abingdon EE & CS Books, Оксфорд, Англия, 1994, стр. 182–191. (Материалы, Международный семинар по программируемой логике, Оксфорд, 1993.)
  • Дж. М. Арнольд, Д. А. Буэлл, Д. Хоанг, Д. В. Прайор, Н. Ширази, М. Р. Тистл, «Splash 2 и его приложения», Труды Международной конференции по компьютерному дизайну, Кембридж, 1993, стр. 482–486.
  • Д. А. Буэлл и Кеннет Л. Почек, "Пользовательские вычислительные машины: введение", Журнал суперкомпьютеров, v. 9, 1995, pp. 219–230.

внешняя ссылка