ЭФФЕКТИВНАЯ ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ИСКЛЮЧЕНИЯ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ В ПРОЦЕССОРЕ

1. Способ обработки исключения с плавающей запятой в процессоре, который выполняет инструкции с одним потоком команд и множеством потоков данных (ОКМД), способ, содержащий:
идентифицируют числовое исключение для операции с плавающей запятой ОКМД;
инициируют первую микрооперацию ОКМД для генерирования первого пакетного частичного результата для операции с плавающей запятой ОКМД;
инициируют вторую микрооперацию ОКМД для генерирования второго пакетного частичного результата для операции с плавающей запятой ОКМД;
инициируют микрооперацию денормализации ОКМД для комбинирования первого и второго пакетных частичных результатов и для денормализации первого элемента комбинированных первого и второго пакетных частичных результатов, для генерирования третьего пакетного результата, имеющего денормализованный элемент;
сохраняют третий пакетный результат для операции с плавающей запятой ОКМД; и
устанавливают флаг, идентифицирующий денормализованный элемент третьего пакетного результата в упомянутом первом пакетном частичном результате.
2. Способ по п.1, дополнительно содержащий:
инициируют микрооперацию нормализации ОКМД по первому пакетному частичному результату для операции с плавающей запятой ОКМД.
3. Способ по п.1, в котором набор из одного или больше пакетных операндов источника, используемых для формирования первого и второго пакетных частичных результатов для операции с плавающей запятой ОКМД, сохраняют в их исходной шириной представления.
4. Способ по п.1 дополнительно содержащий:
инициируют микрооперацию нормализации ОКМД, если операция с плавающей запятой ОКМД должна быть выполнена, по меньшей мере, частично умножителем с плавающей запятой ОКМД.
5. Способ по п.3, в котором микрооперация нормализации ОКМД нормализует второй элемент в псевдовнутреннем представлении с плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, причем второй элемент соответствует денормализованному элементу пакетного операнда для операции с плавающей запятой ОКМД.
6. Способ по п.5, в котором флаг сохраняют с псевдовнутренним представлением с плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, идентифицирующим второй элемент как соответствующий упомянутому денормализованному элементу.
7. Изделие, содержащее:
считываемый устройством носитель информации, включающий в себя данные и инструкции для обработки числового исключения для операции с плавающей запятой ОКМД, которые при доступе к ним устройства обеспечивают, что устройство:
инициирует первую микрооперацию ОКМД для генерирования первого пакетного частичного результата для операции с плавающей запятой ОКМД;
инициирует вторую микрооперацию ОКМД для генерирования второго пакетного частичного результата для операции с плавающей запятой ОКМД;
инициирует микрооперацию денормализации ОКМД для комбинирования первого и второго пакетных частичных результатов и для денормализации первого элемента комбинированных первого и второго пакетных частичных результатов для генерирования третьего пакетного результата, имеющего денормализованный элемент;
сохраняет третий пакетный результат для операции с плавающей запятой ОКМД; и
устанавливает флаг, идентифицирующий денормализованный элемент третьего пакетного результата в упомянутом первом пакетном частичном результате.
8. Изделие по п.7, в котором считываемый устройством носитель информации включает в себя данные и инструкции, которые при доступе к ним устройства обеспечивают, что устройство:
инициирует микрооперацию нормализации ОКМД для первого пакетного частичного результата для операции с плавающей запятой ОКМД.
9. Изделие по п.7, в котором набор из одного или больше пакетных операндов источника, используемых для формирования первого и второго пакетных частичных результатов для операции с плавающей запятой ОКМД, сохраняют с их исходной шириной представления.
10. Изделие по п.7, причем упомянутый носитель информации, к которому обращается устройство, включает в себя такие данные и инструкции, которые при доступе к ним устройства обеспечивают, что устройство:
инициирует микрооперацию нормализации ОКМД, если операция с плавающей запятой ОКМД должна быть выполнена, по меньшей мере, частично умножителем с плавающей запятой ОКМД.
11. Изделие по п.10, в котором микрооперация нормализации ОКМД нормализует второй элемент в псевдовнутреннее представление с плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, причем второй элемент, соответствует денормализованному элементу пакетного операнда для операции с плавающей запятой ОКМД.
12. Изделие по п.11, в котором флаг сохраняют с псевдовнутренним представлением с плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, идентифицирующей второй элемент, как соответствующий упомянутому денормализованному элементу.
13. Устройство для выполнения операции суммирования с плавающей запятой ОКМД, содержащее:
первую схему детектирования денормализованного элемента, предназначенную для детектирования денормализованного первого элемента первого пакетного операнда для операции суммирования с плавающей запятой ОКМД;
вторую схему детектирования денормализованного элемента, предназначенную для детектирования, является ли соответствующий второй элемент второго пакетного операнда для операции суммирования с плавающей запятой ОКМД также денормализованным;
схему совмещения, предназначенную для совмещения мантиссы денормализованного первого элемента с мантиссой соответствующего второго элемента в соответствии с несмещенной разностью показателя степени, если соответствующий второй элемент не является также денормализованным элементом;
схему сумматора, предназначенную для суммирования мантиссы первого элемента и мантиссы второго элемента, и для нормализации полученной суммы, если определяют, что получаемая в результате сумма может присутствовать как нормальный элемент полученного результата пакетного результата для операции суммирования с плавающей запятой ОКМД; и
схему сохранения результата, предназначенную для сохранения пакетного результата для операции суммирования с плавающей запятой ОКМД и для сохранения флага, идентифицирующего результат суммирования как денормализованный элемент результата для пакетного результата, если определяют, что полученная в результате сумма не может быть представлена как нормальный элемент результата пакетного результата для операции суммирования с плавающей запятой ОКМД.
14. Устройство по п.13, имеющее режим обработки численных исключений, в котором первый пакетный частичный результат и второй пакетный частичный результат сохраняют для операции суммирования с плавающей запятой ОКМД.
15. Устройство по п.13, содержащее:
схему нормализации, предназначенную для нормализации первого пакетного частичного результата, сохраненного для операции суммирования с плавающей запятой ОКМД.
16. Процессор, содержащий:
файл регистра, предназначенный для сохранения множества пакетных операндов с плавающей запятой и множества пакетных результатов с плавающей запятой для операций с плавающей запятой ОКМД;
схему генерирования исключения, предназначенную для идентификации численного исключения для первой операции с плавающей запятой ОКМД;
обработчик исключения микрокода, который реагирует на численное исключение, инициируя первую микрооперацию ОКМД, для генерирования первого пакетного результата для операции с плавающей запятой ОКМД;
обработчик исключения микрокода, дополнительно реагирующий на числовое исключение, для инициирования второй микрооперации ОКМД, для генерирования второго пакетного результата для операции с плавающей запятой ОКМД;
обработчик исключения микрокода, дополнительно реагирующий на числовые исключения, для инициирования микрооперации денормализации ОКМД: для комбинирования первого и второго пакетных результатов, для денормализации элемента комбинированных первого и второго пакетных результатов, для генерирования третьего пакетного результата, имеющего денормализованный элемент, для сохранения третьего пакетного результата для операции с плавающей запятой ОКМД, и для установки флага, идентифицирующего денормализованный первый элемент третьего пакетного результата в упомянутом первом пакетном результате.
17. Процессор по п.16, в котором первый пакетный результат и второй пакетный результат содержат пару пакетных частичных результатов, имеющих биты суммирования показателя степени и биты мантиссы при поддержке операций с плавающей запятой ОКМД, которые формируют или потребляют пакетные данные, имеющие денормализованные элементы.
18. Процессор по п.16, дополнительно содержащий модуль суммирования с плавающей запятой ОКМД для:
детектирования денормализованного первого элемента первого пакетного операнда для операции суммирования с плавающей запятой ОКМД;
детектирования, является ли соответствующий второй элемент второго пакетного операнда для операции суммирования с плавающей запятой ОКМД также денормализованным элементом;
выравнивают мантиссу денормализованного первого элемента с мантиссой соответствующего второго элемента в соответствии с несмещенной разностью показателя степени, если соответствующий элемент не является также денормализованным;
суммируют мантиссы первого и мантиссы второго элементов, и для нормализации результата суммирования, если он определяет, что результат суммирования может представлять нормальный элемент - результат для пакетного результата операции суммирования с плавающей запятой ОКМД;
сохраняют пакетный результат для операции суммирования с плавающей запятой ОКМД; и
устанавливают флаг, обозначающий результат суммирования как нормальный элемент - результат для пакетного результата, если определяют, что результат суммирования может представлять нормальный элемент - результат.
19. Процессор по п.16, причем обработчик исключения микрокода дополнительно реагирует на числовые исключения для инициирования микрооперации нормализации ОКМД, если операция с плавающей запятой ОКМД должна быть выполнена, по меньшей мере, частично умножителем с плавающей запятой ОКМД.
20. Процессор по п.19, в котором пакетные результаты микрооперации нормализации ОКМД сохраняют с их исходной шириной представления.
21. Процессор по п.19, в котором микрооперация нормализации ОКМД нормализует первый элемент в псевдовнутреннее представление с плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, причем первый элемент соответствует денормализованному элементу пакетного операнда для операции с плавающей запятой ОКМД.
22. Способ по п.21, в котором флаг сохраняют с псевдовнутренним представлением плавающей запятой пакетного операнда для операции с плавающей запятой ОКМД, идентифицирующей первый элемент, как соответствующий упомянутому денормализованному элементу.