Программная модель ЦП Pentium
Программная модель ЦП включает три группы регистров данных (рис. 3.3), в каждой из групп по восемь регистров. Первая группа включает 32-разрядные целочисленные регистры, вторая – 80-разрядные регистры и третья – 128-разрядные регистры.
Расширение ММХ использует новые типы упакованных 64-разрядных данных:
- упакованные байты - восемь байт;
- упакованные слова - четыре 16-разрядных слова;
- упакованные двойные слова (два 32-разрядных слова);
- учетверенное слово (одно 64-разрядное слово).
Эти типы данных могут обрабатываться в восьми 64-разрядных регистрах MMX0 - MMX7, которые фактически являются частью регистров АП. В систему команд для поддержки MMX введено 57 дополнительных команд для одновременной обработки нескольких единиц данных. Команды ММХ доступны из любого режима работы процессора. Команды MMX выполняются так же, как и команды с плавающей точкой. Более того, механизм сохранения и восстановления состояния вычислительной среды, принятый для операций с плавающей точкой, применим и при выполнении ММХ-вычислений.
Рис. 3.3. Регистры данных ЦП Pentium IV
SSE-расширение реализовано в виде аппаратно-программного модуля,
который включает регистры третьей группы разрядностью в 128 бит, имеющих обозначение ХММО - ХММ7, и 32-разрядный регистр управления/состояния MXCSR (рис. 3.4). Программная часть SSE-расширения включает в себя набор SSE-команд для работы с данными с плавающей запятой. Содержимое ХММ-регистра может представлять собой:
· четыре 32-разрядных операнда с плавающей запятой в КВФ (рис. 2.1);
· два 64-разрядных операнда с плавающей запятой в ДВФ (рис. 2.1);
· один 128-разрядный операнд, представляющий числа в диапазоне от
2-126 до 2127.
Поскольку аппаратно модуль SSE-расширения реализован независимо от
других модулей, то это позволяет выполнять SSE-комапды параллельно с командами АП и ММХ-командами.
Рис. 3.4. Младшие 16 разрядов регистра управления-состояния MXCSR
В процессе обработки данных команды SSE-расширения могут возбуждать исключительные ситуации, аналогичные тем которые были описаны в разделе 2.2. Эти события фиксируются в регистре MXCSR. Старшие 16 разрядов регистра управления-состояния не используются. Все поля регистра, за исключением FZ, обозначаются и используются аналогично соответствующим полям регистров SR и CR арифметического процессора, описанном в 2.2. Бит FZ используется, если результат операции близок к нулю. При этом ЦП выполняет следующие действия:
• возвращает значение 0 и знак результата;
• устанавливает флаги Р (бит 5) и U (бит 4);
• маскирует биты исключений.
Перед тем как создавать программы, использующие MMX- и SSE-расширения, следует убедиться в том, что данный тип процессора поддерживает эту технологию. В разделе 6.3 приводится пример такой проверки.
Дата добавления: 2015-12-22; просмотров: 803;