Процессоры, способы, системы и команды для сложения трех операндов-источников с плавающей запятой - RU2016135016A

Код документа: RU2016135016A

Формула

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

Авторы

Заявители

СПК: G06F7/485

Публикация: 2018-03-01

Дата подачи заявки: 2014-05-27

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам