JPS642986B2 - - Google Patents
Info
- Publication number
- JPS642986B2 JPS642986B2 JP59005878A JP587884A JPS642986B2 JP S642986 B2 JPS642986 B2 JP S642986B2 JP 59005878 A JP59005878 A JP 59005878A JP 587884 A JP587884 A JP 587884A JP S642986 B2 JPS642986 B2 JP S642986B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- bit
- bus
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Executing Machine-Instructions (AREA)
Description
〔技術分野〕
本発明はデータ処理システムとりわけ可変幅デ
ータフイールドを所与の幅を有するデータバスへ
インターフエースするバスインターフエース装置
に関する。 〔背景技術〕 可変幅のデータフイールドの操作に関してはこ
れまで多くの方法が考えられている。以下にその
例を示す。 米国特許第4258419号には、オペランドの幅を
プログラマブルに変更させることのできる中央処
理装置を有するシステムが示されている。オペラ
ンドは1個以上のNビツトのセグメントに形成さ
れている。中央処理装置は演算論理装置を有し、
演算論理装置はオペランドのうち最下位のNビツ
トのセグメントから順に処理する。 米国特許第4219874号には、制御装置とそれに
接続された記憶装置とを有し、可変幅のデータを
取扱うデータ処理システムが示されている。2つ
のデータ交換バスが、記憶装置のデータ入力およ
びデータ出力にそれぞれ接続されている。2つの
スイツチが、制御装置およびデータ交換バスに接
続されている。演算論理装置が、制御装置、スイ
ツチ、および記憶装置に接続されている。データ
シフト装置がデータ交換バスおよび制御装置に接
続されている。データマスク装置がデータ交換バ
ス、制御装置、およびスイツチに接続されてい
る。以上のような構造によつて、主記憶装置のワ
ード境界に関して任意に配置されている複数のデ
ータフイールドの処理が可能となる。データシフ
ト装置によつて、オペランドのバイトを自動的に
整列することができる。データマスク装置によつ
て、オペランドの第1のワードと最後のワードの
無関係なバイトをマスクすることができる。 米国特許第3573744号には、データバツフアお
よびコンバータを含み、磁気テープのような第1
の記憶媒体から情報を受取り、それを別の形式に
変換し、プログラムを記憶するメモリのような第
2の記憶媒体へ変換したデータを送るシステムが
示されている。テープのエントリは各々mビツト
から成るn本のラインにより構成されている。1
つのエントリに関して各々のラインから読取られ
た情報は、mビツトから成る複数のレジスタの1
つに送られる。シフトレジスタを含む手段によつ
て、そのデータは複数のmビツトレジスタから、
n×mビツトを有する1つのワードに再構成され
て第2の記憶媒体に送られる。 米国特許第4126897号には、複数の入出力チヤ
ネルから共有の主記憶装置へ要求の転送を行うシ
ステムが示されている。ワードの長さは、単位幅
の要求を表わす“EOT”、および4単位幅の要求
を表わす“QW”のような指標によつて識別され
る。 1982年6月30日付の米国特許出願第394044号に
は、可変幅データフイールドを有する可変幅デー
タバスのアクセス機構が示されている。このアク
セス機構はモジユロNc結合リングカウンタを使
用している。 以上のような先行技術はいずれも本発明による
バスインターフエース装置を示唆するものではな
い。 〔発明の目的〕 本発明の目的は可変幅データフイールドを所与
の幅を有するデータバスへインターフエースする
バスインターフエース装置を提供することにあ
る。 〔発明の概要〕 この目的を達成するため、可変幅Nfビツトの
データを所与の幅Ncビツトのバスにインターフ
エースする本発明のバスインターフエース装置
は、(a)NfビツトのデータをNcビツトごと順次的
にシフトさせるシフト手段と、(b)Nfビツトのデ
ータの最初のNcビツト及び順次的にシフトされ
たNcビツトごとのデータをNcビツトのバスに順
次的に転送する転送手段と、(c)NfがNcの整数倍
でない場合に、転送されるNcビツトのデータの
うちの有効ビツトを指定するマスク手段と、を具
備することを特徴としている。 〔実施例の説明〕 多くのコンピユータアプリケーシヨンにおい
て、固定または選択可能な入力データ幅を有する
システムに時時刻刻変化するデータストリームが
送られてくる。ある時点における所与のフイール
ド幅を有する一片のデータは1つのエンテイテイ
であつてプロセツサは一片のデータをそのように
取扱わねばならない。続く一片のデータもまた1
つのエンテイテイである。各々の一片のデータの
フイールド幅が異なる場合もある。 本発明はこうしたアプリケーシヨンの場合に有
効な装置を提供し、それは簡単かつ高速であり比
較的小規模の回路により実現でき、フイールド幅
に係る処理をプロセツサ自身が行うことを必要と
しない。 データの操作を含む多くのアプリケーシヨンに
おいては、可変幅を有するデータフイールドNf
を不変ではあるが選択可能な幅Ncを有するデー
タバスへインターフエースすることが必要であ
る。データバスは例えばメモリまたはプロセツサ
への経路である。データフイールドの幅はデータ
バスの幅と比べて大きいか、等しいか、または小
さいがこれはデータフイールドの更新のたびに異
なる場合もある。データバスの幅はシステムごと
に決まつているが、初期パラメータの設定によつ
て変更することもできる。データフイールドは左
詰めまたは右詰めによつてデータバスと整列され
なければならない。またNf>Ncなる場合は境界
合せおよび他の制御を複数のサイクルにわたつて
繰返すことが必要である。第1図に示すように可
変幅フイールドNfの実際の幅はデータフイール
ドレジスタ10の中で別に記憶されている複数の
データ幅指定ビツトnfによつて指定される。デー
タは論理装置12に送られる。論理装置12はデ
ータバス16のバスレジスタ14に接続されてい
る。実施例の説明にあたつてデータフイールドの
幅を、 4≦Nf≦16 と仮定する。Nfはデータ幅指定ビツトnfの値によ
つて指定されデータフイールド更新のたびに変化
する。またデータバスの幅Ncを、 4≦Nc≦16 と仮定する。Ncの値は選択可能であるが、演算
が行われる間の長時間にわたつて不変である。論
理装置12は第2.1図ないし第2.3図に示す
ようにモジユーロNcダウンシフタを利用する。
データフイールドレジスタ10およびバスレジス
タ14はどちらも16ビツトの幅を有する。データ
フイールドレジスタ10には4ビツトないし16ビ
ツトのデータがロードされる。今Nf=13と仮定
しよう。バスレジスタ14は上位のNcビツトだ
けがデータバス16に接続されるように初期設定
されている。一実施例としてNc=5を考える。
第2.1図に示すように第1のサイクルにおい
て、データフイールドレジスタ10の16ビツトが
全てバスレジスタ14にロードされる。しかしな
がらデータバス16に出力されるのはNcビツト
の第1のグループだけである。こうしてNfビツ
トのうちのNcビツトの第1のグループ(すなわ
ち13ビツトのうちの5ビツト)が適切に処理され
る。次に第2.2図に示すように第2のサイクル
において、データフイールドレジスタ10のデー
タはNcビツトだけシフトダウンされてバスレジ
スタ14にロードされる。こうしてNcビツトの
第2のグループが処理される。この時点で13ビツ
トのうち10ビツトの処理が終了する。次に第2.
3図に示すように第3のサイクルにおいて、デー
タフイールドレジスタ10のデータは2Ncビツト
だけシフトダウンされてバスレジスタ14にロー
ドされる。この場合は5ビツトのうち3ビツトだ
けが有効ビツトとしてデータバス16に出力され
る(この動作については後に説明する)。このよ
うに5ビツトのうち2ビツトを無効にしないとし
ばしば不都合の生ずる場合がある。例えばデータ
をメモリに送る場合は2ビツトがメモリへの余分
な書込みとなつてしまう。 こうした事態が発生しないように、有効ビツト
位置を“1”で識別するマスクが生成される。有
効ビツトの数は各サイクルごとに非常に簡単な方
法によつて決定され、マスクに変換される。例え
ば有効ビツトの数が3であればこれは3個が
“1”で残りが全て“0”のマスクに変換される。
こうしたマスクはデータがメモリに送られる場合
はメモリチツプを付勢するために“選択信号”と
して、またはプロセツサのための直接マスクとし
て利用される場合がある。マスクが必要でない場
合は生成されない。シフト量の決定、境界合せ、
および他の制御だけでなくマスクの生成は非常に
容易にできる。これは後に説明する。その前に論
理装置12のモジユーロNcダウンシフタに関し
て、その構成の一例を示しその中で使用される回
路の数を概算しながら説明を行う。 データフイールドおよびデータバスが最大16ビ
ツト、最小4ビツトの幅を有する場合に、論理装
置12のモジユーロNcダウンシフタを実現する
簡単な回路の組合せの一例を第3.1図、第3.
2図、第3.3図、および第3.4図に示す。モ
ジユーロNcダウンシフタ28はデータフイール
ドレジスタ10とバスレジスタ14との間に接続
されており、シフト選択レジスタ34の出力に応
答する。シフト選択レジスタ34はシフトパルス
S1,S2,S3,S4,1,2,3および4の所望の組
合せを13個のシフト選択信号ANDゲート18−
0,18−4ないし18−15に送る。シフト選
択復号ANDゲート18−0,18−4ないし1
8−15によつて所望のシフト量(0、および4
ないし15)の選択が可能となる。この選択は、モ
ジユーロNcダウンシフタ28の周辺に設けた他
の回路によつて制御される。これらについては後
に説明する。 第3.1図に示すようにライン20に出力され
るシフト選択復号ANDゲート18−0の“シフ
ト0”にはデータフイールドレジスタ10の各ビ
ツトに対して1個のANDゲートが必要である。
従つてシフト0にとつては16(または32)ビツト
のモジユーロNcダウンシフタの場合は16(または
32)個のANDゲートが必要である。これらの
ANDゲートは第3.1図および第3.2図にお
いて22−1ないし22−16である。Ncの最
小値は4であるのでシフトの最小値(0は除く)
は、ライン24に出力されるシフト選択復号
ANDゲート18−4の“シフト4”に示すよう
に、4である。シフト4にとつては16(または32)
ビツトのモジユーロNcダウンシフタの場合は、
12(または24)個のANDゲートが必要である。こ
れらのANDゲートは第3.1図および第3.2
図において26−1ないし26−12である。モ
ジユーロNcダウンシフタは左方へのシフトであ
るが循環させる必要はない。何故なら左方へはみ
でるビツトは前のサイクルですでに処理されてい
るからである。循環させる必要がないのでモジユ
ーロNcダウンシフタの構成も容易にできる。前
述のように“シフト4”にとつては12個のAND
ゲートが必要であるがシフトの量が1つ増えるに
従つて必要なANDゲートの数は1個ずつ減つて
いく。16ビツトおよび32ビツトのモジユーロNc
ダウンシフタの場合について、これらに必要な
ANDゲートの合計数を以下の表1に示す。フア
ンインおよびフアンアウトに必要な回路を除い
て、ダウンシフタに必要なANDゲートはわずか
94個である(16ビツトの場合)。これら94個の
ANDゲートにシフト選択復号ANDゲート(これ
は13個必要)を加えて、合計94+13=107個の
ANDゲートが必要である。32ビツトの場合も同
様にして合計438+29=467個のANDゲートが必
要である。これは16ビツトの場合の約4倍の数で
あり、比較的少ない数でモジユーロNcダウンシ
フタを構成できる。
ータフイールドを所与の幅を有するデータバスへ
インターフエースするバスインターフエース装置
に関する。 〔背景技術〕 可変幅のデータフイールドの操作に関してはこ
れまで多くの方法が考えられている。以下にその
例を示す。 米国特許第4258419号には、オペランドの幅を
プログラマブルに変更させることのできる中央処
理装置を有するシステムが示されている。オペラ
ンドは1個以上のNビツトのセグメントに形成さ
れている。中央処理装置は演算論理装置を有し、
演算論理装置はオペランドのうち最下位のNビツ
トのセグメントから順に処理する。 米国特許第4219874号には、制御装置とそれに
接続された記憶装置とを有し、可変幅のデータを
取扱うデータ処理システムが示されている。2つ
のデータ交換バスが、記憶装置のデータ入力およ
びデータ出力にそれぞれ接続されている。2つの
スイツチが、制御装置およびデータ交換バスに接
続されている。演算論理装置が、制御装置、スイ
ツチ、および記憶装置に接続されている。データ
シフト装置がデータ交換バスおよび制御装置に接
続されている。データマスク装置がデータ交換バ
ス、制御装置、およびスイツチに接続されてい
る。以上のような構造によつて、主記憶装置のワ
ード境界に関して任意に配置されている複数のデ
ータフイールドの処理が可能となる。データシフ
ト装置によつて、オペランドのバイトを自動的に
整列することができる。データマスク装置によつ
て、オペランドの第1のワードと最後のワードの
無関係なバイトをマスクすることができる。 米国特許第3573744号には、データバツフアお
よびコンバータを含み、磁気テープのような第1
の記憶媒体から情報を受取り、それを別の形式に
変換し、プログラムを記憶するメモリのような第
2の記憶媒体へ変換したデータを送るシステムが
示されている。テープのエントリは各々mビツト
から成るn本のラインにより構成されている。1
つのエントリに関して各々のラインから読取られ
た情報は、mビツトから成る複数のレジスタの1
つに送られる。シフトレジスタを含む手段によつ
て、そのデータは複数のmビツトレジスタから、
n×mビツトを有する1つのワードに再構成され
て第2の記憶媒体に送られる。 米国特許第4126897号には、複数の入出力チヤ
ネルから共有の主記憶装置へ要求の転送を行うシ
ステムが示されている。ワードの長さは、単位幅
の要求を表わす“EOT”、および4単位幅の要求
を表わす“QW”のような指標によつて識別され
る。 1982年6月30日付の米国特許出願第394044号に
は、可変幅データフイールドを有する可変幅デー
タバスのアクセス機構が示されている。このアク
セス機構はモジユロNc結合リングカウンタを使
用している。 以上のような先行技術はいずれも本発明による
バスインターフエース装置を示唆するものではな
い。 〔発明の目的〕 本発明の目的は可変幅データフイールドを所与
の幅を有するデータバスへインターフエースする
バスインターフエース装置を提供することにあ
る。 〔発明の概要〕 この目的を達成するため、可変幅Nfビツトの
データを所与の幅Ncビツトのバスにインターフ
エースする本発明のバスインターフエース装置
は、(a)NfビツトのデータをNcビツトごと順次的
にシフトさせるシフト手段と、(b)Nfビツトのデ
ータの最初のNcビツト及び順次的にシフトされ
たNcビツトごとのデータをNcビツトのバスに順
次的に転送する転送手段と、(c)NfがNcの整数倍
でない場合に、転送されるNcビツトのデータの
うちの有効ビツトを指定するマスク手段と、を具
備することを特徴としている。 〔実施例の説明〕 多くのコンピユータアプリケーシヨンにおい
て、固定または選択可能な入力データ幅を有する
システムに時時刻刻変化するデータストリームが
送られてくる。ある時点における所与のフイール
ド幅を有する一片のデータは1つのエンテイテイ
であつてプロセツサは一片のデータをそのように
取扱わねばならない。続く一片のデータもまた1
つのエンテイテイである。各々の一片のデータの
フイールド幅が異なる場合もある。 本発明はこうしたアプリケーシヨンの場合に有
効な装置を提供し、それは簡単かつ高速であり比
較的小規模の回路により実現でき、フイールド幅
に係る処理をプロセツサ自身が行うことを必要と
しない。 データの操作を含む多くのアプリケーシヨンに
おいては、可変幅を有するデータフイールドNf
を不変ではあるが選択可能な幅Ncを有するデー
タバスへインターフエースすることが必要であ
る。データバスは例えばメモリまたはプロセツサ
への経路である。データフイールドの幅はデータ
バスの幅と比べて大きいか、等しいか、または小
さいがこれはデータフイールドの更新のたびに異
なる場合もある。データバスの幅はシステムごと
に決まつているが、初期パラメータの設定によつ
て変更することもできる。データフイールドは左
詰めまたは右詰めによつてデータバスと整列され
なければならない。またNf>Ncなる場合は境界
合せおよび他の制御を複数のサイクルにわたつて
繰返すことが必要である。第1図に示すように可
変幅フイールドNfの実際の幅はデータフイール
ドレジスタ10の中で別に記憶されている複数の
データ幅指定ビツトnfによつて指定される。デー
タは論理装置12に送られる。論理装置12はデ
ータバス16のバスレジスタ14に接続されてい
る。実施例の説明にあたつてデータフイールドの
幅を、 4≦Nf≦16 と仮定する。Nfはデータ幅指定ビツトnfの値によ
つて指定されデータフイールド更新のたびに変化
する。またデータバスの幅Ncを、 4≦Nc≦16 と仮定する。Ncの値は選択可能であるが、演算
が行われる間の長時間にわたつて不変である。論
理装置12は第2.1図ないし第2.3図に示す
ようにモジユーロNcダウンシフタを利用する。
データフイールドレジスタ10およびバスレジス
タ14はどちらも16ビツトの幅を有する。データ
フイールドレジスタ10には4ビツトないし16ビ
ツトのデータがロードされる。今Nf=13と仮定
しよう。バスレジスタ14は上位のNcビツトだ
けがデータバス16に接続されるように初期設定
されている。一実施例としてNc=5を考える。
第2.1図に示すように第1のサイクルにおい
て、データフイールドレジスタ10の16ビツトが
全てバスレジスタ14にロードされる。しかしな
がらデータバス16に出力されるのはNcビツト
の第1のグループだけである。こうしてNfビツ
トのうちのNcビツトの第1のグループ(すなわ
ち13ビツトのうちの5ビツト)が適切に処理され
る。次に第2.2図に示すように第2のサイクル
において、データフイールドレジスタ10のデー
タはNcビツトだけシフトダウンされてバスレジ
スタ14にロードされる。こうしてNcビツトの
第2のグループが処理される。この時点で13ビツ
トのうち10ビツトの処理が終了する。次に第2.
3図に示すように第3のサイクルにおいて、デー
タフイールドレジスタ10のデータは2Ncビツト
だけシフトダウンされてバスレジスタ14にロー
ドされる。この場合は5ビツトのうち3ビツトだ
けが有効ビツトとしてデータバス16に出力され
る(この動作については後に説明する)。このよ
うに5ビツトのうち2ビツトを無効にしないとし
ばしば不都合の生ずる場合がある。例えばデータ
をメモリに送る場合は2ビツトがメモリへの余分
な書込みとなつてしまう。 こうした事態が発生しないように、有効ビツト
位置を“1”で識別するマスクが生成される。有
効ビツトの数は各サイクルごとに非常に簡単な方
法によつて決定され、マスクに変換される。例え
ば有効ビツトの数が3であればこれは3個が
“1”で残りが全て“0”のマスクに変換される。
こうしたマスクはデータがメモリに送られる場合
はメモリチツプを付勢するために“選択信号”と
して、またはプロセツサのための直接マスクとし
て利用される場合がある。マスクが必要でない場
合は生成されない。シフト量の決定、境界合せ、
および他の制御だけでなくマスクの生成は非常に
容易にできる。これは後に説明する。その前に論
理装置12のモジユーロNcダウンシフタに関し
て、その構成の一例を示しその中で使用される回
路の数を概算しながら説明を行う。 データフイールドおよびデータバスが最大16ビ
ツト、最小4ビツトの幅を有する場合に、論理装
置12のモジユーロNcダウンシフタを実現する
簡単な回路の組合せの一例を第3.1図、第3.
2図、第3.3図、および第3.4図に示す。モ
ジユーロNcダウンシフタ28はデータフイール
ドレジスタ10とバスレジスタ14との間に接続
されており、シフト選択レジスタ34の出力に応
答する。シフト選択レジスタ34はシフトパルス
S1,S2,S3,S4,1,2,3および4の所望の組
合せを13個のシフト選択信号ANDゲート18−
0,18−4ないし18−15に送る。シフト選
択復号ANDゲート18−0,18−4ないし1
8−15によつて所望のシフト量(0、および4
ないし15)の選択が可能となる。この選択は、モ
ジユーロNcダウンシフタ28の周辺に設けた他
の回路によつて制御される。これらについては後
に説明する。 第3.1図に示すようにライン20に出力され
るシフト選択復号ANDゲート18−0の“シフ
ト0”にはデータフイールドレジスタ10の各ビ
ツトに対して1個のANDゲートが必要である。
従つてシフト0にとつては16(または32)ビツト
のモジユーロNcダウンシフタの場合は16(または
32)個のANDゲートが必要である。これらの
ANDゲートは第3.1図および第3.2図にお
いて22−1ないし22−16である。Ncの最
小値は4であるのでシフトの最小値(0は除く)
は、ライン24に出力されるシフト選択復号
ANDゲート18−4の“シフト4”に示すよう
に、4である。シフト4にとつては16(または32)
ビツトのモジユーロNcダウンシフタの場合は、
12(または24)個のANDゲートが必要である。こ
れらのANDゲートは第3.1図および第3.2
図において26−1ないし26−12である。モ
ジユーロNcダウンシフタは左方へのシフトであ
るが循環させる必要はない。何故なら左方へはみ
でるビツトは前のサイクルですでに処理されてい
るからである。循環させる必要がないのでモジユ
ーロNcダウンシフタの構成も容易にできる。前
述のように“シフト4”にとつては12個のAND
ゲートが必要であるがシフトの量が1つ増えるに
従つて必要なANDゲートの数は1個ずつ減つて
いく。16ビツトおよび32ビツトのモジユーロNc
ダウンシフタの場合について、これらに必要な
ANDゲートの合計数を以下の表1に示す。フア
ンインおよびフアンアウトに必要な回路を除い
て、ダウンシフタに必要なANDゲートはわずか
94個である(16ビツトの場合)。これら94個の
ANDゲートにシフト選択復号ANDゲート(これ
は13個必要)を加えて、合計94+13=107個の
ANDゲートが必要である。32ビツトの場合も同
様にして合計438+29=467個のANDゲートが必
要である。これは16ビツトの場合の約4倍の数で
あり、比較的少ない数でモジユーロNcダウンシ
フタを構成できる。
【表】
【表】
ト ト
合計 107 合計 467
第1図の論理装置12の中のモジユーロNcダ
ウンシフタは、所望の時刻に所望のシフト量を選
択するため別の制御回路を必要とする。こうした
制御回路を第4.1図および第4.2図に示す。 データバス16の幅Ncは、レジスタ30また
は特定の信号線に2進形式でncとして常設される
初期パラメータによつて決まつている。2進値nc
は、加算器32に印加されて、シフト選択レジス
タ34が各サイクルごとにモジユーロNcダウン
シフタ28の所望のシフト量を選択する。第1の
サイクルで、“0”がマルチプレクサ35を介し
て加算器32に入力される。第1のサイクルは常
に“シフト0”であり、これはカウンタ36によ
つて制御される。カウンタ36はデータフイール
ドが更新される度にゼロにセツトされる。次のサ
イクルでカウント値は増分されて、前のシフト量
に対して10進値Ncが加えられ、以下サイクルご
とにNcが加えられる。そうしてサイクルごとに
NfビツトのうちのNcビツトのグループが順に選
択される。 最後のグループのビツト数がNcよりも小さい
場合は、加算器38、Nレジスタ44、および加
算器40によつてマスクのための適切な値が次の
ようにして決定される。2進値ncは回路60で補
数化(2の補数化)されて符号が反転し、2進値
nfと共に加算器38に印加されて、その結果、 N=nf−(p+1)nc が得られる。ここでpは0ないし7の値をとり、
これはカウンタ36のカウント値(すなわちサイ
クル数)である。Nがゼロより小さくかつpがゼ
ロより大きい場合(第4.2図のANDゲート4
2の出力)は、Nfが初めからNcよりも大きく複
数のサイクルが必要であることを意味する。さら
に最後のサイクルにおいては処理されるべきビツ
トの数がNcよりも少ないことも意味する。処理
されるべきビツトの正しい数は、加算器40を用
いて、Nレジスタ44にある負の数とncとを加え
ることによつて決定される。加算器40の出力値
Rsは、最後のサイクルの間にマスク選択レジス
タ46に置かれる。マスク選択レジスタ46は、
選択信号発生器(図示せず)への入力として使用
される。選択信号発生器は簡単な2つの復号器か
ら構成され、それらの出力がANDされて、マス
ク位置を表わす“1”のストリングおよび残り全
てが“0”のマスクを生成する。選択信号発生器
は本発明とは無関係であり、マスク選択レジスタ
46に記憶されている値を使つて、バスレジスタ
14において所望の有効ビツトを選択する方法は
他にも色々考えられる。 N=0、すなわちNfがNcで割り切れる場合は、
Nf=aNc(aは1以上の整数)であり、(イ)a=1
の場合;ゼロ検出回路56がN=0を検知して
ORゲート54が出力し、その出力と、“p=0”
の信号とを受け取るANDゲート50の出力によ
つて、マスク選択レジスタ46には加算器40の
出力値Rs(この場合Rsの値はRs=Nc+N=nc+0
=nc)が入力される。また(ロ)a>1の場合;
ANDゲート50およびANDゲート42のいずれも
出力されずマスク選択レジスタ46にはncが入力
される。以上のようにして、Nf=aNc(aは1以
上の整数)の場合は、マスク選択レジスタ46に
はncが入力される。 以上のようにマスク選択レジスタ46への入力
ncおよびRsの選択はANDゲート50およびAND
ゲート42によつて制御される。 Nがゼロ以下であり、かつpがゼロの場合は第
1のサイクルの際にNfがNcより小さい場合であ
る。この場合はデータフイールドの処理は第1の
サイクルだけでよく、前述の加算器40の出力値
Rsを用いて所望のマスクが生成される。第1の
サイクルだけでよいという条件は、ANDゲート
56およびNレジスタ44に接続されているOR
ゲート54が出力する。“N≦0”信号と、AND
ゲート52を介してカウンタ36が出力する“p
=0”信号とを受取るANDゲート50の出力に
より示される。 カウンタ36はまた、新しいデータの第1のサ
イクルの際に最初に加算器38に加えるべき値と
してnfを選択し、後続のサイクルで加算器38に
加えるべき値としてNを選択するためにも利用さ
れる。カウンタ36は各サイクルごとに1だけ増
分される。この増分はORゲート54の出力をイ
ンバータ55によつて反転し、その出力をカウン
タ36に印加することによつて行われる。カウン
タ36および他の必要なレジスタは、新しいデー
タフイールドの処理を開始するたびにゼロにセツ
トされる。Nfの幅を有するデータフイールドの
全てのビツトの処理が終了するまでこれらは自動
的に更新される。ただしこうした更新を行うため
のマスタクロツクおよび他の制御機構は図示して
いない。 本発明の目的からすれば、カウンタ36は新し
いデータフイールドの処理の開始時にリセツトさ
れる1ビツトのラツチで十分である。本実施例で
3ビツトのカウンタ36を用いている理由は、実
際のサイクルカウント値が必要になる場合のこと
(これは本発明とは無関係)を考慮したからであ
る。
合計 107 合計 467
第1図の論理装置12の中のモジユーロNcダ
ウンシフタは、所望の時刻に所望のシフト量を選
択するため別の制御回路を必要とする。こうした
制御回路を第4.1図および第4.2図に示す。 データバス16の幅Ncは、レジスタ30また
は特定の信号線に2進形式でncとして常設される
初期パラメータによつて決まつている。2進値nc
は、加算器32に印加されて、シフト選択レジス
タ34が各サイクルごとにモジユーロNcダウン
シフタ28の所望のシフト量を選択する。第1の
サイクルで、“0”がマルチプレクサ35を介し
て加算器32に入力される。第1のサイクルは常
に“シフト0”であり、これはカウンタ36によ
つて制御される。カウンタ36はデータフイール
ドが更新される度にゼロにセツトされる。次のサ
イクルでカウント値は増分されて、前のシフト量
に対して10進値Ncが加えられ、以下サイクルご
とにNcが加えられる。そうしてサイクルごとに
NfビツトのうちのNcビツトのグループが順に選
択される。 最後のグループのビツト数がNcよりも小さい
場合は、加算器38、Nレジスタ44、および加
算器40によつてマスクのための適切な値が次の
ようにして決定される。2進値ncは回路60で補
数化(2の補数化)されて符号が反転し、2進値
nfと共に加算器38に印加されて、その結果、 N=nf−(p+1)nc が得られる。ここでpは0ないし7の値をとり、
これはカウンタ36のカウント値(すなわちサイ
クル数)である。Nがゼロより小さくかつpがゼ
ロより大きい場合(第4.2図のANDゲート4
2の出力)は、Nfが初めからNcよりも大きく複
数のサイクルが必要であることを意味する。さら
に最後のサイクルにおいては処理されるべきビツ
トの数がNcよりも少ないことも意味する。処理
されるべきビツトの正しい数は、加算器40を用
いて、Nレジスタ44にある負の数とncとを加え
ることによつて決定される。加算器40の出力値
Rsは、最後のサイクルの間にマスク選択レジス
タ46に置かれる。マスク選択レジスタ46は、
選択信号発生器(図示せず)への入力として使用
される。選択信号発生器は簡単な2つの復号器か
ら構成され、それらの出力がANDされて、マス
ク位置を表わす“1”のストリングおよび残り全
てが“0”のマスクを生成する。選択信号発生器
は本発明とは無関係であり、マスク選択レジスタ
46に記憶されている値を使つて、バスレジスタ
14において所望の有効ビツトを選択する方法は
他にも色々考えられる。 N=0、すなわちNfがNcで割り切れる場合は、
Nf=aNc(aは1以上の整数)であり、(イ)a=1
の場合;ゼロ検出回路56がN=0を検知して
ORゲート54が出力し、その出力と、“p=0”
の信号とを受け取るANDゲート50の出力によ
つて、マスク選択レジスタ46には加算器40の
出力値Rs(この場合Rsの値はRs=Nc+N=nc+0
=nc)が入力される。また(ロ)a>1の場合;
ANDゲート50およびANDゲート42のいずれも
出力されずマスク選択レジスタ46にはncが入力
される。以上のようにして、Nf=aNc(aは1以
上の整数)の場合は、マスク選択レジスタ46に
はncが入力される。 以上のようにマスク選択レジスタ46への入力
ncおよびRsの選択はANDゲート50およびAND
ゲート42によつて制御される。 Nがゼロ以下であり、かつpがゼロの場合は第
1のサイクルの際にNfがNcより小さい場合であ
る。この場合はデータフイールドの処理は第1の
サイクルだけでよく、前述の加算器40の出力値
Rsを用いて所望のマスクが生成される。第1の
サイクルだけでよいという条件は、ANDゲート
56およびNレジスタ44に接続されているOR
ゲート54が出力する。“N≦0”信号と、AND
ゲート52を介してカウンタ36が出力する“p
=0”信号とを受取るANDゲート50の出力に
より示される。 カウンタ36はまた、新しいデータの第1のサ
イクルの際に最初に加算器38に加えるべき値と
してnfを選択し、後続のサイクルで加算器38に
加えるべき値としてNを選択するためにも利用さ
れる。カウンタ36は各サイクルごとに1だけ増
分される。この増分はORゲート54の出力をイ
ンバータ55によつて反転し、その出力をカウン
タ36に印加することによつて行われる。カウン
タ36および他の必要なレジスタは、新しいデー
タフイールドの処理を開始するたびにゼロにセツ
トされる。Nfの幅を有するデータフイールドの
全てのビツトの処理が終了するまでこれらは自動
的に更新される。ただしこうした更新を行うため
のマスタクロツクおよび他の制御機構は図示して
いない。 本発明の目的からすれば、カウンタ36は新し
いデータフイールドの処理の開始時にリセツトさ
れる1ビツトのラツチで十分である。本実施例で
3ビツトのカウンタ36を用いている理由は、実
際のサイクルカウント値が必要になる場合のこと
(これは本発明とは無関係)を考慮したからであ
る。
第1図は本発明の構成を表わすブロツク図、第
2.1図ないし第2.3図はモジユーロNcダウ
ンシフタの動作を表わすブロツク図、第3図は第
3.1図ないし第3.4図の関係を表わすブロツ
ク図、第3.1図ないし第3.4図はモジユーロ
Ncダウンシフタの構成を表わすブロツク図、第
4.1図および第4.2図はモジユーロNcダウ
ンシフタの制御を行うための周辺の制御回路を表
わすブロツク図である。
2.1図ないし第2.3図はモジユーロNcダウ
ンシフタの動作を表わすブロツク図、第3図は第
3.1図ないし第3.4図の関係を表わすブロツ
ク図、第3.1図ないし第3.4図はモジユーロ
Ncダウンシフタの構成を表わすブロツク図、第
4.1図および第4.2図はモジユーロNcダウ
ンシフタの制御を行うための周辺の制御回路を表
わすブロツク図である。
Claims (1)
- 【特許請求の範囲】 1 可変幅Nfビツトのデータを所与の幅Ncビツ
トのバスにインターフエースするバスインターフ
エース装置であつて、 (a) 前記NfビツトのデータをNcビツトごと順次
的にシフトさせるシフト手段と、 (b) 前記Nfビツトのデータの最初のNcビツト及
び前記順次的にシフトされたNcビツトごとの
データを前記Ncビツトのバスに順次的に転送
する転送手段と、 (c) NfがNcの整数倍でない場合に、前記転送さ
れるNcビツトのデータのうちの有効ビツトを
指定するマスク手段と、 を備えたバスインターフエース装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US49911183A | 1983-05-27 | 1983-05-27 | |
| US49911 | 1993-04-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59226923A JPS59226923A (ja) | 1984-12-20 |
| JPS642986B2 true JPS642986B2 (ja) | 1989-01-19 |
Family
ID=23983863
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59005878A Granted JPS59226923A (ja) | 1983-05-27 | 1984-01-18 | バスインタ−フエ−ス装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0127007B1 (ja) |
| JP (1) | JPS59226923A (ja) |
| DE (1) | DE3479455D1 (ja) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4571692A (en) * | 1984-04-12 | 1986-02-18 | General Electric Company | Electronic demand register |
| FR2576432B1 (fr) * | 1985-01-24 | 1989-06-02 | Brion Alain | Dispositif d'echange de donnees entre un calculateur et une unite peripherique |
| KR900005313A (ko) * | 1988-09-14 | 1990-04-14 | 존 지.웨브 | 16비트 데이타 버스에 바이트폭 uart 전송을 이행하는 방법 및 장치 |
| JPH0814814B2 (ja) * | 1988-12-27 | 1996-02-14 | 工業技術院長 | バッファ制御方式 |
| GB2234093B (en) * | 1989-06-21 | 1992-01-15 | Stratum Technology Limited | Data store connection |
| US5170477A (en) * | 1989-10-31 | 1992-12-08 | Ibm Corporation | Odd boundary address aligned direct memory acess device and method |
| JPH05257851A (ja) * | 1991-12-30 | 1993-10-08 | Apple Computer Inc | データの転送の順序を制御させる装置 |
| US5848297A (en) * | 1991-12-30 | 1998-12-08 | Apple Computer, Inc. | Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect |
| US5410677A (en) * | 1991-12-30 | 1995-04-25 | Apple Computer, Inc. | Apparatus for translating data formats starting at an arbitrary byte position |
| US5887196A (en) | 1991-12-30 | 1999-03-23 | Apple Computer, Inc. | System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer |
| US5640599A (en) * | 1991-12-30 | 1997-06-17 | Apple Computer, Inc. | Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed |
| US5434892A (en) * | 1994-09-16 | 1995-07-18 | Intel Corporation | Throttling circuit for a data transfer system |
| JPH10117144A (ja) * | 1996-10-08 | 1998-05-06 | Nec Ic Microcomput Syst Ltd | A/dコンバータ |
| DE10055939B4 (de) * | 2000-11-10 | 2004-02-05 | Harman Becker Automotive Systems (Becker Division) Gmbh | Verfahren zum Übertragen einer Nutzinformation, Datenquelle und Datensenke zur Ausführung des Verfahrens |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5478639A (en) * | 1977-12-06 | 1979-06-22 | Toshiba Corp | Input/output control unit |
| NL7713707A (nl) * | 1977-12-12 | 1979-06-14 | Philips Nv | Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met variabele ingang en vaste uitgang. |
| GB2021823B (en) * | 1978-05-30 | 1983-04-27 | Intel Corp | Data transfer system |
| JPS5596434U (ja) * | 1978-12-25 | 1980-07-04 | ||
| JPS5685130A (en) * | 1979-12-12 | 1981-07-11 | Mitsubishi Electric Corp | Rom access circuit |
| FR2477808A1 (fr) * | 1980-03-10 | 1981-09-11 | Konto Ghiorghi Andre | Dispositif double compteur de photons, notamment pour la spectrometrie |
-
1984
- 1984-01-18 JP JP59005878A patent/JPS59226923A/ja active Granted
- 1984-05-03 DE DE8484104923T patent/DE3479455D1/de not_active Expired
- 1984-05-03 EP EP19840104923 patent/EP0127007B1/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59226923A (ja) | 1984-12-20 |
| EP0127007B1 (en) | 1989-08-16 |
| EP0127007A2 (en) | 1984-12-05 |
| EP0127007A3 (en) | 1987-05-20 |
| DE3479455D1 (en) | 1989-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
| JP2674754B2 (ja) | バレル・シフタ | |
| JPS642986B2 (ja) | ||
| US4592005A (en) | Masked arithmetic logic unit | |
| JPH0431411B2 (ja) | ||
| US4399516A (en) | Stored-program control machine | |
| JP2983542B2 (ja) | 処理高速化装置 | |
| US3751650A (en) | Variable length arithmetic unit | |
| US4138731A (en) | High speed binary and binary coded decimal adder | |
| US5125011A (en) | Apparatus for masking data bits | |
| US4945509A (en) | Dual look ahead mask generator | |
| US4641278A (en) | Memory device with a register interchange function | |
| JPH0675745A (ja) | 直列化差分フラッグ回路 | |
| JPH02210576A (ja) | 集積回路アキュムレータ | |
| US5065353A (en) | Adder control method and adder control circuit | |
| JPH01220528A (ja) | パリテイ発生器 | |
| JP3533825B2 (ja) | 論理演算ユニットおよび論理演算装置 | |
| JP3092181B2 (ja) | 高速アービトレーション回路 | |
| US20100070719A1 (en) | Slave and a master device, a system incorporating the devices, and a method of operating the slave device | |
| RU2020744C1 (ru) | Универсальный параллельный счетчик по модулю m - дешифратор количества единиц в n-разрядном двоичном коде | |
| RU1791818C (ru) | Устройство дл контрол остаточного кода по модулю три | |
| JP3125436B2 (ja) | ビットオフセット量計算装置 | |
| JPS5933524A (ja) | 過負荷制御方式 | |
| SU949719A1 (ru) | Сдвигающее устройство | |
| JP3433487B2 (ja) | 2進10進変換器 |