Современные микропроцессоры
Для высокоэффективных вычислительных систем необходимо иметь на кристалле как можно больше функций по обработке и хранению данных, а также интерфейс с пользователем и другими системами. Повышение производительности МП достигается за счёт увеличения тактовой частоты, параллельной и конвейерной обработки данных, а также уменьшения времени доступа к памяти [8].
Структурный параллелизм МП. Использование присущего большинству программ естественного параллелизма вычисления целочисленных адресных выражений и собственно обработки данных в формате с плавающей точкой привело к появлению разнесённых архитектур. Такой МП состоит из двух связанных подпроцессоров (адресныйА-процессор и исполнительныйЕ-процессор), каждый из которых управляется собственным потоком команд. Разнесённая архитектура позволяет достигать равных производительностей как при обработке чисел (скалярной), так и при обработке массивов чисел (используется одна векторная команда). Расщепление программы на программы для А- и Е-процессоров производится компилятором или блоком-расщепителем.
Структурное уменьшение времени доступа к памяти. Это обусловлено тем, что время доступа в основную память более чем в десять раз больше, чем время преобразования данных в регистрах процессора. Время доступа уменьшаетмногоуровневая иерархия памяти:
– регистры 64-256 слов со временем доступа 1 такт процессора;
– кэш 1-го уровня – 8 к слов со временем доступа 1–2 такта;
– кэш 2-го уровня – 256 кслов с временем доступа 3–5 тактов.
RISC-процессоры. В практике используется ограниченный набор простых команд форматов «регистр, регистр®регистр» и «регистр«память». Компиляторы не в состоянии эффективно использовать сложные команды. Это способствовало формированию концепции процессоров с сокращённым набором команд, или RISC-процессоров.
Методы ускорения переключения контекста процессора. Современные ОС и системы программирования широко используют переключение контекста процессора(содержимого регистров и отдельных управляющих триггеров) при отработке входа в прерывание и выхода из него, входа и выхода из подпрограммы и в случае организации мультипрограммной работы. Время переключения контекста должно быть минимальным. Уменьшение времени переключения контекста процессора может быть достигнуто за счёт:
– сокращения количества регистров, содержимое которых сохраняется в памяти;
– аппаратной поддержкой сохранения регистров;
– введения специальных соглашений, регламентирующих использование регистров в программах (это позволяет перейти от полного сохранения контекста к частичному).
3.3.2.1 Разновидности архитектур современных микропроцессоров
Класс суперскалярных процессоров реализует подход, что никакого указания на параллельную обработку внутри процессора система команд не содержит. Но другой подход открывает все возможности параллельной обработки: в специальных полях команды каждому из параллельно работающих устройств предписывается действие, которое устройство должно совершить. Это процессоры с длинным командным словом(VLIW).
Суперскалярные и VLIW-процессоры относятся к классу архитектур, использующих параллельность уровня команд(ILP). Текст последовательной программы на языке высокого уровня компилируется в машинный код, отражающий статическую структуру программы.
Для устранения зависимостей, вызванных командами переходов, используется метод предсказания, позволяющий извлекать и условно исполнять команды предсказанного перехода. Если обнаружится, что предсказание было неверно, состояние процессора восстанавливается на момент принятия решения о выполнении перехода. Исполняемые команды могут быть зависимы по данным, когда используются одни и те же ресурсы памяти. Поэтому эти ресурсы используются в предписываемом программой порядке.
Мультискалярные процессоры в своей архитектуре используют статический и динамический анализ кода с целью выявления резервов параллелизма уровня отдельных команд и программных сегментов с использованием информации от компилятора языка высокого уровня. Программа разбивается на совокупность задач с помощью программных и аппаратных средств. Задача – часть программы, выполнению которой соответствует непрерывная область динамической последовательности команд.
Сигнальные процессоры используются для цифровой обработки сигналов. Их особенности – малоразрядная (сорок и менее разрядов) обработка чисел с плавающей точкой, преимущественное использование чисел с фиксированной точкой разрядности 32 и менее, а также ориентация на несложную обработку больших массивов данных. Особенности задач цифровой обработки сигналов – это поточный характер обработки больших объёмов данных в реальном режиме времени.
Существует иной подход к получению высокой производительности. Большое число компонентов на полупроводниковом кристалле может быть задействовано для создания симметричной мультипроцессорной системы с более простыми процессорами, обрабатывающими целочисленные операнды. Это так называемые медийные процессоры, используемые для обработки в реальном времени видео- и аудиоинформации.
Транспьютеры. Концепция параллелизма позволяет повысить производительность и надёжность вычислительных систем, используя построение массово-параллельных систем на базе БИС. Транспьютер (транзистор + компьютер) – это микрокомпьютер с собственной внутренней памятью и линками (каналами) для соединения с другими транспьютерами. Часто этот термин трактуется как обобщённое название микропроцессоров со встроенными межпроцессорными интерфейсами. Транспьютеры имеют высокую степень «функциональной самостоятельности», просты в интеграции и обладают периферийными устройствами.
Нейропроцессоры.Нейросетевой подход эффективен при решении плохо формализованных задач, для которых трудно указать последовательность действий. К ним относятся распознавание образови кластеризация данных – группировка данных по присущей им «близости». Применение кластеризации связано со сжатием данных, анализом и поиском в них закономерностей.
В отличие от формализованных задач, нейронная сеть может экстраполировать результат. Учёт новых факторов нейросетью происходит за счёт переобучения сети с их участием, а не в переделывании формализованных правил. При ограниченном числе экспериментальных данных нейронные сети являются аппаратом, позволяющим максимально использовать имеющуюся информацию.
Общая идея применения нейронных сетей основана не на выполнении предписанного алгоритма, а на запоминании сетью предъявленных ей примеров на этапе создания сети и выработке результатов, согласованных с запомненными примерами. В решаемых задачах точки многомерного пространства образуют области точек, обладающих одним и тем же свойством. Нейронные сети запоминают подобные области, а не отдельные точки, представляющие предъявленные при обучении примеры. При запоминании используется отдельный элементарный вычислитель, называемый нейроном, а для запоминания всех областей используется объединение составляющих нейронов в параллельную структуру – нейросеть.
Построение вычислительных систем, интерпретирующих нейросетевые алгоритмы, осуществляется на традиционной элементной базе. Принятой в нейрокомпьютерном мире единицей измерения производительности является «число соединений в секунду»CPS (connections per second). Под соединением понимается умножение входа на вес и сложение с накопленной суммой. Другой показатель – число изменённых значений весов в секунду CUPS (connections update per second).
Цифровые нейроБИС, как и аналоговые и гибридные, реализуют нейроалгоритмы, могут включать схемы настройки весов при обучении, предусматривать внешнюю загрузку весов. Цифровые БИС для систолических систем и систем с одним потоком команд представляют собой близкие к обычным RISC-процессарам устройства, обычно 16- или 32-разрядные процессоры.
Аналоговые нейро-БИС используют простые физические эффекты для выполнения нейросетевых преобразований. Аналоговые элементы обычно меньше и проще цифровых, но для обеспечения необходимой точности требуют тщательного проектирования.
Вопросы для самотестирования
1 Какой функциональный узел позволяет выбрать команду из ЗУ программ?
2 Зачем нужны регистры сверхоперативной памяти в микропроцессоре?
3 Как микропроцессор работает с подпрограммами?
4 Зачем нужен регистр косвенного адреса в блоке регистров микропроцессора?
5 Как в современных процессорах осуществляется структурное уменьшение времени доступа к памяти?
ПОНЯТИЕ ИЗМЕРЕНИЯ