Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Архитектура компьютера - Таненбаун Э.

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 226 227 228 229 230 231 < 232 > 233 234 235 236 237 238 .. 422 >> Следующая

увеличивается максимальная глубина вызова процедур, при которой регистры
не требуется "сбрасывать" в память.
В Itanium 2 есть 128 регистров с плавающей точкой, организованных по
стандарту IEEE 745 и не группируемых в стек. Большое количество регистров
этого типа позволяет сохранять промежуточные результаты множества
операций с плавающей точкой в регистрах, не перемещая их в память.
Кроме того, в Itanium 2 предусмотрено 64 1-разрядных предикатных
регистра, 8 регистров ветвлений и 128 специализированных прикладных
регистров, которые используются для самых различных целей, в частности
для обмена параметрами между прикладными программами и операционной
системой. Общая схема регистров Itanium 2 представлена на рис. 5.29.
64 1-разрядных
96 регистров, используемых в качестве стека ^ регистров
32 статических регистра
Планирование команд
Один из наиболее серьезных недостатков Pentium 4 - сложность планирования
команд для обработки в различных функциональных блоках без
взаимозависимостей. Для решения этой проблемы в период выполнения
задействуются очень сложные механизмы, аппаратная поддержка которых
требует много места на микросхеме. В архитектуре IA-64 и ее реализации -
Itanium 2 - эти проблемы решены путем передачи соответствующих функций
компилятору. Каждая программа теперь состоит из последовательности групп
команд. Команды в рамках одной группы не конфликтуют друг с другом, не
потребляют больше ресурсов и не обращаются к большему количеству
функциональных блоков, чем предусмотрено системой, не образуют RAW- и
WAW-взаимозависимости (WAR-взаимозависимости допускаются в ограниченном
объеме). Создается впечатление, что последовательные группы команд
выполняются строго по порядку, хотя на самом деле, если это безопасно,
процессор может запустить часть команд следующей группы до завершения
предыдущей.
Таким образом, процессор может планировать выполнение команд внутри
каждой отдельно взятой группы в любом порядке, по возможности, - в
параллель-
128 регистров общего назначения
128 регистров с плавающей точкой
128 регистров прикладных регистров
предикатных
регистра
Рис. 5.29. Регистры Itanium 2
Архитектура IA-64 и процессор Itanium 2
465
ном режиме. При этом вероятность возникновения конфликтов между командами
равна нулю. Если группа команд нарушает вышеуказанные правила, поведение
программы становится неопределенным. В такой ситуации обязанность по
обеспечению соответствия полученного из исходной программы кода на
ассемблере всем требованиям ложится на компилятор. Для того чтобы быстро
провести компиляцию одновременно с отладкой программы, компилятор может
поместить каждую команду в отдельную группу; сделать это просто, но
производительность в результате этой операции снижается, а время
оптимизации выходного кода значительно увеличивается.
Команды объединяются в 128-разрядные пучки (bundles), подобные
изображенному в верхней части рис. 5.30. В каждом пучке содержится три
41-разрядных команды и 5-разрядный шаблон. Количество пучков в группе
команд не всегда выражается целым числом - в некоторых случаях группы
начинаются и заканчиваются посередине пучков.
Биты
Биты
41
41
41
Команда 2 Команда 1 Команда 0
7 7 Шаблон 7
Тип операции Регистр 3 Регистр 2 Регистр 1
Группа операций Предикатный регистр
Рис. 5.30. Пучок в архитектуре IA-64 состоит из трех команд
Существует более 100 форматов команд. На рис. 5.30 представлен наиболее
распространенный формат. В данном случае он применяется для выполнения
при помощи АЛУ операции ADD, которая размещает сумму двух регистров в
третьем. Поле группы операций определяет общий класс команды (например,
целочисленная операция АЛУ). В поле типа операции указывается конкретная
операция (например, ADD или SUB). Далее следуют три поля регистра.
Последнее поле данного формата - поле предикатного регистра - мы обсудим
чуть позже.
Шаблон пучка указывает, какие функциональные блоки нужны для его
обработки, а также определяет положение границы группы команд (если
таковая предусмотрена). Основными функциональными блоками считаются
целочисленные и нецелочисленные команды АЛУ, обращения к памяти, операции
с плавающей точкой, ветвление и т. д. Очевидно, что при наличии 6 блоков
и 3 команд для полной ортогональности требуются 216 базовых комбинаций
плюс 3 х 216 дополнительных комбинаций для определения маркеров группы
после команд 0, 1 и 2. Поскольку доступно всего 5 бит, из всего
разнообразия комбинаций допускаются лишь некоторые. С другой стороны,
если бы в состав пучка можно было включить сразу три команды с плавающей
точкой, процессор просто не смог бы
466
Глава 5. Уровень архитектуры набора команд
их одновременно запустить. Таким образом, допустимыми считаются
фактически осуществимые комбинации.
Сокращение числа условных переходов - предикация
Еще одна особенность архитектуры IA-64 - новый способ обработки условных
переходов. Если бы была возможность избавиться от большинства из них,
Предыдущая << 1 .. 226 227 228 229 230 231 < 232 > 233 234 235 236 237 238 .. 422 >> Следующая