JP2022056144A - プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム - Google Patents
プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム Download PDFInfo
- Publication number
- JP2022056144A JP2022056144A JP2020163989A JP2020163989A JP2022056144A JP 2022056144 A JP2022056144 A JP 2022056144A JP 2020163989 A JP2020163989 A JP 2020163989A JP 2020163989 A JP2020163989 A JP 2020163989A JP 2022056144 A JP2022056144 A JP 2022056144A
- Authority
- JP
- Japan
- Prior art keywords
- module
- circuit
- timing
- programmable logic
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 36
- 238000012545 processing Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000001934 delay Effects 0.000 claims abstract description 25
- 238000005259 measurement Methods 0.000 claims abstract description 23
- 230000003111 delayed effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 23
- 230000003068 static effect Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000003707 image sharpening Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Memory System (AREA)
Abstract
Description
請求項2に係る発明によれば、プログラマブル論理回路が自身で第1タイミング、及び第2タイミングを予測して、第1タイミングに重ならないように、第2タイミングを遅延させることができる。
請求項3、9に係る発明によれば、プログラマブル論理回路にデバイス内メモリを設ける必要がない。
請求項4に係る発明によれば、1以上の第1モジュールと、第2モジュールとの組合せに応じて、第2モジュールを遅延させる遅延時間が決まる。
請求項5に係る発明によれば、実際にデータの入出力を待たされた待機時間により、処理の開始を遅延させる遅延時間を決めることができる。
請求項6に係る発明によれば、遅延時間を算出する回数の上限を定めることができる。
請求項7に係る発明によれば、2以上のモジュールが互いに競合してメモリにアクセスした場合に、どのモジュールを優先させるかを予め決めておくことができる。
請求項8に係る発明によれば、プログラマブル論理回路に再構成された第1モジュールと、第2モジュールと、がそれぞれ共有のメモリにアクセスするタイミングを予測して、これらを分散させることができる。
<情報処理システムの構成>
図1は、情報処理システム9の構成の例を示す図である。図1に示す情報処理システム9は、情報処理装置1と、論理デバイス2とを有する。情報処理装置1は、例えば、画像を示す画像データ、各種のコンピュータ・プログラム(以下、単にプログラムという)、モジュール等の情報を処理する装置である。また、情報処理装置1は、論理デバイス2を制御して、この論理デバイス2に処理の実行を指示する。論理デバイス2は、情報処理装置1の制御の下、内部の回路を再構成し、指示された処理を実行するデバイスである。
図6は、論理デバイス2の構成の例を示す図である。図6に示す論理デバイス2は、デバイス内メモリ20、及びプログラマブル論理回路21を有する。図6に示すデバイス内メモリ20は、論理デバイス2に内蔵された記憶装置であり、例えば、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)である。図6に示すプログラマブル論理回路21は、内部の論理回路の構造を再構成できる半導体チップである。
図11は、プロセッサ11の機能的構成の例を示す図である。情報処理装置1のプロセッサ11は、メモリ12に記憶されたプログラムを実行することにより、再構成部111、及び指示部112として機能する。
図12は、プロセッサ11の動作の流れの例を示すフロー図である。プロセッサ11は、情報処理装置1が起動されると、バス19を介して論理デバイス2を制御し、プログラマブル論理回路21のスタティック領域R0を再構成する(ステップS101)
。この再構成は、起動の際に一度だけ行われる。
図13は、論理デバイス2の動作の流れの例を示すフロー図である。論理デバイス2のプログラマブル論理回路21は、情報処理装置1のプロセッサ11から処理の実行を指示されると、再構成された1以上のモジュールごとに、決められた遅延時間に沿って、実行の開始を遅延し(ステップS201)、その後、処理を実行する(ステップS202)。
上述した動作によってモジュールの実行の開始は、以下の通り調整される。図14は、モジュールの処理の周期を説明するための図である。図14において、横方向は時間の流れを示し、この時間は左から右に流れる。モジュールの1周期分の処理は、読込→メモリアクセスを伴わない処理→書出、の3段階で構成され、この順に行われる。プログラマブル論理回路21のうち、このモジュールが再構成された領域は、まず、デバイス内メモリ20から初期値となるデータを読込み、読込んだデータを用いてメモリアクセスを伴わない処理を実行する。そして、この領域は、実行した処理の結果を示すデータをデバイス内メモリ20に書出す。
また、プログラマブル論理回路21において、再構成され、並行して実行される2以上のモジュールの周期が異なることもある。しかし、一方のモジュールの周期が、他方のモジュールの周期の整数倍であり、かつ、他方のモジュールのメモリアクセスに要する時間が、一方のモジュールのメモリアクセスを伴わない処理に要する時間よりも短い、といった条件が揃った場合、一方のモジュールの実行の開始を遅延させることで、メモリアクセスの競合が避けられることがある。
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は、互いに組合されてもよい。
上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
また上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
上述した実施形態において、遅延時間DB122は、第2モジュールIDリスト1221、及び遅延時間表1222を有していたが、他の構成であってもよい。例えば、遅延時間DB122は、2以上のモジュールの組合せごとに、初期遅延時間を対応付けてもよい。図19は、変形例における遅延時間DB122aの例を示す図である。図19に示す遅延時間DB122aは、プログラムで使用されるモジュールの組合せごとに、初期遅延時間が対応付けて記憶されている。この場合、この組合せに含まれる、実行中でないモジュールには、この組合せに対応付けられた初期遅延時間が用いられる。
上述した実施形態において、プログラマブル論理回路21は、入出力回路C1、計測回路C2、遅延回路C3、及び処理回路C4を有するモジュールを再構成していたが、計測回路C2、及び遅延回路C3の機能は、プロセッサ11によって実現されてもよい。
上述した実施形態において、プログラマブル論理回路21に再構成された各モジュールは、論理デバイス2に備えられた共通のデバイス内メモリ20にアクセスしていたが、これに限られない。例えば、各モジュールは、情報処理装置1のメモリ12にアクセスしてもよい。また、各モジュールは、プログラマブル論理回路21のスタティック領域R0に再構成されたメモリにアクセスしてもよい。
上述した実施形態において、情報処理装置1のプロセッサ11によって実行されるプログラムは、プログラマブル論理回路と接続されたプロセッサ、を有するコンピュータに、前記プログラマブル論理回路に、複数のモジュールを再構成するステップと、前記複数のモジュールのうち、実行中の第1モジュールがメモリにアクセスする第1タイミングを予測するステップと、前記複数のモジュールのうち、実行中でない第2モジュールが前記メモリにアクセスする第2タイミングを予測して、該第2タイミングが前記第1タイミングと重ならないように、該第2モジュールの実行の開始を前記第1モジュールの実行の開始時点から遅延させるステップと、を実行させるプログラムの例である。
Claims (11)
- 通信可能に接続された複数の論理ブロックを有し、
前記複数の論理ブロックのいずれかに、複数のモジュールが再構成され、
前記複数のモジュールのうち、実行中の第1モジュールがメモリにアクセスする第1タイミングに、実行中でない第2モジュールが前記メモリにアクセスする第2タイミングが重ならないように、前記第2モジュールの実行の開始を前記第1モジュールの実行の開始時点から遅延させる
プログラマブル論理回路。 - 前記第1タイミング、及び前記第2タイミングを予測する
請求項1に記載のプログラマブル論理回路。 - 前記メモリは、前記複数の論理ブロックのいずれかに再構成されている
請求項1又は2に記載のプログラマブル論理回路。 - 1以上の前記第1モジュールと、前記第2モジュールとの組合せに応じて、該第2モジュールの実行の開始を、1以上の前記第1モジュールのいずれかの実行の開始時点から遅延させる
請求項1から3のいずれか1項に記載のプログラマブル論理回路。 - 前記第2モジュールは、
決められた処理を行う処理回路と、
前記処理回路が使用するデータを前記メモリに入出力する入出力回路と、
前記入出力回路が前記第1モジュールにより前記データの入出力を待たされた待機時間を計測する計測回路と、
前記計測回路が計測した前記待機時間に応じて前記処理回路による前記処理の開始を遅延させる遅延回路と、を有する
請求項1から4のいずれか1項に記載のプログラマブル論理回路。 - 前記遅延回路は、前記待機時間に応じて、前記処理回路による前記処理の開始を遅延させる遅延時間を算出し、該遅延時間を算出した回数が閾値以上になった後は、新たに遅延時間を算出することなく、既に算出された前記遅延時間を用いて前記処理の開始を遅延させる
請求項5に記載のプログラマブル論理回路。 - 前記複数のモジュールのうち、いずれか2以上のモジュールが、互いに競合して前記メモリにアクセスした場合、該複数のモジュールのそれぞれに割り当てられた順位に応じて、該2以上のモジュールのそれぞれに前記メモリへのアクセスを許可する
請求項1から6のいずれか1項に記載のプログラマブル論理回路。 - プログラマブル論理回路と接続されたプロセッサ、を有し、前記プロセッサは、
前記プログラマブル論理回路に、複数のモジュールを再構成し、
前記複数のモジュールのうち、実行中の第1モジュールがメモリにアクセスする第1タイミングを予測し、
前記複数のモジュールのうち、実行中でない第2モジュールが前記メモリにアクセスする第2タイミングを予測し、
前記第2タイミングが前記第1タイミングと重ならないように、前記第2モジュールの実行の開始を前記第1モジュールの実行の開始時点から遅延させる
情報処理装置。 - 前記プロセッサは、
前記メモリを、前記プログラマブル論理回路に再構成する
請求項8に記載の情報処理装置。 - プログラマブル論理回路と、
前記プログラマブル論理回路と接続されたプロセッサと、を有し、
前記プロセッサは、
前記プログラマブル論理回路に、複数のモジュールを再構成し、
前記複数のモジュールのうち、実行中の第1モジュールがメモリにアクセスする第1タイミングを予測し、
前記複数のモジュールのうち、実行中でない第2モジュールが前記メモリにアクセスする第2タイミングを予測し、
前記第2タイミングが前記第1タイミングと重ならないように、前記第2モジュールの実行の開始を前記第1モジュールの実行の開始時点から遅延させる
情報処理システム。 - プログラマブル論理回路と接続されたプロセッサ、を有するコンピュータに、
前記プログラマブル論理回路に、複数のモジュールを再構成するステップと、
前記複数のモジュールのうち、実行中の第1モジュールがメモリにアクセスする第1タイミングを予測するステップと、
前記複数のモジュールのうち、実行中でない第2モジュールが前記メモリにアクセスする第2タイミングを予測して、該第2タイミングが前記第1タイミングと重ならないように、該第2モジュールの実行の開始を前記第1モジュールの実行の開始時点から遅延させるステップと、
を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020163989A JP2022056144A (ja) | 2020-09-29 | 2020-09-29 | プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム |
US17/334,811 US11942184B2 (en) | 2020-09-29 | 2021-05-31 | Programmable logic circuit, information processing apparatus, and non-transitory computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020163989A JP2022056144A (ja) | 2020-09-29 | 2020-09-29 | プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022056144A true JP2022056144A (ja) | 2022-04-08 |
Family
ID=80823059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020163989A Pending JP2022056144A (ja) | 2020-09-29 | 2020-09-29 | プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11942184B2 (ja) |
JP (1) | JP2022056144A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022040721A (ja) * | 2020-08-31 | 2022-03-11 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892981A (en) | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
JP2005258617A (ja) | 2004-03-10 | 2005-09-22 | Nec Corp | メモリ競合時間計測装置、メモリ競合時間計測方法及びプログラム |
US7490283B2 (en) * | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7420874B2 (en) * | 2005-04-06 | 2008-09-02 | Rambus Inc. | Integrated circuit memory device, system and method having interleaved row and column control |
US11328764B2 (en) * | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
JP5565204B2 (ja) * | 2010-08-23 | 2014-08-06 | 株式会社リコー | データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置 |
US9293176B2 (en) * | 2014-02-18 | 2016-03-22 | Micron Technology, Inc. | Power management |
KR101593835B1 (ko) * | 2014-10-30 | 2016-02-12 | 엘에스산전 주식회사 | Plc 시스템 |
US9653148B1 (en) * | 2016-02-18 | 2017-05-16 | Piecemakers Technology, Inc. | Multi-bank memory device and system |
JP6849908B2 (ja) | 2016-12-21 | 2021-03-31 | 富士通株式会社 | 情報処理装置、pld管理プログラム及びpld管理方法 |
US10884829B1 (en) * | 2020-05-05 | 2021-01-05 | Innovium, Inc. | Shared buffer memory architecture |
-
2020
- 2020-09-29 JP JP2020163989A patent/JP2022056144A/ja active Pending
-
2021
- 2021-05-31 US US17/334,811 patent/US11942184B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11942184B2 (en) | 2024-03-26 |
US20220101897A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5498505B2 (ja) | データバースト間の競合の解決 | |
JP6761870B2 (ja) | 低電力メモリのスロットリング | |
EP3979072B1 (en) | Firmware boot task distribution to enable low latency boot performance | |
JP6201591B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
EP0463775B1 (en) | Multiple speed expansion card | |
JP2022056144A (ja) | プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム | |
US9003217B2 (en) | Semiconductor integrated circuit apparatus | |
US11157206B2 (en) | Multi-die system capable of sharing non-volatile memory | |
US7310717B2 (en) | Data transfer control unit with selectable transfer unit size | |
JP7468112B2 (ja) | インタフェース回路およびインタフェース回路の制御方法 | |
JP2022072452A (ja) | 情報処理装置、及びプログラム | |
JP2006215621A (ja) | Dma制御装置 | |
JP2022040721A (ja) | 情報処理装置、及びプログラム | |
WO2002093392A1 (fr) | Processeur de donnees | |
US5799160A (en) | Circuit and method for controlling bus arbitration | |
JP2011203843A (ja) | 情報処理装置 | |
JP2010113414A (ja) | マルチコアシステム、スレッドスケジューリング方法、プログラム、記憶媒体 | |
US20010005870A1 (en) | External bus control system | |
JP6535516B2 (ja) | マルチ・プログラマブルデバイス・システムとその制御方法 | |
JP2012168773A (ja) | バスシステムおよびアクセス制御方法 | |
JP2012221125A (ja) | データ転送制御装置、データ転送システム及びデータ転送方法 | |
JP2000250852A (ja) | バス調停装置、バスシステムおよびバス調停方法 | |
JP5949330B2 (ja) | 情報処理装置、情報処理方法 | |
JP2013073297A (ja) | 時分割方式による割り込み制御回路および割り込み制御方法 | |
JP2006031227A (ja) | Dma転送を用いたコンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240423 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240613 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240827 |