ATE484795T1 - Verfahren und vorrichtung zur erkennung eines unterprogrammaufrufes - Google Patents

Verfahren und vorrichtung zur erkennung eines unterprogrammaufrufes

Info

Publication number
ATE484795T1
ATE484795T1 AT07871578T AT07871578T ATE484795T1 AT E484795 T1 ATE484795 T1 AT E484795T1 AT 07871578 T AT07871578 T AT 07871578T AT 07871578 T AT07871578 T AT 07871578T AT E484795 T1 ATE484795 T1 AT E484795T1
Authority
AT
Austria
Prior art keywords
detecting
input
receiving
program flow
subprogram call
Prior art date
Application number
AT07871578T
Other languages
English (en)
Inventor
Micheal William Morrow
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ATE484795T1 publication Critical patent/ATE484795T1/de

Links

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/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
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect 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/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer

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)
  • Advance Control (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
AT07871578T 2006-11-28 2007-11-27 Verfahren und vorrichtung zur erkennung eines unterprogrammaufrufes ATE484795T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/563,943 US7444501B2 (en) 2006-11-28 2006-11-28 Methods and apparatus for recognizing a subroutine call
PCT/US2007/085574 WO2008067277A2 (en) 2006-11-28 2007-11-27 Methods and apparatus for recognizing a subroutine call

Publications (1)

Publication Number Publication Date
ATE484795T1 true ATE484795T1 (de) 2010-10-15

Family

ID=39465182

Family Applications (1)

Application Number Title Priority Date Filing Date
AT07871578T ATE484795T1 (de) 2006-11-28 2007-11-27 Verfahren und vorrichtung zur erkennung eines unterprogrammaufrufes

Country Status (13)

Country Link
US (1) US7444501B2 (de)
EP (1) EP2087420B1 (de)
JP (1) JP2010511251A (de)
KR (1) KR20090094335A (de)
CN (1) CN101535951A (de)
AT (1) ATE484795T1 (de)
BR (1) BRPI0719371A2 (de)
CA (1) CA2668584A1 (de)
DE (1) DE602007009861D1 (de)
ES (1) ES2351894T3 (de)
MX (1) MX2009005584A (de)
RU (1) RU2009124438A (de)
WO (1) WO2008067277A2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4836903B2 (ja) * 2007-09-13 2011-12-14 株式会社東芝 マイクロプロセッサ制御装置並びにその方法およびプログラム
JP5347023B2 (ja) * 2009-05-19 2013-11-20 パナソニック株式会社 分岐予測装置、その分岐予測方法、コンパイラ、そのコンパイル方法及び分岐予測プログラム記録媒体
US20140025894A1 (en) * 2012-07-18 2014-01-23 Electronics And Telecommunications Research Institute Processor using branch instruction execution cache and method of operating the same
CN103795738A (zh) * 2012-10-26 2014-05-14 苏州工业园区新宏博通讯科技有限公司 一种采集终端及应用该采集终端的远程监控系统
US10209992B2 (en) * 2014-04-25 2019-02-19 Avago Technologies International Sales Pte. Limited System and method for branch prediction using two branch history tables and presetting a global branch history register
US10908902B2 (en) * 2016-05-26 2021-02-02 International Business Machines Corporation Distance based branch prediction and detection of potential call and potential return instructions
GB2563384B (en) * 2017-06-07 2019-12-25 Advanced Risc Mach Ltd Programmable instruction buffering
US10713050B2 (en) 2017-09-19 2020-07-14 International Business Machines Corporation Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions
US10620955B2 (en) 2017-09-19 2020-04-14 International Business Machines Corporation Predicting a table of contents pointer value responsive to branching to a subroutine
US10705973B2 (en) 2017-09-19 2020-07-07 International Business Machines Corporation Initializing a data structure for use in predicting table of contents pointer values
US11061575B2 (en) 2017-09-19 2021-07-13 International Business Machines Corporation Read-only table of contents register
US10896030B2 (en) 2017-09-19 2021-01-19 International Business Machines Corporation Code generation relating to providing table of contents pointer values
US10725918B2 (en) 2017-09-19 2020-07-28 International Business Machines Corporation Table of contents cache entry having a pointer for a range of addresses
US10884929B2 (en) 2017-09-19 2021-01-05 International Business Machines Corporation Set table of contents (TOC) register instruction
CN109960607B (zh) * 2017-12-22 2021-04-20 龙芯中科技术股份有限公司 预测栈的错误恢复方法、装置及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US6157999A (en) * 1997-06-03 2000-12-05 Motorola Inc. Data processing system having a synchronizing link stack and method thereof
US5974543A (en) * 1998-01-23 1999-10-26 International Business Machines Corporation Apparatus and method for performing subroutine call and return operations
JP3513038B2 (ja) * 1998-12-10 2004-03-31 富士通株式会社 命令フェッチ制御装置
JP3723019B2 (ja) * 1999-09-29 2005-12-07 富士通株式会社 サブルーチンリターン相当の命令の分岐予測を行う装置および方法
US6910124B1 (en) * 2000-05-02 2005-06-21 International Business Machines Corporation Apparatus and method for recovering a link stack from mis-speculation
US6973563B1 (en) * 2002-01-04 2005-12-06 Advanced Micro Devices, Inc. Microprocessor including return prediction unit configured to determine whether a stored return address corresponds to more than one call instruction
JP2007041837A (ja) * 2005-08-03 2007-02-15 Nec Electronics Corp 命令プリフェッチ装置及び命令プリフェッチ方法
US7478228B2 (en) * 2006-08-31 2009-01-13 Qualcomm Incorporated Apparatus for generating return address predictions for implicit and explicit subroutine calls

Also Published As

Publication number Publication date
DE602007009861D1 (de) 2010-11-25
MX2009005584A (es) 2009-06-15
KR20090094335A (ko) 2009-09-04
EP2087420A2 (de) 2009-08-12
CN101535951A (zh) 2009-09-16
EP2087420B1 (de) 2010-10-13
RU2009124438A (ru) 2011-01-10
BRPI0719371A2 (pt) 2014-02-11
WO2008067277A2 (en) 2008-06-05
US7444501B2 (en) 2008-10-28
JP2010511251A (ja) 2010-04-08
US20080126770A1 (en) 2008-05-29
CA2668584A1 (en) 2008-06-05
WO2008067277A3 (en) 2008-09-25
ES2351894T3 (es) 2011-02-11

Similar Documents

Publication Publication Date Title
ATE484795T1 (de) Verfahren und vorrichtung zur erkennung eines unterprogrammaufrufes
DE602007000453D1 (de) Verbessertes Verfahren und Vorrichtung zum Erkennen von Echopfadänderungen bei einer akustischen Echosperre
EP1983889A4 (de) Verfahren und vorrichtung zum testen von blutgerinnung
DE602005006860D1 (de) Verfahren und Vorrichtung zum Messen von Teilentladungen
EP2058645A4 (de) Vorrichtung und verfahren zur gasanalyse
DE602005011398D1 (de) Verfahren und Vorrichtung zum Nachweis von Spurengasen
DE602007001104D1 (de) Vorrichtung, Verfahren und Programm zur Bewegungserfassung
EP3900615A3 (de) Nachweismesser und betriebsmodus
EP2092447A4 (de) Verfahren und vorrichtung zur analyse von email-dokumenten
EP1899958A4 (de) Verfahren und vorrichtung zum dekodieren eines audiosignals
EP2306270A4 (de) Zeicheneingabeverfahren und -system sowie elektronische vorrichtung und tastatur dafür
EP1975381A4 (de) Verfahren zur denitrifikation von abgas und vorrichtung dafür
DE502005000527D1 (de) Verfahren und Vorrichtung zum Bestimmen eines Wendezeitpunktes eines Gargutes
DE502007001070D1 (de) Vorrichtung und verfahren zum verbinden von bändern
DE502007001134D1 (de) Schaltungsanordnung und verfahren zum bereitstellen eines taktsignals mit einem einstellbaren tastverhältnis
ATE381706T1 (de) Vorrichtung und verfahren zur vermessung von bauteilen
ATE545025T1 (de) Zusammensetzung, vorrichtung und entsprechendes verfahren
DE602007013988D1 (de) Vorrichtung und Verfahren zur Markerdetektion
DE602006003274D1 (de) Vorrichtung und Verfahren zur Überprüfung von Gewinden
DE602006009890D1 (de) Verfahren zum Hinzufügen eines Effekts und Vorrichtung zum Hinzufügen eines Effekts
EP1845520A4 (de) Signalverarbeitungsverfahren und signalverarbeitungseinrichtung
EP2162709A4 (de) Vorrichtung zur detektion von atmosphärischem gas und verfahren
DE602007001112D1 (de) Verfahren und Vorrichtung zur Formmessung
DE602007008997D1 (de) Vorrichtung und Verfahren zum Testen eines Brennstoffflusses
TW200741207A (en) Test time calculator

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties