JPH0736167B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置Info
- Publication number
- JPH0736167B2 JPH0736167B2 JP63150402A JP15040288A JPH0736167B2 JP H0736167 B2 JPH0736167 B2 JP H0736167B2 JP 63150402 A JP63150402 A JP 63150402A JP 15040288 A JP15040288 A JP 15040288A JP H0736167 B2 JPH0736167 B2 JP H0736167B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- byte
- data
- buffer
- line
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、mバイト幅のバスを介して情報処理システム
の入出力装置との間で情報を送受信し、2n(2nはmより
大)バイト・ワードで編成されたメモリとの間で読取り
および書込みを行なえる装置に関する。
の入出力装置との間で情報を送受信し、2n(2nはmより
大)バイト・ワードで編成されたメモリとの間で読取り
および書込みを行なえる装置に関する。
B.従来技術およびその問題点 遠隔通信の世界では、通信がキーワードである。これ
は、通信制御機構だけでなく計算機システムにも当ては
まる。計算機システムでは、構成要素がメモリ階層に組
み込まれ、その階層の各レベルを構成するモジュール
は、次第に容量が大きく、アクセス時間か遅く、ビット
当たりのコストが安くなっている。
は、通信制御機構だけでなく計算機システムにも当ては
まる。計算機システムでは、構成要素がメモリ階層に組
み込まれ、その階層の各レベルを構成するモジュール
は、次第に容量が大きく、アクセス時間か遅く、ビット
当たりのコストが安くなっている。
今日、大規模集積や超大規模集積により、低い階層レベ
ルに使用するのに便利な高速ランダム・アクセス・メモ
リの製造が可能になっている。しかし、1次メモリ、す
なわち、主メモリへのアクセスの最適化が、依然として
望まれている。様々な階層レベルの間のアクセス時間に
はかなりの開きがある。
ルに使用するのに便利な高速ランダム・アクセス・メモ
リの製造が可能になっている。しかし、1次メモリ、す
なわち、主メモリへのアクセスの最適化が、依然として
望まれている。様々な階層レベルの間のアクセス時間に
はかなりの開きがある。
入出力装置の動作の処理には主に2つの問題がある。第
1に、速度要因は、高速入出力装置が主記憶装置より少
なくとも3桁遅いことに関係するものである。入出力装
置が高速で、転送する情報ブロックが数ワード長である
とき、緩衝方式の考え方に基づいた方法が使用できる。
入出力装置は、メモリ・アドレスとブロック長を指定す
ることによって情報転送を要求する。
1に、速度要因は、高速入出力装置が主記憶装置より少
なくとも3桁遅いことに関係するものである。入出力装
置が高速で、転送する情報ブロックが数ワード長である
とき、緩衝方式の考え方に基づいた方法が使用できる。
入出力装置は、メモリ・アドレスとブロック長を指定す
ることによって情報転送を要求する。
第2に、データ形式要因は、様々な入出力装置やメモリ
構成があるため、入出力装置とメモリの異なるデータ構
造に対処するため、論理インターフェースを挿入しなけ
ればならないことに関係するものである。
構成があるため、入出力装置とメモリの異なるデータ構
造に対処するため、論理インターフェースを挿入しなけ
ればならないことに関係するものである。
その固有の故障率を改善し、サービスコストを下げるた
めに、メモリは、誤り訂正コード(ECC)機能を備えて
いる。所定の検出/訂正レベルを達成するのに必要なEC
Cビット数は、大ざっぱにみて、処理されるビット数の
対数関係である。
めに、メモリは、誤り訂正コード(ECC)機能を備えて
いる。所定の検出/訂正レベルを達成するのに必要なEC
Cビット数は、大ざっぱにみて、処理されるビット数の
対数関係である。
たとえば、単一誤り訂正と2重誤り検出を実現するに
は、2データ・バイトでは6ECCビットが必要であり、4
データ・バイトでは7ECCビット、8データ・バイトでは
8ECCビットか必要である。したがって、できればプロセ
ッサのデータ・パスに合致する、数バイトのワードで主
メモリを編成して、ECCビットを節約するのが経済的で
ある。中規模から大規模に至るすべてのコンピュータ
は、mバイト幅の主記憶装置をもつ。現在、mの通常値
は、4または8である。しかし、入出力装置との間で送
受信される情報バーストは、一般に、ワード境界上では
開始せず、そのために性能が一段と低下する。それは、
各入出力動作に対して、メモリ・コントローラが以下の
ことを行なわなければならないからである。
は、2データ・バイトでは6ECCビットが必要であり、4
データ・バイトでは7ECCビット、8データ・バイトでは
8ECCビットか必要である。したがって、できればプロセ
ッサのデータ・パスに合致する、数バイトのワードで主
メモリを編成して、ECCビットを節約するのが経済的で
ある。中規模から大規模に至るすべてのコンピュータ
は、mバイト幅の主記憶装置をもつ。現在、mの通常値
は、4または8である。しかし、入出力装置との間で送
受信される情報バーストは、一般に、ワード境界上では
開始せず、そのために性能が一段と低下する。それは、
各入出力動作に対して、メモリ・コントローラが以下の
ことを行なわなければならないからである。
−メモリ内の目標ワードを読み取る。
−ECCビットを検査し、誤りがあればそれを訂正する。
−ワードの入出力データを組み合わせる。
−新しいECCビットを計算する。
−メモリに新しいデータと新しいECCビットを書き込
む。
む。
この手順は“読取り/修正/書込み”と呼ばれ、メモリ
の性能を損なう。
の性能を損なう。
入出力装置形式が一般にメモリ幅に合致しないことから
別の問題が生じる。
別の問題が生じる。
これらすべての問題は、従来は、メモリ幅に合致するデ
ータを供給するバッファを持っていなければならないと
いう負担を入出力装置にかけ、すべての入出力データ転
送をメモリ・ワード境界で開始しなければならないとい
う負担をソフトウェアにかけることによって解決されて
いた。そうしないと、読取り/修正/書込み性能が低下
することになる。
ータを供給するバッファを持っていなければならないと
いう負担を入出力装置にかけ、すべての入出力データ転
送をメモリ・ワード境界で開始しなければならないとい
う負担をソフトウェアにかけることによって解決されて
いた。そうしないと、読取り/修正/書込み性能が低下
することになる。
C.問題点を解決するための手段 本発明の目的は、入出力装置間のデータ・キャリアがm
バイト幅のデータ・バスであり、メモリが2n(2nはmよ
り大きく、2n/mが整数K)バイトのワードで編成されて
いるとき、周辺入出力装置とプロセッサ・メモリの間で
高性能データ伝送を可能にする、メモリ形式アダプタ
(メモリ・フォーマット・アダプタ)を含むメモリ・ア
クセス制御装置を提供することにある。
バイト幅のデータ・バスであり、メモリが2n(2nはmよ
り大きく、2n/mが整数K)バイトのワードで編成されて
いるとき、周辺入出力装置とプロセッサ・メモリの間で
高性能データ伝送を可能にする、メモリ形式アダプタ
(メモリ・フォーマット・アダプタ)を含むメモリ・ア
クセス制御装置を提供することにある。
本発明の他の目的は、入出力装置の応答時間を改善す
る、メモリ形式アダプタを提供することにある。
る、メモリ形式アダプタを提供することにある。
本発明の他の目的は、動的ランダム・アクセス・メモリ
のページ動作モードを十分に活用できる、メモリ形式ア
ダプタを提供することにある。
のページ動作モードを十分に活用できる、メモリ形式ア
ダプタを提供することにある。
本発明の他の目的は、システム・ソフトウェアおよび入
出力装置に対してトランスペアレントなメモリ形式アダ
プタを提供することにある。
出力装置に対してトランスペアレントなメモリ形式アダ
プタを提供することにある。
2n(2n/mは整数K)バイト・ワードで編成されたメモリ
にアクセスするのに使用され、バイト選択信号(BS)の
制御下でワード中の各バイトをmバイト幅のバス22を介
してアドレスする機能をもち、可変数のバイトからなる
データ・バイト・バーストの書込みまたは読取りを行な
うメモリ・アクセス制御装置が提供される。この装置
は、 −同じ周期TをもつオーバーラップしないK個のパルス
・ストリーム(T1、T2)を供給するクロック手段と、 −メモリ形式アダプタ手段、 を含んでいる。
にアクセスするのに使用され、バイト選択信号(BS)の
制御下でワード中の各バイトをmバイト幅のバス22を介
してアドレスする機能をもち、可変数のバイトからなる
データ・バイト・バーストの書込みまたは読取りを行な
うメモリ・アクセス制御装置が提供される。この装置
は、 −同じ周期TをもつオーバーラップしないK個のパルス
・ストリーム(T1、T2)を供給するクロック手段と、 −メモリ形式アダプタ手段、 を含んでいる。
前記メモリ形式アダプタ手段は、 ・各組がK個のパルス・ストリームのうちの1つに応答
し、各組の各ゲート手段が、パルス・ストリームによっ
て活動化されるとき、データ・バスがデータ・バイトを
受け取ってそれをその出力線上に供給するように接続さ
れている、K個のゲート手段を構成する2n個のゲート手
段(124)、 ・各手段が、周期Tごとに、2nバイトがレジスタ手段に
記憶されるようにゲート手段の出力端に接続されてい
る、2n個のレジスタ手段(40)、 ・各位置が書込み選択信号の制御下で1バイトを記憶で
きる2n個の位置からなる連続する記憶位置を含むバッフ
ァ手段(30)、 ・メモリ書込み動作の際に活動化し、メモリ・ワード内
のバイト記憶位置を決定する開始メモリ・アドレスの最
下位ビットの値とバイト・カウントと重なり合わないパ
ルス・ストリームとに応答して、各バッファ・バイト位
置に関して書込み選択信号を選択的に活動化させ、バッ
ファの内容がメモリに書き込まれるデータ・バーストの
配列にマップされるように、連続するバッファ記憶位置
の選択された位置にデータ・レジスタ内容を書き込ませ
る、位置合せ/制御手段(42)、 ・完全なデータ・バーストがバッファ手段に書き込まれ
たとき活動化して、開始メモリ・アドレスの最下位ビッ
トに基づいてバイト選択信号(BS)を選択的に活動化さ
せ、開始メモリ・アドレスによって定義される最初のワ
ード内のバイト位置からメモリにバッファ内容を転送さ
せる、メモリ書込み制御手段(192、168)、 を含んでいる。
し、各組の各ゲート手段が、パルス・ストリームによっ
て活動化されるとき、データ・バスがデータ・バイトを
受け取ってそれをその出力線上に供給するように接続さ
れている、K個のゲート手段を構成する2n個のゲート手
段(124)、 ・各手段が、周期Tごとに、2nバイトがレジスタ手段に
記憶されるようにゲート手段の出力端に接続されてい
る、2n個のレジスタ手段(40)、 ・各位置が書込み選択信号の制御下で1バイトを記憶で
きる2n個の位置からなる連続する記憶位置を含むバッフ
ァ手段(30)、 ・メモリ書込み動作の際に活動化し、メモリ・ワード内
のバイト記憶位置を決定する開始メモリ・アドレスの最
下位ビットの値とバイト・カウントと重なり合わないパ
ルス・ストリームとに応答して、各バッファ・バイト位
置に関して書込み選択信号を選択的に活動化させ、バッ
ファの内容がメモリに書き込まれるデータ・バーストの
配列にマップされるように、連続するバッファ記憶位置
の選択された位置にデータ・レジスタ内容を書き込ませ
る、位置合せ/制御手段(42)、 ・完全なデータ・バーストがバッファ手段に書き込まれ
たとき活動化して、開始メモリ・アドレスの最下位ビッ
トに基づいてバイト選択信号(BS)を選択的に活動化さ
せ、開始メモリ・アドレスによって定義される最初のワ
ード内のバイト位置からメモリにバッファ内容を転送さ
せる、メモリ書込み制御手段(192、168)、 を含んでいる。
実施例によればさらに、メモリ形式アダプタ手段は、メ
モリに記憶されたデータ・バイト・バーストを開始メモ
リ・アドレスからデータ・バスに送るメモリ読取り制御
手段を含んでいる。このメモリ読取り制御手段は、 ・活動化すると、データ・バッファの内容が、データ・
バーストが記憶されたメモリ部分の内容をマップするよ
うに、メモリから読み取られたデータ・バイト・バース
トをデータ・バッファ手段の連続する記憶位置に書き込
ませる、バッファ書込み手段(190、216、148)、 ・完全なバーストがバッファ手段に書き込まれたとき活
動化して、各バッファ記憶位置を読み取り、バッファ出
力バス(234 0−3)上にバッファ手段から読み取った
バイトを供給する、バッファ読取り手段(148、220)、 ・メモリ・ワード内のバイト位置を決定するメモリ開始
アドレスの最下位ビットの値、バイト・カウントおよび
重なり合わないパルス・ストリームに応答して、レジス
タ選択信号(RS)を生成する、レジスタ選択手段(23
6)、 ・レジスタ選択信号に応答して、バッファ出力バスから
選択されたレジスタ手段にバイトを供給する、ゲート手
段(246)、 最下位ビットの値の重なり合わないパルス・ストリーム
に応答して、レジスタ手段の内容を正しい順序でデータ
・バスに順次供給する、データ・バス制御手段(43、25
0、252)、 を含んでいる。
モリに記憶されたデータ・バイト・バーストを開始メモ
リ・アドレスからデータ・バスに送るメモリ読取り制御
手段を含んでいる。このメモリ読取り制御手段は、 ・活動化すると、データ・バッファの内容が、データ・
バーストが記憶されたメモリ部分の内容をマップするよ
うに、メモリから読み取られたデータ・バイト・バース
トをデータ・バッファ手段の連続する記憶位置に書き込
ませる、バッファ書込み手段(190、216、148)、 ・完全なバーストがバッファ手段に書き込まれたとき活
動化して、各バッファ記憶位置を読み取り、バッファ出
力バス(234 0−3)上にバッファ手段から読み取った
バイトを供給する、バッファ読取り手段(148、220)、 ・メモリ・ワード内のバイト位置を決定するメモリ開始
アドレスの最下位ビットの値、バイト・カウントおよび
重なり合わないパルス・ストリームに応答して、レジス
タ選択信号(RS)を生成する、レジスタ選択手段(23
6)、 ・レジスタ選択信号に応答して、バッファ出力バスから
選択されたレジスタ手段にバイトを供給する、ゲート手
段(246)、 最下位ビットの値の重なり合わないパルス・ストリーム
に応答して、レジスタ手段の内容を正しい順序でデータ
・バスに順次供給する、データ・バス制御手段(43、25
0、252)、 を含んでいる。
D.実施例 はじめに、本実施例の概要を説明する。
2n(2n/mは整数K)バイト・ワードで編成されたメモリ
にアクセスするのに使用され、バイト選択信号(BS)の
制御下でmバイトのバス22を介してワード中の各バイト
をアドレスする機能をもち、可変数のバイトからなるデ
ータ・バーストの書込みまたは読取りを行なう、メモリ
・アクセス制御装置が提供される。
にアクセスするのに使用され、バイト選択信号(BS)の
制御下でmバイトのバス22を介してワード中の各バイト
をアドレスする機能をもち、可変数のバイトからなるデ
ータ・バーストの書込みまたは読取りを行なう、メモリ
・アクセス制御装置が提供される。
書込み動作を実行する場合は、バス22から受け取ったK
組のmバイトが、各バス期間Tの間に2n個のレジスタ40
に記憶され、次にそれが位置合せ制御論理回路42を介し
て、2nバイトの連続する記憶位置を含むバッファ30に転
送される。論理回路42は、メモリ・ワード内のバイト記
憶位置を決定するメモリ開始アドレスの最下位ビットに
応じたデータ構成をメモリにマップするようにバッファ
に書き込ませる。完全なデータ・バーストがバッファに
書き込まれると、最下位ビット値とバイト・カウント値
に応じて選択的にバイト選択信号を活動化することによ
り、バッファの内容がメモリに転送される。
組のmバイトが、各バス期間Tの間に2n個のレジスタ40
に記憶され、次にそれが位置合せ制御論理回路42を介し
て、2nバイトの連続する記憶位置を含むバッファ30に転
送される。論理回路42は、メモリ・ワード内のバイト記
憶位置を決定するメモリ開始アドレスの最下位ビットに
応じたデータ構成をメモリにマップするようにバッファ
に書き込ませる。完全なデータ・バーストがバッファに
書き込まれると、最下位ビット値とバイト・カウント値
に応じて選択的にバイト選択信号を活動化することによ
り、バッファの内容がメモリに転送される。
メモリ読取り動作を実行する場合は、メモリから読み取
られたデータが、バッファ内容がデータ・バースト構成
をメモリにマップするように、メモリからバッファに転
送される。次いで、バッファが読み取られ、各バッファ
記憶位置から読み取られたデータ・バイトがレジスタ40
に供給される。データ・レジスタの内容が、位置合せ/
制御論理42を介してデータ・バスに正しい順序で供給さ
れる。
られたデータが、バッファ内容がデータ・バースト構成
をメモリにマップするように、メモリからバッファに転
送される。次いで、バッファが読み取られ、各バッファ
記憶位置から読み取られたデータ・バイトがレジスタ40
に供給される。データ・レジスタの内容が、位置合せ/
制御論理42を介してデータ・バスに正しい順序で供給さ
れる。
この装置により、連続する隣接ワードをバースト転送中
にアドレスできるため、動的メモリのページ・モード機
能を十分に活用することができる。
にアドレスできるため、動的メモリのページ・モード機
能を十分に活用することができる。
第1図に示すように、メモリ形式アダプタ10は、少なく
とも1つの入出力装置12と、メモリ16を備えたプロセッ
サ14とを含むデータ処理システムで使用される。これら
の要素は、本発明の一部分ではなく特定の適用例に応じ
て異なるので、それらの連結は概略的にしか表わしてな
い。
とも1つの入出力装置12と、メモリ16を備えたプロセッ
サ14とを含むデータ処理システムで使用される。これら
の要素は、本発明の一部分ではなく特定の適用例に応じ
て異なるので、それらの連結は概略的にしか表わしてな
い。
2つの入出力装置12−1と12−iが第1図に示されてい
る。
る。
プロセッサ14は、選択した入出力装置に、受信コマンド
または送信コマンド、開始アドレス、およびメモリ16中
で割り振られるバースト長を送ることにより、プロセッ
サ・バス18を介して、選択した入出力装置との間でデー
タの転送を行なう。
または送信コマンド、開始アドレス、およびメモリ16中
で割り振られるバースト長を送ることにより、プロセッ
サ・バス18を介して、選択した入出力装置との間でデー
タの転送を行なう。
入出力装置をどう選択するかについては、ポーリング技
術など周知の選択技術のどれを使っても行なえるので、
具体的な説明は行なわない。
術など周知の選択技術のどれを使っても行なえるので、
具体的な説明は行なわない。
入出力装置は、選択されると、入出力装置をメモリ形式
アダプタ10に接続する制御バス20とデータ・バス22を介
してデータ転送を行なう。まず、制御バスの線上のタグ
の制御下で、バースト長、すなわちバイト・カウント
と、第1バースト・バイトをメモリ16に書き込みまたは
メモリ16から読み取る際の始点となる開始メモリ・アド
レスSMAとが、データ・バス22を介してメモリ形式アダ
プタ10に送られる。
アダプタ10に接続する制御バス20とデータ・バス22を介
してデータ転送を行なう。まず、制御バスの線上のタグ
の制御下で、バースト長、すなわちバイト・カウント
と、第1バースト・バイトをメモリ16に書き込みまたは
メモリ16から読み取る際の始点となる開始メモリ・アド
レスSMAとが、データ・バス22を介してメモリ形式アダ
プタ10に送られる。
次いで、入出力装置は、書込み動作の場合はデータ・バ
スを介してデータ・バーストを送り、読取り動作の場合
はメモリからデータ・バーストを収集する。
スを介してデータ・バーストを送り、読取り動作の場合
はメモリからデータ・バーストを収集する。
制御バス20は、データ転送を開始し制御するための1組
の物理線である。
の物理線である。
本発明の好ましい実施例によると、データ・バス22は、
最初に、パラメータすなわちバイト・カウントと開始メ
モリ・アドレスを、次に、入出力装置とメモリ形式アダ
プタ10の間で転送されるデータを搬送する、2バイト多
重化バスである。
最初に、パラメータすなわちバイト・カウントと開始メ
モリ・アドレスを、次に、入出力装置とメモリ形式アダ
プタ10の間で転送されるデータを搬送する、2バイト多
重化バスである。
メモリ16は、ワード編成されている数メガバイトの主記
憶装置である。各アドレスは、4バイトを記憶できるも
のと仮定する。
憶装置である。各アドレスは、4バイトを記憶できるも
のと仮定する。
本発明によると、メモリ形式アダプタ10は、入出力装置
とメモリ16の間の論理インターフェースである。メモリ
形式アダプタ10は、両側(入出力装置とメモリ)におけ
る全トランザクションを制御する。そうするために、後
で説明するように、アダプタ10は、線24上に読取り/書
込み制御信号を、バス26上にバイト選択制御信号を、ま
たバス28上にアドレス信号を生成する。
とメモリ16の間の論理インターフェースである。メモリ
形式アダプタ10は、両側(入出力装置とメモリ)におけ
る全トランザクションを制御する。そうするために、後
で説明するように、アダプタ10は、線24上に読取り/書
込み制御信号を、バス26上にバイト選択制御信号を、ま
たバス28上にアドレス信号を生成する。
バッファ30は、バス32を介してメモリ形式アダプタ10に
接続され、データ・ババースト全体を一時的に記憶して
から、書込み動作の場合はそれをバス34を介してメモリ
に送り、読取り動作の場合はバス22に送る。バッファの
内容は、データが読み取られまたは書き込まれるメモリ
部分を正確に反映する。
接続され、データ・ババースト全体を一時的に記憶して
から、書込み動作の場合はそれをバス34を介してメモリ
に送り、読取り動作の場合はバス22に送る。バッファの
内容は、データが読み取られまたは書き込まれるメモリ
部分を正確に反映する。
データ・バイトと、バス36上の書込み選択信号の制御下
でバッファ30に書き込まれる。
でバッファ30に書き込まれる。
入出力装置は、バイト・アドレス方式で動作し、したが
ってデータ・バーストを読み取りまたは書き込む際の始
点となる開始メモリ・アドレスは、メモリ・アドレス範
囲のどこにあってもよいと仮定する。すなわち、このア
ドレスは、ワード・アドレスでなくてもよい。
ってデータ・バーストを読み取りまたは書き込む際の始
点となる開始メモリ・アドレスは、メモリ・アドレス範
囲のどこにあってもよいと仮定する。すなわち、このア
ドレスは、ワード・アドレスでなくてもよい。
本発明によるメモリ形式アダプタ10は、データ・バス22
とメモリ16の間の両方向のデータ・バイト分配を制御す
る。第2図は、データ入力レジスタ40と位置合せ/制御
論理回路42を含むアダプタ10中でのデータ・フローを概
略的に示す。このアダプタ10のより詳細な説明は、あと
で第3図および第4図に関連して行なう。
とメモリ16の間の両方向のデータ・バイト分配を制御す
る。第2図は、データ入力レジスタ40と位置合せ/制御
論理回路42を含むアダプタ10中でのデータ・フローを概
略的に示す。このアダプタ10のより詳細な説明は、あと
で第3図および第4図に関連して行なう。
このデータ論理回路は、読取り動作でも書込み動作でも
データ・バス22のバイト編成をメモリ・ワード編成に適
応させることができる。この論理回路は以下のように動
作する。
データ・バス22のバイト編成をメモリ・ワード編成に適
応させることができる。この論理回路は以下のように動
作する。
開始メモリ・アドレスの下位2ビットが複号される。そ
れらが複号されると、ワード内のバイト位置と、データ
・バイトをデータ・バッファ内に記憶すべき位置が得ら
れる。
れらが複号されると、ワード内のバイト位置と、データ
・バイトをデータ・バッファ内に記憶すべき位置が得ら
れる。
書込み動作中には、位置合せ/制御論理回路42を介して
データ・レジスタ40からデータ・バッファにデータを転
送するとき、位置合せが行なわれる。
データ・レジスタ40からデータ・バッファにデータを転
送するとき、位置合せが行なわれる。
読取り動作中には、読取りデータはバッファ30に記憶さ
れ、バッファ30から読み取られたデータはデータ・レジ
スタに転送され、次いで、位置合せ/制御論理回路42に
送って、そこからデータ・バス22に送られる。
れ、バッファ30から読み取られたデータはデータ・レジ
スタに転送され、次いで、位置合せ/制御論理回路42に
送って、そこからデータ・バス22に送られる。
わかりやすいように、第2図では書込み動作用および読
取り動作用に別々の2つの経路が示してある。これらの
経路には、それぞれWRおよびRDの参照記号をつけてあ
る。
取り動作用に別々の2つの経路が示してある。これらの
経路には、それぞれWRおよびRDの参照記号をつけてあ
る。
ここで第3図を参照して書込みデータ位置合せの原理に
ついて説明する。説明の簡単のためメモリは4バイト・
ワードで編成され、入力データ・バスは2バイト幅であ
ると仮定する。
ついて説明する。説明の簡単のためメモリは4バイト・
ワードで編成され、入力データ・バスは2バイト幅であ
ると仮定する。
メモリ形式アダプタ10は、4つの入力レジスタ40−0な
いし40−3を含んでいる。
いし40−3を含んでいる。
最初に転送する2つのバイトAとBは、レジスタ40−0
と40−1に記憶され、第3と第4のバイトは、レジスタ
40−2と40−3に記憶される。開始メモリ・アドレスの
最下位ビット(LSB)に応じて、位置合せ/制御論理回
路42が、受け取ったデータ・バイトを位置合せしてバッ
ファ30に入れ、このため、データ・バッファの内容がメ
モリ16に直接転送できる。
と40−1に記憶され、第3と第4のバイトは、レジスタ
40−2と40−3に記憶される。開始メモリ・アドレスの
最下位ビット(LSB)に応じて、位置合せ/制御論理回
路42が、受け取ったデータ・バイトを位置合せしてバッ
ファ30に入れ、このため、データ・バッファの内容がメ
モリ16に直接転送できる。
バッファ書込み動作の第1サイクル中に、最下位ビット
とバイト・カウントに応じて、1つまたは2つのバイト
がバッファ30に記憶される。次のサイクル中には、前の
サイクルでロードされたバイトを変更せずに、その後の
バイトを同じアドレスにロードしなければならない。
とバイト・カウントに応じて、1つまたは2つのバイト
がバッファ30に記憶される。次のサイクル中には、前の
サイクルでロードされたバイトを変更せずに、その後の
バイトを同じアドレスにロードしなければならない。
これは、4つの書込み選択線36、WS0、WS1、WS2、WS3を
制御する位置合せ論理回路によって行なわれる。これら
の線が活動化されると、データ・レジスタの内容40−
0、40−1、40−2、40−3が、それぞれ、バッファ30
のバイト0、バイト1、バイト2、バイト3の記憶位置
に転送される。
制御する位置合せ論理回路によって行なわれる。これら
の線が活動化されると、データ・レジスタの内容40−
0、40−1、40−2、40−3が、それぞれ、バッファ30
のバイト0、バイト1、バイト2、バイト3の記憶位置
に転送される。
第3図は、LSBビット値に応じて、バッファ30内で8バ
イト・データ・バーストがどのように配列されるかを示
す。8つのデータ・バイトをA、B、…、Hと名付け
る。
イト・データ・バーストがどのように配列されるかを示
す。8つのデータ・バイトをA、B、…、Hと名付け
る。
たとえば、LSBビットが00であると仮定すると、ロード
動作の順序は以下の通りである。
動作の順序は以下の通りである。
1.第1のデータ・バイトA、Bが抽出されて、データ・
レジスタ40−0と40−1に入れられる。
レジスタ40−0と40−1に入れられる。
2.第2の半ワード、すなわち、データ・バイトA、B
が、データ・バッファ30の第1の記憶位置のバイト0と
バイト1の位置にロードされる。書込み選択線WS0とWS1
だけが活動化され、WS2とWS3は非活動状態である。
が、データ・バッファ30の第1の記憶位置のバイト0と
バイト1の位置にロードされる。書込み選択線WS0とWS1
だけが活動化され、WS2とWS3は非活動状態である。
第2の半ワード、すなわち、データ・バイトC、Dが抽
出されて、データ・レジスタ40−2と40−3に入れられ
る。
出されて、データ・レジスタ40−2と40−3に入れられ
る。
3.第2のデータ半ワード(バイトCとD)が、データ・
バッファ30の第1の記憶位置のバイト2とバイト3の位
置にロードされる。WS2とWS3線だけが活動化される。
バッファ30の第1の記憶位置のバイト2とバイト3の位
置にロードされる。WS2とWS3線だけが活動化される。
第3の半ワード、すなわち、バイトEとFが抽出され
て、データ・レジスタ40−0と40−1に入れられる。
て、データ・レジスタ40−0と40−1に入れられる。
4.第3の半ワード(バイトEとF)が、データ・バッフ
ァ30の第2の4バイト記憶位置にロードされる。WS0とW
S2だけが活動化される。
ァ30の第2の4バイト記憶位置にロードされる。WS0とW
S2だけが活動化される。
最後の半ワード、すなわち、(バイトGとH)が抽出さ
れて、データ・レジスタ40−2、40−3に入れられる。
れて、データ・レジスタ40−2、40−3に入れられる。
5.最後の半ワード(バイトGとH)が、データ・バッフ
ァの第2の記憶位置にロードされる。WS2とWS3だけが活
動化される。
ァの第2の記憶位置にロードされる。WS2とWS3だけが活
動化される。
6.バイト・カウントがゼロになったのでプロセスは終了
する。
する。
第3図に、最下位(LSB)ビットが可能な異なる4つの
値を取る場合のデータ・バッファの内容を示す。LSB=0
0、LSB=01、LSB=10、LSB=11に対応する4つのバッフ
ァ構成の左側に、連続するバッファ記憶位置がロードさ
れる間にどの書込み選択線WSが活動化されるかを示す。
たとえば、列0−1;2−3は、最初のサイクル中に、線W
S0とWS1が活動化し、第2のサイクル中に、線WS2とWS3
が活動化することを示している。
値を取る場合のデータ・バッファの内容を示す。LSB=0
0、LSB=01、LSB=10、LSB=11に対応する4つのバッフ
ァ構成の左側に、連続するバッファ記憶位置がロードさ
れる間にどの書込み選択線WSが活動化されるかを示す。
たとえば、列0−1;2−3は、最初のサイクル中に、線W
S0とWS1が活動化し、第2のサイクル中に、線WS2とWS3
が活動化することを示している。
第3図を見るとわかるように、最下位ビットが01である
場合、線WS1とWS2がまず活動化されてバイトAとBを第
1のバッファ記憶位置のバイト1とバイト2の位置にロ
ードさせ、次いで、WS3が活動化されて、バイトCを第
1の記憶位置のバイト3の位置にロードさせる。
場合、線WS1とWS2がまず活動化されてバイトAとBを第
1のバッファ記憶位置のバイト1とバイト2の位置にロ
ードさせ、次いで、WS3が活動化されて、バイトCを第
1の記憶位置のバイト3の位置にロードさせる。
次いで、WS0、WS1、WS2が活動化されて、以前受け取っ
たバイトDと新しいバイトEとFを第2の記憶位置のバ
イト0、1、2の位置にロードさせ、次いで、WS3が活
動化されて、バイトGを第2の記憶位置のバイト3の位
置にロードさせる。
たバイトDと新しいバイトEとFを第2の記憶位置のバ
イト0、1、2の位置にロードさせ、次いで、WS3が活
動化されて、バイトGを第2の記憶位置のバイト3の位
置にロードさせる。
次いで、WS0が活動化されて、最後のバイトHを第3の
記憶位置のバイト0の位置にロードさせる。
記憶位置のバイト0の位置にロードさせる。
この場合、バッファ30に8つのバイトをロードするのに
LSB=00である最初の場合のように4つではなく、代わ
りに、5つの書込みサイクルが必要である。
LSB=00である最初の場合のように4つではなく、代わ
りに、5つの書込みサイクルが必要である。
第3図からわかるように、LSB=10の場合は4つの書込
みサイクルが必要である。
みサイクルが必要である。
LSB=11である最後の場合では、4つの書込みサイクル
が必要である。
が必要である。
最初のサイクルの間に、線WS3が活動化されて、バイト
Aを最初の記憶位置のバイト3の位置にロードさせる。
次いで、線WS0、WS1、WS2が活動化されて、バイトB、
C、Dを第2の記憶位置のバイト0、1、2の位置にロ
ードさせる。線WS3が、活動化されて、バイトEを第2
の記憶位置のバイト3の位置にロードさせる。
Aを最初の記憶位置のバイト3の位置にロードさせる。
次いで、線WS0、WS1、WS2が活動化されて、バイトB、
C、Dを第2の記憶位置のバイト0、1、2の位置にロ
ードさせる。線WS3が、活動化されて、バイトEを第2
の記憶位置のバイト3の位置にロードさせる。
最後のサイクル中に、線WS0、WS1、WS2が活動化され
て、バイトF、G、Hを第3の記憶位置のバイト0、
1、2の位置にロードさせる。
て、バイトF、G、Hを第3の記憶位置のバイト0、
1、2の位置にロードさせる。
したがって、データ位置合せ/制御論理回路42は、必要
なときに書込み選択線を活動化させる手段と、最下位ビ
ットの値に応じて、入力レジスタの内容40−1ないし40
−3をバッファ30の選択したバイト位置に供給する手段
とを含んでいる。
なときに書込み選択線を活動化させる手段と、最下位ビ
ットの値に応じて、入力レジスタの内容40−1ないし40
−3をバッファ30の選択したバイト位置に供給する手段
とを含んでいる。
すなわち、次の2つの値を計算しなければならない。
・データ・バッファ・ロード数。これは、データ・バス
転送数に関して必要なときもう1つのサイクルを生成す
るためのものである。
転送数に関して必要なときもう1つのサイクルを生成す
るためのものである。
・書込み選択線の活動化を制御する条件。
データ・バッファのロードの回数は、バイト・カウント
が奇数かそれとも偶数かに依存する。バイト・カウント
が偶数のときは、4の倍数であるかどうかにもよる。
が奇数かそれとも偶数かに依存する。バイト・カウント
が偶数のときは、4の倍数であるかどうかにもよる。
以下に示す論理方程式を使用する。
バイト・カウントの値を、bビットの2進数で表わす。
bの値は、最大のバースト長に依存する。その値が8に
等しいと仮定する。
bの値は、最大のバースト長に依存する。その値が8に
等しいと仮定する。
バイト・カウントのビットは、X7、X6、X5、X4、X3、X
2、X1、X0である。
2、X1、X0である。
最下位ビットX0が0の場合、バイト・カウントは偶数で
あり、ビットX0が1の場合は奇数である。
あり、ビットX0が1の場合は奇数である。
ビットX1が0でX0が0の場合、バイト・カウントは4の
倍数である。
倍数である。
すなわち、バッファ書込みサイクルの数は、バイト・カ
ウントを2で割った値、すなわち、ビットX7ないしX1を
含む2進数に等しい。ただし、下記の条件を満足する場
合を除く: X0+X0.LSB01.X1+X0.LSB11.X1 (1) この条件を満足する場合、サイクル数はビットX7ないし
X1を含む2進数に1を加えたものに等しい。
ウントを2で割った値、すなわち、ビットX7ないしX1を
含む2進数に等しい。ただし、下記の条件を満足する場
合を除く: X0+X0.LSB01.X1+X0.LSB11.X1 (1) この条件を満足する場合、サイクル数はビットX7ないし
X1を含む2進数に1を加えたものに等しい。
たとえば、バイト・カウントが12、すなわち、00001100
に等しい場合、および開始メモリ・アドレスの最下位ビ
ットが01の場合、この条件を満足しており、サイクル数
は0000110+1、すなわち、7に等しい。
に等しい場合、および開始メモリ・アドレスの最下位ビ
ットが01の場合、この条件を満足しており、サイクル数
は0000110+1、すなわち、7に等しい。
開始メモリ・アドレスの最下位ビットの値に応じた書込
み選択線の選択的活動化は、回路10中で生成される2つ
の基本時間枠T1とT2の制御下で動作する論理回路で実行
される。
み選択線の選択的活動化は、回路10中で生成される2つ
の基本時間枠T1とT2の制御下で動作する論理回路で実行
される。
ロード・プロセスは、常に、T1がオンでT2がオフの状態
で始まる。下記の論理方程式に基づき、列T1、T2、T3…
を使って、書込み選択線を決定する。
で始まる。下記の論理方程式に基づき、列T1、T2、T3…
を使って、書込み選択線を決定する。
WSO=WS1=T1.(LSB00+LSB01)+T2.(LSB10+LSB11) WS2=T1.(LSB01+LSB10)+T2.(LSB00+LSB11)
(3) WS3=T1.(LSB10+LSB11)+T2.(LSB00+LSB01) データ・バーストは、アセンブルしてデータ・バッファ
に入れられると、メモリ16に送られ、開始ワード・アド
レスから順にメモリに書き込まれる。
(3) WS3=T1.(LSB10+LSB11)+T2.(LSB00+LSB01) データ・バーストは、アセンブルしてデータ・バッファ
に入れられると、メモリ16に送られ、開始ワード・アド
レスから順にメモリに書き込まれる。
これを、概略的に第3図に示すが、最下位ビットの可能
な4つの値を取る場合のメモリの内容が示されている。
最初と最後のメモリ転送が不完全(3バイト以下)なこ
ともあることがわかる。その場合には、メモリ・アドレ
スされたワードの他のバイト位置を変えないようにする
ため、位置合せ論理回路は、アドレスの最下位ビットと
バースト長の値に応じて、第1図のバス26を構成する4
本のバイト選択線BS0ないしBS3を制御する。
な4つの値を取る場合のメモリの内容が示されている。
最初と最後のメモリ転送が不完全(3バイト以下)なこ
ともあることがわかる。その場合には、メモリ・アドレ
スされたワードの他のバイト位置を変えないようにする
ため、位置合せ論理回路は、アドレスの最下位ビットと
バースト長の値に応じて、第1図のバス26を構成する4
本のバイト選択線BS0ないしBS3を制御する。
8バイト・バースト長であることおよび最下位ビットが
11に等しいと仮定すると、以下に示す動作が実行され
る。
11に等しいと仮定すると、以下に示す動作が実行され
る。
1.データ・バッファ・アドレス0からメモリ・アドレス
Pへの転送。バイト3だけを書き込まなければならない
ので、BS3線だけが活動化される。これは、メモリの左
側に示されている。
Pへの転送。バイト3だけを書き込まなければならない
ので、BS3線だけが活動化される。これは、メモリの左
側に示されている。
2.データ・バッファ・アドレス1からメモリ・アドレス
P+1への転送。4つのバイトが書き込まれるので、線
BS0ないしBS3が活動化される。
P+1への転送。4つのバイトが書き込まれるので、線
BS0ないしBS3が活動化される。
3.データ・バッファ・アドレス2からメモリ・アドレス
P+2への転送。3つのバイトが書き込まれるので、線
BS0ないしBS2が活動化される。これは最後の転送であ
る。
P+2への転送。3つのバイトが書き込まれるので、線
BS0ないしBS2が活動化される。これは最後の転送であ
る。
バイト選択BS線を活動化するのに使用される論理方程式
(3)は以下の通りである。
(3)は以下の通りである。
バイト・カウントBCの値が3つ必要である。
BC<2、BC<3およびBC<4 メモリ転送の3つの段階を考慮しなければならない。
1.最初のメモリ転送 BS0=LSB00.F BS1=((LSB00.BC<2)+(LSB10+LSB11)).F BS2=((LSB00.BC<3)+(LSB01.BC<2)+LSB1
1).F BS3=((LSB00.BC<4)+(LSB01.BC<3)+)(LSB
10.BC<2)).F ただし、最初のメモリ転送中、Fは1に等しい。
1).F BS3=((LSB00.BC<4)+(LSB01.BC<3)+)(LSB
10.BC<2)).F ただし、最初のメモリ転送中、Fは1に等しい。
2.中間メモリ転送 この段階の間に、4本のBS線、BS0ないしBS3が活動状態
にある。方程式は、BS0=BS1=BS2=BS3=.であ
る。
にある。方程式は、BS0=BS1=BS2=BS3=.であ
る。
ただし、転送中、Lは1に等しい。
3.最後のメモリ転送 少なくとも1つのバイトがあるので、BS0は常に活動状
態にある。
態にある。
BS1=((LSB00.▲▼.X0)+(LSB01.▲▼.▲
▼)+LSB10.X1.X0)+(LSB11.X1.▲▼)).L BS2=((LSB00.X1+X0)+(SLSB01.▲▼)+LSB1
0.(X1+X0)+(LSB11.X1)).L BS3=((LSB00.▲▼.▲▼)+(LSB01.X0.X
1)+(LSB10.▲▼.X1)+LSB11.X0.▲▼)).
L ただし、は排他的論理和を意味する。
▼)+LSB10.X1.X0)+(LSB11.X1.▲▼)).L BS2=((LSB00.X1+X0)+(SLSB01.▲▼)+LSB1
0.(X1+X0)+(LSB11.X1)).L BS3=((LSB00.▲▼.▲▼)+(LSB01.X0.X
1)+(LSB10.▲▼.X1)+LSB11.X0.▲▼)).
L ただし、は排他的論理和を意味する。
次に第4図を参照して、読取りデータの位置合せの原理
について説明する。この図は、開始メモリ・アドレスの
最下位ビットの可能な4つの値とバースト長に応じて、
メモリ16から読み取ったデータをデータ・バッファ30に
ロードする場合を示す。
について説明する。この図は、開始メモリ・アドレスの
最下位ビットの可能な4つの値とバースト長に応じて、
メモリ16から読み取ったデータをデータ・バッファ30に
ロードする場合を示す。
ゲート回路50は、レジスタ選択信号RS0ないしRS3の制御
下で、データ・バッファから読み取られたデータ・バイ
トをデータ・レジスタ40−0ないし40−3に直接ロード
させることができる。第4図には、わかりやすいよう
に、4のバイトを含むバーストを示す。
下で、データ・バッファから読み取られたデータ・バイ
トをデータ・レジスタ40−0ないし40−3に直接ロード
させることができる。第4図には、わかりやすいよう
に、4のバイトを含むバーストを示す。
LSB=00である最初の場合、データ・バッファ・アドレ
スが読み取られ、4つのバイトA、B、C、Dが、それ
ぞれレジスタ40−0、40−1、40−2、40−3にロード
される。この場合、線RS0ないしRS3が活動状態になる。
スが読み取られ、4つのバイトA、B、C、Dが、それ
ぞれレジスタ40−0、40−1、40−2、40−3にロード
される。この場合、線RS0ないしRS3が活動状態になる。
位置合せ/制御論理回路42は、バイトAとBからなる第
1の半ワードをデータ・バス22を介して送り、次いで、
バイトCとDからなる第2の半ワードをデータ・バス22
を介して送る。このプロセスは、バースト長が4バイト
になったとき停止する。
1の半ワードをデータ・バス22を介して送り、次いで、
バイトCとDからなる第2の半ワードをデータ・バス22
を介して送る。このプロセスは、バースト長が4バイト
になったとき停止する。
LSB=01とLSB=10の場合は詳細に示さない。
LSB=11である最後の場合、動作の順序は以下に示す通
りである。
りである。
1.データ・バッファ・アドレス0が読み取られ、RS3線
を活動化することにより、Aを含むバイト3の記憶位置
がレジスタ40−3にロードされる。1バイトしか利用で
きないので、データ・バス22には何も送られない。
を活動化することにより、Aを含むバイト3の記憶位置
がレジスタ40−3にロードされる。1バイトしか利用で
きないので、データ・バス22には何も送られない。
2.データ・バッファ・アドレス1が読み取られ、それぞ
れ線RS0、RS1、RS2を活動化することにより、それぞれ
バイトB、C、Dを含むバイト0、1、2の記憶位置が
データ・レジスタ40−0、40−1、40−2にロードされ
る。
れ線RS0、RS1、RS2を活動化することにより、それぞれ
バイトB、C、Dを含むバイト0、1、2の記憶位置が
データ・レジスタ40−0、40−1、40−2にロードされ
る。
データ位置合せ/制御論理回路42を介して、最初の半ワ
ードABがデータ・バス22に送られる。
ードABがデータ・バス22に送られる。
3.第2の半ワードが位置合せ論理42を介してデータ・バ
ス42に送られる間に、アドレス1のバイト3が読み取ら
れ、レジスタ40−3にロードされる。プロセスは、バー
スト長4バイトになると停止する。
ス42に送られる間に、アドレス1のバイト3が読み取ら
れ、レジスタ40−3にロードされる。プロセスは、バー
スト長4バイトになると停止する。
完全な動作を達成するのにバッファからデータ・レジス
タへのデータの転送が3回必要であったが、LSB=00の
場合は2回の転送しか必要なかったことに留意された
い。
タへのデータの転送が3回必要であったが、LSB=00の
場合は2回の転送しか必要なかったことに留意された
い。
読取りモードでは、3つの論理方程式が必要である。
転送の回数は、バイト・カウントを2で割った値、すな
わち、ビットX7ないしX1を含む2進数に等しい。ただ
し、下記の各方程式が満足される場合は除く。
わち、ビットX7ないしX1を含む2進数に等しい。ただ
し、下記の各方程式が満足される場合は除く。
1.X0.LSB11+▲▼.LSB11 (4) この方程式が満足される場合、転送の回数は、ビットX7
ないしX1を含む2進数に1を加えたものに等しい。
ないしX1を含む2進数に1を加えたものに等しい。
2.X0.LSB11 (5) この方程式が満足される場合、転送の回数は、ビットX7
ないしX1を含む2進数に2を加えたものに等しい。
ないしX1を含む2進数に2を加えたものに等しい。
たとえば、LSB=11でバイト・カウントが5バイトに等
しい場合、サイクル数は、4サイクルに等しい。これら
のサイクルは、次の通りである。
しい場合、サイクル数は、4サイクルに等しい。これら
のサイクルは、次の通りである。
第1サイクル:アドレス0のデータ・バッファの読取
り。Aをレジスタ40−3にロードする。
り。Aをレジスタ40−3にロードする。
第2サイクル:アドレス1のデータ・バッファの読取
り。BCDをレジスタ40−0、40−1、40−2にロードす
る。
り。BCDをレジスタ40−0、40−1、40−2にロードす
る。
データ・バス22のバイト0と1にABを入力する。
第3サイクル:アドレス1のデータ・バッファの読取
り。レジスタ40−3にEをロードする。
り。レジスタ40−3にEをロードする。
データ・バス22のバイト0と1にCDを入力する。
第4サイクル:データ・バス22のバイト0にEを入力す
る。
る。
読取りモードで書込みモードの場合と同じ位置合せ原理
を使用するには、前述のように、バッファ30から読み取
ったデータをデータ・レジスタ40にロードする必要があ
る。
を使用するには、前述のように、バッファ30から読み取
ったデータをデータ・レジスタ40にロードする必要があ
る。
レジスタ選択線RSの状況を信号T1およびT2ならびに最下
位ビット値に基づいて決定する方程式は以下の通りであ
る。
位ビット値に基づいて決定する方程式は以下の通りであ
る。
RS0=T1.LSB00+T2.(LSB01+LSB10+LSB11) RS1−T1.(LSB00+LSB01)+T2.(LSB10+LSB11) RS2=T1.(LSB00+LSB01+LSB10)+T2.LSB11 RS3=T1.(LSB00+LSB01+LSB10+LSB11) (6) 次に第5A図ないし第5E図を参照して、メモリ形式アダプ
タ10と、そのデータ・バッファ30およびメモリ16への接
続の詳細な実施態様について説明する。第5A図ないし第
5D図において、位置合せ論理回路43と共にWS、BSおよび
RS信号を一緒に生成させるすべての論理回路43が、位置
合せ/制御論理回路42を構成する。
タ10と、そのデータ・バッファ30およびメモリ16への接
続の詳細な実施態様について説明する。第5A図ないし第
5D図において、位置合せ論理回路43と共にWS、BSおよび
RS信号を一緒に生成させるすべての論理回路43が、位置
合せ/制御論理回路42を構成する。
クロック60は、その出力線61と62上に2つの重なり合わ
ないパルス・ストリームT1とT2を供給して、1クロック
期間中に2つの時間枠T1とT2を定義させる。
ないパルス・ストリームT1とT2を供給して、1クロック
期間中に2つの時間枠T1とT2を定義させる。
メモリ形式アダプタは、線64上の転送開始信号、および
制御バス20の線66と68上の受信信号と送信信号に応答す
る。
制御バス20の線66と68上の受信信号と送信信号に応答す
る。
受信モード、すなわち、データを1つの入出力装置から
受け取ってメモリ16に書き込むときには、線66上の活動
状態にある受信信号がANDゲート70を制御し、すなわ
ち、ゲート70が、線72と74上にパルス・ストリームT1と
T2を供給する。
受け取ってメモリ16に書き込むときには、線66上の活動
状態にある受信信号がANDゲート70を制御し、すなわ
ち、ゲート70が、線72と74上にパルス・ストリームT1と
T2を供給する。
受信モード、すなわち、データをメモリ16から読み取っ
て1つの入出力装置に送るときには、線68上の活動状態
にある送信信号がANDゲート76を制御し、ゲート76が、
線78と80上にパルス・ストリームT1とT2を供給する。
て1つの入出力装置に送るときには、線68上の活動状態
にある送信信号がANDゲート76を制御し、ゲート76が、
線78と80上にパルス・ストリームT1とT2を供給する。
線64上の転送開始コマンドにより、コマンドに関するカ
ウントとアドレス・バイトがレジスタ82と84にロードさ
れる。
ウントとアドレス・バイトがレジスタ82と84にロードさ
れる。
復号回路86は、アドレス・ビットを復号し、その出力線
88、89、90、91上に信号を生成する。それらの出力線は
活動状態になると、アドレスの最下位ビットがそれぞれ
00、01、10、11であることを示す。カウント・バイトの
X7ないしX1ビットが、転送開始時にレジスタ92に供給さ
れる。
88、89、90、91上に信号を生成する。それらの出力線は
活動状態になると、アドレスの最下位ビットがそれぞれ
00、01、10、11であることを示す。カウント・バイトの
X7ないしX1ビットが、転送開始時にレジスタ92に供給さ
れる。
線88ないし90上の最下位ビット信号、線94、96上のカウ
ント・バイトのビットX0とX1、および線66と68上の受信
信号と送信信号が、論理回路98に供給され、論理回路98
は、前記の方程式(1)、方程式(4)または(5)が
満足されるかどうかに応じて、その出力線100上に増分
信号を供給する。前に説明したように、このため、レジ
スタ92の内容が、状況に応じて1または2だけ増分され
る。
ント・バイトのビットX0とX1、および線66と68上の受信
信号と送信信号が、論理回路98に供給され、論理回路98
は、前記の方程式(1)、方程式(4)または(5)が
満足されるかどうかに応じて、その出力線100上に増分
信号を供給する。前に説明したように、このため、レジ
スタ92の内容が、状況に応じて1または2だけ増分され
る。
すなわち、レジスタ92は、受信コマンドまたは送信コマ
ンドに到達するのに必要なバス・サイクルの数の指示を
含んでいる。この数が、カウンタ102に転送され、そこ
で、データ・バス転送期間中に、ORゲート106の出力線1
04上のT1受信信号またはT1送信信号によって減分され
る。
ンドに到達するのに必要なバス・サイクルの数の指示を
含んでいる。この数が、カウンタ102に転送され、そこ
で、データ・バス転送期間中に、ORゲート106の出力線1
04上のT1受信信号またはT1送信信号によって減分され
る。
カウンタ102の内容は、バス108を介して比較器112に送
られる。比較器112は、カウンタ102の内容を“000・・
・・”と比較して、同じだとわかったらその出力線上に
活動化信号を供給する。
られる。比較器112は、カウンタ102の内容を“000・・
・・”と比較して、同じだとわかったらその出力線上に
活動化信号を供給する。
比較器112からの出力信号は、ANDゲート110と111の一つ
の入力端に送られる。ANDゲート110は、線68上の送信信
号を条件として動作し、その出力線113上にバス転送終
了信号を供給する。この転送終了信号は、バッファ30か
らすべてのデータ・バイトが読み取られてデータ・バス
22に送られたとき、活動状態になる。
の入力端に送られる。ANDゲート110は、線68上の送信信
号を条件として動作し、その出力線113上にバス転送終
了信号を供給する。この転送終了信号は、バッファ30か
らすべてのデータ・バイトが読み取られてデータ・バス
22に送られたとき、活動状態になる。
ANDゲート111は、線68からの受信信号によって制御さ
れ、その出力線114上にメモリ転送受信開始信号を送
る。この受信開始信号は、すべてのデータ・バイトがバ
スから受け取られバッファ30に記憶されたとき、活動状
態になる。
れ、その出力線114上にメモリ転送受信開始信号を送
る。この受信開始信号は、すべてのデータ・バイトがバ
スから受け取られバッファ30に記憶されたとき、活動状
態になる。
受信モードでは、データ・バスのバイト0線120とバイ
ト1線122上の受信データ・バイトが、次のようにして
ゲート回路50を介して入力レジスタ40に送られる。
ト1線122上の受信データ・バイトが、次のようにして
ゲート回路50を介して入力レジスタ40に送られる。
線120上で受信されたバイト0は、ゲート124−0および
124−2に送られ、線122上で受信されたバイト1は、ゲ
ート124−1と124−3に送られる。ゲート124−0と124
−2は、線72上のT1受信パルス・ストリームによって制
御され、ゲート124−1と124−3は、線74上のT2受信パ
ルス・ストリームによって制御される。
124−2に送られ、線122上で受信されたバイト1は、ゲ
ート124−1と124−3に送られる。ゲート124−0と124
−2は、線72上のT1受信パルス・ストリームによって制
御され、ゲート124−1と124−3は、線74上のT2受信パ
ルス・ストリームによって制御される。
このようにして、T1期間中に、バイト0と1が、レジス
タ40−0と40−1にロードされ、T2期間中に、バイト2
と3が、レジスタ40−2と40−3にロードされる。
タ40−0と40−1にロードされ、T2期間中に、バイト2
と3が、レジスタ40−2と40−3にロードされる。
レジスタ40−0と40−3の内容は、位置合せ論理回路43
に送られ、論理回路43は、最下位ビットの値に応じて、
レジスタの内容を選択した出力バス126−0、126−1、
126−2、126−3を介して送る。この機能を実行するの
に使用できる特定の論理構成については、あとで第6図
に関して説明する。
に送られ、論理回路43は、最下位ビットの値に応じて、
レジスタの内容を選択した出力バス126−0、126−1、
126−2、126−3を介して送る。この機能を実行するの
に使用できる特定の論理構成については、あとで第6図
に関して説明する。
受信モードでは、出力バス126−0ないし126−3上のバ
イトが、ドライバ128およびOR回路130によって供給さ
れ、線WS0ないしWS3(132、134、136、138)上の書込み
選択信号の制御下でバッファ30に書き込まれる。これら
の信号は、線88ないし91上の最下位ビットの値および線
72と74上のT1受信信号とT2受信信号に応答して、論理回
路140が生成する。論理回路140は、方程式(2)に従っ
て、線114上の信号が活動状態になるまで、線WS0ないし
WS3(132、134、136、138)を活動状態にする。
イトが、ドライバ128およびOR回路130によって供給さ
れ、線WS0ないしWS3(132、134、136、138)上の書込み
選択信号の制御下でバッファ30に書き込まれる。これら
の信号は、線88ないし91上の最下位ビットの値および線
72と74上のT1受信信号とT2受信信号に応答して、論理回
路140が生成する。論理回路140は、方程式(2)に従っ
て、線114上の信号が活動状態になるまで、線WS0ないし
WS3(132、134、136、138)を活動状態にする。
すべてのデータ・バイトが受信されたことが、線114上
のメモリ転送受信開始信号によって示されるときは、線
132、134、136、138のどれも活動化されず、バッファの
読取りが始まる。
のメモリ転送受信開始信号によって示されるときは、線
132、134、136、138のどれも活動化されず、バッファの
読取りが始まる。
バッファ30内での読取り動作および書込み動作は、線14
2と144上の読取り信号および書込み信号によって制御さ
れる。これらの信号は、線132、134、136、138上の信号
からORゲート144とインバータ146によって生成される。
2と144上の読取り信号および書込み信号によって制御さ
れる。これらの信号は、線132、134、136、138上の信号
からORゲート144とインバータ146によって生成される。
受信モードでは、線64上の転送開始信号により、バッフ
ァ・アドレス・カウンタ148がORゲート150を介してゼロ
にリセットされる。ORゲート150は、線152上に活動化信
号を供給する。
ァ・アドレス・カウンタ148がORゲート150を介してゼロ
にリセットされる。ORゲート150は、線152上に活動化信
号を供給する。
次いで、線114上でメモリ転送開始信号が活動状態にな
るまで、バッファ・アドレス・カウンタは、線156上の
各T1受信パルスで増分される。これはANDゲート158の機
能であり、ANDゲート158は、インバータ160からの反転
されたメモリ転送開始信号によって制御され、ORゲート
162にT1受信信号を送る。
るまで、バッファ・アドレス・カウンタは、線156上の
各T1受信パルスで増分される。これはANDゲート158の機
能であり、ANDゲート158は、インバータ160からの反転
されたメモリ転送開始信号によって制御され、ORゲート
162にT1受信信号を送る。
このようにして、受信されたデータ・バイトは、バッフ
ァ30の連続するアドレスに書き込まれる。線114上のメ
モリ転送開始信号がOR回路150に送られ、それが活動状
態になると、すなわち、すべてのバイトがバッファ30に
記憶されると、線152上のリセット信号によりバッファ
・アドレス・カウンタがリセットされ、論理140回路に
より読取りパルスが活動状態になり、その結果、バッフ
ァ30が読み取られて、受信されたデータ・バイトをメモ
リ16に転送する。
ァ30の連続するアドレスに書き込まれる。線114上のメ
モリ転送開始信号がOR回路150に送られ、それが活動状
態になると、すなわち、すべてのバイトがバッファ30に
記憶されると、線152上のリセット信号によりバッファ
・アドレス・カウンタがリセットされ、論理140回路に
より読取りパルスが活動状態になり、その結果、バッフ
ァ30が読み取られて、受信されたデータ・バイトをメモ
リ16に転送する。
バッファ・アドレス・カウンタ148は、線72上のT1受信
パルスによって増分される。T1受信のパルスは、ORゲー
ト162およびANDゲート164から供給される。ANDゲート16
4は、線204上の最終転送信号が活動状態になるまで制御
される。
パルスによって増分される。T1受信のパルスは、ORゲー
ト162およびANDゲート164から供給される。ANDゲート16
4は、線204上の最終転送信号が活動状態になるまで制御
される。
メモリ16への転送は、BS論理回路168によって制御され
る。BS論理回路168は、方程式(3)に従ってBS線170、
172、174、176上に活動化信号を生成する。したがっ
て、BS論理回路168は、バス178からのカウント数、線88
ないし91上の最下位ビットの値、線114上の転送開始信
号と線72上のT1受信信号から誘導される第1の転送信
号、および線180上の最終転送信号に応答する。
る。BS論理回路168は、方程式(3)に従ってBS線170、
172、174、176上に活動化信号を生成する。したがっ
て、BS論理回路168は、バス178からのカウント数、線88
ないし91上の最下位ビットの値、線114上の転送開始信
号と線72上のT1受信信号から誘導される第1の転送信
号、および線180上の最終転送信号に応答する。
最終転送信号は、論理回路182、メモリ転送カウンタ184
および比較器186から生成される。論理回路182は、バス
178上のカウント値と線88ないし91上の最下位ビットの
値に基づいてメモリ転送回数を計算する。メモリ転送回
数は、カウンタ184に送られる。カウンタ184は、線188
上の信号によって各転送ごとに減分される。
および比較器186から生成される。論理回路182は、バス
178上のカウント値と線88ないし91上の最下位ビットの
値に基づいてメモリ転送回数を計算する。メモリ転送回
数は、カウンタ184に送られる。カウンタ184は、線188
上の信号によって各転送ごとに減分される。
レジスタ82からバス192を介して受け取って開始メモリ
・アドレスは、メモリ・アドレス・カウンタ190に記憶
される。カウンタ190は、線188上の信号によって増分さ
れる。
・アドレスは、メモリ・アドレス・カウンタ190に記憶
される。カウンタ190は、線188上の信号によって増分さ
れる。
メモリ16のバッファの内容の転送期間中に、ドライバ19
2が、ANDゲート193からの出力信号によって活動化され
る。ANDゲート193の入力端は、メモリ転送受信開始線11
4とインバータ202の出力線に接続されている。インバー
タ202は、線204上の最終転送信号を反転する。
2が、ANDゲート193からの出力信号によって活動化され
る。ANDゲート193の入力端は、メモリ転送受信開始線11
4とインバータ202の出力線に接続されている。インバー
タ202は、線204上の最終転送信号を反転する。
このように、バッファ30から読み取られたデータ・バイ
トは、線170、172、174、176上のBS信号とORゲート196
の出力線194上の書込み制御信号の制御下で、メモリ16
に書き込むことができる。BS線170、172、174、176の少
なくとも1本が活動状態にある限り、書込み信号は活動
状態にある。
トは、線170、172、174、176上のBS信号とORゲート196
の出力線194上の書込み制御信号の制御下で、メモリ16
に書き込むことができる。BS線170、172、174、176の少
なくとも1本が活動状態にある限り、書込み信号は活動
状態にある。
線188上の信号は、ORゲート198、ANDゲート200およびイ
ンバータ202によって供給される。
ンバータ202によって供給される。
比較器186は、メモリ転送カウンタがゼロに等しくなっ
て最終転送を示すとき、線204上に活動信号を供給す
る。
て最終転送を示すとき、線204上に活動信号を供給す
る。
ANDゲート200は、線114上のメモリ転送受信開始信号と
インバータ202からの反転された最終転送信号を条件と
して動作し、T1受信パルスを線188を介してORゲート198
に送る。
インバータ202からの反転された最終転送信号を条件と
して動作し、T1受信パルスを線188を介してORゲート198
に送る。
受信モードでは、ANDゲート206が制御され、線204から
の最終転送信号を論理回路168の入力線180に供給する。
この信号は、方程式(3)の「L」として使用される。
の最終転送信号を論理回路168の入力線180に供給する。
この信号は、方程式(3)の「L」として使用される。
線204からの最終転送信号は、ORゲート150に供給され
て、メモリ転送の終わりにバッファ・アドレス・カウン
タ148をリセットする。
て、メモリ転送の終わりにバッファ・アドレス・カウン
タ148をリセットする。
次に送信動作の説明を行なう。受信モードの場合と同様
に、開始メモリ・アドレスがバス192を介してメモリ・
アドレス・カウンタ190に記憶される。送信信号が、線6
8を介してBS論理回路168に供給されて、BS線を非活動化
する。すなわち、ORゲート196は、低レベルの信号をイ
ンバータ210に供給し、インバータ210は線212上に活動
読取り制御信号を生成する。
に、開始メモリ・アドレスがバス192を介してメモリ・
アドレス・カウンタ190に記憶される。送信信号が、線6
8を介してBS論理回路168に供給されて、BS線を非活動化
する。すなわち、ORゲート196は、低レベルの信号をイ
ンバータ210に供給し、インバータ210は線212上に活動
読取り制御信号を生成する。
回路182がメモリ転送回数を計算し、それがカウンタ184
に供給される。メモリ・アドレス・カウンタ190は、最
終転送信号が活動状態になるまて、線78上のT1送信信号
によって増分される。T1送信信号は、ANDゲート214とOR
ゲート198によって線188に供給される。これは、インバ
ータ202の出力端を、ANDゲート214の一方の入力端に接
続することによって行なわれる。ANDゲート214の他方の
入力端は線78に接続されている。
に供給される。メモリ・アドレス・カウンタ190は、最
終転送信号が活動状態になるまて、線78上のT1送信信号
によって増分される。T1送信信号は、ANDゲート214とOR
ゲート198によって線188に供給される。これは、インバ
ータ202の出力端を、ANDゲート214の一方の入力端に接
続することによって行なわれる。ANDゲート214の他方の
入力端は線78に接続されている。
転送が開始すると、バッファ・アドレス・カウンタ148
がリセットされ、アドレスされたメモリ記憶位置から読
み取られたデータ・バイトが、線217上の信号によって
活動化される受信回路216よびORゲート130によって、バ
ッファ30の連続する記憶位置に転送される。線217上の
信号は、転送の開始からメモリ16からバッファ30への最
終転送が行なわれるまで、活動状態である。この信号
は、インバータ219によって供給される。インバータ219
は、ANDゲート221の出力線223上の転送受信開始信号を
反転させる。ANDゲート221の入力線は、最終転送線204
と送信線68である。
がリセットされ、アドレスされたメモリ記憶位置から読
み取られたデータ・バイトが、線217上の信号によって
活動化される受信回路216よびORゲート130によって、バ
ッファ30の連続する記憶位置に転送される。線217上の
信号は、転送の開始からメモリ16からバッファ30への最
終転送が行なわれるまで、活動状態である。この信号
は、インバータ219によって供給される。インバータ219
は、ANDゲート221の出力線223上の転送受信開始信号を
反転させる。ANDゲート221の入力線は、最終転送線204
と送信線68である。
4本の書込み選択線132、134、136、138が活動化されて
いるので、線194上の書込み信号は活動状態になってい
る。バッファ・アドレス・カウンタ148が、T1送信パル
スによって000から増分される。T1送信パルスは、ANDゲ
ート220およびORゲート162によって線156上に供給され
る。ANDゲート220は、インバータ202の出力での信号に
よって、すなわち、最終転送信号が活動状態になるまで
制御される。
いるので、線194上の書込み信号は活動状態になってい
る。バッファ・アドレス・カウンタ148が、T1送信パル
スによって000から増分される。T1送信パルスは、ANDゲ
ート220およびORゲート162によって線156上に供給され
る。ANDゲート220は、インバータ202の出力での信号に
よって、すなわち、最終転送信号が活動状態になるまで
制御される。
データ・バイト・バーストがメモリ16からバッファ30に
転送されることが、線204上の活動状態にある最終転送
信号によって示されるとき、バッファ・アドレス・カウ
ンタ148が、ORゲート150によってリセットされる。ORゲ
ートの一方の入力端は、線204に接続されている。
転送されることが、線204上の活動状態にある最終転送
信号によって示されるとき、バッファ・アドレス・カウ
ンタ148が、ORゲート150によってリセットされる。ORゲ
ートの一方の入力端は、線204に接続されている。
そのとき、線68上の送信信号、線204上の最終転送信
号、および線223上のデータ・バス転送開始信号に応答
する書込み選択論理回路140が、書込み選択線132、13
4、136、138を非活動化し、したがって線142上の読取り
制御信号が活動状態になる。
号、および線223上のデータ・バス転送開始信号に応答
する書込み選択論理回路140が、書込み選択線132、13
4、136、138を非活動化し、したがって線142上の読取り
制御信号が活動状態になる。
連続するバッファ記憶位置が読み取られ、読取りワード
のバイト0、1、2、3が受信回路220によってゲート
回路50に転送される。受信回路220は、データ・バス転
送中に、ANDゲート222からの出力信号によって活動化さ
れる。ANDゲート222の入力端は、データ・バス転送開始
線223と、データ・バス転送終了信号を搬送する線231に
接続されている。
のバイト0、1、2、3が受信回路220によってゲート
回路50に転送される。受信回路220は、データ・バス転
送中に、ANDゲート222からの出力信号によって活動化さ
れる。ANDゲート222の入力端は、データ・バス転送開始
線223と、データ・バス転送終了信号を搬送する線231に
接続されている。
線113上のデータ・バス転送終了信号が、インバータ230
で反転される。インバータ230の出力線231は、ANDゲー
ト232に接続されている。すなわち、ANDゲート232は、
バッファ30が線223と231上の信号によって読み取られ、
ORゲート162を介して線156にT1送信パルスを供給して、
各T1パルスでバッファ・アドレス・カウンタ148を増分
させるとき、条件づけられる。
で反転される。インバータ230の出力線231は、ANDゲー
ト232に接続されている。すなわち、ANDゲート232は、
バッファ30が線223と231上の信号によって読み取られ、
ORゲート162を介して線156にT1送信パルスを供給して、
各T1パルスでバッファ・アドレス・カウンタ148を増分
させるとき、条件づけられる。
バッファから読み取られる各ワードについて、バス234
−0上のバイト0は、ゲート論理回路50によってレジス
タ40−0に供給され、バス234−1上のバイト1はレジ
スタ40−1に、バス234−2上のバイト2はレジスタ40
−2に、バス234−3上のバイト3はレジスタ40−3に
供給される。これは、方程式(6)に従って、線88ない
し91上の最下位ビット値と線78および80上のT1およびT2
送信信号とから線238、240、242、244上にRS信号を生成
する論理回路236の制御下で行なわれる。
−0上のバイト0は、ゲート論理回路50によってレジス
タ40−0に供給され、バス234−1上のバイト1はレジ
スタ40−1に、バス234−2上のバイト2はレジスタ40
−2に、バス234−3上のバイト3はレジスタ40−3に
供給される。これは、方程式(6)に従って、線88ない
し91上の最下位ビット値と線78および80上のT1およびT2
送信信号とから線238、240、242、244上にRS信号を生成
する論理回路236の制御下で行なわれる。
ゲート回路は、ANDゲート246−0、246−1、246−2、
246−3を含んでいる。これらのANDゲートは、線238、2
40、242、244上のRS0、RS1、RS2、RS3信号を条件として
動作し、それぞれバス234−0、234−1、234−2、234
−3からのバイトをレジスタ40−0、40−1、40−2、
40−3に供給する。
246−3を含んでいる。これらのANDゲートは、線238、2
40、242、244上のRS0、RS1、RS2、RS3信号を条件として
動作し、それぞれバス234−0、234−1、234−2、234
−3からのバイトをレジスタ40−0、40−1、40−2、
40−3に供給する。
これらのレジスタの内容が、位置合せ論理回路43に供給
され、ドライバ250−0と250−2およびドライバ252−
1と252−3を介してデータ線120と122に供給される。
され、ドライバ250−0と250−2およびドライバ252−
1と252−3を介してデータ線120と122に供給される。
ドライバ250と252は、第4図に関して説明したように、
ゲート論理回路254によって活動化され、バッファ30か
ら読み取られたバイトを正しい順序でデータ・バス22の
データ線120と122に送信させる。ゲート論理回路254
は、回路102からのサイクル数、線223上の転送開始信
号、線113上のバス転送終了信号、および線78と80上のT
1およびT2送信信号に応答する。
ゲート論理回路254によって活動化され、バッファ30か
ら読み取られたバイトを正しい順序でデータ・バス22の
データ線120と122に送信させる。ゲート論理回路254
は、回路102からのサイクル数、線223上の転送開始信
号、線113上のバス転送終了信号、および線78と80上のT
1およびT2送信信号に応答する。
サイクル数カウンタ102は、ANDゲート224およびORゲー
ト106によって線104上に供給されるT1送信パルスによっ
て減分される。ANDゲート224は、線223上の転送開始信
号を条件として動作する。
ト106によって線104上に供給されるT1送信パルスによっ
て減分される。ANDゲート224は、線223上の転送開始信
号を条件として動作する。
次に第6図を参照して、位置合せ論理回路43を実現する
のに使用できる論理構成を説明する。
のに使用できる論理構成を説明する。
レジスタ40−0ないし40−3の内容が、ANDゲート組立
体300、302、304、306に供給され、ORゲート組立体30
8、310、312、314を介してバス126−0ないし126−3に
ゲートされる。第3図と第4図に関して説明したよう
に、バス126−0ないし126−3上へのレジスタの内容の
供給は、最下位ビットの値に依存する。すなわち、AND
ゲート組立体300、302、304、306は、それぞれ8個のAN
Dゲート(レジスタの各段についてゲート1個)からな
る(第6図に0、1、2、3の番号で示す)4組のAND
ゲートを含んでいる。
体300、302、304、306に供給され、ORゲート組立体30
8、310、312、314を介してバス126−0ないし126−3に
ゲートされる。第3図と第4図に関して説明したよう
に、バス126−0ないし126−3上へのレジスタの内容の
供給は、最下位ビットの値に依存する。すなわち、AND
ゲート組立体300、302、304、306は、それぞれ8個のAN
Dゲート(レジスタの各段についてゲート1個)からな
る(第6図に0、1、2、3の番号で示す)4組のAND
ゲートを含んでいる。
この4組のANDゲートは、最下位ビット線88ないし91の
うちの1本によって制御される。ゲート300−0、302−
0、304−0、306−0は、最下位ビット00線88によって
制御され、レジスタ40−0、40−1、40−2、40−3の
内容をバス126−0、126−1、126−2、126−3に供給
する。
うちの1本によって制御される。ゲート300−0、302−
0、304−0、306−0は、最下位ビット00線88によって
制御され、レジスタ40−0、40−1、40−2、40−3の
内容をバス126−0、126−1、126−2、126−3に供給
する。
受信モードでは、ゲート300−1、302−1、304−1、3
06−1は、最下位ビット01線89によって制御され、送信
モードでは、最下位ビット11線91によって制御されて、
レジスタ40−0、40−1、40−2、40−3の内容をそれ
ぞれバス126−1、126−2、126−3、126−0に供給す
る。これは、ANDゲート316と318およびORゲート326によ
って実行される。最下位ビット01線89と最下位ビット11
線91は、ANDゲート316と318の1つの入力端に接続され
る。ANDゲートは、線66上の受信信号と線68上の送信信
号を条件として動作する。これらのANDゲートの出力線
は、ORゲート326の入力端に接続され、ORゲート326は制
御信号をゲート300−1、302−1、304−1、306−1に
供給する。
06−1は、最下位ビット01線89によって制御され、送信
モードでは、最下位ビット11線91によって制御されて、
レジスタ40−0、40−1、40−2、40−3の内容をそれ
ぞれバス126−1、126−2、126−3、126−0に供給す
る。これは、ANDゲート316と318およびORゲート326によ
って実行される。最下位ビット01線89と最下位ビット11
線91は、ANDゲート316と318の1つの入力端に接続され
る。ANDゲートは、線66上の受信信号と線68上の送信信
号を条件として動作する。これらのANDゲートの出力線
は、ORゲート326の入力端に接続され、ORゲート326は制
御信号をゲート300−1、302−1、304−1、306−1に
供給する。
ゲート300−2、302−2、304−2、306−2は、最下位
ビット10線90によって制御され、レジスタ40−0、40−
1、40−2、40−3の内容をそれぞれバス126−2、126
−3、126−0、126−1に供給する。
ビット10線90によって制御され、レジスタ40−0、40−
1、40−2、40−3の内容をそれぞれバス126−2、126
−3、126−0、126−1に供給する。
受信モードでは、ゲート300−3、302−3、304−3、3
06−3は、最下位ビット11線91によって制御され、送信
モードでは、最下位ビット01線89によって制御され、レ
ジスタ40−0、40−1、40−2、40−3の内容をそれぞ
れバス126−3、126−0、126−1、126−2に供給す
る。これは、ANDゲート316と318およびORゲート326によ
って実行される。最下位ビット01線89と最下位ビット11
線91は、ANDゲート316と318の1つの入力端に接続さ
れ、それらのANDゲートは、線66上の受信信号と線68上
の送信信号を条件として動作する。これらのANDゲート
の出力線は、ORゲート326の入力端に接続され、ORゲー
ト326は、制御信号をゲート300−1、302−1、304−
1、306−1に供給する。
06−3は、最下位ビット11線91によって制御され、送信
モードでは、最下位ビット01線89によって制御され、レ
ジスタ40−0、40−1、40−2、40−3の内容をそれぞ
れバス126−3、126−0、126−1、126−2に供給す
る。これは、ANDゲート316と318およびORゲート326によ
って実行される。最下位ビット01線89と最下位ビット11
線91は、ANDゲート316と318の1つの入力端に接続さ
れ、それらのANDゲートは、線66上の受信信号と線68上
の送信信号を条件として動作する。これらのANDゲート
の出力線は、ORゲート326の入力端に接続され、ORゲー
ト326は、制御信号をゲート300−1、302−1、304−
1、306−1に供給する。
第7図のグラフは、ページ動作モードを備えた動的メモ
リの場合の、位置合せなしのメモリ・アクセス時間と位
置合せ付きのメモリ・アクセス時間の比によって表わさ
れる性能利得とバイト単位で表わしたバースト長との関
係を示している。
リの場合の、位置合せなしのメモリ・アクセス時間と位
置合せ付きのメモリ・アクセス時間の比によって表わさ
れる性能利得とバイト単位で表わしたバースト長との関
係を示している。
性能は、バースト・サイズが長くなるにつれて向上する
が、バースト・サイズが6バイトのとき既に著しい向上
が見られる。
が、バースト・サイズが6バイトのとき既に著しい向上
が見られる。
データ・バスが2バイト幅であり、メモリが4バイト・
ワードで編成されていると仮定して、本発明について詳
細に説明してきたが、当業者なら本明細書で詳細に示し
た実施態様に変更を加えて、任意のデータ・バス形式で
動作するメモリ形式アダプタを容易に作成できるはずで
ある。
ワードで編成されていると仮定して、本発明について詳
細に説明してきたが、当業者なら本明細書で詳細に示し
た実施態様に変更を加えて、任意のデータ・バス形式で
動作するメモリ形式アダプタを容易に作成できるはずで
ある。
E.発明の効果 以上説明したように、本発明によれば第7図に示すごと
く、本発明に基づく位置合せ制御を行なわない場合と比
べてメモリのアクセス時間が格段に向上する。
く、本発明に基づく位置合せ制御を行なわない場合と比
べてメモリのアクセス時間が格段に向上する。
第1図は、本発明によるメモリ形式アダプタを組み込ん
だシステムの全般的構成を示す。 第2図は、データをメモリに書き込みメモリから読み取
るときの、メモリ形式アダプタとバッファの間のデータ
・フローを示す。 第3図は、アドレスの最下位ビットの値に応じて、メモ
リに書き込むべき受け取ったデータ・バイトをバッファ
内でどのように配列するかを示す。 第4図は、アドレスの最下位ビットの値に応じて、位置
合せ論理回路を介してデータ・バスに正しい順序で送る
べきメモリから読み取ったデータ・バイトを入力データ
・レジスタ中にどのように配列するかを示す。 第5A図ないし第5E図は、本発明によるメモリ形式アダプ
タの詳細な実施態様を表わす。 第6図は、位置合せ論理回路43を示す。 第7図は、性能利得をデータ・バースト長の関数として
表わしたグラフである。 10……メモリ形式アダプタ、12……入出力装置、14……
プロセッサ、16……メモリ、18……プロセッサ・バス、
20……制御バス、22……データ・バス、30……バッフ
ァ。
だシステムの全般的構成を示す。 第2図は、データをメモリに書き込みメモリから読み取
るときの、メモリ形式アダプタとバッファの間のデータ
・フローを示す。 第3図は、アドレスの最下位ビットの値に応じて、メモ
リに書き込むべき受け取ったデータ・バイトをバッファ
内でどのように配列するかを示す。 第4図は、アドレスの最下位ビットの値に応じて、位置
合せ論理回路を介してデータ・バスに正しい順序で送る
べきメモリから読み取ったデータ・バイトを入力データ
・レジスタ中にどのように配列するかを示す。 第5A図ないし第5E図は、本発明によるメモリ形式アダプ
タの詳細な実施態様を表わす。 第6図は、位置合せ論理回路43を示す。 第7図は、性能利得をデータ・バースト長の関数として
表わしたグラフである。 10……メモリ形式アダプタ、12……入出力装置、14……
プロセッサ、16……メモリ、18……プロセッサ・バス、
20……制御バス、22……データ・バス、30……バッフ
ァ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ピエール・ユオン フランス国06700サン・ローラン・ドユ・ ヴール、アンパース・デ・プラン(番地な し) (72)発明者 ミツシエル・パイロネンコ フランス国06640サン・ジヤネ、フオン・ ド・ラ・パイロ(番地なし) (56)参考文献 特開 昭62−134743(JP,A)
Claims (1)
- 【請求項1】2nバイトのワードで構成された、可変数の
バイトから成るデータバーストを書き込むためのバイト
選択信号の制御の下でm(ただし2n/m=k;kは整数)バ
イトのバスを介してワード内の各バイトをアドレス指定
できるメモリにおいて、該メモリをアクセスするための
メモリアクセス制御装置であって、 (a)同じ周期Tを有し互いにオーバーラップすること
のないk個のクロック信号を供給するクロック手段と、 (b)メモリ形式アダプタ手段と、 よりなり、 上記メモリ形式アダプタ手段は、 (b−1)k組のゲート手段を構成し、各組は上記k個
のクロック信号のうちの1つに応答し、各組における各
ゲート手段は上記バスから1つのデータバイトを受け取
って上記クロック信号によって活動化されたときにこれ
を出力するように接続された合計2n個のゲート手段と、 (b−2)上記クロック信号の周期Tごとに2nバイトが
記憶されるよう各々が上記各ゲート手段に接続された2n
個のレジスタ手段と、 (b−3)各々が書込み選択信号の制御の下で1つのバ
イトを記憶できる2n個の連続した位置を有するバッファ
手段と、 (b−4)メモリ書き込み動作の間活動化され、メモリ
ワード内のバイト位置を決定する開始メモリアドレスの
下位ビットと、そのバイトカウントと、上記クロック信
号とに応答して、上記バッファ手段の内容がメモリに書
込まれるべきデータバーストの配列をマッピングするよ
う上記バッファ手段の各バイト位置に関して上記書き込
み選択信号を選択的に活動化し、選択された連続位置に
上記レジスタ手段の内容を書き込むための位置合せ制御
手段と、 (b−5)完全なデータバーストが上記バッファ手段に
書き込まれたときに活動化され、開始メモリアドレスに
よって定義される最初のワードにおけるバイト位置から
上記バッファ手段の内容をメモリに転送するよう開始メ
モリアドレスの下位ビットの基づいて上記バイト選択信
号を選択的に活動化するメモリ書き込み制御手段と、 を具備してなることを特徴とするメモリアクセス制御装
置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP87480008.9 | 1987-08-20 | ||
| EP87480008A EP0303752B1 (en) | 1987-08-20 | 1987-08-20 | Memory access control device in a mixed data format system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6462743A JPS6462743A (en) | 1989-03-09 |
| JPH0736167B2 true JPH0736167B2 (ja) | 1995-04-19 |
Family
ID=8198323
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63150402A Expired - Lifetime JPH0736167B2 (ja) | 1987-08-20 | 1988-06-20 | メモリアクセス制御装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5014187A (ja) |
| EP (1) | EP0303752B1 (ja) |
| JP (1) | JPH0736167B2 (ja) |
| DE (1) | DE3786080D1 (ja) |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5235693A (en) * | 1989-01-27 | 1993-08-10 | Digital Equipment Corporation | Method and apparatus for reducing buffer storage in a read-modify-write operation |
| US5214767A (en) * | 1989-02-07 | 1993-05-25 | Compaq Computer Corp. | Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes |
| US5187783A (en) * | 1989-03-15 | 1993-02-16 | Micral, Inc. | Controller for direct memory access |
| JP2679715B2 (ja) * | 1989-06-30 | 1997-11-19 | 富士通株式会社 | データ転送方法 |
| US5297242A (en) * | 1989-12-15 | 1994-03-22 | Nec Corporation | DMA controller performing data transfer by 2-bus cycle transfer manner |
| US5280601A (en) * | 1990-03-02 | 1994-01-18 | Seagate Technology, Inc. | Buffer memory control system for a magnetic disc controller |
| US5442769A (en) * | 1990-03-13 | 1995-08-15 | At&T Corp. | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type |
| JPH0452743A (ja) * | 1990-06-14 | 1992-02-20 | Fujitsu Ltd | 2重化外部記憶装置制御方式 |
| CA2045705A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | In-register data manipulation in reduced instruction set processor |
| US5278967A (en) * | 1990-08-31 | 1994-01-11 | International Business Machines Corporation | System for providing gapless data transfer from page-mode dynamic random access memories |
| US5283880A (en) * | 1991-01-02 | 1994-02-01 | Compaq Computer Corp. | Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states |
| US5301281A (en) * | 1991-06-26 | 1994-04-05 | Ast Research, Inc. | Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals |
| ATE192590T1 (de) * | 1991-09-09 | 2000-05-15 | Siemens Nixdorf Inf Syst | Steuereinrichtung zur steuerung der datenübertragung zwischen einem von mehreren ein- /ausgabemodulen und dem arbeitsspeicher einer datenverarbeitungsanlage |
| US5548762A (en) * | 1992-01-30 | 1996-08-20 | Digital Equipment Corporation | Implementation efficient interrupt select mechanism |
| US5465340A (en) * | 1992-01-30 | 1995-11-07 | Digital Equipment Corporation | Direct memory access controller handling exceptions during transferring multiple bytes in parallel |
| US5240207A (en) * | 1992-08-03 | 1993-08-31 | The United States Of America As Represented By The Secretary Of The Navy | Generic drone control system |
| US5517635A (en) * | 1992-12-17 | 1996-05-14 | International Business Machines Corporation | System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects |
| US5550989A (en) * | 1993-05-28 | 1996-08-27 | International Business Machines Corporation | Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths |
| US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
| JPH07105128A (ja) * | 1993-10-07 | 1995-04-21 | Mitsubishi Electric Corp | データ転送装置 |
| US5448704A (en) * | 1994-03-07 | 1995-09-05 | Vlsi Technology, Inc. | Method for performing writes of non-contiguous bytes on a PCI bus in a minimum number of write cycles |
| US5734874A (en) * | 1994-04-29 | 1998-03-31 | Sun Microsystems, Inc. | Central processing unit with integrated graphics functions |
| KR100188990B1 (ko) * | 1994-09-27 | 1999-06-01 | 이리마지리 쇼우이치로 | 데이타 중계 장치 및 이것을 이용한 비디오 게임 장치 |
| US5553265A (en) * | 1994-10-21 | 1996-09-03 | International Business Machines Corporation | Methods and system for merging data during cache checking and write-back cycles for memory reads and writes |
| US5664230A (en) * | 1995-05-26 | 1997-09-02 | Texas Instruments Incorporated | Data processing with adaptable external burst memory access |
| US5910909A (en) * | 1995-08-28 | 1999-06-08 | C-Cube Microsystems, Inc. | Non-linear digital filters for interlaced video signals and method thereof |
| US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
| US5802219A (en) * | 1995-11-27 | 1998-09-01 | Sun Microsystems, Inc. | Methods and apparatus for table lookup transformation of digital images |
| SE504758C2 (sv) * | 1995-12-21 | 1997-04-21 | Siemens Elema Ab | Apparatpanel |
| US5859990A (en) * | 1995-12-29 | 1999-01-12 | Intel Corporation | System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices |
| US5721957A (en) * | 1996-06-03 | 1998-02-24 | International Business Machines Corporation | Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats |
| US5896404A (en) * | 1997-04-04 | 1999-04-20 | International Business Machines Corporation | Programmable burst length DRAM |
| US6070262A (en) * | 1997-04-04 | 2000-05-30 | International Business Machines Corporation | Reconfigurable I/O DRAM |
| US5878226A (en) * | 1997-05-13 | 1999-03-02 | International Business Machines Corporation | System for processing early arrival messages within a multinode asynchronous data communications system |
| US5931915A (en) * | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
| FR2789779B1 (fr) * | 1999-02-11 | 2001-04-20 | Bull Cp8 | Procede de traitement securise d'un element logique sensible dans un registre memoire, et module de securite mettant en oeuvre ce procede |
| FI20010924A7 (fi) * | 2001-05-03 | 2002-11-04 | Nokia Corp | Mikroprosessorin muistinkäsittely |
| US6556495B2 (en) | 2001-07-09 | 2003-04-29 | International Business Machines Corporation | 2-D FIFO memory having full-width read/write capability |
| JP2003281074A (ja) * | 2002-03-19 | 2003-10-03 | Fujitsu Ltd | ダイレクトメモリアクセス装置 |
| DE102006007993B4 (de) * | 2006-02-21 | 2007-11-08 | Infineon Technologies Ag | Testhilfseinrichtung in einem Speicherbaustein |
| CN112463662B (zh) * | 2020-12-16 | 2024-04-05 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3916388A (en) * | 1974-05-30 | 1975-10-28 | Ibm | Shifting apparatus for automatic data alignment |
| US4131940A (en) * | 1977-07-25 | 1978-12-26 | International Business Machines Corporation | Channel data buffer apparatus for a digital data processing system |
| US4654781A (en) * | 1981-10-02 | 1987-03-31 | Raytheon Company | Byte addressable memory for variable length instructions and data |
| JPS5892025A (ja) * | 1981-11-26 | 1983-06-01 | Hitachi Ltd | デ−タ処理方式 |
| US4683534A (en) * | 1985-06-17 | 1987-07-28 | Motorola, Inc. | Method and apparatus for interfacing buses of different sizes |
-
1987
- 1987-08-20 EP EP87480008A patent/EP0303752B1/en not_active Expired - Lifetime
- 1987-08-20 DE DE8787480008T patent/DE3786080D1/de not_active Expired - Lifetime
-
1988
- 1988-05-13 US US07/193,867 patent/US5014187A/en not_active Expired - Fee Related
- 1988-06-20 JP JP63150402A patent/JPH0736167B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0303752B1 (en) | 1993-06-02 |
| JPS6462743A (en) | 1989-03-09 |
| EP0303752A1 (en) | 1989-02-22 |
| DE3786080D1 (de) | 1993-07-08 |
| US5014187A (en) | 1991-05-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0736167B2 (ja) | メモリアクセス制御装置 | |
| US4866603A (en) | Memory control system using a single access request for doubleword data transfers from both odd and even memory banks | |
| US5218689A (en) | Single disk emulation interface for an array of asynchronously operating disk drives | |
| US5634099A (en) | Direct memory access unit for transferring data between processor memories in multiprocessing systems | |
| US20010010057A1 (en) | Semiconductor integrated circuit, computer system, data processor and data processing method | |
| US5848258A (en) | Memory bank addressing scheme | |
| JPH06309267A (ja) | I/o装置と拡張記憶装置又は主記憶装置の間でデータを転送する方法 | |
| US6223253B1 (en) | Word selection logic to implement an 80 or 96-bit cache SRAM | |
| JPH0619752B2 (ja) | データ転送方法及び装置 | |
| US4639862A (en) | Computer system | |
| US4716545A (en) | Memory means with multiple word read and single word write | |
| US5167029A (en) | Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register | |
| US3737871A (en) | Stack register renamer | |
| US6282144B1 (en) | Multi-ported memory with asynchronous and synchronous protocol | |
| US4722052A (en) | Multiple unit adapter | |
| JPH0689247A (ja) | データ通信及び処理システム並びにデータ通信処理方法 | |
| JPH08305685A (ja) | ベクトルデータ処理装置 | |
| JPH0227696B2 (ja) | Johoshorisochi | |
| JPS6055911B2 (ja) | 主記憶装置 | |
| JPH04270440A (ja) | アクセス方式 | |
| JPH02224041A (ja) | キャッシュメモリ制御回路 | |
| JPS61193245A (ja) | 記憶制御方式 | |
| JPH0337216B2 (ja) | ||
| JPH01297758A (ja) | マイクロコンピュータ間データ伝送方法 | |
| JPH0316652B2 (ja) |