Однородные вычислительные системы
Moderator: Shaos
-
- Writer
- Posts: 19
- Joined: 06 Sep 2007 07:05
- Location: 212.26.238.228
Однородные вычислительные системы
Технология дошла до последнего витка - 14 нм. Дальше пути "влоб" нет. Предлагаю сосредоточиться на давно забытом направлении - однородных вычислительных системах, которые могут дать и больше скорость, и меньше потребление.
По сути надо выделять задачам не время процессора, а площадь. Сейчас новые ПЛИС могут дать до 2 млн ЛЕ и уже прошиваются по частям (у Altera). Программы надо писать на верилоге.
Чтобы не потерять готовый софт, можно даже автоматически (но неэффективно) переводить код из Си на Verilog. Простейший способ - функции преобразовать в модули, размножать функции, которые вызывают из многих мест, а внутри функции пронумеровать каждую строчку и сделать case со счётчиком.
Грамотнее, разумеется, каждую простейшую вычислительную операцию (выделяемую при компиляции как триада) преобразовывать в строку верилога с учётом флагов готовности операндов, и операция должна генерировать флаг готовности своего результата.
Кто-то должен этим заняться. Как я понял, большим фирмам пофиг. С чего начать? Для начала разбираться, как работать с этой перепрошивкой по частям.
Жаль, что из меня плохой железячник. Только идей лопата^Wпалата.
По сути надо выделять задачам не время процессора, а площадь. Сейчас новые ПЛИС могут дать до 2 млн ЛЕ и уже прошиваются по частям (у Altera). Программы надо писать на верилоге.
Чтобы не потерять готовый софт, можно даже автоматически (но неэффективно) переводить код из Си на Verilog. Простейший способ - функции преобразовать в модули, размножать функции, которые вызывают из многих мест, а внутри функции пронумеровать каждую строчку и сделать case со счётчиком.
Грамотнее, разумеется, каждую простейшую вычислительную операцию (выделяемую при компиляции как триада) преобразовывать в строку верилога с учётом флагов готовности операндов, и операция должна генерировать флаг готовности своего результата.
Кто-то должен этим заняться. Как я понял, большим фирмам пофиг. С чего начать? Для начала разбираться, как работать с этой перепрошивкой по частям.
Жаль, что из меня плохой железячник. Только идей лопата^Wпалата.
-
- Retired
- Posts: 587
- Joined: 27 Mar 2013 04:55
- Location: 62.192.229.16
-
- Writer
- Posts: 19
- Joined: 06 Sep 2007 07:05
- Location: 212.26.238.228
Конверторы даже уже написаны: http://en.wikipedia.org/wiki/C_to_HDL
По сути надо написать планировщик задач, потом целую операционную систему и постепенно добавлять загружаемый софт. Насколько мне известно, эти задачи ещё не решены, но кто-то должен их решить первым.
На самом деле: зачем вообще поток команд? Вся схема решения задачи вместе со статическими переменными и массивами (за исключением динамических) должна лежать в самом процессоре. Обращения к внешней памяти и системные вызовы должны проходить через арбитр.
По сути надо написать планировщик задач, потом целую операционную систему и постепенно добавлять загружаемый софт. Насколько мне известно, эти задачи ещё не решены, но кто-то должен их решить первым.
На самом деле: зачем вообще поток команд? Вся схема решения задачи вместе со статическими переменными и массивами (за исключением динамических) должна лежать в самом процессоре. Обращения к внешней памяти и системные вызовы должны проходить через арбитр.
-
- Writer
- Posts: 19
- Joined: 06 Sep 2007 07:05
- Location: 212.26.238.228
У соседей другие темы и другие люди.
http://en.wikipedia.org/wiki/High-perfo ... _computing - там один сайт сдох, другой пустой. Интересно узнать наработки...
http://en.wikipedia.org/wiki/High-perfo ... _computing - там один сайт сдох, другой пустой. Интересно узнать наработки...
-
- Writer
- Posts: 19
- Joined: 06 Sep 2007 07:05
- Location: 212.26.238.228
Самая дешёвая плисина с частичной реконфигурацией стоит $37.76 - 5CEBA2F23C8N (IC CYCLONE V E FPGA 484FBGA). Реконфигурируемые области можно задавать: http://www.altera.com/devices/fpga/stra ... onfig.html
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
реконфигурируемые области это типа частично подливать прошивки?
у xilinx это тоже появилось недавно
это не интересно т.к. требует конкретного чипа и конкретной версии софта от производителя чипов
на FPGA ведь есть распределённое ОЗУ (причём двухпортовое), есть мультиплексоры-демультиплексоры - поверх этого хозяйства можно построить свою высокоуровневую конфигурируемость, независящую от прозводителя чипов...
P.S. См. Open Architecture FPGA
у xilinx это тоже появилось недавно
это не интересно т.к. требует конкретного чипа и конкретной версии софта от производителя чипов
на FPGA ведь есть распределённое ОЗУ (причём двухпортовое), есть мультиплексоры-демультиплексоры - поверх этого хозяйства можно построить свою высокоуровневую конфигурируемость, независящую от прозводителя чипов...
P.S. См. Open Architecture FPGA
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
У нас тут кто-то даже делал имитацию сего на дискретах. Помните синхрогенератор для компьютера с дешифратором на основе ОЗУ? Процессор сам мог программировать его. С другой стороны, обычное SRAM-based FPGA + навесной проц (или внутренний, как у некоторых моделей Cyclone V) = дают реконфигурируемую систему. У нас такая в дендекартридже.
-
- Devil
- Posts: 905
- Joined: 26 May 2003 06:57
Речь о том, чтобы отказаться от процессора, а программы реализовывать в виде частичной конфигурации FPGA. Нужен стандарт на конфигурирование произвольных частей FPGA, иначе опять будет "кто в лес, кто по дрова".HardWareMan wrote:обычное SRAM-based FPGA + навесной проц
В том-то и проблема, что ОЗУ для конфигурирования - это такое-же узкое место, как и процессор. Вся мощь параллельной работы убьётся таким вот узким местом.Shaos wrote:на FPGA ведь есть распределённое ОЗУ
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
ну оно ведь распределённоеb2m wrote:В том-то и проблема, что ОЗУ для конфигурирования - это такое-же узкое место, как и процессор. Вся мощь параллельной работы убьётся таким вот узким местом.Shaos wrote:на FPGA ведь есть распределённое ОЗУ

т.е. это много маленьких озушек раскиданных по камню...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Devil
- Posts: 905
- Joined: 26 May 2003 06:57
Тут скорее подошёл бы некий симбиоз ОЗУ и процессора. Т.е. чтобы мы для каждой ячейки могли бы задавать некую функцию, зависящую от байтов/слов по соседству. Сколько ячеек, столько и простейших процессоров.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Навесной процессор имелся в виду именно для конфигурирования FPGA, а не для исполнения задач. Там в теории можно навесить CPLD с единственной функцией: брать конфу из ПЗУ (если старт холодный) или ОЗУ (если старт теплый или реконфиг). Само ОЗУ заполняет задача, которой требуется изменение конфигурации. Разве это сложно реализовать?b2m wrote:Речь о том, чтобы отказаться от процессора, а программы реализовывать в виде частичной конфигурации FPGA. Нужен стандарт на конфигурирование произвольных частей FPGA, иначе опять будет "кто в лес, кто по дрова".HardWareMan wrote:обычное SRAM-based FPGA + навесной проц
-
- Devil
- Posts: 905
- Joined: 26 May 2003 06:57
Несложно, но хочется чтобы FPGA могла сама себя частично переконфигурировать, т.е. загрузить программу. Можно, конечно, сделать пару десятков FPGA, а одной из них дать возможность конфигурировать другие, так сказать отвести ей роль ядра ОС. Но всё равно, заливать конфу надо будет полностью, одна программа - одна микросхема.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
http://bashkiria-2m.narod.ru/
-
- Retired
- Posts: 1328
- Joined: 25 Jul 2011 00:14
- Location: WWW
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
а зачем заливать через процессор, если FPGA из внешней памяти без всяких процов умеет заливаться?HardWareMan wrote:Навесной процессор имелся в виду именно для конфигурирования FPGA, а не для исполнения задач. Там в теории можно навесить CPLD с единственной функцией: брать конфу из ПЗУ (если старт холодный) или ОЗУ (если старт теплый или реконфиг). Само ОЗУ заполняет задача, которой требуется изменение конфигурации. Разве это сложно реализовать?b2m wrote:Речь о том, чтобы отказаться от процессора, а программы реализовывать в виде частичной конфигурации FPGA. Нужен стандарт на конфигурирование произвольных частей FPGA, иначе опять будет "кто в лес, кто по дрова".HardWareMan wrote:обычное SRAM-based FPGA + навесной проц

Я тут за главного - если что шлите мыло на me собака shaos точка net