Во время выполнения программы IA–64 просматривает шаблоны, выбирает взаимно независимые команды и распределяет их по функциональным узлам. После этого производится распределение зависимых команд. Когда процессор обнаруживает «отмеченное» ветвление, вместо попытки предсказать значение условия ветвления и перехода к блоку, соответствующему предсказанному пути, процессор начинает параллельно выполнять блоки, соответствующие всем возможным путям ветвления. Таким образом, на машинном уровне ветвления нет.
Разумеется, в какой-то момент процессор наконец вычислит значение условия ветвления в операторе IF–THEN–ELSE. Предположим, оно равно TRUE, следовательно, правильный путь отмечен предикатом Р1. 6–битному полю предиката соответствует набор из 64 предикатных регистров (predicate registers) Р0–Р63 длиной 1 бит. Процессор записывает 1 в регистр Р1 и 0 во все остальные.
К этому времени процессор, возможно, уже выполнил некоторое количество команд, соответствующих обоим возможным путям, но до сих пор не сохранил результат. Перед тем, как сделать это, процессор проверяет соответствующий предикатный регистр. Если в нём 1 — команда верна и процессор завершает её выполнение и сохраняет результат. Если 0 — результат сбрасывается.
Технология «отмеченных команд» существенно снижает негативное влияние ветвлений на машинном уровне. В то же время, если компилятор не «отметил» ветвление, IA–64 действует практически так же, как и современные процессоры: пытается предсказать путь ветвления и т.д. Испытания показали, что описанная технология позволяет устранить более половины ветвлений в типичной программе, и, следовательно, уменьшить более чем в два раза число возможных ошибок в предсказаниях.
Другой ключевой особенностью IA–64 является предварительная загрузка данных. Она позволяет не только загружать данные из памяти до того, как они понадобятся программе, но и генерировать исключение только в случае, если загрузка прошла неудачно. Цель предварительной загрузки — разделить собственно загрузку и использование данных, что позволяет избежать простоя процессора. Как и в технологии «отмеченных команд» здесь также сочетается оптимизация на этапе компиляции и на этапе выполнения.
Сначала компилятор просматривает код программы, определяя команды, использующие данные из памяти. Везде, где это возможно, добавляется команда предварительной загрузки на достаточно большом расстоянии перед командой, использующей данные и команда проверки загрузки непосредственно перед командой, использующей данные.
На этапе выполнения процессор сначала обнаруживает команду предварительной загрузки и, соответственно, пытается загрузить данные из памяти. Иногда попытка оказывается неудачной — например, команда, требующая данные, находится после ветвления, условия которого ещё не вычислены. «Обычный» процессор тут же генерирует исключение. IA–64 откладывает генерацию исключения до того момента, когда встретит соответствующую команду проверки загрузки. Но к этому времени условия ветвления, вызывавшего исключение, уже будут вычислены. Если команда, инициировавшая предварительную загрузку, относится к неверному пути, загрузка признается неудачной и генерируется исключение. Если же путь верен, то исключение вообще не генерируется. Таким образом, предварительная загрузка в архитектуре IA–64 работает аналогично структуре типа TRY–CATCH.
Возможность располагать команду предварительной загрузки до ветвления очень существенна, так как позволяет загружать данные задолго до момента использования (напомним, что в среднем каждая шестая команда является командой ветвления).
В 80–е годы некоторые разработчики RISC–процессоров высмеивали CISC–архитектуру и предрекали скорую погибель семейству х86. Но технологии и бизнес — разные вещи. Несмотря на технологические преимущества RISC–архитектуры, огромные ресурсы корпорации Intel и господство операционных систем DОS и Windows привели к тому, что процессоры архитектуры х86 остаются конкурентоспособными до сих пор. Теперь уже Intel заявляет, что RISC–архитектура устарела. В любом случае, до выхода в свет первого процессора архитектуры IA–64 остаётся ещё два года, и у конкурентов есть время принять ответные меры.
Материнские платы, наборы микросхем
Intel 430TX PCIset
18 марта 1997 г. официально появились пробные образцы нового чипсета пятого поколения от Intel — 430TX. Этот чипсет рассчитан для применения в настольных и мобильных системах. Для изготовления применена передовая двухчиповая технология — TDP:82439TX, PIIX4:82371AB.
Этот чипсет приходит на смену i430VX, но к сожалению не на смену i430HX. Новый чипсет не поддерживает (официально) более 66MHz по шине, и не кэширует более 64Mb оперативной памяти. Однако уменьшено, как и ожидалось, количество тактов на синхронной памяти.
Характеристика i430TX:
Поддержка:
– DRAM support: SDRAM, EDO, FPM
– Ultra DMA / ATA–33 (DMA Bus master support)
– USB support
– Concurrent PCI (PCI 2.1)
– Dynamic Power Management Architecture (DPMA) с поддержкой Advanced Configuration and Power Interface (ACPI), снижает потребление энергии микросхемами на 75%
– SMBUS (System Management Bus)
Встроенные функции:
– PCI–ISA Bridge
– Standart AT functions
– real–time clock (RTC)
– IDE è GPIO ports (Master/Slave independent drive timing)
Положительные качества:
– Max L2 Cache size — 512Kb Pipelined Burst SRAM
– Max DRAM size — 256Mb (6 RAS lines)
– Max Cacheable DRAM — 64Mb
– DRAM Timing at 66MHz Bus speed
FPM RAM | 5-3-3-3 |
EDO RAM | 5-2-2-2 |
BEDO RAM | n/a |
SDRAM | 5-1-1-1 |
– DRAM refresh — CAS before RAS
– Максимальное число мастер–устройств PCI — 5
– Число буферов между PCI и DRAM, POST – 10DW=40Byte
– Число буферов между PCI и DRAM, Prefetch – 18DW=72Byte
Отрицательные качества:
– Поддержка Dual/Multi процессорной конфигурации — НЕТ
– Поддержка кода коррекции ошибок памяти (DRAM ECC) — НЕТ
– Поддержка AGP (Accelerated Graphics Port) — НЕТ
Intel 440LX AGPset
В сочетании с архитектурой двойной независимой шины (DIB) процессора Pentium II набор микросхем 440LX AGPset призван стать фундаментальной аппаратной основой нового класса ПК на базе Slot 1 (вместо чипсета i440FX), ориентированных на визуальную обработку.
Новый набор микросхем разработан с целью оптимизации и балансировки системной производительности, вклад в которую дает как сам процессор Pentium II, так и другие компоненты вычислительной платформы, включая графическую подсистему и оперативную память. Он представляет собой уникальный вариант оптимизированной архитектуры, получившей название «порта с учетверенным быстродействием» (QPA). К числу основных компонентов QPA относятся: AGP с прямым подсоединением (Direct Connect AGP), система динамического распределенного арбитража (Dynamic Distributed Arbitration) и средства многопоточного доступа к памяти (Multistream Memory Access). QPA в сочетании с процессором Pentium II и AGP поддерживает масштабирование производительности ПО трехмерной графики, в том числе компьютерных игр и иных развлекательных приложений, обучающих программ, систем обработки оцифрованных изображений.
Процессор Pentium II и набор микросхем 440LX AGPset можно рассматривать как «строительные блоки», ориентированные на разработку сбалансированных вычислительных платформ с высокой производительностью и средствами сетевого управления для универсальных ПК и Net PC, применяемых в деловой сфере. Помимо QPA, микросхемы 440LX AGPset обладают рядом функций и характеристик, позволяющих удовлетворить требования к ПК со стороны как существующих, так и будущих приложений. Новые микросхемы дадут возможность оснастить персональные компьютеры усовершенствованным интерфейсом для контроля за энергопотреблением (ACPI), средствами поддержки технологии plug-and-play, компонентами Ultra DMA (на базе контроллера PIIX4, используемом также в чипсете i430TX) в целях ускорения прямого доступа к памяти и модулями SDRAM, позволяющими повысить системную производительность. Поддержка интерфейса ACPI позволит изготовителям ПК дополнить свою продукцию сетевыми функциями управления энергопотреблением, вывода компьютера из неактивного состояния либо его дистанционного поддержания в постоянно включенном (AlwaysOn) режиме.
Запущенный в массовое производство набор микросхем Intel 440LX AGPset состоит из двух чипов: контроллера PCI AGP Controller (PAC) в корпусе типа 492 BGA и акселератора PCI, ISA, IDE Accelerator (PIIX4) в корпусе типа 324 BGA.
Характеристика i440LX:
Поддержка:
– Один или два процессора семейства Pentium–II
– Частота шины AGP до 133МГц
– 64/72–битный интерфейс системной памяти, поддерживающий SDRAM
– Аппаратный контроль четности (ECC)
– 32–битный интерфейс PCI 2.1
– Поддержка 64–битной спецификации шины GTL+
– Буферизация всех интерфейсов для повышения пропускной способности
Контроллер системной памяти:
– Поддержка EDO и SDRAM
– Контроллер системной памяти оптимизирован для SDRAM
– Поддержка от 8 до 512Мбайт системной памяти
– Симметрическая и асимметрическая адресация
– Поддержка однобанковых и двубанковых модулей DIMM
– Поддержка 4, 16 и 64Мбит микросхем памяти
– Для асинхронных операций время доступа 50 и 60 нс, для синхронной SDRAM – частота 66МГц
Контроллер ввода/вывода PIIX4:
– Совместимость со спецификацией PCI 2.1
– Поддержка спецификаций ACPI и PC97
– DMA–контроллер
– Поддержка внешних APIC-компонент
– Поддержка 2-х портов USB
– Поддержка модулей DIMM со стороны SMB (System Management Bus)
– Интегрированный IDE–контроллер с поддержкой Ultra DMA–33
Сравнение i440LX и i440FX:
440FX | 440LX | |
AGP | No | Yes |
SDRAM | No | Yes |
EDO | Yes | Yes |
66Mhz Bus | Yes | Yes |
ECC | Yes | Yes |
DRAM Bank No.(max) | 8 | 8 |
Max. memory per bank | 128MB | 128MB |
Ultra DMA-33 | No | Yes |
ACPI | No | Yes |
I2C(SMBus) | No | Yes |
Чипсет Intel 440BX