JPH0784945A - 応答制御回路 - Google Patents
応答制御回路Info
- Publication number
- JPH0784945A JPH0784945A JP5229269A JP22926993A JPH0784945A JP H0784945 A JPH0784945 A JP H0784945A JP 5229269 A JP5229269 A JP 5229269A JP 22926993 A JP22926993 A JP 22926993A JP H0784945 A JPH0784945 A JP H0784945A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- response
- output
- circuit
- bus
- 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.)
- Granted
Links
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
(57)【要約】
【目的】 コンピュータと、そのSバスを制御する機能
を有しないデバイスとの間に介装して、インターフェイ
スを整合させることによりシステム全体の処理能力を高
速とする応答制御回路を提供する。 【構成】 バス幅設定回路201 及び遅延時間設定回路20
2 に予めバス幅情報及び遅延時間情報を設定しておく。
そしてCPU 1からのアクセス時において、予め設定した
バス幅情報と遅延時間情報とにより、応答信号生成回路
203 が適正なタイミングにおいて適正なバス幅の応答信
号を生成し、出力制御信号生成回路204がバス幅情報が
ある場合に応答信号を出力するよう制御する制御信号を
生成する。そして出力回路205 は制御信号に基づいて応
答信号を出力し、CPU 1の命令に応答する。
を有しないデバイスとの間に介装して、インターフェイ
スを整合させることによりシステム全体の処理能力を高
速とする応答制御回路を提供する。 【構成】 バス幅設定回路201 及び遅延時間設定回路20
2 に予めバス幅情報及び遅延時間情報を設定しておく。
そしてCPU 1からのアクセス時において、予め設定した
バス幅情報と遅延時間情報とにより、応答信号生成回路
203 が適正なタイミングにおいて適正なバス幅の応答信
号を生成し、出力制御信号生成回路204がバス幅情報が
ある場合に応答信号を出力するよう制御する制御信号を
生成する。そして出力回路205 は制御信号に基づいて応
答信号を出力し、CPU 1の命令に応答する。
Description
【0001】
【産業上の利用分野】本発明はコンピュータの命令に応
答するタイミングを制御する応答制御回路に関する。
答するタイミングを制御する応答制御回路に関する。
【0002】
【従来の技術】32ビットのCPU であるSPARC は、サンマ
イクロシステムズ社が開発したワークステーション用の
CPU であって、これを用いたSPARC STATION 等のワーク
ステーションは、デバイスを接続するバスとしてSバス
を備えている。また、このワークステーションからなる
システムを拡張するためのデバイスを接続する場合に備
えて、増設スロットを設けており、この増設スロットに
接続される外部バスはSバスであって、ユーザーに開放
されている。
イクロシステムズ社が開発したワークステーション用の
CPU であって、これを用いたSPARC STATION 等のワーク
ステーションは、デバイスを接続するバスとしてSバス
を備えている。また、このワークステーションからなる
システムを拡張するためのデバイスを接続する場合に備
えて、増設スロットを設けており、この増設スロットに
接続される外部バスはSバスであって、ユーザーに開放
されている。
【0003】Sバスにメモリ等のデバイスを接続するに
は、そのインターフェイスをSバスに合わせなければな
らない。このSバスに接続するために必要なインターフ
ェイスは、サンマイクロシステムズ社の“S Bus Specif
ication B.O.”に示されている。
は、そのインターフェイスをSバスに合わせなければな
らない。このSバスに接続するために必要なインターフ
ェイスは、サンマイクロシステムズ社の“S Bus Specif
ication B.O.”に示されている。
【0004】図7はSバスを介してSPARC STATION の増
設スロットに接続されたデバイスに対するCPU のアクセ
スと、そのアクセスに対するデバイスの応答を示すタイ
ムチャートであり、本図に基づいてアクセスを行なう信
号とそのアクセスに対する応答を行なう信号とについて
説明する。
設スロットに接続されたデバイスに対するCPU のアクセ
スと、そのアクセスに対するデバイスの応答を示すタイ
ムチャートであり、本図に基づいてアクセスを行なう信
号とそのアクセスに対する応答を行なう信号とについて
説明する。
【0005】図7の(a) に示すCLK は、システムクロッ
ク信号であり、クロックS0, クロックS1, クロックS2の
3クロックで1サイクルを構成している。図7の(b) に
示すADDRESS は、アドレス信号である。図7の(c) に示
す*ASはアドレスストローブ信号であり、アドレス信号
が有効である期間“L”となる。図7の(d) に示す*SE
L はCPU が増設スロットに接続されたデバイスにアクセ
スしていることを示す信号であって、アクセスしている
期間“L”となる。
ク信号であり、クロックS0, クロックS1, クロックS2の
3クロックで1サイクルを構成している。図7の(b) に
示すADDRESS は、アドレス信号である。図7の(c) に示
す*ASはアドレスストローブ信号であり、アドレス信号
が有効である期間“L”となる。図7の(d) に示す*SE
L はCPU が増設スロットに接続されたデバイスにアクセ
スしていることを示す信号であって、アクセスしている
期間“L”となる。
【0006】図7の(e) に示すRD/WTはリード動作を指
定する信号の場合“H”となり、ライト動作を指定する
信号の場合は“L”となる。図7の(f) に示すSIZ0,SIZ
1,SIZ2はアクセス時に使用するデータバスのバス幅を指
定する3ビットのサイズ信号である。以上はいずれもCP
U がSバスへ出力する信号である。
定する信号の場合“H”となり、ライト動作を指定する
信号の場合は“L”となる。図7の(f) に示すSIZ0,SIZ
1,SIZ2はアクセス時に使用するデータバスのバス幅を指
定する3ビットのサイズ信号である。以上はいずれもCP
U がSバスへ出力する信号である。
【0007】次にバス幅について説明する。一般に、SP
ARC 等のRISCが処理するデータは、1バイト(8ビッ
ト),半ワード(16ビット) 及び1ワード(32ビット)
の3種類があり、いずれの種類のデータであっても同時
に処理される。デバイスとしてのメモリは、1つのアド
レスに1バイト(8ビット)を記憶する。
ARC 等のRISCが処理するデータは、1バイト(8ビッ
ト),半ワード(16ビット) 及び1ワード(32ビット)
の3種類があり、いずれの種類のデータであっても同時
に処理される。デバイスとしてのメモリは、1つのアド
レスに1バイト(8ビット)を記憶する。
【0008】そしてRISC及びメモリ間のデータバスは、
32ビット幅で4バイトを同時に転送する。メモリへの書
き込みの場合、命令によってデータの大きさが指定され
ているにも拘らず、32ビットが転送される。1バイトの
書き込みであっても32ビットが転送されるため、先頭ア
ドレスから8ビットの部分だけをメモリの中で書き換
え、他の24ビットの部分は書き換えないようにしなけれ
ばならない。それ故、CPU がSPARC 等のRISCである場合
は、アクセスに際し、アクセスするバス幅を指定する。
その指定を行なうのがサイズ信号である。
32ビット幅で4バイトを同時に転送する。メモリへの書
き込みの場合、命令によってデータの大きさが指定され
ているにも拘らず、32ビットが転送される。1バイトの
書き込みであっても32ビットが転送されるため、先頭ア
ドレスから8ビットの部分だけをメモリの中で書き換
え、他の24ビットの部分は書き換えないようにしなけれ
ばならない。それ故、CPU がSPARC 等のRISCである場合
は、アクセスに際し、アクセスするバス幅を指定する。
その指定を行なうのがサイズ信号である。
【0009】表1はCPU がデバイスにアクセスする場
合、データバスのバス幅を指定する3ビットのサイズ信
号SIZ0,SIZ1,SIZ2の種類及びその指定するビット数の内
容を対応づけて示す表である。
合、データバスのバス幅を指定する3ビットのサイズ信
号SIZ0,SIZ1,SIZ2の種類及びその指定するビット数の内
容を対応づけて示す表である。
【0010】
【表1】
【0011】表において8Bit(Byte) 転送, 16Bit(Half
-Word)転送, 32Bit(Word) 転送とは、CPU とメモリとの
間で転送される32ビットのうち、先頭ビットより8ビッ
ト,16ビット, 32ビットについて書き込み又は読み出し
が行なわれることを意味する。64Bit(拡張) 転送とは、
SPARC STATION 特有の転送であって、1サイクル中に64
ビットのデータを転送することを意味する。この場合デ
ータを転送する線は64本存在する。
-Word)転送, 32Bit(Word) 転送とは、CPU とメモリとの
間で転送される32ビットのうち、先頭ビットより8ビッ
ト,16ビット, 32ビットについて書き込み又は読み出し
が行なわれることを意味する。64Bit(拡張) 転送とは、
SPARC STATION 特有の転送であって、1サイクル中に64
ビットのデータを転送することを意味する。この場合デ
ータを転送する線は64本存在する。
【0012】Word Burst転送とは、バス幅は32bit に固
定し、1サイクルのアクセス中に2回,4回,8回又は
16回のいずれかの回数だけデータの書き込み又は読み出
しが可能となるデータ転送である。書き込みの場合CPU
は先頭アドレスを出力したままであって、デバイス側で
アドレスを加算する。図7を参照して説明する。
定し、1サイクルのアクセス中に2回,4回,8回又は
16回のいずれかの回数だけデータの書き込み又は読み出
しが可能となるデータ転送である。書き込みの場合CPU
は先頭アドレスを出力したままであって、デバイス側で
アドレスを加算する。図7を参照して説明する。
【0013】CPU が管理するSバスに属するデバイスに
対してCPU がアクセスする場合、クロックS0の立ち上が
り時に図7の(a) に示すCLK 、図7の(b) に示すADDRES
S 、図7の(c) に示す*AS、図7の(d) に示す*SEL 、
図7の(e) に示すRD/WR及び図7の(f) に示すSIZ0,SIZ
1,SIZ2を出力する。ライト動作の場合、図7の(g) に示
すようにクロックS0の立ち下がり時からクロックS2の立
ち上がり時までライトデータを出力する。
対してCPU がアクセスする場合、クロックS0の立ち上が
り時に図7の(a) に示すCLK 、図7の(b) に示すADDRES
S 、図7の(c) に示す*AS、図7の(d) に示す*SEL 、
図7の(e) に示すRD/WR及び図7の(f) に示すSIZ0,SIZ
1,SIZ2を出力する。ライト動作の場合、図7の(g) に示
すようにクロックS0の立ち下がり時からクロックS2の立
ち上がり時までライトデータを出力する。
【0014】CPU によりアクセスされたデバイスはアク
セスされる迄ハイインピーダンス状態となっていた応答
信号の出力線に図7の(i) における(t1 )の時点にお
いて"H" を出力する。こうしてCPU に対しデバイスが
アイドル状態又はウェイト状態であることを通知する。
またデバイスは、CPU に対しリード動作の場合、図7の
(h) に示すようにクロックS1の立ち上がり時にリードデ
ータを出力する。また図7の(i) に示すようにクロック
S1の立ち下がり時に応答信号として*ACK0, *ACK1, *
ACK2を出力する。
セスされる迄ハイインピーダンス状態となっていた応答
信号の出力線に図7の(i) における(t1 )の時点にお
いて"H" を出力する。こうしてCPU に対しデバイスが
アイドル状態又はウェイト状態であることを通知する。
またデバイスは、CPU に対しリード動作の場合、図7の
(h) に示すようにクロックS1の立ち上がり時にリードデ
ータを出力する。また図7の(i) に示すようにクロック
S1の立ち下がり時に応答信号として*ACK0, *ACK1, *
ACK2を出力する。
【0015】応答信号により、CPU からサイズ信号によ
り示されたバス幅に対する応答情報又はアクセスエラー
情報等がCPU に返送される。表2はデバイスがCPU に応
答する応答信号の種類及びその応答情報の内容を対応づ
けて示す表である。
り示されたバス幅に対する応答情報又はアクセスエラー
情報等がCPU に返送される。表2はデバイスがCPU に応
答する応答信号の種類及びその応答情報の内容を対応づ
けて示す表である。
【0016】
【表2】
【0017】表において8Bit(Byte) 応答, 16Bit(Half
-Word)応答, 32Bit(Word) 応答, 64Bit(Double-Word)
応答とは、CPU が指定したバス幅に対し、デバイスが夫
々8ビット,16ビット, 32ビット, 64ビットのバス幅を
使用する旨の応答情報である。再実行要求 (応答) と
は、何等かの原因で命令の実行ができなかった場合にCP
U に再実行を要求する応答情報である。エラー応答と
は、CPU のアクセスが当該デバイスに対するアクセスで
はない場合にその旨を通知する応答情報である。アイド
ル/ウェイト状態とはデバイスがCPU に対しアクセス待
ちの状態若しくは何も動作していない状態又はCPU のア
クセスに対しアクセスサイクルを延ばしている状態であ
る旨を通知する応答情報である。Reservedは、未定義を
意味する。再び図7を参照して説明する。
-Word)応答, 32Bit(Word) 応答, 64Bit(Double-Word)
応答とは、CPU が指定したバス幅に対し、デバイスが夫
々8ビット,16ビット, 32ビット, 64ビットのバス幅を
使用する旨の応答情報である。再実行要求 (応答) と
は、何等かの原因で命令の実行ができなかった場合にCP
U に再実行を要求する応答情報である。エラー応答と
は、CPU のアクセスが当該デバイスに対するアクセスで
はない場合にその旨を通知する応答情報である。アイド
ル/ウェイト状態とはデバイスがCPU に対しアクセス待
ちの状態若しくは何も動作していない状態又はCPU のア
クセスに対しアクセスサイクルを延ばしている状態であ
る旨を通知する応答情報である。Reservedは、未定義を
意味する。再び図7を参照して説明する。
【0018】デバイスは、クロックS1に出力した応答信
号*ACK0, *ACK1, *ACK2を出力後、図7の(i) におけ
る(t2 )に示すようにクロックS2において応答信号の
出力線をすべて "H" とする (以下この動作を蹴り上げ
動作という) 。これは次のサイクルを瞬時にスタートす
るためである。このデバイスの蹴り上げ動作によりCPU
は応答信号の出力停止を確認し*ASの出力を停止し、ア
クセスサイクルを終了する。クロックS2の次のクロック
の立ち上がり時に、CPU はCLK , ADDRESS,*SEL,RD/WT
及びSIZ0, SIZ1, SIZ2を停止し、デバイスは応答信号の
出力線をハイインピーダンス状態とし、リードデータの
出力を停止する。
号*ACK0, *ACK1, *ACK2を出力後、図7の(i) におけ
る(t2 )に示すようにクロックS2において応答信号の
出力線をすべて "H" とする (以下この動作を蹴り上げ
動作という) 。これは次のサイクルを瞬時にスタートす
るためである。このデバイスの蹴り上げ動作によりCPU
は応答信号の出力停止を確認し*ASの出力を停止し、ア
クセスサイクルを終了する。クロックS2の次のクロック
の立ち上がり時に、CPU はCLK , ADDRESS,*SEL,RD/WT
及びSIZ0, SIZ1, SIZ2を停止し、デバイスは応答信号の
出力線をハイインピーダンス状態とし、リードデータの
出力を停止する。
【0019】なおデバイスは、クロックS1において応答
信号を出力できない場合は、出力するタイミングを遅ら
せることができる。このようにCPU の動作速度が速く、
デバイスの動作速度が遅い場合、CPU のアクセスサイク
ルを長くすることによりデータの転送が可能とすること
をウェイト制御という。
信号を出力できない場合は、出力するタイミングを遅ら
せることができる。このようにCPU の動作速度が速く、
デバイスの動作速度が遅い場合、CPU のアクセスサイク
ルを長くすることによりデータの転送が可能とすること
をウェイト制御という。
【0020】
【発明が解決しようとする課題】以上に述べたようにS
バスに接続されたデバイスは、CPU からアクセスされた
場合、クロックS0において応答情報を作成し、クロック
S1において応答信号を出力し、クロックS2において蹴り
上げ動作を行ない、その次のクロックの立ち上がり時に
応答信号の出力線をハイインピーダンス状態としてい
る。
バスに接続されたデバイスは、CPU からアクセスされた
場合、クロックS0において応答情報を作成し、クロック
S1において応答信号を出力し、クロックS2において蹴り
上げ動作を行ない、その次のクロックの立ち上がり時に
応答信号の出力線をハイインピーダンス状態としてい
る。
【0021】SPARC 等の高速で動作するコンピュータ
は、Sバスを介して接続されているデバイスに対し、こ
のような応答動作を要求している。従って、Sバスに接
続する場合は、そのデバイスはSバスのインターフェイ
スに整合していない場合は、コンピュータと対向して動
作することはできない。また、コンピュータもSバスの
インターフェイスに整合したデバイスでなければいかに
高速のデバイスであってもデバイスとして接続すること
はできず、本来の高速な処理能力を十分に活用できない
という問題点があった。
は、Sバスを介して接続されているデバイスに対し、こ
のような応答動作を要求している。従って、Sバスに接
続する場合は、そのデバイスはSバスのインターフェイ
スに整合していない場合は、コンピュータと対向して動
作することはできない。また、コンピュータもSバスの
インターフェイスに整合したデバイスでなければいかに
高速のデバイスであってもデバイスとして接続すること
はできず、本来の高速な処理能力を十分に活用できない
という問題点があった。
【0022】本発明はこのような問題点を解決するため
になされたものであり、Sバスを制御する機能を有しな
いデバイスとSバスを使用するコンピュータとのインタ
ーフェイスが整合するよう、該デバイスと該コンピュー
タとの間にあってSバスを制御し、該デバイスの応答を
代行することにより、Sバスを制御する機能を有しない
デバイスとSバスを使用するコンピュータとの接続を可
能とし、さらにシステム全体の処理能力を高速とする応
答制御回路を提供することを目的とする。
になされたものであり、Sバスを制御する機能を有しな
いデバイスとSバスを使用するコンピュータとのインタ
ーフェイスが整合するよう、該デバイスと該コンピュー
タとの間にあってSバスを制御し、該デバイスの応答を
代行することにより、Sバスを制御する機能を有しない
デバイスとSバスを使用するコンピュータとの接続を可
能とし、さらにシステム全体の処理能力を高速とする応
答制御回路を提供することを目的とする。
【0023】
【課題を解決するための手段】図1は応答制御回路2及
びその周辺部を示すブロック図であり、本図に基づいて
本発明の原理を説明する。コンピュータ内のCPU 1はア
ドレスバス8,データバス9及び制御線3よりなるSバ
スを介して応答制御回路2に接続され、Sバスはコンピ
ュータの増設スロットに接続される。応答制御回路2
は、第1デバイス5,第2デバイス6及び第3デバイス
7とアドレスバス8,データバス9及び制御線4を介し
て接続されている。
びその周辺部を示すブロック図であり、本図に基づいて
本発明の原理を説明する。コンピュータ内のCPU 1はア
ドレスバス8,データバス9及び制御線3よりなるSバ
スを介して応答制御回路2に接続され、Sバスはコンピ
ュータの増設スロットに接続される。応答制御回路2
は、第1デバイス5,第2デバイス6及び第3デバイス
7とアドレスバス8,データバス9及び制御線4を介し
て接続されている。
【0024】3個のデバイス5,6,7はRAM のような
メモリであって、Sバスの制御機能を有しない。このデ
バイスに対してリード/ライト動作を指定する信号RD/
WTは、CPU 1から制御線3,4及び応答制御回路2を介
して3個のデバイス5,6,7へ与えられる。
メモリであって、Sバスの制御機能を有しない。このデ
バイスに対してリード/ライト動作を指定する信号RD/
WTは、CPU 1から制御線3,4及び応答制御回路2を介
して3個のデバイス5,6,7へ与えられる。
【0025】応答制御回路2は、バス幅設定回路201,遅
延時間設定回路202,応答信号生成回路203,出力制御信号
生成回路204 及び出力回路205 より構成される。信号Wr
iteはバス幅設定回路201 及び遅延時間設定回路202 へ
与えられ、バス幅又は遅延時間を設定するタイミングを
指定する。信号*ASはアドレス信号が有効である期間
"L" となるアドレスストローブ信号であり、信号*SEL
はCPU 1が増設スロットに接続されたデバイスにCPU
1がアクセスしていることを示す信号であり、信号CLK
はシステムクロック信号であり、いずれも遅延時間設定
回路202 及び出力制御信号生成回路204 へ与えられる。
延時間設定回路202,応答信号生成回路203,出力制御信号
生成回路204 及び出力回路205 より構成される。信号Wr
iteはバス幅設定回路201 及び遅延時間設定回路202 へ
与えられ、バス幅又は遅延時間を設定するタイミングを
指定する。信号*ASはアドレス信号が有効である期間
"L" となるアドレスストローブ信号であり、信号*SEL
はCPU 1が増設スロットに接続されたデバイスにCPU
1がアクセスしていることを示す信号であり、信号CLK
はシステムクロック信号であり、いずれも遅延時間設定
回路202 及び出力制御信号生成回路204 へ与えられる。
【0026】信号SIZ0, SIZ1, SIZ2はCPU 1がアクセス
時に使用するデータバス9のバス幅を指定する3ビット
のサイズ信号であり、応答信号生成回路203 へ与えられ
る。以上の7種類の信号をCPU 1が出力し、制御線3を
介して応答制御回路2へ与える。またデバイス5,6,
7に代わって応答制御回路2が出力する応答信号*ACK
0, *ACK1, *ACK2は制御線3を介してCPU 1へ与えら
れる。
時に使用するデータバス9のバス幅を指定する3ビット
のサイズ信号であり、応答信号生成回路203 へ与えられ
る。以上の7種類の信号をCPU 1が出力し、制御線3を
介して応答制御回路2へ与える。またデバイス5,6,
7に代わって応答制御回路2が出力する応答信号*ACK
0, *ACK1, *ACK2は制御線3を介してCPU 1へ与えら
れる。
【0027】バス幅設定回路201 は適正なバス幅の応答
信号を生成するため、予めデバイス5,6,7が使用す
るバス幅を設定しておくものである。そしてCPU 1がア
クセスした場合、設定してあるバス幅情報BW0, BW1を応
答信号生成回路203 及び出力制御信号生成回路204 へ出
力する。遅延時間設定回路202 はデバイス5,6,7に
適合したタイミングで応答信号を出力するため、予めデ
バイス5,6,7に合わせて応答を遅延させる時間をシ
ステムクロックを単位として設定しておくものである。
信号を生成するため、予めデバイス5,6,7が使用す
るバス幅を設定しておくものである。そしてCPU 1がア
クセスした場合、設定してあるバス幅情報BW0, BW1を応
答信号生成回路203 及び出力制御信号生成回路204 へ出
力する。遅延時間設定回路202 はデバイス5,6,7に
適合したタイミングで応答信号を出力するため、予めデ
バイス5,6,7に合わせて応答を遅延させる時間をシ
ステムクロックを単位として設定しておくものである。
【0028】そしてカウンタ55はCPU 1がアクセスした
場合、デバイス5,6,7に適合した遅延時間に相当す
る値をプリセットしてクロックパルスをカウントし、所
定値に達した場合、応答信号を適正なタイミングで出力
させる出力タイミング情報XACKENを出力する。応答制御
回路203 はサイズ信号SIZ0, SIZ1, SIZ2及びバス幅情報
BW0, BW1に基づいた適正なバス幅の応答信号を、出力タ
イミング情報XACKENに基づいた適正なタイミングにおい
て生成する。
場合、デバイス5,6,7に適合した遅延時間に相当す
る値をプリセットしてクロックパルスをカウントし、所
定値に達した場合、応答信号を適正なタイミングで出力
させる出力タイミング情報XACKENを出力する。応答制御
回路203 はサイズ信号SIZ0, SIZ1, SIZ2及びバス幅情報
BW0, BW1に基づいた適正なバス幅の応答信号を、出力タ
イミング情報XACKENに基づいた適正なタイミングにおい
て生成する。
【0029】出力制御信号生成回路204 は信号*AS, *
SEL,システムクロック信号CLK 及びバス幅情報BW0, BW1
に基づいて応答信号*ACK0, *ACK1, *ACK2を出力する
か否かを制御する制御信号XAOEN を生成する。そして出
力回路205 は制御信号XAOENに基づいてバス幅情報が存
在する場合は応答信号*ACK0, *ACK1, *ACK2を出力
し、バス幅情報が存在しない場合は応答信号を出力しな
い。
SEL,システムクロック信号CLK 及びバス幅情報BW0, BW1
に基づいて応答信号*ACK0, *ACK1, *ACK2を出力する
か否かを制御する制御信号XAOEN を生成する。そして出
力回路205 は制御信号XAOENに基づいてバス幅情報が存
在する場合は応答信号*ACK0, *ACK1, *ACK2を出力
し、バス幅情報が存在しない場合は応答信号を出力しな
い。
【0030】
【作用】図2は応答制御回路2の動作を示すタイムチャ
ートである。デバイス5,6,7のバス幅情報が予め16
ビットとして設定され、同じく遅延時間が1クロック遅
延させるものとして設定されている場合において、本図
に基づいて第1デバイス5に対するライト動作について
説明する。
ートである。デバイス5,6,7のバス幅情報が予め16
ビットとして設定され、同じく遅延時間が1クロック遅
延させるものとして設定されている場合において、本図
に基づいて第1デバイス5に対するライト動作について
説明する。
【0031】CPU 1は図2の(a) に示すシステムクロッ
ク信号CLK を応答制御回路2へ与える。その信号CLK の
立ち上がり時に図2の(b) に示すようにアドレス信号を
出力し、図2の(c) に示すようにサイズ信号 (SIZ0=
"0" , SIZ1= "1" , SIZ2="0" )を出力する。その
アドレス信号又はサイズ信号が出力された時点のクロッ
ク期間がクロックS0であり、以後クロックS1, クロック
W1, クロックS2と続く。またCPU 1はクロックS0の立ち
上がり時に、図2の(d) に示すように信号RD/WTをライ
ト動作を行なうべく "L" とし、図2の(f) に示すよう
に信号SEL を "L" とし、図2の(g) に示すように信号
*ASを "L" として出力する。そしてCPU 1はクロック
S0の立ち下がり時に図2の(e) に示すようにライトデー
タをデータバス9を介して第1デバイス5へ出力する。
ク信号CLK を応答制御回路2へ与える。その信号CLK の
立ち上がり時に図2の(b) に示すようにアドレス信号を
出力し、図2の(c) に示すようにサイズ信号 (SIZ0=
"0" , SIZ1= "1" , SIZ2="0" )を出力する。その
アドレス信号又はサイズ信号が出力された時点のクロッ
ク期間がクロックS0であり、以後クロックS1, クロック
W1, クロックS2と続く。またCPU 1はクロックS0の立ち
上がり時に、図2の(d) に示すように信号RD/WTをライ
ト動作を行なうべく "L" とし、図2の(f) に示すよう
に信号SEL を "L" とし、図2の(g) に示すように信号
*ASを "L" として出力する。そしてCPU 1はクロック
S0の立ち下がり時に図2の(e) に示すようにライトデー
タをデータバス9を介して第1デバイス5へ出力する。
【0032】バス幅設定回路201 はアドレス信号が入力
されることにより第1デバイス5に対するアクセスを認
識し、予め設定された16ビットのバス幅情報(BW0=
"0" ,BW1 = "1" ) を出力する。遅延時間設定回路20
2 は信号*SEL,*ASの立ち下がりを検出して図2の(h)
に示すように立ち下がり検出信号 "L" を生成する。ま
た、アドレス信号が入力されることにより第1デバイス
5に対するアクセスを認識し、予め設定された1クロッ
ク遅延させるウェイト情報 (XWT0= "0" , XWT1=
"1" ) を、内蔵された16進カウンタ55に与える。
されることにより第1デバイス5に対するアクセスを認
識し、予め設定された16ビットのバス幅情報(BW0=
"0" ,BW1 = "1" ) を出力する。遅延時間設定回路20
2 は信号*SEL,*ASの立ち下がりを検出して図2の(h)
に示すように立ち下がり検出信号 "L" を生成する。ま
た、アドレス信号が入力されることにより第1デバイス
5に対するアクセスを認識し、予め設定された1クロッ
ク遅延させるウェイト情報 (XWT0= "0" , XWT1=
"1" ) を、内蔵された16進カウンタ55に与える。
【0033】カウンタ55は立ち下がり検出信号 "L" の
立ち上がり時をクロックS1として図2の(i) に示すよう
に初期値 "E" を設定し、次のクロック期間にカウント
値を"F" とする。更に次のクロック期間においてカウ
ント値をリセットして "0"とする。そして遅延時間設
定回路202 はカウンタ55のカウント値が "F" である期
間図2の(j) に示すように出力タイミング情報XACKENを
出力する。
立ち上がり時をクロックS1として図2の(i) に示すよう
に初期値 "E" を設定し、次のクロック期間にカウント
値を"F" とする。更に次のクロック期間においてカウ
ント値をリセットして "0"とする。そして遅延時間設
定回路202 はカウンタ55のカウント値が "F" である期
間図2の(j) に示すように出力タイミング情報XACKENを
出力する。
【0034】応答信号生成回路3はCPU 1からアクセス
された場合、それ迄ハイインピーダンス状態となってい
た応答信号の出力線に図2の(k) における(t1 )の時
点において "H" を出力する。こうしてCPU 1に対し、
デバイスがアイドル状態であることを通知する。そし
て、サイズ信号(SIZ0= "0" , SIZ1= "1" , SIZ2=
"0" )とバス幅情報(BW0 = "0" , BW1 = "1" )
とを比較し、双方がいずれも16ビットで等しいので、図
2の(k) に示すように16ビット応答を表わす3ビットの
信号(*ACK0= "1" , *ACK1= "0" , *ACK2=
"0" ) を、出力タイミング情報XACKENの指示する期間
において、応答信号として生成する。
された場合、それ迄ハイインピーダンス状態となってい
た応答信号の出力線に図2の(k) における(t1 )の時
点において "H" を出力する。こうしてCPU 1に対し、
デバイスがアイドル状態であることを通知する。そし
て、サイズ信号(SIZ0= "0" , SIZ1= "1" , SIZ2=
"0" )とバス幅情報(BW0 = "0" , BW1 = "1" )
とを比較し、双方がいずれも16ビットで等しいので、図
2の(k) に示すように16ビット応答を表わす3ビットの
信号(*ACK0= "1" , *ACK1= "0" , *ACK2=
"0" ) を、出力タイミング情報XACKENの指示する期間
において、応答信号として生成する。
【0035】そして出力タイミング情報XACKENが "L"
である期間、その応答信号を出力回路205 へ入力する。
そしてクロックS2の立ち上がり時において出力タイミン
グ情報XACKENが "H" となるのを受けて、図2の(k) に
おける(t2 )の時点において3ビットの応答信号はす
べて "1" となる。これが蹴り上げ動作である。
である期間、その応答信号を出力回路205 へ入力する。
そしてクロックS2の立ち上がり時において出力タイミン
グ情報XACKENが "H" となるのを受けて、図2の(k) に
おける(t2 )の時点において3ビットの応答信号はす
べて "1" となる。これが蹴り上げ動作である。
【0036】出力制御信号生成回路204 は信号*SEL 又
は信号*AS並びにバス幅情報 (BW0,BW1) が与えられて
いて、さらにバス幅情報 (BW0, BW1) が与えられるクロ
ックS0の次のクロック期間となるクロックS1を応答信号
を通過させる時間帯の始期とする出力制御信号XAOEN
"L" を図2の(l) に示すように生成している。出力回
路205 は出力制御信号XAOEN が "L" である期間、応答
信号を出力するゲートを開放する。
は信号*AS並びにバス幅情報 (BW0,BW1) が与えられて
いて、さらにバス幅情報 (BW0, BW1) が与えられるクロ
ックS0の次のクロック期間となるクロックS1を応答信号
を通過させる時間帯の始期とする出力制御信号XAOEN
"L" を図2の(l) に示すように生成している。出力回
路205 は出力制御信号XAOEN が "L" である期間、応答
信号を出力するゲートを開放する。
【0037】応答信号は出力回路205 が開放しているの
でCPU 1へ入力される。CPU 1は応答信号生成回路3の
蹴り上げ動作により、応答信号の出力停止を確認し、信
号*ASの出力を停止する。出力制御信号生成回路204 は
信号*ASの出力停止を確認し、その確認した時点を応答
信号を通過させる時間帯を終期とすべく出力制御信号XA
OEN を "H" とする。これを受けて、出力回路205 は応
答信号を出力するゲートを閉鎖する。そして、クロック
S2の次のクロックの立ち上がり時に応答信号生成回路20
3 は応答信号の出力線をハイインピーダンス状態とし、
CPU 1はシステムクロック信号CLK 、アドレス信号、サ
イズ信号、信号RD/WT、信号*SEL の出力を停止する。
このように応答制御回路2はCPU 1のアクセスに対し、
応答信号*ACK0, *ACK1, *ACK2を出力することにより
応答する。
でCPU 1へ入力される。CPU 1は応答信号生成回路3の
蹴り上げ動作により、応答信号の出力停止を確認し、信
号*ASの出力を停止する。出力制御信号生成回路204 は
信号*ASの出力停止を確認し、その確認した時点を応答
信号を通過させる時間帯を終期とすべく出力制御信号XA
OEN を "H" とする。これを受けて、出力回路205 は応
答信号を出力するゲートを閉鎖する。そして、クロック
S2の次のクロックの立ち上がり時に応答信号生成回路20
3 は応答信号の出力線をハイインピーダンス状態とし、
CPU 1はシステムクロック信号CLK 、アドレス信号、サ
イズ信号、信号RD/WT、信号*SEL の出力を停止する。
このように応答制御回路2はCPU 1のアクセスに対し、
応答信号*ACK0, *ACK1, *ACK2を出力することにより
応答する。
【0038】
【実施例】以下本発明をデバイスがメモリである場合に
ついてその実施例を示す図面に基づいて説明する。図3
は図1におけるバス幅設定回路201 のブロック図であ
る。アドレスバス8がデコーダ10に接続され、アドレス
信号をデコーダ10に与える。デコーダ10は与えられたア
ドレス信号がデバイス5,6,7のアドレスである場合
は、そのアドレスに対応したAND 回路1i及び2i (iは自
然数でi≦n)へ "H" を入力し、与えられたアドレス
信号がデバイス5,6,7のアドレスではない場合は、
AND 回路11, 12…1n及びAND 回路21, 22…2nへ "L" を
入力する。データバス9の下位2ビットが2ビットのレ
ジスタ20に接続され、設定すべきバス幅の情報をレジス
タ20へ与える。
ついてその実施例を示す図面に基づいて説明する。図3
は図1におけるバス幅設定回路201 のブロック図であ
る。アドレスバス8がデコーダ10に接続され、アドレス
信号をデコーダ10に与える。デコーダ10は与えられたア
ドレス信号がデバイス5,6,7のアドレスである場合
は、そのアドレスに対応したAND 回路1i及び2i (iは自
然数でi≦n)へ "H" を入力し、与えられたアドレス
信号がデバイス5,6,7のアドレスではない場合は、
AND 回路11, 12…1n及びAND 回路21, 22…2nへ "L" を
入力する。データバス9の下位2ビットが2ビットのレ
ジスタ20に接続され、設定すべきバス幅の情報をレジス
タ20へ与える。
【0039】信号Write を伝送する制御線3が同じくレ
ジスタ20に接続されている。レジスタ20は与えられたバ
ス幅の情報を信号Write が与えられた場合に、bit0, bi
t1として格納する。格納されたbit0はAND 回路11, 12…
1nへ入力され、bit1はAND 回路21, 22…2nへ入力され
る。AND 回路11, 12…1nの各出力はn入力OR回路51に入
力され、AND 回路21, 22…2nの各出力はn入力OR回路52
に入力される。そしてn入力OR回路51はバス幅情報BW0
を出力し、n入力OR回路52はバス幅情報BW1 を出力す
る。
ジスタ20に接続されている。レジスタ20は与えられたバ
ス幅の情報を信号Write が与えられた場合に、bit0, bi
t1として格納する。格納されたbit0はAND 回路11, 12…
1nへ入力され、bit1はAND 回路21, 22…2nへ入力され
る。AND 回路11, 12…1nの各出力はn入力OR回路51に入
力され、AND 回路21, 22…2nの各出力はn入力OR回路52
に入力される。そしてn入力OR回路51はバス幅情報BW0
を出力し、n入力OR回路52はバス幅情報BW1 を出力す
る。
【0040】表3は設定されたバス幅のデータbit0, bi
t1の種類、その設定するバス幅及び出力されるバス幅情
報BW0, BW1を対応づけて示す表である。
t1の種類、その設定するバス幅及び出力されるバス幅情
報BW0, BW1を対応づけて示す表である。
【0041】
【表3】
【0042】表において、バス幅のデータが0(bit0,
bit1がいずれも "0" ) の場合は、レジスタ20にバス幅
が設定されていない場合であって、出力されるバス幅情
報BW0, BW1はいずれも "0" であり、CPU 1に対する応
答信号は後述するように出力されない。その他の場合は
レジスタ20にバス幅が設定されている場合であってバス
幅のデータが1,2,3の場合、バス幅は8ビット、16
ビット、32ビットである。バス幅情報として出力される
BW0, BW1の値はバス幅のデータと同じ値である。
bit1がいずれも "0" ) の場合は、レジスタ20にバス幅
が設定されていない場合であって、出力されるバス幅情
報BW0, BW1はいずれも "0" であり、CPU 1に対する応
答信号は後述するように出力されない。その他の場合は
レジスタ20にバス幅が設定されている場合であってバス
幅のデータが1,2,3の場合、バス幅は8ビット、16
ビット、32ビットである。バス幅情報として出力される
BW0, BW1の値はバス幅のデータと同じ値である。
【0043】次にCPU 1が予めバス幅を設定しておく場
合、及びCPU 1がアクセスする場合について、その動作
を説明する。
合、及びCPU 1がアクセスする場合について、その動作
を説明する。
【0044】(予めバス幅を設定しておく場合の動作)
この応答制御回路2が管理するデバイス5,6,7のバ
ス幅を、バス幅設定回路201 に予め設定しておくデータ
は、4種のデータとしてCPU 1からデータバス9を介し
て与えられる。そして同時に設定すべきタイミングを示
す信号Write が制御線3を介して与えられる。レジスタ
20は信号Write が "H" に立ち上がった時点にそのデー
タを取り込んで格納する。格納されたデータがバス幅の
データbit0, bit1である。バス幅のデータbit0, bit1が
格納されたのみの状態においては、アドレスバス8を介
してデコーダ10にアドレス信号が入力されていないの
で、デコーダ10は何も出力せず、AND 回路11, 12…1n及
びAND 回路21, 22…2nは、そのゲートを閉じたままであ
り、両n入力OR回路51,52 には何も入力されず、バス幅
情報BW0, BW1はいずれも "0" である。
この応答制御回路2が管理するデバイス5,6,7のバ
ス幅を、バス幅設定回路201 に予め設定しておくデータ
は、4種のデータとしてCPU 1からデータバス9を介し
て与えられる。そして同時に設定すべきタイミングを示
す信号Write が制御線3を介して与えられる。レジスタ
20は信号Write が "H" に立ち上がった時点にそのデー
タを取り込んで格納する。格納されたデータがバス幅の
データbit0, bit1である。バス幅のデータbit0, bit1が
格納されたのみの状態においては、アドレスバス8を介
してデコーダ10にアドレス信号が入力されていないの
で、デコーダ10は何も出力せず、AND 回路11, 12…1n及
びAND 回路21, 22…2nは、そのゲートを閉じたままであ
り、両n入力OR回路51,52 には何も入力されず、バス幅
情報BW0, BW1はいずれも "0" である。
【0045】(CPU 1がアクセスする場合の動作)この
応答制御回路2が管理するデバイス5,6,7にCPU 1
がアクセスすると、そのデバイス5,6,7に属するア
ドレス信号がアドレスバス8により与えられる。デコー
ダ10は与えられたアドレス信号をアドレスに応じてデコ
ードすることによりそのアクセスを認識し、デコードし
た値が応答制御回路2 の管理するデバイス5,6,7 に属す
るアドレスではない場合、出力はすべて "L" とする。
従ってバス幅情報BW0, BW1はいずれも "0" である。与
えられたアドレス信号が応答制御回路2の管理するデバ
イス5,6,7に属するアドレスである場合は、デコー
ダ10は、そのアドレスに対応しているAND 回路1i及びAN
D 回路2i(i≦nである自然数)へ "H" を出力し、両
AND 回路1i, 2iのゲートを開く。従ってバス幅のデータ
bit0, bit1は両AND 回路1i, 2i及び両n入力OR回路51,5
2 を通過してバス幅情報BW0, BW1として出力される。
応答制御回路2が管理するデバイス5,6,7にCPU 1
がアクセスすると、そのデバイス5,6,7に属するア
ドレス信号がアドレスバス8により与えられる。デコー
ダ10は与えられたアドレス信号をアドレスに応じてデコ
ードすることによりそのアクセスを認識し、デコードし
た値が応答制御回路2 の管理するデバイス5,6,7 に属す
るアドレスではない場合、出力はすべて "L" とする。
従ってバス幅情報BW0, BW1はいずれも "0" である。与
えられたアドレス信号が応答制御回路2の管理するデバ
イス5,6,7に属するアドレスである場合は、デコー
ダ10は、そのアドレスに対応しているAND 回路1i及びAN
D 回路2i(i≦nである自然数)へ "H" を出力し、両
AND 回路1i, 2iのゲートを開く。従ってバス幅のデータ
bit0, bit1は両AND 回路1i, 2i及び両n入力OR回路51,5
2 を通過してバス幅情報BW0, BW1として出力される。
【0046】図4は図1における遅延時間設定回路202
のブロック図である。アドレスバス8がデコーダ30に接
続され、アドレス信号をデコーダ30に与える。デコーダ
30は与えられたアドレス信号がデバイス5,6,7のア
ドレスである場合は、そのアドレスに対応したAND 回路
3i及び4i(iは自然数でi≦n)へ "H" を入力し、与
えられたアドレス信号がデバイス5,6,7のアドレス
ではない場合は、AND回路31, 32…3n及びAND 回路41, 4
2…4nへ "L" を入力する。データバス9の下位2ビッ
トが2ビットのレジスタ40に接続され、設定すべき遅延
時間の情報をレジスタ40へ与える。
のブロック図である。アドレスバス8がデコーダ30に接
続され、アドレス信号をデコーダ30に与える。デコーダ
30は与えられたアドレス信号がデバイス5,6,7のア
ドレスである場合は、そのアドレスに対応したAND 回路
3i及び4i(iは自然数でi≦n)へ "H" を入力し、与
えられたアドレス信号がデバイス5,6,7のアドレス
ではない場合は、AND回路31, 32…3n及びAND 回路41, 4
2…4nへ "L" を入力する。データバス9の下位2ビッ
トが2ビットのレジスタ40に接続され、設定すべき遅延
時間の情報をレジスタ40へ与える。
【0047】信号Write を伝送する制御線3が同じくレ
ジスタ40に接続されている。レジスタ40はCPU 1から与
えられた遅延時間の情報を信号Write が与えられた場合
にウェイトクロック (bit0, bit1) として格納する。ウ
ェイトクロックとは所定の時点よりシステムクロック信
号で何クロックだけ応答を遅らせるかを示すクロック数
である。格納されたbit0の出力線は、AND 回路31, 32…
3nに接続され、bit1の出力線はAND 回路41, 42…4nに接
続されている。
ジスタ40に接続されている。レジスタ40はCPU 1から与
えられた遅延時間の情報を信号Write が与えられた場合
にウェイトクロック (bit0, bit1) として格納する。ウ
ェイトクロックとは所定の時点よりシステムクロック信
号で何クロックだけ応答を遅らせるかを示すクロック数
である。格納されたbit0の出力線は、AND 回路31, 32…
3nに接続され、bit1の出力線はAND 回路41, 42…4nに接
続されている。
【0048】AND 回路31, 32…3nの各出力はn入力NOR
回路53に入力され、AND 回路41, 42…4nの各出力はn入
力NOR 回路54に入力される。n入力NOR 回路53の出力
は、ウェイト情報XWT0としてカウンタ55のDA端子へ与え
られ、n入力NOR 介す54のゆは、ウェイト情報XWT1とし
てカウンタ55のDB端子へ与えられる。
回路53に入力され、AND 回路41, 42…4nの各出力はn入
力NOR 回路54に入力される。n入力NOR 回路53の出力
は、ウェイト情報XWT0としてカウンタ55のDA端子へ与え
られ、n入力NOR 介す54のゆは、ウェイト情報XWT1とし
てカウンタ55のDB端子へ与えられる。
【0049】+5Vの電位がカウンタ55の端子DC及び端
子DDへ与えられている。これは2進数の1が与えられて
いることに相当する。信号*AS, *SEL はOR回路56を介
して立ち下がり検出回路57へ与えられる。立ち下がり検
出回路57は、両信号*AS, *SEL のいずれかの立ち下が
りを検出し、立ち下がり検出信号 "L" を生成してカウ
ンタ55の端子LDへ与える。これを受けて4個の端子DA,D
B,DC,DD に与えられていた電位がカウンタ55へローディ
ングされる。そしてシステムクロック信号CLK がカウン
タ55の端子CKへ与えられる。カウンタ55において、4個
の端子QA,QB,QC,QD が夫々OR回路58を介して端子ENに接
続され、リップルキャリ端子RCがインバータ59を介して
負論理の出力タイミング情報XACKENを出力する。
子DDへ与えられている。これは2進数の1が与えられて
いることに相当する。信号*AS, *SEL はOR回路56を介
して立ち下がり検出回路57へ与えられる。立ち下がり検
出回路57は、両信号*AS, *SEL のいずれかの立ち下が
りを検出し、立ち下がり検出信号 "L" を生成してカウ
ンタ55の端子LDへ与える。これを受けて4個の端子DA,D
B,DC,DD に与えられていた電位がカウンタ55へローディ
ングされる。そしてシステムクロック信号CLK がカウン
タ55の端子CKへ与えられる。カウンタ55において、4個
の端子QA,QB,QC,QD が夫々OR回路58を介して端子ENに接
続され、リップルキャリ端子RCがインバータ59を介して
負論理の出力タイミング情報XACKENを出力する。
【0050】表4はウェイトクロックbit0, bit1の種
類、その遅延時間の内容、ウェイト情報 (XWT0, XWT1)
及びカウンタ55の初期値を対応づけて示す表である。
類、その遅延時間の内容、ウェイト情報 (XWT0, XWT1)
及びカウンタ55の初期値を対応づけて示す表である。
【0051】
【表4】
【0052】ウェイトクロックが1(bit1= "0" , bi
t0= "1" ) の場合は1クロックの期間、応答を遅延さ
せる情報としてウェイトクロックを反転させることによ
りウェイト情報(XWT1= "1" , XWT0= "0" ) が作成
される。カウンタ55は立ち下がり検出信号 "L" が与え
られると、その立ち上がり時において、端子DA,DB,DC,D
D へ予め与えられているウェイト情報及び+5V情報を
ローディングして[1110]を設定する。これが初期
値 "E" である。この初期値 "E" が4端子QA,QB,QC,Q
D よりOR回路58を介して電位 "H" となり、端子ENへ与
えられることにより、カウンタ55はシステムクロック信
号CLK に応じたアップカウントを開始する。
t0= "1" ) の場合は1クロックの期間、応答を遅延さ
せる情報としてウェイトクロックを反転させることによ
りウェイト情報(XWT1= "1" , XWT0= "0" ) が作成
される。カウンタ55は立ち下がり検出信号 "L" が与え
られると、その立ち上がり時において、端子DA,DB,DC,D
D へ予め与えられているウェイト情報及び+5V情報を
ローディングして[1110]を設定する。これが初期
値 "E" である。この初期値 "E" が4端子QA,QB,QC,Q
D よりOR回路58を介して電位 "H" となり、端子ENへ与
えられることにより、カウンタ55はシステムクロック信
号CLK に応じたアップカウントを開始する。
【0053】システムクロックの進行により初期値はア
ップカウントされ "F" となる。端子RCよりリップルキ
ャリ信号が出力され、インバータ59を介して反転し、出
力タイミング情報XACKENが出力される。その次のクロッ
ク期間においてカウンタ値はリセットされて "0" にな
る。この値が4端子QA,QB,QC,QD よりOR回路58を介して
電位 "L" となり端子ENへ与えられることにより、カウ
ンタ55はカウントを停止する。従ってカウンタ値 "0"
は、そのまま保持される。
ップカウントされ "F" となる。端子RCよりリップルキ
ャリ信号が出力され、インバータ59を介して反転し、出
力タイミング情報XACKENが出力される。その次のクロッ
ク期間においてカウンタ値はリセットされて "0" にな
る。この値が4端子QA,QB,QC,QD よりOR回路58を介して
電位 "L" となり端子ENへ与えられることにより、カウ
ンタ55はカウントを停止する。従ってカウンタ値 "0"
は、そのまま保持される。
【0054】図5は図1における応答信号生成回路203
のブロック図である。応答信号生成回路203 はCPU 1か
らアクセスされる迄ハイインピーダンスとなっていた応
答信号の出力線を図示しない回路部分において "H" と
なし、CPU 1に対しデバイスがアイドル状態であること
を通知する。デコーダ71はCPU 1から入力されるサイズ
信号SIZ0, SIZ1, SIZ2をサイズに応じてデコードし、そ
の結果をコンパレータ72及びセレクタ73へ入力する。バ
ス幅情報BW0, BWW1 が同じくコンパレータ72及びセレク
タ73へ入力される。コンパレータ72はデコードされたサ
イズ信号とバス幅情報BW0, BW1とを比較し、デコードさ
れたサイズ信号≧バス幅情報BW0, BW1の場合 "1" を、
デコードされたサイズ信号<バス幅情報BW0, BW1の場合
"0" を、セレクタ73へ入力する。
のブロック図である。応答信号生成回路203 はCPU 1か
らアクセスされる迄ハイインピーダンスとなっていた応
答信号の出力線を図示しない回路部分において "H" と
なし、CPU 1に対しデバイスがアイドル状態であること
を通知する。デコーダ71はCPU 1から入力されるサイズ
信号SIZ0, SIZ1, SIZ2をサイズに応じてデコードし、そ
の結果をコンパレータ72及びセレクタ73へ入力する。バ
ス幅情報BW0, BWW1 が同じくコンパレータ72及びセレク
タ73へ入力される。コンパレータ72はデコードされたサ
イズ信号とバス幅情報BW0, BW1とを比較し、デコードさ
れたサイズ信号≧バス幅情報BW0, BW1の場合 "1" を、
デコードされたサイズ信号<バス幅情報BW0, BW1の場合
"0" を、セレクタ73へ入力する。
【0055】セレクタ73はコンパレータ72から入力され
た信号が "1" の場合は、バス幅情報BW0, BW1を、
"0" の場合はデコードされたサイズ信号を夫々選択信
号とし選択する。そして選択信号をデコーダ75へ与え
る。従ってセレクタ73はCPU 1から与えられたサイズ信
号SIZ0, SIZ1, SIZ2と予め設定されたバス幅情報BW0, B
W1とからバス幅の狭いものを選択する。
た信号が "1" の場合は、バス幅情報BW0, BW1を、
"0" の場合はデコードされたサイズ信号を夫々選択信
号とし選択する。そして選択信号をデコーダ75へ与え
る。従ってセレクタ73はCPU 1から与えられたサイズ信
号SIZ0, SIZ1, SIZ2と予め設定されたバス幅情報BW0, B
W1とからバス幅の狭いものを選択する。
【0056】CPU 1からのアドレスバス8が不当領域監
視部74に接続されている。不当領域監視部74は応答制御
回路2が管理していないアドレス領域に対してCPU 1か
らアクセスされた場合、アクセスエラー信号をデコーダ
75へ与える。デコーダ75は、セレクタ73から入力される
選択信号及び不当領域監視部74から入力されるアクセス
エラー信号により、表2に基づいて管理しているアドレ
ス領域に対するアクセスの場合は選択信号に応じて8ビ
ット応答、16ビット応答又は32ビット応答を表わす3ビ
ットの応答信号*ACK0, *ACK1, *ACK2を生成して出力
ゲート76へ入力し、管理していないアドレス領域に対す
るアクセスの場合はアクセスエラー信号に応じてエラー
応答を表わす3ビットの応答信号*ACK0, *ACK1, *AC
K2を生成して出力ゲート76へ入力する。
視部74に接続されている。不当領域監視部74は応答制御
回路2が管理していないアドレス領域に対してCPU 1か
らアクセスされた場合、アクセスエラー信号をデコーダ
75へ与える。デコーダ75は、セレクタ73から入力される
選択信号及び不当領域監視部74から入力されるアクセス
エラー信号により、表2に基づいて管理しているアドレ
ス領域に対するアクセスの場合は選択信号に応じて8ビ
ット応答、16ビット応答又は32ビット応答を表わす3ビ
ットの応答信号*ACK0, *ACK1, *ACK2を生成して出力
ゲート76へ入力し、管理していないアドレス領域に対す
るアクセスの場合はアクセスエラー信号に応じてエラー
応答を表わす3ビットの応答信号*ACK0, *ACK1, *AC
K2を生成して出力ゲート76へ入力する。
【0057】出力タイミング情報XACKENが出力ゲート76
へ与えられている。出力ゲート76はデコーダ75から入力
される信号をXACKENが "L" である期間ゲートを開いて
通過させ応答信号として出力する。
へ与えられている。出力ゲート76はデコーダ75から入力
される信号をXACKENが "L" である期間ゲートを開いて
通過させ応答信号として出力する。
【0058】図6は図1における出力制御信号生成回路
204 のブロック図である。CPU 1からの信号*AS, *SE
L はNOR 回路61を介して3入力NAND回路64へ入力され
る。バス幅情報BW0 及びBW1 はNOR 回路62を介してD-FF
回路63及びNAND回路64へ入力される。そして、システム
クロック信号CLK はD-FF回路63へ与えられる。D-FF回路
63はAND 回路62からの入力をCLK のタイミングに従って
ラッチしNAND回路64へ入力する。NAND回路64は以上の3
入力のAND をとって反転し、出力制御信号XAOEN "L"
を出力する。従ってXAOEN はクロックS1以降有効とな
る。
204 のブロック図である。CPU 1からの信号*AS, *SE
L はNOR 回路61を介して3入力NAND回路64へ入力され
る。バス幅情報BW0 及びBW1 はNOR 回路62を介してD-FF
回路63及びNAND回路64へ入力される。そして、システム
クロック信号CLK はD-FF回路63へ与えられる。D-FF回路
63はAND 回路62からの入力をCLK のタイミングに従って
ラッチしNAND回路64へ入力する。NAND回路64は以上の3
入力のAND をとって反転し、出力制御信号XAOEN "L"
を出力する。従ってXAOEN はクロックS1以降有効とな
る。
【0059】出力回路205 は出力制御信号XAOEN が
"L" である期間応答信号を出力するゲートを開放す
る。応答信号は出力回路205 が開放しているので、CPU
1へ入力される。CPU 1は応答信号生成回路3の蹴り上
げ動作により、応答信号の出力停止を確認し、信号*AS
の出力を停止する。出力制御信号生成回路204 は信号*
ASの出力停止を確認し、その確認した時点を応答信号を
通過させる時間帯を終期とすべく出力制御信号XAOEN を
"H" とする。これを受けて、出力回路205 は応答信号
を出力するゲートを閉鎖する。そして、クロックS2の次
のクロックの立ち上がり時に応答信号生成回路203 は応
答信号の出力線をハイインピーダンス状態とする。
"L" である期間応答信号を出力するゲートを開放す
る。応答信号は出力回路205 が開放しているので、CPU
1へ入力される。CPU 1は応答信号生成回路3の蹴り上
げ動作により、応答信号の出力停止を確認し、信号*AS
の出力を停止する。出力制御信号生成回路204 は信号*
ASの出力停止を確認し、その確認した時点を応答信号を
通過させる時間帯を終期とすべく出力制御信号XAOEN を
"H" とする。これを受けて、出力回路205 は応答信号
を出力するゲートを閉鎖する。そして、クロックS2の次
のクロックの立ち上がり時に応答信号生成回路203 は応
答信号の出力線をハイインピーダンス状態とする。
【0060】次に図1乃至図6に基づいて応答制御回路
2の動作について説明する。CPU 1は第1デバイス5に
対し16ビットのバス幅でライトアクセスをするものとす
る。従ってCPU 1が出力するサイズ信号はSIZ0= "0"
, SIZ1= "1" , SIZ2= "0" であり、CPU 1が出力
するアドレスは第1デバイス5のアドレスである。そし
てCPU 1はライトデータをS0の立ち下がり時に出力す
る。
2の動作について説明する。CPU 1は第1デバイス5に
対し16ビットのバス幅でライトアクセスをするものとす
る。従ってCPU 1が出力するサイズ信号はSIZ0= "0"
, SIZ1= "1" , SIZ2= "0" であり、CPU 1が出力
するアドレスは第1デバイス5のアドレスである。そし
てCPU 1はライトデータをS0の立ち下がり時に出力す
る。
【0061】また、応答制御回路2は予めCPU 1により
バス幅が16ビットに、ウェイトクロックが1クロックに
設定されているものとする。従ってバス幅設定回路201
のレジスタ20が出力するバス幅データはbit0= "0" 、
bit1= "1" であり、バス幅設定回路201 が出力するバ
ス幅情報は、BW0 = "0" 、BW1 = "1" である。そし
てウェイト設定回路202 のレジスタ40の出力するウェイ
トクロックはbit0= "1" 、bit1= "0" であり、ウェ
イト設定回路202 が出力するウェイト情報はXWT0=
"0" 、XWT1= "1" である。
バス幅が16ビットに、ウェイトクロックが1クロックに
設定されているものとする。従ってバス幅設定回路201
のレジスタ20が出力するバス幅データはbit0= "0" 、
bit1= "1" であり、バス幅設定回路201 が出力するバ
ス幅情報は、BW0 = "0" 、BW1 = "1" である。そし
てウェイト設定回路202 のレジスタ40の出力するウェイ
トクロックはbit0= "1" 、bit1= "0" であり、ウェ
イト設定回路202 が出力するウェイト情報はXWT0=
"0" 、XWT1= "1" である。
【0062】図2は応答制御回路2の動作を示すタイム
チャートである。CPU 1は図2の(a) に示すシステムク
ロック信号CLK を応答制御回路2へ与える。その信号CL
K の立ち上がり時に図2の(b) に示すようにアドレス信
号を出力し、図2の(c) に示すようにサイズ信号 (SIZ0
= "0" , SIZ1= "1" , SIZ2="0" ) を出力する。
その出力された時点のクロック期間がクロックS0であ
り、以後クロックS1、クロックW1、クロックS2と続く。
またCPU 1はクロックS0の立ち上がり時に、図2の(d)
に示すように信号RD/WTを "L" とし、図2の(f) に示
すように信号SEL を "L" とし、図2の(g) に示すよう
に信号*ASを "L" として出力する。そしてCPU 1はク
ロックS0の立ち下がり時に図2の(e) に示すようにライ
トデータをデータバス9を介して第1デバイス5へ出力
する。
チャートである。CPU 1は図2の(a) に示すシステムク
ロック信号CLK を応答制御回路2へ与える。その信号CL
K の立ち上がり時に図2の(b) に示すようにアドレス信
号を出力し、図2の(c) に示すようにサイズ信号 (SIZ0
= "0" , SIZ1= "1" , SIZ2="0" ) を出力する。
その出力された時点のクロック期間がクロックS0であ
り、以後クロックS1、クロックW1、クロックS2と続く。
またCPU 1はクロックS0の立ち上がり時に、図2の(d)
に示すように信号RD/WTを "L" とし、図2の(f) に示
すように信号SEL を "L" とし、図2の(g) に示すよう
に信号*ASを "L" として出力する。そしてCPU 1はク
ロックS0の立ち下がり時に図2の(e) に示すようにライ
トデータをデータバス9を介して第1デバイス5へ出力
する。
【0063】バス幅設定回路201 はアドレス信号が入力
されることにより第1デバイス5に対するアクセスを認
識し、予め設定されたバス幅のデータ(bit0= "0" ,
bit1= "1" ) に応じた16ビットのバス幅情報 (BW0 =
"0" , BW1 = "1" ) を出力する。
されることにより第1デバイス5に対するアクセスを認
識し、予め設定されたバス幅のデータ(bit0= "0" ,
bit1= "1" ) に応じた16ビットのバス幅情報 (BW0 =
"0" , BW1 = "1" ) を出力する。
【0064】遅延時間設定回路202 は信号*SEL,*ASの
立ち下がりを検出して図2の(h) に示すように立ち下が
り検出信号“L”を生成する。また、アドレス信号が入
力されることにより第1デバイス5に対するアクセスを
認識し、予め設定されたウェイトクロック(bit0=
“1”, bit1=“0”) に応じて1クロック遅延させる
ウェイト情報(XWT0=“0”, XWT1=“1”) を、内蔵
されたカウンタ55に与える。
立ち下がりを検出して図2の(h) に示すように立ち下が
り検出信号“L”を生成する。また、アドレス信号が入
力されることにより第1デバイス5に対するアクセスを
認識し、予め設定されたウェイトクロック(bit0=
“1”, bit1=“0”) に応じて1クロック遅延させる
ウェイト情報(XWT0=“0”, XWT1=“1”) を、内蔵
されたカウンタ55に与える。
【0065】カウンタ55は立ち下がり検出信号“L”の
立ち上がり時をクロックS1として認識し、図2の(i) に
示すように初期値“E”を設定し、以後システムクロッ
ク信号に基づいてアップカウントを行い、“F”をカウ
ントした後はカウント値を“0”とする。そして遅延時
間設定回路202 はカウンタ55のカウント値が“F”であ
る期間図2の(j) に示すように出力タイミング情報XACK
ENを出力する。
立ち上がり時をクロックS1として認識し、図2の(i) に
示すように初期値“E”を設定し、以後システムクロッ
ク信号に基づいてアップカウントを行い、“F”をカウ
ントした後はカウント値を“0”とする。そして遅延時
間設定回路202 はカウンタ55のカウント値が“F”であ
る期間図2の(j) に示すように出力タイミング情報XACK
ENを出力する。
【0066】応答信号生成回路203 は、CPU 1からアク
セスされた場合、それ迄ハイインピーダンス状態となっ
ていた応答信号の出力線に図2の(k) における (t1 )
に示すように“H”を出力する。こうしてCPU 1に対
し、デバイスがアイドル状態であることを通知する。そ
して、サイズ信号(SIZ0=“0”, SIZ1=“1”, SIZ2
=“0”) とバス幅情報 (BW0 =“0”, BW1 =
“1”) とを比較し、双方がいずれも16ビットで等しい
ので、図2の(k) に示すように16ビットの応答情報 (*
ACK0=“1”, *ACK1=“0”, *ACK2=“0”) を、
出力タイミング情報XACKENの指示する期間において、応
答信号として生成する。
セスされた場合、それ迄ハイインピーダンス状態となっ
ていた応答信号の出力線に図2の(k) における (t1 )
に示すように“H”を出力する。こうしてCPU 1に対
し、デバイスがアイドル状態であることを通知する。そ
して、サイズ信号(SIZ0=“0”, SIZ1=“1”, SIZ2
=“0”) とバス幅情報 (BW0 =“0”, BW1 =
“1”) とを比較し、双方がいずれも16ビットで等しい
ので、図2の(k) に示すように16ビットの応答情報 (*
ACK0=“1”, *ACK1=“0”, *ACK2=“0”) を、
出力タイミング情報XACKENの指示する期間において、応
答信号として生成する。
【0067】そして出力タイミング情報XACKENで“L”
である期間、その応答信号を出力回路205 へ入力する。
そしてクロックS2の立ち上がり時において図2の(k) に
おける (t2 )に示すように蹴り上げ動作を行なう。CP
U 1はこの蹴り上げ動作により応答信号の出力停止を確
認し、信号*ASの出力を停止する。そして応答信号生成
回路203 はクロックS2の次のクロックの立ち上がり時に
応答信号の出力線をハイインピーダンス状態とする。
である期間、その応答信号を出力回路205 へ入力する。
そしてクロックS2の立ち上がり時において図2の(k) に
おける (t2 )に示すように蹴り上げ動作を行なう。CP
U 1はこの蹴り上げ動作により応答信号の出力停止を確
認し、信号*ASの出力を停止する。そして応答信号生成
回路203 はクロックS2の次のクロックの立ち上がり時に
応答信号の出力線をハイインピーダンス状態とする。
【0068】出力制御信号生成回路204 は信号*SEL 又
は信号*AS並びにバス幅情報 (BW0,BW1) が与えられて
いて、さらにバス幅情報 (BW0, BW1) が与えられるクロ
ックS0の次のクロック期間となるクロックS1を応答信号
を通過させる時間帯の始期とする出力制御信号XAOEN
“L”を図2の(l) に示すように生成している。
は信号*AS並びにバス幅情報 (BW0,BW1) が与えられて
いて、さらにバス幅情報 (BW0, BW1) が与えられるクロ
ックS0の次のクロック期間となるクロックS1を応答信号
を通過させる時間帯の始期とする出力制御信号XAOEN
“L”を図2の(l) に示すように生成している。
【0069】出力回路205 は出力制御信号XAOEN が
“L”である期間、応答信号を出力するゲートを開放す
る。応答信号は出力回路205 が開放しているので、CPU
1へ入力される。CPU 1は応答信号生成回路3の蹴り上
げ動作により、応答信号の出力停止を確認し、信号*AS
の出力を停止する。出力制御信号生成回路204 は信号*
ASの出力停止を確認し、その確認した時点を応答信号を
通過させる時間帯を終期間とすべく出力制御信号XAOEN
を“H”とする。これを受けて出力回路205 は応答信号
を出力するゲートを閉鎖する。
“L”である期間、応答信号を出力するゲートを開放す
る。応答信号は出力回路205 が開放しているので、CPU
1へ入力される。CPU 1は応答信号生成回路3の蹴り上
げ動作により、応答信号の出力停止を確認し、信号*AS
の出力を停止する。出力制御信号生成回路204 は信号*
ASの出力停止を確認し、その確認した時点を応答信号を
通過させる時間帯を終期間とすべく出力制御信号XAOEN
を“H”とする。これを受けて出力回路205 は応答信号
を出力するゲートを閉鎖する。
【0070】そして、クロックS2の次のクロックの立ち
上がり時に応答信号生成回路203 は応答信号の出力線を
ハイインピーダンス状態とし、CPU 1はシステムクロッ
ク信号CLK 、アドレス信号、サイズ信号、信号RD/WT、
信号*SEL の出力を停止する。このように応答制御回路
2はCPU 1のアクセスに対し、応答信号*ACK0,*ACK
1, *ACK2を出力することにより応答する。
上がり時に応答信号生成回路203 は応答信号の出力線を
ハイインピーダンス状態とし、CPU 1はシステムクロッ
ク信号CLK 、アドレス信号、サイズ信号、信号RD/WT、
信号*SEL の出力を停止する。このように応答制御回路
2はCPU 1のアクセスに対し、応答信号*ACK0,*ACK
1, *ACK2を出力することにより応答する。
【0071】
【発明の効果】以上説明した如く高速動作のデバイス
5,6,7とSバスを介したコンピュータ1とを本発明
に係る応答制御回路2により接続してインターフェイス
を整合させることによりSバスを制御する機能を有しな
いデバイス5,6,7とSバスを使用するコンピュータ
1との接続が可能となる。さらにコンピュータ1の高速
処理能力が十分に発揮され、またSバスに接続されるデ
バイス5,6,7がコンピュータ1の処理速度より遅い
メモリである場合、そのデバイス5,6,7に適合した
応答速度で応答制御を行なうことができる優れた効果を
奏する。
5,6,7とSバスを介したコンピュータ1とを本発明
に係る応答制御回路2により接続してインターフェイス
を整合させることによりSバスを制御する機能を有しな
いデバイス5,6,7とSバスを使用するコンピュータ
1との接続が可能となる。さらにコンピュータ1の高速
処理能力が十分に発揮され、またSバスに接続されるデ
バイス5,6,7がコンピュータ1の処理速度より遅い
メモリである場合、そのデバイス5,6,7に適合した
応答速度で応答制御を行なうことができる優れた効果を
奏する。
【図1】本発明に係る応答制御回路2及びその周辺部を
示すブロック図である。
示すブロック図である。
【図2】応答制御回路2の動作を示すタイムチャートで
ある。
ある。
【図3】図1におけるバス幅設定回路201 のブロック図
である。
である。
【図4】図1における遅延時間設定回路202 のブロック
図である。
図である。
【図5】図1における応答信号生成回路203 のブロック
図である。
図である。
【図6】図1における出力制御信号生成回路204 のブロ
ック図である。
ック図である。
【図7】従来のコンピュータのアクセスとそれに対する
デバイスの応答を示すタイムチャートである。
デバイスの応答を示すタイムチャートである。
1 CPU 2 応答制御回路 55 カウンタ 201 バス幅設定回路 202 遅延時間設定回路 203 応答信号生成回路 204 出力制御信号生成回路 205 出力回路
Claims (3)
- 【請求項1】 コンピュータ(1)にバス(3,4,
8,9)を介して接続されたデバイス(5,6,7)が
コンピュータ(1)からの命令に応答するタイミングを
制御し、コンピュータ(1)からの命令に応答する応答
制御回路であって、使用するバス(9)のビット数を設
定しておくバス幅設定回路(201) と、命令に対する応答
を所定の時点から遅延させる遅延時間を設定しておく遅
延時間設定回路(202) と、バス幅設定回路(201) の設定
内容及び遅延時間設定回路(202)の設定内容に応じた応
答信号を生成する応答信号生成回路(203) とを備えたこ
とを特徴とする応答制御回路。 - 【請求項2】 バス幅設定回路(201) の設定の有無に応
じて応答信号を出力するか否かを制御する信号を生成す
る出力制御信号生成回路(204) と、出力制御信号生成回
路(204) が出力する信号に応じて前記応答信号を出力す
る出力回路(205) とを備えた請求項1記載の応答制御回
路。 - 【請求項3】 前記遅延時間設定回路(202) は、前記遅
延時間に相当する値をプリセットし、クロックパルスを
カウントするカウンタ(55)を備え、該カウンタ(55)の値
が所定値に達した場合に前記応答信号を出力すべくなし
てある請求項1又は2記載の応答制御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22926993A JP3460026B2 (ja) | 1993-09-14 | 1993-09-14 | 応答制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22926993A JP3460026B2 (ja) | 1993-09-14 | 1993-09-14 | 応答制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0784945A true JPH0784945A (ja) | 1995-03-31 |
JP3460026B2 JP3460026B2 (ja) | 2003-10-27 |
Family
ID=16889470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22926993A Expired - Fee Related JP3460026B2 (ja) | 1993-09-14 | 1993-09-14 | 応答制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3460026B2 (ja) |
-
1993
- 1993-09-14 JP JP22926993A patent/JP3460026B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3460026B2 (ja) | 2003-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0189638B1 (en) | Bus width adapter | |
US6356987B1 (en) | Microprocessing device having programmable wait states | |
KR900004006B1 (ko) | 마이크로 프로세서 시스템 | |
US5701417A (en) | Method and apparatus for providing initial instructions through a communications interface in a multiple computer system | |
US5109490A (en) | Data transfer using bus address lines | |
US5333294A (en) | Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width | |
US6202119B1 (en) | Method and system for processing pipelined memory commands | |
JPH0877066A (ja) | フラッシュメモリコントローラ | |
JPH07175783A (ja) | ディジタル信号処理プロセッサ | |
US6178488B1 (en) | Method and apparatus for processing pipelined memory commands | |
JP2762138B2 (ja) | メモリコントロールユニット | |
JP3460026B2 (ja) | 応答制御回路 | |
GB2060961A (en) | Data processing system having memory modules with distributed address information | |
US5555559A (en) | Microprocessor capable of ensuring flexible recovery time for I/O device by inserting idle states | |
US4888685A (en) | Data conflict prevention for processor with input/output device | |
US5537664A (en) | Methods and apparatus for generating I/O recovery delays in a computer system | |
JPH11259417A (ja) | バスアクセス方式およびバスアクセス制御装置 | |
US5983300A (en) | Dynamic window mechanism for preventing invalid information propagation from the PCI bus | |
JPS60181851A (ja) | 部分書込み制御方式 | |
JPH06274462A (ja) | 共有メモリの非同期書込み方式 | |
JPH11316735A (ja) | デ―タ伝送装置及びその方法 | |
US7065669B2 (en) | System and method for providing a write strobe signal to a receiving element before both an address and data signal | |
EP0335502A2 (en) | Microcontroller and associated method | |
KR950003883B1 (ko) | 메모리제어논리장치 | |
KR920006082B1 (ko) | I/o포트를 통한 메모리 팩 인터페이스 로직회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030715 |
|
LAPS | Cancellation because of no payment of annual fees |