Архитектура потоковой супер ЭВМ, построенной на принципах схемной эмуляции
Статья - Компьютеры, программирование
Другие статьи по предмету Компьютеры, программирование
" и не имеет ни малейшего отношения к реальным сигналам.
Под моделированием понимается этап имитации поведения схемы устройства (в масштабах условной временной шкалы) на уровне ее программной модели с соблюдением всей динамики протекающих в устройстве процессов.
Проектирование можно считать выполненным правильно в случае, если получены правильные временные соотношения для уровней сигналов во всех цепях устройства. Результатом моделирования становится также некий массив уровней сигналов в цепях схемы, который можно затем вывести на принтер или дисплей в виде графиков.
А что же тогда есть эмуляция? Эмуляция - это моделирование, выполняемое в режиме реального времени и в реальной среде окружения.
Для того чтобы программа схемотехнического моделирования превратилась в программу схемной эмуляции необходимо выполнение некоторых условий.
Первое - добиться того, чтобы программа моделирования работала не с программными массивами, а с реальными сигналами. В этом случае на вход программной модели должны подаваться не комбинации входных событий, выбираемых из программного массива, а уровни сигналов с реальных периферийных систем. В тоже время, отклики, снимаемые с программной модели, опять-таки, должны подаваться в реальное окружение.
Второе - добиться того, чтобы программа моделирования работала в режиме реального времени, а не какой-либо условной временной шкале. Потому что эмуляция - это имитация поведения электронного устройства, как будто его схема уже реализована с помощью паяльника.
Под "режимом реального времени" следует понимать случай, когда скорость имитации становится соизмеримой со скоростью изменения процессов в реальном объекте управления. Другими словами, когда отклик, снимаемый с программной модели, будет поспевать за процессами, протекающими в реальной среде окружения.
Третье - сделать так, чтобы программа моделирования не требовала ресурсов PC. Соблюдение этого условия позволит размещать ее не только на PC платформах, но и во встраиваемых системах.
Программу схемотехнического моделирования, удовлетворяющую выполнению вышеперечисленных условий, уже по праву можно назвать - программой схемной эмуляции. В основу предлагаемой мною системы положен авторский алгоритм схемной эмуляции, реализованный в авторском программном продукте - модуле схемной эмуляции.
В тоже время, разработанный и программно реализованный мною алгоритм, успешно выполняет еще одно условие - в основу его работы положен принцип параллельных потоков.
Конечно же, в среде PC платформ или встраиваемых микропроцессоров, принцип многопоточности может только имитироваться. Для наиболее же полного раскрытия свойств алгоритма требуется и среда параллельного действия. К счастью, в настоящее время реализация такой среды известна - это т.н. матрицы вентильных массивов FPGA (Field-Programmable Gate Arrays) микросхем программируемой логики (ПЛИС).
Именно соединение этих двух компонент - авторского модуля схемной эмуляции (реализованного на принципах многопоточности), и матрицы вентильных массивов (как устройства параллельного действия), открывает широчайшие возможности для создания действительно принципиально новой вычислительной среды - системы эмуляции задач пользователей, представленных в графическом виде.
В соответствии с идеологией системы эмуляции, модуль схемной эмуляции, по сути, выполняет функцию системы исполнения задач пользователей, представленных в графическом виде.
Уровень представления задач здесь допускается самый разный: от графов, сетей, алгоритмов и специальных языков графического программирования - до функциональных и структурных схем. В конце концов - это может быть принципиальная схема электронного устройства, реализующего некий алгоритм. Поскольку в теории реконфигурируемых систем отталкиваются от такого уровня как графы алгоритмов, то и я в рамках данной статьи привяжусь именно к этому уровню. Да и пронаблюдать сравнительный анализ двух архитектур в этом случае будет значительно проще.
Исполнить задачу в системе эмуляции - означает эмулировать (имитировать поведение в режиме реального времени и реальной среды окружения) графический рисунок пользователя, в соответствии с тем, как сам пользователь мог бы представить его работу в своем воображении. Только модуль эмуляции сделает это точно и без ошибок. Красота идеи состоит в том, что при этом пользователю не нужно браться за паяльник, чтобы реализовать свою задачу аппаратно, или пытаться реализовать ее программным способом.
Вообще говоря, возможность реализовать алгоритмы аппаратными или программными способами издавна называется дуализмом (Э.Э. Клингман). До сегодняшнего дня развитие технических систем проходило именно в соответствии с этим принципом. Идея схемной эмуляции впервые открывает пользователю новый (третий) путь реализации его проектов - просто имитацией их поведения в принципиально новой среде - среде графического исполнения, основанной на принципах схемной эмуляции.
Особенностью архитектуры системы эмуляции, построенной на основе кристалла ПЛИС, есть то, что в распоряжение пользователя предоставляется не "голый" кристалл, который ему еще каким-то образом необходимо запрограммировать. А такой, в котором рабочая область уже предварительно "отформатирована" структурой модуля эмуляции, и в которую пользователю достаточно только загрузить описание графической схемы своей задачи.
Однако прежд