JPH07198798A - アルゴリズミックパターン発生器 - Google Patents

アルゴリズミックパターン発生器

Info

Publication number
JPH07198798A
JPH07198798A JP5334294A JP33429493A JPH07198798A JP H07198798 A JPH07198798 A JP H07198798A JP 5334294 A JP5334294 A JP 5334294A JP 33429493 A JP33429493 A JP 33429493A JP H07198798 A JPH07198798 A JP H07198798A
Authority
JP
Japan
Prior art keywords
address
control instruction
output
control
arithmetic
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.)
Pending
Application number
JP5334294A
Other languages
English (en)
Inventor
Shuji Kikuchi
修司 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5334294A priority Critical patent/JPH07198798A/ja
Publication of JPH07198798A publication Critical patent/JPH07198798A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【目的】 並列動作アルゴリズミックパターン発生器の
パターン発生のためのプログラムの保持方法を改良し、
そのプログラムの格納されるメモリの使用効率を上げ、
より小さなメモリ容量しか持たないALPGでも、並列
動作ALPGとして使用可能にし、それにより、素子を
1チップ化する。また、より少ない制御メモリ容量でも
多数個の並列駆動を可能にする。 【構成】 並列動作アルゴリズミックパターン発生器に
おいて、第一の制御メモリに、順序制御命令、そのオペ
ランドと演算/出力制御命令のアドレスを格納し、第二
の制御メモリに演算/出力制御命令を格納し、演算/出
力制御命令を実行するときには、第一の制御メモリに格
納された演算/出力制御命令のアドレスを間接アドレッ
シングによって取得して、その演算/出力制御命令を実
行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、アルゴリズミックパタ
ーン発生器(以下、「ALPG(algorithmi
c pattern generatorの略であ
る)」という)に係り、特に、複数のALPGを並列に
動作させて、各々の出力を順次選択することにより高速
に試験パターンを発生する、いわゆる並列動作型ALP
Gのパターン発生のためのプログラムの記憶方法に関す
るものであって、各ALPGを1チップ化するのに好適
なALPGに関する。
【0002】
【従来の技術】最初に、ALPGに関する一般的な技術
を、図1および図3を用いて説明する。先ず、従来例に
係る一般的なALPGの回路構成を、図1を用いて説明
しよう。図1は、従来例に係る一般的なALPGの回路
構成をあらわすブロック図である。
【0003】メモリICの試験は種々のアドレスの変化
パターンを用いて、被試験メモリに対して書き込み/読
み出しをおこなうことにより行なわれる。このアドレス
の変化パターンは、例えば、「最小アドレスから最大ア
ドレスまで、アドレスを+1しながら変化させる」とい
った規則的なパターンから構成されており、図1に示す
ようなプログラム動作可能な演算器を用いて発生され
る。
【0004】演算/出力器6は、被試験メモリICに与
えるアドレスやデータを演算する部分であり、演算/出
力制御メモリ3から読み出された演算/出力制御命令に
よって制御される。
【0005】プログラムカウンタ1は、演算/出力制御
メモリ3や順序制御メモリ2を読み出すためのアドレス
を指定する。順序制御メモリ2には、順序制御命令21
およびその順序制御オペランドが格納される。この順序
制御命令21というのは、命令の種類の一種で、次に読
み出すべき命令の格納されているアドレスを指定するた
めの命令である。
【0006】制御回路4は読み出された順序制御命令2
1を解読し、プログラムカウンタ1に適切な制御信号を
与える。この制御信号の内容として、例えば次のアドレ
スに進む場合は「+1」が指示され、分岐の時は「ロー
ド(分岐先アドレスの取り込み)」が指示される。その
ため、順序制御命令21には、順序制御オペランド22
が伴なっている。この順序制御オペランド22は、分岐
時の分岐先アドレスを指定したり、同一アドレスの繰り
返し時には繰り返し回数を指定したりする。
【0007】カウンタ5は、繰り返し回数を計数するた
めのものである。
【0008】以下、このALPGの動作を、一定区間の
繰り返しを行なう「ループ」を実行する場合を例に採り
説明してみよう。
【0009】例えば、ループの先頭アドレスにおいて、
それがループの先頭アドレスであることを示す順序制御
命令21が読み出され、これが制御回路4で解読され、
順序制御オペランド22により示された繰り返し回数が
カウンタ5にロードされる。
【0010】また、ループ区間の終了アドレスにおいて
は、それがループ区間の終了アドレスであることを示す
順序制御命令21が読み出され、これが制御回路4で解
読され、制御回路4は、カウンタ5に対して、ダウンカ
ウントを指示する。カウンタ5は、ダウンカウントの結
果、値が0であれば計数終了信号を有効とし、値が0以
外のときは計数終了信号を無効とする。制御回路4は、
カウンタ5から受けた計数終了信号が有効であれば、プ
ログラムカウンタ1に対して「+1」することを指示
し、計数終了信号が無効であれば、順序制御オペランド
22で示された分岐先アドレス(ループ区間先頭アドレ
ス)の取り込みをプログラムカウンタ1に対して指示す
る。
【0011】図1に示したALPGは、このように順序
制御メモリ2に格納された順序制御命令21を次々と実
行することにより、プログラムカウンタ1の示すアドレ
スを制御して、各種演算の実行順序を制御することがで
きる。
【0012】次ぎに、図1に示した回路の内で、演算/
出力器6の回路構成をより詳細に、図2を用いて説明す
る。図2は、演算/出力器6の回路構成をあらわすブロ
ック図である。
【0013】演算についていえば、レジスタC19およ
びALU18を中心におこなわれる。
【0014】レジスタA15およびレジスタB16は、
定数を一時保持するレジスタであり、演算制御命令24
-1の指示によりデータ24-2を取り込む。
【0015】セレクタ17は、演算制御命令24-1の
指示により、演算に用いる演算数を選択する。
【0016】ALU18は、演算制御命令24-1の指
示により、セレクタ17の選択した演算数とレジスタC
19の出力との演算をおこない出力する。このように、
演算制御命令24-1は、内部レジスタの状態を更新す
る命令である。これに対し、出力制御命令28は内部レ
ジスタの状態には影響を与えず、出力値のみに影響を与
える。
【0017】反転/非反転器20は、出力制御命令28
に従い、レジスタC19の出力を反転あるいは反転せず
に出力する。
【0018】なお、以下では、演算器構成の詳細の如何
に関わらず、演算部の内部レジスタの状態に影響を与え
る命令を「演算制御命令」といい、内部レジスタには影
響せずに出力にのみ影響を与える命令を「出力制御命
令」という。
【0019】また、図2の下部に示した表は、この演算
/出力器6の有する機能を掲げたものであり、例えば、
「A<Data」は、レジスタAにDataを入れるこ
とをあらわしている。
【0020】以上のように、メモリICを対象とした試
験パターンをプログラム可能な演算器を用いて発生する
には、各命令の格納メモリを読み出す時間に加えて、命
令を解読し実際に演算をおこなう時間が必要となる。し
たがって、最先端の高速メモリを対象とした試験では、
被試験メモリの持つ最高速度での試験パターン発生が困
難となる。
【0021】そこで従来、バイポーラメモリ等の超高速
メモリ試験を対象として、複数のパターン発生器を並列
に動作させて各々の出力を順次選択することにより高速
に試験パターンを発生する方法が提案されている(IEEE
International Test Con-ference 1989 Proceedings,
page558-page566, "A 250MHz shared-resource VLSItes
t system with high pin count and memory test capab
ility")。
【0022】また、この並列動作型ALPGに関する技
術は、例えば、特開昭63−36163号公報にも開示
されている。
【0023】以下、この方法の概要を、図3を用いて説
明する。図3は、並列動作型ALPGの回路構成をあら
わすブロック図である。
【0024】この方法は、複数のALPGを並列に駆動
し、これらの出力を順次選択して高速に出力を得るもの
である。
【0025】ALPG1(31-1)からALPG4
(31-4)までは、図1に示したものと同じ構成のA
LPGを使用することができる。ユーザは計算機の周辺
機器35から、試験パターン発生のために実行すべき演
算とその実行順序を記したプログラムを入力する。
【0026】そして、CPU部36がこれを処理して、
ALPG1(31-1)からALPG4(31-4)に対
する並列プログラムを生成する。この4つの並列プログ
ラムは、元となったプログラムに対して、各々が互いに
1サイクルずつずれた開始点から4つおきに出力を得る
ものである。これらのプログラムをあらかじめテスタバ
スを介して各ALPGにロードしておく。
【0027】一方、クロックに関していえば、CPU部
36からの指示によりクロック発振回路34がクロック
を発振する。分周回路・制御信号発生回路32は、クロ
ックを1/4に分周して各ALPGに分配するととも
に、選択回路33に対して順次各ALPG出力を選択す
るように選択信号を与える。そして、選択回路33は、
この選択信号に従い、各ALPGからの出力を順番に出
力して、高速にパターンを出力する。
【0028】
【発明が解決しようとする課題】上記従来技術として記
載された並列動作型ALPGは、複数ALPGの並列動
作による高速実行を実現し、高速なメモリ試験パターン
発生を可能にしたものである。
【0029】しかしながら、特開昭63−36163号
公報にも指摘されているように、並列化に伴うステップ
数の増大のため、全体として大容量のメモリを要すると
いう問題点があった。
【0030】以下、この問題点について、図4および図
5を用いて詳細に説明しよう。図4は、並列動作型AL
PGのためのプログラム変換における変換前の元のプロ
グラムのコード例とその変換途中のプログラムのコード
例の説明図である。
【0031】図5は、並列動作型ALPGのためのプロ
グラム変換における変換後のプログラムのコード例を並
列度ごとに示した説明図である。
【0032】図4において、(a)に示すのは、変換前
のプログラムのコード例であり(略して、プログラム
(a)と書く。以下この用法は同じ)、(b)に示すの
は、変換後のプログラムのコード例である。
【0033】元のプログラム(a)は2重のループ構造
となっており、各々のループの実行回数は、内側ループ
が31回、外側ループは11回となっている((a)中
の「Loop2 Return 31 Times」と
「Loop1 Return11 Times」に書か
れた数値が、ループの回数である。)各ループ区間はL
oop Startから始まり、Loop Retur
n命令で終わる。そして、演算および出力制御命令は、
ALU−Inst1(演算制御命令1)およびOUT−
Inst1(出力制御命令1)からALU−Inst5
(演算制御命令5)およびOUT−inst5(出力制
御命令5)までの5つである。ここで、命令数は、演算
制御命令と出力制御命令をペアとして数えていることに
注意しておこう。
【0034】さて、このようなプログラムを、例えば2
台のALPGで並列に実行する場合について考えてみよ
う。
【0035】先ず、プログラムの各ベーシックブロック
における命令の数が2(並列ALPG台数)の整数倍に
なるようにプログラム構造を変換する必要がある。ここ
で、「ベーシックブロック」とは、ブロックの途中から
の分岐や、他からブロック内部への分岐を含まない、連
続した命令の塊をいう。
【0036】上記の方針により、図4の例では、まず内
側のループに着目し、ループの内部に1つしか命令が含
まれていないため、この命令を2つ並べるとともに、ル
ープの繰り返し回数を半減して総計の命令実行回数が等
価になるように変形する。この変形によって内側ループ
の内部命令数は2となる。
【0037】同様にして、外側ループに着目すると、ル
ープ内の命令数は奇数であるため、ループ2回分の命令
を内部に展開するとともにループの繰り返し回数を半減
して、あまりとなる一回分コードを最後につけ加える。
すなわち、2倍に展開した命令を5回繰り返し、最後に
あまりの一回分をつけ加えることによって帳尻をあわせ
る(11=2×5+1という計算式に従う)。
【0038】このような変形の結果が、図4に示す変換
後のプログラム(b)である。当然のことながら、この
変換後のプログラム(b)も元のプログラム(a)も演
算の実行結果は同じである。
【0039】並列動作するALPGのためのプログラム
の変換の次ぎの段階としては、ここで、演算速度を向上
させるため、各命令を結合させて、複合命令を作ること
を考える。
【0040】図5のプログラム(c)は、図4のプログ
ラム(b)を先頭から2つずつ命令をまとめたものであ
る。
【0041】ここで用いられるALU−Inst[1
2]という演算制御命令は、元の演算制御命令ALU−
Inst1に続いてALU−Inst2を実行したのと
等価な演算制御命令をあらわす複合命令である。
【0042】一方、出力制御命令は、並列化している第
一のALPGでは、元となった複数の命令並びの中で先
頭に位置する出力制御命令と同じにする。例えば、AL
U−Inst1,OUT−Inst1とALU−Ins
t2,OUT−Inst2を複合するときは、先頭のO
UT−Inst1を用いて、ALU−Inst[1
2],OUT−Inst1とする。
【0043】なお、このようにするのは、出力制御命令
は、ALU18の内部状態には影響しないため、各AL
PGにとって、並列化したときの出力に必要なタイミン
グの出力命令だけを実行させれば良いためである。
【0044】このようにして、結合された複合命令を一
覧にした以下の表1を得ることができる。
【0045】
【表1】 さて、このように変換された図5のプログラム(c)
は、図4のプログラム(a)と等価になり、並行動作す
る2つのALPGのうちの1つで動作可能なように変形
されたわけである。
【0046】同様に、図5のプログラム(d)は、図4
のプログラム(a)と等価であり、並行動作する3つの
ALPGのうちの1つで動作可能なようにしたものであ
る。
【0047】さて、ここで変換前と変換後のプログラム
を構成する命令個数(命令の展開数)と命令の種類数に
ついて考察しよう。なお、ループ命令は、命令個数に勘
定しないものとする。
【0048】図4および図5に示した例では、元のプロ
グラム(a)が5つの命令個数の演算命令から構成され
ていたのに対して、ALPGが2つのための並列駆動を
対象としたプログラム(c)は、11個の命令個数の演
算命令から構成され、さらに、ALPGが3つの並列駆
動を対象としたプログラムは16個の命令個数の演算命
令から構成される。このように、並列駆動を前提として
プログラム変換をおこなうと、並列駆動するALPGの
個数やプログラムに含まれるループ内の命令個数に応じ
て、展開後の命令個数が増大していくという問題があ
る。
【0049】これは、上述したように並列化処理の第1
ステップとして、元のプログラムにおけるベーシックブ
ロックの命令数を並列ALPG数の整数倍とするため
に、区間内部の実行命令個数がALPG数の整数倍にな
っていないループは展開処理されるためである。このル
ープの展開処理は、上記で一例を示したごとく、合計で
の命令実行回数は不変のまま、ループの繰り返し回数を
1/nにすると共にループ区間内部の命令並びをn倍に展
開複写する処理である。したがって、ループの多重度が
増加するにつれ、並列化に伴うループの展開処理により
プログラムサイズは指数関数的に増加するため、ループ
の多重度が大きい場合は、特に、プログラムサイズが大
きくなることが問題となる。
【0050】本発明の目的は、上記問題点を解決し、並
列動作ALPGのパターン発生のためのプログラムの保
持方法を改良し、そのプログラムの格納されるメモリの
使用効率を上げ、より小さなメモリ容量しか持たないA
LPGでも、並列動作ALPGとして使用可能にするこ
とにある。また、それによって、1チップ化されたAL
PGを提供することである。
【0051】さらに、プログラムを並列化することによ
る命令数の増大による影響を押さえて、より少ない制御
メモリ容量でも多数個の並列駆動が可能なALPG構成
方法を提供することにある。
【0052】
【課題を解決するための手段】上記目的を達成するため
に、本発明のアルゴリズミックパターン発生器に係る第
一の発明の構成は、順序制御命令と順序制御オペランド
と演算/出力制御命令のアドレスを記憶する第一の記憶
手段と、演算/出力制御命令を記憶する第二の記憶手段
と、前記第一の記憶手段にアドレスを与えて、前記順序
制御命令と順序制御オペランドと演算/出力制御命令の
アドレスの読み出しを指示するアドレス指定手段と、そ
のアドレス指定手段の指定した前記第一の記憶手段にお
ける前記順序制御命令と順序制御オペランドとを解読し
て、前記アドレス指定手段へ次に指定されるべきアドレ
スの更新をおこなうアドレス制御手段と、データを入力
する手段とデータを保持する手段とを備え、入力された
データと演算制御命令とによって演算をおこない、前記
データを保持する手段に演算後のデータを保持する機能
を有する演算手段と、その演算手段の実行する演算制御
命令を指定する演算制御手段と、前記出力制御命令によ
って、前記演算手段におけるデータを保持する手段の保
持するデータを、加工して、あるいは、そのまま出力す
る出力手段と、その出力手段の実行する出力制御命令を
指定する出力制御手段とを有し、前記演算制御手段と前
記出力制御手段とが各々おこなう演算制御命令と出力制
御命令の指定を、前記第一の記憶手段に記憶された演算
/出力制御命令のアドレスによっておこなうようにした
ものである。
【0053】また、上記目的を達成するために、本発明
のアルゴリズミックパターン発生器に係る第二の発明の
構成は、順序制御命令と順序制御オペランドと演算制御
命令のアドレスを記憶する第一の記憶手段と、演算制御
命令と出力制御命令のアドレスを記憶する第二の記憶手
段と、出力制御命令のアドレスを記憶する第三の記憶手
段と、前記第一の記憶手段にアドレスを与えて、前記順
序制御命令と順序制御オペランドと演算制御命令のアド
レスの読み出しを指示するアドレス指定手段と、そのア
ドレス指定手段の指定した前記第一の記憶手段における
前記順序制御命令と順序制御オペランドとを解読して、
前記アドレス指定手段へ次に指定されるべきアドレスの
更新をおこなうアドレス制御手段と、データを入力する
手段とデータを保持する手段とを備え、入力されたデー
タと演算制御命令とによって演算をおこない、前記デー
タを保持する手段に演算後のデータを保持する機能を有
する演算手段と、その演算手段の実行する演算制御命令
を指定する演算制御手段と、前記出力制御命令によっ
て、前記演算手段におけるデータを保持する手段の保持
するデータを、加工して、あるいは、そのまま出力する
出力手段と、その出力手段の実行する出力制御命令を指
定する出力制御手段とを有し、前記演算制御手段がおこ
なう前記演算制御命令の指定を、前記第一の記憶手段に
記憶された演算制御命令のアドレスによっておこない、
前記出力制御手段がおこなう前記出力制御命令の指定
を、前記第二の記憶手段に記憶された出力制御命令のア
ドレスによっておこなうようにしたものである。
【0054】さらに、本発明の第一の発明について、よ
り詳しくは、少なくとも、前記演算手段と、前記演算制
御手段と、前記出力手段と、前記出力制御手段および第
二の記憶手段とを同一のチップ内に集積するようにした
ものである。
【0055】またさらに、本発明の第二の発明につい
て、より詳しくは、少なくとも、前記演算手段と、前記
演算制御手段と、前記第二の記憶手段、または、前記出
力手段と、前記出力制御手段と、前記第三の記憶手段と
を同一のチップ内に集積するようにしたものである。
【0056】
【作用】本発明によれば、順序制御命令や演算制御命令
あるいは出力制御命令毎に制御メモリを用意するため、
プログラムの並列化変換によって使用命令個数が増加し
ても同じ種類の命令は重複無くメモリに格納することが
できるので、プログラムサイズの増加による影響を最小
に押さえることができる。
【0057】すなわち、従来では、順序制御命令と演算
制御命令および出力制御命令が同一のメモリに格納され
ていた。これに対して本発明では、制御メモリを階層構
成にして演算制御命令および出力制御命令を順序制御命
令を格納するメモリとは別のメモリに格納するととも
に、演算制御命令および出力制御命令を格納したアドレ
スを順序制御命令とともに格納しておくという間接アド
レッシングによる方法を用いる。そのため、同じ種類の
演算制御命令や出力制御命令を別のアドレスで使用する
場合であってもこれらを重複して格納する必要がないた
め、小容量の制御メモリに、並列化プログラムを格納す
ることが可能となる。
【0058】
【実施例】以下、本発明に係る各実施例を、図6ないし
図10を用いて説明する。 〔本発明の考え方〕最初に、図6を用いて本発明の考え
方を説明する。図6は、ALPGの制御メモリの各構成
を対比して示した図である。本発明では、上述した課題
の解決を図るため、並列化のためのプログラム変換後の
命令種類数に着目する。
【0059】以下の表2は、並列化のためのプログラム
変換後の命令種類数を並列度別に示したものである。
【0060】
【表2】 ALPG2台の並列駆動を前提としたプログラム(c)
は、11個の命令から構成されるが、それに含まれる演
算制御命令は7種類であり、出力制御命令は5種類であ
る。
【0061】また、ALPG3台の並列駆動を前提とし
たプログラムは16個の命令から構成されるが、これに
含まれる演算制御命令は8種類であり、出力制御命令は
5種類だけである。
【0062】このようにプログラムを並列化すること
で、それを構成する命令個数は大幅に増加するが、個別
の命令種類数はさほど増加しない。これは、元々、並列
化に伴うループの展開処理が原因でプログラムサイズが
増加していたためであり、同じ命令並びが何回も展開複
写されてプログラムサイズが増加しても、それを構成す
る命令種類数は増加していないためである。
【0063】したがって、順序制御命令、演算制御命令
および出力制御命令毎に別個の制御メモリを用意して、
各々の命令を重複することなく各メモリに格納すること
により、メモリの使用効率を向上し、より少ない容量の
制御メモリで並列化プログラムが実行できるようにな
る。
【0064】以下、図6によって、制御メモリ構成を具
体的にどのように構成するのかを説明しよう。
【0065】図6(a)は、従来の制御メモリ構成であ
り、順序制御命令と演算制御命令および出力制御命令が
同一の制御メモリに格納されていた。
【0066】これに対して本発明では、図6(b)およ
び(c)に示すように制御メモリを階層構成にして、演
算制御命令および出力制御命令を、順序制御命令を格納
するメモリとは別のメモリに格納するとともに、演算制
御命令および出力制御命令を格納したアドレスを順序制
御命令とともに格納しておく。すなわち、演算制御命令
および出力制御命令に対して、いわゆる間接アドレッシ
ングモードによるアドレッシングをおこなう。
【0067】したがって、同じ種類の演算制御命令や出
力制御命令を別のアドレスで使用する場合であってもこ
れらを重複して格納する必要がなく、そのアドレスのみ
を保持するだけで良い。
【0068】そのため、より小容量の制御メモリでも、
同一機能の並列化プログラムを格納することが可能とな
る。
【0069】特に、図6(c)に示すように、メモリ構
成を3階層にすることによって、図6(b)のときに比
べて、使用するメモリ容量をさらに節約することができ
る。
【0070】〔実施例1〕以下、本発明に係る一実施例
を、図7および図8を用いて説明する。図7は、本発明
の一実施例に係る2階層制御メモリ構成を採用したAL
PGの回路構成のブロック図である。図8は、本実施例
に係り、図6(b)に示した2階層制御メモリ構成の具
体的なコード例を示した説明図である。
【0071】最初に、図7を用いて本実施例に係る回路
構成を説明しよう。演算/出力器6は、被試験メモリに
与えるアドレスやデータの演算をおこなって試験パター
ンとして出力する。
【0072】演算/出力制御メモリ3は、実行される演
算制御命令および出力制御命令を格納しておく。
【0073】順序制御メモリ2は、前記演算/出力制御
メモリ3から命令を読み出すアドレスと順序制御命令を
格納しておく。
【0074】プログラムカウンタ1は、順序制御メモリ
2にアドレスを与えて順序制御命令および演算/出力制
御メモリ3のアドレスの読み出しを指示する。
【0075】パイプラインレジスタ7は、順序制御メモ
リ2から読み出された順序制御命令および演算/出力制
御メモリのアドレスを一時保持する。
【0076】パイプラインレジスタ8は、演算/出力制
御メモリ3から読み出された演算/出力制御命令を一時
保持する。
【0077】制御回路4は、パイプラインレジスタ7の
保持している順序制御命令を解読してプログラムカウン
タ1に制御信号を与えて次に実行すべきアドレスを制御
する。
【0078】カウンタ5は、ループの繰り返し回数を計
数する。
【0079】そして、図7のALPGは、これらの演算
/出力器6と、順序制御メモリ2と、プログラムカウン
タ1と、パイプラインレジスタ7と、パイプラインレジ
スタ8と、制御回路4と、カウンタ5とから構成され、
図7の各矢印で示したデータの授受をおこなっている。
【0080】次ぎに、図8に示された具体的なプログラ
ムによってALPGがどのような動作をするかについて
説明しよう。
【0081】図8に示されたプログラムは、図5の従来
のプログラム(c)を、上述した発明の考え方に基づ
き、図6(b)に示したメモリ構成に合わせて変換した
ものである。
【0082】図8において、四角で囲った数字は演算/
出力制御メモリのアドレスを示している。図7の順序制
御メモリ2には、図8に示した順序制御命令と四角で囲
った演算/出力制御メモリのアドレスが格納される。図
7の演算/出力制御メモリ3には、図8に示す演算/出
力制御命令が各々のアドレスに格納される。
【0083】初期状態において、プログラムカウンタ1
は、アドレス0を示しているものとする。
【0084】順序制御メモリ2は、アドレス0に格納さ
れている順序制御命令「go toNext」およびア
ドレス値「0」を読み出す。
【0085】パイプラインレジスタ7は、読み出された
順序制御命令「go to Next」とアドレス値
「0」を一時保持する。
【0086】制御回路4は、パイプラインレジスタ7に
一時保持されている順序制御命令「go to Nex
t」を解読し、プログラムカウンタ1に値を+1するよ
うに制御信号により指示する。
【0087】パイプラインレジスタ7の一時保持してい
るアドレス値0は、演算/出力制御メモリ3に与えられ
る。
【0088】演算/出力制御メモリ3はアドレス「0」
を読み出し、ここに格納されている演算/出力制御命令
「ALU−Inst[12],OUT−Inst1」を
出力する。
【0089】パイプラインレジスタ8は、この演算/出
力制御命令「ALU−Inst[12],OUT−In
st1」を一時保持する。演算/出力器6はパイプライ
ンレジスタ8に一時保持されている演算/出力制御命令
「ALU−Inst[12],OUT−Inst1」を
実行する。
【0090】次のサイクルでプログラムカウンタの値は
+1されて1になる。順序制御メモリ2は、アドレス1
を読み出し、順序制御命令「go to Label1
215Times」とアドレス値「2」を出力する。
【0091】パイプラインレジスタ7は、読み出された
順序制御命令「go to Label12 15Ti
mes」とアドレス値「2」を一時保持する。
【0092】以下、同様に処理が続けられ、順序制御命
令の実行による制御と演算/出力制御命令の出力がおこ
なわれる。
【0093】〔実施例2〕次ぎに、本発明に係る第二の
実施例を、図9を用いて説明する。図9は、本発明の第
二の実施例に係る3階層制御メモリ構成を採用したAL
PGの回路構成のブロック図である。
【0094】この第二の実施例のメモリ構成は、上述し
た実施例1にある演算/出力制御メモリを分割して、図
6(c)に示されるように、出力制御命令を格納する出
力制御メモリ12と、この出力制御命令が格納されてい
るアドレス値と演算制御命令とを共に格納する演算制御
メモリ11を設けたものである。
【0095】以下では、本実施例におけるALPGが具
体的にどのような動作をするのかを、図9および図6
(c)を用いて説明しよう。
【0096】図9の順序制御メモリ2には、図6(c)
に示すように順序制御オペランドを伴った順序制御命令
に加えて演算制御メモリを読み出すためのアドレスが格
納される。
【0097】順序制御メモリ2から読み出された順序制
御命令とオペランドおよび演算制御メモリのアドレス
は、パイプラインレジスタ7に一時保持される。
【0098】ここで、一時保持された演算制御メモリの
アドレス23は、演算制御メモリ11に与えられ、図6
(c)に示すように読みだされた順序制御命令に対応し
て実行すべき演算制御命令と出力制御メモリアドレスの
アドレス値が読み出され、パイプラインレジスタ8に一
時保持される。
【0099】この一時保持された出力制御メモリアドレ
ス26は、上記の順序演算命令および演算制御命令と共
に実行すべき出力命令の格納されているアドレスを示し
ており、パイプラインレジスタ8を介して出力制御メモ
リ12に与えられる。
【0100】出力制御メモリ12は、このアドレス26
により出力制御命令27を読み出して、パイプラインレ
ジスタ13へ出力する。
【0101】パイプラインレジスタ13は、この出力制
御命令27を一時保持した後に、出力器10へ与える。
【0102】演算制御メモリ11から読み出されてパイ
プラインレジスタ8に一時保持されていた演算制御命令
25は、演算器9において実行され、演算器の出力がパ
イプラインレジスタ14に一時保持される。この値は、
さらに出力器10において出力制御命令28に従って加
工され、出力29となる。
【0103】なお、上記実施例1と実施例2のALPG
の例では、演算制御命令や出力制御命令が一旦パイプラ
インレジスタに保持されてから実行されるがごとくに説
明したが、これに限らず、パイプラインレジスタを使わ
ずに、読み出された制御命令をそのまま実行するように
構成することも可能である。
【0104】〔ALPGの1チップ化〕次ぎに、本発明
のメモリ構成を利用することにより、ALPGを1チッ
プ化することについて、図10を用いて説明する。
【0105】図10は、本発明の一実施例に係る1チッ
プ化されたALPGの回路構成のブロック図である。
【0107】上述したように、本発明によれば、特に、
演算制御メモリおよび出力制御メモリの占めていた部分
において、メモリの階層構造を利用することによって、
並列化に伴うメモリの重複・冗長さを排除でき、メモリ
の使用効率が向上する。
【0108】また、順序制御メモリの使用アドレス数は
変わらないものの、演算制御および出力制御メモリを独
立させたため、制御メモリが、順序制御メモリならびに
演算制御命令および出力制御命令が一体となった図6の
(a)の場合に比べて、制御メモリの横方向のビット数
(幅)を縮小することができる。
【0109】ここで、図6を参照しながら、本発明の効
果を定量的に評価してみよう。例えば、標準的なケース
として、図6(a)の制御メモリ構成で、命令を構成す
る各部分に要するビット数は、順序制御命令のフィール
ドに要するのが、約10bit、順序制御オペランドの
フィールドに要するのが、約16bitないし約32b
it、演算制御/出力制御命令のフィールドに要するの
が、約100bitから約120bit程度である。
【0110】そして、制御メモリのアドレスを表現する
ために、12bitを要していた。ところが、本発明に
よれば、図6(b)の制御メモリ構成となり、重複した
演算/出力制御メモリは、一つにまとめられるため、演
算出力制御メモリアドレスのフィールドに要するのは、
16分の1の8bit程度でよい。
【0111】したがって、図6(b)の制御命令の幅
は、従来の126bit以上要していたのが、24bi
tないし40bit(順序制御命令のフィールド(約1
0bit)+順序制御オペランドのフィールド(約16
bitないし約32bit)+演算出力制御メモリのア
ドレスのフィールド(8bit))と激減する。
【0112】また、演算/出力制御命令の占有するメモ
リ容量は、従来では、212×100bitから212×1
20bitであってのが、本発明によれば、16分の1
の28×100bitから28×120bit程度にする
ことができる。
【0113】以上のことを鑑みると、図10に示すよう
にALPGの1チップ化を図ることが可能となることが
わかる。図10は、基本的に図7と同じ構成をしたAL
PGであるが、上述の効果を用いて同一チップ内にいれ
るべき範囲が示されている。すなわち、本発明のメモリ
構成に従って、制御メモリを2階層構成とすることによ
り、図10に示す順序制御メモリ2は使用アドレス数は
変わらないもののビット幅が狭くなり、1チップ化AL
PGの外づけとしても占有するピン数は少なくてすむ。
すなわち、上述の評価によると、従来では、126bi
t以上要していたのが、24bitないし40bitに
なるので、24ピンないし40ピンですむことになる。
【0114】一方、演算制御メモリおよび出力制御メモ
リ使用アドレス数は、例えば、上述の評価に従えば、1
6分の1程度に小さくなり、総合的に小容量化が図れ
る。したがって、演算/出力制御メモリ3は容易にチッ
プ内に内蔵することができるようになる。
【0115】なお、図10で示したインタフェース回路
30は、チップ内部のレジスタやメモリに、例えば、テ
スタバスなどの信号を介して外からアクセスするための
回路である。
【0116】〔本実施例に係るALPGの使用例〕最後
に、本実施例に係るALPGの使用例としてメモリIC
試験装置を、図11を用いて説明する。図11は、本実
施例に係るALPGを使用したメモリIC試験装置の構
成を示したブロック図である。
【0117】本発明を適用して、図7、図9および図1
0などのように構成したALPGは、図3のように複数
台並列駆動するように構成して、メモリICなどの試験
装置に用いられる。図11は、このような試験装置の構
成例を示している。
【0118】CPU部36は、コンソールやテープドラ
イブあるいはディスクドライブなどの周辺機器35から
入力したユーザプログラムを解釈し、テスタバスを介し
て試験装置の各部に必要な制御をおこなう。
【0119】タイミング発生器38は、試験装置内部で
使用するクロック信号の発生や試験に必要なタイミング
信号の発生をおこなう。
【0120】ALPG37は、図3のように選択回路や
分周回路などと共に複数のALPG本体で構成される。
図3に示したALPG専用のクロック発振回路34は、
このIC試験装置には用いられておらず、図11のタイ
ミング発生器38がこの代わりとしてクロック信号を発
生している。
【0121】ALPG37には、試験に先立ちテスタバ
スを介して、CPU部36から並列プログラムがロード
されており、ALPGは、タイミング発生器38からの
クロックによってプログラム命令を順次実行する。
【0122】波形生成器39は、タイミング発生器38
の指示するタイミングに従い、ALPG37の指示する
パターンに対応する波形を生成する。
【0123】波形ドライバ40は、波形生成器39の生
成した波形を、CPU部36により予め指定された電圧
値で出力する。
【0124】アナログ比較回路42は、被試験メモリ4
1からの応答信号を、CPU部36から予め指定された
電圧値と比較して論理信号に変換する。
【0125】論理比較器43は、ALPG37から指定
された期待パターンをタイミング発生器38から指示さ
れたタイミングで比較して試験結果の良否を判定する。
比較の結果、期待値と不一致があればそのときの試験ア
ドレスを不良アドレスとして不良情報メモリ44に格納
する。
【0126】
【発明の効果】本発明によれば、並列動作ALPGの発
生パターンであるプログラムの保持方法を改良し、その
プログラムの格納されるメモリの使用効率を上げ、より
小さなメモリ容量しか持たないALPGでも、並列動作
ALPGとして使用可能にできる。また、それによっ
て、1チップ化されたALPGを提供にすることができ
る。
【0127】さらに、プログラムを並列化することによ
る命令数の増大による影響を押さえて、より少ない制御
メモリ容量でも多数個の並列駆動が可能なALPG構成
方法を提供することができる。
【図面の簡単な説明】
【図1】従来例に係る一般的なALPGの回路構成をあ
らわすブロック図である。
【図2】演算/出力器6の回路構成をあらわすブロック
図である。
【図3】並列動作型ALPGの回路構成をあらわすブロ
ック図である。
【図4】並列動作型ALPGのためのプログラム変換に
おける変換前の元のプログラムのコード例とその変換途
中のプログラムのコード例の説明図である。
【図5】並列動作型ALPGのためのプログラム変換に
おける変換後のプログラムのコード例を並列度ごとに示
した説明図である。
【図6】ALPGの制御メモリの各構成を対比して示し
た図である。
【図7】本発明の一実施例に係る2階層制御メモリ構成
を採用したALPGの回路構成のブロック図である。
【図8】本実施例に係り、図6(b)に示した2階層制
御メモリ構成の具体的なコード例を示した説明図であ
る。
【図9】本発明の第二の実施例に係る3階層制御メモリ
構成を採用したALPGの回路構成のブロック図であ
る。
【図10】本発明の一実施例に係る1チップ化されたA
LPGの回路構成のブロック図である。
【図11】本実施例に係るALPGを使用したメモリI
C試験装置の構成を示したブロック図である。
【符号の説明】
1…プログラムカウンタ、2…順序制御メモリ、3…演
算/出力制御メモリ、4…制御回路、5…ループカウン
タ、6…演算/出力器、7…パイプラインレジスタ、8
…パイプラインレジスタ、9…演算器、10…出力器、
21…順序制御命令、22…順序制御オペランド、23
…演算/出力制御メモリアドレス、25…演算制御命
令、26…出力制御メモリアドレス、27…出力制御命
令、29…出力、32…分周回路/制御信号発生回路、
33…選択回路、34…クロック発振回路。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 順序制御命令と順序制御オペランドと演
    算/出力制御命令のアドレスを記憶する第一の記憶手段
    と、 演算/出力制御命令を記憶する第二の記憶手段と、 前記第一の記憶手段にアドレスを与えて、前記順序制御
    命令と順序制御オペランドと演算/出力制御命令のアド
    レスの読み出しを指示するアドレス指定手段と、 そのアドレス指定手段の指定した前記第一の記憶手段に
    おける前記順序制御命令と順序制御オペランドとを解読
    して、前記アドレス指定手段へ次に指定されるべきアド
    レスの更新をおこなうアドレス制御手段と、 データを入力する手段とデータを保持する手段とを備
    え、入力されたデータと演算制御命令とによって演算を
    おこない、前記データを保持する手段に演算後のデータ
    を保持する機能を有する演算手段と、 その演算手段の実行する演算制御命令を指定する演算制
    御手段と、 前記出力制御命令によって、前記演算手段におけるデー
    タを保持する手段の保持するデータを、加工して、ある
    いは、そのまま出力する出力手段と、 その出力手段の実行する出力制御命令を指定する出力制
    御手段とを有し、 前記演算制御手段と前記出力制御手段とが各々おこなう
    演算制御命令と出力制御命令の指定を、前記第一の記憶
    手段に記憶された演算/出力制御命令のアドレスによっ
    ておこなうことを特徴とするアルゴリズミックパターン
    発生器。
  2. 【請求項2】 順序制御命令と順序制御オペランドと演
    算制御命令のアドレスを記憶する第一の記憶手段と、 演算制御命令と出力制御命令のアドレスを記憶する第二
    の記憶手段と、 出力制御命令のアドレスを記憶する第三の記憶手段と、 前記第一の記憶手段にアドレスを与えて、前記順序制御
    命令と順序制御オペランドと演算制御命令のアドレスの
    読み出しを指示するアドレス指定手段と、 そのアドレス指定手段の指定した前記第一の記憶手段に
    おける前記順序制御命令と順序制御オペランドとを解読
    して、前記アドレス指定手段へ次に指定されるべきアド
    レスの更新をおこなうアドレス制御手段と、 データを入力する手段とデータを保持する手段とを備
    え、入力されたデータと演算制御命令とによって演算を
    おこない、前記データを保持する手段に演算後のデータ
    を保持する機能を有する演算手段と、 その演算手段の実行する演算制御命令を指定する演算制
    御手段と、 前記出力制御命令によって、前記演算手段におけるデー
    タを保持する手段の保持するデータを、加工して、ある
    いは、そのまま出力する出力手段と、 その出力手段の実行する出力制御命令を指定する出力制
    御手段とを有し、 前記演算制御手段がおこなう前記演算制御命令の指定
    を、前記第一の記憶手段に記憶された演算制御命令のア
    ドレスによっておこない、 前記出力制御手段がおこなう前記出力制御命令の指定
    を、前記第二の記憶手段に記憶された出力制御命令のア
    ドレスによっておこなうことを特徴とするアルゴリズミ
    ックパターン発生器。
  3. 【請求項3】 少なくとも、前記演算手段と、前記演算
    制御手段と、前記出力手段と、前記出力制御手段および
    第二の記憶手段とを同一のチップ内に集積したことを特
    徴とする請求項1記載のアルゴリズミックパターン発生
    器。
  4. 【請求項4】 少なくとも、前記演算手段と、前記演算
    制御手段と、前記第二の記憶手段、または、前記出力手
    段と、前記出力制御手段と、前記第三の記憶手段とを同
    一のチップ内に集積したことを特徴とする請求項2記載
    のアルゴリズミックパターン発生器。
JP5334294A 1993-12-28 1993-12-28 アルゴリズミックパターン発生器 Pending JPH07198798A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5334294A JPH07198798A (ja) 1993-12-28 1993-12-28 アルゴリズミックパターン発生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5334294A JPH07198798A (ja) 1993-12-28 1993-12-28 アルゴリズミックパターン発生器

Publications (1)

Publication Number Publication Date
JPH07198798A true JPH07198798A (ja) 1995-08-01

Family

ID=18275737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5334294A Pending JPH07198798A (ja) 1993-12-28 1993-12-28 アルゴリズミックパターン発生器

Country Status (1)

Country Link
JP (1) JPH07198798A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006058048A (ja) * 2004-08-18 2006-03-02 Agilent Technol Inc パターン生成プログラムの最適化方法、プログラムおよび信号生成装置
US7472326B2 (en) * 2002-05-06 2008-12-30 Nextest Systems Corporation Semiconductor test system having multitasking algorithmic pattern generator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472326B2 (en) * 2002-05-06 2008-12-30 Nextest Systems Corporation Semiconductor test system having multitasking algorithmic pattern generator
JP2006058048A (ja) * 2004-08-18 2006-03-02 Agilent Technol Inc パターン生成プログラムの最適化方法、プログラムおよび信号生成装置

Similar Documents

Publication Publication Date Title
KR0149658B1 (ko) 데이터 처리장치 및 데이터 처리방법
JPS5948424B2 (ja) 並列計算システム
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPH0812230B2 (ja) Ic試験装置
JP4156726B2 (ja) 高速パターン生成方法及び装置並びにメモリ試験装置
JPH03286332A (ja) デジタルデータ処理装置
JPH0773037A (ja) プロセッサの制御機構検証用命令列の自動生成方法及び装置
US8051122B2 (en) SIMD arithmetic device capable of high-speed computing
JPH07198798A (ja) アルゴリズミックパターン発生器
JP2002251282A (ja) プロセッサにおけるループの処理
JP3529401B2 (ja) 集積回路
JP2885197B2 (ja) 演算処理装置及び演算処理方法
US20120072792A1 (en) Memory tester and compiler which matches a test program
JP2941274B2 (ja) 高速パターン発生器
JP2654451B2 (ja) データ出力方法
JP2993502B2 (ja) パターン発生方法
JPS59180467A (ja) 論理回路の試験方法
JPH0862303A (ja) 高速パターン発生器
JPS63208124A (ja) マイクロプログラム制御装置
JPS62233780A (ja) 大規模論理回路およびそのテスト方法
JPH0754345B2 (ja) Ic試験装置
JPH0575985B2 (ja)
TW202403544A (zh) 向量擷取及合併指令
JP3710208B2 (ja) 画像処理方法及び装置
JPH0477825A (ja) 制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees