JP2003347930A - プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法 - Google Patents

プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法

Info

Publication number
JP2003347930A
JP2003347930A JP2002153586A JP2002153586A JP2003347930A JP 2003347930 A JP2003347930 A JP 2003347930A JP 2002153586 A JP2002153586 A JP 2002153586A JP 2002153586 A JP2002153586 A JP 2002153586A JP 2003347930 A JP2003347930 A JP 2003347930A
Authority
JP
Japan
Prior art keywords
slot
hardware logic
hardware
logic
slots
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.)
Granted
Application number
JP2002153586A
Other languages
English (en)
Other versions
JP3952856B2 (ja
Inventor
Hitoshi Koyanagi
仁 小柳
Kunio Nakano
邦夫 中野
Naoto Yamamoto
直人 山本
Tomonori Komasaka
友則 駒坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2002153586A priority Critical patent/JP3952856B2/ja
Publication of JP2003347930A publication Critical patent/JP2003347930A/ja
Application granted granted Critical
Publication of JP3952856B2 publication Critical patent/JP3952856B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】限られたハードウェアを活用し、マルチタスク
を含むさまざまなアプリケーションを高速に処理するこ
とができるプログラマブル論理回路及びコンピュータシ
ステム並びにキャッシュ方法の提供。 【解決手段】書き換え可能領域が個別にアクセス可能な
複数のスロット10に略等分割され、スロットの入出力
段に、スロットに書き込むハードウェアロジックと外部
のハードウェアやソフトウェアとの調停を行うスロット
入力制御部11及びスロット出力制御部12と、ハード
ウェアロジックの割り込み制御を可能とする割り込み制
御部13と、各々のスロットの状態を示すステータス1
4とを備えるものであり、制御部で調停を取りながら、
各々のスロットにソフトウェアによって管理されるハー
ドウェアロジックを書き込むことにより、ソフトウェア
の実行中に必要となる処理をハード上で高速に処理する
ことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラマブル論
理回路に関し、特に、小型化及び高速化を同時に達成可
能なプログラマブル論理回路及び該論理回路を含むコン
ピュータシステム並びにキャッシュ方法に関する。
【0002】
【従来の技術】高速なコンピュータシステムを構成する
方法としては、大別して2つの方法がある。第1の方法
は、図8に示すように、複数のCPU2を設け、それら
を並列に動作させるマルチプロセッサ方式であり、第2
の方法は、図9に示すように、CPU2の動作を支援す
ることにより、高速化を達成するものである。
【0003】マルチプロセッサの代表例としては、並列
型のスーパーコンピュータや高性能なサーバー等が挙げ
られる。また最近では、JAVA(R)プロセッサを搭
載するケースや、DSP(Digital Signaling Processo
r)を搭載するケースなど、特定のアプリケーションに
特化して性能を向上させることができるようなマルチプ
ロセッサシステムも提案されている。
【0004】また、CPU2の動作を支援する構成とし
ては、コプロセッサを搭載する構成やASIC(Applic
ation Specific Integrated Circuit)を搭載する構成
等がある。
【0005】コプロセッサの代表例として、浮動小数点
演算を高速に行うFPU(Floating-point Processing
Unit)がある。このFPUを用いることにより、CPU
がハードで浮動小数点演算を行えず、ソフトウェアで処
理しなければならない場合に高速化が可能になる。他の
例としては、行列の演算を高速に行うためのベクトルコ
プロセッサがある。これは、行列演算などの規則的な演
算を高速に行うためのハードウェアを備えているもので
ある。このようなコプロセッサを用いることにより、科
学技術計算などで規則的な演算が大量に出てくる場合
に、CPUだけで処理するよりも高速に処理することが
可能になる。
【0006】一方、ASICは、アプリケーションに特
化した機能の一部または全部をハードウェアで構成する
ことにより、高速動作を可能にするものであり、その代
表例としてゲートアレイが知られている。組み込み型の
システムでは、ASICを搭載することより高速でかつ
小型のシステム構築が可能になるが、このASICは、
アプリケーションに特化した機能を持つために、さまざ
まなアプリケーションに対応することができないという
欠点がある。
【0007】この欠点を補うため、近年、FPGA(fi
eld Programmable Gate Array)やPLD(Programmabl
e logic device)等の書き換え可能な領域を備えるデバ
イス(以下、これらを総称してプログラマブル論理回路
と呼ぶ。)の開発が行われている(例えば、米国特許第
4,700,187号)。このプログラマブル論理回路
は、図10に示すように、LUT(LookUp Table)8a
とフリップフロップ8bとで構成される基本セル8を配
列したものであり、LUT8aを書き換えることにより
内部のハードウェアロジックを変更することが出来る。
従って、アプリケーションに応じてハードウェアロジッ
クを書き換えることができることから、特殊な用途やサ
イクルの短い機器等の制御デバイスとして利用されてい
る。
【0008】
【発明が解決しようとする課題】一般にコンピュータシ
ステムの高速化を図るには、多くのハードウェアを使用
すればよい。例えば、図8のマルチプロセッサシステム
では、CPU2の個数を増やすほど、全体のパフォーマ
ンスは向上する。また、図9のコプロセッサやASIC
を搭載するシステムでは、より多くのCPU2の仕事を
肩代わりすることができるようなハードウェアを構成す
れば、全体のパフォーマンスは向上する。しかしなが
ら、このような方法ではシステムを構成する部品数が増
えるため、システムの高価格化と大規模化を招いてしま
う。また、これらのシステムでは、ハードウェアが提供
する機能が限定的なものであるために、さまざまなアプ
リケーションに対応できる機能を提供することができな
い。
【0009】一方、図10に示すプログラマブル論理回
路では、アプリケーションで必要となる複数の処理の回
路情報を予めメモリに格納しておき、必要に応じてメモ
リから読み出して書き換え可能領域に書き込むことによ
り、その時点で必要となる回路を生成することが可能で
ある。従って、この方法では、回路規模の小さなプログ
ラマブル論理回路を用いて、その回路規模以上の回路を
実現することができ、コンピュータシステムの小型化と
低コスト化を実現することが可能となる。しかしなが
ら、単一の書き換え可能領域からなるプログラマブル論
理回路では、ある時間で見た場合には一つのアプリケー
ションに特化しており、マルチタスクで動作するコンピ
ュータに比べて高速化に限界がある。
【0010】そこで、マルチタスクを実現するために、
複数のプログラマブル論理回路を並設し、各々を独立し
て駆動させる構成とすることも可能であるが、この構成
ではマルチプロセッサシステムと同様にシステムの高価
格化と大規模化を招き、また、プログラマブル論理回路
同士を結ぶ配線が複雑になるために結果として処理が遅
くなってしまう。
【0011】本発明は、上記問題点に鑑みてなされたも
のであって、その主たる目的は、限られたハードウェア
を活用し、マルチタスクを含むさまざまなアプリケーシ
ョンを高速に処理することができるプログラマブル論理
回路及びコンピュータシステム並びにキャッシュ方法を
提供することにある。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明のプログラマブル論理回路は、所定のデータ
サイズの複数のスロットに分割された書き換え可能なロ
ジック部を備え、各々の前記スロットが独立して書き換
え可能に制御されるものである。
【0013】本発明においては、前記複数のスロットが
略等しいデータサイズに分割されていることが好まし
い。
【0014】また、本発明においては、前記スロットの
入出力段に、前記スロットに書き込まれたハードウェア
ロジックと外部のハードウェア又はソフトウェアとの調
停を行う制御手段を備える構成とすることができる。
【0015】また、本発明においては、前記スロットの
出力段に、前記スロットに書き込まれたハードウェアロ
ジックからの割り込み信号をプロセッサに通知する割り
込み制御手段を備える構成とすることもできる。
【0016】また、本発明においては、前記スロット及
び前記制御手段に、ハードウェアロジックが書き込まれ
ていない前記スロット、又は、書き換えが行われている
前記スロットを論理的に切り離す手段を備える構成とす
ることもできる。
【0017】また、本発明のハードウェアロジックは、
上記スロットのデータサイズに適合して構成されている
ものであり、前記ハードウェアロジックは一定のアドレ
ス空間を持ち、ソフトウェアからアクセス可能に構成さ
れることが好ましい。
【0018】本発明においては、前記ハードウェアロジ
ックは、データ又はファイルの形でソフトウェアから参
照可能に管理され、該ソフトウェアにより前記スロット
に定義されることが好ましい。
【0019】また、本発明のコンピュータシステムは、
上記プログラマブル論理回路と、プロセッサと、メモリ
とを少なくとも備えるものである。
【0020】本発明においては、アドレス空間が、各々
の前記スロットに対応して割り当てられ、アドレスによ
り、上記ハードウェアロジックが個別にアクセス可能と
されることが好ましい。
【0021】また、本発明においては、前記コンピュー
タシステムに、前記ハードウェアロジックと前記スロッ
トの容量又は該スロットに割り当てられたアドレス空間
とを比較する手段を備え、該手段により、前記ハードウ
ェアロジックが前記スロットの容量又は該スロットに割
り当てられたアドレス空間よりも大きい場合に、複数の
前記スロットに対して前記ハードウェアロジックの書き
込みが行われる構成とすることができる。
【0022】また、本発明においては、各々の前記スロ
ットに挿入されている前記ハードウェアロジックの履歴
情報を記憶する手段と、該履歴情報を参照して追い出し
可能なスロットを選択する手段とを備え、該手段によ
り、新たなハードウェアロジックと前記スロットに書き
込まれている前記ハードウェアロジックとの書き換えが
行われる構成とすることもできる。
【0023】また、本発明のハードウェアのキャッシュ
方法は、プログラマブル論理回路の書き換え可能なロジ
ック部を略等しいデータサイズの複数のスロットに分割
し、スロット番号を前記スロットに対して割り当て、前
記スロット番号に対応する前記ロジック部の領域に対し
て、データ又はファイルの形でソフトウェアから参照さ
れるハードウェアロジックを順次書き込むものである。
【0024】このように、本発明の構成によれば、略等
しいデータサイズに分割された複数のスロットに、ソフ
トウェアの管理下に置かれたハードウェアロジックが、
調停手段、割り込み手段、切り離し手段によって制御さ
れて、必要に応じて書き込まれるため、アプリケーショ
ンで必要な処理をハード上で高速に処理することができ
る。
【0025】また、スロットに書き込んだハードウェア
ロジックの登録情報や使用情報等の履歴情報を参照し
て、新たなハードウェアロジックと既に書き込まれてい
るハードウェアロジックとが比較され、優先順位の低い
ハードウェアロジックが順次追い出されるため、ハード
ウェア資源を有効に利用することができ、スロット不足
による処理の遅延を防止することができる。
【0026】
【発明の実施の形態】本発明に係るプログラマブル論理
回路は、好ましい一実施の形態において、書き換え可能
領域が個別にアクセス可能な複数のスロットに略等分割
され、スロットの入出力段に、スロットに書き込むハー
ドウェアロジックと外部のハードウェアやソフトウェア
との調停を行うスロット入力制御部及びスロット出力制
御部と、ハードウェアロジックの割り込み制御を可能と
する割り込み制御部と、各々のスロットの状態を示すス
テータスとを備えるものであり、この制御部で調停を取
りながら、各々のスロットにソフトウェアによって管理
されるハードウェアロジックを書き込むことにより、ソ
フトウェアの実行中に必要となる処理をハード上で高速
に処理することができ、システム全体の規模を大きくす
ることなく、様々なアプリケーションに対応することが
できる汎用的なコンピュータシステムを提供することが
できる。
【0027】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく、本発明の一実施例に係るプログラマ
ブル論理回路及びコンピュータシステム並びにキャッシ
ュ方法について、図1乃至図7を参照して説明する。図
1は、プログラマブル論理回路を含むコンピュータシス
テムの基本構成を示す図であり、図2は、各々のスロッ
トの入出力インターフェース構成を示す図である。又、
図3は、ハードウェアロジックの管理形態を示す図であ
り、図4は、アドレス空間の分割例を示す図である。
又、図5は、ハードウェアロジックのリプレースの様子
を示す図であり、図6及び図7は、ハードウェアロジッ
クの書き換え処理の手順を示すフロー図である。
【0028】まず、本発明の基本概念について説明す
る。
【0029】ソフトウェアの高速化手段としてキャッシ
ュがある。キャッシュは、ソフトウェアのプログラムや
データを高速にアクセスできる場所(例えば、キャッシ
ュメモリ)に置くことにより、高速化を図る技術であ
る。本発明の基本的な考え方は、プログラムやデータで
はなく、ハードウェアの機能をキャッシュする方法を提
案するものである。
【0030】そのための構成について図1を参照して説
明する。本発明の一実施例に係るコンピュータシステム
は、書き換え可能領域を含むプログラマブル論理回路1
と、CPU等のプロセッサ2と、メモリ3とがPCI等
のバス4によって接続され、プログラマブル論理回路1
には、所定のデータサイズ(データ幅)、数量に分割さ
れた複数のスロット10からなる書き換え可能領域と、
各々のスロット10に書き込まれたハードウェアロジッ
クと外部のハードウェアやソフトウェアとの調停を行う
スロット入力制御部11及びスロット出力制御部12
と、ハードウェアロジックの割り込み制御を行う割り込
み制御部13と、各々のスロット10の状態を示すステ
ータス14とを備えている。
【0031】なお、図の構成は本発明のコンピュータシ
ステムの基本的な構成であり、プロセッサ2やメモリ3
が複数接続されていてもよく、コプロセッサ等のCPU
の動作を支援する回路が接続されていてもよい。また、
図ではプログラマブル論理回路1とCPU2とメモリ3
とを別IC(LSI)として記載しているが、実際の構
成では、これらが一つのシステムLSI内に含まれる場
合もある。以下では、便宜的にプログラマブル論理回路
1をCPU2及びメモリ3と切り離して説明するが、プ
ログラマブル論理回路1には、書き換え可能な領域に入
出力制御部や割り込み制御部を備えた構造、更にプロセ
ッサ2やメモリ3等を含むコンピュータシステム全体の
いずれの構造も含まれるものとする。
【0032】まず、本発明では、高速化を実現する方法
として、複数のプログラマブル論理回路1を設けるので
はなく、1つのプログラマブル論理回路1の書き換え可
能領域を複数のスロット10という単位に分割すること
を特徴としている。このスロット10は、図2に示すよ
うなインターフェース信号によって機能する独立した領
域であり、各々のスロット10には自由にハードウェア
機能を定義することができる。
【0033】インターフェース信号は、スロット入力制
御部11を介して入力される入力側インターフェース信
号(Address、Data_in、Control_in)と、スロット出力
制御部12又は割り込み制御部13に出力される出力側
インターフェース信号(Data_out、Control_out、Inter
rupt)とがあり、各々は以下に示す役割を果たす。
【0034】・Address:1ビット又は複数ビット(ス
ロット共通のビット数)からなり、このAddress信号に
より、スロット10内部に埋め込まれる論理にCPU2
又はソフトウェアがアクセスすることができる、 ・Data_in:スロット10内部の論理に対する入力デー
タであり、例えば、32ビット等の共通のビット数を持
つ、 ・Control_in:1ビット又は複数ビットからなり、スロ
ットを制御するための制御信号である。例えば、Adores
s信号と同期してスロット内部の論理に対して、ReadやW
riteを行う、 ・Data_out:スロット10外部に対して演算結果などを
出力するパスであり、例えば、32ビット等の共通のビ
ット数を持つ、 ・Control_out:スロット10内部の論理が外部の論理
に対して要求等を通知するための出力信号である、 ・(Interrupt):オプションとして設けられるもので、
CPU2又はソフトウェアに、演算の終了通知などを行
うための割り込み信号である。
【0035】なお、図では、スロット10を3つに分割
している例を示しているが、分割数や各々のスロット1
0のデータサイズ(データ幅)は任意であり、スロット
10に書き込まれるハードウェアロジックのデータ幅や
マルチタスクで処理する論理の数、コンピュータシステ
ム全体の規模や性能等を勘案して設定することができ
る。但し、スロット10のデータ幅が各々異なる場合、
ハードウェアロジックのデータ幅を考慮して書き込むべ
きスロット10を選択しなければならず、ハードウェア
ロジックの書き換えが煩雑になる可能性があるため、本
発明のプログラマブル論理回路1を汎用性の高いシステ
ムとするためには、スロット10は略等しいデータサイ
ズに等分割することが好ましい。
【0036】次に、分割された各々のスロット10にハ
ードウェアロジックを書き込むが、このハードウェアロ
ジックは、図3に示すように、ファイル又はデータの形
としてソフトウェア5の管理下に置き、ソフトウェア5
の実行中にスロット10への定義・リプレースが出来る
ようにする。
【0037】ここで、スロット10は固定のビット数の
アドレスやデータ幅を持つため、ハードウェアロジック
6によっては空間やデータ幅が足りない場合もある。そ
の場合には、複数のスロット10を使用することにより
解決することができる。例えば、スロットが32ビット
のデータ幅を持ち、64ビットのハードウェアロジック
6を入れたい場合には2つのスロット10を使用すれば
よい。
【0038】なお、ハードウェアロジック6に関しても
そのデータサイズ(データ幅)は任意であるが、データ
幅が大きすぎると一度に多くのスロット10を占有する
ことになり、他のハードウェアロジック6の処理に支障
をきたす場合もある。また、各々のハードウェアロジッ
ク6のデータサイズが違いすぎると、他のハードウェア
ロジック6との入れ替えができない場合も生じる。従っ
て、各々のハードウェアロジック6はスロット10の容
量を考慮して構成されることが好ましい。
【0039】このハードウェアロジック6は独立に動作
可能な部分であり、メモリ3へのアクセスやCPU2等
のプロセッサとのアクセスは独自に行うことができるよ
うにする必要がある。そこで、プロセッサ2から個別に
アクセスすることが出来るようにするために、例えば、
図4に示すように、アドレスの空間を分割し、アドレス
(Slot1 offset等)を用いて個別制御が出来るようにし
ている。
【0040】また、本発明の構造では、各ハードウェア
ロジック6が個別に動作を行うので、外部のハードウェ
アやソフトウェアとの調停を行う必要がある。そこで、
プログラマブル論理回路1内にスロット入力制御部1
1、スロット出力制御部12等の調停ロジックを設け、
これにより外部のハードウェアやソフトウェア等との全
体の調整を行う。また、指定された処理の終了通知や内
部ステータスの変化などを通知するため、各スロット1
0からの割り込み要求を受け付け、CPU2へ割り込み
を通知する割り込み制御部13を搭載している。なお、
このスロット入力制御部11、スロット出力制御部1
2、割り込み制御部13は、書き換え可能領域にプログ
ラマブルに形成しても、書き換え可能領域外部に固定ロ
ジックとして形成してもよい。
【0041】また、各々のスロット10は個別に書き換
え可能であるが、あるスロットが書き換えを行っている
間は、他のスロットは動作している必要がある。このた
め、各スロット及びその調停ロジック(スロット入力制
御部11及びスロット出力制御部12)には、書き換え
中のスロット10を論理的に切り離すロジック(図示せ
ず)を搭載している。
【0042】更に、本発明のプログラマブル論理回路1
は、ハードウェアのキャッシュであるので、不必要にな
ったハードウェアロジック6の追い出しが必要である。
そこで、本発明では、各ハードウェアロジック6がどの
スロット10に入り、いつ使用されたか等の履歴をと
り、その履歴情報から追い出すべきハードロジックを選
択できるようにしている。
【0043】具体的に説明すると、図5に示すように、
スロット(1)に音楽プレーヤー、スロット(2)にペ
イントツール、スロット(3)にゲーム1のハードウェ
アロジック6が書き込まれおり、各々のハードウェアロ
ジック6が図の塗りつぶし領域で使用されているとする
と、スロット(1)の音楽プレーヤーのハードウェアロ
ジック6は一旦使用された後、使用されない状態が続い
ているため、スロット(1)から追い出しても問題ない
と考えられる。そこで、新たなハードウェアロジック6
が要求された時点(図の矢印の時点)で音楽プレーヤー
を追い出し、代わりにゲーム2をリプレースしている。
【0044】このように、各々のスロット10に書き込
まれたハードウェアロジック6の書き込み時期、使用頻
度、不使用期間等の履歴情報と、スロット10の残数や
処理が予定されている論理数等を勘案して、使用される
可能性の低いハードウェアロジックを適宜追い出すこと
により、スロット10の空きを確保し、次のハードウェ
アロジック6の書き込みに対して待ち時間が生じないよ
うにして処理の遅延を防止している。
【0045】以上説明したように、ハードウェアの機能
をキャッシュするために、書き換え可能な領域を汎用的
なデータサイズ、数量のスロット10に分割し、各々の
スロット10に書き込まれたハードウェアロジック6と
外部のハードウェア又はソフトウェアとの調停を行うた
めのスロット入力制御部11、スロット出力制御部1
2、割り込み制御部13、切り離しロジックを設けるこ
とにより、ソフトウェアの管理下に置かれたハードウェ
アロジック6を、必要に応じてスロット10に書き込ん
で機能させることができるため、複数のプログラマブル
論理回路を設ける場合のようにシステム全体の規模を拡
大することなく、高速処理を実現することができる。
【0046】また、各スロット10に書き込まれたハー
ドウェアロジック6の使用状況を監視し、履歴情報を参
照して、ハードウェアロジックをスロット10から追い
出しているため、次のハードウェアロジック6を書き込
むべきスロット10がなく処理が滞るという問題を防止
し、システム全体としての処理の高速化を図っている。
【0047】次に、上記構成のプログラマブル論理回路
1にハードウェアロジック6を書き込む手順について具
体的に説明する。
【0048】本発明のプログラマブル論理回路1は、上
述したようにハードウェアをキャッシュするものであ
り、アプリケーション側からの要求(例えば、関数コー
ル)が送信されてから、この要求に対応するハードウェ
アロジック6を空きスロット10に書き込んでハード上
で処理し、その処理結果をアプリケーションに返送す
る。そこで、アプリケーションとプログラマブル論理回
路1とを仲介する手段が必要となるが、ここでは、この
制御をハードマクロライブラリ管理部により行ってい
る。
【0049】このハードマクロライブラリ管理部は、ス
ロット10に入れるハードウェアロジック6をライブラ
リとして持ち、アプリケーション側からの要求により、
必要なハードウェアロジック6をスロット10に挿入
し、動作させるソフトウェアであり、このソフトウェア
がCPU2やプログラマブル論理回路部1のスロット入
力制御部11やスロット出力制御部12、ステータス1
4にアクセスしてハードウェアロジック6の書き換え制
御を行う。
【0050】以下、アプリケーションとハードマクロラ
イブラリ管理部とプログラマブル論理回路部1とで行わ
れる処理を図6及び図7に基づいて説明する。まず、図
6に示すように、アプリケーション(例えば、画像処理
プログラム)の動作において、画像処理関数等の演算が
必要になった場合、アプリケーションはハードマクロラ
イブラリ管理部に対して関数コールを行う。この関数コ
ールに対して、ハードマクロライブラリ管理部では、ハ
ードウェアロジック6の登録情報を参照して、この関数
の演算を行うハードウェアロジック6が既にスロット1
0に挿入されているか否かを調査する。
【0051】そして、対応するハードウェアロジックが
スロット10に挿入されていない場合は、ハードマクロ
ライブラリ管理部は、プログラマブル論理回路1のステ
ータス14にアクセスして各々のスロット10の状態を
調べ、スロット10に空きがあるか否かを確認する。
【0052】ここで、スロット10に空きがない場合
は、新たなハードウェアロジック6を書き込むことがで
きないため、関数の演算ができずに処理が滞ってしまう
が、本発明のプログラマブル論理回路1では、各々のス
ロット10に書き込まれているハードウェアロジックの
履歴情報を参照して、使用されていないハードウェアロ
ジックが適宜追い出されるため、スロット10の空きを
確保することができ、処理が滞るという問題を回避して
いる。
【0053】次に、スロット10に空きがあることを確
認したら、ハードマクロライブラリ管理部は、ライブラ
リの中から対応するハードウェアロジック6を取り出
し、スロット入力制御部11を介して図2に示す入力イ
ンターフェース信号により、該スロット10に書き込み
を開始する。その際、ハードウェアロジック6とスロッ
ト10の容量とが比較され、例えば、ハードウェアロジ
ック6のデータ幅がスロット10のデータ幅より大きい
場合は、複数のスロット10に対して書き込みを行う。
また、書き込み中は他のスロット10の動作に支障が生
じないように、スロット10及び調停ロジック(スロッ
ト入力制御部11及びスロット出力制御部12)に設け
た切り離しロジックにより、書き込み中のスロット10
を論理的に切り離す。そして、スロット出力制御部12
は、スロット10への書き込みが終了したら書き込み終
了信号をハードマクロライブラリ管理部に送出する。
【0054】次に、ハードマクロライブラリ管理部は、
スロット入力制御部11を介してスロット10のContro
l inに制御信号を送り処理の起動を命令すると共に、Da
ta inに関数の演算に必要なデータを送る。そして、プ
ログラマブル論理回路1では、ハードウェアロジック6
により関数の演算を行い、演算が終了したらData outか
らハードマクロライブラリ管理部に演算結果を送ると共
に、interruptから割り込み制御部13を介してCPU
2に割り込み信号を送り、演算が終了したことを通知す
る。そして、ハードマクロライブラリ管理部はその演算
結果をアプリケーションに送って一連の処理が終了す
る。
【0055】上記フローは関数コールに対応するハード
ウェアロジック6がスロット10に挿入されていない場
合の手順であるが、関数を演算するハードウェアロジッ
ク6が既にスロット10に挿入されている場合には、図
7に示すように、ハードマクロライブラリ管理部は、ス
テータス14にスロット10の空き状態を確認すること
なく、スロット入力制御部11を介してスロット10の
Control inに制御信号を送り処理の起動を命令すると共
に、Data inに関数の演算に必要なデータを送る。
【0056】そして、プログラマブル論理回路1では、
ハードウェアロジックにより関数の演算を行い、演算が
終了したらData outからハードマクロライブラリ管理部
に演算結果を送ると共に、interruptから割り込み制御
部13を介してCPU2に割り込み信号を送り、演算が
終了したことを通知する。そして、ハードマクロライブ
ラリ管理部はその演算結果をアプリケーションに送って
一連の処理が終了する。
【0057】このように、本発明のプログラマブル論理
回路1では、アプリケーションから関数コールがあった
場合に、自動的に、該関数の演算を行うハードウェアロ
ジック6がスロット10に挿入されているか、スロット
10に空きがあるかが調査され、挿入されていない場合
に該ハードウェアロジック6がスロット10に書き込ま
れ、ハード上で演算を行って演算結果が返送されるた
め、関数コールに対して迅速かつ円滑な処理を行うこと
ができる。
【0058】
【発明の効果】以上説明したように、本発明のプログラ
マブル論理回路及びコンピュータシステム並びにキャッ
シュ方法によれば、下記記載の効果を奏する。
【0059】本発明の第1の効果は、システム全体の規
模を大きくすることなく、マルチタスクを含む処理を高
速に行うことができることができる。
【0060】その理由は、書き換え可能領域を複数のス
ロットに分割し、ソフトウェアで管理されたハードウェ
アロジックを必要に応じてスロットに書き込んで処理を
行うため、書き換え可能領域を効率的に利用することが
できるからである。また、スロット入力制御部やスロッ
ト出力制御部等の調停手段や割り込み制御部を用いて外
部のハードウェアやソフトウェアと調停するため、相互
の処理を円滑に実行することができるからである。
【0061】また、本発明の第2の効果は、汎用的なプ
ログラマブル論理回路を構築することができるというこ
とである。
【0062】その理由は、書き換え可能領域を複数のス
ロットに分割するに際して、スロットのデータ幅や分割
数を一般的なハードウェアロジックに合わせて設定し、
また、スロットよりも大きなハードウェアロジックを書
き込む場合は、複数のスロットに書き込むことができる
ため、どのようなハードウェアロジックにも対応するこ
とができるからである。
【0063】また、本発明の第3の効果は、処理の遅延
を防止し、演算要求に対して迅速に対応することができ
るということである。
【0064】その理由は、各々のスロットに書き込まれ
たハードウェアロジックの履歴情報を参照して、使用さ
れていないハードウェアロジックの追い出しを行ってい
るため、スロットの占有を防止し、書き込み待ちの発生
を防止することができるからである。
【図面の簡単な説明】
【図1】本発明の一実施例に係るコンピュータシステム
の基本構成を示すブロック図である。
【図2】本発明の一実施例に係るプログラマブル論理回
路を構成するスロットのインターフェース構成を示す図
である。
【図3】スロットに書き込まれるハードウェアロジック
の管理形態を示す図である。
【図4】本発明の一実施例に係るプログラマブル論理回
路のスロットに対するアドレス空間の分割例を示す図で
ある。
【図5】ハードウェアロジックのリプレース動作を示す
図である。
【図6】本発明の一実施例に係るプログラマブル論理回
路にハードウェアロジックを書き込む手順を示すフロー
図である。
【図7】本発明の一実施例に係るプログラマブル論理回
路にハードウェアロジックを書き込む手順を示すフロー
図である。
【図8】従来のマルチプロセッサシステムの基本構成を
示す図である。
【図9】従来のプロセッサ支援システムの基本構成を示
す図である。
【図10】従来のプログラマブル論理回路の基本構成を
示す図である。
【符号の説明】
1 プログラマブル論理回路 2 CPU 3 メモリ 4 バス 5 ソフトウェア 6 ハードウェアロジック 7 コプロセッサ又はASIC 8 単位セル 8a LUT 8b フリップフロップ 10 スロット 11 スロット入力制御部 12 スロット出力制御部 13 割り込み制御部 14 ステータス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 直人 東京都八王子市石川町2970番地 コニカ株 式会社内 (72)発明者 駒坂 友則 東京都八王子市石川町2970番地 コニカ株 式会社内 Fターム(参考) 5B076 EB02 5J042 BA01 BA09 BA11 CA00 CA20 DA03

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】所定のデータサイズの複数のスロットに分
    割された書き換え可能なロジック部を備え、各々の前記
    スロットが独立して書き換え可能に制御されることを特
    徴とするプログラマブル論理回路。
  2. 【請求項2】前記複数のスロットが略等しいデータサイ
    ズに分割されていることを特徴とする請求項1記載のプ
    ログラマブル論理回路。
  3. 【請求項3】前記スロットの入出力段に、前記スロット
    に書き込まれたハードウェアロジックと外部のハードウ
    ェア又はソフトウェアとの調停を行う制御手段を備える
    ことを特徴とする請求項1又は2に記載のプログラマブ
    ル論理回路。
  4. 【請求項4】前記スロットの出力段に、前記スロットに
    書き込まれたハードウェアロジックからの割り込み信号
    をプロセッサに通知する割り込み制御手段を備えること
    を特徴とする請求項1乃至3のいずれか一に記載のプロ
    グラマブル論理回路。
  5. 【請求項5】前記スロット及び前記制御手段に、ハード
    ウェアロジックが書き込まれていない前記スロット、又
    は、書き換えが行われている前記スロットを論理的に切
    り離す手段を備えることを特徴とする請求項3又は4に
    記載のプログラマブル論理回路。
  6. 【請求項6】請求項1乃至5のいずれか一に記載の前記
    スロットのデータサイズに適合して構成されていること
    を特徴とするハードウェアロジック。
  7. 【請求項7】前記ハードウェアロジックは所定のアドレ
    ス空間を持ち、ソフトウェアからアクセス可能に構成さ
    れることを特徴とする請求項6記載のハードウェアロジ
    ック。
  8. 【請求項8】前記ハードウェアロジックは、データ又は
    ファイルの形でソフトウェアから参照可能に管理され、
    該ソフトウェアにより前記スロットに定義されることを
    特徴とする請求項6又は7に記載のハードウェアロジッ
    ク。
  9. 【請求項9】請求項1乃至5のいずれか一に記載のプロ
    グラマブル論理回路と、プロセッサと、メモリとを少な
    くとも備えることを特徴とするコンピュータシステム。
  10. 【請求項10】アドレス空間が、各々の前記スロットに
    対応して割り当てられ、アドレスにより、請求項7又は
    8に記載のハードウェアロジックが個別にアクセス可能
    とされることを特徴とする請求項9記載のコンピュータ
    システム。
  11. 【請求項11】前記コンピュータシステムに、前記ハー
    ドウェアロジックと前記スロットの容量又は該スロット
    に割り当てられたアドレス空間とを比較する手段を備
    え、該手段により、前記ハードウェアロジックが前記ス
    ロットの容量又は該スロットに割り当てられたアドレス
    空間よりも大きい場合に、複数の前記スロットに対して
    前記ハードウェアロジックの書き込みが行われることを
    特徴とする請求項9又は10に記載のコンピュータシス
    テム。
  12. 【請求項12】各々の前記スロットに挿入されている前
    記ハードウェアロジックの履歴情報を記憶する手段と、
    該履歴情報を参照して追い出し可能なスロットを選択す
    る手段とを備え、該手段により、新たなハードウェアロ
    ジックと前記スロットに書き込まれている前記ハードウ
    ェアロジックとの書き換えが行われることを特徴とする
    請求項9乃至11のいずれか一に記載のコンピュータシ
    ステム。
  13. 【請求項13】プログラマブル論理回路の書き換え可能
    なロジック部を略等しいデータサイズの複数のスロット
    に分割し、スロット番号を前記スロットに対して割り当
    て、前記スロット番号に対応する前記ロジック部の領域
    に対して、データ又はファイルの形でソフトウェアから
    参照されるハードウェアロジックを順次書き込むことを
    特徴とするハードウェアのキャッシュ方法。
  14. 【請求項14】前記ハードウェアロジックと前記スロッ
    トの容量又は該スロットに割り当てられたアドレス空間
    とを比較し、前記ハードウェアロジックが、前記スロッ
    トの容量又は該スロットに割り当てられたアドレス空間
    よりも大きい場合に、複数の前記スロットに対して前記
    ハードウェアロジックを書き込むことを特徴とする請求
    項13記載のキャッシュ方法。
  15. 【請求項15】前記スロットの入出力段に設けた制御手
    段により、前記スロットに書き込まれたハードウェアロ
    ジックと外部のハードウェア又はソフトウェアとの調停
    を行うことを特徴とする請求項13又は14に記載のキ
    ャッシュ方法。
  16. 【請求項16】前記ハードウェアロジックの割り込み信
    号を前記スロットに設けた割り込みポートに割り付け、
    前記スロットの出力段に設けた割り込み制御手段によ
    り、該割り込み制御手段が設定する優先順位に従ってプ
    ロセッサに割り込みを通知することを特徴とする請求項
    13乃至15のいずれか一に記載のキャッシュ方法。
  17. 【請求項17】前記スロット及び前記制御手段に設けた
    切り離し手段により、ハードウェアロジックが書き込ま
    れていない前記スロット、又は、書き換えが行われてい
    る前記スロットを論理的に分離することを特徴とする請
    求項13乃至16のいずれか一に記載のキャッシュ方
    法。
  18. 【請求項18】前記スロットの個数以上のハードウェア
    ロジックを挿入する場合に、各々の前記スロットに挿入
    されている前記ハードウェアロジックの履歴情報を参照
    して、使用する可能性の低いスロットを選択し、該選択
    されたハードウェアロジックの追い出しを行うことを特
    徴とする請求項13乃至17のいずれか一に記載のキャ
    ッシュ方法。
JP2002153586A 2002-05-28 2002-05-28 キャッシュ方法 Expired - Fee Related JP3952856B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002153586A JP3952856B2 (ja) 2002-05-28 2002-05-28 キャッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002153586A JP3952856B2 (ja) 2002-05-28 2002-05-28 キャッシュ方法

Publications (2)

Publication Number Publication Date
JP2003347930A true JP2003347930A (ja) 2003-12-05
JP3952856B2 JP3952856B2 (ja) 2007-08-01

Family

ID=29770587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002153586A Expired - Fee Related JP3952856B2 (ja) 2002-05-28 2002-05-28 キャッシュ方法

Country Status (1)

Country Link
JP (1) JP3952856B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065786A (ja) * 2004-08-30 2006-03-09 Sanyo Electric Co Ltd 処理装置
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法
JP2007183726A (ja) * 2006-01-05 2007-07-19 Nec Corp データ処理装置及びデータ処理方法
JP2010224942A (ja) * 2009-03-24 2010-10-07 Olympus Corp プロセッシング・エレメント及び分散処理ユニット
JP2011175535A (ja) * 2010-02-25 2011-09-08 Nec Corp メモリデバイス管理方法及び装置
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2018018198A (ja) * 2016-07-26 2018-02-01 富士通株式会社 プログラマブルロジックデバイスの制御プログラム、制御方法及び情報処理装置
CN115118481A (zh) * 2022-06-22 2022-09-27 深圳星云智联科技有限公司 一种主机信息采集方法、装置、设备及介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065786A (ja) * 2004-08-30 2006-03-09 Sanyo Electric Co Ltd 処理装置
JP2007179358A (ja) * 2005-12-28 2007-07-12 Nec Corp 情報処理装置及び再構成デバイスの利用方法
JP2007183726A (ja) * 2006-01-05 2007-07-19 Nec Corp データ処理装置及びデータ処理方法
JP2010224942A (ja) * 2009-03-24 2010-10-07 Olympus Corp プロセッシング・エレメント及び分散処理ユニット
JP2011175535A (ja) * 2010-02-25 2011-09-08 Nec Corp メモリデバイス管理方法及び装置
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2019088012A (ja) * 2012-04-30 2019-06-06 株式会社半導体エネルギー研究所 半導体装置の動作方法
JP2018018198A (ja) * 2016-07-26 2018-02-01 富士通株式会社 プログラマブルロジックデバイスの制御プログラム、制御方法及び情報処理装置
CN115118481A (zh) * 2022-06-22 2022-09-27 深圳星云智联科技有限公司 一种主机信息采集方法、装置、设备及介质
CN115118481B (zh) * 2022-06-22 2023-11-21 深圳星云智联科技有限公司 一种主机信息采集方法、装置、设备及介质

Also Published As

Publication number Publication date
JP3952856B2 (ja) 2007-08-01

Similar Documents

Publication Publication Date Title
US7487302B2 (en) Service layer architecture for memory access system and method
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
US5649230A (en) System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching
EP0870226B1 (en) Risc microprocessor architecture
US20090182987A1 (en) Processing Unit Incorporating Multirate Execution Unit
US11012075B2 (en) Electronic system including FPGA and operation method thereof
WO2007002408A2 (en) Computer processor pipeline with shadow registers for context switching, and method
JP2002503845A (ja) タスク切り替えによるゼロオーバヘッドコンピュータ割り込み
US9886278B2 (en) Computing architecture and method for processing data
US9304775B1 (en) Dispatching of instructions for execution by heterogeneous processing engines
JP7470685B2 (ja) 集積回路中の算出ユニットをプログラムおよび制御すること
JP3952856B2 (ja) キャッシュ方法
US7315935B1 (en) Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots
US20030196072A1 (en) Digital signal processor architecture for high computation speed
JP4088763B2 (ja) コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法
US6604163B1 (en) Interconnection of digital signal processor with program memory and external devices using a shared bus interface
TWI249130B (en) Semiconductor device
US20240086201A1 (en) Input channel processing for triggered-instruction processing element
JP3874104B2 (ja) プログラム処理装置及びプログラム処理方法
JP2004048228A (ja) プログラマブル論理回路及びコンピュータシステム並びに回路の初期化方法
US20030061439A1 (en) Distributed executing units of logic integrated circuits connected to & executes on data in local data storage
JP2002278753A (ja) データ処理システム
KR100631396B1 (ko) 반도체장치
Biedermann et al. Virtualizable Architecture for embedded MPSoC
JPH03168832A (ja) 分散型マイクロプログラム制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225

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: 20070410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070423

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

LAPS Cancellation because of no payment of annual fees