(57)【特許請求の範囲】
【請求項１】
メモリ・システムに記憶されたプログラムに従って前記メモリ・システムへとアクセスが可能で、かつ外部から前記メモリ・システムへとアクセスが可能なプロセッサであって、
前記メモリ・システム及び外部とのデータ転送のためのメモリ・インターフェースと、
第１クロックを生成する第１クロック生成手段と、
前記第１クロック及び外部からの前記メモリ・システムへのアクセスに応じて第２クロックを生成及び停止する第２クロック生成手段と、
前記プログラム及び前記外部からのメモリ・アクセスを調停するアクセス調停手段と、
前記第１クロックで駆動され、前記外部からのメモリ・アクセスに応じて前記メモリ・システムの出力を取り込む第１記憶手段と、
前記外部からのメモリ・アクセスが生じたときに前記アクセス調停手段の制御に応じて停止する前記第２クロックで駆動され、前記メモリ・システムの出力を取り込む第２記憶手段
とを有し、
外部からのメモリ・アクセスが無いときは前記第２記憶手段の出力を読み出しデータとし、外部からのメモリ・アクセスがあったときは前記第１記憶手段の出力を前記プログラムによる読み出しデータとすると共に前記第２記憶手段の出力を前記外部からのアクセスによる読み出しデータとすることを特徴とするプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリを有するプロセッサに関し、より具体的には、外部から直接、当該メモリにアクセス可能なプロセッサに関する。
【０００２】
【従来の技術】
演算器、メモリ及び外部Ｉ／Ｏを有するプロセッサにおいて、プロセッサのメモリへプロセッサ外からアクセスするには、プロセッサとデータの同期をとる必要がある。即ち、プロセッサのメモリ・アクセスと、プロセッサ外部からのメモリ・アクセスの衝突を回避する必要があるからであり、データの正常な授受が保証される。データの同期をとる手段としては、ポーリング及び割り込み処理がある。
【０００３】
【発明が解決しようとする課題】
ポーリングでは、プロセッサまたはプロセッサ外部のアクセス手段が、アクセスしようとするメモリの状態を表す信号等を一定間隔でモニタし、アクセスして良いかどうかを判断する。ポーリングでは、プロセッサの処理時間がポーリングによって費やされ、短くなるという欠点がある。
【０００４】
割り込み処理は、プロセッサまたはプロセッサ外部に対し、データのアクセスが可能になったことを割り込み信号によって通知し、割り込み処理ルーチンでデータの授受を行うものである。割り込み処理によって、プロセッサは、外部Ｉ／Ｏのデータアクセスを待っている間も他の処理を行うことが可能である。割り込み処理では、割り込み処理から復帰する際、プロセッサのマシーン状態を割り込み処理前の状態に復元する必要があり、そのために、割り込み発生時のマシーン状態の保存及び割り込み処理からの復帰時のマシーン状態の復帰というオーバーヘッドを生じる。これを回避するために、ダイレクト・メモリ・アクセス（ＤＭＡ）のハードウエアを装備し、プロセッサが介在しなくてもデータ転送を可能としているものもある。
【０００５】
本発明は、ポーリング及び割り込み処理による外部からのプロセッサ内のメモリへのアクセスの実現に伴うプロセッサ処理時間（処理サイクル）を減少したプロセッサを提示することを目的とする。
【０００６】
本発明はまた、小さな付加ハードウエアで外部からのメモリ・アクセスを可能にするプロセッサを提示することを目的とする。
【０００７】
【課題を解決するための手段】
本発明に係るプロセッサは、メモリ・システムに記憶されたプログラムに従って前記メモリ・システムへとアクセスが可能で、かつ外部から前記メモリ・システムへとアクセスが可能なプロセッサであって、前記メモリ・システム及び外部とのデータ転送のためのメモリ・インターフェースと、第１クロックを生成する第１クロック生成手段と、前記第１クロック及び外部からの前記メモリ・システムへのアクセスに応じて第２クロックを生成及び停止する第２クロック生成手段と、前記プログラム及び前記外部からのメモリ・アクセスを調停するアクセス調停手段と、前記第１クロックで駆動され、前記外部からのメモリ・アクセスに応じて前記メモリ・システムの出力を取り込む第１記憶手段と、前記外部からのメモリ・アクセスが生じたときに前記アクセス調停手段の制御に応じて停止する前記第２クロックで駆動され、前記メモリ・システムの出力を取り込む第２記憶手段とを有し、外部からのメモリ・アクセスが無いときは前記第２記憶手段の出力を読み出しデータとし、外部からのメモリ・アクセスがあったときは前記第１記憶手段の出力を前記プログラムによる読み出しデータとすると共に前記第２記憶手段の出力を前記外部からのアクセスによる読み出しデータとすることを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【０００９】
図１は、本発明の一実施例の概略構成ブロック図を示す。１０は、各種演算のソースとデスティネーションを一時記憶するレジスタ・ファイル（ＲＧＦ）、１２は、プログラム・カウンタ、１４は演算器（ＡＬＵ）、１６はデータ及びインストラクションを記憶するメモリ・システム（ＭＥＭ）である。メモリ・システム１６は、ＲＯＭ、ＲＡＭ及び／又は磁気ディスクと外部Ｉ／Ｏ等とからなり、キャッシュ及び仮想記憶等の手法で階層化されて構成されることもある。１８はメモリ・インターフェース、２０はシーケンサ、２２はシステムクロック生成回路、２４はメモリアクセス調停回路、２６はマスタクロック生成回路である。
【００１０】
メモリ・インターフェース１８は、内部に、バッファレジスタ、サブバッファレジスタ及び選択器を具備する。
【００１１】
図１に示すプロセッサの基本動作を説明する。プログラム・カウンタ１２から出力されたプログラム・アドレスに記憶されている命令が、メモリ・システム１６から読み出され、シーケンサ２０に供給される。シーケンサ２０は、メモリ・システム１６から読み出された命令をデコードし、必要な制御信号を生成する。命令には、ロード／ストア、演算及び分岐命令等がある。
【００１２】
演算命令では、例えば、レジスタ・ファイル１０からデータを読み出して演算器１４に供給し、演算器１４から出力される演算結果をレジスタ・ファイル１０へ書き戻す。ロード／ストア命令では、命令及びレジスタ値で生成されたアドレスのメモリとレジスタとの間で、メモリ・インターフェース１８を介してデータを授受する。分岐命令では、分岐先の命令のアドレスに対応するプログラム・カウンタ値をプログラム・カウンタ１２にセットして、プログラムの流れを分岐させる。
【００１３】
本実施例のプロセッサでは、これらの処理がパイプライン処理で実行される。即ち、一つの命令の実行を複数のステージに分割して各ステージを順次実行するが、時系列で隣接する命令の実行をオーバーラップさせ、高い周波数のクロック信号により各ステージを１クロックで実行する。これにより、等価的に１命令を１クロック未満で実行する高いスループットを実現する。このようなパイプライン処理は周知である。
【００１４】
ロード／ストア命令のパイプライン動作を説明する。本実施例のメモリ・システム１６は、同期型であり、クロック入力を有し、アドレス・データ制御入力がクロック信号の立ち上がり（及び立ち下がり）でメモリに取り込まれ、データが書き込み又は読み出されるようになっている。
【００１５】
命令取り込み（ＩＦ）ステージでは、プログラム・カウンタ１２から出力されたアドレスの命令が出力される。命令デコード（ＩＤ）ステージでは、命令がデコードされる。命令実行（ＥＸ）ステージでは、ロード・ストア命令の場合に、アクセスするメモリアドレスを生成し、ストア命令の場合に、ストアデータをメモリへ供給する。メモリ・アクセス（ＭＥ）ステージでは、ロード命令の場合に、ロード・データをメモリから読み出し、バッファレジスタに書き込む。書き戻し（ＷＢ）ステージでは、ロード命令の場合に、バッファ・レジスタのロード・データをレジスタファイル１０へ書き戻す。
【００１６】
このような各ステージが１クロック毎に順次実行されて、ロード／ストア命令が実行される。
【００１７】
次に、パイプライン・プロセッサでのＤＭＡ動作を説明する。図２は、本実施例のプロセッサ自身のメモリ・アクセスと、プロセッサ外部からのメモリ・アクセスの調停の様子を示す。
【００１８】
システム・クロック生成回路２２は、メモリ・アクセス調停回路２４からのクロック停止信号ＨＬＤと、マスタ・クロック生成回路２６から供給されるマスタ・クロックＭＣＫとから、システム・クロックＳＣＫを生成する。本実施例のプロセッサが命令実行中に、プロセッサ外部からのアクセスのための信号群、即ち、アドレス入力ＡＤＲ＿Ｉ、データ入力ＤＡＴ＿Ｉ、データ出力ＤＡＴ＿Ｏ、読み出し書き込み制御入力ＲＸＷを介して、メモリ・アクセス要求があったとき、メモリ・アクセス調停回路２４は、システム・クロック生成回路２２にクロック停止信号ＨＬＤを供給する。メモリ・アクセス調停回路２４からクロック停止信号ＨＬＤを供給されたシステム・クロック生成回路２２は、システム・クロックＳＣＫの生成を停止する。
【００１９】
メモリ・アクセス調停回路２４は、クロック停止信号ＨＬＤをシステム・クロック生成回路２２に供給すると同時に、メモリ・インタフェース１８にアドレス制御信号切り換え信号ＳＷを供給する。但し、メモリ・アクセス調停回路２４は、アドレス制御信号切換え信号ＳＷを供給するのに先立ち、アクセスするアドレスＡＤＲ＿Ｉ、制御信号ＲＸＷ及び書き込みの場合にはデータＤＡＴ＿Ｉをメモリ・インタフェース１８に供給する。
【００２０】
メモリ・アクセス調停回路２４、メモリ・システム１６及びシステム・クロック生成回路２２には、マスタ・クロック生成回路２６からマスタ・クロックＭＣＫが供給されており、システム・クロックＳＣＫが停止している間にも、メモリ・システム１６へのアクセスが可能になっている。これにより、プロセッサが動作を停止しているクロックサイクルに外部からメモリ・アクセスを行い、データの読み出し及び書き込みが実行される。
【００２１】
システム・クロックＳＣＫが停止するサイクルがロード命令のメモリ・アクセス・ステージであったとき、本来、メモリから読み出されたデータＭＩＦ：ＭＩ−Ｌｏａｄ  ｄａｔｅとなる部分では、システム・クロックで駆動されるバッファレジスタには書き込みクロックが供給されず、マスタ・クロックＭＣＫの２サイクル分となったＭＥステージの前半に外部からのアドレスＭＩＦ：ＤＡ−ＤＭＡ  ＡＤＲが挿入され、その後、供給されたシステム・クロックＳＣＫにより外部からアクセス要求があったアドレスのデータＭＩＦ：ＭＩ  ＤＭＡ  ｄａｔｅがバッファレジスタに記憶されてしまう。そこで、メモリ・インタフェース１８にはシステム・クロックＳＣＫの他にマスタ・クロックＭＣＫも供給され、メモリ・インターフェース１８は、メモリ・システム１６からのデータを、前記アドレス切り替え信号ＳＷに応じて、マスタ・クロックＭＣＫにより駆動されメモリ出力を取り込むサブバッファレジスタ、及び前記アドレス・制御信号・データ切り替え信号を１マスタクロック遅延するためのレジスタを具備し、前記切り替え信号ＳＷの遅延出力によりレジスタ・ファイル１０への出力データＭＩＦ：ＤＯを、バッファ・レジスタからサブバッファレジスタに切り替えるようになっている。これによって、上記ステージと外部からのメモリ・アクセスが競合したときでも、プロセッサは正常なロード命令を実行することが出来る。
【００２２】
図３は、図１に示すプロセッサをコントローラとして使用したディジタル映像記録再生装置の概略構成ブロック図を示す。１１０は、変換・逆変換、圧縮・伸長、誤り検出訂正符号化・復号化及び変調・復調の各処理を実行する演算処理装置、１１２は、演算処理装置１１０により処理された映像・音声情報を不図示の磁気記録系へ変換する電磁変換系、１１４は、演算処理装置１１０における処理のために映像音声情報を記憶するメモリ、１１６は他の構成要素を制御する制御回路である。
【００２３】
１２０は、比較的低速のデータを転送するデータ・インターフェース、１２２は、主に演算処理装置１１０とメモリ１１４の間で高速にデータを転送するデータ・インターフェースである。
【００２４】
１２８は映像入力端子、１３０は映像出力端子であり、共に演算処理装置１１０に接続する。１３２は音声入力端子、１３４は音声出力端子であり、ともにデータ・インターフェース１２０に接続する。１３６は図示しない記憶媒体制御系等を接続する外部入出力端子であり、データ・インターフェース１２４に接続する。
【００２５】
映像入力端子１２８に入力するディジタル映像信号データは、演算処理装置１１０に印加される。演算処理装置１１０は、高速データ・インターフェース１２２を介して接続するメモリ１１４を使用して、映像入力端子１２８からのディジタル映像信号データに、シャッフリング、ＤＣＴなどのデータ変換、ハフマン符号化等の圧縮処理及びリードソロモン符号化等の誤り検出訂正符号化を施す。
【００２６】
また、音声入力端子１３２に入力する音声データは、データ・インターフェース１２０に印加される。データ・インターフェース１２０は制御回路１１６の記憶空間の一部にマッピングされており、音声入力端子１３２からの音声データは、制御回路１１６がデータ取り込み命令をその記憶空間に対して実行することにより、制御回路１１６に取り込まれる。制御回路１１６は、入力した音声データにフェード処理等を施した後、処理後の音声データをデータ・インターフェース１２０の、データ・インターフェース１２２によりアクセス可能な箇所にストアする。
【００２７】
その後、音声データはデータ・インターフェース１２０からデータ・インターフェース１２２に転送され、メモリ１１４に書き込まれる。メモリ１１４への書き込みの際、時系列的に隣接する音声データは、メモリ１１４のメモリ空間上、異なった場所に書き込まれ、これにより、シャッフリングされる。メモリ１１４にシャッフリングされて書き込まれた音声データは、読み出され、演算処理装置１１０により誤り検出訂正符号化される。
【００２８】
演算処理装置１１０は、このように誤り検出訂正符号化された映像データ及び音声データにビタビ符号等の変調処理を施し、電磁変換系１１２を介して図示しない記録再生系に供給する。このようにして、記録再生系で映像と音声が記録される。
【００２９】
図示しない記録再生系に記録された信号は、再生時には、電磁変換系１１２を介して演算処理装置１１０に供給される。演算処理装置１１０は、電磁変換系１１２からの再生信号を復調処理し、その後、映像情報については、誤り検出訂正処理、伸長処理、データ逆変換処理及び補間処理等を施して、映像出力端子１３０に出力し、音声情報については、誤り検出訂正処理し、データ・インターフェース１２２を介してデータ・インターフェース１２０に供給する。データ・インターフェース１２０に供給された音声データは、制御回路１１６が該当する記憶空間へのロード命令を発行することで、制御回路１１６に取り込まれる。この際、記録時のシャッフリングを戻すデシャッフリングが行なわれる。デシャッフリングにより時系列的にも復元された音声データは、補間処理及びフェード処理等を施され、データ・インターフェース１２０の音声出力記憶空間にストアされ、音声出力端子１３４からから出力される。
【００３０】
制御回路１１６は、外部から制御回路１１６のメモリデータにアクセスするための信号群、即ち、アドレス入力ＡＤＲ＿Ｉ、データ入力ＤＡＴ＿Ｉ、データ出力ＤＡＴ＿Ｏ及び読み出し書き込み制御入力ＲＸＷを有する。
【００３１】
【発明の効果】
以上の説明から容易に理解できるように、本発明によれば、小さなハードウエアを付加するだけで、プロセッサ処理性能の低減を小さく抑えて、外部からのメモリ・アクセスを可能にすることができた。
【図面の簡単な説明】
【図１】  本発明の一実施例の概略構成ブロック図である。
【図２】  本実施例の動作タイミング図である。
【図３】  本実施例のプロセッサを使用したディジタル記録再生装置の概略構成ブロック図である。
【符号の説明】
１０：レジスタ・ファイル
１２：プログラム・カウンタ
１４：演算器
１６：メモリ・システム
１８：メモリ・インターフェース
２０：シーケンサ
２２：システム・クロック生成回路
２４：メモリ・アクセス調停回路
２６：マスタ・クロック生成回路
１１０：演算処理装置
１１２：電磁変換系
１１４：メモリ
１１６：制御回路
１２０：データ・インターフェース
１２２：データ・インターフェース
１２８：映像入力端子
１３０：映像出力端子
１３２：音声入力端子
１３４：音声出力端子
【図１】
0003996982.tif 000002
【図２】
0003996982.tif 000003
【図３】
0003996982.tif 000004