JP2016505972A5 - - Google Patents

Download PDF

Info

Publication number
JP2016505972A5
JP2016505972A5 JP2015549797A JP2015549797A JP2016505972A5 JP 2016505972 A5 JP2016505972 A5 JP 2016505972A5 JP 2015549797 A JP2015549797 A JP 2015549797A JP 2015549797 A JP2015549797 A JP 2015549797A JP 2016505972 A5 JP2016505972 A5 JP 2016505972A5
Authority
JP
Japan
Prior art keywords
instruction
physical address
buffer
page
address
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.)
Ceased
Application number
JP2015549797A
Other languages
English (en)
Other versions
JP2016505972A (ja
Filing date
Publication date
Priority claimed from US13/721,442 external-priority patent/US9804969B2/en
Application filed filed Critical
Publication of JP2016505972A publication Critical patent/JP2016505972A/ja
Publication of JP2016505972A5 publication Critical patent/JP2016505972A5/ja
Ceased legal-status Critical Current

Links

Claims (24)

  1. プロセッサによって実行されるべき命令シーケンスのうちの命令を受け取るステップであって、前記命令の各々は、メモリ内に記憶される、ステップと、
    ページクロスバッファにおけるルックアップを実行して、前記ページクロスバッファが、前記命令に対応する関連付けられたエントリを有するか否かを判定するステップであって、前記ページクロスバッファが、1つまたは複数のエントリを記憶するように構成され、前記1つまたは複数のエントリの各々が、特定の命令の命令アドレスと、前記命令シーケンス内の前記特定の命令に続く次の順次的な命令に対応する物理アドレスとを含む、ステップと、
    を含み、
    前記ページクロスバッファが、前記命令に対応する前記関連付けられたエントリを有するとの判定に基づき、
    前記ページクロスバッファ内の前記関連付けられたエントリから取得される第1の物理アドレスを選択するステップであって、前記第1の物理アドレスが、前記命令シーケンス内の前記命令に続く第2の命令に対応する、ステップと、
    前記選択された第1の物理アドレスに基づきタグ配列演算を実行して、前記第2の命令に対応するタグ配列エントリを配置するステップ
    をさらに含む方法。
  2. 前記ページクロスバッファ内の各エントリの前記命令アドレスおよび前記物理アドレスはそれぞれ、第1のメモリページ、および前記第1のメモリページとは異なる第2のメモリページに対応する、請求項1に記載の方法。
  3. 前記ページクロスバッファ内の各エントリの前記命令アドレスおよび前記物理アドレスは、第1の対応する命令および第2の対応する命令をそれぞれ特定し、前記第1の対応する命令および前記第2の対応する命令は、順次的なメモリアドレスに配置されている、請求項1に記載の方法。
  4. 最後の物理アドレスバッファに、命令変換ルックアサイドバッファ演算の結果を記憶するステップ、をさらに備える請求項1に記載の方法。
  5. 前記ページクロスバッファが、前記命令に対応するいかなるエントリも有していないとの判定に基づき、前記最後の物理アドレスバッファから、最後の物理アドレスを選択するステップ、をさらに備える請求項4に記載の方法。
  6. プリフェッチステージ間において、前記第1の物理アドレスに対応するキャッシュラインを取得するステップをさらに備える請求項1に記載の方法。
  7. 前記特定の命令の前記命令アドレスは、前記命令の仮想アドレスを特定し、前記タグ配列演算は、第1の期間中、処理のプリフェッチステージにおいて、前記命令の推測的なアドレッシングを実行するステップを含み、前記第1の期間は、前記処理のプリフェッチステージにおいて、前記第2の命令のために推測的なアドレッシングが実行される第2の期間の前であり、前記第2の期間中、処理のフェッチステージにおいて、前記命令のフェッチを実行するステップをさらに含む、請求項1に記載の方法。
  8. タグ配列演算をリプレイするか否かを判定するために、前記特定の物理アドレスを、命令変換ルックアサイドバッファ演算の結果と比較するステップと、
    前記命令変換ルックアサイドバッファ演算の結果を用いて前記ページクロスバッファを更新するステップと、をさらに備える請求項7に記載の方法。
  9. 前記第1の物理アドレスは、処理パイプラインのフェッチステージに先立って、前関連付けられたエントリから読まれる、請求項1に記載の方法。
  10. 前記命令は、第1のメモリページの最後のアドレスに配置され、前記第2の命令は、次のメモリページの第1のアドレスに配置される、請求項3に記載の方法。
  11. 1つまたは複数のエントリを記憶するように構成されるページクロスバッファであって、前記1つまたは複数のエントリの各々は、特定の命令の命令アドレスと、メモリ内に記憶される命令シーケンス内の前記特定の命令に続く次の順次的な命令に対応する物理アドレスを含、ページクロスバッファと、
    前記ページクロスバッファが、命令に対応するエントリを含むとの判定に基づいて、第1の物理アドレスを選択するように構成されるマルチプレクサであって、前記第1の物理アドレスは、前記ページクロスバッファ内の前記エントリから取得され、前記第1の物理アドレスは、前記命令シーケンス内の前記命令に続く第2の命令に対応する、マルチプレクサと、
    前記選択された第1の物理アドレスに基づきタグ配列演算を実行して、前記第2の命令に対応するタグ配列エントリを配置するように構成されるタグ配列と
    を備える装置。
  12. 命令変換ルックアサイドバッファ演算の結果が、最後の物理アドレスバッファに記憶され、前記マルチプレクサはさらに、前記ページクロスバッファが前記命令に対応するいかなるエントリを有していないとの判定に基づき、前記最後の物理アドレスバッファの出力を選択するように構成された、請求項11に記載の装置。
  13. 前記タグ配列は、前記マルチプレクサによって選択された前記最後の物理アドレスバッファの出力を用いて、タグ配列演算を実行するように構成された、請求項12に記載の装置。
  14. 前記第1の物理アドレスと、命令変換ルックアサイドバッファ演算の結果とを比較して、前記タグ配列演算をリプレイするか否かを判定するように構成されるコンパレータをさらに備える、請求項11に記載の装置。
  15. 前記ページクロスバッファは、前記命令変換ルックアサイドバッファ演算の前記結果で更新される、請求項14に記載の装置。
  16. 前記コンパレータの結果と前記命令変換ルックアサイドバッファ演算の前記結果とが一致するときに、最後の物理アドレスバッファが、前記第1の物理アドレスを記憶する請求項14に記載の装置。
  17. 前記ページクロスバッファ内の各エントリの前記命令アドレスおよび前記物理アドレスが、第1のメモリページ、および前記第1のメモリページとは異なる第2のメモリページにそれぞれ対応する、請求項16に記載の装置。
  18. 前記タグ配列は、処理パイプラインのフェッチステージに先立って、タグ配列演算を実行するように構成され、前記タグ配列演算は、前記ページクロスバッファから取得された前記第1の物理アドレスを用いる、請求項11に記載の装置。
  19. 1つまたは複数のエントリを記憶するための手段であって、前記1つまたは複数のエントリの各々が、特定の命令に関連付けられた命令アドレスと、命令シーケンス内の前記特定の命令に続く次の順次的な命令に対応する物理アドレスとを含む、手段と、
    前記記憶するための手段が、前記命令シーケンスのうちの命令に対応する関連付けられたエントリを含むとの判定に応答して、第1の物理アドレスを選択するための手段であって、前記第1の物理アドレスが、前記記憶するための手段内の前記関連付けられたエントリから取得され、前記第1の物理アドレスが、前記命令シーケンス内の前記命令に続く第2の命令に対応する、手段と、
    前記選択された第1の物理アドレスに基づいてタグ配列演算を実行して、前記第2の命令に対応するタグ配列エントリを配置するための手段と
    を備える装置。
  20. 前記タグ配列演算を実行するための前記手段が、処理パイプラインのプリフェッチステージの前に、前記タグ配列演算を実行するように構成され、前記タグ配列演算は、前記記憶するための手段から取得される前記第1の物理アドレスを使用する、請求項19に記載の装置。
  21. 命令を記憶するコンピュータ可読記憶媒体であって、処理システム内において前記命令
    前記処理システムに、プロセッサによって実行のための命令シーケンスのうちの命令を受け取らせることであって、前記命令シーケンスの各々は、メモリ内に記憶される、ことと、
    ページクロスバッファにおけるルックアップを実行して、前記ページクロスバッファが、前記命令に対応する関連付けられたエントリを有するか否かを判定することであって、前記ページクロスバッファが、1つまたは複数のエントリを含み、前記1つまたは複数のエントリの各々が、特定の命令の命令アドレスと、前記命令シーケンス内の前記特定の命令に続く次の順次的な命令に対応する物理アドレスとを含む、ことと、
    前記ページクロスバッファが、前記命令に対応する前記関連付けられたエントリを有するとの判定に基づき、
    前記ページクロスバッファ内の前記関連付けられたエントリから取得される第1の物理アドレスを選択することであって、前記第1の物理アドレスが、前記命令シーケンス内の前記命令に続く第2の命令に対応する、ことと、
    前記選択された第1の物理アドレスに基づきタグ配列演算を実行して、前記第2の命令に対応するタグ配列エントリを配置することと
    を行うように実行可能である、コンピュータ可読記憶媒体。
  22. 前記ページクロスバッファ内の各エントリの前記命令アドレスおよび前記物理アドレスが、第1のメモリページ、および前記第1のメモリページとは異なる第2のメモリページにそれぞれ対応する、請求項21に記載のコンピュータ可読記憶媒体。
  23. 前記エントリの前記命令アドレスおよび前記物理アドレスは、第1の命令および第2の命令をそれぞれ特定し、前記第1の命令および前記第2の命令は、順次的なメモリアドレスに配置される、請求項11に記載の装置。
  24. 前記第1の命令は、第1のメモリページの第1のメモリページの最後のアドレスに配置され、前記第2の命令は、次のメモリページの第1のアドレスに配置される、請求項23に記載の装置。
JP2015549797A 2012-12-20 2013-12-20 仮想アドレス−物理アドレスページクロスバッファを用いた推測的なアドレッシング Ceased JP2016505972A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/721,442 US9804969B2 (en) 2012-12-20 2012-12-20 Speculative addressing using a virtual address-to-physical address page crossing buffer
US13/721,442 2012-12-20
PCT/US2013/077068 WO2014100653A1 (en) 2012-12-20 2013-12-20 Speculative addressing using a virtual address-to-physical address page crossing buffer

Publications (2)

Publication Number Publication Date
JP2016505972A JP2016505972A (ja) 2016-02-25
JP2016505972A5 true JP2016505972A5 (ja) 2017-12-28

Family

ID=49998682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015549797A Ceased JP2016505972A (ja) 2012-12-20 2013-12-20 仮想アドレス−物理アドレスページクロスバッファを用いた推測的なアドレッシング

Country Status (5)

Country Link
US (1) US9804969B2 (ja)
EP (1) EP2936323B1 (ja)
JP (1) JP2016505972A (ja)
CN (1) CN104871144B (ja)
WO (1) WO2014100653A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310500A1 (en) * 2013-04-11 2014-10-16 Advanced Micro Devices, Inc. Page cross misalign buffer
CN104133780B (zh) * 2013-05-02 2017-04-05 华为技术有限公司 一种跨页预取方法、装置及系统
US9667754B2 (en) * 2014-08-11 2017-05-30 Oracle International Corporation Data structure and associated management routines for TCP control block (TCB) table in network stacks
US9570134B1 (en) 2016-03-31 2017-02-14 Altera Corporation Reducing transactional latency in address decoding
CN107077376B (zh) * 2016-12-07 2020-10-16 深圳前海达闼云端智能科技有限公司 帧缓存实现方法、装置、电子设备和计算机程序产品
US11201811B2 (en) * 2019-03-18 2021-12-14 International Business Machines Corporation Multiport network adapter loopback hardware
US10990537B1 (en) 2020-01-07 2021-04-27 International Business Machines Corporation Logical to virtual and virtual to physical translation in storage class memory
US20220197821A1 (en) * 2020-12-23 2022-06-23 Intel Corporation Device, system and method for selectively dropping software prefetch instructions

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148538A (en) * 1989-10-20 1992-09-15 International Business Machines Corporation Translation look ahead based cache access
US5278963A (en) 1991-06-21 1994-01-11 International Business Machines Corporation Pretranslation of virtual addresses prior to page crossing
JP2771374B2 (ja) * 1991-12-27 1998-07-02 茨城日本電気株式会社 プロセッサのページ越処理方式
US5548739A (en) 1993-11-04 1996-08-20 Sun Microsystems, Inc. Method and apparatus for rapidly retrieving data from a physically addressed data storage structure using address page crossing predictive annotations
US6678815B1 (en) 2000-06-27 2004-01-13 Intel Corporation Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end
US8051301B2 (en) * 2001-11-13 2011-11-01 Advanced Micro Devices, Inc. Memory management system and method providing linear address based memory access security
US6745313B2 (en) 2002-01-09 2004-06-01 International Business Machines Corporation Absolute address bits kept in branch history table
US7263585B2 (en) * 2002-09-19 2007-08-28 Ip-First, Llc Store-induced instruction coherency mechanism
US20060248279A1 (en) * 2005-05-02 2006-11-02 Al-Sukhni Hassan F Prefetching across a page boundary
US20070005933A1 (en) * 2005-06-29 2007-01-04 Kopec Brian J Preventing multiple translation lookaside buffer accesses for a same page in memory
US7509472B2 (en) 2006-02-01 2009-03-24 Sun Microsystems, Inc. Collapsible front-end translation for instruction fetch
US8239657B2 (en) * 2007-02-07 2012-08-07 Qualcomm Incorporated Address translation method and apparatus
CN101246452B (zh) * 2007-02-12 2010-12-15 国际商业机器公司 执行快速的mmu模拟的方法和装置、以及全系统模拟器
US8140768B2 (en) 2008-02-01 2012-03-20 International Business Machines Corporation Jump starting prefetch streams across page boundaries
US8145874B2 (en) * 2008-02-26 2012-03-27 Qualcomm Incorporated System and method of data forwarding within an execution unit
US8886920B2 (en) * 2011-05-13 2014-11-11 Oracle International Corporation Associating tag to branch instruction to access array storing predicted target addresses for page crossing targets for comparison with resolved address at execution stage

Similar Documents

Publication Publication Date Title
JP2016505972A5 (ja)
US9898295B2 (en) Branch prediction using multiple versions of history data
EP2936323B1 (en) Speculative addressing using a virtual address-to-physical address page crossing buffer
TWI525434B (zh) 存取統一轉譯後備緩衝器的系統與方法
JP2016515265A5 (ja)
US20160055088A1 (en) Cross-page prefetching method, apparatus, and system
JP2020500365A5 (ja)
JP2017516234A5 (ja)
JP2015507310A5 (ja)
JP2015201216A5 (ja)
JP2014106736A5 (ja) 情報処理装置及びその制御方法及び電子デバイス及びプログラム及び記憶媒体
RU2016126976A (ru) Общая последовательность загрузки для управляющей сервисной программы, способной к инициализации во множественных архитектурах
WO2015084493A3 (en) Data processing apparatus with memory rename table for mapping memory addresses to registers
JP2015133126A5 (ja)
GB2581924A (en) Facilitating access to memory locality domain information
KR102268601B1 (ko) 데이터 포워딩을 위한 프로세서, 그것의 동작 방법 및 그것을 포함하는 시스템
JP2016511887A5 (ja)
JP2014115851A5 (ja)
JP2015534687A5 (ja)
JP2013543175A5 (ja)
JP2016511470A5 (ja)
US8195889B2 (en) Hybrid region CAM for region prefetcher and methods thereof
JP2018528515A5 (ja)
JP2013536486A5 (ja)
JP2019517689A5 (ja)