RU2003115617A - Способ и устройство обработки данных для сохранения возвратного состояния - Google Patents

Способ и устройство обработки данных для сохранения возвратного состояния

Info

Publication number
RU2003115617A
RU2003115617A RU2003115617/09A RU2003115617A RU2003115617A RU 2003115617 A RU2003115617 A RU 2003115617A RU 2003115617/09 A RU2003115617/09 A RU 2003115617/09A RU 2003115617 A RU2003115617 A RU 2003115617A RU 2003115617 A RU2003115617 A RU 2003115617A
Authority
RU
Russia
Prior art keywords
data processing
stack
mode
return state
processor
Prior art date
Application number
RU2003115617/09A
Other languages
English (en)
Other versions
RU2275679C2 (ru
Inventor
Эдвард Коллес НЭВИЛЛ
Ян Виктор ДЕВЕРЕ
Original Assignee
Арм Лимитед
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
Priority claimed from GB0028869A external-priority patent/GB2369464B/en
Application filed by Арм Лимитед filed Critical Арм Лимитед
Publication of RU2003115617A publication Critical patent/RU2003115617A/ru
Application granted granted Critical
Publication of RU2275679C2 publication Critical patent/RU2275679C2/ru

Links

Claims (18)

1. Устройство обработки данных, содержащее процессор для выполнения команд обработки данных, имеющий несколько режимов функционирования, каждый из которых имеет соответствующий стек для хранения данных, соответствующих этому режиму, причем процессор выполнен с возможностью записей в зависимости от команды обработки данных возвратного состояния данных возвратного состояния процессора из текущего режима функционирования в стек, соответствующий режиму функционирования, отличному от текущего режима функционирования, при этом оставаясь в текущем режиме функционирования.
2. Устройство обработки данных по п.1, в котором команда обработки данных возвратного состояния вызывается при возникновении исключительной ситуации.
3. Устройство обработки данных по п.2, в котором исключительной ситуацией является любая исключительная ситуация из предварительно определенного множества исключительных ситуаций.
4. Устройство обработки данных по п.3, в котором предварительно определенное множество исключительных ситуаций включает в себя одно или большее количество прерываний.
5. Устройство обработки данных по любому из предыдущих пунктов, дополнительно содержащее множество регистров, включающее в себя несколько регистров возвратного состояния для сохранения данных возвратного состояния процессора для каждого режима функционирования, причем процессор выполнен с возможностью доступа только к регистрам возвратного состояния, содержащим данные возвратного состояния процессора, из текущего режима функционирования.
6. Устройство обработки данных по любому из предыдущих пунктов, в котором каждый стек имеет соответствующий ему указатель стека, идентифицирующий местоположение внутри стека, причем указатель стека для определенного стека является доступным только из соответствующего режима функционирования.
7. Устройство обработки данных по пп.5 и 6, в котором множество регистров включает в себя несколько регистров указателя стека для сохранения указателей стека для каждого стека, причем процессор выполнен с возможностью доступа только к регистру указателя стека, содержащему указатель стека для стека, соответствующего текущему режиму функционирования.
8. Устройство обработки данных по любому из предыдущих пунктов, в котором команда обработки данных возвратного состояния содержит поле идентификатора стека для идентификации стека, в который будут записаны данные возвратного состояния процессора.
9. Устройство обработки данных по п.8, в котором поле идентификатора стека предназначено для определения указателя стека для стека, в который будут записаны данные возвратного состояния процессора, с возможностью доступа процессора к соответствующему местоположению в указанном стеке при записи в указанный стек данных возвратного состояния.
10. Устройство обработки данных по п.9, в котором команда обработки данных возвратного состояния содержит факультативное поле обновления, которое устанавливается для указания необходимости обновления указателя стека при записи в стек данных возвратного состояния.
11. Устройство обработки данных по любому из пп.8-10, в котором команда обработки данных возвратного состояния содержит поле режима адресации для идентификации режима адресации стека, в который будут записаны данные возвратного состояния.
12. Устройство обработки данных по любому из пп.8-11, в котором команда обработки данных возвратного состояния содержит поле условия для определения условия выполнения команды обработки данных возвратного состояния, так чтобы команда обработки данных возвратного состояния выполнялась процессором только при выполнении указанного условия.
13. Устройство обработки данных по любому из предыдущих пунктов, в котором текущим режимом функционирования является режим исключительной ситуации, а отличным режимом функционирования является привилегированный режим функционирования.
14. Устройство обработки данных по любому из предыдущих пунктов, в котором текущим режимом функционирования является режим исключительной ситуации, а отличным режимом функционирования является режим функционирования процессора до входа в режим исключительной ситуации.
15. Устройство обработки данных по любому из предыдущих пунктов, в котором данные возвратного состояния содержат сохраненный счетчик команд и сохраненное состояние процессора.
16. Способ функционирования устройства обработки данных, содержащий процессор для выполнения команд обработки данных, который имеет несколько режимов функционирования, каждый режим функционирования имеет соответствующий стек для сохранения данных, соответствующих этому режиму, при этом способ включает в себя этап, согласно которому в зависимости от команды обработки данных возвратного состояния производят вызов записи процессором данных возвратного состояния процессора из текущего режима функционирования в стек, соответствующий режиму функционирования, отличному от текущего режима функционирования, при этом оставаясь в текущем режиме функционирования.
17. Компьютерная программа, функционирующая для конфигурирования устройства обработки данных для выполнения способа по п.16.
18. Программоноситель, содержащий компьютерную программу по п.17.
RU2003115617/09A 2000-11-27 2001-09-24 Способ и устройство обработки данных для сохранения возвратного состояния RU2275679C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0028869.6 2000-11-27
GB0028869A GB2369464B (en) 2000-11-27 2000-11-27 A data processing apparatus and method for saving return state

Publications (2)

Publication Number Publication Date
RU2003115617A true RU2003115617A (ru) 2004-10-10
RU2275679C2 RU2275679C2 (ru) 2006-04-27

Family

ID=9903938

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003115617/09A RU2275679C2 (ru) 2000-11-27 2001-09-24 Способ и устройство обработки данных для сохранения возвратного состояния

Country Status (13)

Country Link
US (1) US6904517B2 (ru)
EP (1) EP1337918B1 (ru)
JP (2) JP5295475B2 (ru)
KR (1) KR100848603B1 (ru)
CN (1) CN1227589C (ru)
AU (1) AU2001287927A1 (ru)
DE (1) DE60139567D1 (ru)
GB (1) GB2369464B (ru)
IL (2) IL155407A0 (ru)
MY (1) MY127357A (ru)
RU (1) RU2275679C2 (ru)
TW (1) TW556093B (ru)
WO (1) WO2002042914A1 (ru)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584964B1 (ko) * 1996-01-24 2006-05-29 선 마이크로시스템즈 인코퍼레이티드 스택 메모리 구조에서의 캐싱 장치
US6880030B2 (en) * 2000-12-13 2005-04-12 Wind River Systems, Inc. Unified exception handling for hierarchical multi-interrupt architectures
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US7496896B2 (en) * 2003-07-17 2009-02-24 Computer Associates Think, Inc. Accessing return values and exceptions
CN100535862C (zh) * 2004-11-30 2009-09-02 皇家飞利浦电子股份有限公司 优先化任务之间的有效切换
US7853960B1 (en) 2005-02-25 2010-12-14 Vmware, Inc. Efficient virtualization of input/output completions for a virtual device
US7877629B2 (en) * 2005-06-01 2011-01-25 Sanmina-Sci Facilitating handling of exceptions in a program implementing a M-on-N threading model
TW200719141A (en) * 2005-11-07 2007-05-16 Cheertek Inc Flash memory access method and circuit of an embedded system
JP4961781B2 (ja) * 2006-03-14 2012-06-27 ソニー株式会社 情報処理装置、その起動方法およびプログラム
US7797681B2 (en) * 2006-05-11 2010-09-14 Arm Limited Stack memory selection upon exception in a data processing system
US7681022B2 (en) * 2006-07-25 2010-03-16 Qualcomm Incorporated Efficient interrupt return address save mechanism
EP2150889A1 (en) * 2007-04-10 2010-02-10 Cambridge Consultants Limited Data processing apparatus
US7979685B1 (en) 2007-11-27 2011-07-12 Oracle America, Inc. Multiple instruction execution mode resource-constrained device
WO2010004245A1 (en) * 2008-07-10 2010-01-14 Cambridge Consultants Limited Processor with push instruction
US7853827B2 (en) * 2008-08-29 2010-12-14 International Business Machines Corporation Isotropic processor
GB2478733B (en) 2010-03-15 2013-08-14 Advanced Risc Mach Ltd Apparatus and method for handling exception events
US20120054773A1 (en) * 2010-08-31 2012-03-01 International Business Machines Corporation Processor support for secure device driver architecture
US9405637B2 (en) 2011-01-18 2016-08-02 Texas Instruments Incorporated Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting
US9477834B2 (en) * 2012-02-08 2016-10-25 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
US9116711B2 (en) 2012-02-08 2015-08-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
US9213828B2 (en) 2012-02-08 2015-12-15 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
GB2499287A (en) * 2012-02-08 2013-08-14 Advanced Risc Mach Ltd Exception handling in data processing with different security domains
US9202071B2 (en) 2012-02-08 2015-12-01 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US9672164B2 (en) 2012-05-31 2017-06-06 Nxp Usa, Inc. Methods and systems for transitioning between a user state and a supervisor state based on a next instruction fetch address
CN103268145B (zh) * 2013-03-06 2016-08-17 上海云间半导体科技有限公司 用于保存访存指令的虚拟地址的方法
GB2538091B (en) * 2015-05-07 2018-03-14 Advanced Risc Mach Ltd Verifying correct code execution context
GB2543306B (en) * 2015-10-14 2019-05-01 Advanced Risc Mach Ltd Exception handling
CN109409086B (zh) * 2018-09-21 2021-04-13 中国科学院信息工程研究所 基于新增指令的检测堆栈中返回地址被篡改的装置
CN109409083B (zh) * 2018-09-21 2021-04-13 中国科学院信息工程研究所 检测堆栈中返回地址被篡改的装置
CN115080122A (zh) * 2022-07-22 2022-09-20 飞腾信息技术有限公司 处理器、用于保存和恢复上下文数据的装置、方法及芯片

Family Cites Families (50)

* 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
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
DE3726192A1 (de) 1987-08-06 1989-02-16 Otto Mueller Stacksteuerung
JPH01258040A (ja) * 1988-04-07 1989-10-16 Fujitsu Ltd スタック情報の退避,復元処理方式
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
JP3212656B2 (ja) * 1991-02-08 2001-09-25 株式会社日立製作所 データ処理システム及びマイクロコンピュータ
US5303378A (en) * 1991-05-21 1994-04-12 Compaq Computer Corporation Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
JP2585905B2 (ja) * 1991-10-18 1997-02-26 松下電器産業株式会社 マルチタスク実行装置
US5640548A (en) * 1992-10-19 1997-06-17 Motorola, Inc. Method and apparatus for unstacking registers in a data processing system
US5455775A (en) 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
GB2289353B (en) 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Data processing 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
KR100618756B1 (ko) 1996-01-24 2007-05-04 선 마이크로시스템즈 인코퍼레이티드 네트워크또는로컬메모리로부터수신된명령세트를실행하는프로세서및컴퓨터시스템
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US6014723A (en) 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
WO1997027536A1 (en) 1996-01-24 1997-07-31 Sun Microsystems, Inc. Instruction folding for a stack-based machine
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
US5761491A (en) * 1996-04-15 1998-06-02 Motorola Inc. Data processing system and method for storing and restoring a stack pointer
US6031992A (en) 1996-07-05 2000-02-29 Transmeta Corporation Combining hardware and software to provide an improved microprocessor
JPH10105415A (ja) * 1996-09-25 1998-04-24 Nippon Denki Micom Technol Kk リアルタイムos
US5926832A (en) 1996-09-26 1999-07-20 Transmeta Corporation Method and apparatus for aliasing memory data in an advanced microprocessor
EP0938703B1 (en) 1996-11-13 2003-07-02 Paran, Arik Real time program language accelerator
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
US5953741A (en) 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
US6003038A (en) * 1997-03-31 1999-12-14 Sun Microsystems, Inc. Object-oriented processor architecture and operating method
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
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
US5892966A (en) 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
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
WO1999018486A2 (en) 1997-10-02 1999-04-15 Koninklijke Philips Electronics N.V. Data processing device for processing virtual machine instructions
EP1359501A3 (en) 1997-10-02 2007-11-21 Koninklijke Philips Electronics N.V. A processing device for executing virtual machine instructions
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
US6000029A (en) 1997-11-03 1999-12-07 Motorola, Inc. Method and apparatus for affecting subsequent instruction processing in a data processor
JPH11143732A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd マイクロコンピュータ及びエミュレータ
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
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
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
FR2779842B1 (fr) * 1998-06-15 2001-07-13 Schlumberger Ind Sa Procede de gestion de l'execution d'un programme dans un dispositif a circuit integre
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
JP4072271B2 (ja) * 1999-02-19 2008-04-09 株式会社日立製作所 複数のオペレーティングシステムを実行する計算機

Similar Documents

Publication Publication Date Title
RU2003115617A (ru) Способ и устройство обработки данных для сохранения возвратного состояния
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
KR870011524A (ko) 마이크로프로세서칩의 스택프레임캐시
US7941652B2 (en) Apparatus and computer program product for implementing atomic data tracing
RU98113914A (ru) Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистра
KR940015852A (ko) 긴 명령 워드를 갖는 처리기
US7523446B2 (en) User-space return probes
US7870541B1 (en) Context tracing for software with a frame pointer and a stack pointer and with a stack pointer but without a frame pointer
US20110173613A1 (en) Virtual Machine Control Structure Identification Decoder
ATE381057T1 (de) Hidden-job-startpräperation in einem anweisungsparallelen prozessorsystem
EP1125199B1 (en) Method of debugging a program thread
KR880014471A (ko) 가상 머신 시스템용의 게스트 머신 실행 제어시스템
JPH0916409A (ja) マイクロコンピュータ
DE60102777D1 (de) Vorrichtung und verfahren zur verminderung von datenschreibverkehr in prozessoren mit ausnahmeroutinen
JP2002157115A5 (ru)
JP2000339189A (ja) 不正なメモリアクセスを検出する方法、デバッグ装置および記録媒体
US20090241111A1 (en) Recording medium having instruction log acquiring program recorded therein and virtual computer system
JP2002149444A (ja) ソフトウェア試験システム及びソフトウェア試験方法及びソフトウェア試験方法を計算機で実現するためのプログラムを記録した計算機で読み取り可能なプログラム記録媒体及びソフトウェア試験方法を計算機で実現するためのプログラム
JPS60238948A (ja) 計算機システムの処理時間測定装置
JP2798275B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US7281166B1 (en) User-customizable input error handling
JP2980327B2 (ja) 命令処理装置
Yang et al. A RISC-V On-chip Operating System Based on Rust
KR920008597A (ko) 마이크로 컴퓨터
CN117215649A (zh) 系统寄存器访问方法、装置、设备及存储介质