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

Для прояснения методологии проектирования процессоров необходимо обратиться к абстрактной модели – машине Тьюринга. Хотя эта машина в чистом виде не может быть реализована, она представляет собой теоретическую основу для реализации всех известных в настоящее время алгоритмов. В основе машины Тьюринга (рис. 5.1) лежит бесконечная лента, на которой записаны символы, и указатель, который может перемещаться по ленте. На каждом шаге работы можно просмотреть символ, находящийся под указателем, возможно, заменить его другим символом, а также переместить указатель на новое место.

Рис. 5.1 Машина Тьюринга.

 

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

Рис. 5.2 Фон-неймановская (принстонская) архитектура.

Рис. 5.3 Гарвардская архитектура.

 

На практике можно считать, что некое цифровое устройство, обладающее достаточным объемом памяти, может выполнять некоторые алгоритмы, разработанные для машины Тьюринга. Ограничения касаются как объема памяти, так и набора операций, доступного реальному устройству, и «выразительной способности» отдельных ячеек ленты. На практике вместо бесконечной ленты с абстрактными символами в процессорных системах можно наблюдать память конечного объема, состоящую из ячеек фиксированной разрядности.

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

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

1) Процессоры общего назначения

2) Процессоры цифровой обработки сигналов (сигнальные процессоры).

3) Микроконтроллеры

Процессоры общего назначения, как следует из названия данного типа, предназначены для решения широкого класса задач. Они не имеют узкой специализации и могут быть применены как в персональных устройствах (компьютерах, планшетах, смартфонах), так и для управления промышленным оборудованием, работе в мультимедийных устройствах, медицинском оборудовании и т.д. К этому типу принадлежат такие семейства, как x86, ARMCortex-A (высокопроизводительное семейство ARM, используемое в планшетах)и др.

Процессоры цифровой обработки сигналов (также DSP или сигнальные процессоры) характеризуются высокой производительностью при выполнении операции «умножение с накоплением» (MultiplyAndAccumulate, MAC), которая лежит в основе многих алгоритмов цифровой обработки сигналов: фильтрации, быстрого преобразования Фурье, моделирования нейросетей и т.п. Актуальным на сегодняшний день направлением является т.н. программно-зависимое радио (также SDR, Software-DefinedRadio).

Микроконтроллеры представляют собой микросхемы, содержащие процессорное ядро, память и периферийные устройства на одном кристалле. Это позволяет минимизировать габариты электронной части изделия, сосредоточив основные функции в единственной микросхеме. Обычно производительность микроконтроллеров существенно меньше, чем у процессоров общего назначения и сигнальных процессоров, однако набор периферийных устройств (USB, SD, UART, PWM, АЦП) шире, хотя часто в конкретном наименовании микроконтроллера его ограничивают для решения определенного круга задач. По различным оценкам, приблизительно 95% выпускаемых процессорных устройств принадлежат именно к классу микроконтроллеров, обеспечивая управление широчайшей номенклатурой современных изделий.

  =  Перейти к содержанию  =