ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.01.2025

Просмотров: 3745

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Путилин а.Б.

Введение

2. Классификация средств эвт

3. Поколения эвм

Принцип децентрализации управления

Принцип модульности построения

Принцип иерархичности построения структуры

Принцип иерархичности памяти

Мультипрограммные режимы

Перспективы развития структур эвм

6. Персональные эвм, как инструмент специалиста и их развитие.

Структуры вычислительных машин

Структуры вычислительных систем

8. Перспективы совершенствования архитектуры вм и вс

Тенденции развития больших интегральных схем

Тенденции развития элементной базы процессорных устройств

Тенденции развития полупроводниковых запоминающих устройств

Перспективные направления исследований в области архитектуры вс

Классификация архитектур системы команд

Классификация по составу и сложности команд

Классификация по месту хранения операндов

10. Стековая архитектура

11. Аккумуляторная архитектура системных команд

12. Регистровая архитектура вм

13. Архитектура вм с выделенным доступом к памяти

Устройство управления

Арифметико-логическое устройство

Основная память

Модуль ввода/вывода

15. Реализация микроопераций и микропрограмм. Понятие о микрооперациях и микропрограммах

Способы записи микропрограмм

Языки микропрограммирования

16. Организация шин

Типы шин

Физическая реализация шин

Особенности передачи сигналов по шинам

Адресация шин и некоторые характеристики

17. Организация памяти эвм

Память с чередованием адресов

Модели архитектуры памяти вычислительных систем

Модели архитектур совместно используемой памяти

Модели архитектур распределенной памяти

18. Характеристики систем памяти

19. Иерархия запоминающих устройств

Основная память

Блочная организация основной памяти

Расслоение памяти

20. Организация микросхем памяти

21. Основные направления в архитектуре процессоров

Конвейеризация вычислений

Синхронные линейные конвейеры

Метрики эффективности конвейеров

Нелинейные конвейеры

Конвейер команд

22. Построение однородно структурированных, континуальных вычислительных и управляющих систем Нейронные вычислительные системы Континуальные вычислительные и управляющие системы

Континуальной управляющей средой

Термины и определения (д.Б. По алфавиту)

Литература

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

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


Синхронные линейные конвейеры

Эффективность синхронного конвейера во многом зависит от правильного выбо­ра длительности тактового периода Тк. Минимально допустимую Тк можно определить как сумму наибольшего из времен обработки па отдельной ступени конвейера ТСМАХ и времени записи результатов обработки в буферные регистры межу ступенями конвейера ТБР:

Тк = ТСМАХ + ТБР.

Из-за вероятного «перекоса» в поступлении тактирующего сигнала в разные ступени конвейера предыдущую формулу следует дополнить еще одним элементом - максимальной величиной «перекоса» Гпк:

Тк = ТСМАХ + ТБР + Тпк.

Каждая ступень может содержать множество логических трактов обработки. Тк определяется наиболее длинными трактами во всех ступенях конвейера. При разработке конвейера необходимо учитывать, что для двух последовательных эле­ментов, обрабатываемых одной и той же ступенью, обработка первого элемента может проходить по тракту максимальной длины, а второго элемента — по мини­мальному тракту. В итоге результат обработки второго элемента может появиться на выходе ступени прежде, чем в выходном регистре ступени будет запомнен пре­дыдущий результат. Чтобы избежать подобной ситуации, сумма ТБР + ТПК должна быть меньше минимального времени обработки в ступени ТСIMN, откуда

ТБР = ТCMIN – TПК.

Выбор длительности тактового периода для конвейера должен осуществляться с соблюдением соотношения

ТСМАХ + ТБР + ТПК = Тк = ТСМАХ + ТCMINTПК.

Несмотря на очевидные преимущества выбора Тк равным нижнему пределу, проектировщики ВМ обычно ориентируются на среднее значение между нижним и верхним пределами.

Метрики эффективности конвейеров

Для того чтобы оценить эффект, достигаемый за счет конвейеризации вычисле­ний, обычно используют три метрики; ускорение, эффективность и производитель­ность.


Под ускорением понимается отношение времени обработки без конвейера и при его наличии. Теоретически наилучшее время обработки входного потока из N зна­чений TNK на конвейере с К ступенями и тактовым периодом Тк можно определить выражением

TNK = (K + (N – 1))TK.

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

В процессоре без конвейера общее время выполнения составляет NKTK. Таким образом, ускорение вычислений S за счет конвейеризации вычислений можно опи­сать формулой

При ускорение стремится к величине, равной количеству ступеней в конвейере.

Еще одной метрикой, характеризующей конвейерный процессор, является эффективность Едоля ускорения, приходящаяся на одну ступень конвейера:

В качестве третьей метрики часто выступает пропускная способность или произ­водительность Рэффективность, делённая на длительность тактового периода:

При эффективность стремится к единице, а производительность — к частоте тактирования конвейера:

Нелинейные конвейеры

Конвейер не всегда представляет собой линейную цепочку этапов. В ряде ситуаций оказывается выгодным, когда функциональные блоки соединены между со­бой не последовательно, а в соответствии с логикой обработки, при этом одни бло­ки в цепочке могут пропускаться, а другие — образовывать циклические структуры. Это позволяет с помощью одного и того же конвейера одновременно вычислять более одной функции, однако если эти функции конфликтуют между собой, то такой конвейер трудно загрузить полностью. Структура нелинейного конвейера, одновременно вычисляющего две функции X и Y, приведена па рис.47. Там же показана последовательность, в которой функциями X и Y востребуются те или иные функциональные блоки.


Рис.51. Нелинейный конвейер

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

Так, в ходе реализации функции X запуск очередного ее вычисления возможен после 1,3 и 6 тактов. Запуск параллельного вычисления функции Y возможен после 2 и 4 тактов. При запуске функции Y очередной ее запуск позволен после тактов 1, 3 и 5, а параллельный запуск функции X допустим после 2 и 4 тактов.


Конвейер команд

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

1. Выборка команды (ВК). Чтение очередной команды из памяти и занесение ее в регистр команды.

2. Декодирование команды (ДК). Определение кода операции и способов адреса­ции операндов.

3. Вычисление адресов операндов (ВА). Вычисление исполнительных адресов каждого из операндов в соответствии с указанным в команде способом их адре­сации.

4. Выборка операндов (ВО). Извлечение операндов из памяти. Эта операция не нужна для операндов, находящихся в регистрах.

5. Исполнение команды (ИК). Исполнение указанной операции.

6. Запись результата (ЗР). Занесение результата в память.

Рис. 52. Логика работы конвейера команд

На рис. 52 показан конвейер с шестью ступенями, соответствующими шести этапам цикла команды. В диаграмме предполагается, что каждая команда обяза­тельно проходит все шесть ступеней, хотя этот случай не совсем типичен. Так, команда загрузки регистра не требует этапа ЗР. Кроме- того, здесь принято, что все |тапы могут выполняться одновременно. Без конвейеризации выполнение девяти Команд заняло бы 9 х 6 = 54 единицы времени. Использование конвейера позволяет сократить время обработки до 14 единиц. Конфликты в конвейере команд

Полученное в примере число 14 характеризует лишь потенциальную производи­тельность конвейера команд. На практике в силу возникающих в конвейере конф­ликтных ситуаций достичь такой производительности не удается. Конфликтные ситуации в конвейере принято обозначать термином риск (hazard), а обусловлены они могут быть тремя причинами:

  • попыткой нескольких команд одновременно обратиться к одному и тому же ресурсу ВМ (структурный риск);

  • взаимосвязью команд по данным (риск по данным);

  • неоднозначностью при выборке следующей команды в случае команд перехода (риск по управлению).