JP2009508247A - バス調停に関する方法及びシステム - Google Patents
バス調停に関する方法及びシステム Download PDFInfo
- Publication number
- JP2009508247A JP2009508247A JP2008530683A JP2008530683A JP2009508247A JP 2009508247 A JP2009508247 A JP 2009508247A JP 2008530683 A JP2008530683 A JP 2008530683A JP 2008530683 A JP2008530683 A JP 2008530683A JP 2009508247 A JP2009508247 A JP 2009508247A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data transfer
- bus
- requests
- group
- 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
Links
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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
a.1つ以上のデータ取り扱いユニットが単一のバス周期においてデータ転送要求を実行するために前記データバスにアクセスすることを許可するように構成される論理ブロックであって、前記論理ブロックが、アクセスするデータ取り扱いユニットの数の最大化及び単一のバス周期において利用されるデータラインの数の最大化を最適化規準として有する最適化器を含む論理ブロックと、
b.単一のバス周期において前記バスにアクセスするのを可能にさせることに関して1つ以上の未決定のデータ転送要求を許可するために、一群の特定された未決定のデータ転送要求の間において第1の最適化ステップを開始するための未決定のデータ転送要求のスケジュールを登録及び維持することが可能である制御器であって、前記制御器は、更に、前記特定された要求以外のデータ転送要求の間において、未利用のデータラインへのアクセスが前記第1の最適化ステップの後に調停される第2の最適化ステップを開始するように構成される、制御器と、
を備える、バス調停器を提供する。
a.前記データ取り扱いユニットからデータ転送要求を受信するステップと、
b.一群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数のデータラインを利用させるような、一群の1つ以上のデータ転送要求を選択するステップと、
c.前記選択された一群のデータ転送要求を発行した前記データ取り扱いユニットに単一のバス周期において前記バスにアクセスさせるのを許可するステップと、
を含む、方法が提供される。
a.所定の持続時間よりも長い間において未決定であったデータ転送要求を特定するステップと、
b.前記特定されたデータ転送要求のうちから、第1の群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数のデータラインを利用させるような、データ転送要求を選択するステップと、
を含む、方法を提供する。
a.前記第1の群のデータ転送要求を選択した後に、データラインが未利用であるかを決定するステップと、
b.前記特定されたデータ転送要求のうちから第2の群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数の決定された未利用のデータラインを利用させるような、データ転送要求を選択するステップと、
c.前記第1及び第2の群のデータ転送要求を発行した前記データ取り扱いユニットに、単一のバス周期において前記バスにアクセスさせるのを許可するステップと、
を含む。
群GのサブセットSを、
|S|が最大であり、且つ
Sの要素のデータサイズの合計が、Max_Bus_Width以下である、
ように選択し、
ここで、Gは一群の全ての利用可能な要求である。Sは一群の要求であり且つGのサブセットであり、データラインへアクセスするのを許可され得る要求の可能な群のうちの1つに対応する。|S|はサブセットSにおける要求の数であり、Max_Bus_widthは、入手可能なデータラインの最大数である。上述されるように、|S|が同一であるような1つより多いサブセットSが存在する場合、論理ユニットは、最高数のデータラインを利用し得るサブセットを選択し、選択されたデータ転送要求に関してデータラインへのアクセスを有効化するために、ブロック300の出力において制御信号を送信し得る。更に、最大数のデータ転送要求へのサービスを可能にし且つ最大可能な数のデータライン幅を利用する1つより多い群が存在する場合、論理ユニット310、320及び330は、相対的に高い数の相対的に古いデータ転送要求を有する一群を選択し得る。各論理ユニットは、選択処理の終了において制御器340を更新する。
1.|S|が最大であり、ここで|S|はサブセットSにおける要求の数である、
2.Sの要素のデータサイズの合計が、Max_Bus_Width以下である、
に従い、群Gから可能なサブセットSを見つけ出すための計算が実行される。
Claims (9)
- 複数のデータ取り扱いユニット、及び複数のデータラインを有する共有バス、を含むシステムにおいて使用するバス調停に関する方法であって、
a.前記データ取り扱いユニットからデータ転送要求を受信するステップと、
b.一群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数のデータラインを利用させるような、データ転送要求を選択するステップと、
c.前記選択された一群のデータ転送要求を発行した前記データ取り扱いユニットが単一のバス周期において前記バスにアクセスすることを許可するステップと、
を含む、方法。 - 請求項1に記載の方法であって、前記方法が、更に、
a.所定の持続時間よりも長い間において未決定であったデータ転送要求を特定するステップと、
b.前記特定されたデータ転送要求のうちから、第1の群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数のデータラインを利用させるような、データ転送要求を選択するステップと、
を含む、方法。 - 請求項2に記載のバス調停に関する方法であって、前記方法が、更に、
a.前記第1の群のデータ転送要求を選択した後に、データラインが未利用であるかを決定するステップと、
b.前記特定されたデータ転送要求以外のデータ転送要求のうちから、第2の群の1つ以上のデータ転送要求であって、当該データ転送要求の許可が最大数のデータ取り扱いユニットを作用させ且つ最大数の決定された未利用のデータラインを利用させるような、データ転送要求を選択するステップと、
c.前記第1及び第2の群のデータ転送要求を発行した前記データ取り扱いユニットが単一のバス周期において前記バスにアクセスすることを許可するステップと、
を含む、方法。 - 請求項1又は3に記載のバス調停に関する方法であって、前記データ取り扱いユニットを許可するステップが、各受信及び作用される要求を登録及びスケジューリングするステップを含む、方法。
- 請求項3又は4に記載のバス調停に関する方法であって、前記特定するステップが、データ転送要求が前記バスへのアクセスを許可される必要がある前までの持続時間を決定するステップを含む、方法。
- 請求項1、2又は3のいずれか1項に記載の方法であって、前記選択するステップが、任意選択的に、複数の群の要求のうちから、相対的に高い数の古いデータ転送要求を含む一群のデータ転送要求を選択するステップを提供し、前記データ転送要求の許可が、最大数のデータ取り扱いユニットを作用させ且つ最大数のデータラインの利用を生じさせるような、方法。
- 複数のデータ取り扱いユニットからデータ転送要求を受信するとともに、共有バスのデータラインのアクセスを前記複数のデータ取り扱いユニットの間において調停するように構成されるバス調停器であって、
a.1つ以上のデータ取り扱いユニットが単一のバス周期においてデータ転送要求を実行するために前記データバスにアクセスすることを許可するように構成される論理ブロックであって、前記論理ブロックが、アクセスするデータ取り扱いユニットの数の最大化及び単一のバス周期において利用されるデータラインの数の最大化を最適化規準として有する最適化器を含む論理ブロックと、
b.単一のバス周期において前記バスにアクセスするのを可能にさせることに関して1つ以上の未決定のデータ転送要求を許可するために、一群の特定された未決定のデータ転送要求の間において第1の最適化ステップを開始するための未決定のデータ転送要求のスケジュールを登録及び維持することが可能である制御器であって、前記制御器は、更に、前記特定された要求以外のデータ転送要求の間において、未利用のデータラインへのアクセスが前記第1の最適化ステップの後に調停される第2の最適化ステップを開始するように構成される、制御器と、
を備える、バス調停器。 - 請求項7に記載のバス調停器であって、前記制御器が、前記要求が所定の時間よりも長い間において未決定である場合、要求を特定する、バス調停器。
- 請求項8に記載のバス調停器であって、前記所定の時間が、データ転送要求が許可される必要がある持続時間に対応する、バス調停器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05108430 | 2005-09-14 | ||
PCT/IB2006/053148 WO2007031912A1 (en) | 2005-09-14 | 2006-09-07 | Method and system for bus arbitration |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009508247A true JP2009508247A (ja) | 2009-02-26 |
Family
ID=37685803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008530683A Ceased JP2009508247A (ja) | 2005-09-14 | 2006-09-07 | バス調停に関する方法及びシステム |
Country Status (5)
Country | Link |
---|---|
US (2) | US7765350B2 (ja) |
EP (1) | EP1927054A1 (ja) |
JP (1) | JP2009508247A (ja) |
CN (1) | CN101263465B (ja) |
WO (1) | WO2007031912A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007143278A2 (en) | 2006-04-12 | 2007-12-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
KR100813256B1 (ko) * | 2006-06-23 | 2008-03-13 | 삼성전자주식회사 | 버스 중재 장치 및 방법 |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
TWI385528B (zh) * | 2008-12-22 | 2013-02-11 | Univ Ishou | Arbitration device for system bus |
US8639885B2 (en) * | 2009-12-21 | 2014-01-28 | Oracle America, Inc. | Reducing implementation costs of communicating cache invalidation information in a multicore processor |
US8195883B2 (en) * | 2010-01-27 | 2012-06-05 | Oracle America, Inc. | Resource sharing to reduce implementation costs in a multicore processor |
JP2012014397A (ja) * | 2010-06-30 | 2012-01-19 | Fujitsu Ltd | 入出力制御装置、及び情報処理装置 |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
EP2689326B1 (en) | 2011-03-25 | 2022-11-16 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
TWI518504B (zh) | 2011-03-25 | 2016-01-21 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段 |
KR101638225B1 (ko) | 2011-03-25 | 2016-07-08 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 명령어 시퀀스 코드 블록의 실행 |
TWI548994B (zh) | 2011-05-20 | 2016-09-11 | 軟體機器公司 | 以複數個引擎支援指令序列的執行之互連結構 |
US9940134B2 (en) * | 2011-05-20 | 2018-04-10 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
KR101703400B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 마이크로프로세서 가속 코드 최적화기 |
IN2014CN03678A (ja) | 2011-11-22 | 2015-09-25 | Soft Machines Inc | |
US8856415B2 (en) | 2012-02-01 | 2014-10-07 | National Instruments Corporation | Bus arbitration for a real-time computer system |
CN105210040B (zh) | 2013-03-15 | 2019-04-02 | 英特尔公司 | 用于执行分组成块的多线程指令的方法 |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
CN105247484B (zh) | 2013-03-15 | 2021-02-23 | 英特尔公司 | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9798686B2 (en) * | 2014-11-19 | 2017-10-24 | Silicon Laboratories Inc. | Slave side bus arbitration |
US9760297B2 (en) * | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
CN110880998B (zh) * | 2019-12-03 | 2022-09-20 | 锐捷网络股份有限公司 | 一种基于可编程器件的报文传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03252847A (ja) * | 1990-03-02 | 1991-11-12 | Nec Corp | システムバス調停方式 |
JPH09223103A (ja) * | 1996-02-15 | 1997-08-26 | Ricoh Co Ltd | 情報処理システム |
JPH10177543A (ja) * | 1996-12-18 | 1998-06-30 | Matsushita Electric Ind Co Ltd | バス制御回路 |
JP2001297056A (ja) * | 2000-04-11 | 2001-10-26 | Canon Inc | 調停回路及びdmaコントローラ |
JP2002091902A (ja) * | 2000-09-13 | 2002-03-29 | Nec Kofu Ltd | バス調停方法及び情報処理装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4604743A (en) | 1984-11-21 | 1986-08-05 | North American Philips Corporation | Bus structure for an image processor |
US4908749A (en) * | 1985-11-15 | 1990-03-13 | Data General Corporation | System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal |
US5025370A (en) * | 1986-09-02 | 1991-06-18 | Koegel Robert J | Circuit for preventing lock-out of high priority requests to a system controller |
CA2045756C (en) | 1990-06-29 | 1996-08-20 | Gregg Bouchard | Combined queue for invalidates and return data in multiprocessor system |
JPH06266596A (ja) * | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
US5446845A (en) * | 1993-09-20 | 1995-08-29 | International Business Machines Corporation | Steering logic to directly connect devices having different data word widths |
WO1996041274A1 (en) * | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Dynamically reconfigurable data bus |
US5881247A (en) * | 1995-11-30 | 1999-03-09 | Allen-Bradley Company Llc | System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer |
US5930484A (en) * | 1997-09-18 | 1999-07-27 | International Business Machines Corporation | Method and system for input/output control in a multiprocessor system utilizing simultaneous variable-width bus access |
US5913044A (en) * | 1997-09-18 | 1999-06-15 | International Business Machines Corporation | Method and system for simultaneous variable-width bus access in a multiprocessor system |
US6366984B1 (en) * | 1999-05-11 | 2002-04-02 | Intel Corporation | Write combining buffer that supports snoop request |
EP1309864B1 (en) * | 2000-08-16 | 2005-12-28 | Council of Scientific and Industrial Research | A rapid method for microwave mediated enzyme-linked immunosorbent assay |
US6820148B1 (en) * | 2000-08-17 | 2004-11-16 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
US6820152B2 (en) * | 2001-04-25 | 2004-11-16 | Matsushita Electric Industrial Co., Ltd. | Memory control device and LSI |
DE602004018371D1 (de) | 2003-11-13 | 2009-01-22 | Koninkl Philips Electronics Nv | Elektronische datenverarbeitungsschaltung, die gepackte wörter über einen bus sendet |
-
2006
- 2006-09-07 WO PCT/IB2006/053148 patent/WO2007031912A1/en active Application Filing
- 2006-09-07 JP JP2008530683A patent/JP2009508247A/ja not_active Ceased
- 2006-09-07 US US12/066,673 patent/US7765350B2/en active Active
- 2006-09-07 EP EP06795940A patent/EP1927054A1/en not_active Withdrawn
- 2006-09-07 CN CN2006800339423A patent/CN101263465B/zh active Active
-
2010
- 2010-06-17 US US12/817,812 patent/US8041869B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03252847A (ja) * | 1990-03-02 | 1991-11-12 | Nec Corp | システムバス調停方式 |
JPH09223103A (ja) * | 1996-02-15 | 1997-08-26 | Ricoh Co Ltd | 情報処理システム |
JPH10177543A (ja) * | 1996-12-18 | 1998-06-30 | Matsushita Electric Ind Co Ltd | バス制御回路 |
JP2001297056A (ja) * | 2000-04-11 | 2001-10-26 | Canon Inc | 調停回路及びdmaコントローラ |
JP2002091902A (ja) * | 2000-09-13 | 2002-03-29 | Nec Kofu Ltd | バス調停方法及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100257296A1 (en) | 2010-10-07 |
US7765350B2 (en) | 2010-07-27 |
CN101263465A (zh) | 2008-09-10 |
US8041869B2 (en) | 2011-10-18 |
EP1927054A1 (en) | 2008-06-04 |
CN101263465B (zh) | 2011-11-09 |
US20080256278A1 (en) | 2008-10-16 |
WO2007031912A1 (en) | 2007-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009508247A (ja) | バス調停に関する方法及びシステム | |
JP6755935B2 (ja) | 共有メモリコントローラおよびそれを使用する方法 | |
US7689732B2 (en) | Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels | |
EP3352090A1 (en) | Multi-channel dma system with command queue structure supporting three dma modes | |
JPS60246460A (ja) | デジタルコンピユ−タ−システムで交信路の制御を割当てる調停機構 | |
JPH08297632A (ja) | 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置 | |
US7225281B2 (en) | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms | |
US8213461B2 (en) | Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units | |
WO2003001388A1 (en) | System and method for controlling bus arbitration during cache memory burst cycles | |
US9984014B2 (en) | Semiconductor device | |
US7065594B2 (en) | Method and apparatus of allocating minimum and maximum bandwidths on a bus-based communication system | |
US7080174B1 (en) | System and method for managing input/output requests using a fairness throttle | |
EP1811393A1 (en) | Method and system for data transfer | |
US8667199B2 (en) | Data processing apparatus and method for performing multi-cycle arbitration | |
US8533377B2 (en) | System and method for allocating transaction ID in a system with a plurality of processing modules | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
US7979615B1 (en) | Apparatus for masked arbitration between masters and requestors and method for operating the same | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
JP2003517681A (ja) | 共用資源アービトレーション方法及び装置 | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
US8135878B1 (en) | Method and apparatus for improving throughput on a common bus | |
EP2538336A2 (en) | System and method for allocating memory resources | |
US7325088B2 (en) | Management of indexed registers in a system on a chip | |
US11620083B2 (en) | Method for implementing predictable latency mode feature in SSD, and non-volatile memory (NVM) based storage device | |
US7975086B1 (en) | Apparatus for real-time arbitration between masters and requestors and method for operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110711 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120403 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20120828 |