RU2003137828A - Обработка необработанной операции в системах с множеством наборов команд - Google Patents
Обработка необработанной операции в системах с множеством наборов команд Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims 24
- 238000004590 computer program Methods 0.000 claims 19
- 238000001514 detection method Methods 0.000 claims 7
- 230000007246 mechanism Effects 0.000 claims 6
- 238000005070 sampling Methods 0.000 claims 4
- 230000003213 activating effect Effects 0.000 claims 3
- 230000000694 effects Effects 0.000 claims 3
- 230000002028 premature Effects 0.000 claims 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract 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) если необработанная операция произошла после начала выполнения последней операции в последовательности, то логическое средство перезапуска перезапускает выполнение на следующей команде после упомянутой последовательности.
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)
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)
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 |
-
2001
- 2001-05-31 GB GB0113197A patent/GB2376098B/en not_active Expired - Lifetime
-
2002
- 2002-02-26 IL IL15879102A patent/IL158791A0/xx unknown
- 2002-02-26 DE DE60210613T patent/DE60210613T2/de not_active Expired - Lifetime
- 2002-02-26 WO PCT/GB2002/000858 patent/WO2002097609A2/en active IP Right Grant
- 2002-02-26 JP JP2003500725A patent/JP3732198B2/ja not_active Expired - Lifetime
- 2002-02-26 RU RU2003137828/09A patent/RU2287178C2/ru not_active IP Right Cessation
- 2002-02-26 AU AU2002234762A patent/AU2002234762A1/en not_active Abandoned
- 2002-02-26 EP EP02701432A patent/EP1402360B1/en not_active Expired - Lifetime
- 2002-02-26 CN CNB02811101XA patent/CN100524220C/zh not_active Expired - Lifetime
- 2002-02-26 KR KR1020037015480A patent/KR100864891B1/ko active IP Right Grant
- 2002-03-12 MY MYPI20020883A patent/MY127346A/en unknown
- 2002-05-02 US US10/136,346 patent/US7162611B2/en active Active
- 2002-05-13 TW TW091109945A patent/TWI242159B/zh not_active IP Right Cessation
-
2003
- 2003-11-06 IL IL158791A patent/IL158791A/en unknown
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 |