ПРЕДВАРИТЕЛЬНОЕ ДЕКОДИРОВАНИЕ ИНСТРУКЦИЙ ПЕРЕМЕННОЙ ДЛИНЫ

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