Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ2.doc
Скачиваний:
20
Добавлен:
10.11.2019
Размер:
4.18 Mб
Скачать

3.3.2 Современные микропроцессоры

Для высокоэффективных вычислительных систем необходимо иметь на кристалле как можно больше функций по обработке и хранению данных, а также интерфейс с пользователем и другими системами. Повышение производительности МП достигается за счёт увеличения тактовой частоты, параллельной и конвейерной обработки данных, а также уменьшения времени доступа к памяти [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 Как в современных процессорах осуществляется структурное уменьшение времени доступа к памяти?