JP6005392B2 - ルーティングのための方法及び装置 - Google Patents
ルーティングのための方法及び装置 Download PDFInfo
- Publication number
- JP6005392B2 JP6005392B2 JP2012107015A JP2012107015A JP6005392B2 JP 6005392 B2 JP6005392 B2 JP 6005392B2 JP 2012107015 A JP2012107015 A JP 2012107015A JP 2012107015 A JP2012107015 A JP 2012107015A JP 6005392 B2 JP6005392 B2 JP 6005392B2
- Authority
- JP
- Japan
- Prior art keywords
- data processor
- access
- processor core
- instruction
- local memory
- 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
Links
- 238000000034 method Methods 0.000 title claims description 59
- 230000015654 memory Effects 0.000 claims description 155
- 230000008569 process Effects 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 28
- 238000012986 modification Methods 0.000 description 22
- 230000004048 modification Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 14
- 239000003607 modifier Substances 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012797 qualification Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001508691 Martes zibellina Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
データプロセッサコアで実行されるアクセス命令が特定のアクセス命令であるか否かを決定するステップと、
前記アクセス命令が前記特定のアクセス命令であったことに応答して、前記データプロセッサコア外部のトランザクションを用いてデータプロセッサコアのローカルメモリにアクセスするためのアクセス命令に基づいて、アクセス情報を選択的にルーティングするステップと
を有し、前記特定のアクセス命令はアトミックアクセス命令または修飾アクセス命令の内の少なくとも一方である、方法である。
Claims (15)
- データプロセッサコアで実行されるアクセス命令が特定のアクセス命令であるか否かを決定するステップと、
前記アクセス命令が前記特定のアクセス命令であったことに応答して、前記データプロセッサコア外部のトランザクションを用いて、データプロセッサコアのローカルメモリにアクセスするためのアクセス命令に基づくアクセス情報を、選択的にルーティングするステップと
を有し、前記特定のアクセス命令は修飾アクセス命令である、方法。 - 前記アクセス命令が特定のアクセス命令ではなかったことに応答して、前記データプロセッサコア内部のトランザクションを用いて前記データプロセッサコアの前記ローカルメモリにアクセスするためにアクセス情報を選択的にルーティングするステップをさらに含む、請求項1に記載の方法。
- 前記決定するステップが前記アクセス情報に埋め込まれている情報に基づいて行われる、請求項2に記載の方法。
- 前記決定するステップがレジスタ情報に基づいて行われる、請求項2に記載の方法。
- 前記データプロセッサコア外部のトランザクションを用いることは、前記データプロセッサコアのポートから、前記データプロセッサコア外部のシステムリソースへ、前記アクセス情報をルーティングすることを含み、前記システムリソースは、前記ローカルメモリにアクセスするために、前記アクセス情報を前記データプロセッサコアへルーティングすることに用いられる、請求項1に記載の方法。
- 前記ローカルメモリへアクセス情報を選択的にルーティングしたことに応答して、前記アクセス情報に基づいてアクセスされるデータを前記システムリソースにおいて前記ローカルメモリから受信するステップをさらに含む、請求項5に記載の方法。
- 前記データプロセッサコア外部のトランザクションを用いることは、前記データプロセッサコアの第1ポートから、前記ローカルメモリにアクセスするために前記データプロセッサコアの第2ポートを介して前記データプロセッサコアへ前記アクセス情報をルーティングするために使用される前記データプロセッサコア外部のシステムリソースへ、前記アクセス情報をルーティングすることを含む、請求項2に記載の方法。
- 前記システムリソースにおいて、前記アクセス命令が修飾アクセス命令であったことに応答して、前記ローカルメモリに格納されるアクセス情報を処理するステップをさらに含む、請求項5に記載の方法。
- プログラマブル指示子が、前記データプロセッサコア外部のトランザクションの使用が可能であることを示す第1状態であるか又は前記データプロセッサコア外部のトランザクションの使用が可能でないことを示す第2状態であるかを決定するステップと、
前記プログラマブル指示子が前記第1状態にある旨の判断に応答して、前記データプロセッサコア外部のトランザクションを用いて前記選択的なルーティングを実行するステップと、
前記プログラマブル指示子が前記第2状態にある旨の判断に応答して、前記データプロセッサコア外部のいかなるトランザクションも使用せずに、前記特定のアクセス命令による前記アクセス情報を前記ローカルメモリへ選択的にルーティングするステップと
をさらに含む、請求項1に記載の方法。 - 第1のローカルメモリを有する第1のデータプロセッサコアを含む複数のデータプロセッサコアと、
前記データプロセッサコア外部のシステムリソースモジュールと、
前記システムリソースモジュール及び前記第1のローカルメモリに結合されたシステム相互接続部と
を有する装置であって、前記第1のデータプロセッサコアの命令プロセッサパイプラインにおいて実行されるアクセス命令が、アトミックアクセス命令または修飾アクセス命令の少なくとも1つを含む特定のアクセス命令であったことに応答して、前記第1のデータプロセッサコアは、前記第1のローカルメモリにアクセスするために、前記アクセス命令に関連するアクセス情報を、前記システムリソースモジュールへ選択的にルーティングし、
前記第1のデータプロセッサコアは、前記システム相互接続部に接続された第1のポートと前記システム相互接続部に接続された第2のポートとをさらに備え、前記第1のデータプロセッサコアは、前記アクセス命令が前記特定のアクセス命令として認識されたことに応答して、前記アクセス情報を前記第1のポートを介して前記システムリソースモジュールへ選択的にルーティングし、前記システムリソースモジュールは、前記第1のデータプロセッサコアの前記第2のポートを介して前記アクセス情報を前記第1のローカルメモリへ与える、装置。 - 前記システムリソースモジュールは、前記アクセス命令が前記特定のアクセス命令として確認されたことに応答して、前記第1のローカルメモリにアクセスするために前記アクセス情報を前記第1のデータプロセッサコアにルーティングする、請求項10に記載の装置。
- 前記命令プロセッサパイプラインは、前記アクセス命令が前記特定のアクセス命令であるか否かを決定し、前記命令プロセッサパイプラインはさらに、前記アクセス命令が前記特定のアクセス命令ではなかったことに応答して、前記システムリソースモジュールを使用せずに、前記アクセス命令に関連する前記アクセス情報を前記第1のローカルメモリへ選択的にルーティングし、前記第1のローカルメモリが前記第1のデータプロセッサコアに対してローカルにアクセスできるようにする、請求項10に記載の装置。
- 前記複数のデータプロセッサコアが前記システム相互接続部に接続された第2のデータプロセッサコアをさらに含み、
前記第2のデータプロセッサコアは第2のローカルメモリを備え、
前記第2のデータプロセッサコアの命令プロセッサパイプラインで実行される第2のアクセス命令が前記特定のアクセス命令として認識されたことに応答して、前記第2のデータプロセッサコアは、前記第2のアクセス命令に関連するアクセス情報を、前記システムリソースモジュールへ選択的にルーティングし、
前記システムリソースモジュールはさらに、前記第2のローカルメモリにアクセスするために、前記第2のアクセス命令に関連する前記アクセス情報を前記第2のデータプロセッサコアにルーティングする、請求項10に記載の装置。 - 前記システムリソースモジュールは、格納または取得された情報を処理するメモリコントローラである、請求項13に記載の装置。
- 前記装置はイネーブル指示子を格納する格納場所をさらに有し、前記第1のデータプロセッサコアは、アサートされたイネーブル指示子に応答して、前記システムリソースモジュールに前記アクセス情報を選択的にルーティングし、ネゲートされた前記イネーブル指示子に応答して、前記システムリソースモジュールを使用せずに前記第1のローカルメモリへ前記アクセス情報を選択的にルーティングする、請求項10に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/103,609 US8756405B2 (en) | 2011-05-09 | 2011-05-09 | Selective routing of local memory accesses and device thereof |
US13/103,609 | 2011-05-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012238306A JP2012238306A (ja) | 2012-12-06 |
JP6005392B2 true JP6005392B2 (ja) | 2016-10-12 |
Family
ID=46045823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012107015A Active JP6005392B2 (ja) | 2011-05-09 | 2012-05-08 | ルーティングのための方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8756405B2 (ja) |
EP (1) | EP2523099B1 (ja) |
JP (1) | JP6005392B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101777512B1 (ko) * | 2016-05-04 | 2017-09-11 | 한국기초과학지원연구원 | 애쉬트레이-프리 가스화기 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779057B2 (en) | 2009-09-11 | 2017-10-03 | Micron Technology, Inc. | Autonomous memory architecture |
US8904109B2 (en) | 2011-01-28 | 2014-12-02 | Freescale Semiconductor, Inc. | Selective cache access control apparatus and method thereof |
US8533400B2 (en) | 2011-01-28 | 2013-09-10 | Freescale Semiconductor, Inc. | Selective memory access to different local memory ports and method thereof |
WO2015024532A1 (zh) * | 2013-08-23 | 2015-02-26 | 上海芯豪微电子有限公司 | 高性能指令缓存系统和方法 |
US20160217079A1 (en) | 2013-02-08 | 2016-07-28 | Shanghai Xinhao Microelectronics Co., Ltd. | High-Performance Instruction Cache System and Method |
US10003675B2 (en) * | 2013-12-02 | 2018-06-19 | Micron Technology, Inc. | Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data |
CN104765699B (zh) * | 2014-01-02 | 2018-03-27 | 光宝科技股份有限公司 | 处理系统及其操作方法 |
US9710273B2 (en) * | 2014-11-21 | 2017-07-18 | Oracle International Corporation | Method for migrating CPU state from an inoperable core to a spare core |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410669A (en) | 1993-04-05 | 1995-04-25 | Motorola, Inc. | Data processor having a cache memory capable of being used as a linear ram bank |
US5532947A (en) | 1995-01-25 | 1996-07-02 | International Business Machines Corporation | Combined decoder/adder circuit which provides improved access speed to a cache |
US5966734A (en) | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
JPH10134008A (ja) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US6016533A (en) | 1997-12-16 | 2000-01-18 | Advanced Micro Devices, Inc. | Way prediction logic for cache array |
US6138223A (en) | 1998-04-30 | 2000-10-24 | International Business Machines Corporation | Absolute address history table index generation for predicting instruction and operand cache accesses |
US6636950B1 (en) * | 1998-12-17 | 2003-10-21 | Massachusetts Institute Of Technology | Computer architecture for shared memory access |
US6438671B1 (en) | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
US6484237B1 (en) | 1999-07-15 | 2002-11-19 | Texas Instruments Incorporated | Unified multilevel memory system architecture which supports both cache and addressable SRAM |
US6963965B1 (en) | 1999-11-30 | 2005-11-08 | Texas Instruments Incorporated | Instruction-programmable processor with instruction loop cache |
US6748498B2 (en) * | 2000-06-10 | 2004-06-08 | Hewlett-Packard Development Company, L.P. | Scalable multiprocessor system and cache coherence method implementing store-conditional memory transactions while an associated directory entry is encoded as a coarse bit vector |
US7437535B1 (en) | 2002-04-04 | 2008-10-14 | Applied Micro Circuits Corporation | Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller |
US6941421B2 (en) | 2002-10-29 | 2005-09-06 | International Business Machines Corporation | Zero delay data cache effective address generation |
US6976126B2 (en) | 2003-03-11 | 2005-12-13 | Arm Limited | Accessing data values in a cache |
US7237065B2 (en) * | 2005-05-24 | 2007-06-26 | Texas Instruments Incorporated | Configurable cache system depending on instruction type |
US7882339B2 (en) * | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
US7283418B2 (en) | 2005-07-26 | 2007-10-16 | Micron Technology, Inc. | Memory device and method having multiple address, data and command buses |
US20070150671A1 (en) | 2005-12-23 | 2007-06-28 | Boston Circuits, Inc. | Supporting macro memory instructions |
US7529889B2 (en) | 2006-08-14 | 2009-05-05 | Arm Limited | Data processing apparatus and method for performing a cache lookup in an energy efficient manner |
US7657708B2 (en) | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
JP4476267B2 (ja) * | 2006-10-06 | 2010-06-09 | 株式会社日立製作所 | プロセッサ及びデータ転送ユニット |
US8627471B2 (en) | 2008-10-28 | 2014-01-07 | Freescale Semiconductor, Inc. | Permissions checking for data processing instructions |
US9213665B2 (en) | 2008-10-28 | 2015-12-15 | Freescale Semiconductor, Inc. | Data processor for processing a decorated storage notify |
US8166276B2 (en) | 2009-02-27 | 2012-04-24 | Advanced Micro Devices, Inc. | Translate and verify instruction for a processor |
JP2011221931A (ja) * | 2010-04-14 | 2011-11-04 | Renesas Electronics Corp | データプロセッサ |
US20120290780A1 (en) | 2011-01-27 | 2012-11-15 | Mips Technologies Inc. | Multithreaded Operation of A Microprocessor Cache |
US8904109B2 (en) | 2011-01-28 | 2014-12-02 | Freescale Semiconductor, Inc. | Selective cache access control apparatus and method thereof |
US8533400B2 (en) | 2011-01-28 | 2013-09-10 | Freescale Semiconductor, Inc. | Selective memory access to different local memory ports and method thereof |
-
2011
- 2011-05-09 US US13/103,609 patent/US8756405B2/en active Active
-
2012
- 2012-04-20 EP EP12164961.0A patent/EP2523099B1/en active Active
- 2012-05-08 JP JP2012107015A patent/JP6005392B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101777512B1 (ko) * | 2016-05-04 | 2017-09-11 | 한국기초과학지원연구원 | 애쉬트레이-프리 가스화기 |
Also Published As
Publication number | Publication date |
---|---|
JP2012238306A (ja) | 2012-12-06 |
EP2523099B1 (en) | 2018-12-19 |
EP2523099A3 (en) | 2013-01-23 |
US8756405B2 (en) | 2014-06-17 |
EP2523099A2 (en) | 2012-11-14 |
US20120290806A1 (en) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6005392B2 (ja) | ルーティングのための方法及び装置 | |
JP5876458B2 (ja) | Simdベクトルの同期 | |
TWI260541B (en) | System and method for linking speculative results of load operations to register values | |
EP1008053B1 (en) | Controlling memory access ordering in a multi-processing system | |
KR101642646B1 (ko) | 인터럽트가능 저장 익스클루시브 | |
US20080005504A1 (en) | Global overflow method for virtualized transactional memory | |
US20070050563A1 (en) | Synchronization arbiter for proactive synchronization within a multiprocessor computer system | |
JP5703378B2 (ja) | アラインメント制御 | |
JP4874165B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法 | |
JP5451579B2 (ja) | 適応的最適化された比較/交換オペレーション | |
KR20190033084A (ko) | 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적 | |
US20060149940A1 (en) | Implementation to save and restore processor registers on a context switch | |
US6374338B1 (en) | Method for performing configuration tasks prior to and including memory configuration within a processor-based system | |
US7536694B2 (en) | Exception handling in a multiprocessor system | |
US9330024B1 (en) | Processing device and method thereof | |
TW201729084A (zh) | 在處理器中具有基於方塊儲存的介面 | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
KR102658600B1 (ko) | 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법 | |
US20120254552A1 (en) | Memory access remapping | |
JP2006221606A (ja) | データプロセッサ | |
US11656796B2 (en) | Adaptive memory consistency in disaggregated datacenters | |
WO2011030498A1 (ja) | データ処理装置及びデータ処理方法 | |
EP4052121A1 (en) | Shadow latches in a shadow-latch configured register file for thread storage | |
JP2009098819A (ja) | メモリシステム、メモリシステムの制御方法、及びコンピュータシステム | |
JP2005259051A (ja) | プロセッシングユニットおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150501 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150908 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160328 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160907 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6005392 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |