JP2016517092A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016517092A5 JP2016517092A5 JP2016503221A JP2016503221A JP2016517092A5 JP 2016517092 A5 JP2016517092 A5 JP 2016517092A5 JP 2016503221 A JP2016503221 A JP 2016503221A JP 2016503221 A JP2016503221 A JP 2016503221A JP 2016517092 A5 JP2016517092 A5 JP 2016517092A5
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch instruction
- counter
- processor
- branch
- 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.)
- Granted
Links
- 230000001413 cellular Effects 0.000 claims 1
Claims (5)
- プロセッサにおいて、コール分岐命令およびリターン分岐命令を実行するための方法であって、
前記プロセッサが前記コール分岐命令と異なるリンクレジスタ操作命令をデコードすることに応じて、カウンタを初期値に設定するステップと、
前記プロセッサがコール分岐命令をデコードすることに応じて、第1の定数だけ前記カウンタをインクリメントするステップと、
前記プロセッサが前記コール分岐命令をデコードすることに応じて、プログラム順で次の命令のアドレスをリンクレジスタスタックにプッシュするステップと、
前記プロセッサがリターン分岐命令をデコードすることに応じて、前記カウンタが前記初期値に等しくない値を有する場合に、第2の定数だけ前記カウンタをインクリメントするステップと、
前記プロセッサが前記リターン分岐命令をデコードすることに応じて、前記カウンタが前記初期値に等しくない値を有する場合に、前記リターン分岐命令のためのターゲットアドレスを前記リンクレジスタスタックからポップするステップであって、前記カウンタの前記値が前記初期値に等しくないとき、前記リンクレジスタスタックからポップされた前記ターゲットアドレスは前記リターン分岐命令の正確なターゲットアドレスである、ステップと、
前記ターゲットアドレスの正当性をチェックすることなく前記リターン分岐命令の実行を完了し、前記リターン分岐命令を回収するステップと
を含む、方法。 - 前記初期値がゼロであり、前記第1の定数が1に等しく、前記第2の定数がマイナス1に等しい、請求項1に記載の方法。
- リンクレジスタと、
リンクレジスタスタックと、
分岐カウンタと、
プロセッサであって、
前記リンクレジスタに書き込むコール分岐命令と異なる命令をデコードすることに応じて、前記分岐カウンタを初期値に設定し、
コール分岐命令をデコードすることに応じて、第1の定数だけ前記分岐カウンタをインクリメントし、
前記プロセッサが前記コール分岐命令をデコードすることに応じて、プログラム順で次の命令のアドレスを前記リンクレジスタスタックにプッシュし、
リターン分岐命令をデコードすることに応じて、前記分岐カウンタが前記初期値に等しくない値を有する場合に、第2の定数だけ前記分岐カウンタをインクリメントし、
前記プロセッサが前記リターン分岐命令をデコードすることに応じて、前記分岐カウンタが前記初期値に等しくない値を有する場合に、前記リターン分岐命令のためのターゲットアドレスを前記リンクレジスタスタックからポップし、
前記ターゲットアドレスの正当性をチェックすることなく前記リターン分岐命令の実行を完了し、前記リターン分岐命令を回収する
ように構成されたプロセッサであって、前記分岐カウンタの前記値が前記初期値に等しくないとき、前記リンクレジスタスタックからポップされた前記ターゲットアドレスは前記リターン分岐命令の正確なターゲットアドレスである、プロセッサと、
を備える、装置。 - 前記初期値がゼロであり、前記第1の定数が1に等しく、前記第2の定数がマイナス1に等しい、請求項3に記載の装置。
- 前記装置が、セルラー電話と、基地局とからなる集合から選択される、請求項3に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/833,844 US9411590B2 (en) | 2013-03-15 | 2013-03-15 | Method to improve speed of executing return branch instructions in a processor |
US13/833,844 | 2013-03-15 | ||
PCT/US2014/029778 WO2014145101A1 (en) | 2013-03-15 | 2014-03-14 | Method to improve speed of executing return branch instructions in a processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016517092A JP2016517092A (ja) | 2016-06-09 |
JP2016517092A5 true JP2016517092A5 (ja) | 2017-04-20 |
JP6257745B2 JP6257745B2 (ja) | 2018-01-10 |
Family
ID=50629003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016503221A Expired - Fee Related JP6257745B2 (ja) | 2013-03-15 | 2014-03-14 | プロセッサにおいてリターン分岐命令を実行する速度を向上させる方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9411590B2 (ja) |
EP (1) | EP2972789B8 (ja) |
JP (1) | JP6257745B2 (ja) |
KR (1) | KR20150130513A (ja) |
CN (1) | CN105144084B (ja) |
WO (1) | WO2014145101A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934831B2 (en) * | 2014-04-07 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters |
US10120688B2 (en) * | 2016-11-15 | 2018-11-06 | Andes Technology Corporation | Data processing system and method for executing block call and block return instructions |
US20180203703A1 (en) * | 2017-01-13 | 2018-07-19 | Optimum Semiconductor Technologies, Inc. | Implementation of register renaming, call-return prediction and prefetch |
GB2571996B (en) * | 2018-03-16 | 2020-09-09 | Advanced Risc Mach Ltd | Branch target variant of branch-with-link instruction |
US10831884B1 (en) * | 2019-09-16 | 2020-11-10 | International Business Machines Corporation | Nested function pointer calls |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4164037A (en) * | 1976-10-27 | 1979-08-07 | Texas Instruments Incorporated | Electronic calculator or microprocessor system having combined data and flag bit storage system |
US4112495A (en) * | 1977-02-09 | 1978-09-05 | Texas Instruments Incorporated | Electronic calculator or microprocessor having a selectively loadable instruction register |
US5193205A (en) * | 1988-03-01 | 1993-03-09 | Mitsubishi Denki Kabushiki Kaisha | Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address |
US5179673A (en) * | 1989-12-18 | 1993-01-12 | Digital Equipment Corporation | Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline |
US5623614A (en) | 1993-09-17 | 1997-04-22 | Advanced Micro Devices, Inc. | Branch prediction cache with multiple entries for returns having multiple callers |
US6157999A (en) * | 1997-06-03 | 2000-12-05 | Motorola Inc. | Data processing system having a synchronizing link stack and method thereof |
US6092188A (en) | 1997-12-23 | 2000-07-18 | Intel Corporation | Processor and instruction set with predict instructions |
US6170054B1 (en) | 1998-11-16 | 2001-01-02 | Intel Corporation | Method and apparatus for predicting target addresses for return from subroutine instructions utilizing a return address cache |
SE513431C2 (sv) * | 1999-01-11 | 2000-09-11 | Ericsson Telefon Ab L M | Buffert för icke-rapporterade hopp |
US6848044B2 (en) * | 2001-03-08 | 2005-01-25 | International Business Machines Corporation | Circuits and methods for recovering link stack data upon branch instruction mis-speculation |
US7024537B2 (en) * | 2003-01-21 | 2006-04-04 | Advanced Micro Devices, Inc. | Data speculation based on addressing patterns identifying dual-purpose register |
US20080040576A1 (en) | 2006-08-09 | 2008-02-14 | Brian Michael Stempel | Associate Cached Branch Information with the Last Granularity of Branch instruction in Variable Length instruction Set |
US7478228B2 (en) * | 2006-08-31 | 2009-01-13 | Qualcomm Incorporated | Apparatus for generating return address predictions for implicit and explicit subroutine calls |
US7617387B2 (en) | 2006-09-27 | 2009-11-10 | Qualcomm Incorporated | Methods and system for resolving simultaneous predicted branch instructions |
GB2448149B (en) * | 2007-04-03 | 2011-05-18 | Advanced Risc Mach Ltd | Protected function calling |
US8438372B2 (en) * | 2007-10-05 | 2013-05-07 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US7971044B2 (en) * | 2007-10-05 | 2011-06-28 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US8341383B2 (en) * | 2007-11-02 | 2012-12-25 | Qualcomm Incorporated | Method and a system for accelerating procedure return sequences |
US10042776B2 (en) | 2012-11-20 | 2018-08-07 | Arm Limited | Prefetching based upon return addresses |
-
2013
- 2013-03-15 US US13/833,844 patent/US9411590B2/en active Active
-
2014
- 2014-03-14 WO PCT/US2014/029778 patent/WO2014145101A1/en active Application Filing
- 2014-03-14 CN CN201480013935.1A patent/CN105144084B/zh not_active Expired - Fee Related
- 2014-03-14 JP JP2016503221A patent/JP6257745B2/ja not_active Expired - Fee Related
- 2014-03-14 EP EP14720842.5A patent/EP2972789B8/en active Active
- 2014-03-14 KR KR1020157029133A patent/KR20150130513A/ko active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016517092A5 (ja) | ||
EP3734447C0 (en) | APPLICATION PROGRAM PROCESSING METHOD, APPARATUS, STORAGE MEDIUM AND COMPUTER APPARATUS | |
GB2549883A (en) | Advanced processor architecture | |
EP2787444A3 (en) | Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method | |
JP2018130556A5 (ja) | ||
WO2014009689A3 (en) | Controlling an order for processing data elements during vector processing | |
EP3611618A4 (en) | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND COMPUTER PROGRAM | |
EP3848912A4 (en) | PORTABLE TERMINAL, WEIGHING DEVICE, PROGRAM, RECORDING MEDIA, SALES PROCESSING SYSTEM AND SALES PROCESSING METHOD | |
EP3588491A4 (en) | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND COMPUTER PROGRAM | |
EP3690697A4 (en) | VERIFICATION DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM | |
TWI799588B (zh) | 積和運算裝置、積和運算電路、積和運算系統及積和運算方法 | |
RU2015130841A (ru) | Способ и устройство для использования команд пользователя | |
EP3651083A4 (en) | PROVISION DEVICE, PROCESSING DEVICE, INFORMATION PROCESSING METHODS AND PROGRAM | |
EP3797693A4 (en) | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND COMPUTER PROGRAM | |
JP2018523235A5 (ja) | ||
EP3893087A4 (en) | RESPONSE PROCESSING DEVICE, RESPONSE PROCESSING METHOD AND RESPONSE PROCESSING PROGRAM | |
EP3989235A4 (en) | PROGRAM, TEST DEVICE, INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD | |
JP2018122228A5 (ja) | 塗布装置、情報処理装置、情報処理方法、プログラム | |
JP2018502425A5 (ja) | ||
JP2016224731A5 (ja) | ||
JP2015535634A5 (ja) | ||
JP2019155124A5 (ja) | 情報処理装置及びプログラム | |
JP2018501609A5 (ja) | ||
DK3454246T3 (da) | Fremgangsmåde til transmission og kontrol af gyldigheden af konfigurationsdata i et elektronisk system, tilhørende elektronisk system og computerprogramprodukt | |
JP2015163786A5 (ja) |