Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11- 2(к печати).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.57 Mб
Скачать

1.5. Аппаратные и программные средства реализации алгоритмов

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

Как известно, средства реализации алгоритмов вычислений делятся на аппаратные и программные. Любая вычислительная структура (ВС) это совокупность указанных средств. Их соотношение определяется требованиями к производительности и стоимости ВС.

Аппаратные средства реализуют какие-либо действия алгоритма одномоментно, без возможности дробления со стороны программиста. (Примеры аппаратной реализации: сумматоры, быстрые умножители, устройства для преобразования сигналов в реальном времени и т.д.).

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

Программирование структуры и процедурное программирование не являются взаимоисключающими подходами, как правило, они дополняют друг друга.

При программной реализации алгоритма вычислительный процесс организуется как последовательность процедур, выполняемых поочерёдно во времени на одном операционном устройстве (ОУ). Такое процедурное представление алгоритма удобно оформлять в виде блок-схемы алгоритма. При аппаратурной реализации алгоритма вычислительный процесс разворачивается в пространстве операционных блоков, соединённых между собой в соответствии с потоковым графом алгоритма и работающих параллельно во времени.

На рис. 1.2 показаны два варианта представления алгоритма, а на рис. 1.3 -два варианта его реализации. Очевидно, что во втором случае отпадает необходимость в программной памяти, так как программа вычислений заменяется схемой соединений операционных блоков.

Рис.1.2. Процедурное (а) и потоковое (б) представление алгоритма вычисления

значения f = ab/c+d

Рис.1.3.Программная (а) и аппаратурная (в) реализации алгоритма f = ab/c+d

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

Очень быстрый рост степени интеграции современных микросхем, когда сверхбольшие интегральные схемы (СБИС) могут содержать сотни миллионов транзисторов в одном корпусе, диктует необходимость проектирования мощных аппаратурных средств реализации алгоритмов. Однако разработанные алгоритмы решения прикладных задач, в том числе и цифровой обработки сигналов, мало ориентированы на аппаратурную реализацию. Необходимы специальные -аппаратурно-ориентированные алгоритмы, синтезированные с учётом требований технологии СБИС. В идеальном случае процесс разработки алгоритма должен быть совмещён с проектированием СБИС, так как топология СБИС изоморфна потоковому графу аппаратурно-реализуемого алгоритма.

Рассмотрим процесс решения задачи на универсальной ЭВМ, включающий ряд этапов, показанных на рис. 1. 4. На начальном этапе задача, возникающая в некоторой прикладной

области, формулируется на естественном языке (составляется описание задачи).Затем осуществляется математическая постановка задачи выбор

с

Рис. 1.4.

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

логическое устройство (АЛУ) строится, как правило, на основе универсального сумматора. Такое АЛУ выполняет лишь элементарные операции типа сложения, сдвига и некоторые другие. Поэтому для исполнения алгоритма на таком АЛУ необходима программа, состоящая из таких операций.

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

Время решения задачи на такой ЭВМ прямо зависит от длины программы. Чем крупнее будет математическая функция, выполняемая аппаратурно, тем меньше будет длина программы, меньше обращений к памяти, а, следовательно, меньше время решения и выше производительность ЭВМ. По мере роста возможностей интегральной электроники увеличивается сложность задач, для которых возможна аппаратная реализация их решения, и граница между задачами, реализуемыми аппаратурно и программно, сдвигается. То есть, аппаратурно реализуются уже типовые вычислительные процедуры, крупные математические и даже прикладные алгоритмы. С другой стороны, рост производительности процессоров позволяет решать более сложные задачи, традиционно решавшиеся аппаратным способом, программными средствами (примером может служить появление т.н. Winmodem'ов). Таким образом, граница между программными и аппаратными средствами при реализации алгоритмов постоянно перемещается.

2 ХАРАКТЕРИСТИКИ И КЛАССИФИКАЦИЯ ЭВМ И СИСТЕМ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]