KR101847889B1 - 프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용 - Google Patents

프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용 Download PDF

Info

Publication number
KR101847889B1
KR101847889B1 KR1020147025017A KR20147025017A KR101847889B1 KR 101847889 B1 KR101847889 B1 KR 101847889B1 KR 1020147025017 A KR1020147025017 A KR 1020147025017A KR 20147025017 A KR20147025017 A KR 20147025017A KR 101847889 B1 KR101847889 B1 KR 101847889B1
Authority
KR
South Korea
Prior art keywords
mode
processor
execution mode
execution
bits
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020147025017A
Other languages
English (en)
Korean (ko)
Other versions
KR20140123576A (ko
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
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140123576A publication Critical patent/KR20140123576A/ko
Application granted granted Critical
Publication of KR101847889B1 publication Critical patent/KR101847889B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
KR1020147025017A 2012-02-07 2013-02-07 프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용 Active KR101847889B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261595773P 2012-02-07 2012-02-07
US61/595,773 2012-02-07
US13/655,499 2012-10-19
US13/655,499 US10055227B2 (en) 2012-02-07 2012-10-19 Using the least significant bits of a called function's address to switch processor modes
PCT/US2013/025187 WO2013119842A1 (en) 2012-02-07 2013-02-07 Using the least significant bits of a called function's address to switch processor modes

Publications (2)

Publication Number Publication Date
KR20140123576A KR20140123576A (ko) 2014-10-22
KR101847889B1 true KR101847889B1 (ko) 2018-04-11

Family

ID=48903962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025017A Active KR101847889B1 (ko) 2012-02-07 2013-02-07 프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용

Country Status (6)

Country Link
US (1) US10055227B2 (enExample)
EP (1) EP2812792B1 (enExample)
JP (1) JP6189866B2 (enExample)
KR (1) KR101847889B1 (enExample)
CN (1) CN104106044B (enExample)
WO (1) WO2013119842A1 (enExample)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160117961A (ko) 2015-04-01 2016-10-11 에스케이케미칼주식회사 이차 전지용 전해액 조성물 및 이를 포함하는 이차 전지
US10152338B2 (en) * 2016-12-14 2018-12-11 International Business Machines Corporation Marking external sibling caller routines
FR3097345B1 (fr) * 2019-06-13 2021-06-25 Stmicroelectronics Grand Ouest Sas Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant
US10802854B2 (en) * 2019-08-30 2020-10-13 Alibaba Group Holding Limited Method and apparatus for interpreting bytecode instruction stream
CN114020330B (zh) * 2021-11-04 2023-11-03 苏州睿芯集成电路科技有限公司 Risc-v处理器验证中模式切换的方法、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209079B1 (en) * 1996-09-13 2001-03-27 Mitsubishi Denki Kabushiki Kaisha Processor for executing instruction codes of two different lengths and device for inputting the instruction codes
JP3442100B2 (ja) * 1992-03-25 2003-09-02 インテル・コーポレーション コンピュータシステムのシステムイメージをセーブする方法及びこの方法を実施するコンピュータシステム
US20100312991A1 (en) * 2008-05-08 2010-12-09 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496922B1 (en) 1994-10-31 2002-12-17 Sun Microsystems, Inc. Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation
US5867681A (en) 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US6189090B1 (en) * 1997-09-17 2001-02-13 Sony Corporation Digital signal processor with variable width instructions
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
KR100308211B1 (ko) * 1999-03-27 2001-10-29 윤종용 압축 명령을 갖는 마이크로 컴퓨터 시스템
JP3616556B2 (ja) * 1999-06-29 2005-02-02 株式会社東芝 拡張命令を処理する並列プロセッサ
US6449712B1 (en) * 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US7093108B2 (en) * 2001-02-01 2006-08-15 Arm Limited Apparatus and method for efficiently incorporating instruction set information with instruction addresses
US20050144427A1 (en) * 2001-10-23 2005-06-30 Ip-First Llc Processor including branch prediction mechanism for far jump and far call instructions
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
US7340588B2 (en) 2003-11-24 2008-03-04 International Business Machines Corporation Extending the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code
US20060174089A1 (en) 2005-02-01 2006-08-03 International Business Machines Corporation Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture
US7421568B2 (en) 2005-03-04 2008-09-02 Qualcomm Incorporated Power saving methods and apparatus to selectively enable cache bits based on known processor state
GB2435116B (en) * 2006-02-10 2010-04-07 Imagination Tech Ltd Selecting between instruction sets in a microprocessors
KR101326414B1 (ko) 2006-09-06 2013-11-11 실리콘 하이브 비.브이. 데이터 처리회로
US7711927B2 (en) * 2007-03-14 2010-05-04 Qualcomm Incorporated System, method and software to preload instructions from an instruction set other than one currently executing
US20090282220A1 (en) 2008-05-08 2009-11-12 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3442100B2 (ja) * 1992-03-25 2003-09-02 インテル・コーポレーション コンピュータシステムのシステムイメージをセーブする方法及びこの方法を実施するコンピュータシステム
US6209079B1 (en) * 1996-09-13 2001-03-27 Mitsubishi Denki Kabushiki Kaisha Processor for executing instruction codes of two different lengths and device for inputting the instruction codes
US20100312991A1 (en) * 2008-05-08 2010-12-09 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture

Also Published As

Publication number Publication date
US20130205115A1 (en) 2013-08-08
KR20140123576A (ko) 2014-10-22
WO2013119842A1 (en) 2013-08-15
US10055227B2 (en) 2018-08-21
CN104106044A (zh) 2014-10-15
JP6189866B2 (ja) 2017-08-30
EP2812792A1 (en) 2014-12-17
EP2812792B1 (en) 2017-10-18
CN104106044B (zh) 2017-10-31
JP2015511358A (ja) 2015-04-16

Similar Documents

Publication Publication Date Title
US9164754B1 (en) Runtime patching of native-code programs
US9003422B2 (en) Microprocessor architecture having extendible logic
KR101847889B1 (ko) 프로세서 모드들을 스위칭하기 위해 호출된 함수의 어드레스의 최하위 비트들의 이용
US20100332805A1 (en) Remapping source Registers to aid instruction scheduling within a processor
CN112740175A (zh) 基于加载路径历史的分支预测
US20120204008A1 (en) Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections
US20140258696A1 (en) Strided target address predictor (stap) for indirect branches
JP2019526873A (ja) 分岐ターゲットバッファの圧縮
US20120284489A1 (en) Methods and Apparatus for Constant Extension in a Processor
EP2972789B1 (en) Method to improve speed of executing return branch instructions in a processor
US20140156978A1 (en) Detecting and Filtering Biased Branches in Global Branch History
US7620802B2 (en) Instruction execution device, debugging method, debugging device, and debugging program
EP2972791B1 (en) Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache
US20190004806A1 (en) Branch prediction for fixed direction branch instructions
EP3198400B1 (en) Dependency-prediction of instructions
US20040158694A1 (en) Method and apparatus for hazard detection and management in a pipelined digital processor
US20170046160A1 (en) Efficient handling of register files
CN117311816A (zh) 处理指令的方法、处理器、电子装置及存储介质
CN116048625A (zh) 一种分支跳转的处理方法、装置、设备及存储介质
US20120144165A1 (en) Sideband payloads in pseudo no-operation instructions
US6922760B2 (en) Distributed result system for high-performance wide-issue superscalar processor
US20160054996A1 (en) Computer Program Instruction Analysis
US20120079248A1 (en) Aliased Parameter Passing Between Microcode Callers and Microcode Subroutines

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20140904

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
A302 Request for accelerated examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20171208

Comment text: Request for Examination of Application

PA0302 Request for accelerated examination

Patent event date: 20171208

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180108

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180405

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180406

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20210329

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230327

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20240320

Start annual number: 7

End annual number: 7