JP2007109199A - バッファ装置、、バッファ装置の制御方法、情報処理装置 - Google Patents

バッファ装置、、バッファ装置の制御方法、情報処理装置 Download PDF

Info

Publication number
JP2007109199A
JP2007109199A JP2006045374A JP2006045374A JP2007109199A JP 2007109199 A JP2007109199 A JP 2007109199A JP 2006045374 A JP2006045374 A JP 2006045374A JP 2006045374 A JP2006045374 A JP 2006045374A JP 2007109199 A JP2007109199 A JP 2007109199A
Authority
JP
Japan
Prior art keywords
circuit
buffer
clock
peripheral
access
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.)
Withdrawn
Application number
JP2006045374A
Other languages
English (en)
Inventor
Yoshiaki Hashimoto
良昭 橋本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006045374A priority Critical patent/JP2007109199A/ja
Publication of JP2007109199A publication Critical patent/JP2007109199A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】様々な動作クロックで動作する既存の周辺回路を容易に接続することのできるバッファ回路を提供することで、システム・オン・チップを容易にすること。
【解決手段】本バッファ装置100は、第1の回路と第2の回路のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファ110と、第1の回路との接続部である第1のインターフェース部130と、第2の回路との接続部であるインターフェース部140と、第1の回路及び第2の回路のバッファへのアクセス状況に基づき、前記バッファに供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号152を生成するクロック切り替え制御回路150と、第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号に基づきいずれかのクロックを選択して前記バッファに供給するクロック切り替え回路120とを含む。
【選択図】図1

Description

本発明は、バッファ装置、バッファ装置の制御方法及び情報処理装置に関する。
異なるクロックで動作する回路間のデータ転送に関しては、例えば2ポートメモリを間に置き、各ポートをそれぞれの異なるクロックに同期してアクセスする方法や、異なるクロック間で動作する回路の間に2段バッファを置き、このバッファをデータ及び必要な制御信号をデータを受ける側のクロックで制御する方法の2方法が一般的である。
特開2001−222407号 特開2003−198518号 特開平5−100820号 特開2001−134421号
しかし上記の2方法では基本的にクロックの種類が3以上の場合の対応ができないという問題点があった。
クロックの種類が3以上の場合は、上記2方法の回路をそれぞれが持つ必要があり、ホストインターフェイス(バスインターフェイス)の設計変更が必要であり、結果的に全ての周辺回路でバッファを持つことになる。
このバッファリングにより、ホストCPUから各周辺装置へのアクセス順番と実際の周辺回路へのアクセス順番に時間差が生じ、制御が難しくなるという問題も出る。
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、様々な動作クロックで動作する既存の周辺回路を容易に接続することのできるバッファ回路を提供することで、システム・オン・チップを容易にすることを目的とする。
(1)本発明は、
周波数の異なるクロックで動作する第1の回路と第2の回路の間に存在するバッファ装置であって、
第1の回路と第2の回路のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファと、
第1の回路とバッファの接続部である第1のインターフェース部と、
第2の回路とバッファの接続部である第2のインターフェース部と、
第1の回路及び第2の回路のバッファへのアクセス状況に基づき、前記バッファに供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号を生成するクロック切り替え制御回路と、
第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号に基づきいずれかのクロックを選択して前記バッファに供給するクロック切り替え回路と、
を含むことを特徴とする。
第1のインターフェース部は、第1の回路が前記バッファにアクセスする際の信号のやり取りをするためのインターフェース部である。
第2のインターフェース部は、第2の回路が前記バッファにアクセスする際の信号のやり取りをするためのインターフェース部である。
クロック切り替え制御回路は、第1の回路がバッファに対して読み書きを行う場合には、バッファに第1の回路の動作周波数のクロックを供給し、第2の回路がバッファに対して読み書きを行う場合にはバッファに第2の回路の動作周波数のクロックを供給するように、バッファに供給するクロックを切り替えるためのクロック切り替え制御信号を生成する。
そしてクロック切り替え回路は、第1の回路の動作周波数のクロックと第2の回路の動作周波数のクロックを含む複数のクロックを入力し、所定の制御信号に基づきいづれかのクロックを選択して、バッファに出力する選択回路によって実現することができる。
ここにおいて第2の回路として複数の異なる周波数の回路が接続されるようにしてもよい。このような場合には、クロック切り替え回路は、これら複数の異なる周波数の回路の動作周波数を入力して、第1の回路の動作周波数と複数の異なる周波数の回路の動作周波数の中からクロック切り替え制御信号に基づきいずれかの周波数を選択して出力することになる。
(2)本発明のバッファ装置は、
前記バッファは、
複数段で構成されており、
前記クロック切り替え制御回路は、
第1の回路及び第2の回路の各段のバッファへのアクセス状況に基づき、前記各段のバッファに供給するクロックを切り替えるタイミングを判断し、各段に対応したクロック切り替え制御信号を生成し、
前記クロック切り替え回路は、
前記バッファの格段に対応して第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記各段に対応したクロック切り替え信号に基づきいずれかのクロックを選択して各段のバッファに供給することを特徴とする。
(3)本発明のバッファ装置は、
前記第2のインターフェース部は、
第1の回路のバッファへの書き込みが発生すると書き込みのあった段のバッファへのポインターを格納するためのFIFOを含み、
前記FIFOの出力順に先入先出で第2の回路からバッファへのアクセスを許可するように制御することを特徴とする。
(4)本発明のバッファ装置は、
前記バッファ装置は、
周波数の異なるクロックで動作する複数の周辺回路と前記複数の周辺回路を制御する制御部の間に存在するバッファ装置であって、
前記第1のインターフェース部は、
前記制御部を接続するホストポート又はバスとして構成され、
前記第2のインターフェース部は
前記複数の周辺回路に対応する複数の周辺回路インターフェース回路含み、
前記バッファは、
制御部と周辺装置間のアクセスに必要なアドレス及びデータの少なくとも一方を格納することを特徴とする。
(5)本発明のバッファ装置は、
前記各周辺回路インターフェース回路は、
各周辺回路毎に、第1の回路のバッファへの当該周辺回路に対する書き込みが発生すると書き込みのあった段のバッファへのポインターを格納するためのFIFOを含み、前記FIFOの出力順に先入先出で当該周辺回路からバッファへのアクセスを許可するように制御することを特徴とする。
(6)本発明のバッファ装置は、
前記各周辺回路は他の周辺回路とは独立したバスを有しており、
前記各周辺回路インターフェース回路は、
対応する周辺回路のバスに接続されていることを特徴とする。
このようにすること並列モードでの動作が可能となる。
(7)本発明のバッファ装置は、
前記クロック切り替え制御回路は、
第1の回路のバッファへの書き込みの終了を検出したら、当該バッファへ供給するクロックを、第2の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とする。
(8)本発明のバッファ装置は、
前記バッファは、
バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
前記クロック切り替え制御回路は、
R/W識別フラグが書き込みを示している場合には、バッファの内容が第2の回路から読み出されたことを検出したら、当該バッファへ供給するクロックを第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とする。
(9)本発明のバッファ装置は、
前記バッファは、
バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
前記クロック切り替え制御回路は、
R/W識別フラグが読み出しを示している場合には、第2の回路からバッファへの書き込みが行われたことを検出したら、当該バッファへ供給するクロックを、第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とする。
(10)本発明のバッファ装置は、
前記バッファは、
バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
前記クロック切り替え制御回路は、
R/W識別フラグが読み出しを示している場合には、第2の回路から読み出し終了を検出し、読み出したデータを第1の回路へ出力したら、当該バッファへ供給するクロックを、第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とする。
(11)本発明のバッファ装置は、
逐次モードであるか並列モードであるかの情報が記憶されるモード設定レジスタと、
モード設定レジスタの値が逐次モードであることを示している場合には第1の回路からのアクセスの順番に処理を実行するように制御し、モード設定レジスタの値が並列モードであることを示している場合には第1の回路からのアクセスの順番によらず処理を実行するように制御する回路と、を含み、
前記モード設定レジスタの値は第1の回路からの指示信号に基づき設定されることを特徴とする。
(12)本発明は、上記のいずれかに記載のバッファ装置及び第1の回路及び第2の回路を含むことを特徴とする情報処理装置である。
請求項1乃至11のいずれかに記載のバッファ装置及び第1の回路及び第2の回路を含むことを特徴とする情報処理装置。
(13)本発明は、
周波数の異なるクロックで動作する第1の回路と第2の回路の間に存在し、第1の回路と第2の回路のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファを含むバッファ装置の制御方法であって、
第1の回路及び第2の回路のバッファへのアクセス状況に基づき、前記バッファに供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号を生成するステップと、
第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号に基づきいずれかのクロックを選択して前記バッファに供給するステップとを、
を含むことを特徴とする。
(14)本発明の制御方法は、
前記第1の回路からの指示信号に基づき実行モードを設定するステップと、
実行モードが逐次モードに設定されている場合には第1の回路からのアクセスの順番に処理を実行するように制御し、並列モードに設定されている場合には第1の回路からのアクセスの順番によらず処理を実行するように制御するステップと、
を含むことを特徴とする。
1.集積回路装置
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
図1は、本実施の形態のバッファ装置について説明するための図である。
本実施の形態のバッファ装置100は、周波数の異なる動作クロックで動作する第1の回路180と第2の回路190の間に存在するバッファ装置100であって、第1のインターフェース部130、第2のインターフェース部140、バッファ110、制御部170、クロック切り替え部120を含む。
また本実施の形態の情報処理装置300は、バッファ装置100、第1の回路180、第2の回路190とを含む。
第1のインターフェース部130は、第1の回路を接続するためのインターフェース回路である。第2のインターフェース部140は第2の回路を接続するためのインターフェース回路である。
第1のインターフェース部130は、第1の回路(制御部)180を接続するホストポート又はバスへの接続部(図示せず)を含む。
第2のインターフェース部140は、第2の回路(周辺回路)190を接続するペリフェラルポート(図示せず)とFIFO142とセレクタ146とバスドライバレシーバ148を含む。
ペリフェラルポート(図示せず)には、該ペリフェラルポートに接続する第2の回路(周辺回路)190のクロック入力端子を持つようにしてもよい。
FIFO142は、前記アドレスバッファ及びデータバッファのポインターを格納するもので、第1の回路180のバッファ110への書き込みが発生すると書き込みのあった段のバッファへのポインターを格納する。FIFO142の出力順に先入先出で第2の回路190からバッファへのアクセスを許可するように制御する。
バッファ110は第1の回路180と第2の回路190のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファである。
前記バッファ110を、複数段(110−0,110−1、・・・110−n)で構成して、前記クロック切り替え部120(120−0、120−1,・・・、120−n)は、前記バッファの各段110−0、110−1、・・・110−nに対応して設け、前記バッファの各段毎に供給するクロックを切り替える。
またバッファをメモリ空間あるいはIO空間にマッピングされたアドレスを格納する複数のアドレスバッファと、該アドレスバッファに対応した書込みデータ及び読み出しデータを格納するデータバッファとで構成するようにしてもよい。
また前記バッファ110−0、110−1、110−2、・・・に書き込まれた順番に前記各周辺回路にアクセスするようにしてもよい(逐次モード)。
制御部170は、第1の回路(ホスト)からのアクセス全般の応答制御とバッファ制御を行う。制御部170は、クロック切り替え制御回路150を含む。
クロック切り替え制御回路150は、第1の回路180及び第2の回路190のバッファ110へのアクセス状況に基づき、前記バッファ110に供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号152を生成する。
クロック切り替え制御回路150は、バッファが複数段で構成されている場合には、第1の回路180及び第2の回路190の各段のバッファ110−0、110−1、・・・、110−nへのアクセス状況に基づき、前記各段のバッファ110−0、110−1、・・・、110−nに供給するクロックを切り替えるタイミングを判断し、各段に対応したクロック切り替え制御信号152−0、152−1、・・・、152−nを生成する。
前記クロック切り替え制御回路150は、第1の回路のバッファへの書き込みの終了を検出したら、当該バッファへ供給するクロックを、第2の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成するようにしてもよい。
ここで前記バッファ110は、バッファに書き込まれた内容が第2の回路190に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含むようにしてもよい。
かかる場合には、クロック切り替え制御回路150は、R/W識別フラグが書き込みを示している場合には、バッファ110の内容が第2の回路190から読み出されたことを検出したら、当該バッファ110へ供給するクロックを第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号152を生成するようにしてもよい。
また前記クロック切り替え制御回路150は、R/W識別フラグが読み出しを示している場合には、第2の回路190からバッファへの書き込みが行われたことを検出したら、当該バッファ110へ供給するクロックを、第1の回路180の動作クロックに切り替えるように指示するクロック切り替え制御信号152を生成するようにしてもよい。第2の回路からの読み出しデータがバッファに格納されるパスは図示していないが、バッファの入力側にセレクタを設け、バッファの出力を第1の回路に与えるパスを用意することで可能である。
第2の回路からの読み出しデータは、第1の回路の動作クロックの変化に対して安定してデータを出力することができるため、読み出しデータはバッファリングせずに、直接第2の回路から第1の回路に出力するようにしてもよい。この場合、バッファの動作クロックの切り替えは、第2の回路からデータの読み出し終了を検出した後で行うようにしてもよい。
クロック切り替え部120は、第1の回路180の動作クロック及び第2の回路190の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号152に基づきいずれかのクロックを選択して前記バッファ110に供給する。
第1の回路180の動作クロック182は、例えば第1のインターフェース部130を介して、第1の回路から入力するようにしてもよい。
また第2の回路の動作クロックは、例えば第2のインターフェース部140を介して、第2の回路から入力するようにしてもよい。
またアドレスバッファに有効な値がない場合は該アドレスバッファ及び対応するデータバッファは第1の回路(制御部)180が接続されるホストポート又はバスの動作クロックで動作するようにしてもよい。
そして第1の回路(制御部)180からホストポートに接続した周辺回路にアクセスすると、アドレスとデータが有効な値のない前記アドレスバッファ及びデータバッファに一旦書き込まれるようにしてもよい。
そして動作クロックが該ペリフェラルポートから入力されるクロックに切り替わり、該バッファのポインターが該ペリフェラルポートに対応したFIFO142に書き込まれ、該FIFO142に格納されたポインターにより前記アドレスバッファ、データバッファの内容が読み出され、該ペリフェラルポートに接続された第2の回路(周辺回路)190に対してのアクセスが行われるようにしてもよい。
アクセス終了後は再び第1の回路(制御部)180からのクロックに切り替わるようにしてもよい。
なお第2の回路(周辺回路)190を接続する部分を“ペリフェラルポート”という表現をしたが、実際は汎用的なバスである場合が多い。
例えば第2の回路(周辺回路)190が複数種類m存在する場合、バッファ装置100は複数のバスインターフェイスを持ち、その数はホスト用バス×1+周辺回路用バス×m、となる。
本実施の形態によれば、周辺回路とのインターフェースは従来どおりでよいので、過去の設計資産の周辺回路をそのまま接続できる。また動作クロックが異なるものでも、容易に既存の周辺回路を接続することができる。
また周辺回路用のポートの数だけの異なるクロックをサポートできる。
またバッファが第1の回路(ホスト側)、第2の回路(スレーブ側)のアクセス対象側のクロックに切り替わるように制御する回路で実現できるので回路論理が簡単になる。
図2は、パッファ装置100の複数の周辺回路バスを接続した時の図である。
またバッファ装置100は、図2に示すように周波数の異なるクロックで動作する複数の周辺回路と前記複数の周辺回路を制御する制御部(ホスト)間に存在するバッファ装置として構成してもよい。
前記第1のインターフェース部は、制御部(ホスト)を接続するホストポート又はバス182として構成されるようにしてもよい。
また第2のインターフェース部は、周辺回路を接続する複数の周辺回路インターフェース回路140−0、140−1、・・、140−mを含む。
前記バッファ110は、制御部(ホスト)と周辺装置間のアクセスに必要なアドレス及びデータの少なくとも一方を格納する。
ここで周辺装置からのリードデータ16は、全周辺装置バスインターフェイスからのものをまとめて図示していますが、複数が同時に有効になる事はない。
ここでバッファ部110は、バッファとクロック制御回路を含んでいる。
図3は図1のバッファ部110の構成図である。
各バッファ110−0、110−1、・・110−nはアドレスバッファ112−0、112−1、・・112−n、データバッファ114−0、114−1、・・114−n、リード/ライトフラグ116−0、116−1、・・116−n、使用フラグ118−0、118−1、・・118−nを含む。
アドレスバッファ112−0、112−1、・・112−nは、メモリ空間あるいはIO空間にマッピングされたアドレスを格納するバッファで、ホストバスからのアクセス時にアドレスを格納する。
データバッファ114−0、114−1、・・114−nは、アドレスバッファに対応したデータを格納するバッファであり、ホストバスからのライトアクセス時にライトデータを格納し、リードアクセス時には周辺装置からのリードデータを格納するようにしてもよい。
リード/ライトフラグ116−0、116−1、・・116−nは、バッファに格納したアクセスがリードかライトかを示すフラグである。
使用フラグ118−0、118−1、・・118−nは、バッファに格納したアクセスが終了したかどうかを示すフラグである。周辺装置インターフェイス部からのバッファ書き込み許可信号3−0、3−1、・・・、3−nでオフ(未使用)になる。
クロック切り替え部120−0、120−1、・・120−nは、バッファ制御部からの周辺回路選択信号6−0、6−1、・・・、6−nによりクロックを切替える。切替えタイミングはバッファ110−0、110−1、・・110−nへの書込みが終了した時点である。
バッファ部は、空バッファ指定制御部210、ネクストポインタ212、カレントポインタ214、バッファ書込み制御部216を含む。
空バッファ指定制御部210は、バッファの使用フラグ118に基づき未使用のバッファをサーチしてポインタNo.を出力する。
ネクストポインタ212は、空きバッファ指定制御部210が決定した次の次に使用するバッファポインターの値を格納する。
カレントポインタ214は、次に書込みを行うバッファのアドレスを示す。書き込み実行後はネクストポインター212の値を格納する。
バッファ書込み制御部216は、カレントポインター214の値により、次に書き込むバッファに対しての許可信号を生成する。
使用フラグ信号1は、バッファの使用フラグが出力されるもので、ホストからのアクセスで、アドレスが書き込まれた時にオンになり、周辺装置により実行されたときにオフになる。
2はリード/ライトフラグ信号であり、3−0,3−1,3−nはバッファ書込み許可信号であり、6は周辺回路選択信号であり192−0〜192−nは周辺装置のクロックであり、182はホストのクロックである。
9はカレントポインターであり、10はホストバスからのアドレス信号であり、11はホストバスからのデータ信号であり、12はバッファからのアドレス出力信号であり、13はバッファからのデータ出力信号であり、14はホストバスからのリード/ライトフラグ入力である。
図4は周辺装置インターフェースの構成図である。
周辺装置インターフェースは、ポインター格納FIFO142、バッファセレクタ146、周辺装置バスインターフェイス148を含む。
ポインター格納FIFO142は、この周辺装置へのアクセスのアドレス/データが格納されたバッファNo.(ポインター)を格納するFIFOである。ポインター144とリード/ライトフラグ145の格納エリアからなる。
バッファセレクタ146は、ポインター格納FIFO142の出力143により、バッファを選択する。
周辺装置バスインターフェイス148は、周辺装置のバスへの変換を行う。アクセス終了後にポインタ格納FIFO制御用ポインタとのバッファの使用フラグをオフにする為の周辺装置アクセス実行信号17を有効にする。
周辺装置バッファポインター登録指示信号15は、バッファ制御部からの出力信号である。
リードデータ16は周辺装置からのリードデータである。
17は周辺装置アクセス実行信号である。
25は周辺装置バスインターフェイスからのウエイト信号である。
図5はバッファ制御部の構成図である。
バッファ制御部は、制御部152、アドレス比較部154、周辺装置登録部155を含む。
周辺装置登録部155は、周辺装置のアクセス開始アドレス156と周辺装置のアクセスエリアサイズ158を含む。
周辺装置のアクセス開始アドレス156には、システムに搭載する周辺装置のメモリマップ上のスタートアドレスが格納される。
周辺装置のアクセスエリアサイズ158には、システムに搭載する周辺装置のアクセスエリアサイズが格納される。
制御部152は、ホストからのアクセス全般の応答制御とバッファ制御を行う。
アドレス比較部154は、ホストからのアクセスが登録してある周辺装置に対してのものかどうかを周値と比較することで判断する。登録してある周辺装置に対してのものである周辺装置選択信号と周辺装置バッファポインター登録指示信号を有効にする。
19は周辺装置登録データ1であり、20は周辺装置登録データmであり、21はホストバスコマンド信号である。
22は周辺装置登録レジスタ制御信号であり、周辺装置登録部155への登録は、電源投入後のシステム初期設定時に行われる。
23はホストアクセス信号部制御信号であり、アドレスの比較は常時ではなく、ホストからのアクセスが発生した時である。ホストからのアクセスを応答制御を行う制御部152がこのタイミングを判断し、信号を生成してアドレス比較部154に指示を行う為の信号である。
24はバス制御信号であり、25はウエイト信号である。
図6は、周辺装置登録部に登録される周辺装置のアクセス開始アドレスと周辺装置のアクセスエリアサイズの一例である。
本実施の形態では、システムの初期設定時に周辺装置登録部に、バッファ装置を介して接続する周辺装置の開始アドレスとエリアサイズを登録する。
本例では8個の周辺装置が接続され、アドレスとエリアサイズとして図6に示す値が登録されている。
またバッファ段数は16段とする。(ポインター値 0〜FH まで)。カレントポインター0の初期値は0H、ネクストポインターの初期値は1Hとする。周辺装置インターフェイス内のFIFOの段数はバッファと同じ16段とする。
次に、本実施の形態の並列モードによる動作の一例について説明する。
まずCPUから、00A0#1000Hにデータ0000#000FH の書込みが発生したとする(ステップS1)。
次に制御部152がバスコマンドによりバスアクセスを認識し、信号23を有効にする。信号23が有効になる事により、バッファ書込み制御信号が動作し、カレントポインターの値が0Hである事から、信号3が有効となる。同時に、カレントポインターの値がネクストポインターの値に更新される。空きバッファ指定制御部は、バッファ1の次のバッファ2の使用フラグ118がオフである事から、ネクストポインター212に2Hをセットする(ステップS2)。
次に信号3が有効になり、アドレスバッファ112−0に00A0#1000H が、データバッファ114−0に0000#000FHが、バッファNo.0のリード/ライトフラグ214に1が格納される。(フラグ214が1の時に書込みを表す事にする。)。バッファ0の使用フラグがオンになる(ステップS3)。
次に書込み終了後に周辺回路選択信号6により、バッファ0のクロックが周辺装置1のクロックに切り替わる(ステップS4)。
次にバッファ制御部150は信号23をオンにすると共に信号15有効にする。これにより周辺装置インターフェイス1のFIFOにカレントポインターの値0Hが格納される。FIFO書込みポインターが+1される。同時にFIFOに書き込まれた段の使用フラグがオンとなる(ステップS5)。
次に周辺装置バス1が使用されていない為、即座にFIFOの値が読み出され、読出しポインターの値が+1となる。読み出されたFIFOの段の使用フラグがオフとなる(ステップS6)。
次にFIFOの出力によりバッファセレクタ146がバッファ0からの出力を選択し、周辺装置インターフェイスにアドレスとデータとリード/ライトフラグが出力され、周辺装置1へのアクセスが開始される。周辺装置アクセス実行信号17がアクティブとなり、FIFOの出力とともにバッファ部に送信され、FIFOの出力値が示すバッファの使用フラグ118がオフとなる。これにあわせてバッファの動作クロックがCPUバスクロックに戻る。バッファからのアドレスは、周辺装置バスに合わせたものに変換されてもよい(ステップS7)。
CPUからのアクセスは、ライト動作の場合、バッファへの書込みが終了した時点でCPUバスのサイクルを終了させる。既にバッファに書き込まれたアクセスの実際の周辺装置への書込みを待たずにバスサイクルを終了させる。リード動作の場合は、このリード動作が終了した時点でCPUバスのサイクルを終了させる(ステップS8)。
次にCPUバスからのライトアクセスは、上記の動作を繰り返し、バッファが一杯になるまでは、CPUからのアクセス順序に関係なく、周辺装置に対してのアクセスが実行される。使用したバッファは次々に処理フラグ118がオフになり開放されて、次のCPUUからのアクセス情報が格納される。空きバッファ指定制御部210が各バッファの使用フラグeをバッファNo.を+1方向にチェックし、ネクストポインター212を更新する(ステップS9)。
図7は並列モードの場合の処理の流れを示すフローチャートである。
ホストCPUからAポートに書込み動作発生(ステップS110)。ここでAポートとは周辺装置Aが接続されているポートである。
ポインター001のバッファにアドレス・データを保存。ホストCPUへはアクセス終了を報告。この時点ではポインター001のバッファはホストCPUのクロックで動作している(ステップS120)。
ポインター001のクロックがAポートのクロックに切り替わると共に、ポインター値001がAポートのポインターFIFOに格納される。Aポートのアクセス終了後、バッファはホストCPU側クロックに切り替わる(ステップS130)。
ポインター002のバッファにアドレス・データを保存。ホストCPUへはアクセス終了を報告(ステップS140)。
ポインター002のクロックがAポートのクロックに切り替わると共に、ポインター値002がAポートのポインターFIFOに格納される。Aポートのアクセス終了後、ホストCPU側クロックに切り替わる(ステップS160)。
ホストCPUからBポートに書込み動作発生(ステップS170)。ここでBポートとは周辺装置Bが接続されているポートである。
ポインター003のバッファにアドレスデータを保存。ホストCPUへはアクセス終了を報告。この時点ではポインター003のバッファはホストCPUのクロックで動作している(ステップS180)
ポインター003のクロックがBポートのクロックに切り替わると共に、ポインター値003がBポートのポインターFIFOに格納される。Bポートのアクセス終了後ホストCPU側クロックに切り替わる(ステップS190)
ホストCPUからAポートに書込み動作発生(ステップS200)。
ポインター004のバッファにアドレス・データを保存。ホストCPUへはアクセス終了を報告(ステップS210)。
ポインター004のクロックがAポートのクロックに切り替わると共に、ポインター値004がAポートのポインターFIFOに格納される。Aポートのアクセス終了後、ホストCPU側クロックに切り替わる(ステップS220)。
ホストCPUからAポートに読出し動作発生(ステップS230)。
ポインター005のアドレスバッファにアドレスを保存(ステップS240)。
ポインター005のクロックがAポートのクロックに切り替わると共に、ポインター値005がAポートのポインターFIFOに格納される(ステップS250)。
ポインター005のデータバッファにAポートからの読出しデータが格納された後、ホストCPUのクロックに切り替わる(ステップS260)。
ホストCPUへ読出しデータと共にアクセス終了信号が返される(ステップS270)。
なおステップS190において、これ以前の他のポートのアクセスが終了した後にポートアクセスが許可されるように制御することで逐次モード(ホストからのアクセスの順番に処理を実行するモード)の処理を実現することができる。
逐次的動作モードに設定すると実質的アクセス順番が保証できる。
並列的動作モードに設定すると各周辺回路へのアクセスが平行して行われるのでシステムのパフォーマンスを上げる事ができる。ホストCPU側の動作クロックと周辺回路側の動作クロックが著しく異なりホスト側が速い場合に効果は顕著である。
逐次処理の場合は、ホスト側CPUが高速に動作しても遅い周辺回路のアクセスが終わるまでは次の動作に進めないが、並列モードの場合は、バッファに高速に書き込んでしまえば遅い周辺回路のアクセスが終了しなくても別な周辺回路にアクセスする事が可能となる。
従って各周辺回路間の連携制御が無い場合は、並列モードにする事で、各周辺回路を実質並列制御する事が可能となるのでシステム性能の向上に繋がる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本実施の形態のバッファ装置について説明するための図。 複数の周辺回路と制御部の間に存在するバッファ装置の構成図。 バッファ部の構成図。 周辺装置インターフェースの構成図。 バッファ制御部の構成図。 周辺装置登録部に登録される周辺装置のアクセス開始アドレスと周辺装置のアクセスエリアサイズの一例。 並列モードの場合の処理の流れを示すフローチャート。
符号の説明
100 バッファ装置、 110 バッファ、120 クロック切り替え部、130 第1のI/F部、140 第2のI/F部、142 FIFO、146 セレクタ、148 バスドライバレシーバ、150 クロック切り替え制御部、152 クロック切り替え制御信号、170 制御部、180 第1の回路、190 第2の回路、300 情報処理装置

Claims (14)

  1. 周波数の異なるクロックで動作する第1の回路と第2の回路の間に存在するバッファ装置であって、
    第1の回路と第2の回路のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファと、
    第1の回路とバッファの接続部である第1のインターフェース部と、
    第2の回路とバッファの接続部である第2のインターフェース部と、
    第1の回路及び第2の回路のバッファへのアクセス状況に基づき、前記バッファに供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号を生成するクロック切り替え制御回路と、
    第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号に基づきいずれかのクロックを選択して前記バッファに供給するクロック切り替え回路と、
    を含むことを特徴とするバッファ装置。
  2. 請求項1において、
    前記バッファは、
    複数段で構成されており、
    前記クロック切り替え制御回路は、
    第1の回路及び第2の回路の各段のバッファへのアクセス状況に基づき、前記各段のバッファに供給するクロックを切り替えるタイミングを判断し、各段に対応したクロック切り替え制御信号を生成し、
    前記クロック切り替え回路は、
    前記バッファの格段に対応して第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記各段に対応したクロック切り替え信号に基づきいずれかのクロックを選択して各段のバッファに供給することを特徴とするバッファ装置。
  3. 請求項2において、
    前記第2のインターフェース部は、
    第1の回路のバッファへの書き込みが発生すると書き込みのあった段のバッファへのポインターを格納するためのFIFOを含み、
    前記FIFOの出力順に先入先出で第2の回路からバッファへのアクセスを許可するように制御することを特徴とするバッファ装置。
  4. 請求項2乃至3のいずれかにおいて、
    前記バッファ装置は、
    周波数の異なるクロックで動作する複数の周辺回路と前記複数の周辺回路を制御する制御部の間に存在するバッファ装置であって、
    前記第1のインターフェース部は、
    前記制御部を接続するホストポート又はバスとして構成され、
    前記第2のインターフェース部は
    前記複数の周辺回路に対応する複数の周辺回路インターフェース回路含み、
    前記バッファは、
    制御部と周辺装置間のアクセスに必要なアドレス及びデータの少なくとも一方を格納することを特徴とするバッファ装置。
  5. 請求項4において、
    前記各周辺回路インターフェース回路は、
    各周辺回路毎に、第1の回路のバッファへの当該周辺回路に対する書き込みが発生すると書き込みのあった段のバッファへのポインターを格納するためのFIFOを含み、前記FIFOの出力順に先入先出で当該周辺回路からバッファへのアクセスを許可するように制御することを特徴とするバッファ装置。
  6. 請求項4乃至5いずれかにおいて、
    前記各周辺回路は他の周辺回路とは独立したバスを有しており、
    前記各周辺回路インターフェース回路は、
    対応する周辺回路のバスに接続されていることを特徴とするバッファ装置。
  7. 請求項1乃至6のいずれかにおいて、
    前記クロック切り替え制御回路は、
    第1の回路のバッファへの書き込みの終了を検出したら、当該バッファへ供給するクロックを、第2の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とするバッファ装置。
  8. 請求項1乃至7のいずれかにおいて、
    前記バッファは、
    バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
    前記クロック切り替え制御回路は、
    R/W識別フラグが書き込みを示している場合には、バッファの内容が第2の回路から読み出されたことを検出したら、当該バッファへ供給するクロックを第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とするバッファ装置。
  9. 請求項1乃至8のいずれかにおいて、
    前記バッファは、
    バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
    前記クロック切り替え制御回路は、
    R/W識別フラグが読み出しを示している場合には、第2の回路からバッファへの書き込みが行われたことを検出したら、当該バッファへ供給するクロックを、第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とするバッファ装置。
  10. 請求項1乃至8のいずれかにおいて、
    前記バッファは、
    バッファに書き込まれた内容が第2の回路に対する読み出し又は書き込みのいずれであるかを識別するためのR/W識別フラグを含み、
    前記クロック切り替え制御回路は、
    R/W識別フラグが読み出しを示している場合には、第2の回路から読み出し終了を検出したら、バッファを介さず直接第1の回路へ読み出したデータを出力し、当該バッファへ供給するクロックを、第1の回路の動作クロックに切り替えるように指示するクロック切り替え制御信号を生成することを特徴とするバッファ装置。
  11. 請求項1乃至請求項10のいずれかにおいて、
    逐次モードであるか並列モードであるかの情報が記憶されるモード設定レジスタと、
    モード設定レジスタの値が逐次モードであることを示している場合には第1の回路からのアクセスの順番に処理を実行するように制御し、モード設定レジスタの値が並列モードであることを示している場合には第1の回路からのアクセスの順番によらず処理を実行するように制御する回路と、を含み、
    前記モード設定レジスタの値は第1の回路からの指示信号に基づき設定されることを特徴とするバッファ装置。
  12. 請求項1乃至11のいずれかに記載のバッファ装置及び第1の回路及び第2の回路を含むことを特徴とする情報処理装置。
  13. 周波数の異なるクロックで動作する第1の回路と第2の回路の間に存在し、第1の回路と第2の回路のデータのやり取りに必要なアドレス及びデータの少なくとも一方を格納するバッファを含むバッファ装置の制御方法であって、
    第1の回路及び第2の回路のバッファへのアクセス状況に基づき、前記バッファに供給するクロックを切り替えるタイミングを判断し、バッファに供給するクロックの選択または切り替えを指示するためのクロック切り替え制御信号を生成するステップと、
    第1の回路の動作クロック及び第2の回路の動作クロックを含む複数のクロックを入力し、前記クロック切り替え信号に基づきいずれかのクロックを選択して前記バッファに供給するステップとを、
    を含むことを特徴とするバッファ装置の制御方法。
  14. 請求項13において、
    前記第1の回路からの指示信号に基づき実行モードを設定するステップと、
    実行モードが逐次モードに設定されている場合には第1の回路からのアクセスの順番に処理を実行するように制御し、並列モードに設定されている場合には第1の回路からのアクセスの順番によらず処理を実行するように制御するステップと、
    を含むことを特徴とするバッファ装置の制御方法。
JP2006045374A 2005-09-15 2006-02-22 バッファ装置、、バッファ装置の制御方法、情報処理装置 Withdrawn JP2007109199A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006045374A JP2007109199A (ja) 2005-09-15 2006-02-22 バッファ装置、、バッファ装置の制御方法、情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005268628 2005-09-15
JP2006045374A JP2007109199A (ja) 2005-09-15 2006-02-22 バッファ装置、、バッファ装置の制御方法、情報処理装置

Publications (1)

Publication Number Publication Date
JP2007109199A true JP2007109199A (ja) 2007-04-26

Family

ID=38034999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006045374A Withdrawn JP2007109199A (ja) 2005-09-15 2006-02-22 バッファ装置、、バッファ装置の制御方法、情報処理装置

Country Status (1)

Country Link
JP (1) JP2007109199A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519077A (ja) * 2008-02-20 2011-06-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 2つの基準クロックを有するリドライバ及びその動作方法
JP2015043170A (ja) * 2013-08-26 2015-03-05 株式会社東芝 インターフェース回路及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519077A (ja) * 2008-02-20 2011-06-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 2つの基準クロックを有するリドライバ及びその動作方法
JP2015043170A (ja) * 2013-08-26 2015-03-05 株式会社東芝 インターフェース回路及びシステム

Similar Documents

Publication Publication Date Title
US20020095562A1 (en) Arithmetic unit comprising a memory shared by a plurality of processors
US7724984B2 (en) Image processing apparatus
JPH11250228A (ja) 画像処理装置及び画像処理システム
US9984014B2 (en) Semiconductor device
JP2008276638A (ja) 半導体記憶装置、メモリアクセス制御システムおよびデータの読み出し方法
CN101243416A (zh) 在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机***中存储数据和/或指令的设备和方法
JP4388005B2 (ja) コンテキスト切替え装置
KR20060065462A (ko) 데이터 버퍼 회로, 인터페이스 회로 및 그 제어 방법
JP2008009591A (ja) キャッシュメモリシステム
WO2011099048A1 (ja) 伝送制御装置、メモリ制御装置、及び前記伝送制御装置を備えたplc
JP2007109199A (ja) バッファ装置、、バッファ装置の制御方法、情報処理装置
US8533368B2 (en) Buffering device and buffering method
JP3505728B2 (ja) 記憶制御装置
JP2010061620A (ja) Dma装置及びdma転送方法
JP2007047968A (ja) マルチプロセッサシステム
US4547848A (en) Access control processing system in computer system
US7240144B2 (en) Arbitration of data transfer requests
JP2006164070A5 (ja)
JP4327238B2 (ja) システムコントローラおよびキャッシュ制御方法
JP2005107873A (ja) 半導体集積回路
US20140136796A1 (en) Arithmetic processing device and method for controlling the same
JP2009199384A (ja) データ処理装置
JP4924970B2 (ja) データ処理システム
JP2004005710A (ja) 情報処置装置
US20100153610A1 (en) Bus arbiter and bus system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080627

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090512