(57)【要約】【課題】複数のイニシエータによってデータ転送を行なう際に、各イニシエータのウエイト状態の時間を低減して効率よくデータ転送を行なう数値制御装置を得ること。【解決手段】各Ｉ／Ｆ部１５〜１８、サウスブリッジマスタ１９およびサウスブリッジスレーブ２２を介して、イニシエータ装置であるＣＰＵおよびＤＭＡと、ターゲット装置であるメインメモリ、サブメモリ、光通信回路、サーボモータ制御回路、非常停止用センサ、手動ハンドル制御装置、Ｉ／Ｏユニット制御回路、および不揮発性メモリをリードバス１３およびライトバス１４に接続するとともに、ＣＰＵＩ／Ｆ部１５、サウスブリッジマスタ１９、およびサウスブリッジスレーブ２２とバッファメモリ２９とを、リードバス１３およびライトバス１４とは異なるバスで接続し、ＣＰＵとＤＭＡとのデータ転送はバッファメモリ２９を介して行なう。【選択図】        図２
2006338511.tif 000002
【特許請求の範囲】
【請求項１】
データ転送のイニシエータとして動作する複数のイニシエータ装置と、該複数のイニシエータ装置が転送するデータのターゲットとなる複数のターゲット装置とが、共有バスである第１のバスに接続される数値制御装置において、
前記複数のイニシエータ装置間を前記第１のバスとは異なる第２のバスで接続するバッファメモリ、
を備え、
前記イニシエータ装置間のデータ転送時には、データの転送元のイニシエータ装置は前記第２のバスを用いて前記バッファメモリに転送すべきデータを格納し、データの転送先となるイニシエータ装置は、前記第２のバスを用いて前記バッファメモリに格納されているデータを読み出し、前記イニシエータ装置と前記ターゲット装置とのデータ転送には前記第１のバスを用いること、
を特徴とする数値制御装置。
【請求項２】
前記バッファメモリには同時に２つのアクセスが可能なメモリを用い、２つのイニシエータ装置に接続され、
前記バッファメモリに接続される一方のイニシエータ装置は、他方のイニシエータ装置と非同期に前記バッファメモリにアクセスすること、
を特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記バッファメモリは２つ以上のバンクを有し、
前記イニシエータ装置は、
前記バッファメモリに転送すべきデータを格納した後、または前記バッファメモリからデータを読み出した後に、前記バッファメモリのバンクを切り替えること、
を特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記イニシエータ装置は、
前記バッファメモリに転送すべきデータを格納する場合、または前記バッファメモリからデータを読み出す場合、予め定められた順番に前記バンクを切り替えること、
を特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記複数のイニシエータ装置にはＣＰＵおよびダイレクト・メモリ・アクセス（ＤＭＡ）コントローラを用い、前記複数のターゲット装置には記憶装置および／または入出力装置を用い、前記第１のバスを用いたデータ転送時には、前記ＣＰＵおよび前記ＤＭＡコントローラはバスマスタとして動作し、前記記憶装置および前記入出力装置はバススレーブとして動作すること、
を特徴とする請求項１〜４の何れか一つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシニングセンタや旋盤等の工作機械に搭載される数値制御装置に関するものであり、特に、装置内部のデータ処理に関するものある。
【背景技術】
【０００２】
従来の数値制御装置は、一般的に、市販のコンピュータシステムのマザーボードに類似した構成となっていることが多い。具体的には、従来の数値制御装置は、ＣＰＵ、メインメモリ、サブメモリ、および光通信回路のアクセス制御を行なうノースブリッジと、ダイレクト・メモリ・アクセス（ＤＭＡ）コントローラ（以下、ＤＭＡとする）、駆動装置（サーボモータ制御回路や非常停止用センサ、手動ハンドル制御装置など）、Ｉ／Ｏユニット制御回路、および不揮発性メモリが接続されるサウスブリッジとを備え、ノースブリッジとサウスブリッジとは、単方向バスによって接続される。
【０００３】
ＣＰＵおよびＤＭＡはデータのイニシエータ装置として動作し、メインメモリ、サブメモリ、光通信回路、駆動装置、Ｉ／Ｏユニット制御回路、および不揮発性メモリがターゲット装置として動作する。したがって、ノースブリッジおよびサウスブリッジ内部では、それぞれＣＰＵおよびＤＭＡによるバストランザクションを調停する機能を有している。
【０００４】
ノースブリッジは、ＣＰＵインタフェース部、メインメモリインタフェース部、サブメモリインタフェース部、光通信回路インタフェース部、および、サウスブリッジインタフェース部（サウスブリッジマスタとサウスブリッジスレーブ）を備え、各インタフェース部は、共有バス（リードバスおよびライトバス）によって接続されている。
【０００５】
ＣＰＵインタフェース部は、ＣＰＵに接続され、ＣＰＵからのトランザクション（リード動作およびライト動作）のインタフェース機能を備えている。メインメモリインタフェース部は、メインメモリに接続され、メインメモリのインタフェース機能を備えている。サブメモリインタフェース部は、サブメモリに接続され、サブメモリのインタフェース機能を備えている。光通信回路インタフェース部は、光通信回路に接続され、光通信回路のインタフェース機能を備えており、数値制御装置が処理するデータの最終アウトプット先となる。
【０００６】
サウスブリッジマスタは、サウスブリッジと接続され、サウスブリッジとのトランザクションのうち、ＣＰＵからのリード動作、およびＤＭＡからのライト動作のインタフェース機能を備えている。サウスブリッジスレーブは、サウスブリッジと接続され、サウスブリッジとのトランザクションのうち、ＣＰＵからのライト動作、およびＤＭＡからのリード動作のインタフェース機能を備えている。
【０００７】
ＤＭＡは、サウスブリッジを介してサウス側ターゲット装置（駆動装置やＩ／Ｏユニット制御回路、不揮発性メモリ）から入力したデータをノースブリッジに転送するとともに、ノースブリッジからサウスブリッジを介して転送されるデータをサウス側ターゲット装置に振り分ける。
【０００８】
このように従来の数値制御装置では、サウス側ターゲット装置を入力としてＣＰＵがメインメモリやサブメモリにアクセスしながら所定の演算処理を行ない、演算処理の結果を光通信回路に出力する一連の動作をＣＰＵだけで実行するとＣＰＵの負荷が増加するので、ＤＭＡを設け、ＤＭＡがサウス側ターゲット装置のデータを転送するようにしている。
【０００９】
しかしながら、ノースブリッジ内のリードバスおよびライトバスに対してバストランザクションを発生させるイニシエータ装置がＣＰＵおよびＤＭＡの２つになるため、リードバスおよびライトバスそれぞれでイニシエータ装置同士の調停が行なわれ、一方のイニシエータ装置がリードバスを使用している間、他方のイニシエータ装置はリードバスを使用することができずにウエイト状態となり、一方のイニシエータ装置がライトバスを使用している間、他方のイニシエータ装置はライトバスを使用することができずにウエイト状態となるので、データ転送の効率が悪い問題があった。
【００１０】
複数のイニシエータ装置によってデータ転送を行う場合に発生するウエイト状態を改善するために、従来から種々の技術が考えられている。たとえば、特許文献１には、ＤＭＡ転送が行なわれている間も、ＤＭＡ転送で操作中のデータとは異なるデータをアクセス可能にする技術が開示されている。
【００１１】
具体的には、ＤＭＡ転送に用いるバッファメモリを設け、ＣＰＵ、Ｉ／Ｏ装置、およびメインメモリは共有バスに直接接続し、ＤＭＡバスセレクタを介してＤＭＡコントローラ（ＤＭＡ）を共有バスに接続し、メモリバスセレクタを介してバッファメモリを共有バスに接続するとともに、ＤＭＡバスセレクタおよびメモリバスセレクタを介してＤＭＡとバッファメモリとを接続する。すなわち、ＤＭＡとバッファメモリとは、共有バスとは異なるバスで接続する。これにより、ＤＭＡからバッファメモリにアクセス（データの書き込み／読み出し）時には、メモリバスセレクタおよびＤＭＡバスセレクタによって共有バスとは異なるバスを選択することで、ＤＭＡがデータを転送している間でも、共有バスを用いてＣＰＵがＩ／Ｏ装置またはメインメモリにアクセスすることができるようにしている。
【００１２】
【特許文献１】特開平５−１３４９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記特許文献１に記載の従来技術では、ＣＰＵがバッファメモリにアクセスする場合には共有バスを使用するので、ＣＰＵがバッファメモリにアクセスしている間ＤＭＡは共有バスを使用することができずにウエイト状態となってしまうという問題は改善されていない。そのため、従来の数値制御装置に、上記特許文献１に記載の従来技術を用いたとしても、データの転送効率を十分に上げることはできないという問題があった。
【００１４】
特に、数値制御装置においては、サウス側ターゲット装置を入力としてＣＰＵがメインメモリやサブメモリにアクセスしながら所定の演算処理を行ない、演算処理の結果を光通信回路に出力するまでの時間が、装置の性能を決定する重要なファクタとなるので、装置内のデータ転送の効率を上げることが必要となる。
【００１５】
本発明は、上記に鑑みてなされたものであって、複数のイニシエータによってデータ転送を行なう際に、各イニシエータのウエイト状態の時間を低減して効率よくデータ転送を行なう数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するために、本発明は、データ転送のイニシエータとして動作する複数のイニシエータ装置と、該複数のイニシエータ装置が転送するデータのターゲットとなる複数のターゲット装置とが、共有バスである第１のバスに接続される数値制御装置において、前記複数のイニシエータ装置間を前記第１のバスとは異なる第２のバスで接続するバッファメモリ、を備え、前記イニシエータ装置間のデータ転送時には、データの転送元のイニシエータ装置は前記第２のバスを用いて前記バッファメモリに転送すべきデータを格納し、データの転送先となるイニシエータ装置は、前記第２のバスを用いて前記バッファメモリに格納されているデータを読み出し、前記イニシエータ装置と前記ターゲット装置とのデータ転送には前記第１のバスを用いるように構成されたものである。
【発明の効果】
【００１７】
この発明によれば、共通バスである第１のバスによって、データ転送のイニシエータとして動作する複数のイニシエータ装置と、これら複数のイニシエータ装置が転送するデータのターゲットとなる複数のターゲット装置とを接続するとともに、複数のイニシエータとバッファメモリとを第１のバスとは異なる第２のバスで接続し、イニシエータ装置間のデータ転送時には、データの転送元のイニシエータ装置は、第２のバスを用いてバッファメモリに転送すべきデータを格納し、データの転送先となるイニシエータ装置は、第２のバスを用いてバッファメモリに格納されているデータを読み出すようにしているため、第１のバスへのアクセス競合（各イニシエータのウエイト状態の時間）を低減することができ、また、上記イニシエータ間のデータ転送において、上記第１のバスに接続されたターゲット装置を介さず上記バッファメモリを介して転送できるので、上記第１のバスへのアクセス競合が発生せず、効率よくデータ転送を行なう数値制御装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１９】
実施の形態１．
図１および図２を参照してこの発明の実施の形態１を説明する。図１は、この発明における数値制御装置の実施の形態１の構成を示すブロック図である。図１において、数値制御装置は、ＣＰＵ１、メインメモリ２、サブメモリ３、および光通信回路４のアクセス制御を行なうノースブリッジ５と、ダイナミック・メモリ・アクセス・コントローラ（以下、ＤＭＡとする）７、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、および不揮発性メモリ１２が接続されるサウスブリッジ６とを備え、ノースブリッジ５とサウスブリッジ６とは、単方向バス２７，２８によって接続される。
【００２０】
ＣＰＵ１およびＤＭＡ７はデータのイニシエータとして動作するイニシエータ装置であり、メインメモリ２、サブメモリ３、光通信回路４、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、および不揮発性メモリ１２がターゲットとして動作するターゲット装置である。また、光通信回路４、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、およびＩ／Ｏユニット制御回路１１が、特許請求の範囲でいうところの入出力装置であり、メインメモリ２、サブメモリ３、および不揮発性メモリ１２が、特許請求の範囲でいうところの記憶装置である。
【００２１】
図２は、図１に示したノースブリッジ５の構成を示すブロック図である。図２において、ノースブリッジ５は、ＣＰＵインタフェース部（以下、ＣＰＵＩ／Ｆ部とする）１５、メインメモリインタフェース部（以下、メインメモリＩ／Ｆ部とする）１６、サブメモリインタフェース部（以下、サブメモリＩ／Ｆ部とする）１７、光通信回路インタフェース部（以下、光通信回路Ｉ／Ｆ部とする）１８、サウスブリッジマスタ１９、サウスブリッジスレーブ２２、およびバッファメモリ２９を備え、各インタフェース部１５〜１８、サウスブリッジマスタ１９、およびサウスブリッジスレーブ２２は、リードバス１３およびライトバス１４によって接続されている。リードバス１３およびライトバス１４が特許請求の範囲でいうところの共有バスである第１のバスである。
【００２２】
ＣＰＵＩ／Ｆ部１５は、ＣＰＵ１からのトランザクション（リード動作およびライト動作）のインタフェース機能を備え、リードバス１３、ライトバス１４、およびバッファメモリ２９と、ＣＰＵ１とを接続する。
【００２３】
メインメモリＩ／Ｆ部１６は、メインメモリ２のインタフェース機能を備え、リードバス１３およびライトバス１４と、メインメモリ２とを接続する。サブメモリＩ／Ｆ部１７は、サブメモリ３のインタフェース機能を備え、リードバス１３およびライトバス１４と、サブメモリ３とを接続する。光通信回路Ｉ／Ｆ部１８は、光通信回路４のインタフェース機能を備えており、数値制御装置が処理するデータの最終アウトプット先となる。光通信回路Ｉ／Ｆ部１８は、リードバス１３およびライトバス１４と、光通信回路４とを接続する。
【００２４】
サウスブリッジマスタ１９は、単方向バス２８に接続され、サウスブリッジ６とのトランザクションのうち、ＣＰＵ１がサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２からデータを読み出すリード動作、およびＤＭＡ７がメインメモリ２、サブメモリ３、またはバッファメモリ２９にデータを書き込むライト動作のインタフェース機能を備えている。
【００２５】
サウスブリッジスレーブ２２は、単方向バス２７に接続され、サウスブリッジ６とのトランザクションのうち、ＣＰＵ１がサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２にデータを出力するライト動作、およびＤＭＡ７がメインメモリ２、サブメモリ３、またはバッファメモリ２９からデータを読み出すリード動作のインタフェース機能を備えている。
【００２６】
バッファメモリ２９は、ＣＰＵ１からのデータ、およびサウスブリッジマスタ１９を介してＤＭＡ７からのデータを保持する。
【００２７】
なお、図示していないがノースブリッジ５およびサウスブリッジ６は、ＣＰＵ１およびＤＭＡ７のバストランザクション（リード動作およびライト動作）を調停する機能を備えているものとする。また、サウスブリッジ６は、一般的な数値制御装置のサウスブリッジと同様であり、本発明にかかわる構成は備えていないため、ここではその詳細構成は省略する。
【００２８】
つぎに、この発明における数値制御装置の実施の形態１の動作を説明する。まず、ＤＭＡ７がＣＰＵ１に対するデータを転送するＤＭＡ７のライト動作について説明する。ＤＭＡ７は、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２のデータをサウスブリッジ６、単方向バス２８を介してサウスブリッジマスタ１９に出力する。サウスブリッジマスタ１９は、ＤＭＡ７からのデータをバッファメモリ２９に格納する。
【００２９】
データの転送が終了すると、ＤＭＡ７は、データの転送が終了したことを通知する転送終了通知をサウスブリッジ６、サウスブリッジマスタ１９を介してＣＰＵ１に出力する。転送終了通知を受けると、ＣＰＵ１は、サウスブリッジマスタ１９によってバッファメモリ２９に格納されたデータを読み出す。
【００３０】
サウスブリッジマスタ１９がバッファメモリ２９にデータを格納する単方向バス、およびＣＰＵ１がバッファメモリ２９からデータを読み出すバスは、リードバス１３およびライトバス１４とは異なるバスである。したがって、ＤＭＡ７がＣＰＵ１に対するデータを転送していても、リードバス１３およびライトバス１４は解放されているので、ＣＰＵ１はＣＰＵＩ／Ｆ部１５と、メインメモリＩ／Ｆ部１６、サブメモリＩ／Ｆ部１７、または光通信回路Ｉ／Ｆ部１８を介して、メインメモリ２、サブメモリ３、または光通信回路４にアクセス可能となる。
【００３１】
また、ＣＰＵ１がＣＰＵＩ／Ｆ部１５を介してバッファメモリ２９からデータを読み出していても、リードバス１３およびライトバス１４は解放されているので、ＤＭＡ７は、サウスブリッジ６、サウスブリッジマスタ１９、サウスブリッジスレーブ２２、メインメモリＩ／Ｆ部１６、サブメモリＩ／Ｆ部１７を介して、メインメモリ２、またはサブメモリ３にアクセス可能となる。
【００３２】
つぎに、ＣＰＵ１がサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２にデータを出力するライト動作について説明する。
【００３３】
ＣＰＵ１は、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２に対するデータをバッファメモリ２９に格納する。ＣＰＵ１は、バッファメモリ２９にデータを格納した後に、データを格納したことを通知する転送終了通知をサウスブリッジスレーブ２２、サウスブリッジ６を介してＤＭＡ７に出力する。
【００３４】
転送終了通知を受けるとＤＭＡ７は、サウスブリッジスレーブ２２、サウスブリッジ６を介して、バッファメモリ２９に格納されたデータを読み出す。具体的には、サウスブリッジスレーブ２２は、バッファメモリ２９から読み出したデータを単方向バス２７、サウスブリッジ６回路を介してＤＭＡ７に出力する。ＤＭＡ７は、データをサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２に出力する。
【００３５】
ＣＰＵ１がバッファメモリ２９にデータを格納するバス、およびサウスブリッジスレーブ２２がバッファメモリ２９からデータを読み出す単方向バスは、リードバス１３およびライトバス１４とは異なるバスである。したがって、ＣＰＵ１がバッファメモリ２９にデータを転送していても、リードバス１３およびライトバス１４は解放されているので、ＤＭＡ７はサウスブリッジ６、サウスブリッジマスタ１９、サウスブリッジスレーブ２２を介してメインメモリ２、またはサブメモリ３にアクセス可能となる。
【００３６】
また、ＤＭＡ７がバッファメモリ２９からデータを読み出していても、リードバス１３およびライトバス１４は解放されているので、ＣＰＵ１は、サウスブリッジマスタ１９、サウスブリッジスレーブ２２、サウスブリッジ６を介してサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２にアクセス可能となる。
【００３７】
このように、この実施の形態１では、共通バスである第１のバス（リードバス１３およびライトバス１４）によって、データ転送のイニシエータとして動作するＣＰＵ１およびＤＭＡ７と、ＣＰＵ１およびＤＭＡ７が転送するデータのターゲットとなるメインメモリ２、サブメモリ３、光通信回路４、サーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、および不揮発性メモリ１２を、各インタフェース部を介して接続するとともに、ＣＰＵ１、バッファメモリ２９、およびＤＭＡ７をリードバス１３およびライトバス１４とは異なるバスで接続し、ＣＰＵ１とＤＭＡ７とのデータ転送時には、データの転送元のＣＰＵ１またはＤＭＡ７は、リードバス１３およびライトバス１４とは異なるバスを用いてバッファメモリ２９に転送すべきデータを格納し、データの転送先となるＤＭＡ７またはＣＰＵ１は、リードバス１３およびライトバス１４とは異なるバスを用いてバッファメモリ２９に格納されているデータを読み出すようにしているため、リードバス１３およびライトバス１４へのアクセス競合（ＣＰＵ１およびＤＭＡ７のウエイト状態の時間）を低減することができ、効率よくデータ転送を行なうことができる。
【００３８】
また、リードバス１３およびライトバス１４へのアクセス競合（ＣＰＵ１およびＤＭＡ７のウエイト状態の時間）を低減することにより、ノースブリッジ５およびサウスブリッジ６によるリードバス１３およびライトバス１４におけるバス権交代に伴う時間的ロスを低減し、さらにデータ転送を効率よく行なうことができるという効果を奏する。
【００３９】
なお、この実施の形態１ではＣＰＵ１およびＤＭＡ７の２つのイニシエータ装置を備える場合を例に挙げて説明したが、イニシエータ装置は２つに限るものではなく、イニシエータ装置間にリードバス１３およびライトバス１４とは異なるバスによって接続するバッファメモリを備えるようにすれば、イニシエータ装置は３つ以上でもかまわない。
【００４０】
実施の形態２．
図３を用いてこの発明の実施の形態２を説明する。この発明にかかる実施の形態２の数値制御装置は、先の図１に示した実施の形態１の数値制御装置のノースブリッジ５の代わりに、ノースブリッジ５ａを備えている。
【００４１】
図３は、この実施の形態２の数値制御装置が有するノースブリッジ５ａの構成を示すブロック図である。図３に示したノースブリッジ５ａは、先の図２に示した実施の形態１のノースブリッジ５のバッファメモリ２９の代わりに、バッファメモリ２９ａを備え、バッファメモリ２９ａとＣＰＵ１とが、ＣＰＵ１がバッファメモリ２９にデータを格納する単方向バスと、ＣＰＵ１がバッファメモリ２９からデータを読み出す単方向バスとで接続されている。
【００４２】
バッファメモリ２９ａは、たとえば、Ｄｕａｌ−ｐｏｒｔ  ＲＡＭなどで構成され、ＣＰＵ１とサウスブリッジマスタ１９、またはＣＰＵ１とサウスブリッジスレーブ２２でアクセス可能となっている。バッファメモリ２９ａが非同期に２つのアクセスが可能な構成であるので、ＣＰＵ１およびＤＭＡ７がバッファメモリ２９ａに転送すべきデータの格納が終了したことを通知する必要は無い。
【００４３】
このようにこの実施の形態２では、バッファメモリ２９ａとしてＤｕａｌ−ｐｏｒｔ  ＲＡＭなど同時に２つのアクセスが可能なメモリを用いてＣＰＵ１およびＤＭＡ７とが非同期にバッファメモリ２９ａにアクセスすることができるようにしているため、バッファメモリ２９ａへのデータの格納、またはバッファメモリ２９ａからのデータの読み出し時に、一方が他方に対しする動作を時間的に拘束することが無くなり、効率よくデータ転送を行なうことができる。
【００４４】
実施の形態３．
図４および図５を用いてこの発明の実施の形態３を説明する。この発明における数値制御装置の実施の形態３の構成は、先の図１に示した実施の形態１の数値制御装置のノースブリッジ５の代わりに、ノースブリッジ５ｂを備えている。
【００４５】
図４は、この発明における実施の形態３の数値制御装置が有するノースブリッジ５ｂの構成を示すブロック図である。図４に示したノースブリッジ５ｂは、先の図３に示した実施の形態２のノースブリッジ５ａのバッファメモリ２９ａの代わりに、バンク２９１，２９２を有するバッファメモリ２９ｂを備え、ＣＰＵ１またはＤＭＡ７からの指示によってバンク２９１とバンク２９２との切り替え制御を行なうバンク切替回路３２が追加されている。
【００４６】
図５を参照して、この実施の形態３の数値制御装置の動作を説明する。なお、この実施の形態３の数値制御装置の動作は、先の実施の形態１の数値制御装置の動作と同じであり、相違点は、バッファメモリ２９ｂへのデータの格納、およびデータの読み出し動作だけであるので、ここでは、バッファメモリ２９ｂへのデータの格納、およびデータの読み出し動作のみを説明する。
【００４７】
ＤＭＡ７が、ライト動作によってサウスブリッジ６、サウスブリッジマスタ１９を介してＣＰＵ１へのデータをバンク２９２に格納している。データの転送が終了すると、ＤＭＡ７は、サウスブリッジ６、サウスブリッジマスタ１９を介してデータの転送が終了したことを通知する転送終了通知をＣＰＵ１とバンク切替回路３２とに出力する。
【００４８】
一方、ＣＰＵ１も、ライト動作によってサーボモータ制御回路８、非常停止用センサ９、手動ハンドル制御装置１０、Ｉ／Ｏユニット制御回路１１、または不揮発性メモリ１２へのデータをバンク２９１に格納している。データの転送が終了すると、ＣＰＵ１は、データの転送が終了したことを通知する転送終了通知をＤＭＡ７とバンク切替回路３２とに出力する。
【００４９】
転送終了通知を受けると、バンク切替回路３２は、バンク２９１とバンク２９２とを切り替える。すなわち、サウスブリッジマスタ１９およびサウスブリッジスレーブ２２と接続しているバンク２９２をＣＰＵ１に接続し、ＣＰＵ１に接続しているバンク２９１をサウスブリッジマスタ１９およびサウスブリッジスレーブ２２に接続する。
【００５０】
ＣＰＵ１はバンク２９２にＤＭＡ７が転送したデータをリード動作によって読み出し、ＤＭＡ７はバンク２９１にＣＰＵ１が転送したデータをリード動作によって読み出す。
【００５１】
このようにこの実施の形態３では、バッファメモリ２９ｂがバンク２９１，バンク２９２を有する構成としているので、ＣＰＵ１とＤＭＡ７とが同時にバッファメモリ２９ｂにアクセスすることができ、バッファメモリ２９ｂのアクセスに対してもウエイト状態が発生しなくなり、効率よくデータ転送を行なうことができる。
【００５２】
なお、この実施の形態３では、ＣＰＵ１およびＤＭＡ７が、バンク２９１およびバンク２９２にデータを格納し、バンク２９１，バンク２９２を切り替えた後にデータを読み出す場合を例に挙げて説明したが、一方がバンク２９１にデータを格納している際に、他方がバンク２９２からデータを読み出す動作も可能であることはいうまでもない。
【００５３】
また、この実施の形態３では、ＤＭＡ７がバンク２９２にデータを格納した後に転送終了通知をバンク切替回路３２に出力し、転送終了通知を受けてバンク切替回路３２がバンク２９１とバンク２９２とを切り替えるようにしたが、バンク２９１とバンク２９２との切り替えタイミングはこれに限るものではく、たとえば、ＣＰＵ１またはＤＭＡ７がバンク２９１またはバンク２９２からデータを読み出した後であってもかまわない。さらに、ＣＰＵ１またはＤＭＡ７の一方がバンク２９１，２９２の切り替えタイミングをバンク切替回路３２に通知してもよいし、ＣＰＵ１とＤＭＡ７とがともに切り替えタイミングをバンク切替回路３２に通知するようにしてもかまわない。
【００５４】
実施の形態４．
図６および図７を参照してこの発明の実施の形態４を説明する。この実施の形態４の数値制御装置は、先の実施の形態３とほぼ同じである。実施の形態３との相違点は、先の図４に示したバッファメモリ２９ｂの構成である。実施の形態３のバッファメモリ２９ｂは、２つのバンクで構成されていたが、この実施の形態４のバッファメモリ２９ｂは、図６に示すように、バンク２９３〜２９５の３つのバンクと、バンク２９３〜２９５の出力を選択するセレクタ３３（図中ではＳＥＬ）とで構成される。
【００５５】
つぎに、図７を参照してこの実施の形態４の数値制御装置の動作を説明する。なお、この実施の形態４の数値制御装置の動作は、先の実施の形態１の数値制御装置の動作と同じであり、相違点はバッファメモリ２９ｂへのデータの格納、およびデータの読み出しだけであるので、ここでは、バッファメモリ２９ｂへのデータの格納、およびデータの読み出し動作のみを説明する。
【００５６】
ＤＭＡ７は、バンク２９３，バンク２９４、バンク２９５、バンク２９３、・・・、の順にバンク２９３〜２９５を切り替えながら、データをバッファメモリ２９ｂに格納する。
【００５７】
一方、ＣＰＵ１は、ＤＭＡ７からの通知をトリガとしてバッファメモリ２９ｂからのリード動作を開始する。トリガとなる通知は、バッファメモリ２９ｂへのデータ転送開始であってもよいし、予め定められたデータ量をバッファメモリ２９ｂに転送した時であってもよいし、データ転送を開始して最初にバンクを切り替えたときであってもよい。ただし、データ転送開始時に通知する場合には、ＣＰＵ１は、通知を受けてから一定量のデータがバッファメモリ２９ｂに格納される時間をおいてリード動作を開始するようにする。
【００５８】
ＣＰＵ１は、バッファメモリ２９ｂのバンク２９３、バンク２９４、バンク２９５、バンク２９３、・・・、の順に出力するデータのバンク２９３〜２９５を選択するようにセレクタ３３を切り替えながらバッファメモリ２９ｂに格納されているデータを読み出す。
【００５９】
図７では、時刻ｔ１において、ＤＭＡ７がバンク２９４へのデータの転送を開始し、ＣＰＵ１がバンク２９５のデータの読み出しを開始する。時刻ｔ２において、ＣＰＵ１はバンク２９３の出力を選択するようにセレクタ３３を制御して、バンク２９３に格納されているデータの読み出しを開始する。このとき、ＤＭＡ７はバンク２９４へのデータの格納を継続している。
【００６０】
時刻ｔ３において、ＤＭＡ７はバンク２９４からバンク２９５に切り替えて、バンク２９５へのデータの転送を開始する。また、ＣＰＵ１は、バンク２９４の出力を選択するようにセレクタ３３を制御して、バンク２９４に格納されているデータの読み出しを開始する。
【００６１】
時刻ｔ４において、ＤＭＡ７はバンク２９５からバンク２９３に切り替えて、バンク２９３へのデータの転送を開始する。また、ＣＰＵ１は、バンク２９５の出力を選択するようにセレクタ３３を制御して、バンク２９５に格納されているデータの読み出しを開始する。
【００６２】
時刻ｔ５において、ＤＭＡ７はバンク２９３からバンク２９４に切り替えて、バンク２９４へのデータの転送を開始する。このとき、ＣＰＵ１はバンク２９５に格納されているデータの読み出しを継続している。
【００６３】
時刻ｔ６において、ＣＰＵ１はバンク２９３の出力を選択するようにセレクタ３３を制御して、バンク２９３に格納されているデータの読み出しを開始する。このとき、ＤＭＡ７はバンク２９４へのデータの格納を継続している。
【００６４】
時刻ｔ７において、ＤＭＡ７はバンク２９４からバンク２９５に切り替えて、バンク２９５へのデータの転送を開始する。このとき、ＣＰＵ１はバンク２９３に格納されているデータの読み出しを継続している。
【００６５】
時刻ｔ８において、ＤＭＡ７はバンク２９５からバンク２９３に切り替えて、バンク２９３へのデータの転送を開始する。また、ＣＰＵ１は、バンク２９５の出力を選択するようにセレクタ３３を制御して、バンク２９４に格納されているデータの読み出しを開始する。
【００６６】
ＣＰＵ１がバッファメモリ２９ｂのバンク２９３〜２９５にデータを格納し、ＤＭＡ７がバンク２９３〜バンク２９５からデータを読み出す場合の動作も同様であるので、ここではその説明を省略する。
【００６７】
このようにこの実施の形態４では、バッファメモリ２９ｂをバンク２９３〜２９５で構成し、ＣＰＵ１およびＤＭＡ７は、バッファメモリ２９ｂに転送すべきデータを格納する場合、またはバッファメモリ２９ｂからデータを読み出す場合、予め定められた順番にバンク２９３〜２９５を切り替えるようにして、バッファメモリ２９ｂをパイプライン的に用いるようにしているため、ＣＰＵ１およびＤＭＡ７のリード／ライトレーテンシーに多少の変動があった場合でも、全体のスループットが同じであれば、ＣＰＵ１およびＤＭＡ７にウエイトが発生することが無くなり、効率よくデータ転送を行なうことができる。
【産業上の利用可能性】
【００６８】
以上のように、本発明にかかる数値制御装置は、マシニングセンタや旋盤等の工作機械に有用であり、特に、装置内のデータ転送のスループットが装置の性能の重要なファクタとなる数値制御装置に適している。
【図面の簡単な説明】
【００６９】
【図１】この発明における実施の形態１の数値制御装置の構成を示すブロック図である。
【図２】図１に示したノースブリッジの構成を示すブロック図である。
【図３】この発明における実施の形態２の数値制御装置が有するノースブリッジの構成を示すブロック図である。
【図４】この発明における実施の形態３の数値制御装置が有するノースブリッジの構成を示すブロック図である。
【図５】この発明における実施の形態３の数値制御装置の動作を説明するための図である。
【図６】この発明における実施の形態４の数値制御装置が有するノースブリッジで用いるバッファメモリの構成を示すブロック図である。
【図７】この発明における実施の形態４の数値制御装置の動作を説明するための図である。
【符号の説明】
【００７０】
１  ＣＰＵ
２  メインメモリ
３  サブメモリ
４  光通信回路
５，５ａ，５ｂ  ノースブリッジ
６  サウスブリッジ
７  ＤＭＡ
８  サーボモータ制御回路
９  非常停止用センサ
１０  手動ハンドル制御装置
１１  Ｉ／Ｏユニット制御回路
１２  不揮発性メモリ
１３  リードバス
１４  ライトバス
１５  ＣＰＵＩ／Ｆ部
１６  メインメモリＩ／Ｆ部
１７  サブメモリＩ／Ｆ部
１８  光通信回路Ｉ／Ｆ部
１９  サウスブリッジマスタ
２２  サウスブリッジスレーブ
２９，２９ａ，２９ｂ  バッファメモリ
３２  バンク切替回路
２９１，２９２，２９３，２９４，２９５  バンク
【図１】
2006338511.tif 000003
【図２】
2006338511.tif 000004
【図３】
2006338511.tif 000005
【図４】
2006338511.tif 000006
【図５】
2006338511.tif 000007
【図６】
2006338511.tif 000008
【図７】
2006338511.tif 000009