RU2003137828A - Обработка необработанной операции в системах с множеством наборов команд - Google Patents

Обработка необработанной операции в системах с множеством наборов команд Download PDF

Info

Publication number
RU2003137828A
RU2003137828A RU2003137828/09A RU2003137828A RU2003137828A RU 2003137828 A RU2003137828 A RU 2003137828A RU 2003137828/09 A RU2003137828/09 A RU 2003137828/09A RU 2003137828 A RU2003137828 A RU 2003137828A RU 2003137828 A RU2003137828 A RU 2003137828A
Authority
RU
Russia
Prior art keywords
instructions
instruction
unprocessed
length
command
Prior art date
Application number
RU2003137828/09A
Other languages
English (en)
Other versions
RU2287178C2 (ru
Inventor
Эдвард Коллес НЭВИЛЛ (GB)
Эдвард Коллес НЭВИЛЛ
Эндрю Кристофер РОУЗ (GB)
Эндрю Кристофер РОУЗ
Original Assignee
Арм Лимитед (Gb)
Арм Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Арм Лимитед (Gb), Арм Лимитед filed Critical Арм Лимитед (Gb)
Publication of RU2003137828A publication Critical patent/RU2003137828A/ru
Application granted granted Critical
Publication of RU2287178C2 publication Critical patent/RU2287178C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Claims (60)

1. Устройство для обработки данных под управлением программных команд из первого набора команд и одного или более дополнительных наборов команд, содержащее детектор необработанной операции, предназначенный для обнаружения необработанной операции программной команды из первого набора команд, и обработчик необработанной команды, предназначенный, после обнаружения необработанной операции, для запуска эмуляции упомянутой команды первого набора команд с использованием одной или более команд из по меньшей мере одного или более дополнительных наборов команд.
2. Устройство по п.1, в котором в качестве упомянутого детектора необработанной операции используется детектор преждевременного прекращения выборки, предназначенный для обнаружения необработанной выборки командного слова.
3. Устройство по п.1, в котором в качестве упомянутого детектора необработанной операции используется детектор необработанной операции с плавающей точкой, предназначенный для обнаружения необработанных операций с плавающей точкой.
4. Устройство по любому из пп.1-3, в котором в качестве упомянутого первого набора команд используется набор команд переменной длины, а в качестве по меньшей мере одного или более дополнительных наборов команд используется набор команд фиксированной длины.
5. Устройство по любому из пп.1-3, в котором в качестве упомянутого первого набора команд используется набор команд переменной длины, а в качестве всех из по меньшей мере одного или более дополнительных наборов команд используются наборы команд фиксированной длины.
6. Устройство по п.4, содержащее блок выборки команд, предназначенный для выборки командных слов фиксированной длины, содержащих подлежащие выполнению программные команды, причем по меньшей мере некоторые программные команды из упомянутого набора команд переменной длины распространяются более, чем на одно командное слово.
7. Устройство по п.6, в котором в качестве упомянутого детектора необработанной операции используется детектор преждевременного прекращения выборки, который после обнаружения необработанной выборки командного слова, которое является вторым или последующим командным словом, содержащим часть команды переменной длины, преждевременно прекращает упомянутую команду переменной длины и запускает эмуляцию упомянутой команды переменной длины с использованием одной или более команд фиксированной длины.
8. Устройство по п.6, в котором в качестве упомянутого детектора необработанной операции используется детектор преждевременного прекращения выборки, который после обнаружения необработанной выборки командного слова, когда определено, что команда переменной длины пересекает границу страницы памяти, преждевременно прекращает выполнение упомянутой команды переменной длины и запускает эмуляцию упомянутой команды переменной длины с использованием одной или более команд фиксированной длины.
9. Устройство по п.6, в котором в качестве упомянутого детектора необработанной операции используется детектор преждевременного прекращения выборки, который после обнаружения необработанной выборки командного слова, когда определено, что упомянутая команда переменной длины начинается в пределах фиксированного количества байт в конце границы страницы памяти, причем это фиксированное количество байт меньше, чем самая длинная команда переменной длины, обрабатываемая устройством для обработки данных под управлением программных команд из первого набора команд, преждевременно прекращает выполнение упомянутой команды переменной длины и запускает эмуляцию упомянутой команды переменной длины с использованием одной или более команд фиксированной длины.
10. Устройство по п.3, в котором множество операций с плавающей точкой можно выполнять во время выполнения одной команды первого набора команд, причем любая из упомянутого множества операций с плавающей точкой может вызвать необработанную операцию с плавающей точкой, и в качестве упомянутого детектора необработанной операции используется детектор необработанной операции с плавающей точкой, предназначенный для обнаружения необработанных операций с плавающей точкой, сгенерированных любой из упомянутого множества операций с плавающей точкой.
11. Устройство по любому из пп.3 и 10, в котором упомянутый детектор необработанной операции не обнаруживает необработанную операцию с плавающей точкой сразу после выполнения команды первого набора команд, вызвавшей необработанную операцию с плавающей точкой, а обнаруживает необработанную операцию с плавающей точкой после выполнения последующей команды первого набора команд, причем детектор необработанной операции выполнен с возможностью преждевременного прекращения выполнения упомянутой последующей команды и запуска эмуляции последующей команды с использованием одной или более команд фиксированной длины.
12. Устройство по п.11, в котором упомянутый детектор необработанной операции обнаруживает необработанную операцию с плавающей точкой, только когда упомянутая последующая команда также вызывает операцию с плавающей точкой.
13. Устройство по п.11, дополнительно содержащее индикатор возникновения для включения обработчика необработанной операции с целью определения того, что возникла необработанная операция с плавающей точкой.
14. Устройство по п.11, дополнительно содержащее индикатор операции для включения определения операции с плавающей точкой, которая вызвала данную необработанную операцию с плавающей точкой.
15. Устройство по п.11, в котором обработчик необработанной операции использует существующие механизмы для обработки необработанных операций перед эмуляцией упомянутой команды первого набора команд.
16. Устройство по п.15, в котором обработчик необработанной операции выполняет команду с плавающей точкой фиксированной длины, причем выполнение данной команды с плавающей точкой фиксированной длины имеет эффект использования существующих механизмов для обработки необработанных операций.
17. Устройство по п.1, в котором второй набор команд является собственным набором команд процессорного ядра, выполняющего упомянутые программные команды.
18. Устройство по п.1, в котором упомянутый первый набор команд является интерпретированным набором команд.
19. Устройство по п.1, в котором первый набор команд содержит команды Java-байт-кодов.
20. Устройство по п.1, дополнительно содержащее логическое средство перезапуска для перезапуска выполнения после упомянутой необработанной операции, причем упомянутое устройство выполнено с возможностью генерирования последовательности одного или более наборов выходных сигналов транслятора, соответствующих командам одного из множества наборов команд, чтобы представить по меньшей мере одну команду из упомянутого множества наборов команд, причем каждая последовательность такова, что никакого изменения не вносится во входные переменные до тех пор, пока не будет выполнена последняя операция в упомянутой последовательности, и после возникновения необработанной операции во время выполнения последовательности операций, представляющих по меньшей мере одну команду из множества наборов команд (i) если необработанная операция возникла до начала выполнения последней операции в упомянутой последовательности, то логическое средство перезапуска перезапускает выполнение на первой операции в упомянутой последовательности, и (ii) если необработанная операция возникла после начала выполнения последней операции в последовательности, то логическое средство перезапуска перезапускает выполнение на следующей команде после упомянутой последовательности.
21. Способ обработки данных под управлением программных команд из первого набора команд и одного или более дополнительных наборов команд, заключающийся в том, что: обнаруживают необработанную операцию программной команды из первого набора команд, и после обнаружения упомянутой необработанной операции запускают эмуляцию упомянутой команды первого набора команд с использованием одной или более команд из по меньшей мере одного или более дополнительных наборов команд.
22. Способ по п.21, в котором при упомянутом обнаружении обнаруживают необработанную выборку командного слова.
23. Способ по п.21, в котором при упомянутом обнаружении обнаруживают необработанные операции с плавающей точкой.
24. Способ по любому из пп.21-23, в котором в качестве первого набора команд используют набор команд переменной длины, а в качестве по меньшей мере одного или более дополнительных наборов команд используют набор команд фиксированной длины.
25. Способ по любому из пп.21-23, в котором в качестве первого набора команд используют набор команд переменной длины, а в качестве всех из по меньшей мере одного или более дополнительных наборов команд используют наборы команд фиксированной длины.
26. Способ по п.24, в котором осуществляют выборку командных слов фиксированной длины, содержащих подлежащие выполнению программные команды, причем по меньшей мере некоторые программные команды из упомянутого набора команд переменной длины распространяются более, чем на одно командное слово.
27. Способ по п.26, в котором после обнаружения необработанной выборки командного слова, которое является вторым или последующим командным словом, содержащим часть команды переменной длины, преждевременно прекращают выполнение упомянутой команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
28. Способ по п.26, в котором после обнаружения необработанной выборки командного слова, когда определено, что упомянутая команда переменной длины пересекает границу страницы памяти, преждевременно прекращают выполнение упомянутой команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
29. Способ по п.26, в котором после обнаружения необработанной выборки командного слова, когда определено, что упомянутая команда переменной длины начинается в пределах фиксированного количества байт в конце границы страницы памяти, причем это фиксированное количество байт меньше, чем самая длинная обрабатываемая команда переменной длины, преждевременно прекращают выполнение упомянутой команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
30. Способ по п.23, в котором множество операций с плавающей точкой можно выполнять во время выполнения одной команды первого набора команд, причем любая из упомянутого множества операций с плавающей точкой может вызвать необработанную операцию с плавающей точкой, и упомянутое обнаружение предназначено для обнаружения необработанных операций с плавающей точкой, сгенерированных любой из упомянутого множества операций с плавающей точкой.
31. Способ по любому из п.п.23 и 30, в котором при упомянутом обнаружении необработанную операцию с плавающей точкой обнаруживают не сразу после выполнения команды первого набора команд, вызвавшей необработанную операцию с плавающей точкой, а после выполнения последующей команды первого набора команд, чтобы преждевременно прекратить выполнение упомянутой следующей команды и запустить эмуляцию упомянутой последующей команды с использованием одной или более команд фиксированной длины.
32. Способ по п.31, в котором при упомянутом обнаружении необработанную операцию с плавающей точкой обнаруживают, только когда упомянутая последующая команда также вызывает операцию с плавающей точкой.
33. Способ по п.31, дополнительно содержащий индикатор возникновения для включения обработчика необработанной операции с целью определения того, что возникла необработанная операция с плавающей точкой.
34. Способ по п.31, в котором дополнительно устанавливают индикатор для включения определения операции с плавающей точкой, которая вызвала необработанную операцию с плавающей точкой.
35. Способ по п.31, в котором при обработке необработанной операции используют существующие механизмы для обработки необработанных операций перед эмуляцией упомянутой команды первого набора команд.
36. Способ по п.35, в котором при обработке необработанной операции выполняют команду с плавающей точкой фиксированной длины, причем выполнение данной команды с плавающей точкой фиксированной длины имеет эффект использования существующих механизмов для обработки необработанных операций.
37. Способ по п.21, в котором упомянутый второй набор команд является собственным набором команд процессорного ядра, выполняющего упомянутые программные команды.
38. Способ по п.21, в котором упомянутый первый набор команд является интерпретированным набором команд.
39. Способ по п.21, в котором упомянутый первый набор команд содержит команды Java-байт-кодов.
40. Способ по п.21, в котором дополнительно генерируют последовательность одного или более наборов выходных сигналов транслятора, соответствующих командам одного из множества наборов команд, чтобы представить по меньшей мере одну команду из упомянутого множества наборов команд, причем каждая последовательность такова, что никакого изменения не вносится во входные переменные до тех пор, пока не будет выполнена последняя операция в упомянутой последовательности, и после возникновения необработанной операции во время выполнения последовательности операций, представляющих по меньшей мере одну команду из множества наборов команд (i) если необработанная операция произошла до начала выполнения последней операции в упомянутой последовательности, то логическое средство перезапуска перезапускает выполнение на первой операции в упомянутой последовательности, и (ii) если необработанная операция произошла после начала выполнения последней операции в упомянутой последовательности, то логическое средство перезапуска перезапускает выполнение на следующей команде после упомянутой последовательности.
41. Компьютерный программный продукт для управления устройством обработки данных с целью обработки данных под управлением программных команд из первого набора команд и одного или более дополнительных наборов команд, содержащий логическое средство обработчика необработанной операции, предназначенное после обнаружения необработанной операции, для запуска эмуляции упомянутой команды набора команд, которая вызвала упомянутую необработанную операцию, с использованием одной или более команд по меньшей мере одного или более дополнительных наборов команд.
42. Компьютерный программный продукт по п.41, в котором необработанной операцией является необработанная выборка командного слова.
43. Компьютерный программный продукт по п.41, в котором необработанной операцией являются одна или более необработанных операций с плавающей точкой.
44. Компьютерный программный продукт по любому из пп.41-43, в котором в качестве первого набора команд используется набор команд переменной длины, а в качестве по меньшей мере одного или более дополнительных наборов команд используется набор команд фиксированной длины.
45. Компьютерный программный продукт по любому из пп.41-43, в котором в качестве первого набора команд используется набор команд переменной длины, а в качестве всех из по меньшей мере одного или более дополнительных наборов команд используются наборы команд фиксированной длины.
46. Компьютерный программный продукт по п.44, в котором производится выборка командных слов фиксированной длины, содержащих подлежащие выполнению команды, причем по меньшей мере некоторые программные команды из набора команд переменной длины распространяются более, чем на одно командное слово.
47. Компьютерный программный продукт по п.46, в котором после обнаружения необработанной выборки командного слова, которое является вторым или последующим командным словом, содержащим часть команды переменной длины, преждевременно прекращают выполнение упомянутой команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
48. Компьютерный программный продукт по п.46, в котором после обнаружения необработанной выборки командного слова, когда определено, что команда переменной длины пересекает границу страницы памяти, преждевременно прекращают выполнение команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
49. Компьютерный программный продукт по п.46, в котором после обнаружения необработанной выборки командного слова, когда определено, что упомянутая команда переменной длины начинается в пределах фиксированного количества байт в конце границы страницы памяти, причем это фиксированное количество байт меньше, чем самая длинная обрабатываемая команда переменной длины, преждевременно прекращают выполнение упомянутой команды переменной длины и запускают ее эмуляцию с использованием одной или более команд фиксированной длины.
50. Компьютерный программный продукт по п.43, в котором множество операций с плавающей точкой можно выполнять во время выполнения одной команды первого набора команд, причем любая из упомянутого множества операций с плавающей точкой может вызвать необработанную операцию с плавающей точкой, и обнаружение необработанных операций с плавающей точкой предназначено для обнаружения необработанных операций с плавающей точкой, вызванных любой из упомянутого множества операций с плавающей точкой.
51. Компьютерный программный продукт по любому из пп.43 и 50, в котором при обнаружении необработанной операции необработанная операция с плавающей точкой обнаруживается не сразу после выполнения команды первого набора команд, вызвавшей необработанную операцию с плавающей точкой, а после выполнения последующей команды первого набора команд, чтобы преждевременно прекратить выполнение упомянутой последующей команды и запустить эмуляцию упомянутой последующей команды с использованием одной или более команд фиксированной длины.
52. Компьютерный программный продукт по п.51, в котором при обнаружении необработанной операции обнаруживают необработанную операцию с плавающей точкой, только когда упомянутая последующая команда также вызывает операцию с плавающей точкой.
53. Компьютерный программный продукт по п.51, дополнительно содержащий логическое средство индикатора возникновения для включения логического средства обработчика необработанной операции с целью определения того, что возникла необработанная операция с плавающей точкой.
54. Компьютерный программный продукт по п.51, дополнительно содержащий логическое средство индикатора операции для включения определения операции с плавающей точкой, которая вызвала необработанную операцию с плавающей точкой.
55. Компьютерный программный продукт по п.51, в котором логическое средство обработчика необработанной операции использует существующие механизмы для обработки необработанных операций перед эмуляцией упомянутой команды первого набора команд.
56. Компьютерный программный продукт по п.55, в котором упомянутое логическое средство обработчика необработанной операции выполняет команду с плавающей точкой фиксированной длины, причем выполнение данной команды с плавающей точкой фиксированной длины имеет эффект использования существующих механизмов для обработки необработанных операций.
57. Компьютерный программный продукт по п.41, в котором второй набор команд является собственным набором команд процессорного ядра, выполняющим упомянутые программные команды.
58. Компьютерный программный продукт по п.41, в котором упомянутый первый набор команд является интерпретированным набором команд.
59. Компьютерный программный продукт по п.41, в котором первый упомянутый набор команд содержит команды Java-байт-кодов.
60. Компьютерный программный продукт по п.41, дополнительно содержащий логическое средство перезапуска, предназначенное для перезапуска выполнения после упомянутой необработанной операции, при этом устройство обработки данных выполнено с возможностью генерирования последовательности одного или более наборов выходных сигналов транслятора, соответствующих командам одного из множества наборов команд, чтобы представить по меньшей мере одну команду из упомянутого множества наборов команд, причем каждая последовательность такова, что никакого изменения не вносится во входные переменные до тех пор, пока не будет выполнена последняя операция в последовательности, и после возникновения необработанной операции во время выполнения последовательности операций, представляющих по меньшей мере одну команду из упомянутого множества наборов команд, (i) если необработанная операция произошла до начала выполнения последней операции в последовательности, то логическое средство перезапуска перезапускает выполнение на первой операции в упомянутой последовательности, и (ii) если необработанная операция произошла после начала выполнения последней операции в последовательности, то логическое средство перезапуска перезапускает выполнение на следующей команде после упомянутой последовательности.
RU2003137828/09A 2001-05-31 2002-02-26 Обработка необработанной операции в системах с множеством наборов команд RU2287178C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0113197A GB2376098B (en) 2001-05-31 2001-05-31 Unhandled operation handling in multiple instruction set systems
GB0113197.8 2001-05-31

Publications (2)

Publication Number Publication Date
RU2003137828A true RU2003137828A (ru) 2005-05-27
RU2287178C2 RU2287178C2 (ru) 2006-11-10

Family

ID=9915615

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003137828/09A RU2287178C2 (ru) 2001-05-31 2002-02-26 Обработка необработанной операции в системах с множеством наборов команд

Country Status (13)

Country Link
US (1) US7162611B2 (ru)
EP (1) EP1402360B1 (ru)
JP (1) JP3732198B2 (ru)
KR (1) KR100864891B1 (ru)
CN (1) CN100524220C (ru)
AU (1) AU2002234762A1 (ru)
DE (1) DE60210613T2 (ru)
GB (1) GB2376098B (ru)
IL (2) IL158791A0 (ru)
MY (1) MY127346A (ru)
RU (1) RU2287178C2 (ru)
TW (1) TWI242159B (ru)
WO (1) WO2002097609A2 (ru)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434030B2 (en) * 2001-09-12 2008-10-07 Renesas Technology Corp. Processor system having accelerator of Java-type of programming language
GB2402764B (en) * 2003-06-13 2006-02-22 Advanced Risc Mach Ltd Instruction encoding within a data processing apparatus having multiple instruction sets
US20080275161A1 (en) * 2004-06-18 2008-11-06 Sang Hyun Hong Flameproof Thermoplastic Resin Composition
US7167971B2 (en) 2004-06-30 2007-01-23 International Business Machines Corporation System and method for adaptive run-time reconfiguration for a reconfigurable instruction set co-processor architecture
US9183011B2 (en) * 2006-10-31 2015-11-10 Oracle America Inc. Method and system for runtime environment emulation
CN101853148B (zh) * 2009-05-19 2014-04-23 威盛电子股份有限公司 适用于微处理器的装置及方法
JP5565228B2 (ja) * 2010-09-13 2014-08-06 ソニー株式会社 プロセッサ
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
WO2013101124A1 (en) 2011-12-29 2013-07-04 Intel Corporation Packed data operation mask comparison processors, methods, systems, and instructions
US9710266B2 (en) * 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
EP2828747A4 (en) * 2012-03-22 2016-04-20 Intel Corp SYSTEMS AND METHODS FOR TREATING HYBRID EMULATION AND CORE FUNCTION
US20150046563A1 (en) * 2012-03-30 2015-02-12 Nec Corporation Arithmetic processing device, its arithmetic processing method, and storage medium storing arithmetic processing program
WO2016145498A1 (pt) * 2015-03-13 2016-09-22 Universidade Estadual De Campinas - Unicamp Método e sistema para emulação de instruções e execução de código legado
CN110750303B (zh) * 2019-09-25 2020-10-20 支付宝(杭州)信息技术有限公司 基于fpga的流水线式指令读取方法及装置

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889243A (en) 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US4236204A (en) 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4587632A (en) 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
US4922414A (en) 1982-12-17 1990-05-01 Symbolics Inc. Symbolic language data processing system
DE3726192A1 (de) 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
US5136696A (en) 1988-06-27 1992-08-04 Prime Computer, Inc. High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions
US5440749A (en) 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US5455775A (en) 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
GB2289353B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing with multiple instruction sets
GB2290395B (en) * 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5638525A (en) 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5752035A (en) 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US5619665A (en) 1995-04-13 1997-04-08 Intrnational Business Machines Corporation Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture
US5838948A (en) 1995-12-01 1998-11-17 Eagle Design Automation, Inc. System and method for simulation of computer systems combining hardware and software interaction
KR100513138B1 (ko) 1996-01-24 2005-09-07 선 마이크로시스템즈 인코퍼레이티드 네트워크 또는 로컬 메모리로부터 수신된 명령 세트를실행하는 프로세서 및 컴퓨터 시스템
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
WO1997027544A1 (en) 1996-01-24 1997-07-31 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
JP3801643B2 (ja) 1996-01-24 2006-07-26 サン・マイクロシステムズ・インコーポレイテッド スタックを用いる演算マシンのための命令フォールディング処理
US5742802A (en) 1996-02-16 1998-04-21 International Business Machines Corporation Method and system for efficiently mapping guest instruction in an emulation assist unit
US6026845A (en) * 1996-04-24 2000-02-22 Bighorn Valve, Inc. Flow, split Venturi, axially-rotated valve
US5905893A (en) * 1996-06-10 1999-05-18 Lsi Logic Corporation Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set
US6031992A (en) 1996-07-05 2000-02-29 Transmeta Corporation Combining hardware and software to provide an improved microprocessor
US5926832A (en) 1996-09-26 1999-07-20 Transmeta Corporation Method and apparatus for aliasing memory data in an advanced microprocessor
US6052530A (en) * 1996-10-09 2000-04-18 Hewlett-Packard Co. Dynamic translation system and method for optimally translating computer code
JP3330378B2 (ja) 1996-11-13 2002-09-30 ラツ,ヤイール リアルタイムプログラム言語アクセラレータ
US5953741A (en) 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
US5937193A (en) 1996-11-27 1999-08-10 Vlsi Technology, Inc. Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof
US6009499A (en) 1997-03-31 1999-12-28 Sun Microsystems, Inc Pipelined stack caching circuit
US5875336A (en) 1997-03-31 1999-02-23 International Business Machines Corporation Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system
US5892966A (en) 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6088786A (en) 1997-06-27 2000-07-11 Sun Microsystems, Inc. Method and system for coupling a stack based processor to register based functional unit
US6003126A (en) 1997-07-01 1999-12-14 International Business Machines Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
US6317872B1 (en) 1997-07-11 2001-11-13 Rockwell Collins, Inc. Real time processor optimized for executing JAVA programs
EP1359501A3 (en) 1997-10-02 2007-11-21 Koninklijke Philips Electronics N.V. A processing device for executing virtual machine instructions
DE69839913D1 (de) 1997-10-02 2008-10-02 Koninkl Philips Electronics Nv Datenverarbeitungsgerät zur verarbeitung von befeh
US6009509A (en) 1997-10-08 1999-12-28 International Business Machines Corporation Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
US6122638A (en) 1997-11-26 2000-09-19 International Business Machines Corporation Object-oriented processor and method for caching intermediate data in an object-oriented processor
US6070173A (en) 1997-11-26 2000-05-30 International Business Machines Corporation Method and apparatus for assisting garbage collection process within a java virtual machine
US6631514B1 (en) * 1998-01-06 2003-10-07 Hewlett-Packard Development, L.P. Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations
US6148391A (en) 1998-03-26 2000-11-14 Sun Microsystems, Inc. System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses
US6374286B1 (en) 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6480952B2 (en) * 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
US6163764A (en) * 1998-10-12 2000-12-19 Intel Corporation Emulation of an instruction set on an instruction set architecture transition
US6332215B1 (en) 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US6338134B1 (en) 1998-12-29 2002-01-08 International Business Machines Corporation Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
US7275246B1 (en) * 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US6297434B1 (en) * 1999-08-11 2001-10-02 Jose Mario Martello Wedge adjustable bridge for stringed instruments
US6718539B1 (en) * 2000-12-22 2004-04-06 Lsi Logic Corporation Interrupt handling mechanism in translator from one instruction set to another

Also Published As

Publication number Publication date
DE60210613T2 (de) 2007-02-08
GB2376098B (en) 2004-11-24
RU2287178C2 (ru) 2006-11-10
TWI242159B (en) 2005-10-21
MY127346A (en) 2006-11-30
KR100864891B1 (ko) 2008-10-22
WO2002097609A3 (en) 2003-12-31
AU2002234762A1 (en) 2002-12-09
EP1402360A2 (en) 2004-03-31
GB2376098A (en) 2002-12-04
CN1522404A (zh) 2004-08-18
IL158791A (en) 2008-07-08
WO2002097609A2 (en) 2002-12-05
EP1402360B1 (en) 2006-04-12
US7162611B2 (en) 2007-01-09
JP3732198B2 (ja) 2006-01-05
CN100524220C (zh) 2009-08-05
KR20040005992A (ko) 2004-01-16
US20020188826A1 (en) 2002-12-12
IL158791A0 (en) 2004-05-12
GB0113197D0 (en) 2001-07-25
JP2004538556A (ja) 2004-12-24
DE60210613D1 (de) 2006-05-24

Similar Documents

Publication Publication Date Title
RU2003137828A (ru) Обработка необработанной операции в системах с множеством наборов команд
US5235686A (en) Computer system having mixed macrocode and microcode
RU2002127807A (ru) Перезапускаемые транслированные команды
EP1390841B1 (en) Data processing using multiple instruction sets
US20110093683A1 (en) Program flow control
RU2003112679A (ru) Аппаратная трансляция команд внутри процессорного конвейера
KR20020039370A (ko) 동적 피드백을 이용한 명령 변환의 제어
US7987347B2 (en) System and method for implementing a zero overhead loop
US7991985B2 (en) System and method for implementing and utilizing a zero overhead loop
KR930016896A (ko) 병렬연산기능을 가지는 계산기
CN113407240B (zh) 一种C64x+ DSP软件流水循环缓冲机制的模拟方法
KR100279511B1 (ko) 피엘시명령어 고속처리 시스템
WO2008137929A1 (en) Test and debug procedure for processor
KR920004433B1 (ko) 데이타 처리 시스템
KR100710220B1 (ko) 디지털 신호처리 방법
KR100329780B1 (ko) 인터럽트 응답 시간을 줄인 인터럽트 처리 장치
JP2002055849A (ja) デバッグ方法
JPS6316350A (ja) マイクロプロセッサ
JPS6330649B2 (ru)
JPS6249502A (ja) プログラマブルコントロ−ラ
JPH03137729A (ja) 先行制御方式
JPH06348538A (ja) デバッガ
JPS6148181B2 (ru)
JPS56166562A (en) Data processor
JPS59158449A (ja) デバツグ装置

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20070227