ATE476701T1 - Verfahren und vorrichtung zur verwaltung eines rücksprungstapels - Google Patents

Verfahren und vorrichtung zur verwaltung eines rücksprungstapels

Info

Publication number
ATE476701T1
ATE476701T1 AT06735437T AT06735437T ATE476701T1 AT E476701 T1 ATE476701 T1 AT E476701T1 AT 06735437 T AT06735437 T AT 06735437T AT 06735437 T AT06735437 T AT 06735437T AT E476701 T1 ATE476701 T1 AT E476701T1
Authority
AT
Austria
Prior art keywords
return
stack
instruction
addresses
procedure
Prior art date
Application number
AT06735437T
Other languages
English (en)
Inventor
Rodney Smith
Jeffrey Bridges
James Dieffenderfer
Thomas Sartorius
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 ATE476701T1 publication Critical patent/ATE476701T1/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
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

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)
  • Pile Receivers (AREA)
AT06735437T 2005-02-18 2006-02-17 Verfahren und vorrichtung zur verwaltung eines rücksprungstapels ATE476701T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/061,975 US7203826B2 (en) 2005-02-18 2005-02-18 Method and apparatus for managing a return stack
PCT/US2006/005775 WO2006089188A2 (en) 2005-02-18 2006-02-17 Method and apparatus for managing a return stack

Publications (1)

Publication Number Publication Date
ATE476701T1 true ATE476701T1 (de) 2010-08-15

Family

ID=36914213

Family Applications (1)

Application Number Title Priority Date Filing Date
AT06735437T ATE476701T1 (de) 2005-02-18 2006-02-17 Verfahren und vorrichtung zur verwaltung eines rücksprungstapels

Country Status (10)

Country Link
US (1) US7203826B2 (de)
EP (1) EP1853995B1 (de)
JP (2) JP2008530712A (de)
KR (1) KR101026978B1 (de)
CN (2) CN102707933B (de)
AT (1) ATE476701T1 (de)
BR (1) BRPI0608139A2 (de)
DE (1) DE602006015923D1 (de)
IL (1) IL185303A0 (de)
WO (1) WO2006089188A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI261197B (en) * 2005-05-20 2006-09-01 Benq Corp Method for finding function call stack in run time for a computer system
US20070061555A1 (en) * 2005-09-15 2007-03-15 St Clair Michael Call return tracking technique
US8578347B1 (en) * 2006-12-28 2013-11-05 The Mathworks, Inc. Determining stack usage of generated code from a model
CN100573461C (zh) * 2008-05-07 2009-12-23 浙江大学 在嵌入式系统中分析堆栈使用的方法
CN102292705B (zh) * 2010-08-30 2013-12-18 华为技术有限公司 网络处理器的指令处理方法和网络处理器
US10042776B2 (en) * 2012-11-20 2018-08-07 Arm Limited Prefetching based upon return addresses
GB2542831B (en) * 2015-09-30 2018-05-30 Imagination Tech Ltd Fetch unit for predicting target for subroutine return instructions
US20170090927A1 (en) * 2015-09-30 2017-03-30 Paul Caprioli Control transfer instructions indicating intent to call or return
US20210303470A1 (en) * 2020-03-27 2021-09-30 Micron Technology, Inc. Sequential prefetching through a linking array
US11586440B2 (en) * 2021-06-01 2023-02-21 International Business Machines Corporation Link stack based instruction prefetch augmentation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60105046A (ja) * 1983-11-11 1985-06-10 Nec Corp アドレススタツク制御方式
JPS63311439A (ja) * 1987-06-12 1988-12-20 Nec Corp コ−ル・リタ−ン方式
JPH01216429A (ja) * 1988-02-24 1989-08-30 Nec Corp マイクロコンピュータ
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
JPH02224026A (ja) * 1988-11-17 1990-09-06 Nec Corp スタック回路
JP3049561B2 (ja) * 1990-05-21 2000-06-05 東洋通信機株式会社 プロダクションシステムとプロダクションシステムの変換装置
US5522072A (en) * 1990-09-04 1996-05-28 At&T Corp. Arrangement for efficiently transferring program execution between subprograms
JPH04317129A (ja) * 1991-04-17 1992-11-09 Nec Ibaraki Ltd マイクロプログラムアドレススタック回路
US5313634A (en) 1992-07-28 1994-05-17 International Business Machines Corporation Computer system branch prediction of subroutine returns
JPH0728644A (ja) * 1993-07-12 1995-01-31 Seiko Epson Corp データ処理装置
US6035321A (en) 1994-06-29 2000-03-07 Acis, Inc. Method for enforcing a hierarchical invocation structure in real time asynchronous software applications
US5706491A (en) * 1994-10-18 1998-01-06 Cyrix Corporation Branch processing unit with a return stack including repair using pointers from different pipe stages
US6035118A (en) * 1997-06-23 2000-03-07 Sun Microsystems, Inc. Mechanism to eliminate the performance penalty of computed jump targets in a pipelined processor
US6151671A (en) * 1998-02-20 2000-11-21 Intel Corporation System and method of maintaining and utilizing multiple return stack buffers
JP3513038B2 (ja) * 1998-12-10 2004-03-31 富士通株式会社 命令フェッチ制御装置
US6289444B1 (en) * 1999-06-02 2001-09-11 International Business Machines Corporation Method and apparatus for subroutine call-return prediction
US6560696B1 (en) * 1999-12-29 2003-05-06 Intel Corporation Return register stack target predictor
US20040003213A1 (en) 2002-06-28 2004-01-01 Bockhaus John W. Method for reducing the latency of a branch target calculation by linking the branch target address cache with the call-return stack
US20040049666A1 (en) * 2002-09-11 2004-03-11 Annavaram Murali M. Method and apparatus for variable pop hardware return address stack
CN1447244A (zh) * 2003-04-03 2003-10-08 杭州中天微系统有限公司 一种设计在cpu里的侦测缓冲区溢出的方法
US7293265B2 (en) * 2003-05-15 2007-11-06 Intel Corporation Methods and apparatus to perform return-address prediction
CN1294468C (zh) * 2004-04-09 2007-01-10 南京大学 一种防止缓冲区溢出攻击的动态堆栈内存管理方法

Also Published As

Publication number Publication date
EP1853995B1 (de) 2010-08-04
CN102707933A (zh) 2012-10-03
WO2006089188A2 (en) 2006-08-24
US7203826B2 (en) 2007-04-10
EP1853995A2 (de) 2007-11-14
CN101156135A (zh) 2008-04-02
KR101026978B1 (ko) 2011-04-11
KR20070106783A (ko) 2007-11-05
BRPI0608139A2 (pt) 2009-11-17
JP5579694B2 (ja) 2014-08-27
US20060190711A1 (en) 2006-08-24
DE602006015923D1 (de) 2010-09-16
IL185303A0 (en) 2008-02-09
JP2012123810A (ja) 2012-06-28
JP2008530712A (ja) 2008-08-07
WO2006089188A3 (en) 2007-01-04
CN102707933B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
IL185303A0 (en) Method and apparatus for managing a return stack
TW200745854A (en) Self prefetching L2 cache mechanism for data lines
EP1635263A3 (de) Verfahren und Vorrichtung zur Code-Eingabe
ATE434807T1 (de) Vorrichtung und verfahren zur beschleunigung eines sonderzweckprozessors
WO2012030466A3 (en) Method and apparatus for fuzzy stride prefetch
TW200612480A (en) Bare aluminum baffles for resist stripping chambers
TW200707284A (en) Forward looking branch target address caching
EP1912570A4 (de) Schaft, z.b. für eine elektomechanische chirurgische vorrichtung
GB2435780A (en) System,method and apparatus of securing an operating system
WO2008016849A3 (en) Method and apparatus for prefetching non-sequential instruction addresses
DE602007011225D1 (de) Vorrichtung zur dämpfung von kettengeräuschen
ATE486297T1 (de) Mehrstufige schicht
NO20071926L (no) Anvendelse av en mTOR-inhibitor i behandling av uterint leioyom.
DE602004023436D1 (de) Prozessor zum ausführen eines aes algorithmus
FR2901892B1 (fr) Dispositif et procede de traitement photographique.
TW200636445A (en) Method and system for validating a computer system
TW200643792A (en) Method and apparatus for prefetching based on cache fill buffer hits
GB2474983A (en) DMA engine
DE502004011101D1 (de) Einrichtung zur Verbesserung des Abschaltverhaltens eines elektropneumatischen Abbaugeräts
DE502007003845D1 (de) Verfahren zur behandlung von oberflächen
DE60306482D1 (de) Verarbeitungsvorrichtung für Kraftstoffdämpfe
TW200702985A (en) Method and system of changing a startup list of programs to determine whether computer system performance increases
ATE376320T1 (de) Anpassungsfähige softwarebausteine
FR2928411B1 (fr) Procede et dispositif de gestion d'une solution de traitement des gaz d'echappement.
DE602005004336D1 (de) Vorrichtung zum Verarbeiten von Münzen

Legal Events

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