(57)【要約】データ処理回路機器に関する、コンピュータ支援による設計、試験および／または開発環境の機能を向上させるために、この回路機器の命令を、そのバイナリ表現とともに、機械読取り可能な形でデータベースに保存し、その際所定のバイナリ表現（命令コード）の命令への割当てを、変更可能な形で定めるものである。この方法により、特定のソフトウェア・アプリケーションを実行するのに特化・最適化された処理装置を開発することができる。更に、この発明は、この方法に対応して構成された、コンピュータ支援による設計、試験および／または回路開発環境に関する。
2005517246.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのデータ処理回路機器用の、特に少なくとも一つのデジタル信号処理装置（ＤＳＰ）用の設計、試験および／または開発環境の提供方法であって、その際回路機器の命令とそれらのバイナリ表現が、特にデータベースに、機械読取り可能な形で保存されているとともに、これらの保存された情報が、コンピュータ支援による設計、試験および開発プロセスの際に、自動的に照会される方法において、所定のバイナリ表現（命令コード）の命令への割当てを、変更可能な形で定めていることを特徴とする方法。
【請求項２】
当該の命令とそれらのバイナリ表現は、一つの命令に対して、それぞれ一つの特定の回路機器に割当てられているバイナリ表現を複数保存する形で、データベース（１）に保存されていることを特徴とする請求項１に記載の方法。
【請求項３】
データベース（１）には、完全な命令データセットが保存されており、この命令データセットに関して、それぞれ一つの特定の回路機器に割当てられているバイナリ表現（命令コード）が複数保存されていることを特徴とする請求項１または２に記載の方法。
【請求項４】
少なくとも一つの命令コードが、当該の回路機器によって実行されるプログラムにおけるコマンドとその引数に対応して、コンピュータ支援により決定されることを特徴とする請求項１から３までのいずれか一つに記載の方法。
【請求項５】
同じコマンドを持つ命令に関して、その少なくとも一つの引数に対応して、異なるビット幅の命令コードがデータベースに保存されていることを特徴とする請求項１から４までのいずれか一つに記載の方法。
【請求項６】
異なるコマンドを持つ命令に関して、異なるビット幅を持つ命令コードがデータベースに保存されていることを特徴とする請求項１から５までのいずれか一つに記載の方法。
【請求項７】
所定の一つのバイナリ表現に割当てられた少なくとも一つの命令を探して、当該のデータベースを検索することを特徴とする請求項１から６までのいずれか一つに記載の方法。
【請求項８】
所定の一つの命令とその引数値に割当てられた、少なくとも一つのバイナリ表現を探して、当該のデータベースを検索することを特徴とする請求項１から７までのいずれか一つに記載の方法。
【請求項９】
コンピュータ・プログラムを作成する際に、所定の一つの命令を実行することによって影響を受ける少なくとも一つの構成要素を探して、特にレジスタを探して、当該のデータベースを検索することを特徴とする請求項１から８までのいずれか一つに記載の方法。
【請求項１０】
データ処理回路機器に関するプログラミング・ハンドブック（４）が、コンピュータ支援の元で、当該のデータベース（１）に保存された情報を照会して自動的に作成され、このハンドブックが、ディスプレイ表示または印刷作成に適した機械読取り可能な形式で生成されることを特徴とする請求項２から９までのいずれか一つに記載の方法。
【請求項１１】
当該のプログラミング・ハンドブックの作成に関して、基本的にハードウェアに依存しない、所定のハードウェア・アーキテクチャに合わせて調整されたプログラミング・ハンドブック生成ツール（２）が使用され、その際ユーザによって設定可能な少なくとも一つのプログラミング・ハンドブックのレイアウトを決定することができることを特徴とする請求項１０に記載の方法。
【請求項１２】
当該のデータベース（１）にインタラクティブにアクセスすることによって、電子的なプログラミング・ハンドブックへの変換のための、このデータベースに保存されたデータに対する情報の検索機能および情報の可視化が実現されることを特徴とする請求項１から１１までのいずれか一つに記載の方法。
【請求項１３】
バイナリ表現を含めて、回路機器の命令を機械読取り可能な形で保存するための手段を有する、請求項１から１２までのいずれか一つに記載の方法を実行するシステムにおいて、所定のバイナリ表現（命令コード）の命令への割当てを、変更可能な形で定めていることを特徴とするシステム。
【請求項１４】
一つの命令に対して、この命令に割当てられた一つの識別子、この命令に割当てられた一つの記述ならびにこの命令に割当てられた一つの引数リストが保存されていることを特徴とする請求項１３に記載のシステム。
【請求項１５】
一つの命令に対して、更にこの命令の機能に関する機械読取り可能な一つの記述が保存されていることを特徴とする請求項１４に記載のシステム。
【請求項１６】
当該のデータベースには、各引数に対して、
・その引数に割当てられた識別子と、
・その引数に割当てられた記述と、
・その引数に割当てられた数値範囲とが保存されていることを特徴とする請求項１４または１５に記載のシステム。
【請求項１７】
当該のデータベースには、構成素子間のデータパスを含む、当該の回路機器の構成素子の記述が保存されており、その際このデータベースには、少なくとも一つの命令に対して、結果レジスタ以外に、この命令の実行により影響を受ける可能性のある、この命令に割当てられた少なくとも一つの構成素子、特にレジスタが示されていることを特徴とする請求項１３から１６までのいずれか一つに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理回路機器用の、特にデジタル信号処理装置（ＤＳＰ）用の設計、試験および／または開発環境の提供方法、ならびにそのような方法を実行するシステムに関する。
【背景技術】
【０００２】
好適な信号処理装置を提供することは、移動通信技術およびマルチメディア情報技術を一層発展させるための鍵であることが分かっている。このような処理装置の利用は、ベースバンド処理、メディア符号化からプロトコル処理にまで及んでおり、その際この分野における進歩は、所要の高度な計算の複雑さに応えることができる、より一層高性能なデジタル信号処理装置（ＤＳＰｓ）の提供に決定的に依存している。
【０００３】
この場合、好適な設計、試験、そしてまた開発環境の提供には、決定的な意味がある。何百万個もの回路素子から構成される場合がある、このような処理装置の高度な複雑さは、もはやコンピュータの支援無しには、取り扱うことができない。特に、統合設計・試験環境を備えることにより、例えば処理装置が提供する機能における変更を、自動的にかつコンピュータ支援の元に、ハードウェアへの変換に、すなわちコンピュータ・アーキテクチャの記述に反映させることも可能であることが分かっている。更に、このような処理装置の構造上の改変は、使用するソフトウェア・ツール、例えばコンパイラ、アセンブラ、デバッガ、シミュレータおよびプロファイラへの直接的な影響をも有し、コンピュータ支援による設計および開発環境の場合には、これらのツールを自動的に適合させることができる。このような複雑なシステムが、特許文献１に開示されており、そこには、設定可能な処理装置を設計するための自動処理装置生成システムが記載されている。このシステムは、処理装置のハードウェア実装用の記述、および例えばデータベースに保存された同じ設定データから処理装置のプログラミング用のソフトウェア開発ツールセットを生成することによって、自動的に処理装置の設定を行うことができる。このシステムは、異なる性能基準に関して、ハードウェア実装とソフトウェアツールを最適化するために使用することができ、更に処理装置を拡張可能とすることをも可能としている。
【特許文献１】国際特許公開第００／４６７０４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、このようなデータ処理回路機器に関する設計、試験および／または回路開発環境の機能を更に向上させることである。
【課題を解決するための手段】
【０００５】
この課題は、この発明にもとづき、請求項１による方法と請求項１３によるこの方法を実行するシステムを用いて、もはや解決されている。
【０００６】
回路機器の特定のアプリケーションへの柔軟な適合を実現するために、この発明にもとづき、回路機器の命令とそのバイナリ表現を、機械読取り可能な形でデータベースに保存し、その際所定のバイナリ表現（命令コード、すなわちビットコード）の個々の命令への割当てを、変更可能な形で定めるものと規定する。このことは、命令と割当てられたバイナリ表現が、互いに固定的に結び付けられていないということを意味する。これに代わって、特定のアプリケーションにおいて、命令コードの高速実行を実現するために、例えば同じコマンドを持つ命令または命令クラスの必要に応じて、最適化されたバイナリ表現、すなわち命令コードを柔軟に割当てることができる。従来の技術では、通常一つのビットコードは、一つの命令と固定的に結び付けられているので、このことは、不可能である。この発明による方法では、特定のソフトウェア・アプリケーションを実行するのに特化・最適化された処理装置を、是認可能な負担で開発することができる。更に、この発明により、命令（コマンド）とそれに対応するバイナリ表現を固定的に配分することを止めることにより、データ処理回路機器に関するソフトウェアならびにハードウェアを並行的に開発することが可能となる。例えば、アセンブラ、リンカー、命令セット・シミュレータ等のソフトウェア開発に必要なすべてのツールを提供することができるように、先ずは命令を確定することができる。そして、ハードウェア開発においては、何時でもバイナリ表現を変更することと、例えばメモリ需要を考慮して、各命令等の電力消費を最適化することが可能である。ハードウェア開発は、ソフトウェア開発と並行して、これに影響を与えることなく実行することができる。二つの開発の最後に、ようやく命令データセットをバイナリ表現セットに割当てることにより、これらを統合することができる。
【０００７】
機器面において、この発明は、記載した方法を実行するシステムを提供することで、この課題を解決している。このシステムは、回路機器の命令とそれらのバイナリ表現を読取り可能な形でデータベースに保存するための手段を有し、その際所定のバイナリ表現（命令コード）の個々の命令への割当てを、変更可能な形で、すなわち固定的ではない形で定めている。
【０００８】
この発明の有利な実施構成は、従属請求項に記載されている。
【０００９】
既に前述したとおり、特定の課題、特に実行するソフトウェア・プログラムに応じて、個々の命令に命令コードを割当てた場合、回路機器の最適化の度合いを向上させることができる。この発明は、個々のバイナリ表現に、すなわち個々の命令コードに、命令を柔軟にかつ自由に割当てることにより、このことを実現している。その際、より短い命令コードは、より少ないメモリ領域を必要とし、一般的に、より高速に実行することができるということに注目している。この場合、コマンドと一定の引数値との頻繁に発生する組み合わせに対しては、より短い命令コードを付与し、このコマンドの別の引数値との稀に発生する組み合わせに対しては、長いビットコードを付与することができる。その際、この発明にもとづき、回路機器により実行されるソフトウェア・プログラムを、使用するコマンドとその引数に関して解析する形で、バイナリ表現の命令への割当て（またはこの逆）を、コンピュータ支援により自動的に算出することができる。こうすることによって、同じコマンドを持つ命令に対して、異なるビット幅の命令コードを割当てて、データベースに保存することができる。
【００１０】
設計、試験および／または開発ツール、特に異なるソフトウェア・プログラムが、各プログラム・ソースコード（ニーモニックコード／高水準言語）のレベルで、異なる回路機器に対して互換性を持つようにするために、一つの命令データセットに、それぞれ特定の回路機器に適合したバイナリ表現セット（命令コードセット）を複数割当てて、データベースに保存するものと規定することができる。データ処理回路機器を取り替える場合に、例えばデータベースの対応する情報フィールドで、このことを表示することができる。使用するツールは、これを識別して、命令データセットを対応する命令コードセットに割当てる。そうすることにより、例えばアセンブラまたはコンパイラを、ハードウェアにおける変化によって影響を受けないようにするとともに、このツールを新たに作ることなく、異なる処理装置に対して利用することも可能となる。
【００１１】
ソフトウェアに関する開発ツールを、ビットコードおよび／または命令の変更に素早く適合可能とするために、これらの機械が理解できる形の記述をデータベースに保存することができる。しかし、従来のデータベースでは、これを置き換えることができない。一つの命令の意味は、固定しておらず、例えば命令の引数値に依存するものなので、有利には、この機械が理解できる形の記述を、関数ｙ＝ｆ（ｘ）の形式でデータベースに保存することができる。確かに、この発明にもとづき、各可能な引数値ｘに対して、それに対応するｙを、すなわち命令の機械が理解できる形の記述を、置き換え可能な形でデータベースに保存することも可能であるが、それにより、非常に扱い難い大きさのデータベースとなってしまう。しかし、命令の引数値とビットコードの機能的な結び付きを決めて、保存するのは、特に有利であり、その結び付きから、引数値に対応して、命令のビットコードを計算によって算出することができる。
【００１２】
データベースに、回路機器の構造要素を、これらの構成要素間のデータパスを含めて規定するのは、目的に適っている。この場合、データベースに、一つの命令に対して、例えば命令の実行によって、本来の結果レジスタ以外に変更される可能性のあるレジスタなどの、この命令に割当てられた構成要素を指定することができる。例えば、算術演算時に、結果がゼロに等しい場合に、所謂「ゼロフラグ」をセットすることができる。更に、レジスタがその命令の結果レジスタではないのに、その実行時に、そのレジスタの内容がシステム的に上書きされてしまう命令が存在する可能性がある。そこで、これらの情報は、例えばデータ処理回路機器で実行されるソフトウェア・プログラムを自動的に最適化する設計・開発ツールによって利用することができる。この最適化は、命令の実行を並列処理することにある場合もある。しかし、そのためには、個々の命令の実行により処理装置内で起こるすべての変化を、データベースに保存するとともに、ここで述べる最適化に対して提供することが不可欠である。そうすることにより、命令の実行の際に、不用意にユーザデータを上書きすることを防止することができる。
【００１３】
アセンブラ、逆アセンブラなどの設計、試験および／または開発環境に必要な機能を提供するために、一定のバイナリ表現に割当てられた命令を探して、または一定の命令に割当てられたバイナリ表現を探して、データベースを検索するものと規定することができる。この場合、これらの機能は、インタラクティブに操作可能であり、データベースへのアクセス能力を持つデータベース・クライアントによって提供することができる。
【００１４】
この発明では、特に作成した処理装置に関する作業を軽減するために、データベースに保存された回路機器に関する情報を照会して、コンピュータ支援の元で、データ処理回路機器に関するプログラミング・ハンドブックを自動的に作成することを提案している。そのため、プログラミング・ハンドブックの作成に関して、主にその命令データセットによって回路機器を規定するとともに、それによりツールを自動的に生成するという考えを採用しており、その際そうすることにより、以後においてハンドブックを新たに作成する際に、命令データセットの変化を自動的にハンドブックに反映させることができる。
【００１５】
多数の回路機器または処理装置に関するプログラミング・ハンドブックを生成可能とするために、使用するプログラミング・ハンドブック生成ツールは、ハードウェアに依存せず、所定のハードウェア・アーキテクチャだけに対応して作られるものと規定することができる。
【００１６】
一つのプログラミング・ハンドブックで様々な用途をカバーできるようにするため、ハンドブックを、ディスプレイ表示に適した形式でも、印刷作成に適した形式でも生成するものと規定することができる。この場合、一般的に、プログラミング・ハンドブックの情報またはそれに対する情報を含む、コンピュータに保存可能なファイルが生成される。そのため、この発明では、場合によっては、プログラミング・ハンドブックは、そのようなファイルと同一視することができる。
【００１７】
ユーザが、特にプログラミング・ハンドブックの構成に対して影響力を行使できるようにするために、プログラミング・ハンドブックの作成用のツール、すなわちプログラミング・ハンドブック生成ツールにおいて、ユーザが、所望のレイアウトを予め選定することができるものと規定することができる。
【００１８】
プログラミング・ハンドブックを使用する際に、コンピュータ支援の元で、データベースに保存された情報を呼び出すのは、特に有利である。データベースに直接関連させることによって、ここで述べているコンピュータ支援の元でプログラミング・ハンドブックを利用する際に、変更が反映されるので、そうすることにより、場合によっては、命令データセットにおける変更の実施が、必ずしもプログラミング・ハンドブックを新たに作成しなければならないということにはならないようにすることができる。主要な部分に関する情報を照会することができるので、本来のプログラミング・ハンドブックの分量は、従来のプログラミング・ハンドブックと比べて比較的小さい。このようにプログラミング・ハンドブックをデータベースに関連させることの利点は、例えばユーザに対して、検索機能を提供する際、索引を作成する際または情報を可視化する際に明らかとなる。このようなハンドブックのデータベースまたはデータベースの情報への関連付けは、例えば表示ツール（Zeiger）により実現することができる。そのようなプログラミング・ハンドブックは、有利には、オンライン形式で、データベースに保存された情報へのアクセス能力を持つ、上述したインタラクティブに操作可能なデータベース・クライアントによっても提供することができる。
【００１９】
設計、試験および／または開発環境を提供するシステムに対して必要な情報を利用可能とするために、データベースに保存された命令データセットの命令は、少なくとも一つの識別子、その命令に割当てられた付加的な記述らびにその命令に割当てられた引数のリストを有する。更に、命令データセットにおいては、各引数に対して、割当てられた識別子、付加的な記述ならびに引数に割当てられた数値範囲を示している。更に、設計、試験および／または開発環境内において処理可能な、例えば高水準言語による記述形式での、その機能の機械読取り可能な記述を各命令に割当てるのは、特に有利である。既に上述したとおり、各可能な命令に対して、更にバイナリ表現（命令コード）を含めることができ、その際ビットコードの固定の部分、特にオペレーションコードは、一つのパターンにより表すことができる。更に、ビットコードの可変部分を記述するために、各命令コードは、コマンドのすべての引数のバイナリ表現を有するものと規定することができ、その結果基本的に、すべての可能な命令が、すなわち完全な命令コードセットが、データベースに保存され、このデータベースを元に、別の設計、試験または開発措置を作成することができる。
【発明を実施するための最良の形態】
【００２０】
以下において、添付した図面に関連させて、幾つかの実施構成を述べることにより、この発明を説明する。
【００２１】
以下における記述は、デジタル信号処理装置に関する設計・試験のためのコンピュータ支援による環境に関し、その中では、この処理装置に対するプログラムも開発することができる。この環境の核となるのは、データベースであり、このデータベースから、コンパイラ、アセンブラ、デバッガ、シミュレータ、プロファイラなどの様々なツールを自動的に生成することが可能である。このデータベースは、機械読取り可能な情報を有し、この情報を用いて、デジタル信号処理装置は、完全に記述される。この場合、インタラクティブに操作可能なデータベース・クライアントを備えており、このクライアントは、データベースにアクセスして、データベースの情報を、環境の別の部分に対してアクセス可能としたり、あるいは前述したツールを生成するために利用している。例えば、アセンブラとコンパイラは、プログラムのアセンブルまたはコンパイルに必要な情報を得るために、データベース・クライアントを介してデータベースにアクセスする。
【００２２】
図１は、例えば、データベースに保存された、設計、試験および／または開発環境内で照会可能な情報を、処理装置のＡＬＵ（演算論理装置）で実行される二つの命令、すなわちコマンドにより示している。この第一の命令は、ＡＤＤと表示されており、二つのレジスタのワードの加算に関し（図１を参照）、その際引数の数は、第二の欄に示されている。それに対応して、引数の表示、この場合には可能なレジスタＲＡとＲＢの表示が、その次の欄で行われている。更に、各命令に対して、その機能の記述が、ここに記載した設計、試験および開発環境内において、容易にデータ技術的に理解して、更に処理することができるＣ言語コードで示されている。これらの機能は、「実行内容」欄に示されている。ＡＤＤコマンドに関しては、第一に示されたレジスタ（＃１）の内容が第二に示されたレジスタ（＃２）の内容に加算され、その際その結果がＡＬＵの結果レジスタに置かれることを意味している。更に、各命令は、少なくとも一つの、命令コードとも呼ばれるバイナリ表現（ビットコード）と関連付けられている。ここに述べた例では、このコードは、２０ビットの長さを持つとともに、３つの部分から構成され、これらの部分は、ＡＤＤ命令の場合、ＡＤＤ−Ｏｐｃｏｄｅ、ＲＡ−ＣｏｄｅおよびＲＢ−Ｃｏｄｅで表され、その際第一のコードは、６ビットの幅を、残る二つのレジスタコードは、それぞれ７ビットの幅を有する。
【００２３】
第二行には、ＳＵＢコマンドが示されており、このコマンドは、レジスタＢからのレジスタＡの内容の減算、定数ｃ＃からのレジスタＣの減算またはレジスタＣからの定数ｃ＃の減算を規定している。メモリの最適化のために、命令ＳＵＢは、オペランド毎に、一つの異なるＯｐｃｏｄｅを有し、その際第一の減算の命令コードは、２０ビットの長さを有し、残る二つの減算の命令コードは、定数ｃ＃のより広い数値範囲をカバーするために、２４ビットとなっている。
【００２４】
更に、データベースには、ビットコードの可変部分を記述するために、各コマンドのすべての引数のバイナリ表現が保存されている。従って、それは、例えばレジスタＡのバイナリ表現（ＲＡ−Ｃｏｄｅ）、レジスタＢのバイナリ表現（ＲＢ−Ｃｏｄｅ）、レジスタＣのバイナリ表現（ＲＣ−Ｃｏｄｅ）および定数Ｃ＃のすべての可能な値のバイナリ表現（ｃ＃−Ｃｏｄｅ）であり、その結果すべての有効な命令コードが、データベースの情報から算出可能である。
【００２５】
更に、データベースでは、各引数は、その識別子、記述ならびに存在する場合には、関係する数値範囲により示されている。
【００２６】
確かに図１では、命令は、そのバイナリ表現で表されているが、データベース内では、一定の命令の一定のバイナリ表現への割当ては、固定的ではなく、自由に規定可能であることを指摘しておく。このことは、特に処理装置の設計・試験時に、そして処理装置用のプログラムの開発時においても、個々の命令に割当てられたバイナリ表現を変更して、処理装置の一定の性能パラメータを、例えば実行速度を最適化することができること、あるいは様々な処理装置を用いて処理する場合においても、アセンブラや逆アセンブラなどのツールの互換性を提供することができることを意味する。
【００２７】
図２は、命令をその割当てられたバイナリ表現（ビットコード）でアセンブラ・プログラムに伝達すること（左下の１／４面）と、それを処理装置の実行可能なコマンドに変換すること（右下の１／４面）を模式的に示している。この場合、アセンブラ・プログラムは、アセンブラによって、一つのファイルに保存されたビットコード列に変換されており、そのことは、Ｉで表示された矢印で示されている。このビットコード列は、アセンブラ・プログラムによって、バイナリのビットコード列として、処理装置にロードされており、そのことは、IIで表示された矢印で示されている。処理装置では、このバイナリのビットコード列は、処理装置においてコマンドを実行するために復号されている（III ）。図面から分かるとおり、これらのビットコードは、ソフトウェア（アセンブラ・プログラム）のコマンドを、実行する処理装置に伝達するための媒体として利用されている。従って、これらのビットコードは、ソフトウェアと実行するハードウェア間のインタフェース機能を果たしており、その結果これらのビットコードによって、ソフトウェアのハードウェアへの適合が行われている。第一の処理装置に関する作業の後に、同じ機能範囲を持つ第二の処理装置を同じ環境に適用する際に、プログラムのソースコードのレベルでは、すなわち例えばアセンブラおよび使用する高水準プログラム言語に関しては、何も変わらないので、第二の処理装置によって与えられるバイナリ表現を命令に新たに割当てることによって、使用する開発ツールの多くは、変更のないままとなる。従来の環境で、このようなツールを部分的に自動的に作成することが可能な場合でも、処理装置の置き換えには、それぞれの場合に適合させる必要があるために、追加の作業負担が伴う。しかし、この発明にもとづき、各処理装置に割当てられたバイナリ表現セットを置き換えることにより、この負担を簡単に回避することができる。そのため、新しい処理装置への適合は、命令を新しい処理装置のバイナリ表現に新たに割当てることによって実現され、開発・試験環境の主要なツールを改変する必要はない。
【００２８】
既に説明したとおり、命令コードは、処理装置が実行するプログラムに従って、これらのコードが時間的に最適化された形で処理装置により実行されるように、各命令に割当てることができる。一定のコマンドが、所定のプログラム内において、常に同じ引数を伴って実行される場合、これらの特別な命令は、一方では、このコードは、少ないメモリ領域を占め、他方では、より高速に実行することができるようにするために、より短いビット長の命令コードを割当てられる。別の例は、加算コマンドに関し、このコマンドでは、引数として、一つのデスティネーションレジスタと二つの加算すべき数が示される。この例では、プログラムの制限により、これらの二つの数は、多くの場合−８から７までの範囲内にあるので、そこで、プログラミングツールによって、１０ビットの命令コードが規定される。これらの数がより大きな数値範囲を持つ別の場合には、同じコマンドに対して、２０ビットのビットコードが自動的に規定される。この場合においても、ここで述べた方法で、デジタル信号処理装置でのログラムの実行は、コンピュータ支援により、時間とメモリに関して最適化される。
【００２９】
この発明の特別な実施構成においては、命令の引数ｘのそのビットコードｙ１への割当てに関する情報は、関数関係ｙ１＝ｆ１（ｘ）によって表される。これらのビットコードは、引数ｘを元に計算することができる。複数の引数ｘ，ｚを持つ命令の場合には、ビットコードｙ２は、所定の関数ｙ２＝ｆ２（ｘ，ｚ）に対応して計算される。
【００３０】
データベースのこれまでに述べた内容に加えて、データベースは、構成要素間のデータパスを含む処理装置の構成要素に関する情報ならびに一定の命令を実行する際に影響を受ける構成要素の情報をも有する。この場合、命令のソースレジスタまたはデスティネーションレジスタではなく、例えば特別なハードウェア構造のために命令の実行の際に変更されることもあるフラグレジスタが関係する。
【００３１】
別の同様な例は、レジスタＡとレジスタＢの引数を持つ「コピー」命令に関する。このコマンドは、レジスタＡの内容をレジスタＢに転写することにより実行される。従って、この命令をレジスタＡとレジスタＸの引数と関連付けることにより、実行の際に、レジスタＡの内容は、レジスタＸに転写される。しかし、使用する処理装置のハードウェアにおいては、二つのレジスタ間の直接的な接続関係がないので、レジスタＡとも、レジスタＸとも接続可能な中間レジスタＣを介して、このコマンドの変換を実施しなければならない。そのため、レジスタＡの内容は、先ずレジスタＣに、それに続いてデスティネーションレジスタＸに転写される。これらの違いは、コマンドレベルでは分からず、常に「コピー」コマンドが用いられる。レジスタＣが並行的に進行する別の命令によっても使用される場合に起こるエラーを回避するために、データベースでは、「コピー」コマンドには、レジスタＣが、コマンドの実行の際に変更される構成素子として割当てられている。既に説明したとおり、データベースでは、これらの情報は、デジタル信号処理装置に対するソフトウェア・プログラムの開発の際に、コマンドの実行を最適化するためにも利用され、処理装置では、これらのコマンドは、時間に関して最適化するために、部分的に並行して処理される。ここで述べたデータベースの構造によって、プログラム開発の際に、処理装置において並行的に進行する命令が、双方の演算に関係するレジスタを上書きしないように注意を払うことができる。
【００３２】
図３は、この発明にもとづく、デジタル信号処理装置用のプログラミング・ハンドブックを作成するための方法を実行する設計、試験および開発環境の一部をブロック図で示している。ここで述べたとおりの処理装置の命令データセットが、データベース１にあり、ソフトウェアとして構成されたプログラミング・ハンドブック生成ツール２によって、コンピュータ支援の元に読み出されて、ハンドブック４を作成するために利用される。このプログラミング・ハンドブックは、処理装置用のアプリケーション・ソフトウェアを書くプログラマーに対する手引書として利用される。ユーザ入力３によって、プログラミング・ハンドブック生成ツールの設定を行うことができる。特に、ハンドブックの特別なレイアウトと形式を示すことができる。この場合には、第一の形式として、ＨＴＭＬフォーマットを選定することができ、その結果作成されたハンドブック４は、フォーマット変換することなく、直接ディスプレイ表示するために利用することができる。このために、ハンドブック生成ツールは、個々のＨＴＭＬディスプレイ用ページを持つファイルを生成し、これらのページは、統合されたソフトウェア環境内においても呼び出すことができる。他方において、ユーザ入力３によって、プログラミング・ハンドブック生成ツール２が、印刷作成用に適した形式でハンドブックを生成するように規定することもできる。この場合、ＬａＴｅｘファイルが生成され、このファイルを用いて、プログラミング・ハンドブックを紙で作ることができる。
【００３３】
特別な実施構成では、電子的なハンドブックにおいて、データベース・クライアントを介して、表示ツールを用いて、データベースにアクセスするものであり、プログラミング・ハンドブックを利用する際には、この表示ツールを用いて、データベースから直接データを照会することが可能であり、その結果これらの情報をハンドブックに保存しておく必要がなくなる。このことは、データベース１において変更があった際に、どのような場合でも、図３にもとづき、新しいプログラミング・ハンドブック４を自動的に作成しなければならないということではなく、場合によっては、当初のハンドブックを使用していても、変更された情報が反映されるということをも意味する。図４は、このような電子的なプログラミング・ハンドブック４を使用することの原理図を示している。この場合、コンピュータ５では、プログラミング・ハンドブック生成ツールによって提供されるソフトウェア・プログラムも動作しており、このプログラムは、所望の情報をディスプレイ６上に表示するために、ハンドブック４を利用している。このために、ユーザーは、キーボード７により、ハンドブックから所望の情報を照会することができる。ユーザーが、例えばハンドブックの索引を要求する場合、そのために、ハンドブックには、所定の情報ユニットへの参照指示があり、この情報ユニットは、コンピュータ５によって、データベース１から読み出されて、情報技術的に処理され、そして所望のとおり、キーワードリストとして、ディスプレイ６上に表示される。
【図面の簡単な説明】
【００３４】
【図１】データベースにおける二つの命令の保存形式の例
【図２】コマンドの割当てられた命令コードへの変換と、コマンドを実行する処理装置への伝達の原理図
【図３】プログラミング・ハンドブックの生成に関するブロック接続図
【図４】生成したプログラミング・ハンドブックのコンピュータ支援による利用
【符号の説明】
【００３５】
１    データベース
２    プログラミング・ハンドブック生成ツール
３    ユーザ入力
４    ハンドブック
５    コンピュータ
６    ディスプレイ
７    キーボード
【図１】
2005517246.tif 000003
【図２】
2005517246.tif 000004
【図３】
2005517246.tif 000005
【図４】
2005517246.tif 000006
【国際調査報告】
2005517246.tif 000007
2005517246.tif 000008
2005517246.tif 000009
2005517246.tif 000010
2005517246.tif 000011
2005517246.tif 000012
2005517246.tif 000013
2005517246.tif 000014