JP3625060B2 - インストラクション実行装置及びインストラクション実行方法 - Google Patents
インストラクション実行装置及びインストラクション実行方法 Download PDFInfo
- Publication number
- JP3625060B2 JP3625060B2 JP2001320376A JP2001320376A JP3625060B2 JP 3625060 B2 JP3625060 B2 JP 3625060B2 JP 2001320376 A JP2001320376 A JP 2001320376A JP 2001320376 A JP2001320376 A JP 2001320376A JP 3625060 B2 JP3625060 B2 JP 3625060B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- memory
- ring memory
- jump
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、例えば、パターンアドレスを発生するインストラクション実行装置及びインストラクション実行方法に関し、リングメモリの容量を越えるループ動作ができるインストラクション実行装置及びインストラクション実行方法に関するものである。
【0002】
【従来の技術】
ICテスタは、被試験対象に試験パターンを与え、被試験対象の出力と期待値パターンとを比較し、良否の判定を行っている。そして、試験パターンと期待値パターンとは、パターンメモリに格納され、このパターンメモリにパターンアドレスをアドレス発生装置(インストラクション実行装置)により与えている。このようなアドレス発生装置を図8に示し説明する。
【0003】
図8において、インストラクションメモリ1はDRAM(ダイナミック・ランダム・アクセス・メモリ)で、インストラクションを記憶する。DRAMコントローラ2は、インストラクションメモリ1にアドレスを与える。リングメモリ3はSRAM(スタティック・ランダム・アクセス・メモリ)で、インストラクションメモリ1からのインストラクションを入力し記憶する。また、リングメモリ3は、同期式デュアルポートメモリである。
【0004】
リングメモリ書込部4は、DRAMコントローラ2を制御すると共に、リングメモリ3にライトイネーブル、ライトアドレスを出力する。また、リングメモリ書込部4は、リングメモリライトコントローラ40、加算器41、マルチプレクサ42、レジスタ43からなる。
【0005】
リングメモリライトコントローラ40は、DRAMコントローラ2を制御すると共に、リングメモリ3にライトイネーブルを出力し、選択信号を出力する。加算器41は、リングメモリ3のライトアドレスに1を加算する。マルチプレクサ42は、加算器41の出力とリングメモリ3のライトアドレスと入力し、リングメモリコントローラ40の選択信号により選択を行う。レジスタ43は、マルチプレクサ43の出力を保持し、リングメモリ3のライトアドレスを出力する。
【0006】
アドレス発生部5は、リングメモリ3からのインストラクションに基づいて、リングメモリ3のリードアドレスを与え、リングメモリ3のボトムアドレスを出力し、パターンアドレスを発生する。また、アドレス発生部5は、インストラクション実行部50、加算器51,52、マルチプレクサ53〜55、レジスタ56〜58、減算器59からなる。
【0007】
インストラクション実行部50は、リングメモリ3のインストラクションを入力し解釈を行い、3つの選択信号、ジャンプデータ、ジャンプアドレスを出力する。加算器51は、パターンアドレスに1を加算する。マルチプレクサ53は、加算器51の出力、パターンアドレス、インストラクション実行部50からのジャンプアドレスを入力し、インストラクション実行部50の選択信号により選択を行う。レジスタ56は、マルチプレクサ53の出力を保持し、パターンアドレスを出力する。
【0008】
加算器52は、レジスタ57の出力に1を加算する。減算器59は、レジスタ57の出力からインストラクション実行部50のジャンプデータを減算する。マルチプレクサ54は、加算器52の出力、減算器59の出力、レジスタ57の出力を入力し、インストラクション実行部50の選択信号により選択を行い、リングメモリ3のリードアドレスを出力する。レジスタ57は、マルチプレクサ54の出力を保持する。
【0009】
マルチプレクサ55は、加算器52の出力とボトムアドレスとを入力し、インストラクション実行部50の選択信号により選択を行う。レジスタ58は、マルチプレクサ55の出力を保持し、ボトムアドレスを出力する。
【0010】
比較部6は、リングメモリ3のライトアドレスとアドレス発生部5のボトムアドレスとを入力し、ボトムアドレスから所定数を減算し、ライトアドレスとを比較し、リングメモリ書込部4の書き込みを制限する。所定数は、リングメモリ3のライトアドレスとリードアドレスとを一定以上近づかないように設定される。比較部6は、減算器60、コンパレータ61からなる。減算部60は、レジスタ58のボトムアドレスから所定数を減算する。コンパレータ61は、リングメモリ3のライトアドレスと減算器60の出力とを比較し、比較結果を、リングメモリライトコントローラ40に入力し、書き込み動作を制限させる。
【0011】
ここで、インストラクションメモリ1、DRAMコントローラ2、リングメモリ3のライト側、リングメモリ書込部4はクロックで同期され、リングメモリ3のリード側、アドレス発生部5はレートで同期される。レートとは、ICテスタの動作周期を示す信号で、クロックより周波数が低い。
【0012】
このような装置の動作を以下に説明する。図9は図8に示す装置の動作を説明する図である。ここで、リングメモリ3はイメージで示し、アドレスは2n−1(n:自然数)の次を0として動作し、反時計方向にアドレスは増加する。そして、WP(ライトポイント)は現在のライト位置で、レジスタ43で示される。RP(リードポイント)は現在のリード位置で、レジスタ57で示される。BP(ボトムポイント)は現在のリード終了位置で、レジスタ58で示される。
【0013】
クロック動作で、リングメモリライトコントローラ40は、リングメモリ3にライトイネーブルを与え、DRAMコントローラ2の制御を行う。これにより、DRAMコントローラ2がインストラクションメモリ1にアドレスを与え、インストラクションメモリ1がインストラクションを出力する。このインストラクションを、リングメモリ3はレジスタ43のライトアドレスに記憶する。
【0014】
そして、リングメモリライトコントローラ40は、通常、マルチプレクサ42に加算器41を選択させる。これにより、レジスタ43は、前回の保持したライトアドレスに1を増加したアドレスを保持して、リングメモリ3に与える。
【0015】
レート動作で、マルチプレクサ54はリードアドレスをリングメモリ3に与え、リングメモリ3はインストラクションを出力する。このインストラクションをインストラクション実行部50は入力し解釈して、マルチプレクサ53を選択する。これにより、レジスタ56は、前回の保持したパターンアドレス、または、前回の保持したパターンアドレスに1を増加したパターンアドレスを保持して出力する。
【0016】
また、インストラクション実行部50は、通常、マルチプレクサ54,55に加算器52を選択させる。これにより、レジスタ57は、前回の保持したリードアドレスに1を増加したアドレスを保持する。レジスタ58は、レジスタ57と同一のアドレスを保持する。
【0017】
そして、減算器60は、レジスタ58が保持するボトムアドレスから所定数を減算する。コンパレータ61が、レジスタ43のライトアドレスと減算器60の出力とを比較し、減算器60の出力より大きくなれば、リングメモリ40に対して通知を行う。この通知により、リングメモリライトコントローラ40は、ライトイネーブルの出力を止めて、マルチプレクサ42にレジスタ43の出力を選択させ、DRAMコントローラ2に対して動作を中止させる。
【0018】
アドレス発生部5の動作が進み、リードアドレスが進み、比較部6がリードアドレスとライトアドレスの差が所定数以上あれば、リングメモリ書込部4への通知を解除する。これにより、リングメモリ書込部4(リングメモリライトコントローラ40)はライトイネーブルをリングメモリ3に出力すると共に、マルチプレクサ42に加算器41の出力を選択させ、DRAMコントローラ2に動作を開始させる。
【0019】
以上のような動作により、図9(a)の状態、つまり、ボトムポインタとリードポインタが同じ動作を行い、リードポインタとボトムポインタが所定数の間隔で、リングメモリ3にインストラクションがインストラクションメモリ1から書き込まれる。
【0020】
そして、リングメモリ3からのインストラクションがジャンプの場合、インストラクション実行部50は、ジャンプデータを減算器59に出力し、マルチプレクサ54に減算器59を選択させ、マルチプレクサ55にレジスタ58の出力を選択させる。この結果、レジスタ57は、前回のアドレスからジャンプデータを減算したアドレスを保持する。レジスタ58は、前回のアドレスを保持したままとなる。つまり、図9(b)に示す状態となる。また、インストラクション実行部50は、ジャンプアドレスをマルチプレクサ53に出力し、マルチプレクサ53にジャンプアドレスを選択させる。このマルチプレクサ53の出力をレジスタ56が入力し、パターンアドレスとして出力する。
【0021】
アドレス発生部5は、リードアドレス、つまり、ジャンプしたアドレスで、リングメモリ3からインストラクションを読み込む。このとき、通常、ライトポイントとリードポイントが所定の差になっているので、リングメモリ書込部4は、上述のように、インストラクションメモリ1のインストラクションをリングメモリ3に書き込ませないように動作する。
【0022】
そして、インストラクション実行部50は、リングメモリ3からのインストラクションにより、マルチプレクサ53,54にそれぞれ加算器51,52を選択させる。これにより、レジスタ57は、前回のリードアドレスに1を増加したアドレスを出力する。つまり、図9(c)の状態になる。
【0023】
アドレス発生部5がリードアドレスを進め、ボトムポイントと一緒になり、再び、インストラクションがジャンプの場合、図9(b)の状態に戻り、ジャンプでない場合、図9(a)の状態に戻る。図9(a)の状態に戻ると、インストラクション実行部50はマルチプレクサ55に加算器52を選択させる。
【0024】
以上のような動作を繰り返し、インストラクションメモリ1のインストラクションを実行して、パターンアドレスを出力している。
【0025】
【発明が解決しようとする課題】
インストラクションメモリ1は、安価な大容量のDRAMで構成されているため、リフレッシュ、ローアドレス切り替え等の発生で常に一定周期でデータの読み出しを行うことができない。そこで、インストラクションを、高価な小容量のリングメモリ3に一旦格納してから実行を行っている。
【0026】
しかし、リングメモリ3の容量内でしかループ動作を行うことができない。そのため、インストラクションを注意して作成しなければならない。また、インストラクションの自由度が低下してしまうという問題点があった。
【0027】
そこで本発明の目的は、リングメモリの容量を越えるループ動作ができるインストラクション実行装置及びインストラクション実行方法を実現することにある。
【0028】
【課題を解決するための手段】
請求項1記載の本発明は、
インストラクションメモリのインストラクションをリングメモリに一旦記憶させ、このリングメモリからのインストラクションを実行するインストラクション実行装置において、
前記インストラクションメモリにアドレスを与えると共に、前記リングメモリに一旦記憶させるインストラクションにより、飛び先のインストラクションを検出し、インストラクションメモリの飛び先アドレスを保持し、飛び元のインストラクションを検出し、飛び先アドレスをインストラクションメモリに与えるアドレスコントローラと、
前記リングメモリからインストラクションを連続して読み出し、インストラクションを実行するインストラクション処理部と
を設けたことを特徴とするものである。
【0029】
請求項2記載の本発明は、請求項1記載の本発明において、
インストラクション処理部は、
リングメモリのインストラクションを読み出し、インストラクションを実行してアドレスを発生するアドレス発生部と、
リングメモリから読み出されるインストラクションを入力し、飛び先のインストラクションを検出し、前記アドレス発生部が発生するアドレスを保持し、飛び元のインストラクションを検出し、アドレス発生部に保持したアドレスを出力させるジャンプ処理部と
を有することを特徴とするものである。
【0030】
請求項3記載の本発明は、請求項1または2記載の本発明において、
アドレスコントローラは、リングメモリの容量を越えるインストラクションのジャンプを検出し、インストラクション処理部は、リングメモリの容量を越えないインストラクションのジャンプのとき、リングメモリからインストラクションをジャンプして読み出し、インストラクションを実行することを特徴とするものである。
【0031】
請求項4記載の本発明は、
インストラクションメモリのインストラクションをリングメモリに一旦記憶させ、このリングメモリからのインストラクションを実行するインストラクション実行方法において、
前記インストラクションメモリにアドレスを与えると共に、前記リングメモリに一旦記憶させるインストラクションにより、飛び先のインストラクションを検出し、インストラクションメモリの飛び先アドレスを保持し、飛び元のインストラクションを検出し、飛び先アドレスをインストラクションメモリに与え、
前記リングメモリからインストラクションを連続して読み出し、インストラクションを実行することを特徴とするものである。
【0032】
請求項5記載の本発明は、請求項4記載の本発明において、
リングメモリの容量を越えるインストラクションのジャンプを検出し、
リングメモリの容量を越えないインストラクションのジャンプのとき、リングメモリからインストラクションをジャンプして読み出し、インストラクションを実行することを特徴とするものである。
【0033】
請求項6記載の本発明は、請求項4または5記載の本発明において、
インストラクションによりアドレスを発生することを特徴とするものである。
【0038】
【発明の実施の形態】
以下図面を用いて本発明の実施の形態を説明する。図1は本発明の一実施例を示した構成図である。ここで、図8と同一のものは同一符号を付し説明を省略する。
【0039】
図1において、インストラクションメモリ11は、インストラクションメモリ1の代わりに設けられ、図2(a)に示すように、JUMPビット、MARKビットが付加されたインストラクションを記憶する。JUMPビットは、ロングジャンプ元のインストラクションであることを示すビットで、MARKビットは、ロングジャンプ先のインストラクションであることを示すビットである。ここで、ロングジャンプとは、リングメモリ3の容量を越えるジャンプを意味する。
【0040】
アドレスコントローラ7は、DRAMコントローラ2の代わりに設けられ、インストラクションメモリ11にアドレスを与える。また、アドレスコントローラ7は、DRAMコントローラ71、第1のジャンプ処理部72からなる。
【0041】
DRAMコントローラ71は、リングメモリライトコントローラ40により制御され、インストラクションメモリ11にアドレスを与える。ジャンプ処理部72は、リングメモリ3に一旦記憶させるインストラクションにより、飛び先のインストラクションを検出し、インストラクションメモリ1の飛び先アドレスを保持すると共に、飛び元のインストラクションを検出し、飛び先アドレスを、DRAMコントローラ71を介して、インストラクションメモリ11に与える。また、ジャンプ処理部72は、アドレス保持回路721、検出回路722からなる。
【0042】
アドレス保持回路721は、図2(b)に示すように、有効ビットと共に、DRAMコントローラ71のアドレスを保持する。検出回路722は、インストラクションメモリ11が出力するインストラクション、アドレス保持回路721のアドレスに基づいて、DRAMコントローラ71を制御し、アドレス保持回路721のアドレスを出力させる。
【0043】
第2のジャンプ処理部8は、リングメモリ3からのインストラクションにより、飛び先のインストラクションを検出し、インストラクションが実行された実行データ(パターンアドレス)を保持すると共に、飛び元のインストラクションを検出し、実行データを与える。第2のジャンプ処理部8は、アドレス保持回路81、検出回路82からなる。
【0044】
インストラクション実行部501は、インストラクション実行部50の代わりに設けられ、リングメモリ3のインストラクションを入力し解釈を行い、3つの選択信号とジャンプデータを出力する。マルチプレクサ531は、マルチプレクサ53の代わりに設けられ、加算器51の出力、パターンアドレス、アドレス保持回路81のパターンアドレスを入力し、インストラクション実行部501の選択信号により選択を行う。ここで、アドレス発生部5、ジャンプ処理部8は、インストラクション処理部を構成する。
【0045】
このような装置の動作を以下で説明する。図3は図1に示す装置の動作を説明する図である。(a)はインストラクションメモリ11に記憶するインストラクション、(b)はリングメモリ3に記憶するインストラクションを示す。また、”Mark”はMARKビット、”JUMP”はJUMPビット、”A,B”はラベルを示し、各インストラクションは以下のような意味をなす。
【0046】
NOP:ノーオペレーション
STI1:図示しないIDX1レジスタにオペランドを設定する命令(ここでは”1”を設定)
STI2:図示しないIDX2レジスタにオペランドを設定する命令(ここでは”1”を設定)
JNI1:「IDX1レジスタ値」回だけオペランドに指定された飛び先アドレスとの間をループする命令
JNI2:「IDX2レジスタ値」回だけオペランドに指定された飛び先アドレスとの間をループする命令
【0047】
リングメモリ3の領域を越えるジャンプ以外の動作は図8に示す装置と同じ動作で、ジャンプ処理部72,8は何も行わないので説明を省略する。まず始めに、リングメモリ3への書込み動作について説明する。
【0048】
インストラクションメモリ11の出力がインストラクションa1となり、検出回路722がMARKビットを検出する。そして、検出回路722は、最初に出会ったインストラクション(ジャンプで飛んできたのではない)なので、アドレス保持回路721に指示する。アドレス保持回路721は、DRAMコントローラ71が出力するアドレスを、セットした有効ビットと共に保持する。ここで、最初に出会ったインストラクションかどうかは、例えば、ラベル”A”を検出回路722が保持して同じラベルかどうかで判断を行う。
【0049】
同様に、インストラクションメモリ11の出力がインストラクションa2となり、検出回路722がMARKビットを検出する。そして、検出回路722は、最初に出会ったインストラクションなので、アドレス保持回路721に指示する。アドレス保持回路721は、DRAMコントローラ71が出力するアドレスを、セットした有効ビットと共に保持する。
【0050】
そして、インストラクションメモリ11の出力がインストラクションa3となり、検出回路722がJUMPビットを検出する。検出回路722は、保持回路721のアドレスに有効ビットが設定されているかどうか判断する。有効ビットが設定されているので、検出回路722は、DRAMコントローラ71に保持回路721のアドレスをロードさせる。そして、DRAMコントローラ71は、保持回路721からのアドレスから再び順次アドレスをインストラクションメモリ11に与える。
【0051】
このとき、リングメモリ書込部4の動作は図8に示す装置と同一なので、説明を省略する。この結果、図3(b)に示すようにリングメモリ3に書き込まれる。
【0052】
次に、リングメモリ3からの読み出し動作について説明する。リングメモリ3の出力がインストラクションb1となり、検出回路82がMARKビットを検出する。そして、検出回路82は、最初に出会ったインストラクションなので、アドレス保持回路81に指示する。アドレス保持回路81は、レジスタ56が出力するパターンアドレスを、セットした有効ビットと共に保持する。アドレス発生部5は、図8に示す装置と同様なので説明を省略する。
【0053】
同様に、リングメモリ3の出力がインストラクションb2となり、最初に出会ったインストラクションなので、検出回路82、アドレス保持回路81は上記と同じ動作を行う。
【0054】
そして、リングメモリ3の出力がインストラクションb3となり、検出回路82がJUMPビットを検出する。検出回路82は、アドレス保持回路81のアドレスに有効ビットが設定されているかどうか判断する。有効ビットが設定されているので、検出回路82は、インストラクション実行部501、アドレス保持回路81に通知すると共に、IDX1レジスタの値が”1”で、最後のジャンプなのでアドレス保持回路81のアドレスの有効ビットをリセットする。アドレス保持回路81は、保持しているパターンアドレスを出力する。
【0055】
インストラクション実行部501は、アドレス保持回路81が出力するパターンアドレスに、マルチプレクサ531を選択させる。また、インストラクション501は、ジャンプデータを出力せずに、マルチプレクサ54を加算器52の出力に選択させ、リードアドレスを次に進ませる。つまり、リングメモリ3のアドレスはジャンプさせずに継続させる。
【0056】
次に、リングメモリ3の出力がインストラクションb4となり、検出回路82がMARKビットを検出する。そして、検出回路82は、最初に出会ったインストラクションではないので、何も行わない。アドレス発生部5は、図8に示す装置と同様なので説明を省略する。
【0057】
インストラクションb5となり、検出回路82がJUMPビットを検出する。検出回路82は、アドレス保持回路81のアドレスに有効ビットが設定されているかどうか判断する。有効ビットがリセット状態なので、検出回路82は何も行わない。アドレス発生部5は図8に示す装置の動作と同様の動作を行う。
【0058】
そして、リングメモリ3の出力がインストラクションb6となり、検出回路82がJUMPビットを検出する。検出回路82は、アドレス保持回路81のアドレスに有効ビットが設定されているかどうか判断する。有効ビットが設定されているので、検出回路82は、インストラクション実行部501、アドレス保持回路81に通知すると共に、IDX1レジスタの値が”1”で、最後のジャンプなので、アドレス保持回路81のアドレスの有効ビットをリセットする。アドレス保持回路81は、保持しているパターンアドレスを出力する。
【0059】
インストラクション実行部501は、アドレス保持回路81が出力するパターンアドレスに、マルチプレクサ531を選択させる。また、インストラクション501は、ジャンプデータを出力せずに、マルチプレクサ54を加算器52の出力に選択させ、リードアドレスを次に進ませる。つまり、リングメモリ3のアドレスはジャンプさせずに継続させる。
【0060】
このように、ジャンプ処理部7がロングジャンプを検出して、リングメモリ3に飛び先以降のインストラクションをリングメモリ3に連続して書き込むので、リングメモリ3の領域を越えるロングジャンプができる。
【0061】
次に、第2の実施例を図4に示し説明する。ここで、図8と同一のものは同一符号を付し説明を省略する。
【0062】
図4において、リングメモリ31,32はSRAMで、リングメモリ3の代わりに設けられ、インストラクションメモリ1からのインストラクションを入力し記憶する。マルチプレクサ33は選択部で、リングメモリ31,32のインストラクションを選択し、アドレス発生部5に出力する。
【0063】
デコーダ44は、リングメモリ書込部4に新たに設けられ、インストラクションメモリ1からのインストラクションを入力し、解釈を行う。リングメモリライトコントローラ45は、リングメモリライトコントローラ40の代わりに設けられ、デコーダ44の出力、比較部6の出力、制御信号を入力し、DRAMコントローラ2を制御すると共に、リングメモリ31,32にライトイネーブルを出力し、選択信号を出力し、ライトアドレスの調整を行う。
【0064】
レジスタ46は、リングメモリ書込部4に新たに設けられ、リングメモリライトコントローラ45の調整により、レジスタ43のライトアドレスを保持し、ライトアドレスの変更が行われる。マルチプレクサ47は、マルチプレクサ43の代わりに設けられ、加算器41の出力、レジスタ43,46の出力を入力し、リングメモリライトコントローラ45の選択信号により選択し、レジスタ43に出力する。ここで、DRAMコントローラ2、リングメモリ書込部4はアドレスコントローラを構成する。
【0065】
インストラクション実行部502は、インストラクション実行部50の代わりに設けられ、マルチプレクサ33に選択信号、リングメモリライトコントローラ45に制御信号を与えると共に、マルチプレクサ33からインストラクションを入力し解釈を行い、3つの選択信号、ジャンプデータ、ジャンプアドレスを出力する。ここで、アドレス発生部5はインストラクション処理部を構成する。
【0066】
このような装置の動作を以下に説明する。図5〜7は図4に示す装置の動作を説明する図である。図6は分岐成立の場合の動作を示し、図7は分岐不成立の場合の動作を示す。ここで、図9と同様にリングメモリ31,32をイメージで示している。なお、細部動作は、図8に示す装置と同様なので随時省略する。
【0067】
図5(a)のとき、クロック動作で、リングメモリライトコントローラ45は、リングメモリ31,32にライトイネーブルを与え、DRAMコントローラ2の制御を行う。これにより、DRAMコントローラ2がインストラクションメモリ1にアドレスを与え、インストラクションメモリ1がインストラクションを出力する。このインストラクションを、リングメモリ31,32はレジスタ43のライトアドレスに記憶する。そして、デコーダ44は、インストラクションメモリ1からのインストラクションを解釈して、リングメモリライトコントローラ45に渡す。リングメモリライトコントローラ45は、分岐(ジャンプ、条件分岐等)でないとき、リングメモリ3がリングメモリ31,32に代わっただけで、リングメモリライトコントローラ40と同様の動作を行う。
【0068】
そして、分岐(ジャンプ、条件分岐等)のとき、リングメモリライトコントローラ45は、図5(c)に示すように、リングメモリ32に対するライトイネーブルを止めて、レジスタ46にライトアドレスを保持させる。このとき、リングメモリ31側は、図5(b)に示すように、継続して所定数ライトアドレスを進めて、図5(d)に示すように、リングメモリライトコントローラ45は、リングメモリ3に対するライトイネーブルを止めて、書き込みを止める。
【0069】
次に、リングメモリライトコントローラ45は、DRAMコントローラ2に飛び先アドレスの指示を与え、DRAMコントローラ2は、飛び先アドレスから順次アドレスを出力する。そして、リングメモリライトコントローラ45は、リングメモリ32にライトイネーブルを出力する。同時に、リングメモリライトコントローラ45は、マルチプレクサ47にレジスタ46のライトアドレスを出力させてから、マルチプレクサ47を再び加算器41を選択させる。この結果、図5(e)に示すように、飛び先アドレスのインストラクションがリングメモリ32に書き込まれる。
【0070】
レート動作で、インストラクション実行部502は、マルチプレクサ33にリングメモリ31を選択させ、インストラクションを実行する。ここで、リングメモリ31を選択させたが、インストラクションは同一のなので、リングメモリ32でもよい。インストラクションが、分岐(ジャンプ等)でジャンプする場合、インストラクション実行部502は、マルチプレクサ33にリングメモリ32を選択させ、リングメモリライトコントローラ45に分岐成立を通知し、リードアドレスを継続して出力させる。
【0071】
これにより、リングメモリライトコントローラ45は、リングメモリ31にもライトイネーブルを出力する。この結果、図6(a)に示すように、リングメモリ31はリングメモリ32と同一のライトアドレスで書き込み動作が再開される。このとき、リングメモリ32は、図6(b)に示すように、書き込み動作が継続される。
【0072】
インストラクションが、分岐しない場合、インストラクション実行部502は、マルチプレクサ33にリングメモリ31を選択させ、リングメモリライトコントローラ45に分岐不成立を通知し、リードアドレスを継続して出力させる。
【0073】
これにより、リングメモリライトコントローラ45は、レジスタ46の値を読み込み、所定数分足して、レジスタ46に入力し、マルチプレクサ47にレジスタ46を選択させ、リングメモリ31にもライトイネーブルを出力する。この結果、図7(a)に示すように、リングメモリ31は、停止位置から書込み動作が再開され、図7(b)に示すように、リングメモリ32は、リングメモリ31と同一のライトアドレスで書き込み動作が再開される。
【0074】
このように、リングメモリ31に飛ばないときのインストラクションを書き込み、リングメモリ32に飛び先のインストラクションを書き込み、マルチプレクサ33で選択して、アドレス発生部5が実行するので、事前に分岐が成立するか不成立かがわからなくても、リングメモリの容量を越えるジャンプを行うことができる。
【0075】
なお、実施例としてアドレスを発生するアドレス発生装置を示したが、各種アプリケーションのインストラクションを実行するインストラクション実行装置でもよい。
【0076】
【発明の効果】
請求項1〜3によれば、アドレスコントローラがジャンプを検出して、リングメモリに飛び先以降のインストラクションをリングメモリに連続して書き込むので、リングメモリの領域を越えるジャンプができる。
【0077】
請求項4〜6によれば、ジャンプを検出して、リングメモリに飛び先以降のインストラクションをリングメモリに連続して書き込むので、リングメモリの領域を越えるジャンプができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示した構成図である。
【図2】図1に示す装置のデータ構造を示す図である。
【図3】図1に示す装置の動作を説明する図である。
【図4】本発明の第2の実施例を示した構成図である。
【図5】図4に示す装置の動作を説明する図である。
【図6】図4に示す装置の動作を説明する図である。
【図7】図4に示す装置の動作を説明する図である。
【図8】従来のアドレス発生装置の構成を示した図である。
【図9】図8に示す装置の動作を説明する図である。
【符号の説明】
1 インストラクションメモリ
2 DRAMコントローラ
3,31,32 リングメモリ
4 リングメモリ書込部
5 アドレス発生部
6 比較部
7 アドレスコントローラ
8 第2のジャンプ処理部
33 マルチプレクサ
Claims (6)
- インストラクションメモリのインストラクションをリングメモリに一旦記憶させ、このリングメモリからのインストラクションを実行するインストラクション実行装置において、
前記インストラクションメモリにアドレスを与えると共に、前記リングメモリに一旦記憶させるインストラクションにより、飛び先のインストラクションを検出し、インストラクションメモリの飛び先アドレスを保持し、飛び元のインストラクションを検出し、飛び先アドレスをインストラクションメモリに与えるアドレスコントローラと、
前記リングメモリからインストラクションを連続して読み出し、インストラクションを実行するインストラクション処理部と
を設けたことを特徴とするインストラクション実行装置。 - インストラクション処理部は、
リングメモリのインストラクションを読み出し、インストラクションを実行してアドレスを発生するアドレス発生部と、
リングメモリから読み出されるインストラクションを入力し、飛び先のインストラクションを検出し、前記アドレス発生部が発生するアドレスを保持し、飛び元のインストラクションを検出し、アドレス発生部に保持したアドレスを出力させるジャンプ処理部と
を有することを特徴とする請求項1記載のインストラクション実行装置。 - アドレスコントローラは、リングメモリの容量を越えるインストラクションのジャンプを検出し、インストラクション処理部は、リングメモリの容量を越えないインストラクションのジャンプのとき、リングメモリからインストラクションをジャンプして読み出し、インストラクションを実行することを特徴とする請求項1または2記載のインストラクション実行装置。
- インストラクションメモリのインストラクションをリングメモリに一旦記憶させ、このリングメモリからのインストラクションを実行するインストラクション実行方法において、
前記インストラクションメモリにアドレスを与えると共に、前記リングメモリに一旦記憶させるインストラクションにより、飛び先のインストラクションを検出し、インストラクションメモリの飛び先アドレスを保持し、飛び元のインストラクションを検出し、飛び先アドレスをインストラクションメモリに与え、
前記リングメモリからインストラクションを連続して読み出し、インストラクションを実行することを特徴とするインストラクション実行方法。 - リングメモリの容量を越えるインストラクションのジャンプを検出し、
リングメモリの容量を越えないインストラクションのジャンプのとき、リングメモリからインストラクションをジャンプして読み出し、インストラクションを実行することを特徴とする請求項4記載のインストラクション実行方法。 - インストラクションによりアドレスを発生することを特徴とする請求項4または5記載のインストラクション実行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001320376A JP3625060B2 (ja) | 2001-10-18 | 2001-10-18 | インストラクション実行装置及びインストラクション実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001320376A JP3625060B2 (ja) | 2001-10-18 | 2001-10-18 | インストラクション実行装置及びインストラクション実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122566A JP2003122566A (ja) | 2003-04-25 |
JP3625060B2 true JP3625060B2 (ja) | 2005-03-02 |
Family
ID=19137776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001320376A Expired - Fee Related JP3625060B2 (ja) | 2001-10-18 | 2001-10-18 | インストラクション実行装置及びインストラクション実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3625060B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009176019A (ja) * | 2008-01-24 | 2009-08-06 | Yokogawa Electric Corp | パターン発生装置及び半導体試験装置 |
-
2001
- 2001-10-18 JP JP2001320376A patent/JP3625060B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003122566A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05144295A (ja) | メモリ試験装置 | |
US5127010A (en) | Pattern generator | |
JP3569232B2 (ja) | シリアルアクセス機能付きアドレスマルチプレクサメモリのテスト方式 | |
JP3625060B2 (ja) | インストラクション実行装置及びインストラクション実行方法 | |
KR100277770B1 (ko) | 시퀀스 제어회로 | |
JP2005309787A (ja) | 中央演算処理装置及びマイクロコンピュータ | |
JP3145545B2 (ja) | メモリアクセス装置 | |
JPH0756817A (ja) | 半導体記憶装置 | |
JP2005011451A (ja) | 試験装置、及びプログラム | |
JP4009461B2 (ja) | 半導体装置 | |
JP2641917B2 (ja) | メモリ素子 | |
JP2004199608A (ja) | メモリ制御回路 | |
JPH0559450B2 (ja) | ||
JPH04251355A (ja) | メモリテスト方式 | |
JPH11212877A (ja) | 記憶装置 | |
JPH0743668B2 (ja) | アクセス制御装置 | |
JPS62222340A (ja) | デユアル・ポ−ト・メモリ | |
JP3153063B2 (ja) | マイクロプログラム制御装置 | |
JPH11161564A (ja) | 記憶装置へのバストレース格納装置と方法および記録媒 体 | |
JP2001282324A (ja) | シーケンス制御回路 | |
JP2002014944A (ja) | プロセッサシステムの排他制御フラグ生成回路及びプロセッサシステムの排他制御方法 | |
JPS61253480A (ja) | パタ−ン発生器 | |
JPH01269140A (ja) | メモリ拡張回路 | |
JPH05181690A (ja) | エラーリトライ方式 | |
JPS62272164A (ja) | 半導体メモリ試験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |