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

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

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

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

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

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

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

Компания Intel находится приблизительно в таком же положении. Множество
транзисторов в процессоре Pentium 4 предназначено исключительно для
переделки CISC-команд в RISC-команды, разрешения конфликтов,
прогнозирования переходов, исправления неправильных предсказаний и
решения многих других задач подобного рода, а для реальной работы,
которая собственно и нужна пользователю, остается лишь незначительная
часть этих транзисторов. Поэтому компания Intel пришла к следующему
выводу: нужно выбросить IA-32 на помойку и начать все заново (IA-64).
Архитектура ЕМТ-64 призвана лишь выиграть некоторое время, оставляя
проблему нерешенной.
Модель IA-64 - вычисления с явным параллелизмом команд
Основной принцип организации архитектуры IA-64 сводится к тому, чтобы
перенести нагрузку с периода выполнения в период компиляции. Процессор
Pentium 4 в ходе выполнения переупорядочивает команды, подменяет
регистры, распределяет функциональные блоки и выполняет множество других
функций, что ведет к максимальной загрузке всех аппаратных ресурсов. В
модели IA-64 эти задачи заранее решает компилятор. В результате он
генерирует программу, которую можно выполнять без излишних манипуляций
аппаратными средствами. К примеру, в Pentium 4 компилятор получает
информацию о том, что в машине всего 8 регистров, хотя на самом деле их
128, в результате во время выполнения программы приходится как-то
выкручиваться, чтобы избежать взаимозависимостей. Согласно архитектуре
IA-64, компилятор получает достоверную информацию о количестве регистров
в машине, а затем генерирует программу, в которой нет никаких конфликтов
между регистрами. Кроме того, компилятор следит за загрузкой
функциональных блоков и не запускает команды, в которых предполагается
обращение к занятым функциональным блокам. Модель, в которой аппаратный
параллелизм является видимым для компилятора, называется EPIC (Explicitly
Parallel Instruction Computing - вычисления с явным параллелизмом
Архитектура IA-64 и процессор Itanium 2
463
команд). В определенной степени модель EPIC можно считать развитием RISC-
технологии.
Некоторые особенности IA-64 заметно повышают производительность. Среди
них - сокращение числа обращений к памяти, планирование команд,
сокращение числа условных переходов и спекулятивные операции. Все эти
особенности мы обсудим как с теоретической точки зрения, так и в
контексте их реализации в Itanium 2.
Сокращение числа обращений к памяти
Модель памяти Itanium 2 довольно проста. Всего предусмотрено 264 байт
линей-ной памяти. Имеющиеся команды позволяют обращаться к блокам памяти
размером 1, 2, 4, 8, 16 и 10 байт (последнее значение введено для
совместимости с 80-разрядными числами с плавающей точкой стандарта IEEE
745). Категорической необходимости в выравнивании обращений к памяти по
естественным границам нет, однако без выравнивания производительность
ниже. Память может быть как с прямым, так и с обратным порядком
следования байтов; тот или иной формат устанавливается специальным битом
в регистре, загружаемом операционной системой.
Доступ к памяти в современных компьютерах считается узким местом. Связно
это с тем, что процессоры работают гораздо быстрее модулей памяти.
Сократить число обращений к памяти можно путем размещения большого кэша
первого уровня на микросхеме процессора и еще большего кэша второго
уровня в непосредственной близости от микросхемы. Двумя модулями кэш-
памяти оснащаются все современные процессоры. В то же время существуют и
другие методы, позволяющие сократить объем взаимодействия с памятью, и
некоторые из них реализованы в IA-64.
Лучший способ ускорить обращения к памяти - выполнять эту операцию в
фоновом режиме. В процессоре Itanium 2 предусмотрено 128 64-разрядных
регистров общего назначения. Первые 32 из них являются статическими, а
оставшиеся 96 группируются в стек регистров, напоминающий регистровое
окно UltraSPARC III. В отличие от UltraSPARC, количество доступных
программе регистров меняется от одной процедуры к другой. В итоге каждая
процедура получает доступ к 32 статическим регистрам и некоторому
(переменному) количеству регистров, распределяемых динамически.
При вызове процедуры указатель стека регистров смещается таким образом,
чтобы входные параметры оказались видимыми в регистрах, но сами регистры
не были распределены между локальными переменными. Процедура сама
определяет количество необходимых ей регистров и соответствующим образом
перемещает указатель стека. Сохранять содержимое этих регистров при входе
и восстанавливать при выходе не требуется, хотя, если процедуре нужно
изменить статический регистр, она должна сначала явно сохранить его
прежнее значение, а впоследствии восстановить его. Поскольку количество
регистров выражено доступной переменной и обуславливается требованиями
каждой конкретной процедуры, неэффективное применение регистров
исключается. Кроме того,
464
Глава 5. Уровень архитектуры набора команд
Предыдущая << 1 .. 225 226 227 228 229 230 < 231 > 232 233 234 235 236 237 .. 422 >> Следующая