ення і 80-розрядних регістрів речової арифметики, а також 64 однорозрядних предикатних регістра. Всі вони доступні для програмування; крім того, є безліч недоступних внутрішніх службових регістрів, використовуваних самим процесором. 64 однорозрядних регістру використовуються для організації логіки передбачення розгалуження і виконання команд в порядку, відмінному від послідовного. p align="justify"> Для досягнення явного паралелізму у формат команд IA-64 введені додаткові розряди маски, які явно вказують на залежності між командами. Досі завдання визначення таких залежностей повністю лягала на апаратуру процесора. Тут же вводиться поняття груп команд. Всі вони незалежні, і їх слід видавати на виконання в різні виконавчі пристрої. Розряди маски вказують на залежності не тільки всередині кількох команд, але й між групами команд. За три команди IA-64 об'єднуються в так звану в'язку, що має ємність 128 розрядів. Зв'язка містить три команди і шаблон, в якому зазначено, які є залежності між командами (наприклад, чи можна з першою командою запустити паралельно другу або ж вона повинна виконатися тільки після першої і т. п.). p align="justify"> У деяких процесорах активно використовуються методики передбачення розгалужень і спекулятивного виконання. Однак в існуючих на сьогодні моделях дуже багато часу йде на обчислення гілок програми, які згодом не використовуються. p align="justify"> Інша справа Itanium. Якщо у вихідній програмі зустрічається умовне розгалуження, то команди з різних гілок позначаються різними предикативними регістрами (команди мають для цього предикатні поля); далі вони виконуються спільно, але їх результати не записуються, поки значення предикатних регістрів не визначені. Коли, нарешті, обчислюється умова розгалуження, предикатний регістр, відповідний правильної гілки, встановлюється в 1, а інший - в 0. Перед записом результатів процесор перевіряє предикатное поле і записує результати тільки тих команд, предикатное поле яких містить предикатний розряд, встановлений в одиницю. p align="justify"> Ще одна особливість архітектури Itanium - пророкування і виконання за припущенням. Цей механізм повинен знизити простої процесора, пов'язані з очікуванням виконання команд завантаження з відносно повільною основної пам'яті. Компілятор переміщує команди завантаження даних з пам'яті так, щоб вони виконалися якомога раніше. Отже, коли дані з пам'яті знадобляться небудь команді, процесор не буде простоювати. Приміщення таким чином інструкції називаються командами завантаження за припущенням і позначаються особливим чином. А безпосередньо перед командою, використовує файли за припущенням дані, компілятор вставить команду перевірки припущення. p align="justify"> Якщо при виконанні завантаження за припущенням виникне виняткова ситуація, процесор згенерує виняток лише тоді, коли поверне команду перевірки припущення. Якщо, наприклад, команда завантаження виноситься з розгалуження, а гілка, з якої вона винес...