ТЕХНОЛОГИЯ ПЛАНИРОВАНИЯ ПОТОКОВ

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