(57)【要約】　　　（修正有）【課題】仕様又は機能に変更が生じた場合でも出来るだけ小さな変更を施すことで対応でき、変更を想定した余分なＲＡＭの記録容量をできるだけ小さくしたＤＳＰを提供する。【解決手段】仕様変更および機能追加に伴って命令の変更が生じる場合に、変更が生じた命令のみを前記ランダムアクセスメモリ２Ｂに新たに格納し、アドレス管理メモリ２Ｃに格納されている変更が生じる前の命令の前記リードオンリメモリ２Ａ上のアドレスの替わりに、変更を施した命令のランダムアクセスメモリ２Ｂ上のアドレスをアドレス管理メモリ２Ｃに格納し、アドレス管理メモリ２Ｃを用いて各命令のアドレスを演算処理部１がアドレス管理する。【選択図】　図１
2004054850.tif 000002
【特許請求の範囲】
【請求項１】
変更不可能なメモリ及び変更可能なアクセスメモリからなり命令を格納する命令メモリと、前記命令に基づいて情報の処理を実行する演算処理部とを備えたディジタルシグナルプロセッサにおいて、
前記命令メモリに格納される命令のアドレスをランダムアクセスメモリからなるアドレス管理メモリに格納し、前記演算処理部が当該アドレス管理メモリに格納されている命令のアドレスを用いて動作することを
特徴とするディジタルシグナルプロセッサ。
【請求項２】
前記請求項１に記載のディジタルシグナルプロセッサにおいて、
前記ランダムアクセスメモリに格納される命令をメインルーチンとすると共に、前記リードオンリメモリに格納される複数命令を前記メインルーチンの命令に対するサブルーチンとし、
前記サブルーチンである複数の命令を変更する場合に、当該変更に係る命令を前記ランダムアクセスメモリに格納し、
前記変更に係る命令のアドレスを前記ランダムアクセスメモリのアドレス管理メモリに格納することを
特徴とするディジタルシグナルプロセッサ。
【請求項３】
前記請求項１または２に記載のディジタルシグナルプロセッサにおいて、
前記演算処理部が前記アドレス管理メモリの命令のアドレスを用いて情報の処理を実行するか、又は前記ランダムアクセスメモリ及びリードオンリメモリに格納される命令内の移動先情報を用いて情報の処理を実行するかを切り替えて実行することを
特徴とするディジタルシグナルプロセッサ。
【請求項４】
前記請求項１ないし３のいずれかに記載のディジタルシグナルプロセッサにおいて、
前記演算処理部が前記アドレス管理メモリの命令のアドレスを用いて動作するか否かの各命令のフラグを前記ランダムアクセスメモリのフラグ領域に格納し、前記演算処理部が命令毎に当該フラグに基づいて動作することを
特徴とするディジタルシグナルプロセッサ。
【請求項５】
書き換え可能でない第１のメモリと、書き換え可能な第２のメモリと、該第１のメモリに格納されたプログラムの実行を行う演算処理部とを備えた演算装置において、
該第１のメモリに格納されたいづれかの１のプログラムの命令文に前記第２のメモリの所定アドレスを特定する情報を含め、
該アドレスに対応する前記第２のメモリの記録領域に前記第１のメモリに格納された前記１のプログラムの他のプログラムの先頭又は他のアドレスを格納し、前記演算処理部は、前記１のプログラムの命令文に含まれる前記所定のアドレス情報に従って、前記先頭又は他のアドレスを読み出し、前記第１のメモリの該先頭又は他のアドレスからの前記１のプログラムの他のプログラムの実行に移行することを
特徴とする演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、命令を格納する命令メモリが変更不可能なリードオンリメモリと変更可能なランダムアクセスメモリとからなるディジタルシグナルプロセッサに関し、特にファームウェアの修正を柔軟に行えるディジタルシグナルプロセッサに関する。
【０００２】
【従来の技術】
以下、従来のディジタルシグナルプロセッサ（以下、ＤＳＰという。）について図１１または図１２に基づいて説明する。図１１は従来のＤＳＰの全体ブロック構成図、図１２は従来のＤＳＰにおける動作説明図を示す。
【０００３】
前記図１１において従来のＤＳＰは、命令に従って処理を行う演算処理部１と、リードオンリメモリ２Ａ（以下「リードオンリメモリ」を「ＲＯＭ」と略す）およびランダムアクセスメモリ２Ｂ（以下「ランダムアクセスメモリ」を「ＲＡＭ」と略す）からなり命令を格納する命令メモリ２と、ＲＯＭ３ＡおよびＲＡＭ３Ｂからなり各種定数を格納するテーブルメモリ３と、ＲＡＭからなり情報を一時的に保持するデータメモリ４と、前記命令メモリ２に格納される命令を演算処理部１が認識可能な形式に復号する命令復号部５と、入出力部６とを備える構成である。
【０００４】
前記命令メモリ２は、図１２に示すように、前記ＲＯＭ２ＡにサブルーチンとなるｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤおよびｍｏｄｕｌｅＢが格納され、前記ＲＡＭ２Ｂにメインルーチンが格納されているものである。
前記データメモリ４の一部を、アドレスを格納するためのアドレス保持領域４ａに割り当てる。
前記演算処理部１が「ｃａｌｌ」の処理により、現在実行している処理のアドレスに１インクリメントとした値を実行対象とする命令の名前に対応付けてアドレス保持領域４ａに格納し、「ｃａｌｌ」の引数となっている命令を実行対象とする。ここで、「ｃａｌｌ」の引数となる各命令のアドレスは固定的に対応付けられている。
【０００５】
まず、動作としては、命令復号部５がメインルーチンを読み出し、演算処理部１がメインルーチン上の処理を順次実行する。このメインルーチン上の処理で、アドレス２Ｂに位置する「ｃａｌｌ　ｍｏｄｕｌｅＡ」の処理により、演算処理部１が現在実行している処理のアドレス２Ｂに１インクリメントとした値を実行対象とするｍｏｄｕｌｅＡに対応付けてアドレス保持領域４ａに格納し、ＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＡを実行対象とする（矢印ａ１０１）。「ｃａｌｌ　ｍｏｄｕｌｅＡ」は、ＲＯＭ２ＡにおけるｍｏｄｕｌｅＡの先頭アドレス１Ｅの情報を含む。
【０００６】
従ってそのアドレス１Ｅから始まるｍｏｄｕｌｅＡを実行対象とし、演算処理部１がｍｏｄｕｌｅＡ上の処理を順次実行する。このｍｏｄｕｌｅＡ上の処理で、アドレス１Ｆに位置する「ｃａｌｌ　ｍｏｄｕｌｅＣ」の処理により、演算処理部１が現在実行しているｍｏｄｕｌｅＡ上のアドレス１Ｆに１インクリメントとした値を実行対象とするｍｏｄｕｌｅＣに対応付けてアドレス保持領域４ａに格納し、ＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＣを実行対象とする（矢印ａ１０２）。「ｃａｌｌ　ｍｏｄｕｌｅＣ」は、ＲＯＭ２ＡにおけるｍｏｄｕｌｅＣの先頭アドレス１Ｇの情報を含む。
【０００７】
従ってそのアドレス１Ｇから始まるｍｏｄｕｌｅＣを実行対象とし、ｍｏｄｕｌｅＣ上の処理を順次実行する。このｍｏｄｕｌｅＣ上の処理で、アドレス１Ｈに位置する「ｃａｌｌ　ｍｏｄｕｌｅＤ」の処理により、演算処理部１が現在実行しているｍｏｄｕｌｅＣ上のアドレス１Ｈに１インクリメントとした値を実行対象とするｍｏｄｕｌｅＤに対応付けてアドレス保持領域４ａに格納し、ＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＤを実行対象とする（矢印ａ１０３）。「ｃａｌｌ　ｍｏｄｕｌｅＤ」は、ＲＯＭ２ＡにおけるｍｏｄｕｌｅＤの先頭アドレス１Ｊの情報を含む。
【０００８】
従ってそのアドレス１Ｊから始まるｍｏｄｕｌｅＤを実行対象とし、ｍｏｄｕｌｅＤ上の処理を順次実行し、ｍｏｄｕｌｅＤ上の最後の処理「ｒｅｔｕｒｎ」により、演算処理部１がアドレス保持領域４ａに保持したｍｏｄｕｌｅＤに対応付けたアドレス１Ｈ＋１に実行対象を戻す（矢印ａ１０４）。ｍｏｄｕｌｅＣに戻り、アドレス１Ｈ＋１以降のｍｏｄｕｌｅＣの処理を順次実行し、ｍｏｄｕｌｅＣの最後の処理「ｒｅｔｕｒｎ」により、演算処理部１がアドレス保持領域４ａに保持したｍｏｄｕｌｅＣに対応付けたアドレス１Ｆ＋１に実行対象を戻す（矢印ａ１０５）。ｍｏｄｕｌｅＡに戻り、アドレス１Ｆ＋１以降のｍｏｄｕｌｅＡの処理を順次実行し、ｍｏｄｕｌｅＡの最後の処理「ｒｅｔｕｒｎ」により、演算処理部１がアドレス保持領域４ａに保持したｍｏｄｕｌｅＡに対応付けたアドレス２Ｂ＋１に実行対象を戻す（矢印ａ１０６）。
【０００９】
メインルーチンに戻り、アドレス２Ｂ＋１以降のメインルーチンの処理を順次実行し、このメインルーチン上の処理で、アドレス２Ｃに位置する「ｃａｌｌ　ｍｏｄｕｌｅＢ」の処理により、演算処理部１が現在実行しているメインルーチン上のアドレス２Ｃに１インクリメントとした値を実行対象とするｍｏｄｕｌｅＢに対応付けてアドレス保持領域４ａに格納し、ＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＢを実行対象とする（矢印ａ１０７）。ｍｏｄｕｌｅＢを実行対象とし、ｍｏｄｕｌｅＢ上の処理を順次実行し、ｍｏｄｕｌｅＢ上の最後の処理「ｒｅｔｕｒｎ」により、演算処理部１がアドレス保持領域４ａに保持したｍｏｄｕｌｅＢに対応付けたアドレス２Ｃ＋１に実行対象を戻す（矢印ａ１０８）。以後、演算処理部１がメインルーチン上のアドレス２Ｃ＋１以下の処理を順次実行する。
【００１０】
【発明が解決しようとする課題】
従来のＤＳＰは以上のように構成され、ＲＯＭ２Ａ、３Ａに格納するそれぞれの命令、テーブルデータを先行開発した後、ＲＡＭ２Ｂ、３Ｂの書き込みを含めたＤＳＰ設計、仕様変更および機能追加のファーム開発を並行して進めることができる。しかし、仕様変更等に伴い変更が生じる一部の命令及びテーブルデータの読み出し態様によっては、変更しない命令及びテーブルデータも変更した命令及びテーブルデータと共にＲＡＭ２Ｂ、３Ｂに格納する必要が出てくる。
【００１１】
以下、問題の所存を明確にするべく、前記従来のＤＳＰに対する処理の機能追加について具体的に説明する。図１３は従来のＤＳＰにおける命令変更後の動作説明図を示す。ここでは、ｍｏｄｕｌｅＤ上の機能αのあとに機能γを挿入する場合について説明する。なお、従来のＤＳＰの構成自体の変更はない。
【００１２】
前記命令メモリ２は、図１３に示すように、ＲＯＭ２ＡがＲＯＭの特質上により変更できないため依然前記ＲＯＭ２ＡにｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤ、ｍｏｄｕｌｅＢが格納されており、一方前記ＲＡＭ２Ｂにメインルーチンの他に、新たにｍｏｄｕｌｅＡ´、ｍｏｄｕｌｅＣ´、ｍｏｄｕｌｅＤ´が格納されているものである。新たにＲＡＭ２Ｂに格納されたｍｏｄｕｌｅＡ´、ｍｏｄｕｌｅＣ´は、それぞれｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣと同一の処理をするものであり、ｍｏｄｕｌｅＤ´はｍｏｄｕｌｅＤ上の機能αのあとに機能γを挿入したものである。また、メインルーチン上の変更は、アドレス２Ｂに位置する処理「ｃａｌｌ　ｍｏｄｕｌｅＡ」から「ｃａｌｌ　ｍｏｄｕｌｅＡ´」へ変更するのみである。
【００１３】
動作の説明について詳細は省くが大まかに説明すると、演算処理部１により、メインルーチンが実行され、メインルーチン上の処理によりｍｏｄｕｌｅＡ´を実行対象とし（矢印ａ１０１）「ｃａｌｌ　ｍｏｄｕｌｅＡ´」に示されるＲＡＭ２Ｂに格納されたｍｏｄｕｌｅＡ´の先頭アドレス２Ｇを読み出し、ｍｏｄｕｌｅＡ´が実行され、ｍｏｄｕｌｅＡ´上の処理によりｍｏｄｕｌｅＣ´を実行対象とし（矢印ａ１０２）「ｃａｌｌ　ｍｏｄｕｌｅＣ´」に示されるＲＡＭ２Ｂに格納されたｍｏｄｕｌｅＣ´の先頭アドレス２Ｉを読み出し、ｍｏｄｕｌｅＣ´が実行され、ｍｏｄｕｌｅＣ´上の処理によりｍｏｄｕｌｅＤ´を実行対象とし（矢印ａ１０３）「ｃａｌｌ　ｍｏｄｕｌｅＤ´」に示されるＲＡＭ２Ｂに格納されたｍｏｄｕｌｅＤ´の先頭アドレス２Ｋを読み出し、ｍｏｄｕｌｅＤ´が実行され、機能αの次に機能γが実行され、ｍｏｄｕｌｅＣ´に実行対象を戻して（矢印ａ１０４）残りのｍｏｄｕｌｅＣ´が実行され、ｍｏｄｕｌｅＡ´に実行対象を戻して（矢印ａ１０５）残りのｍｏｄｕｌｅＡ´が実行され、メインルーチンに実行対象を戻して（矢印ａ１０６）残りのメインルーチンが実行され、ｍｏｄｕｌｅＢに実行対象を戻して（矢印ａ１０７）、ｍｏｄｕｌｅＢが実行され、メインルーチンに実行対象を戻して（矢印ａ１０８）、以後メインルーチン上の処理を順次実行する。
【００１４】
従来のＤＳＰは、このように一見すると冗長な変更をＲＡＭ２Ｂに施さなければ仕様変更等に伴う変更に対応できず、変更の大きさが予見できなければできないほど、ＲＯＭより高価なＲＡＭを余分に備えなければならないという問題を有する。ここで、一般に、命令が下位であれば下位であるほど、つまり、命令の中で呼び出される命令の階層が深ければ深いほど、冗長な変更を施さなければならない。
【００１５】
本発明は、上記課題を解決するためになされたもので、仕様又は機能に変更が生じた場合でも出来るだけ小さな変更を施すことで対応でき、変更を想定した余分なＲＡＭの記録容量をできるだけ小さくしたＤＳＰを提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明に係るディジタルシグナルプロセッサは、変更不可能なリードオンリメモリ及び変更可能なランダムアクセスメモリからなり命令を格納する命令メモリと、前記命令により処理される情報を一時的に保持するデータメモリと、前記命令に基づいて情報の処理を実行する演算処理部とを備えたディジタルシグナルプロセッサにおいて、前記命令メモリに格納される命令のアドレスをランダムアクセスメモリからなるアドレス管理メモリに格納し、前記演算処理部が当該アドレス管理メモリに格納されている命令のアドレスを用いて動作するものである。このように本発明においては、前記命令メモリから命令を読み出して命令中の処理を演算処理部が実行し、命令中に命令を呼び出す処理があった場合に、演算処理部が呼び出す命令のアドレスを前記アドレス管理メモリから読み出し、当該アドレスに基づいて呼び出す命令を実行しているので、仕様変更および機能追加に伴って命令の変更が生じる場合に、変更が生じた命令のみを前記ランダムアクセスメモリに新たに格納し、アドレス管理メモリに格納されている変更が生じる前の命令の前記リードオンリメモリ上のアドレスの替わりに、変更を施した命令のランダムアクセスメモリ上のアドレスをアドレス管理メモリに格納し、アドレス管理メモリを用いて各命令のアドレスを演算処理部がアドレス管理することで、ランダムアクセスメモリ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なランダムアクセスメモリをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができる。
【００１７】
また、本発明に係るディジタルシグナルプロセッサは必要に応じて、前記ランダムアクセスメモリに格納される命令をメインルーチンとすると共に、前記リードオンリメモリに格納される複数命令を前記メインルーチンの命令に対するサブルーチンとし、前記サブルーチンである複数の命令を変更する場合に、当該変更に係る命令を前記ランダムアクセスメモリに格納し、前記変更に係る命令のアドレスを前記ランダムアクセスメモリのアドレス管理メモリに格納するものである。このように本発明においては、まず命令メモリからメインルーチンを読み出してメインルーチン中の処理を演算処理部が実行し、メインルーチン中にサブルーチンを呼び出す処理があった場合に、演算処理部が呼び出すサブルーチンのアドレスを前記アドレス管理メモリから読み出し、当該アドレスに基づいて呼び出す命令を実行しているので、仕様変更および機能追加に伴って命令の変更が生じる場合に、変更が生じたサブルーチンのみを前記ランダムアクセスメモリに新たに格納し、アドレス管理メモリに格納されている変更が生じる前のサブルーチンの前記リードオンリメモリ上のアドレスの替わりに、変更を施したサブルーチンのランダムアクセスメモリ上のアドレスをアドレス管理メモリに格納し、アドレス管理メモリを用いて各サブルーチンのアドレスを演算処理部がアドレス管理することで、ランダムアクセスメモリ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なランダムアクセスメモリをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができる。
【００１８】
また、本発明に係るディジタルシグナルプロセッサは必要に応じて、前記演算処理部が前記アドレス管理メモリの命令のアドレスを用いて情報の処理を実行するか、又は前記ランダムアクセスメモリ及びリードオンリメモリに格納される命令内の移動先情報を用いて情報の処理を実行するかを切り替えて実行するものである。このように本発明においては、演算処理部が命令のアドレスをアドレス管理メモリから読み出して情報の処理を実行することも、演算処理部が前記ランダムアクセスメモリ及びリードオンリメモリに格納される命令を構成する移動先情報を用いて情報の処理をすることも切り替えて選択的にできるので、仕様変更および機能追加に伴って命令を変更した後に、演算処理部がアドレス管理メモリを用いて変更後の命令のみを実行するだけではなく、演算処理部がアドレス管理メモリを用いず変更前の命令を実行することもできる。
【００１９】
また、本発明に係るディジタルシグナルプロセッサは必要に応じて、前記演算処理部が前記アドレス管理メモリの命令のアドレスを用いて動作するか否かの各命令のフラグを前記ランダムアクセスメモリのフラグ領域に格納し、前記演算処理部が命令毎に当該フラグに基づいて動作するものである。このように本発明においては、命令毎のフラグをフラグ領域に格納し、このフラグに基づいてフラグに対応する命令に関してアドレス管理メモリの命令のアドレスを用いて演算処理部が動作するか否かを決定して動作しているので、仕様変更および機能追加に伴って命令を変更した後に、変更後の命令のみを実行するだけではなく、フラグの設定によっては変更前の命令を命令毎に実行することもできる。
【００２０】
また、本発明に係る演算装置は、書き換え可能でない第１のメモリと、書き換え可能な第２のメモリと、該第１のメモリに格納されたプログラムの実行を行う演算処理部とを備えた演算装置において、該第１のメモリに格納されたいづれかの１のプログラムの命令文に前記第２のメモリの所定アドレスを特定する情報を含め、該アドレスに対応する前記第２のメモリの記録領域に前記第１のメモリに格納された前記１のプログラムの他のプログラムの先頭又は他のアドレスを格納し、前記演算処理部は、前記１のプログラムの命令文に含まれる前記所定のアドレス情報に従って、前記先頭又は他のアドレスを読み出し、前記第１のメモリの該先頭又は他のアドレスからの前記１のプログラムの他のプログラムの実行に移行するものである。このように本発明においては、予め第１のメモリに格納された複数のプログラムの各命令を適宜組み合わせて新たなプログラムとして実行でき、予め格納された複数のプログラムのいづれかを変更する場合に変更後の命令をＲＡＭに格納し、この変更後の命令と変更に係るプログラムとを組み合わせて新たなプログラムとして実施できる。
【００２１】
【発明の実施の形態】
（本発明の第１の実施形態）
本発明の第１の実施形態に係るＤＳＰについて図１ないし図３に基づいて説明する。図１は本実施形態に係るＤＳＰの全体構成ブロック図、図２は本実施形態に係るＤＳＰにおける動作説明図、図３は本実施形態に係るＤＳＰにおける命令変更後の動作説明図を示す。
前記図１において本実施形態に係るＤＳＰは、命令に従って処理を行う演算処理部１と、変更不可能なＲＯＭ２Ａおよび変更可能なＲＡＭ２Ｂからなり命令を格納する命令メモリ２と、ＲＯＭ３ＡおよびＲＡＭ３Ｂからなり各種定数を格納するテーブルメモリ３と、ＲＡＭからなり情報を一時的に保持するデータメモリ４と、前記命令メモリ２の命令を演算処理部１が認識可能な形式に復号する命令復号部５と、入出力部６とを備える従来のＤＳＰと同様の構成に加えて、命令メモリ２がＲＡＭからなるアドレス管理用のアドレス管理メモリ２Ｃを有し、演算処理部１がこのアドレス管理メモリ２Ｃを用いてアドレス管理を行うアドレス制御部７を有する構成である。
【００２２】
前記命令メモリ２は、図２に示すように、前記ＲＡＭ２Ｂにメインルーチンが（尚、ＲＡＭ２Ｂには前記ＲＯＭ２Ａに格納されたｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤ、ｍｏｄｕｌｅＢを変更した後の命令も格納するための領域がある。）格納される。また、前記アドレス管理メモリ２ＣにはＲＯＭ２Ａに格納された命令のアドレス（先頭アドレス）が格納される。尚、ＲＡＭ２Ｂに変更後のｍｏｄｕｌｅＡ等を格納した場合、アドレス管理メモリ２Ｃの対応アドレスを変更後のｍｏｄｕｌｅの先頭アドレスとして書き換え可能である。さらに、前記ＲＯＭ２Ａに前記メインルーチンに対してサブルーチンとして機能するｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤ、ｍｏｄｕｌｅＢが格納されているものである。
【００２３】
前記アドレス制御部７が「ｃａｌｌ」の処理により、現在実行している処理のアドレスに１インクリメントとした値を実行対象とする命令の名前に対応付けてアドレス保持領域４ａに格納し、「ｃａｌｌ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてその命令を実行対象とする。
【００２４】
まず、動作としては、命令復号部５がメインルーチンを読み出し、演算処理部１がメインルーチン上の処理を順次実行する。このメインルーチン上の処理で、アドレス２Ｂに位置する「ｃａｌｌ　ｍｏｄｕｌｅＡ」の処理により、アドレス制御部７が現在実行している処理のアドレス２Ｂに１インクリメントとした値を実行対象とするｍｏｄｕｌｅＡに対応付けてアドレス保持領域４ａに格納し、ｍｏｄｕｌｅＡに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＡを実行対象とする（矢印ａ１０１）。
【００２５】
ｍｏｄｕｌｅＡを実行対象とし、演算処理部１がｍｏｄｕｌｅＡ上の処理を順次実行する。このｍｏｄｕｌｅＡ上の処理で、アドレス１Ｆに位置する「ｃａｌｌ　ｍｏｄｕｌｅＣ」の処理により、アドレス制御部７が現在実行している処理のアドレス１Ｆに１インクリメントとした値を実行対象とする命令であるｍｏｄｕｌｅＣに対応付けてアドレス保持領域４ａに格納し、ｍｏｄｕｌｅＣに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＣを実行対象とする（矢印ａ１０２）。
【００２６】
ｍｏｄｕｌｅＣを実行対象とし、ｍｏｄｕｌｅＣ上の処理を順次実行する。このｍｏｄｕｌｅＣ上の処理で、アドレス１Ｈに位置する「ｃａｌｌ　ｍｏｄｕｌｅＤ」の処理により、アドレス制御部７が現在実行している処理のアドレス１Ｈに１インクリメントとした値を実行対象とする命令であるｍｏｄｕｌｅＤに対応付けてアドレス保持領域４ａに格納し、ｍｏｄｕｌｅＤに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅＤを実行対象とする（矢印ａ１０３）。
【００２７】
ｍｏｄｕｌｅＤを実行対象とし、ｍｏｄｕｌｅＤ上の処理を順次実行し、ｍｏｄｕｌｅＤ上の最後の処理「ｒｅｔｕｒｎ」により、アドレス制御部７がアドレス保持領域４ａに保持したｍｏｄｕｌｅＤに対応付けたアドレス１Ｈ＋１に実行対象を戻す（矢印ａ１０４）。ｍｏｄｕｌｅＣに戻り、アドレス１Ｈ＋１以降のｍｏｄｕｌｅＣの処理を順次実行し、ｍｏｄｕｌｅＣの最後の処理「ｒｅｔｕｒｎ」により、アドレス制御部７がアドレス保持領域４ａに保持したｍｏｄｕｌｅＣ上のアドレス１Ｆ＋１に実行対象を戻す（矢印ａ１０５）。ｍｏｄｕｌｅＡに戻り、アドレス１Ｆ＋１以降のｍｏｄｕｌｅＡの処理を順次実行し、ｍｏｄｕｌｅＡの最後の処理「ｒｅｔｕｒｎ」により、アドレス制御部７がアドレス保持領域に保持したｍｏｄｕｌｅＡに対応付けたアドレス２Ｂ＋１に実行対象を戻す（矢印ａ１０６）。
【００２８】
メインルーチンに実行対象を戻し、アドレス２Ｂ＋１以降のメインルーチンの処理を順次実行し、このメインルーチン上の処理で、アドレス２Ｃに位置する「ｃａｌｌ　ｍｏｄｕｌｅＢ」の処理により、アドレス制御部７が現在実行しているメインルーチン上のアドレス２Ｃに１インクリメントとした値を実行対象とする命令であるｍｏｄｕｌｅＢに対応付けてアドレス保持領域４ａに格納し、ｍｏｄｕｌｅＢに対応するアドレス１Ｋをアドレス管理メモリ２Ｃから読み出し、読み出したアドレス１Ｋを用いてｍｏｄｕｌｅＢを実行対象とする（矢印ａ１０７）。ｍｏｄｕｌｅＢを実行対象とし、ｍｏｄｕｌｅＢ上の処理を順次実行し、ｍｏｄｕｌｅＢ上の最後の処理「ｒｅｔｕｒｎ」により、アドレス制御部７がアドレス保持領域に保持したｍｏｄｕｌｅＢに対応付けたアドレス２Ｃ＋１に実行対象を戻す（矢印ａ１０８）。以後、演算処理部１がメインルーチン上のアドレス２Ｃ＋１以下の処理を順次実行する。
【００２９】
次に、本実施形態に係るＤＳＰに対する処理の機能追加およびその追加後の動作について具体的に説明する。図３は本実施形態に係るＤＳＰにおける命令変更後の動作説明図を示す。ここでは、従来の技術との比較が出来るように従来の技術で説明したときと同様に、ｍｏｄｕｌｅＤ上の機能αのあとに機能γを挿入する場合について説明する。
前記命令メモリ２は、図３に示すように、ＲＯＭ２ＡがＲＯＭの特質上により変更できないため依然前記ＲＯＭ２ＡにｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤ、ｍｏｄｕｌｅＢが格納されており、一方前記ＲＡＭ２Ｂにメインルーチンの他に、新たにｍｏｄｕｌｅＤ´のみが格納されているものである。新たにＲＡＭ２Ｂに格納されたｍｏｄｕｌｅＤ´はｍｏｄｕｌｅＤ上の機能αのあとに機能γを挿入したものである。なお、メインルーチン上の変更はない。
【００３０】
動作の説明について詳細は省くが大まかに説明すると（図３参照）、演算処理部１により、メインルーチンが実行され、メインルーチン上の処理によりｍｏｄｕｌｅＡを実行対象とし（矢印ａ１０１）、ｍｏｄｕｌｅＡが実行され、ｍｏｄｕｌｅＡ上の処理によりｍｏｄｕｌｅＣを実行対象とし（矢印ａ１０２）、ｍｏｄｕｌｅＣが実行され、ｍｏｄｕｌｅＣ上の処理によりｍｏｄｕｌｅＤを実行対象とせずｍｏｄｕｌｅＤ´を実行対象とし（矢印ａ１０３）、ｍｏｄｕｌｅＤ´が実行され、機能αの次に機能γが実行され、ｍｏｄｕｌｅＣに実行対象を戻して（矢印ａ１０４）残りのｍｏｄｕｌｅＣが実行され、ｍｏｄｕｌｅＡに実行対象を戻して（矢印ａ１０５）残りのｍｏｄｕｌｅＡが実行され、メインルーチンに実行対象を戻して（矢印ａ１０６）残りのメインルーチンが実行され、ｍｏｄｕｌｅＢを実行対象とし（矢印ａ１０７）、ｍｏｄｕｌｅＢが実行され、メインルーチンに実行対象を戻して（矢印ａ１０８）、以後メインルーチン上の処理を順次実行する。
【００３１】
このように本実施形態に係るＤＳＰによれば、命令メモリ２の一部を各命令のアドレスを格納するためのアドレス管理メモリ２Ｃに割り当て、前記演算処理部１のアドレス制御部７が現在実行している処理のアドレス位置に１インクリメントとした値を実行対象とする命令の名前に対応付けてアドレス保持領域４ａに格納し、「ｃａｌｌ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、読み出したアドレスを用いてこの命令を実行対象としているので、仕様変更および機能追加に伴う命令の変更が生じても、変更が生じた命令のみをＲＡＭ２Ｂに新たに格納し、アドレス管理メモリ２Ｃに格納されている変更が生じる前の命令（ここではｍｏｄｕｌｅＤ）のＲＯＭ２Ａ上のアドレスの替わりに、変更を施した命令（ここではｍｏｄｕｌｅＤ´）のＲＡＭ２Ｂ上のアドレスをアドレス管理メモリ２Ｃに格納しており、アドレス管理メモリ２Ｃを用いて各命令のアドレスをアドレス管理することで、ＲＡＭ２Ｂ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なＲＡＭをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができる。
【００３２】
なお、本実施形態に係るＤＳＰにおいて、演算処理部１がアドレス制御部７を有しているが、アドレス制御部７が演算処理部１から分離した構成とすることもできる。
また、本実施形態に係るＤＳＰにおいて、命令メモリ２がアドレス管理メモリ２Ｃを有しているが、アドレス管理メモリ２Ｃが命令メモリ２から分離した構成とすることもできる。
また、本実施形態に係るＤＳＰにおいて、アドレス制御部７が「ｃａｌｌ」の処理により、現在実行している処理のアドレスに１インクリメントとした値を実行対象とする命令の名前に対応付けてアドレス保持領域４ａに格納しているが、「ｃａｌｌ」の処理により、対象とする命令の名前に対応付けずに現在実行している処理のアドレスに１インクリメントとした値をアドレス保持領域に４ａに格納することもでき、アドレス保持領域４ａをスタックとして使用することができる。
【００３３】
（本発明の第２の実施形態）
本発明の第２の実施形態に係るＤＳＰについて図４ないし図６に基づいて説明する。図４は本実施形態に係るＤＳＰにおけるアドレス制御部７の動作フローチャート、図５および図６は本実施形態に係るＤＳＰにおける動作説明図を示す。本実施形態に係るＤＳＰは、前記第１の実施形態に係るＤＳＰと同様な構成であり、この構成に加えて、前記アドレス制御部７が「ｊｕｍｐ」の処理により、「ｊｕｍｐ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、読み出したアドレスを用いてこの命令を実行対象とすることを異にするものである。つまり、「ｃａｌｌ」の処理と「ｊｕｍｐ」の処理とでは、現在実行している処理のアドレス位置をアドレス保持領域７に保持するかしないかの違いがある。
【００３４】
「ｃａｌｌ」の処理と「ｊｕｍｐ」の処理とに関するアドレス制御部７の動作について、フローチャートで示すと図４となる。まず、アドレス制御部７は、処理が「ｃａｌｌ」または「ｊｕｍｐ」かどうか否かを判断し（ステップ１）、処理が「ｃａｌｌ」または「ｊｕｍｐ」でないと判断した場合に処理が「ｒｅｔｕｒｎ」であるかどうか否か判断する（ステップ５）。アドレス制御部７は、ステップ１において、処理が「ｃａｌｌ」または「ｊｕｍｐ」であると判断した場合は、更に、処理が「ｃａｌｌ」であるか否かについて判断し（ステップ２）、処理が「ｃａｌｌ」であると判断した場合に現在実行している処理のアドレスに１インクリメントとした値を実行対象とする命令に対応付けてアドレス保持領域４ａに格納する（ステップ３）。ステップ２で処理が「ｃａｌｌ」でないと判断した後に、または、ステップ３の後に、引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出す（ステップ４）。ステップ５において、処理が「ｒｅｔｕｒｎ」であると判断した場合、アドレス保持領域４ａに保持した命令に対応付けたアドレスを読み出す（ステップ６）。
【００３５】
前記命令メモリ２に、図５に示すように、前記ＲＯＭ２Ａにｍｏｄｕｌｅα、ｍｏｄｕｌｅβが格納され、前記ＲＡＭ２Ｂにメインルーチンが格納されているものである場合についての動作を以下説明する。
まず、動作としては、メインルーチンから始まり、演算処理部１がメインルーチン上の処理を順次実行する。このメインルーチン上の処理で、アドレス２Ｂに位置する「ｊｕｍｐ　ｍｏｄｕｌｅα」の処理により、アドレス制御部７がｍｏｄｕｌｅαに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅαを実行対象とする（矢印ａ１０１）。
【００３６】
ｍｏｄｕｌｅαを実行対象とした後、演算処理部１がｍｏｄｕｌｅα上の処理を順次実行する。このｍｏｄｕｌｅα上の処理で、アドレス１Ｆに位置する「ｊｕｍｐ　ｍｏｄｕｌｅβ」の処理により、アドレス制御部７がｍｏｄｕｌｅβに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅβを実行対象とする（矢印ａ１０２）。以後、演算処理部１がｍｏｄｕｌｅβ以下の処理を順次実行する。
【００３７】
次に、図６に示すように図５の動作と比べて、前記ＲＯＭ２Ａ中のｍｏｄｕｌｅαのアドレス１Ｆに位置する処理を、「ｊｕｍｐ　ｍｏｄｕｌｅβ」から「ｃａｌｌ　ｍｏｄｕｌｅβ」へ替えた場合に、つまり、ｃａｌｌとｊｕｍｐとの処理が混合した場合について説明する。
まず、動作としては、メインルーチンから始まり、演算処理部１がメインルーチン上の処理を順次実行する。このメインルーチン上の処理で、アドレス２Ｂに位置する「ｊｕｍｐ　ｍｏｄｕｌｅα」の処理により、アドレス制御部７がｍｏｄｕｌｅαに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅαを実行対象とする（矢印ａ１０１）。
【００３８】
ｍｏｄｕｌｅαを実行対象とし、演算処理部１がｍｏｄｕｌｅα上の処理を順次実行する。このｍｏｄｕｌｅα上の処理で、アドレス１Ｆに位置する「ｃａｌｌ　ｍｏｄｕｌｅβ」の処理により、アドレス制御部７が現在実行している処理のアドレス１Ｆに１インクリメントとした値を実行対象とする命令であるｍｏｄｕｌｅβに対応付けてアドレス保持領域４ａに格納し、ｍｏｄｕｌｅβに対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてＲＯＭ２Ａ上の命令ｍｏｄｕｌｅβを実行対象とする（矢印ａ１０２）。ｍｏｄｕｌｅβを実行対象とし、ｍｏｄｕｌｅβ上の処理を順次実行し、ｍｏｄｕｌｅβ上の最後の処理「ｒｅｔｕｒｎ」により、演算処理部１がアドレス保持領域に保持したｍｏｄｕｌｅβに対応付けたアドレス１Ｆ＋１に実行対象を戻す（矢印ａ１０３）。以後、演算処理部１がｍｏｄｕｌｅα以下の処理を順次実行する。
【００３９】
このように本実施形態に係るＤＳＰによれば、命令メモリ２一部を各命令のアドレスを格納するためのアドレス管理メモリ２Ｃ割り当て、前記アドレス制御部７が「ｃａｌｌ」の処理を実行する場合に、現在実行している処理のアドレスに１インクリメントとした値を実行対象とする命令に対応付けてアドレス保持領域４ａに格納し、「ｃａｌｌ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、読み出したアドレスを用いて命令を実行対象とし、一方「ｊｕｍｐ」の処理を実行する場合に、「ｊｕｍｐ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、読み出したアドレスを用いて命令を実行対象としているので、「ｃａｌｌ」だけでなく「ｊｕｍｐ」等の命令を呼び出す処理を処理演算部１がアドレス制御部７を介して実行することで、仕様変更および機能追加に伴う命令の変更が生じても、ＲＡＭ２Ｂ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なＲＡＭをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができる。
【００４０】
（本発明の第３の実施形態）
本発明の第３の実施形態に係るＤＳＰについて図７ないし図１０に基づいて説明する。図７は本実施形態に係るＤＳＰの全体構成ブロック図、図８は本実施形態に係るＤＳＰにおけるアドレス制御部７の動作フローチャート、図９および図１０は本実施形態に係るＤＳＰにおける動作説明図を示す。
本実施形態に係るＤＳＰは、前記第２の実施形態に係るＤＳＰと同様な構成であり、この構成に加えて、図７に示すように、命令メモリ２がＲＡＭからなり複数のフラグからなるフラグ領域２Ｄを有し、アドレス制御部７がこのフラグ領域２Ｄを用いて命令毎にアドレス制御部７を使用して動作するかしないかを判断して動作する構成である。
【００４１】
また、前記アドレス制御部７は、命令中の「ｃａｌｌ」（または「ｊｕｍｐ」）の処理がある場合に、「ｃａｌｌ」（または「ｊｕｍｐ」）の引数となっている命令に対応するフラグをフラグ領域２Ｄから読み出し、この読み出したフラグに基づいて、アドレス制御部７を使用して「ｃａｌｌ」（または「ｊｕｍｐ」）の処理を実行するか、若しくは、アドレス制御部７を使用せずに「ｃａｌｌ」（または「ｊｕｍｐ」）の処理を実行するかを命令毎に判断する。
【００４２】
「ｃａｌｌ」の処理と「ｊｕｍｐ」の処理とに関するアドレス制御部７の動作についてのフローチャートを示す図４に本実施形態に係るアドレス制御部７のフラグ領域２Ｄを用いた動作を追加したものが図８である。まず、アドレス制御部７は、処理が「ｃａｌｌ」または「ｊｕｍｐ」かどうか否かを判断し（ステップ１）、処理が「ｃａｌｌ」または「ｊｕｍｐ」でないと判断した場合に処理が「ｒｅｔｕｒｎ」であるかどうか否か判断する（ステップ５）。アドレス制御部７は、ステップ１において、処理が「ｃａｌｌ」または「ｊｕｍｐ」であると判断した場合は、「ｃａｌｌ」または「ｊｕｍｐ」の引数となっている命令に対応するフラグをフラグ領域２Ｄから読み出し（ステップ１１）、このフラグがｏｎであるか否かを判断する（ステップ１２）。アドレス制御部７がフラグがｏｎでないと判断した場合にアドレス制御部７の処理を終了し、フラグがｏｎであると判断した場合に、更に、処理が「ｃａｌｌ」であるか否かについて判断する（ステップ２）。以下、前記第２の実施形態でした図４の説明と同様のフローとなる。
【００４３】
前記命令メモリ２は、図９に示すように、前記ＲＯＭ２ＡにｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤおよびｍｏｄｕｌｅＢが格納され、前記ＲＡＭ２Ｂにメインルーチンおよび命令変更後のｍｏｄｕｌｅＤ´が格納され、前記フラグ領域２ＤにｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤおよびｍｏｄｕｌｅＢのフラグが全て「ｏｎ（１）」になっている場合、ｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣ、ｍｏｄｕｌｅＤおよびｍｏｄｕｌｅＢが「ｃａｌｌ」または「ｊｕｍｐ」の引数となって「ｃａｌｌ」または「ｊｕｍｐ」が処理されるとき、アドレス制御部７がアドレス管理メモリ２Ｃを用いてアドレス管理して動作するので、命令変更前のｍｏｄｕｌｅＤでなく命令変更後のｍｏｄｕｌｅＤ´が実行対象とされ、実行される。
【００４４】
次に、図１０に示すように、前記フラグ領域２ＤのｍｏｄｕｌｅＤのフラグのみｏｆｆ（０）にした場合、ｍｏｄｕｌｅＡ、ｍｏｄｕｌｅＣおよびｍｏｄｕｌｅＢが「ｃａｌｌ」または「ｊｕｍｐ」の引数となって「ｃａｌｌ」または「ｊｕｍｐ」が処理されるとき、アドレス制御部７がアドレス管理メモリ２Ｃを用いてアドレス管理して動作し、一方、ｍｏｄｕｌｅＤが「ｃａｌｌ」または「ｊｕｍｐ」の引数となって「ｃａｌｌ」または「ｊｕｍｐ」が処理されるとき、アドレス制御部７がアドレス管理せずに動作するので、命令変更後のｍｏｄｕｌｅＤ´でなく命令変更前のｍｏｄｕｌｅＤが実行対象とされて実行される。
【００４５】
このように本実施形態に係るＤＳＰによれば、命令メモリ２がＲＡＭからなる複数のフラグからなるフラグ領域２Ｄを有し、アドレス制御部７がこのフラグ領域２Ｄを用いて命令毎にアドレス管理メモリ２Ｃを使用して動作するかしないかを判断して動作するので、命令毎に変更前の命令、または、変更後の命令を実行するかしないかを柔軟に決定することができる。
【００４６】
なお、本実施形態に係るＤＳＰにおいては、フラグの状態が「ｏｎ（１）」および「ｏｆｆ（０）」の２つであるが、フラグの状態を複数持たせることもでき、命令変更前の命令および命令変更後の命令だけでなく命令変更前の命令よりも前の命令にも対応することができ、フラグの状態によってこの命令変更前の命令よりも前の命令を実行することもできる。
また、本実施形態に係るＤＳＰにおいては、フラグを設定する処理を置くこともでき、各命令中に命令を呼び出す処理を置く前に、フラグを設定する処理を置き、変更前の命令、または、変更後の命令のどちらを実行するのかを実行途中で変更することができる。
【００４７】
（その他の実施形態）
前記各実施形態に係るＤＳＰにおいては、常にアドレス制御部７を動作させ、「ｃａｌｌ」の処理により、現在実行している処理のアドレスに１インクリメントとした値をジャンプする命令に対応付けてアドレス保持領域４ａに格納し、「ｃａｌｌ」の引数となっている命令に対応するアドレスをアドレス管理メモリ２Ｃから読み出し、この読み出したアドレスを用いてその命令を実行対象としているが、アドレス制御部７を使用するかしないかのスイッチを演算処理部１に備えることもでき、スイッチの切り替えにより、アドレス制御部７を使用する場合に仕様変更等に伴う命令変更後の命令を実行することができ、さらに、アドレス制御部７を使用しない場合に仕様変更等に伴う命令変更前の命令を実行することができる。ここでは、命令変更前の命令および命令変更後の命令の２段階としているが、スイッチの切り替えを多段階として複数のモードを持たせることもできる。さらに、このスイッチを演算処理部１に備えた構成となっているが、スイッチを演算処理部１から分離した構成とすることもできる。
【００４８】
【発明の効果】
以上のように本発明においては、前記命令メモリから命令を読み出して命令中の処理を演算処理部が実行し、命令中に命令を呼び出す処理があった場合に、演算処理部が呼び出す命令のアドレスを前記アドレス管理メモリから読み出し、当該アドレスに基づいて呼び出す命令を実行しているので、仕様変更および機能追加に伴って命令の変更が生じる場合に、変更が生じた命令のみを前記ランダムアクセスメモリに新たに格納し、アドレス管理メモリに格納されている変更が生じる前の命令の前記リードオンリメモリ上のアドレスの替わりに、変更を施した命令のランダムアクセスメモリ上のアドレスをアドレス管理メモリに格納し、アドレス管理メモリを用いて各命令のアドレスを演算処理部がアドレス管理することで、ランダムアクセスメモリ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なランダムアクセスメモリをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができるという効果を奏する。
【００４９】
また、本発明においては、まず命令メモリからメインルーチンを読み出してメインルーチン中の処理を演算処理部が実行し、メインルーチン中にサブルーチンを呼び出す処理があった場合に、演算処理部が呼び出すサブルーチンのアドレスを前記アドレス管理メモリから読み出し、当該アドレスに基づいて呼び出す命令を実行しているので、仕様変更および機能追加に伴って命令の変更が生じる場合に、変更が生じたサブルーチンのみを前記ランダムアクセスメモリに新たに格納し、アドレス管理メモリに格納されている変更が生じる前のサブルーチンの前記リードオンリメモリ上のアドレスの替わりに、変更を施したサブルーチンのランダムアクセスメモリ上のアドレスをアドレス管理メモリに格納し、アドレス管理メモリを用いて各サブルーチンのアドレスを演算処理部がアドレス管理することで、ランダムアクセスメモリ上の領域を出来るだけ消費せずに変更に対応することができ、変更を想定した余分なランダムアクセスメモリをできるだけ小さくすることができ、コスト、消費電力およびスペースの低減化を可能とすることができるという効果を有する。
【００５０】
また、本発明においては、演算処理部が命令のアドレスをアドレス管理メモリから読み出して情報の処理を実行することも、演算処理部が前記ランダムアクセスメモリ及びリードオンリメモリに格納される命令を構成する移動先情報を用いて情報の処理をすることも切り替えて選択的にできるので、仕様変更および機能追加に伴って命令を変更した後に、演算処理部がアドレス管理メモリを用いて変更後の命令のみを実行するだけではなく、演算処理部がアドレス管理メモリを用いず変更前の命令を実行することもできるという効果を有する。
【００５１】
また、本発明においては、命令毎のフラグをフラグ領域に格納し、このフラグに基づいてフラグに対応する命令に関してアドレス管理メモリに格納された命令のアドレスを用いてアドレス制御部が動作するか否かを決定して動作しているので、仕様変更および機能追加に伴って命令を変更した後に、変更後の命令のみを実行するだけではなく、フラグの設定によって変更前の命令を命令単位ごとに実行することもできるという効果を有する。
【００５２】
また、本発明においては、予め第１のメモリに格納された複数のプログラムの各命令を任意に組み合わせて新たなプログラムとして実行できるという効果を有する。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るＤＳＰの全体構成ブロック図である。
【図２】本発明の第１の実施形態に係るＤＳＰにおける動作説明図である。
【図３】本発明の第１の実施形態に係るＤＳＰにおける命令変更後の動作説明図である。
【図４】本発明の第２の実施形態に係るＤＳＰにおけるアドレス制御部の動作フローチャートである。
【図５】本発明の第２の実施形態に係るＤＳＰにおける動作説明図である。
【図６】本発明の第２の実施形態に係るＤＳＰにおける動作説明図である。
【図７】本発明の第３の実施形態に係るＤＳＰの全体構成ブロック図である。
【図８】本発明の第３の実施形態に係るＤＳＰにおけるアドレス制御部の動作フローチャートである。
【図９】本発明の第３の実施形態に係るＤＳＰにおける動作説明図である。
【図１０】本発明の第３の実施形態に係るＤＳＰにおける動作説明図である。
【図１１】従来のＤＳＰの全体ブロック構成図である。
【図１２】従来のＤＳＰにおける動作説明図である。
【図１３】従来のＤＳＰにおける命令変更後の動作説明図である。
【符号の説明】
１　演算処理部
２　命令メモリ
２Ａ、３Ａ　ＲＯＭ
２Ｂ、３Ｂ　ＲＡＭ
２Ｃ　アドレス管理メモリ
２Ｄ　フラグ領域
３　テーブルメモリ
４　データメモリ
４ａ　アドレス保持領域
５　命令復号部
６　入出力部
７　アドレス制御部
８　スイッチ
【図１】
2004054850.tif 000003
【図２】
2004054850.tif 000004
【図３】
2004054850.tif 000005
【図４】
2004054850.tif 000006
【図５】
2004054850.tif 000007
【図６】
2004054850.tif 000008
【図７】
2004054850.tif 000009
【図８】
2004054850.tif 000010
【図９】
2004054850.tif 000011
【図１０】
2004054850.tif 000012
【図１１】
2004054850.tif 000013
【図１２】
2004054850.tif 000014
【図１３】
2004054850.tif 000015