|
ВВЕДЕНИЕ
Предметом данной статьи являются некие в определенной степени универсальные технические решения и методы, связанные с реализацией вычислительных устройств, построенных не на принципах фон-Неймана.
1 ИСХОДНЫЕ ПРЕДПОСЫЛКИ
Для понимания истоков предлагаемых методов расскажу некую свою собственную предысторию. Мне кажется, что возврат к истокам может быть иногда весьма полезным для того, чтобы понять, а вдруг был еще другой путь развития, отличающийся от выбранного и развиваемого далее.
Заранее прошу прощения за, может быть, излишние и не совсем технические подробности.
Для того, кто хочет сразу перейти к конкретным аспектам предлагаемых технических решений и методов, этот раздел можно не читать.
На заре своей инженерной деятельности в области вычислительной техники (начало 70-х годов), когда микропроцессоры только-только робко о себе заявляли, вычислительные устройства разрабатывали (по крайней мере, в нашей организации) на базе конечных автоматов Мили или Мура. В качестве элементной базы применялись микросхемы малой степени интеграции, в основном это были триггеры различных типов и комбинационная логика.
Сам процесс разработки велся в соответствии с классическими принципами фон-Неймана.
Для меня принципы фон-Неймана сводятся к двум постулатам:
- аппаратное разделение вычислительного устройства на управляемую (операционную) и управляющую части;
- последовательное во времени выполнение мелких операций, приводящее к решению задачи в соответствии с программой, реализующей исходный требуемый алгоритм.
Сначала определялась структура управляемой (операционной) части, в которой выделялись точки (узлы схемы), требующие подачи на них сигналов от управляющей части. Далее в соответствии с требуемым алгоритмом или, по-другому, временной диаграммой синтезировалась управляющая часть.
Таким методом было разработано более десятка различных вычислительных устройств, а сам процесс разработки был существенным образом формализован, что, как правило, всегда приводит к ускорению сроков разработки и уменьшению количества ошибок.
Надо отметить тот существенный факт, что практически главным критерием разработки, помимо, естественно, корректного функционирования устройства, было минимальное количество оборудования (микросхем и других радиоэлектронных компонентов), необходимого для реализации требуемой задачи.
Так все это катилось своим чередом, пока не появился у нас на работе молодой специалист, только что окончивший ВУЗ. Правда специальность у него была такова, что не читали им в то время ни принципов фон-Неймана, ни программирования и других дисциплин классической (для тех времен) вычислительной техники. У него была специальность «Радиотехника».
Так получилось, причем во многом благодаря его собственной инициативе, а также моего желания проверить его, так сказать, в деле, что я ему поручил разработать уже готовое к тому времени устройство, разработанное вышеописанными методами.
Каково же было мое удивление, когда через некоторое время он разработал нормально работающее устройство, которое содержало примерно на 15-20 % меньше оборудования, чем ранее разработанное по классическим принципам. Этот молодой специалист разработал требуемое устройство просто, что называется «в лоб» по требуемой временной диаграмме выходных и входных сигналов.
Этот факт поначалу меня в некоторой степени озадачил. В результате определенных размышлений я для себя нашел некое объяснение данному факту. Я подсчитал суммарное количество триггеров в управляющей и управляемой частях устройства, которое оказалось несколько большим, чем во вновь разработанном устройстве. Соответственно, и микросхем комбинационной логики было меньше.
Те элементы памяти (триггеры), которые входили в состав управляющей части дублировали функции триггеров, входящих в состав управляемой части устройства.
Вывод, который я для себя сделал на то время, был таков:
С точки зрения затрат оборудования разделение аппаратной части вычислительного устройства на управляющую и управляемую часть не оптимально.
Дальнейшее развитие микроэлектроники, появление микропроцессоров полностью снивелировало этот недостаток одного из принципов фон-Неймана.
Тем не менее, для меня этот факт остался в памяти.
В последнее время появилось достаточно большое количество публикаций о системном кризисе вычислительных архитектур, построенных на принципах фон-Неймана.
По-моему, основа этого кризиса лежит во втором принципе (см. выше).
Далее попытаюсь изложить свой подход.
2 НЕКОТОРЫЕ ОБОСНОВАНИЯ МОЕГО ПОДХОДА
Основным исходным тезисом для дальнейших рассуждений является следующее:
ПОЧЕМУ РАЗРАБОТЧИКИ, А ПОТОМ И ПРОИЗВОДИТЕЛИ СРЕДСТВ ЛЮБОЙ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ В БУКВАЛЬНОМ СМЫСЛЕ ЗАСТАВЛЯЮТ ПОЛЬЗОВАТЕЛЕЙ (ПОТРЕБИТЕЛЕЙ) ПРИМЕНЯТЬ ТЕ ЖЕ АППАРАТНО-ПРОГРАММНЫЕ СРЕДСТВА, КОТОРЫЕ ПРИМЕНЯЛИСЬ ПРИ ИХ РАЗРАБОТКЕ?
3 ИЗЛОЖЕНИЕ СУТИ МЕТОДИКИ
3.1 Общие замечания
Здесь мы не будем рассматривать методы получения конечных и пригодных для какой-либо реализации формул и зависимостей, т.е. некие предметные (прикладные) в этом смысле задачи.
Нас не будет интересовать, каким образом получены реализуемые зависимости.
Дальнейшее изложение будет идти только в смысле методов реализации этих известных соотношений.
Конечной целью предлагаемой ниже методики является существенное повышение быстродействия при некоем универсальном подходе к реализации вычислений.
Дальнейшее изложение приводится для реализации предлагаемой методикой алгоритмов (в общем смысле понятия алгоритма, как такового, здесь – нет) на примере цифровых фильтров (подчеркиваю, это только пример, не более того) в силу их хорошей математической проработанности и распространенности, т.е. прозрачности для понимания предлагаемой методики.