JP5625737B2 - 転送装置、転送方法および転送プログラム - Google Patents
転送装置、転送方法および転送プログラム Download PDFInfo
- Publication number
- JP5625737B2 JP5625737B2 JP2010237859A JP2010237859A JP5625737B2 JP 5625737 B2 JP5625737 B2 JP 5625737B2 JP 2010237859 A JP2010237859 A JP 2010237859A JP 2010237859 A JP2010237859 A JP 2010237859A JP 5625737 B2 JP5625737 B2 JP 5625737B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- stored
- order control
- requests
- address range
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 101
- 238000003860 storage Methods 0.000 claims description 120
- 230000004044 response Effects 0.000 claims description 74
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000014759 maintenance of location Effects 0.000 claims 2
- 239000000945 filler Substances 0.000 description 110
- 238000010586 diagram Methods 0.000 description 36
- 230000010365 information processing Effects 0.000 description 22
- 230000003442 weekly effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
次に、図15を用いて、ROU30の処理の流れを説明する。図15は、実施例2に係るROUの処理の流れを説明するためのフローチャートである。図15に示す例では、ROUは、FIFO20から要求を取得する(ステップS101)。
上述したように、I/Oコントローラ10は、複数のIRQ#0〜#7を有する。そして、I/Oコントローラ10は、受信した要求による処理の対象となるデータが格納されたメモリアドレスを含むアドレス範囲を特定し、特定したアドレス範囲ごとに異なるIRQへ要求を格納する。また、I/Oコントローラ10は、IRQ#0〜#7に格納された要求がシステムコントローラ41によって実行されているか否かを判別する。そして、I/Oシステムコントローラ41は、格納された要求がシステムコントローラ41によって実行されていないと判別されたIRQに格納されている要求をシステムコントローラ41へ送信する。つまり、I/Oシステムコントローラ41は、それぞれ異なるアドレス範囲を処理対象とする複数の要求をシステムコントローラ41に送信する。
上述したI/Oコントローラ10は、8つのIRQ#0〜#7を有していた。しかし、IRQの数はこれに限定されるものではなく、任意の数のIRQを設置してよい。また、各IRQ#0〜#7は、4つのエントリーを有していた。しかし、エントリの数はこれに限定されるものではなく、任意の数のエントリーを設置してよい。また、NIRQ32は、8つのエントリー#0〜#7を有していた。しかし、NIRQのエントリの数はこれに限定されるものではなく、任意の数のエントリーを設置してよい。
上述したI/Oコントローラ10は、DMA(Direct Memory Access)の要求を受信し、受信した要求をシステムコントローラ41へ送信していた。しかし、要求の種類はこれに限定されるものではなく、DMA以外にも、任意の形式の要求を処理することとしてよい。また、上述したI/O装置40は、HDD(Hard Disk Drive)から受信したDMAの要求をI/Oコントローラへ送信していた。しかし、要求の発行元はこれに限定されるものではなく、I/O装置40は、HDD以外にも、任意の装置が発行したメモリに対する処理の要求をI/Oコントローラ10へ送信することとしてもよい。
上述したシステムコントローラ41は、メモリ42に記憶された情報を256bitでキャッシュしていた。このため、I/Oコントローラ10は、一つのアドレス範囲を256bitとした。しかし、アドレス範囲はこれに限定されるものではない。例えば、I/Oコントローラ10は、システムコントローラ41がメモリ42に記憶された情報を512bit単位でキャッシュする場合には、一つのアドレス範囲を512bitとすればよい。
ところで、実施例1に係る転送装置1、および実施例2に係るI/Oコントローラ10は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、転送装置あるいはI/Oコントローラの実現の仕方はこれに限定されるものではなく、あらかじめ用意されたプログラムを転送装置が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図20を用いて、実施例1に示した転送装置と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図20は、転送プログラムを実行するコンピュータの一例を説明するための図である。
2 記憶部A
3 記憶部B
4 記憶部C
5 特定部
6 格納部
7 判別部
8 送信部
10 I/Oコントローラ
20 FIFO
30 ROU
31 フィラー
32 NIRQ
33 アービター
34 トランスミッタ
35 レシーバ
Claims (8)
- メモリに格納された情報に対する処理の要求を、処理の対象となるデータをキャッシュメモリに保持する単位となるアドレス範囲ごとに記憶可能な複数の記憶部と、
第一の装置から受信した要求を解析し、要求された処理の対象となるデータが格納されたメモリアドレスを内包する前記アドレス範囲を特定する特定部と、
前記受信した要求を前記特定部によって特定されたアドレス範囲に対応する記憶部に格納する格納部と、
前記格納部によって記憶部に格納された要求が第二の装置によって実行されているか否かを記憶部ごとに判別する判別部と、
前記判別部によって要求が実行されていないと判別された記憶部に格納されている要求を前記第二の装置へ送信する送信部と、
を有することを特徴とする転送装置。 - メモリに格納された情報に対する処理の要求のうち、実行順序を守る必要のある要求を記憶する順序制御記憶部と、
前記要求のうち、実行順序を守る必要のない要求を、処理を実行する単位となる所定の大きさで区切られたアドレス範囲ごとに記憶する複数の非順序制御記憶部と、
第一の装置から受信した要求を解析し、当該要求の実行順制御が必要な要求か否かを判別する順序制御判定部と、
前記要求を第一の装置から受信した場合には、当該要求を解析し、当該要求された処理の対象となるデータが格納されたメモリアドレスを内包する前記アドレス範囲を特定する特定部と、
前記順序制御判定部によって前記実行順制御が必要な要求であると判別された場合には、当該要求を前記順序制御記憶部に格納し、前記順序制御判定部によって前記実行順制御が不要な要求であると判別された場合には、前記特定部によって特定されたアドレス範囲ごとに異なる前記非順序制御記憶部に当該要求を格納する格納部と、
前記格納部によって格納された要求が該要求を実行する第二の装置によって実行されているか否かを非順序制御記憶部ごとに判別する判別部と、
前記判別部によって前記要求が実行されていないと判別された非順序制御記憶部に格納された要求を前記第二の装置へ送信する送信部と、
を有することを特徴とする転送装置。 - 前記判別部は、さらに、前記順序制御記憶部に格納された要求のうち最も先に格納された要求について、当該要求によって処理の対象となるデータが格納されたメモリアドレスを内包する前記アドレス範囲を特定し、当該特定したアドレス範囲に含まれたメモリアドレスに格納されたデータを処理の対象とする他の要求が前記第二の装置によって実行されているか否かを判別し、
前記送信部は、さらに、前記判別部によって、前記特定したアドレス範囲に含まれたメモリアドレスに格納されたデータを処理の対象とする他の要求が前記第二の装置によって実行されていないと判別された場合には、前記順序制御記憶部に格納された要求のうち最も先に格納された要求を前記第二の装置へ送信することを特徴とする請求項2に記載の転送装置。 - 前記転送装置は、
前記順序制御記憶部に格納された要求を受信した順番と各非順序制御記憶部に格納された要求を受信した順番との関係、及び、前記順序制御記憶部に格納された要求によって処理の対象となるデータが格納されたメモリアドレスを内包した前記アドレス範囲と各非順序制御記憶部に格納された要求によって処理の対象となるデータが格納されたメモリアドレスを内包したアドレス範囲との関係を示すスコアボード情報を作成する作成部をさらに有し、
前記判別部は、前記作成部によって作成されたスコアボード情報に基づいて、前記順序制御記憶部に格納された要求のうち最も先に格納された要求について、当該要求と同一のアドレス範囲に内包されたメモリアドレスを処理の対象とし、かつ、当該要求よりも先に受信された要求がいずれかの非順序制御記憶部に格納されているか否かを判別し、当該要件を満たす非順序制御記憶部があると判別した場合には、該非順序制御記憶部に格納された要求が前記第二の装置によって実行されているか否かを判別することを特徴とする請求項3に記載の転送装置。 - 前記転送装置は、
前記第二の装置へ送信した要求に対する応答を前記第二の装置から受信する応答受信部をさらに有し、
前記送信部は、前記応答受信部によって応答が受信された場合には、新たな要求を前記第二の装置へ送信することを特徴とする請求項2〜4のいずれか一つに記載の転送装置。 - 前記複数の非順序制御記憶部は、前記要求のうち、実行順序を守る必要のない要求を、処理の対象となるデータをキャッシュメモリに保持する単位となるアドレス範囲ごとに記憶することを特徴とする請求項2〜5のいずれか1つに記載の転送装置。
- メモリに格納された情報に対する処理の要求のうち、実行順序が保持される要求を記憶する順序制御記憶装置と、前記要求のうち、実行順制御が不要な要求を記憶する複数の非順序制御記憶装置とを有する転送装置によって実行される転送方法であって、
第一の装置から受信した要求を解析し、当該要求の実行順制御が必要な要求か否かを判別する順序制御判定ステップと、
前記第一の装置から受信した要求を解析し、処理を実行する単位となる所定の大きさで区切られたアドレス範囲であって、当該要求された処理の対象となるデータが格納されたメモリアドレスを内包するアドレス範囲を特定する特定ステップと、
前記順序制御判定ステップによって前記実行順制御が必要な要求であると判別された場合には、当該要求を前記順序制御記憶装置に格納し、前記順序制御判定ステップによって前記実行順制御が不要な要求であると判別された場合には、前記特定ステップによって特定されたアドレス範囲ごとに異なる前記非順序制御記憶装置に当該要求を格納する格納ステップと、
前記格納ステップによって格納された要求が該要求を実行する第二の装置によって実行されているか否かを非順序制御記憶装置ごとに判別する判別ステップと、
前記判別ステップによって前記要求が実行されていないと判別された非順序制御記憶装置に格納された要求を前記第二の装置へ送信する送信ステップと、
を含むことを特徴とする転送方法。 - メモリに格納された情報に対する処理の要求のうち、実行順序が保持される要求を記憶する順序制御記憶装置と、前記要求のうち、実行順制御が不要な要求を記憶する複数の非順序制御記憶装置とを有する転送装置によって実行される転送プログラムであって、
第一の装置から受信した要求を解析し、当該要求の実行順制御が必要な要求か否かを判別する順序制御判定手順と、
前記第一の装置から受信した要求を解析し、処理を実行する単位となる所定の大きさで区切られたアドレス範囲であって、当該要求された処理の対象となるデータが格納されたメモリアドレスを内包するアドレス範囲を特定する特定手順と、
前記順序制御判定手順によって前記実行順制御が必要な要求であると判別された場合には、当該要求を前記順序制御記憶装置に格納し、前記順序制御判定手順によって前記実行順制御が不要な要求であると判別された場合には、前記特定手順によって特定されたアドレス範囲ごとに異なる前記非順序制御記憶装置に当該要求を格納する格納手順と、
前記格納手順によって格納された要求が該要求を実行する第二の装置によって実行されているか否かを非順序制御記憶装置ごとに判別する判別手順と、
前記判別手順によって前記要求が実行されていないと判別された非順序制御記憶装置に格納された要求を前記第二の装置へ送信する送信手順と、
を実行させることを特徴とする転送プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237859A JP5625737B2 (ja) | 2010-10-22 | 2010-10-22 | 転送装置、転送方法および転送プログラム |
EP11176036A EP2447851A1 (en) | 2010-10-22 | 2011-07-29 | Transmission device, transmission method, and transmission program |
US13/195,064 US20120102293A1 (en) | 2010-10-22 | 2011-08-01 | Transmission device, transmission method, and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237859A JP5625737B2 (ja) | 2010-10-22 | 2010-10-22 | 転送装置、転送方法および転送プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012093798A JP2012093798A (ja) | 2012-05-17 |
JP5625737B2 true JP5625737B2 (ja) | 2014-11-19 |
Family
ID=44514543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010237859A Expired - Fee Related JP5625737B2 (ja) | 2010-10-22 | 2010-10-22 | 転送装置、転送方法および転送プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120102293A1 (ja) |
EP (1) | EP2447851A1 (ja) |
JP (1) | JP5625737B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6142783B2 (ja) * | 2013-11-25 | 2017-06-07 | 富士通株式会社 | メモリコントローラ,情報処理装置及びメモリコントローラの制御方法 |
US9594713B2 (en) | 2014-09-12 | 2017-03-14 | Qualcomm Incorporated | Bridging strongly ordered write transactions to devices in weakly ordered domains, and related apparatuses, methods, and computer-readable media |
US10579548B2 (en) * | 2018-03-29 | 2020-03-03 | Western Digital Technologies, Inc. | Adaptive interleaving of data transfer requests |
KR20210012439A (ko) * | 2019-07-25 | 2021-02-03 | 삼성전자주식회사 | 마스터 지능 소자 및 이의 제어 방법 |
TW202243484A (zh) * | 2021-04-26 | 2022-11-01 | 聯陽半導體股份有限公司 30076 新竹科學工業園區創新一路13號3樓 | 電子裝置、電子系統及控制方法 |
US12001352B1 (en) * | 2022-09-30 | 2024-06-04 | Amazon Technologies, Inc. | Transaction ordering based on target address |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3693183B2 (ja) * | 1992-12-18 | 2005-09-07 | 富士通株式会社 | データ処理装置 |
US6311286B1 (en) * | 1993-04-30 | 2001-10-30 | Nec Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
JP2000076176A (ja) * | 1998-08-31 | 2000-03-14 | Nec Corp | シーケンス回路及びシーケンス処理方法 |
US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
JP3501727B2 (ja) * | 2000-05-18 | 2004-03-02 | エヌイーシーコンピュータテクノ株式会社 | リクエスト順序制御装置 |
US7069399B2 (en) * | 2003-01-15 | 2006-06-27 | Via Technologies Inc. | Method and related apparatus for reordering access requests used to access main memory of a data processing system |
US20050289306A1 (en) * | 2004-06-28 | 2005-12-29 | Sridhar Muthrasanallur | Memory read requests passing memory writes |
JP4443474B2 (ja) * | 2005-06-14 | 2010-03-31 | 株式会社ソニー・コンピュータエンタテインメント | コマンド転送制御装置およびコマンド転送制御方法 |
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
CN101908368A (zh) * | 2009-06-04 | 2010-12-08 | 威刚科技(苏州)有限公司 | 电子存储装置及其操作方法 |
-
2010
- 2010-10-22 JP JP2010237859A patent/JP5625737B2/ja not_active Expired - Fee Related
-
2011
- 2011-07-29 EP EP11176036A patent/EP2447851A1/en not_active Withdrawn
- 2011-08-01 US US13/195,064 patent/US20120102293A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20120102293A1 (en) | 2012-04-26 |
JP2012093798A (ja) | 2012-05-17 |
EP2447851A1 (en) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5625737B2 (ja) | 転送装置、転送方法および転送プログラム | |
JP5118199B2 (ja) | マルチスレッドおよびマルチコア・システムのためのキャッシュ、および、その方法 | |
US8589638B2 (en) | Terminating barriers in streams of access requests to a data store while maintaining data consistency | |
US20080168233A1 (en) | Cache circuitry, data processing apparatus and method for handling write access requests | |
IL229736A (en) | Memory Controller and Method Activate the memory controller | |
TW201539196A (zh) | 用於處理多個交易之資料處理系統及方法 | |
EP1895423B1 (en) | System controller, identical-address-request-queuing preventing method, and information processing apparatus having identical address-request-queuing preventing function | |
JPH11175454A (ja) | 自動直接メモリ・アクセス機能を備えたコンピュータ・システム | |
US10061728B2 (en) | Arbitration and hazard detection for a data processing apparatus | |
TW484065B (en) | Dynamic priority external transaction system | |
JPH11175455A (ja) | コンピュータ・システムにおける通信方法及び装置 | |
JP2011170848A (ja) | トレースデータの優先度の選択 | |
WO2023076591A1 (en) | Hardware management of direct memory access commands | |
US9697127B2 (en) | Semiconductor device for controlling prefetch operation | |
US8667199B2 (en) | Data processing apparatus and method for performing multi-cycle arbitration | |
JP2011232917A (ja) | 半導体集積回路、及びリクエスト制御方法 | |
US9367464B2 (en) | Cache circuit having a tag array with smaller latency than a data array | |
US8356119B2 (en) | Performance by reducing transaction request ordering requirements | |
JP2006301825A (ja) | アドレス競合時のスタベーション防止方法およびチップセットおよびマルチプロセッサシステム | |
US6145032A (en) | System for recirculation of communication transactions in data processing in the event of communication stall | |
US20100058024A1 (en) | Data Transfer Apparatus, Data Transfer Method And Processor | |
JP3873589B2 (ja) | プロセッサシステム | |
US7650483B2 (en) | Execution of instructions within a data processing apparatus having a plurality of processing units | |
KR101133806B1 (ko) | 병렬 통신 버스를 통한 인터럽트 메시지 전송 방법 및 컴퓨터 시스템 | |
US9928195B2 (en) | Interconnect and method of operation of an interconnect for ordered write observation (OWO) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140609 |
|
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: 20140902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140915 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5625737 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |