42
случае говорят об универсальных (общего назначения) и специализированных
(ПВВ, графические, математические, обработки сигналов) процессорах. Первые
призваны решать различные задачи и имеют широкую область применения,
тогда как вторые ориентированы на решение узкого круга задач.
Универсальные процессоры характеризуются: способностью обрабатывать
большое число команд; системой команд (СК): если система команд позволяет
решить любую задачу, то процессор универсальный. Нужно
анализировать
систему команд на ее сбалансированность, формы данных, способы адресации.
Хотя универсальность процессора –
вопрос относительный.
Также можно выделить центральные, периферийные и сервисные
процессоры. Центральный процессор осуществляет общее управление
вычислительной системой: производит основную обработку данных, обмен ими
с другими элементами ВС, а также управляет работой элементов ВС.
Периферийный процессор выполняет лишь часть функций вычислительной
системы: управляет и обменивается данными с устройствами ввода-вывода
(процессор ввода-вывода), может участвовать в вычислительном процессе
(обрабатывать часть данных). Сервисный (обслуживающий) процессор обычно
не участвует в основном вычислительном процессе и выполняет функции
контроля и обслуживания: выполняет инструментальные функции (доставка и
отладка программного обеспечения, настройка оборудования), осуществляет
контроль правильности
функционирования системы, измерение параметров
окружающей среды (температура, влажность), напряжения питания и т.п. В ВС
один и тот же процессор может выполнять функции как периферийного, так и
сервисного процессора.
Степень
функциональной гибкости, или возможность настройки
процессора на выполнение конкретной функции из допустимого множества в
каждый момент времени, определяется возможностью и оперативностью его
программирования. Если в процессе эксплуатации
функция может быть
перенастроена,
то
такой
процессор
называется
программируемым
(programmable processor), в противном случае мы имеем дело с
непрограммируемым, "жестким" устройством (dedicated processor – близкий, но
не точный термин, другой возможный вариант – hardware accelerator).
Сложность механизма программного управления может изменяться в очень
широких пределах.
Рассмотрим пример. Промышленность выпускает большое число тактовых
генераторов, часть из которых может формировать различные наборы частот в
зависимости от состояния управляющих входов или записанных в специальные
запоминающие ячейки кодов коэффициентов деления. Если пользователю в
составе системной платы ПК генератор попадает с жестко запаянными
значениями на входах (или с запрограммированными в ячейках кодами без
интерфейса для их изменения), то такое устройство следует считать
специализированным ("жестким") процессором. Если же на вашей плате
установлены переключатели для задания частоты, то мы имеем дело с
43
программируемым устройством. Конечно, обычно тактовый генератор, пускай
и программируемый, процессором не называют. Но разве кто-то может
однозначно провести границу
функциональной сложности в этом вопросе?
По способу реализации процессоры, прежде всего, следует делить на
аппаратно-реализованные (или аппаратные, hardware) и программно-
реализованные (соответственно, программные, software). Каждая из указанных
групп реализаций, в свою очередь, имеет множество вариантов. Вполне
пригодным для практического использования критерием программной
реализации процессора следует считать наличие в его составе хотя бы одной
программно-реализованной части.
Как на практике классифицировать
способ реализации устройства по
аппаратно-программному признаку? Довольно часто программную реализацию
связывают с использованием принципа программного управления при
проектировании устройства. Также широко распространено мнение об
обязательном свойстве последовательной интерпретации управляющей
информации устройством для отнесения его к разряду программно-
реализованных.
Общим критерием аппаратной или программной реализации устройства
(функции) предлагается считать степень избыточности присутствующей в
устройстве регулярной структуры (блока постоянной или оперативной памяти,
логической матрицы, операционных элементов и т.д.). Из данного определения
следует, что не только организация управляющей части устройства определяет
способ
его
реализации.
Например,
табличный
функциональный
преобразователь также может быть отнесен к категории программных
устройств. Явным случаем аппаратной реализации является отсутствие в
устройстве регулярных структур вообще (нерегулярная "жесткая" логика, или
по-другому, "клубок схем"). На практике сегодня, в силу ряда причин,
устройство создают на основе избыточных регулярных структур, а затем
фиксируют его в получившемся виде, либо выполняют еще один шаг – удаляют
неиспользованные элементы регулярной структуры (целевая компиляция,
кремниевая компиляция и так далее в соответствии с контекстом). В первом
случае мы будем иметь дело с программно-реализованным устройством, во
втором случае программно-реализованная версия на этапе проектирования
заменяется аппаратной реализацией ("жесткая логика").
Таким образом, можно говорить о четырех базовых вариантах
процессоров:
• "жесткий" (непрограммируемый) процессор с аппаратной реализацией
(dedicated hardware processor);
• программируемый процессор с аппаратной реализацией (programmable
hardware processor);
• "жесткий" процессор с программной реализацией (dedicated software
processor);