Реклама:

Основной принцип организации архитектуры IA-64 сводится к тому, чтобы перенести нагрузку с периода выполнения в период компиляции. Процессор Pentium 4 в ходе выполнения переупорядочивает команды, подменяет регистры, распределяет функциональные блоки и выполняет множество других функций, что ведет к максимальной загрузке всех аппаратных ресурсов. В модели IA-64 эти задачи заранее решает компилятор. В результате он генерирует программу, которую можно выполнять без излишних манипуляций аппаратными средствами. К примеру, в Pentium 4 компилятор получает информацию о том, что в машине всего 8 регистров, хотя на самом деле их 128, в результате во время выполнения программы приходится как-то выкручиваться, чтобы избежать взаимозависимостей. Согласно архитектуре IA-64, компилятор получает достоверную информацию о количестве регистров в машине, а затем генерирует программу, в которой нет никаких конфликтов между регистрами. Кроме того, компилятор следит за загрузкой функциональных блоков и не запускает команды, в которых предполагается обращение к занятым функциональным блокам. Модель, в которой аппаратный параллелизм является видимым для компилятора, называется EPIC (Explicitly Parallel Instruction Computing - вычисления с явным параллелизмом команд). В определенной степени модель EPIC можно считать развитием RISC-технологии.

Некоторые особенности IA-64 заметно повышают производительность. Среди них - сокращение числа обращений к памяти, планирование команд, сокращение числа условных переходов и спекулятивные операции. Все эти особенности мы обсудим как с теоретической точки зрения, так и в контексте их реализации в Itanium 2.

Проблема Pentium 4 || Оглавление || Сокращение числа обращений к памяти