ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.01.2025
Просмотров: 3736
Скачиваний: 1
СОДЕРЖАНИЕ
Принцип децентрализации управления
Принцип модульности построения
Принцип иерархичности построения структуры
Перспективы развития структур эвм
6. Персональные эвм, как инструмент специалиста и их развитие.
Структуры вычислительных машин
Структуры вычислительных систем
8. Перспективы совершенствования архитектуры вм и вс
Тенденции развития больших интегральных схем
Тенденции развития элементной базы процессорных устройств
Тенденции развития полупроводниковых запоминающих устройств
Перспективные направления исследований в области архитектуры вс
Классификация архитектур системы команд
Классификация по составу и сложности команд
Классификация по месту хранения операндов
11. Аккумуляторная архитектура системных команд
12. Регистровая архитектура вм
13. Архитектура вм с выделенным доступом к памяти
Арифметико-логическое устройство
15. Реализация микроопераций и микропрограмм. Понятие о микрооперациях и микропрограммах
Особенности передачи сигналов по шинам
Адресация шин и некоторые характеристики
Модели архитектуры памяти вычислительных систем
Модели архитектур совместно используемой памяти
Модели архитектур распределенной памяти
18. Характеристики систем памяти
19. Иерархия запоминающих устройств
Блочная организация основной памяти
20. Организация микросхем памяти
21. Основные направления в архитектуре процессоров
Метрики эффективности конвейеров
Континуальной управляющей средой
Классификация архитектур системы команд
В истории развития вычислительной техники как в зеркале отражаются изменения, происходившие во взглядах разработчиков на перспективность той или иной архитектуры системы команд. Сложившуюся на настоящий момент ситуацию в области АСК иллюстрирует рис. 22.
Рис. 22. Хронология развития архитектур системы команд
Среди мотивов, чаще всего предопределяющих переход к новому типу АСК, остановимся на двух наиболее существенных. Первый — это состав операций, выполняемых вычислительной машиной, и их сложность. Второй — место хранения операндов, что влияет на количество и длину адресов, указываемых в адресной части команд обработки данных. Именно эти моменты взяты в качестве критериев излагаемых ниже вариантов классификации архитектур системы команд.
Классификация по составу и сложности команд
Современная технология программирования ориентирована на языки высокого уровня (ЯВУ), главная цель которых — облегчить процесс программирования. Переход к ЯВУ, однако, породил серьезную проблему: сложные операторы, характерные для ЯВУ, существенно отличаются от простых машинных операций, реализуемых в большинстве вычислительных машин. Проблема получила название семантического разрыва, а ее следствием становится недостаточно эффективное выполнение программ на ВМ. Пытаясь преодолеть семантический разрыв, разработчики вычислительных машин в настоящее время выбирают один из трех подходов и, соответственно, один из трех типов АСК:
архитектуру с полным набором команд: CISC (Complex Instruction Set Computer);
архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set Computer);
архитектуру с командными словами сверхбольшой длины: VLIW (Very Long Instruction Word).
В вычислительных машинах типа CISC проблема семантического разрыва решается за счет расширения системы команд, дополнения ее сложными командами, семантически аналогичными операторам ЯВУ. Основоположником CISC-архитектуры считается компания IBM, которая начала применять данный подход с семейства машин IBM 360 и продолжает его в своих мощных современных универсальных ВМ, таких как IBM ES/9000. Аналогичный подход характерен и для компании Intel в ее микропроцессорах серии 8086 и Pentium. Для CISC-архитектуры типичны:
наличие в процессоре сравнительно небольшого числа регистров общего назначения;
большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;
разнообразие способов адресации операндов;
множество форматов команд различной разрядности;
наличие команд, где обработка совмещается с обращением к памяти.
К типу CISC можно отнести практически все ВМ, выпускавшиеся до середины 1980-х годов, и значительную часть производящихся в настоящее время. Рассмотренный способ решения проблемы семантического разрыва вместе с тем ведет к усложнению аппаратуры ВМ, главным образом устройства управления, что, в свою очередь, негативно сказывается на производительности ВМ в целом. Это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. Был предпринят комплекс исследований , в результате которых обнаружилось, что доля дополнительных команд, эквивалентных операторам ЯВУ, в общем объеме программ не превышает 10-20%, а для некоторых наиболее сложных команд даже 0,2%. В то же время объем аппаратных средств, требуемых для реализации дополнительных команд, возрастает весьма существенно. Так, емкость микропрограммной памяти при поддержании сложных команд может увеличиваться на 60%.
Детальный
анализ результатов упомянутых исследований
привел к серьезному пересмотру
традиционных решений, следствием чего
стало появление RISC-архитектуры.
Идея
заключается в ограничении списка команд
ВМ наиболее часто используемыми
простейшими командами, оперирующими
данными, размещенными только в регистрах
процессорах. Обращение к памяти
допускается лишь с помощью специальных
команд чтения и записи. Резко уменьшено
количество форматов команд и способов
указания адресов операндов. Сокращение
числа форматов команд и их простота,
использование ограниченного количества
способов адресации, отделение операций
обработки данных от операций обращения
к памяти позволяет существенно упростить
аппаратные средства ВМ и повысить их
быстродействие. Термин RISC
впервые был использован Д. Паттерсоном
и Д. Дит-Целем в 1980 году. RISC-архитектура
разрабатывалась таким образом, чтобы
уменьшить Твыч
за
счет сокращения CPI
и
пр.
Как следствие, реализация сложных команд
за счет последовательности из простых,
но быстрых RISC-команд
оказывается не менее эффективной, чем
аппаратный вариант сложных команд в
CISC-архитектуре.
Элементы RISC-архитектуры впервые появились в вычислительных машинах CDC 6600 и суперЭВМ компании Cray Research. Достаточно успешно реализуется RISC-архитектура и в современных ВМ, например в процессорах Alpha фирмы DEC, серии РА фирмы Hewlett-Packard, семействе PowerPC и т. п.
Отметим, что в последних микропроцессорах фирмы Intel и AMD широко используются идеи, свойственные RISC-архитектуре, так что многие различия между CISC и RISC постепенно стираются.
Помимо CISC- и RISC-архитектур в общей классификации был упомянут еще один тип АСК — архитектура с командными словами сверхбольшой длины (VLIW). Концепция VLIW базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. В плане АСК архитектура VLIW сравнительно мало отличается от RISC. Появился лишь дополнительный уровень параллелизма вычислений, в силу чего архитектуру VLIW логичнее адресовать не к вычислительным машинам, а к вычислительным системам.
Таблица 1. Сравнительная оценка CISC- и VLIW-архитектур
|
Характеристика |
CISC |
RISC |
VLIW |
|
Длина команды |
Варьируется |
Единая |
Единая |
|
Расположение полей в команде |
Варьируется |
Неизменное |
Неизменное |
|
Количество регистров |
Несколько (часто специализированных) |
Много регистров общего назначения |
Много регистров общего назначения |
|
Доступ к памяти |
Может выполняться как часть команд различных типов |
Выполняется только специальными командами |
Выполняется только специальными командами |
Таблица 1. позволяет оценить наиболее существенные различия в архитектурах типа CISC, RISC и VLIW.
Классификация по месту хранения операндов
Количество команд и их сложность, безусловно, являются важнейшими факторами, однако не меньшую роль при выборе АСК играет ответ на вопрос о том, где могут храниться операнды и каким образом к ним осуществляется доступ. С этих позиций различают следующие виды архитектур системы команд:
стековую;
аккумуляторную;
регистровую;
с выделенным доступом к памяти.
Выбор той или иной архитектуры влияет на принципиальные моменты: сколько адресов будет содержать адресная часть команд, какова будет длина этих адресов, насколько просто будет происходить доступ к операндам и какой, в конечном итоге, будет общая длина команд.
10. Стековая архитектура
Стеком называется память, по своей структурной организации отличная от основной памяти ВМ, тем что образует множество логически взаимосвязанных ячеек (рис.23), взаимодействующих по принципу «последним вошел, первым вышел» (LIFO, Last In First Out).
Принципы построения стековой памяти детально рассматриваются позже, здесь же выделим только те аспекты, которые требуются для пояснения особенностей АСК на базе стека.
Рис. 23. Принцип действия стековой памяти
Верхнюю ячейку называют вершиной стека. Для работы со стеком предусмотрены две операции: push (проталкивание данных в стек) и рор (выталкивание данных из стека). Запись возможна только в верхнюю ячейку стека, при этом вся хранящаяся в стеке информация предварительно проталкивается на одну позицию вниз. Чтение допустимо также только из вершины стека. Извлеченная информация удаляется из стека, а оставшееся его содержимое продвигается вверх. В вычислительных машинах, где реализована АСК на базе стека (их обычно называют стековыми), операнды перед обработкой помещаются в две верхних ячейки стековой памяти. Результат операции заносится в стек. Принцип действия стековой машины поясним на примере вычисления выражения а = а + Ь + ах с.
При описании вычислений с использованием стека обычно используется иная форма записи математических выражений, известная как обратная польская запись (обратная польская нотация), которую предложил польский математик Я. Лукашевич. Особенность ее в том, что в выражении отсутствуют скобки, а знак операции располагается не между операндами, а следует за ними (постфиксная форма). Последовательность операций определяется их приоритетами (табл. 2.).
Таблица 2. Приоритеты операций в обратной польской нотации
|
Операция |
Символ операции |
Приоритет |
|
Открывающая скобка |
( |
0 |
|
Закрывающаяся скобка |
) |
1 |
|
Сложение | вычитание |
+ | - |
2 |
|
Умножение | деление |
* | / |
3 |
|
Возведение в степень |
** |
4 |
При преобразовании традиционной записи выражения в постфиксную используется логическая структура, аналогичная стеку, которую, чтобы не путать ее со стеком вычислительной машины, назовем стеком последовательности операций (СПО). Формирование выходной строки с выражением в обратной польской нотации осуществляется в соответствии со следующим алгоритмом:
1. Исходная строка с выражением просматривается слева направо.
2. Операнды переписываются в выходную строку.
3. Знаки операций заносятся в СПО по следующим правилам:
если СПО пуст, то операция из входной строки переписывается в СПО;
операция выталкивает из СПО в выходную строку все операции с большим или равным приоритетом;
если очередной символ из исходной строки есть открывающая скобка, то он проталкивается в СПО;
закрывающая круглая скобка выталкивает все операции из СПО до ближайшей открывающей скобки, сами скобки в выходную строку не переписываются, а уничтожают друг друга.
Процесс
получения обратной польской записи для
правой части выражения а
= а + b
+ а
спредставлен
в табл.3.
Таблица 3. Формирование обратной польской записи для выражения
а =
a+b+a
c
|
Просматриваемый символ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
Входная строка |
а |
+ |
b |
+ |
a |
x |
c |
|
|
|
Состояние стека последовательности операций |
|
+ |
|
+ |
|
x + |
|
+ |
|
|
Выходная строка |
a |
|
b |
+ |
a |
|
c |
x |
+ |