JP2001184305A - 外部バス制御装置 - Google Patents

外部バス制御装置

Info

Publication number
JP2001184305A
JP2001184305A JP36539099A JP36539099A JP2001184305A JP 2001184305 A JP2001184305 A JP 2001184305A JP 36539099 A JP36539099 A JP 36539099A JP 36539099 A JP36539099 A JP 36539099A JP 2001184305 A JP2001184305 A JP 2001184305A
Authority
JP
Japan
Prior art keywords
external bus
access
bus controller
wait time
cpu
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
JP36539099A
Other languages
English (en)
Other versions
JP3491588B2 (ja
Inventor
Kazumasa Suzuki
一正 鈴木
Ryuji Ishida
隆二 石田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP36539099A priority Critical patent/JP3491588B2/ja
Priority to KR10-2000-0080174A priority patent/KR100386902B1/ko
Priority to US09/746,342 priority patent/US20010005870A1/en
Priority to DE10064536A priority patent/DE10064536A1/de
Publication of JP2001184305A publication Critical patent/JP2001184305A/ja
Application granted granted Critical
Publication of JP3491588B2 publication Critical patent/JP3491588B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 外部バスのアクセス時間の設定値を各CPU
で共有し、かつ効率のよい制御方式による外部バス制御
装置を提供する。 【解決手段】 CPUは、プロセッサコア10、DMA
コントローラ11、外部バスへのアクセス時間を計測す
るレジスタ13とカウンタ14、外部バスへの書き込み
信号123と読み出し信号124を外部バスへのアクセ
スのタイミングで発行する二つのAND回路17a、1
7bを有する。外部バスコントローラ2は、外部バスを
アクセスするときのウェイト数を設定するウェイトレジ
スタ20、各CPU1aからの書き込み信号125と読
み出し信号126のための二つのOR回路23a、23
bなどを有する。ウェイト時間の設定値は、一つのCP
U1aがプログラムして外部バスへのアクセスの調停結
果とともに各CPUが取得できる。外部バスのアクセス
時間を配分するときのオーバヘッドがなくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一つの高密度集積
回路(LSI)チップに複数の演算ユニットが搭載され
たとき、各演算ユニットが外部バスコントローラを共有
しながら、それぞれのプログラムを独立して遂行する外
部バス制御装置に関する。特に、各演算ユニットが、外
部バスにアクセスするまでのウェイト時間その他の制御
情報をローカルに保有できる外部バス制御装置に関す
る。
【0002】
【従来の技術】従来より、中央処理装置(CPU:Cent
ral Prosessor Unit)などの演算ユニットは、その処理
速度が年々向上しつつある。このような高速CPUを用
いたプロセッサシステムでは、その外部バスに接続され
る各種デバイスの処理速度との差が大きくなってきてい
る。このため、LSIチップの各内部機能へのアクセス
が動作クロックの1周期内でできるのに対して、外部バ
スを介して外部周辺回路へアクセスしようとすると一般
に数クロック分の時間がかかる。
【0003】CPUが、このような外部周辺回路とデー
タをやりとりするには、外部周辺回路にアクセス要求信
号を送信する。そして、この送信の結果として、外部周
辺回路からアクセス許可信号あるいはウェイト要求信号
を受信させ、適切なタイミングを図ってCPUに外部バ
スをアクセスさせる方法が使われてきた。
【0004】ところが、このような信号を外部周辺回路
とやりとりしていると、その分だけアクセスに要する時
間のオーバヘッドとなる。外部周辺回路を1回だけアク
セスするのであれば、オーバヘッドとなる時間の影響も
少ないが、特に、外部バスに接続した外部メモリとのD
MA(Direct Memory Access)によりデータ転送をする
ときには、外部バスへのアクセスが繰り返されるため、
一般にオーバヘッドの影響が大きく現れる。
【0005】また、外部バスに接続された外部メモリへ
のアクセスには、数クロックを要するものの各アクセス
にかかる時間は一定となる。そこで、LSIチップに搭
載した外部バスコントローラでウェイト時間を計測しな
がら、CPUにアクセスを待たせるよう制御することが
可能である。それには、各外部メモリに割り当てたアド
レスを外部バスコントローラが検出したら、そのときの
ウェイト時間に基づいて各CPUにアクセスさせればよ
い。
【0006】たとえば、特開平8−30551号公報に
開示されたウェイト制御方式では、外部バスコントロー
ラにカウンタを搭載させてウェイト時間を計測し、アク
セスが完了するまでのあいだ、CPUがアクセス処理を
停止するようにウェイト信号を送出させる例が記載され
ている。
【0007】ウェイト時間の設定は、外部バスコントロ
ーラに搭載したレジスタにプログラムすることができ
る。具体的には、外部バスへのアクセスが発生すると、
最初に外部バスコントローラのカウンタをレジスタのプ
ログラム値に初期化し、この値からダウンカウントする
ことによりウェイト時間を計測する。
【0008】このようなウェイト制御方式によれば、ウ
ェイト時間をLSIチップ内で計測するため、前述した
ようにオーバヘッドになっていたアクセス要求信号、ア
クセス許可信号その他の制御信号をやりとりするために
要する時間が不要になる。
【0009】図4は、一従来例による外部バス制御装置
の構成例を図示したブロック図である。この従来例の外
部バス制御装置は、CPU200と外部バスコントロー
ラ201とから構成され、外部バスに接続した図示しな
い外部メモリとCPU200の内蔵メモリ212の間で
DMA転送を行っている。
【0010】外部バスは、アドレス線群300、データ
線群301、外部メモリその他の外部周辺回路にデータ
の書き込みを指示するための書き込み信号310、デー
タの読み出しを指示するための読み出し信号311から
構成してある。
【0011】CPU200は、プロセッサコア210、
DMAコントローラ211、内蔵メモリ212、外部バ
スへのアクセスを検出するデコーダ213、プロセッサ
コア210およびDMAコントローラ211からのアク
セスを切り替える選択器214a、214bから構成し
てある。
【0012】外部バスコントローラ201は、アクセス
までのウェイト時間の設定値を保持するウェイトレジス
タ220、このウェイト時間を計測するカウンタ221
から構成してある。
【0013】この外部バス制御装置によれば、DMAコ
ントローラ211が、DMA転送中に内蔵メモリ212
へのアドレス群306、外部バスへのアドレス群303
を発行する。すると、それぞれの選択器214a、21
4bが、内蔵メモリ212のアドレス307またはアド
レス線300へのアドレスを送出する。
【0014】また、デコーダ213が、アドレス線30
0による外部バスへのアクセスを検出すると、外部バス
の書き込み信号314または読み出し信号315を発行
する。カウンタ221は、これらの信号314、315
を検知してカウントを開始し、先に設定したウェイト時
間を計測する。
【0015】そして、カウンタ221のカウント値に合
わせて、DMAコントローラ211に次のアドレスを生
成させるための指示を、また、AND(論理積)回路2
22b、222aに外部バスの書き込み信号310と読
み出し信号311を生成させるための信号を発行する。
【0016】
【発明が解決しようとする課題】しかし、このような従
来例による外部バス制御装置を用い、複数のCPUによ
って外部バスのコントロールを行うとすると、次のよう
な技術的な課題を解決する必要があった。すなわち、外
部バスコントローラ201のウェイトレジスタ220に
は、CPU200が実行するプログラムによってウェイ
ト時間が設定される。
【0017】また、プログラムを実行するCPU200
がLSI400に一つだけ搭載され、外部バスコントロ
ーラ201と一対一の関係で接続されているなら、ウェ
イト値を設定するプログラムは一つだけとなる。このた
め、ウェイトレジスタ220を外部バスコントローラ2
01内に配置しておけば十分である。
【0018】ところが、LSI400の微細加工技術が
進展し、今日では一つのLSI400チップ上に複数の
CPU200、200・・・を搭載できるようになっ
た。また、それぞれのCPU200で、独立したプログ
ラムを実行することも可能である。このように、各CP
U200に、それぞれ独立した外部バスコントローラ2
01を搭載することは、そのチップにおける入出力ピン
の本数の増大をまねき、また、全ての入出力ピンを同時
に用いるものではないため効率が悪い。
【0019】このため、外部バスコントローラ201
は、全てのCPU200が共有して用いる構成が望まし
い。つまり、LSI400チップに一つだけ外部バスコ
ントローラ201を搭載すべきである。この場合、特定
の一つのCPU200で実行するプログラムがウェイト
レジスタ220にウェイト値を設定し、他のCPU20
0はこの設定値を用いてアクセスさせれば都合がよい。
【0020】また、LSI400の規模が大きくなる
と、外部バスコントローラ201がチップ内にあって
も、外部バスコントローラ201にアクセスするのに時
間がかかるようになる。これは、アクセスのタイミング
を決定する制御信号が、チップ内を行き来するあいだに
遅延し、制御の効率が悪くなるからである。
【0021】そこで、外部バスコントローラ201に搭
載してあったカウンタ221を各CPU200に搭載す
る方が、DMAコントローラ221でアドレスを生成さ
せるのに好都合となる。しかし、そのためには、前述し
たウェイトレジスタ220の設定値をCPU200内に
ローカルに設定して共有させる構成が必要である。
【0022】そこで、本発明の第1の目的は、一つのL
SIチップ内に複数のCPUを有し、外部バスコントロ
ーラを共有するLSIにおいて、外部バスのアクセス時
間の設定値を各CPUで共有し、かつ効率のよい制御方
式による外部バス制御装置を提供することにある。ま
た、本発明の第2の目的は、外部バスのアクセス時間を
配分するときのオーバヘッドを要しない外部バス制御装
置を提供することにある。
【0023】
【課題を解決するための手段】上記目的を達成するため
の請求項1に係る外部バス制御装置は、それぞれ独立し
たプログラムを実行可能な複数の演算ユニットと、これ
ら演算ユニットが共有しながら外部バスを制御する外部
バスコントローラとが一つの集積回路チップに搭載され
ており、前記各演算ユニットに、該演算ユニットが外部
バスを専有できるまでのウェイト時間を計測する計時手
段を搭載し、この計時手段のタイミングに基づいて前記
外部バスコントローラに外部バスを制御させる構成とし
てある。
【0024】この外部バス制御装置によれば、外部バス
のウェイト時間が各演算ユニットで計測されるため、外
部バスへのアクセスを制御させるタイミングに無用な遅
れが生じない。
【0025】また、請求項2に係る外部バス制御装置
は、計時手段が、演算ユニットのウェイト時間を計測し
ながら、外部バスを専有させるタイミングを生成するカ
ウンタと、このカウンタに計測させるウェイト時間の設
定値を保持する固有レジスタとを有する構成としてあ
る。これによれば、外部バスのウェイト時間が各演算ユ
ニットの固有レジスタに保持され、その制御タイミング
がカウンタで生成される。
【0026】また、請求項3に係る外部バス制御装置
は、外部バスコントローラ内に、ウェイト時間の設定値
を設定する共有レジスタが搭載され、この共有レジスタ
から、各演算ユニットの固有レジスタにウェイト時間の
設定値を転送させる構成としてある。これによれば、外
部バスのウェイト時間の設定値が共有レジスタにより各
演算ユニットに共有される。
【0027】また、請求項4に係る外部バス制御装置
は、演算ユニットが外部バスの専有権を要求するごと
に、前記外部バスコントローラが、ウェイト時間の設定
値を転送する構成としてある。これによれば、外部バス
のウェイト時間の設定値が共有レジスタから各演算ユニ
ットに配信される。
【0028】また、請求項5に係る外部バス制御装置
は、外部バスコントローラが、演算ユニットどうしの専
有権の調停結果をウェイト時間の設定値とともに同時に
転送する構成としてある。これによれば、外部バスのウ
ェイト時間の設定値とともに、その専有権の調停結果が
各演算ユニットに配信される。
【0029】また、請求項6に係る外部バス制御装置
は、外部バスコントローラが、各演算ユニットのダイレ
クトメモリアクセスによる転送のときに限り、ウェイト
時間の設定値を転送する構成としてある。これによれ
ば、各演算ユニットによるDMA転送時にウェイト時間
の設定値が各演算ユニットに配信される。
【0030】
【発明の実施の形態】ここで、本発明の実施の形態を図
面を参照して説明する。図1は本発明の実施の形態に係
る外部バス制御装置を図示したブロック図である。この
構成例には、三つのCPU1a,1b,1cと、これら
に共用される外部バスコントローラ2とで構成した外部
バス制御装置を示してある。これらCPU1a,1b,
1cおよび外部バスコントローラ2は一つのLSIチッ
プ内に搭載してあり、また、外部バスを、アドレス信号
群121、データ信号群122、書き込み信号123、
読み出し信号124の各信号線で構成してある。
【0031】CPU1aを構成する主な要素は、プロセ
ッサコア10、DMAコントローラ11、ローカルメモ
リ12、外部バスへのアクセス時間を計測するためのレ
ジスタ13およびカウンタ14、外部バスへのアクセス
を検出するデコーダ15である。なお、CPU1b、1
cについても、同様な構成であるため詳細な記載を省略
してある。以下、CPU1aを主として述べる。
【0032】ローカルメモリ12と外部バスに対して
は、プロセッサコア10とDMAコントローラ11の両
方からアクセス要求があり得る。このため、プロセッサ
コア10とDMAコントローラ11の動作にしたがって
二つの選択器16a、16bでアドレス信号100また
は112を選択する。また、外部バスへの書き込み信号
123と読み出し信号124を、外部バスへのアクセス
のタイミングにしたがって発行する。このために、二つ
のAND(論理積)回路17a、17bを用いる。
【0033】外部バスコントローラ2は、外部バスをア
クセスするときのウェイト数を設定するウェイトレジス
タ20、いずれのCPU1aに外部バスコントローラ2
を専有させるかを決定する調停回路21を有する。さら
に、その調停結果によって、各CPU1a,1b,1c
のバスと外部バスを接続する二つの選択器22a、22
b、各CPU1a,1b,1cからの書き込み信号12
5と読み出し信号126のための二つのOR(論理和)
回路23a、23bで構成される。このウェイト数から
ウェイト時間を構成する。
【0034】次に、各CPUによりDMAを実行すると
きの動作を説明する。CPU1aのDMAコントローラ
11では、ローカルメモリ12へのアドレス106と、
外部バスコントローラ2へのアドレス103とを生成す
る。それぞれのアドレスの値は、選択器16aを介して
ローカルメモリ12へのアドレス112とし、また、別
の選択器16bを介して外部バスコントローラ2へのア
ドレス100とされる。
【0035】デコーダ15では、プロセッサコア10に
よる外部バスのアクセスを検出し、書き込み信号107
または読み出し信号108のいずれかを発行して調停回
路21へのアクセス要求とする。調停回路21では、い
ずれかのCPU1aに外部バスの使用許可信号109を
送出する。使用を許可したCPU1aについては、その
アドレス線を選択器22aを介して、また、データ線を
別の選択器22bを介して、それぞれ外部バスに接続す
る。
【0036】調停回路21が外部バスの使用許可信号1
09を送出するときには、外部バスコントローラ2のウ
ェイトレジスタ20に設定したウェイト数もデータ線1
01を介して併せて転送する。転送したウェイト数の値
は、CPU1aのレジスタ13に登録しておく。これに
よりカウンタ14が動作を開始し、レジスタ13を参照
しながらアクセス時間の計測を行う。
【0037】カウンタ14が所定の設定値を計測し終わ
ると、外部バスに対する一つのアクセス業務が完了した
ものと判断し、アクセス完了通知などのコントロール信
号110を発行する。このコントロール信号110を受
けて、DMAコントローラ11では次のアドレス値を生
成する。また、このときAND回路17a、17bで
は、外部バスへの書き込み信号123と読み出し信号1
24を生成する。
【0038】このように、外部バスへのアクセスのタイ
ミングを生成するカウンタ14が、DMAコントローラ
11の近傍に配置される。このため、コントロール信号
の送信に時間がかからないので、アクセスのタイミング
を簡単な構成で制御することができる。
【0039】図2は、図1に示す外部バス制御装置の制
御手順を時系列で図示した制御手順図であり、外部バス
からローカルメモリにDMAによるデータ転送をする手
順が示してある。図2に示す横軸には、ローカルメモリ
12、DMAコントローラ11、外部バスコントローラ
2、外部バスを模式的に縦軸で図示し、それぞれの縦軸
どうしの間でデータやアドレスの転送を行い、その転送
方向を矢印で図示してある。また、各縦軸には、それぞ
れの破線ごとに区切って1クロック分の時間の経過を表
してある。
【0040】最近では、一つのLSIチップに搭載され
る回路規模が大きくなり、また、LSIの動作クロック
周波数が高くなったため、LSIチップ内のデータ転送
でも1クロック程度の遅延が生じるのは一般的である。
このため、いずれのCPUが外部バスコントローラ2を
専有するかを決定するために専有権の調停を行うとき、
そのコントロール信号がLSIチップ内を往復して送受
信され、したがって、合計2クロック分の時間がかか
る。
【0041】最初のクロック周期では、DMAコントロ
ーラ11が外部バスコントローラ2にアクセス要求を送
出するとき、同時にアドレス100も併せて転送する。
そして、次のクロック周期以降に、使用許可信号109
が外部バスコントローラから返送される。このように、
一つのCPUだけがアクセス要求を送出したならば、必
ず次のクロック周期でアクセスが許可される。
【0042】また、このとき使用許可信号109と同時
に、外部バスコントローラ2内のウェイトレジスタ20
に設定されていたウェイト数が転送されてくる。このウ
ェイト数を、DMAコントローラ11のすぐ近傍にある
CPU1aのレジスタ13に保持する。
【0043】これによりカウンタ14では、アクセスが
許可された時点をカウント「0」とし、1クロック周期
に1ずつ増加させるカウントを開始する。たとえば、ウ
ェイト数として3クロックが設定されていたとすると、
カウント「3」で、次のDMA転送のためのアドレス1
00を外部バスコントローラ2に発行する。続いて、直
前のアクセスに伴うデータが次のクロック周期に転送さ
れてくるため、このデータをさらに次のクロック周期に
ローカルメモリ12に格納する。
【0044】カウンタ14は、カウント「3」まで計数
すると再びカウント「0」からカウントを再開する。こ
のように必要なデータ量に相当する数だけカウントを繰
り返しながら、全てのデータの転送を続ける。
【0045】図3は、図1に示す外部バス制御装置の制
御手順を時系列的に図示した制御手順図であり、ローカ
ルメモリから外部バスにデータ転送をするときの手順を
図示してある。先ず、DMAコントローラ11が外部バ
スコントローラ2にアクセスを要求する。続いて、次の
クロック周期以降にアクセスの許可が外部バスコントロ
ーラ2から返送される。このとき、使用許可信号109
と同時にウェイト数が転送されてくる。
【0046】カウンタ14は、この転送の時点をカウン
ト「0」とし、クロック周期ごとにアップカウントをす
る。また、外部バスコントローラ2によるアクセスの調
停期間内に、プロセッサコア10がローカルメモリ12
をアクセスしてデータを読み出しておく。そしてカウン
ト「0」のときに、ローカルメモリ14から読み出した
データを、アドレス100とともに次のクロック周期で
外部バスコントローラ2に転送する。
【0047】外部バスコントローラ2からは、その次の
クロック周期にアドレス121とデータ122を外部バ
スに出力する。カウンタ14がカウント「3」(設定し
たウェイト数と同じ値)になったところで、次に転送す
べきデータのアドレス112をローカルメモリ12に発
行する。さらに次のクロック周期では、ローカルメモリ
12からデータ101が読み出されるため、先ほどと同
様にして、その次のクロック周期にアドレス100とデ
ータ101を外部バスコントローラ2に転送する。
【0048】カウンタ14は、ウェイト数までカウント
アップしたら、次のクロック周期でカウント「0」にリ
セットしてアップカウントを再開する。そして、必要な
データの数だけカウントを繰り返しながら、全てのデー
タの転送を続ける。
【0049】この場合、前述したと同様に、カウンタ1
4がDMAコントローラ11の近傍にあるため、ローカ
ルメモリ12、外部バスコントローラ2にアドレスの値
を発行するタイミングを生成することが容易になる。
【0050】また、このようなウェイト時間をプログラ
ムにより設定するとき、外部バスコントローラ2内のウ
ェイトレジスタ20に対して、一つのCPU1aがプロ
グラムを行うだけでよい。つまり、ウェイト時間の設定
プログラムを複数のCPU1a、1b、1cのうち、い
ずれか一つに流しておくだけでウェイト数を設定するこ
とができる。
【0051】さらに、DMA転送を開始する時点で、ウ
ェイト数の設定値は必要なCPU1a内のレジスタ13
に転送される。このため、設定プログラムを実行してい
ないCPUであっても、ウェイト時間に関する情報を最
新のウェイト数として取得できる。また、その時点まで
にウェイトレジスタ20の値が更新されていれば、新し
いウェイト数の設定値によって、それ以降の動作が行わ
れることを確実に保証することができる。
【0052】このウェイト数の設定値の転送を、外部バ
スコントローラ2によるアクセスの調停結果を転送と同
時に行えるため、一連の制御手順にとって新たなオーバ
ヘッドの増加にはならない。
【0053】以上、この実施形態では、ウェイト数を転
送する場合について説明を行ったが、ウェイト数以外に
も、各CPU1a、1b、1cが共有すべき情報を併せ
て転送する場合であっても、同様に、アクセスの調停結
果の転送と同時にデータバス上で転送させることによ
り、転送時間でのオーバヘッドの増加をなくすことが可
能である。
【0054】また、プロセッサコア10がアドレス10
2を生成させる一般の外部バスアクセスを行う場合に
は、データ転送でのオーバヘッドの増加による影響が少
なくなる。このため、外部バスコントローラ2内にもカ
ウンタを搭載させて、ウェイト時間のタイミングの計測
を外部バスコントローラ2内で行わせることも可能であ
る。
【0055】なお、アクセスのタイミングを生成するカ
ウンタ14は、6ビット程度であるため、現在のLSI
プロセスでは無視できる程度のハードウェア量にしかな
らず、製造工程やコストの増加にはならない。
【0056】以上、本発明を一実施形態の一例により具
体的に説明したが、これに限定されるものではなく、こ
の他、本発明の要旨を逸脱しない範囲で種々変更が可能
なことはもちろんである。図1〜3では、三つのCPU
(演算ユニット)の場合を一例として示してあるが、C
PUの個数に制限されるものではない。CPUの個数が
異なる場合においても同様な方法で制御することができ
る。また、演算ユニットとしては、CPUだけでなくD
SP(Digital Signal Processor)など、他の演算手段
を用いることができる。
【0057】
【発明の効果】以上に述べたように、本発明の主な効果
は、次の通りである。本発明による第1の効果は、複数
のCPUが一つのLSIチップに搭載されて回路規模が
大きくなっても、外部バスの制御が効率よく行えること
である。その理由は、各CPU内に外部バスのウェイト
時間を計測するカウンタを搭載したため、外部バスのア
クセスタイミングのウェイト制御をするための信号に遅
延が生じないからである。
【0058】本発明による第2の効果は、複数のCPU
が共有して使用する外部バスに、一つのCPUがウェイ
ト時間を設定しても他のCPUがその設定値をローカル
に利用できることである。また、最新の設定値を用いて
ウェイト制御できることでもある。その理由は、一つの
CPUが、外部バスを使用するたびに、外部バスコント
ローラ内のレジスタからウェイト時間の設定値を取得す
るためである。
【0059】本発明の第3の効果は、各CPUが、新た
なオーバヘッドもなくローカルにウェイト時間の設定値
を取得できることである。その理由は、外部バスコント
ローラを専有するCPUを決定するため、そのアクセス
の調停結果を転送すると同時に、ウェイト時間の設定値
も共有レジスタから転送させるからである。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る外部バス制御装置
の一構成例を図示したブロック図。
【図2】図1に示す外部バス制御装置による一連の制御
手順を時系列で図示した制御手順図。
【図3】図1に示す外部バス制御装置による一連の制御
手順を時系列で図示した制御手順図。
【図4】一従来例による外部バス制御装置の一構成例を
図示したブロック図。
【符号の説明】
1a、1b、1c 演算ユニット(CPU) 2 外部バスコントローラ 10 プロセッサコア 11 DMAコントローラ 12 ローカルメモリ 13 レジスタ 14 カウンタ 15 デコーダ 16a、16b、22a、22b 選択器 17a、17b AND(論理積)回路 20 ウェイトレジスタ 21 調停回路 23a、23b OR(論理和)回路 100、102、103、106、112 アドレス 101 データ 121 アドレス信号群 122 データ信号群 123 書き込み信号 124 読み出し信号 200 演算ユニット 201 外部バスコントローラ 210 プロセッサコア 211 DMAコントローラ 212 内臓メモリ 213 デコーダ 214a,214b 選択器 220 ウェイトレジスタ 221 カウンタ 222a,222b AND(論理積)回路 300,302,303,306,307 アドレス 301 データ 310,314 書き込み信号 311,315 読み出し信号

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ独立したプログラムを実行可能
    な複数の演算ユニットと、これら演算ユニットが共有し
    ながら外部バスを制御する外部バスコントローラとが一
    つの集積回路チップに搭載されており、 前記各演算ユニットに、該演算ユニットが外部バスを専
    有できるまでのウェイト時間を計測する計時手段を搭載
    し、この計時手段のタイミングに基づいて前記外部バス
    コントローラに外部バスを制御させることを特徴とした
    外部バス制御装置。
  2. 【請求項2】 前記計時手段が、 演算ユニットのウェイト時間を計測しながら、外部バス
    を専有させるタイミングを生成するカウンタと、このカ
    ウンタに計測させるウェイト時間の設定値を保持する固
    有レジスタとを有することを特徴とする請求項1記載の
    外部バス制御装置。
  3. 【請求項3】 前記外部バスコントローラ内に、ウェイ
    ト時間の設定値を設定する共有レジスタが搭載され、こ
    の共有レジスタから、各演算ユニットの固有レジスタに
    ウェイト時間の設定値を転送させることを特徴とする請
    求項1または2に記載の外部バス制御装置。
  4. 【請求項4】 前記演算ユニットが外部バスの専有権を
    要求するごとに、前記外部バスコントローラが、ウェイ
    ト時間の設定値を転送することを特徴とする請求項1,
    2または3に記載の外部バス制御装置。
  5. 【請求項5】 前記外部バスコントローラが、 演算ユニットどうしの専有権の調停結果をウェイト時間
    の設定値とともに同時に転送することを特徴とする請求
    項1,2,3または4に記載の外部バス制御装置。
  6. 【請求項6】 前記外部バスコントローラが、 各演算ユニットのダイレクトメモリアクセスによる転送
    のときに限り、ウェイト時間の設定値を転送することを
    特徴とする請求項1〜5のいずれか一つに記載の外部バ
    ス制御装置。
JP36539099A 1999-12-22 1999-12-22 外部バス制御装置 Expired - Fee Related JP3491588B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP36539099A JP3491588B2 (ja) 1999-12-22 1999-12-22 外部バス制御装置
KR10-2000-0080174A KR100386902B1 (ko) 1999-12-22 2000-12-22 외부 버스 제어 장치
US09/746,342 US20010005870A1 (en) 1999-12-22 2000-12-22 External bus control system
DE10064536A DE10064536A1 (de) 1999-12-22 2000-12-22 Steuerungssystem für externen Bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36539099A JP3491588B2 (ja) 1999-12-22 1999-12-22 外部バス制御装置

Publications (2)

Publication Number Publication Date
JP2001184305A true JP2001184305A (ja) 2001-07-06
JP3491588B2 JP3491588B2 (ja) 2004-01-26

Family

ID=18484142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36539099A Expired - Fee Related JP3491588B2 (ja) 1999-12-22 1999-12-22 外部バス制御装置

Country Status (4)

Country Link
US (1) US20010005870A1 (ja)
JP (1) JP3491588B2 (ja)
KR (1) KR100386902B1 (ja)
DE (1) DE10064536A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817203B1 (ko) 2006-12-22 2008-03-27 재단법인서울대학교산학협력재단 비휘발성 저장장치의 데이터 판독 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287576A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd バスコントローラ
US20120179847A1 (en) * 2011-01-12 2012-07-12 Standard Microsystems Corporation Method and System for Implementing Bus Operations with Precise Timing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03135649A (ja) * 1989-08-31 1991-06-10 Toshiba Corp ウェイト制御回路
JPH11184804A (ja) * 1997-12-22 1999-07-09 Nec Corp 情報処理装置及び情報処理方法
JPH11250005A (ja) * 1998-03-05 1999-09-17 Nec Corp バス制御方法、バス制御装置及びバス制御プログラムを記憶した記憶媒体
JPH11272499A (ja) * 1998-03-23 1999-10-08 Nec Corp 性能測定回路を備えた並列プロセッサシステムと、プログラムの性能測定方法
JP3930964B2 (ja) * 1998-04-01 2007-06-13 株式会社日立産機システム プログラマブルコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817203B1 (ko) 2006-12-22 2008-03-27 재단법인서울대학교산학협력재단 비휘발성 저장장치의 데이터 판독 방법

Also Published As

Publication number Publication date
KR100386902B1 (ko) 2003-06-12
JP3491588B2 (ja) 2004-01-26
US20010005870A1 (en) 2001-06-28
DE10064536A1 (de) 2001-08-02
KR20010062621A (ko) 2001-07-07

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5379434A (en) Apparatus and method for managing interrupts in a multiprocessor system
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JPH06231074A (ja) システムバスの多重アクセス方式
JP2008310826A (ja) 同期環境における割り込み処理
US6504854B1 (en) Multiple frequency communications
JP3491588B2 (ja) 外部バス制御装置
US6457074B1 (en) Direct memory access data transfers
US6636907B1 (en) Transferring data between asynchronous devices
JPH07295947A (ja) データ転送管理装置及び方法
JP2010092101A (ja) 情報処理装置
JPH06250970A (ja) メモリ制御装置
JP3240863B2 (ja) 調停回路
JP2003091501A (ja) 情報処理装置
JPH10232849A (ja) ディスク制御装置
JP2002189695A (ja) Cpuインターフェース回路
JPH05204832A (ja) Dmaバス調停方式
JPH052557A (ja) データ転送装置
JP2001014214A (ja) メモリ共有方法、およびこの方法を使用したマルチプロセッサ設備
JPH04178869A (ja) マルチプロセッサシステムの割込み制御装置とその割込み通信方法
JP2000259548A (ja) Dmaバス転送方式
JP2002073533A (ja) データ処理装置
JP2001331442A (ja) システムバス競合制御装置及びそれに用いるシステムバス競合制御方式
JPH09204409A (ja) ロック転送制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees