ИНСТРУКЦИЯ И ЛОГИКА ДЛЯ ИДЕНТИФИКАЦИИ ИНСТРУКЦИЙ ДЛЯ УДАЛЕНИЯ В МНОГОПОТОЧНОМ ПРОЦЕССОРЕ С ИЗМЕНЕНИЕМ ПОСЛЕДОВАТЕЛЬНОСТИ

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