JPH11238033A - 情報処理装置用バス、バス制御方法及びバス制御装置 - Google Patents

情報処理装置用バス、バス制御方法及びバス制御装置

Info

Publication number
JPH11238033A
JPH11238033A JP10354150A JP35415098A JPH11238033A JP H11238033 A JPH11238033 A JP H11238033A JP 10354150 A JP10354150 A JP 10354150A JP 35415098 A JP35415098 A JP 35415098A JP H11238033 A JPH11238033 A JP H11238033A
Authority
JP
Japan
Prior art keywords
bus
data
transfer
address
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10354150A
Other languages
English (en)
Inventor
Koichi Okazawa
宏一 岡澤
Hiroaki Aotsu
廣明 青津
Hitoshi Kawaguchi
仁 川口
Masami Naohara
正己 直原
Koichi Kimura
光一 木村
Tetsuya Mochida
哲也 持田
Ichiji Kobayashi
一司 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP33271689A external-priority patent/JPH03135647A/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10354150A priority Critical patent/JPH11238033A/ja
Publication of JPH11238033A publication Critical patent/JPH11238033A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】アドレス・データ多重化方式のバスとして、ア
ドレス空間の効率が最も良くかつ制御回路が簡単となる
バスを提供する。 【解決手段】単位アドレスに相当するデータ幅をアドレ
ス・データ多重化線の本数と一致させる構成をとる。す
なわち、アドレス・データ多重化線の本数がn本なら
ば、1アドレスがnビットに相当するように構成する。
また更に、データバスの一部分を、例えば各バイト毎
に、有効または無効とする制御線(データマスク線)を
付加することにより、データバスの幅寄りも小さい単位
のデータの転送ができるように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーソナルコンピ
ュータ、ワークステーション、ワードプロセッサ等の情
報処理装置に用いられるバス、及びバス制御方法、及び
その装置に関する。
【0002】
【従来の技術】従来の情報処理装置用バス、及びそのア
ービトレーションなどのバス制御方式は、アイ・イー・
イー、スタンダード フォー ア シンプル 32ビッ
ト バックプレーン バス:ヌーバス(1988)第2
1頁から第63頁(IEEEStandard for
a Simple 32bit Backplane
Bus:Nubus、ANSI/IEEE Std
1196―1987(1988)pp21―62)に記
載のように、1回に1アドレスに対応するデータのみを
転送するモードと、バースト転送或いはブロック転送と
呼ばれる1回に単数または複数のアドレスに対して連続
的にデータを転送するモードを有し、データ転送時にモ
ードの種別をモード線などを用いてバス上で区別できる
ようになっていた。また、アービトレーションで得た1
回のバス使用権は1回のブロック転送、ワード転送或い
はブロードキャスト転送等に対応しており、任意にアド
レスを変更して複数回のデータ転送を行うためには、ア
ービトレーションによるバス使用権の獲得を複数回行わ
ねばならないようになっていた。
【0003】更にまた、単位アドレスに相当するデータ
幅が、データバス幅よりも小さくなっていた。すなわ
ち、データバス幅が32ビットであるのに対し、単位ア
ドレスは8ビットすなわち1バイト幅に相当しており、
アドレス空間は2の32乗バイト、32ビットを1語と
した場合、2の30乗語となっている。また、データバ
ス幅より小さい単位のデータを転送するためには、アド
レスの下位ビットと、アドレスのデータ線以外のバス制
御線の両方を用いて制御を行う必要があった。
【0004】上記の従来例では、8ビットまたは16ビ
ット単位の転送を行うためには、アドレスの下位2ビッ
トと、他のバス制御線2本を用いて制御するようになっ
ている。
【0005】
【発明が解決しようとする課題】上記従来技術は、2つ
のモードを有するため、バスに接続するデバイスはその
両方に対応しなければならず、制御手順が複雑になる、
或いは制御回路のハードウェアが大きくなる等の問題が
あった。
【0006】更に、上記従来技術は、大量のデータを複
数のアドレスに分配する等の応用が考慮されておらず、
アドレスを変更するたびにアービトレーションによって
バス使用権を獲得し直さなければならないという問題が
あった。
【0007】更に又、上記従来技術は、アドレス空間の
大きさが転送可能な最小のデータ幅によって制限されて
いた。また、データバス幅より小さいデータ幅の転送を
行う場合には、多重化されたアドレス線と、他のバス制
御線の両方を制御しなければならないようになってい
た。このため、データバス幅と同じ幅のデータを転送で
きるバス接続デバイスにとっては、アドレスの下位ビッ
トが冗長になってアドレス空間が不必要に小さく制限さ
れてしまうという問題があった。更に、データバス幅よ
りデータ幅の小さいバス接続デバイスにとっては、デー
タ線に多重化されたアドレス線と他のバス制御線の両方
を制御しなければならないため、制御回路が複雑になる
という問題があった。
【0008】本発明の目的は、情報処理装置におけるデ
ータ転送用バスの制御手順、或いは制御回路を簡略化で
きるバス、バス制御方法、及びその装置を提供すること
にある。
【0009】本発明の他の目的は、1回のバス使用権で
任意にアドレスを変更しつつ複数回のデータ転送を行う
ことにより、大量のデータの分配等の応用を速やかに行
うことが可能なバス制御方法、及びその装置を提供する
ことにある。
【0010】本発明の更なる目的は、1個の接続デバイ
スにより、バスが長時間独占されることのないバスアー
ビトレーション制御方法、及びその装置を提供すること
にある。
【0011】本発明の更なる他の目的は、アドレス・デ
ータ多重化方式のバスとして、アドレス空間の効率が最
も良くかつ制御回路が簡単となるバスを提供することに
ある。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明においては、バス上でのデータ転送をバース
ト転送モードのみとし、全てバースト転送により任意量
のデータを連続的に転送する構成をとる。また、本発明
においては、データ転送の間隔を可変にするために、デ
ータ転送をデータ転送元とデータ転送先のハンドシェイ
クによって行う。更にまた、本発明においては、任意量
のデータのバースト転送に対して転送の終了を示すた
め、バースト転送中に、特定されるデータが該転送の最
後の転送データであることを、バス上で示す構成をと
る。
【0013】本発明においては、バスアービトレーショ
ン制御のため、バスの使用として、バス使用権の終了と
1回のデータ転送の終了とを独立に定義して、バス使用
権を終了させずにデータ転送を終了できるようにし、こ
れにより1回のバス使用権中にアドレスを任意に変更し
つつ複数回のデータ転送(マルチ転送)が行えるように
する。
【0014】また、本発明においては、任意量のデータ
のバースト転送に適したアービトレーションを行うた
め、データ転送中にバス制御部が、当該バースト転送の
動作を妨げることなく、転送中止の命令を発行する手段
を設けることにより、他のデバイスの転送を中止させて
バス使用権を得る特権を持つデバイスを設定できるよう
にし、1個の接続デバイスによりバスが長時間独占され
て他のデバイスの動作が制限されることがないようにす
る。
【0015】更に本発明においては、単位アドレスに相
当するデータ幅をアドレス・データ多重化線の本数と一
致させる構成をとる。すなわち、アドレス・データ多重
化線の本数がn本ならば、1アドレスがnビットに相当
するように構成する。
【0016】また更に、データバスの一部分を、例えば
各バイト毎に、有効または無効とする制御線(データマ
スク線)を付加することにより、データバスの幅寄りも
小さい単位のデータの転送ができるように構成する。
【0017】更にまた、アドレス・データ多重化線の他
に、独立なアドレス線あるいは他のバス制御線と多重化
されたアドレス線を付加することにより、アドレス空間
の拡張ができるように構成する。
【0018】上述した本発明の構成によれば、全てのデ
ータ転送がバースト転送という1つのモードで行われ、
任意量のデータを連続的に転送できるので、バスに接続
するデバイスは1つのモードのみに対応すればよく、デ
ータ転送制御回路のハードウェア量を少なくできる。
【0019】また、上述した本発明の構成において、デ
ータ転送を転送元と転送先とのハンドシェイクによって
行うことにより、バースト転送の転送速度を転送元と転
送先の許容転送速度に合わせて任意に設定でき、またバ
ースト転送中に転送速度を周期的或いは非周期的に任意
に変化させることができる。これにより、バスに接続す
るデバイスの許容する最大転送速度を常に引き出すこと
が可能になる。
【0020】また、上述した本発明の構成において、バ
ースト転送中に最後の転送データを特定する構成を、例
えば専用のバス制御線を設けたり、或いは複数のバス制
御線の特定の状態の設定により実現し、転送するデータ
量に無関係に、転送の終了をバス上で示すことができ
る。これにより、1回にバースト転送するデータ量を任
意とすることが可能となる。
【0021】すなわち、バス使用権の終了の状態と、1
回のデータ転送の終了の状態が独立に定義されているの
で、バス使用権を終了させずにデータ転送のみを終了さ
せ、アドレスを変更(アドレスの再指定)して次のデー
タ転送を行うことができる。したがって、接続デバイス
は、アービトレーションで得た1回のバス使用権中に、
任意にアドレスを変更しながら複数回のデータ転送を行
うことができる。これにより、大量のデータの複数アド
レスへの分配等を効率的に行うことができる。
【0022】また、上述した本発明の構成においては、
優先度の高い接続デバイスからのバス使用権の要求があ
った場合には、バス制御部がデータ転送中のデバイスに
データ転送中止の命令を出してデータ転送を中止させ、
優先度の高い要求を割り込ませる。これにより、1個の
デバイスによりバスが独占されて他のデバイスの動作が
制限されることがなくなり、柔軟で効率の良いアービト
レーション制御を行うことができる。
【0023】すなわち、バースト転送中に、バス制御部
が、該バースト転送の動作を妨げることなく、該バース
ト転送の中止命令を発行する手段を、例えば専用のバス
制御線の位置、或いはアービトレーション用信号線の特
定の状態等の形で設定することにより、バースト転送を
中止させる特権を持つ接続デバイスの設定を可能にでき
る。これにより、大量のデータのバースト転送時には、
特権を持つ接続デバイスを、いったんバースト転送を中
止させて割り込ませる等のアービトレーション制御が可
能となる。さらに、上記の特権を例えば時分割方式で各
接続デバイスに割当てる等の方法により、公平なアービ
トレーション制御を行うことができる。
【0024】更に、上述した本発明の構成においては、
単位アドレスに相当するデータ幅をアドレス・データ多
重化の本数と一致させることにより、該データバスと同
じ幅のデータを転送できるデバイスにとってアドレスの
冗長ビットがなくなり、最も効率良くアドレス空間を与
えることができる。すなわち、アドレス・データ多重化
線がn本のバスの場合、nビットを1語として、2のn
乗語のアドレス空間を与えることができる。
【0025】また、該データバスの一部分を有効または
無効とする制御線(データマスク線)を付加することに
より、該データバスの幅よりも小さい単位のデータ転送
を行うバス接続デバイスにとっては、多重化されたアド
レス線を制御することなく、簡単な制御回路によって転
送するデータの幅を制御することができる。
【0026】また上記の構成に、独立なアドレス線また
は他のバス制御線と多重化されたアドレス線を付加すれ
ば、アドレス空間の拡張を行うことができる。
【0027】
【発明の実施の形態】以下、本発明の実施例を図面を用
いて説明する。以下の説明は本発明に係るバスの基本的
特徴をまず述べ、続いて、その中でバースト転送モード
のみで実現されるデータ転送の原理、及び第一の実施例
を説明し、更に32bit/64bitに適用された第
二の実施例を詳述し、最後にバス制御部の構成について
の位置実施例を説明する。
【0028】本発明に係るバスは、ワークステーション
(以下WSと略す。)のシステムバスに適用し、主に64
bit/32bitWSへの使用を目的として実現された
システムバスであるが、何ら、これからに限定されるも
のではない。なお、32bit仕様は64bit仕様に
対して完全なサブセットになっている。また、本発明の
バスは将来の拡張性(速度エンハンスの方式)を考慮す
ると共に、更に本発明のバスに直接或いは間接に接続す
るデバイスの設計に際し、エンハンス後の使用について
も考慮する。
【0029】本発明に係るバスの特徴は以下の諸点であ
る。
【0030】本発明のバスは2相クロック同期の、例え
ば64bitバスである。
【0031】本発明のバスはバースト転送をデータ転送
の基本とする。
【0032】本発明のバスはアドレス/データ多重化バ
スである。
【0033】本発明のバスは例えば、アドレス空間16
Gバイト(32bit )を有する。各アドレスは16ギ
ガバイト中の1語を示す。
【0034】本発明のバスは例えば、64bit/32
bit転送をサポートする。又、例えば、バイド単位の
データマスク機能を有する。
【0035】本発明のバスに対応する32bit拡張ボ
ード用スロットは例えば96pinコネクタ1個であ
る。
【0036】以下の説明においては次のとおり用語を規
定する。
【0037】a)ロングワード(LW);32bitの
ワードを意味する。
【0038】b)ベリーロングワード(VLW);64
bitのワードを意味する。
【0039】c)ドライブ;信号線に1または0を出力
することを意味する。
【0040】d)リリース;信号線への出力をやめHi
−Zにすることを意味する。
【0041】e)発行;信号線への出力をアクティブに
することを意味する。
【0042】f)マスタ;バス使用権を有する接続デバ
イスを指す。
【0043】g)スレーブ;マスタにアドレスで指定さ
れた接続デバイスを指す。
【0044】h)システムバスコントローラ(SBUS
C);本バスの制御を行うバス制御部(コントロールユ
ニット)を指す。
【0045】i)Hi−Z;ハイインピーダンス状態を
表す。
【0046】本発明のシステムバスの基本的な使用法
は、高速バースト転送を目的に、各接続デバイス部のロ
ーカルメモリ量の増大に対応できる、“ストア・アンド
・バースト”を基本とする。
【0047】以下においては、本発明におけるバスのバ
ースト転送についての動作概要、及び第1の実施例につ
いて図1〜図3を用いて説明する。これらの図面によ
り、本発明の要旨が明らかとなると共に、本発明の第1
の実施例が説明される。なお、図4は本実施例、及び第
2の実施例共通に用いられる図であり、タイミングチャ
ートにおける表示の説明を構成する。内容は図から明ら
かであるので、説明は省略する。
【0048】本実施例は、bit仕様については限定さ
れておらず、2相クロック同期のアドレス・データ多重
化バスの実施例である。本実施例のバスによるデータ転
送のタイミングチャート例を図1に、該バスを用いた情
報処理装置の構成例を図2に、該バスにおけるアービト
レーションのタイミングチャート例を図3に示す。
【0049】図1において、CDRCJK−N,CLT
CLK−Nは2相のバスクロック信号であり、図1では
(1)より(9)までの9サイクルを例示している。C
AD(・,:)−Pはアドレス・データ多重化線であ
る。CWRITW−N,CADR−N,CMSTEN−
N,CSLVEN−N,CBUSLK−Nの5本は、そ
れぞれバス制御線の一部を構成する信号線であり、後の
実施例において転送制御線として説明される。CWRI
TE−Nはリード転送とライト転送の切替制御線であ
る。アドレスを指定するマスタから、このアドレスで指
定されたスレーブに対してデータ転送を行うライト転送
時に“LOW:0”とし、スレーブからマスタに対して
データを転送するリード転送時には“HIGH:1”に
する。CADR−Nはアドレス・データ多重線の切替制
御線でアドレス・データ多重線にアドレスが出力される
場合には“0”、データが出力される場合には“1”に
する。CMSTEN−Nはマスタ側のハンドシェイクに
用いられるデータ転送イネーブル信号で、マスタ側がデ
ータ入出力可能な時とアドレス出力時は“0”、マスタ
側のデータ入出力ウエイト時には“1”にある。CSL
VEN−Nはスレーブ側のハンドシェイクに用いられる
データ転送イネーブル信号で、スレーブ側がデータ入出
力可能な時は“0”、スレーブ側のデータ入出力ウエイ
ト時には“1”にする。CBUSLK−Nはバス使用中
を示すバス使用権保持信号で、バースト転送中の最後の
転送データの出力時には“1”、バス使用中の他の時に
は“0”にする。なお、他の種類のバス制御線について
は、後の実施例で説明されるが、本発明に直接関連する
ものは以上の5本である。
【0050】図1では、6語のデータがバースト転送さ
れている例を示す。以下、その動作について説明する。
まず、バス使用権を得たマスタが、サイクル(1)でス
レーブを指定するためにアドレス11をCAD
(・,:)−Pに出力している。この時、CADR−
N,CMSTEN−N,CBUSLK−Nは“0”が出
力され、またマスタはCWRITE−Nを“0”にして
ライト転送であることを示している。マスタは、サイク
ル(2)で最初の転送データ111をCAD(・,:)
−Pに出力し、同時にCMSTEN−Nを“0”にして
データ入出力可能を示しているが、アドレス11で指示
されたスレーブは、サイクル(2)ではCSLVEN−
Nを“1”にしてウエイトを行い、サイクル(3)でC
SLVEN−Nを“0”にしてデータを入出力可能を示
している。本実施例のバスでは、CMSTEN−NとC
SLVEN−Nが両方“0”になった時、データが転送
されるものとする。従って、サイクル(3)でデータ1
11が、マスタからスレーブに転送される。
【0051】サイクル(4),(5),(6)ではサイ
クル(3)と同様に、データ112,113,114が
それぞれ転送されている。サイクル(7)では、マスタ
側がCMSTEN−Nを“1”にしてウエイトを行い、
サイクル(8)でデータ115が転送されている。サイ
クル(9)では、データ116の転送と同時に、CBU
SLK−Nが“1”となっており、データ116が最終
の転送データであることを示している。従って、このバ
ースト転送はサイクル(9)で終了することがわかる。
すなわち、本実施例では、転送中の最後の転送データを
特定する構成として、専用のバス制御線CBUSLK−
Nを用いる。
【0052】図1では、アドレス11に対して111か
ら116までの6語のデータがバースト転送されている
が、その際データの各語は、バスの制御線CMSTEN
−NとCSLVEN−Nによるハンドシェイクによって
転送されており、これによりサイクル(2)またはサイ
クル(7)に見られるようなウエイトを周期的または非
周期的に行うことにより、マスタ側あるいはスレーブ側
の状況に応じて転送速度を周期的または非周期的に変化
させることができる。またサイクル(9)に見られるよ
うに、CBUSLK−Nにより最後の転送データをバス
上で示すことができるため、バースト転送するデータの
量を任意とすることができる。これにより、本実施例の
バス制御方式によれば、1語のみのデータ転送も可能と
なるので、すべてのデータ転送をバースト転送で行うこ
とができる。
【0053】図2は、本実施例のバスを用いた情報処理
装置のシステム構成ブロック図の一実施例である。図2
において、SBUSCはバス制御部(システムバスコン
トローラ)、202は単数または複数のバス接続デバイ
スである。バス接続デバイス202−1〜kとしては、
例えばCPUインタフェース、I/Oインタフェース、
メモリ制御回路、グラフィックプロセッサなどの専用プ
ロセッサ等の情報処理装置の構成にあたってシステムバ
スに接続されうるデバイスが挙げられる。CDRCLK
−N,CLTCLK−N,CAD(・,:)−P,CW
RITE−N,CADR−N,CMSTEN−N,CS
LVEN−N,CBUSLK−Nは、図1で示した信号
が伝送される信号線及び制御線であり、l本のCBRE
Q(*)−N及びm本のCBACK(*)−Nは図3で
後述するアービトレーション用制御線である。便宜上、
本明細書においては、信号そのものと対応する信号線及
び制御線とは同一の略称を用いる。図2では、各接続デ
バイス202−1〜202−kはそれぞれ、単数または
複数のCBREQ(*)−N及びCBACK(*)−N
をバス制御部SBUSCに接続する。いわゆる集中制御
方式を採っているものとして、l=l1+l2+……+
lk,m=m1+m2+……+mk となっている。本
発明に係るバスを用いるシステムではこの他に、全接続
デバイスがアービトレーション用制御線を共有して、バ
ス制御部の機能を各デバイスに分散して持たせる、いわ
ゆる分散制御方式を採ることもできる。
【0054】次に本実施例におけるアービトレーション
制御を接続デバイス202.1,202.2間のアービ
トレーションを例にとり、図3のタイミングチャートに
より説明する。
【0055】図3において、CBREQ(1)−N及び
CBREQ(2)−Nにはそれぞれ、接続デバイス20
2−1及び接続デバイス202−2とバス制御部SBU
SCの間で接続されるマスタリクエスト線で、各接続デ
バイス202が、バスの使用権を要求する時に“0”に
し、バス使用権を得た時に“1”にする。CBACK
(1)−N及びCBACK(2)−Nはそれぞれ、接続
デバイス202−1及び接続デバイス202−2とバス
制御部SBUSCの間で接続されるマスタアクノリッジ
線で、バス制御部SBUSCが各接続デバイス202に
対し、次にバス使用権を与えようとする場合とバースト
転送の中止を要求する場合に“0”にし、バス使用権を
与えた場合とバースト転送の中止が実行された場合に
“1”にする。これは、通常のマスタアクノリッジ線
に、バースト転送の中止命令機能を合わせ持たせたもの
である。
【0056】図3では、CBACK(*)−n,CMS
TEN−N,CSLVEN−Nが全て“0”且つCBU
SLK−Nが“1”となることにより、バス使用権が与
えられるものとしている。また、接続デバイス202−
2は、接続デバイス202−1に対して、バースト転送
を中止させてバス使用権を得る特権を持っているものと
している。以下、図3の動作について説明する。
【0057】サイクル(1)で、接続デバイス202−
1はCBREQ(1)−Nを“0”にしてバス使用権を
要求している。バス制御部SBUSCはアービトレーシ
ョンを行い、その結果接続デバイス202−1に対して
バス使用権を与えるために、サイクル(2)でCBAC
K(1)−Nを“0”にしている。同時にサイクル
(2)ではCMSTEN−NとCSLVEN−Nが
“0”且つCBUSLK−Nが“1”になったため、バ
ス使用権が接続デバイス202−1に与えられている。
バス使用権を得た接続デバイス202−1は、図1と同
様にして、サイクル(3)からデータ転送を開始してい
る。ここでは、サイクル(3)で指定されたアドレス3
1に対するリード転送が行われており、3語のデータ3
11、312、313がそれぞれサイクル(5)、
(6)、(7)にスレーブからマスタへ転送されてい
る。
【0058】バースト転送中のサイクル(5)に接続デ
バイス202−2がCBREQ(2)−Nを“0”にし
て、バス使用権を要求している。バス制御部SBUSC
はアービトレーションを行い、上述のように接続デバイ
ス202−2がが接続デバイス202−1に対し特権を
持つので接続デバイス202−2に対してバス使用権を
与えるために、サイクル(6)でCBACK(2)−N
を“0”にする。同時に、バス制御部SBUSCは、接
続デバイス202−2が接続デバイス202−1に対し
て上記の特権を持っていることから、サイクル(6)で
CBACK(1)−Nを“0”にして、バースト転送の
中止命令を発行している。接続デバイス202−1は、
バースト転送中止命令を受けて、サイクル(7)でCB
USLK−Nを“1”にして、データ313を最終の転
送データとしている。
【0059】これにより、接続デバイス202−1によ
るバースト転送はサイクル(7)で中止される。同時
に、サイクル(7)ではCMSTEN−NとCSLVE
N−Nが“0”且つCBUSLK−Nが“1”になって
いるので、接続デバイス202−2にバス使用権が与え
られている。したがって、接続デバイス202−2はサ
イクル(8)でアドレス32を出力し、データ転送を開
始している。データ転送を中止させられた接続デバイス
202−1は、データ転送を再開すべく、サイクル
(8)でCBREQ(1)−Nを“0”にして、再びバ
ス使用権を要求している。以上のように、図3ではデー
タ転送を動作には全く影響を与えることなくバースト転
送が実行されており、これにより大量のデータ転送中に
緊急の転送を割り込ませる等、柔軟なアービトレーショ
ン制御が可能となる。以上が本発明のバースト転送の原
理であり、かつ上述した説明は本発明の第一の実施例を
兼ねる。
【0060】次に、本発明の第二の実施例を図5〜図4
3を用いて詳述する。まず、本実施例におけるバス基本
仕様について示す。
【0061】1)本実施例のバスは、アドレス・データ
多重、データ幅32bit/64bitで、96pin
コネクタ1個/2個による拡張スロットを有するバスと
する。
【0062】2)本実施例のバスは1サイクル100n
s・2相のクロックによる同期型バスとし、64bit
時最大転送速度80MB/秒のバースト転送を可能とす
る。更に、バースト転送を基本サイクルとする本実施例
のバスは、非バースト転送を1語(32bit又は64
bit)のみのバースト転送賭して扱うことにより、バ
ースト転送と非バースト転送との区別をなくし、32b
it/64bitの両方のバースト転送をサポートす
る。
【0063】3)本実施例のバスの共通信号戦は24m
A以上でドライブされる。
【0064】4)本実施例のバスのアービトレーション
制御及び割込み制御は、バスコントローラ(SBUS
C)による集中制御とする。
【0065】5)本実施例のバスでは32bit/64
bit転送のみをサポートする。但し、バイト単位に設
けられたデータマスク線を用いることにより、バイト単
位のミスアライン転送を行うことができる。また、本バ
スはデータ幅64bitの仕様を有するが、64bit
デバイスから見た場合、32bit転送はスワップを伴
う。すなわち、32bit仕様は64bit仕様の完全
なサブセットとなるため、64bitデバイスから見た
場合、32bit転送はスワップを伴う。
【0066】6)本実施例のバスではエンハンス仕様と
して、クロックサイクルを80nsまでの高速化を考慮
する。
【0067】次に、本発明に係るバスの第二の実施例の
詳細を説明する。本実施例のバスは32bit/64b
itをサポートする。まず、本実施例のバスの各信号線
を順に説明する形で、詳細仕様を述べる。なお、実施例
中のタイミングチャートにおける表示は、先にも述べた
ように図4に示す通りである。また、本実施例のバスを
用いた情報処理装置の構成は基本的に図2の構成と同様
になる。また、本実施例において、SBUSCと各接続
デバイスとの間に接続される信号線として、図2に示し
たもの以外に、リセット線、割込み制御線、及びその他
のバス制御線が存在し、本実施例中で説明されるが、接
続関係は、図2の各のバス制御線と同様な接続構成とな
る。
【0068】〔クロック線〕図5に本実施例のバスのク
ロック線を、図6にそのクロックタイミングを示す。本
実施例のバスは1サイクル100nsの同期バスであ
り、第一の実施例同様2相同期クロック;CDRCLK
−N及びCLTCLK−Nを有する。
【0069】本クロックは、図6に示したようにCDR
CLK−Nの立上りドライブエッジ、CLTCLK−N
の立下りをラッチエッジ、CLTCLK−Nの立上りを
リリースタイミングと定義し、バスサイクルはリリース
タイミングによって定義する。
【0070】〔同期共通線〕次に、本クロック信号に対
する同期共通信号のタイミングを図7に示す。ここで言
う同期共通信号とは、後述する図10で示すアドレス・
データ線(図1のCAD(・,:)−P他)、図13で
示すデータマスク線、図15で示すパリティデータ線及
びパリティイネーブル線、図17で示す転送制御線(図
1の実施例のバス制御線5本に相当)、図26で示すバ
スエラー線、図28で示すアービトレーション制御線の
全信号を指す。
【0071】図7に示したように、本実施例においては
これら全ての同期共通信号は、ドライブエッジでドライ
ブされ、リリースタイミングでリリースされる。ドライ
ブ時の許容ディレイCは、最小0ns、最大40nsで
ある。リリース時の許容ディレイDは、最小0ns、最
大25nsである。したがって、同期共通信号は、出力
されているサイクルでは、ラッチエッジに対して10n
s前から25ns後まで確認していることになる。
【0072】同期共通信号に同じ値を複数サイクル連続
して出力する場合には、1サイクル毎にドライブ・リリ
ースしても良いし、複数サイクル出力し続けても良い。
なお、本実施例におけるタイミングに関する数字は一例
に過ぎず、エンハンス仕様ではタイミングに関する全て
の数字が0.8倍される。
【0073】〔リセット線〕図8に本実施例のリセット
線を、図9にそのリセットタイミングを示す。本実施例
のバスは2種のリセット線;CPOR−N、CMSTR
ST−Nを有し、タイミングは図9に示した通りの非同
期信号である。なお、本実施例のバスにおいて、非同期
信号はリセット信号及び割込み信号のみである。本リセ
ット信号の発行により、本バス上のクロックを除く全信
号がリリースされる。
【0074】〔アドレス・データ線〕図10に本実施例
のアドレス・データ線を、図11にそのタイミングチャ
ートを示す。本実施例のバスは図10に示したように第
一の実施例同様32bitのアドレス・デー多重線;C
AD(・,:)−Pを有し、また64bit転送用に3
2bitの拡張データ線;CED(・,:)−Pを有す
る。ここで、括弧中の・は0〜3、:は0〜7で、各々
バイト0〜3とビット0〜7に対応する。タイミングは
図11に示した通りであるが、アドレス出力時はCED
(・,:)−Pは無効である。また、本バスではアドレ
スを複数サイクル連続して出力することはなく、図12
にみるように本バスの信号名称は常に数字0が最上位側
になるように設定されている。 CAD(・,:)−P
及びCED(・,:)−Pの信号名とbit位置の対応
は図12に示す通りである。
【0075】本実施例のバスのアドレスはLWアドレス
(32bit/1アドレス)であり、2の0乗ビット
(第0ビット)はLW(32bit)単位である。した
がって、本バス上のアドレス空間は、16Gバイト(4
Gロングワード)の広さを有する。64bit転送の場
合、アドレス最下位(2の0乗ビットすなわち第0ビッ
ト)は、常にCAD(・,:)−P側(CAD)が
“0”、CED(・,:)−Pが“1になる。64bi
t転送の場合、アドレス最下位(2の0乗ビットすなわ
ち第0ビット:CAD(3,7)−P)には常に0が出
力されるものとする。
【0076】本実施例のバスでは、32bit/64b
it転送のみをサポートする。但し、バイト単位のミス
アライン転送をサポートするため、バイト0〜3(図1
2)の各バイトに対応するデータマスク線を有する。ま
た、オプションとしてバイト0〜3の各バイトに対する
バイト単位のパリティデータ線を有する。これらについ
ては、後述する図13、図15を参照されたい。
【0077】本実施例のバスのデータ転送は、全てバー
スト転送であるので、データが1回転される度に、アド
レスは1LW(32bit転送時)または2LW(64
bit転送時)ずつ自動的に増加する(アドレスの増加
はアドレス変更ではない。)。また、本実施例のバスで
は32bitデバイス/64bitデバイスを自由に混
在させて接続する。したがって、原則として、64bi
tの接続デバイスは32bit転送をサポートする32
bit転送時にはCED(・,:)−Pは無効となり、
64bitの接続デバイスから見るとスワップを伴うこ
とになる。
【0078】〔バス制御線〕ひきつづき、本実施例にお
けるバス制御線のうちの同期共通信号線であるデータマ
スク線、パリティデータ線、パリティイネーブル線、転
送制御線及びこれらのバス制御線によるデータ転送の動
作について、図13〜図27を用いて説明する。
【0079】〔データマスク線〕図13にデータマスク
線を、図14にそのタイミングチャートを示す。本バス
はミスアライン転送をサポートするため、図13に示し
たように32/64bitデータをの各バイト0〜3に
対するデータマスク線;CMSk(・)−N、CEMS
K(・)−N(・:0〜3がそれぞれバイト0〜3に対
応する。)を有する。タイミングは図14に示した通り
である。バス使用権を有するマスタ、データ転送の送受
が実行される可能性がある全てのサイクルにおいて、デ
ータの各バイトについて有効;“1”あるいは無効
“0”のいずれかを出力しなければならない。CEMS
K(・)−Nは32bit転送時には無効になる。
【0080】データ無効〔CMSK(・)−N=“0”
及びCEMSK(・)−N=“0”〕の各バイトについ
ては、パリティ有効の場合でも、SBUSCはパリティ
チェックを行わない。
【0081】本信号により、8bit、16bit、2
4bitのバイト(8bit)またはワード(16bi
t)単位のデータ転送を行うことができる。但し、この
場合はデータのスワップを伴わないので、データの位置
合わせは接続デバイスが各々行わなければならない。ま
た、本実施例のバスのアドレスはLWアドレス(32b
it/1アドレス)であり、バイト(8bit)及びワ
ード(16bit)のアドレスはバス上に出力されな
い。
【0082】〔パリティ線及びパリティイネーブル線〕
図15にパリティデータ線及びパリティイネーブル線
を、図16にそのタイミングチャートを示す。本バス
は、アドレス・データ線及び拡張データ線の各バイトに
対する奇数パリティデータ線;COP(・)−P、CE
OP(・)−P及びパリティイネーブル信号線;CPC
EN−Nを有する。タイミングは図16に示した通りで
ある。本実施例のバスにおいてパリティはオプションで
ある。接続デバイス中、パリティをサポートする接続デ
バイスは、CAD(・,:)−P、CED(・,:)−
Pと共にCOP(・)−P、CEOP(・)−Pを確定
させ、CPCEN−Nに“0”を出力する。パリティを
サポートしない接続デバイスは、CAP(・,:)−
P、CEP(・,:)−P出力時にCPCEN−Pに
“1”を出力する。パリティをサポートしない接続デバ
イスもCPCEN−Pに“1”は出力する。
【0083】本実施例のバスにおいては、SBUSCの
みがパリティチェックを行う。SBUSCはデータ送受
の実行及びアドレス出力時に、パリティが有効であれば
チェックを行う。エラーであれば直後のサイクルでバス
エラーを発行する。これらの詳細については、図28と
図29を用いて後述する。データ無効〔CMSK(・)
−N=“0”及びCEMSK(・)−N=“0”〕のバ
イト似付いては、パリティ有効の場合でも、SBUSC
はパリティチェックを行わない。
【0084】〔転送制御線〕引き続き、本実施例におけ
るデータ転送制御について図17〜図27を用いて詳述
する。
【0085】図17に本実施例における転送制御線を、
図18にそのタイミングチャートを示す。本バスは6本
の転送制御線;CADR−N、CWRITE−N、CB
USLK−N、CMSTEN−N、CSLVEN−N、
CVLWEN−Nを有する。CVLWEN−Nは本実施
例がデータ幅32bit/64bit構成のため必要と
なる制御線である。タイミングは図18に示した通りで
ある。以下、各信号の意味と役割、データ転送の定義、
転送の手順とタイミングチャートについて先の実施例と
重複する部分も含めて説明する。
【0086】本実施例のバスにおけるマスタは、CAD
R−N、CWRITE−N、CBUSLK−N、CMS
TEN−N、CVLWEN−Nによりデータ転送制御を
行う。一方、マスタによりアドレスで指定されたスレー
ブはCSLVEN−N、CVLWEN−Nによりデータ
転送制御を行う。
【0087】a)CADR−N…アドレス・データ切替
え信号であり、アドレス時“0”、データ時“1”を出
力する。この信号は後述のアドレス変更及びマスタエラ
ーにも用いられる。
【0088】b)CWRITE−N…リード転送とライ
ト転送の切替え信号で、リード転送時“1”、ライト転
送時“0”を出力する。
【0089】c)CBUSLK−N…バス使用権保持信
号である。本バスでは一回のバス使用権で複数回の異な
るアドレスへのデータ転送を連続して行うため、マスタ
は本信号によりバス使用権を保持し続ける意志を示す。
マスタはバス使用権の獲得直後から、最終送受の直前ま
で本信号に“0”を出力し、最終送受及びマスタエラー
時のみ“1”を出力する。
【0090】d)CMSTEN−N及びCSLVEN−
N…それぞれマスタ及びスレーブのデータ転送イネーブ
ル信号である。マスタ及びスレーブは、各々送受が可能
な時に本信号を“0”を出力し、ウエイトをかける時に
“1”を出力する。両方の信号が“0”の時のみ、必ず
データが送受されるものとする。また、CMSTEN−
Nは、後述のマスタエラー及びアドレス変更にも使用さ
れる。
【0091】e)CVLWEN−N…64bit転送の
イネーブル信号である。このイネーブル信号としてマス
タはアドレス出力時に、64bit転送を要求する場合
は“0”を出力し、32bit転送を要求する場合は
“1”を出力する。スレーブはアドレス出力直後から転
送終了まで、64bit転送を許可する場合には“0”
を出力し、許可しない場合及び32bit転送を要求さ
れた場合には“1”を出力する。
【0092】本実施例のばうの1回のデータ転送は、ア
ドレス出力サイクルから転送終了サイクルまでと定義す
る。アドレス出力サイクルは、バス使用権を有するマス
タがアドレスを出力するサイクルで、〔CADR−N=
“0”且つCBUSLKEN−N且つCMSTEN−N
=“0”〕と定義する。本実施例のバスに接続する全デ
バイスは、このサイクルでアドレスをラッチ・デコード
し、このサイクルでスレーブを指定する。一方、転送終
了サイクルは、1回のデータ転送が終了するサイクルで
あり、以下の4種がある。
【0093】(1)最終送受実行 〔CADR−N=“1”且つCBUSLK−N=“1”
且つCMSTEN−N=“0”且つCSLVEN−N=
“0”〕 (2)アドレス変更(後述するマルチ転送) 〔CADR−N=“0”且つCBUSLK−N=“0”
且つCMSTEN−N=“1”〕 (3)マスタエラー 〔CADR−N=“0”且つCBUSLK−N=“1”
且つCMSTEN−N=“1”〕 (4)バスエラー 〔CBERR−N=“0”〕スレーブはこれらの何れか
が発行された場合、直ちにバスをリリースし、次のアド
レス出力に備える。
【0094】本実施例のバスでは、マスタがバス使用権
を保持したまま、複数回のデータ転送をアドレスを変更
しながら連続して行うことができる。これをマルチ転送
と呼ぶ。また、データ転送中の各ワードデータの入出力
を送受と呼ぶ。1回の転送は、アドレス出力で始まり、
任意回数の送受が行われた後、上述した4種の転送終了
サイクルのいずれかにより終了する。本実施例のバスで
は転送は全てバースト転送であり、1LWの送受が実行
されると、自動的にアドレスを増加(増加はアドレス変
更ではない)して次の送受に移ることが基本になる。転
送終了サイクルは、次の送受をキャンセルするサイクル
だと言える。以下、4種の転送終了サイクルの動作につ
いて説明する。
【0095】(1)最終送受実行:マスタは、1回のバ
ス使用権中の最後の送受を示すため、CBUSLK−N
に“1”を出力する。これを最終送受と呼ぶ。最終送受
を実行〔CMSTEN−N=“0”且つCSLVEN−
N=“0”〕すると、転送終了と同時にバス使用権も終
了し、マスタ・スレーブ共にバスをリリースする。
【0096】(2)アドレス変更:マスタのマルチ転送
は、一度転送を終了して次の転送を開始(アドレス出
力)する。バス使用権を保持〔 CBUSLK−N=
“0”〕したまま転送を終了するサイクルがアドレス変
更であり、〔CADR−N=“0”且つCMSTEN−
N=“1”〕で示す。このサイクルの発行により、スレ
ーブはバスをリリースし、次のアドレス出力に備える。
【0097】(3)マスタエラー:マスタが自身の都合
で転送及びバス使用権を終了させるもので、〔CADR
−N=“0”且つCBUSLK−N=“1”且つCMS
TEN−N=“1”〕の出力による。このサイクルの発
行により、マスタ・スレーブ共にバスをリリースする。
【0098】(4)バスエラー:SBUSCがCBER
R−Nに“0”を出力するバスエラーで、マスタ・スレ
ーブ共に無条件でバスをリリースする。
【0099】以下では本実施例のバスのデータ転送手順
と動作タイミングの詳細について、図19〜図27を用
いて説明する。データの転送手順は図19に示す通り、
マスタエラーまたはバスエラーが発生しない限りは、1
回の転送はアドレス出力191で始まり、任意回数の送
受の後(非最終送受ウエイト192、非最終送受実行1
93、最終送受ウエイト194などを経る。)、最終送
受実行195またはアドレス変更196の発行により終
了する。また、本バスのデータ転送サイクルの状態は図
20のサイクル状態割当図に示したように、CADR−
N、CBUSLK−N、CMSTEN−N、CSLVE
N−Nの信号線により、合計11のデータ転送サイクル
状態を持つ。この11のデータ転送サイクル中、最終/
疑似最終送受実行、アドレス変更、マスタエラーの3つ
の状態が転送終了サイクルである。ここで、疑似最終送
受実行については後に説明する。バスエラーはどの状態
においても発生しうる。図21は上述の説明に対応した
サイクル状態遷移図を示す。本バスにおけるデータ転送
サイクルは、エラー発生時を除き、図21のサイクル状
態遷移図に示した何れかの遷移をとる。
【0100】続けて、本実施例におけるデータ転送の具
体例を図22〜図27を用いて説明する。
【0101】図22に32bitリード転送(4LW・
非マルチ転送)のタイムチャートを示す。同図は、4L
Wのリード転送の例である。マスタはアドレス出力
(1)後、すぐにデー送受可能(2)になっているが、
スレーブは1サイクルウエイト(3)してからデータを
出力(4)している。第6サイクルで最終送受が実行
(5)されて、転送が終了している。
【0102】マスタは第1サイクルで、アドレス1を出
力してスレーブを指定し、32bit転送を要求(6)
している。指定されたスレーブは1サイクルウエイトし
た後、データ1A・1B・1C・1Dを順次出力してい
る。この場合、データ1Aはアドレス1に対応するデー
タで、以下アドレスは自動的に1ずつ増加する。第6サ
イクルでは最終送受が実行され、データ転送とマスタの
バス使用権同時に終了している。したがって、もし第6
サイクルにバス使用権を得た他マスタがあれば、第7サ
イクルからデータ転送を開始する。
【0103】本図では4LWのデータ転送を行っている
が、本バスでは転送するデータ量は任意であり、また転
送手順は転送するデータ量に無関係に常に一定である。
したがって、例えば本図の第1サイクルの後に第6サイ
クルが続けば、それは1LWのリード転送になる。
【0104】次に図23を用いて32bitライト転送
(3LW・非マルチ転送)の例を述べる。同図では、3
LWのライト転送が行われている。マスタはアドレス出
力(1)後、すぐにデータを送受(2)しているが、ス
レーブは1サイクルウエイト(3)してからデータを送
受(4)する。第4サイクルではスレーブはデータ送受
可能(5)であるが、マスタ側は1サイクルウエイト
(6)してからデータを出力(7)している。第6サイ
クルでは最終送受を実行(8)し、データ転送とマスタ
のバス使用権が同時に終了する。
【0105】マスタは、アドレス1で指定したスレーブ
に1A・1B・1Cの3LWのデータをライトする。本
バスは、データ送受はマスタとスレーブの対等なハンド
シェイクによって実行する。また、マスタは、第1サイ
クルで32bit転送を要求(9)しており、この場合
スレーブは第2サイクルから転送終了まで、CVLWE
N−Nに“1”を出力(10)する。
【0106】次に図24を用いて、32bitマルチ転
送(2LWリード・1LWライト)を説明する。同図
は、2LWのリードと1LWのライトをマルチ転送で連
続して行う例である。マスタは、まずアドレス1へのリ
ード転送を開始(1)し、2LWの送受の後、第4サイ
クルでアドレス変更を発行(2)する。第4サイクルで
スレーブが出力するデータは無効(3)となり、アドレ
ス1へのデータ転送を終了する。マスタはバス使用権を
引続き保持しており、第5サイクルでアドレス2へのラ
イト転送を開始(4)する。第6サイクルでは最終送受
が実行され、データ転送とバス使用権が同時に終了して
いる。本図では、アドレス1から1A・1Bの2LWデ
ータのリードとアドレス2への2Aの1LWデータのラ
イトが、1回のバス使用権で連続して行われている。
【0107】本実施例のバスでは、1回のデータ転送中
にCWRITE−Nの値は変えない。したがって、リー
ドモディファイライト等はマルチ転送によって行う。マ
ルチ転送の場合、マスタはすべてのアドレス出力サイク
ルでCVLWEN−Nをドライブする。
【0108】図25に64bitリード転送(4VLW
・非マルチ転送)時のタイミングチャートを示す。同図
では、4VLWのリード転送の場合を示す。マスタは第
1サイクルで、アドレス1に64bit転送を要求
(1)する。この場合、アドレス1の最下位(CAD
(3,7)−P)は“0”(2)である。第2サイクル
でスレーブは64bit転送許可を応答(3)し、1サ
イクルウエイト(4)してからデータを出力する。第3
〜6サイクルで、1A〜1Hの4VLW(8LW)のデ
ータを送受し、第6サイクルで最終送受を実行(5)す
る。スレーブは、1回の転送中にCLVWEN−Nの値
を変更しない。
【0109】図26は32bitライト転送(4LW・
非マルチ転送)時のタイムチャートを示す。同図は、6
4bitマスタが32bitスレーブにアクセスした場
合の例である。第1サイクルでマスタはアドレス1に6
4bitでアクセス(1)するが、指定されたスレーブ
は第2サイクルでCLVWEN−Nに“1”を出力し
て、64bit転送を拒否している(2)ので、自動的
に32bit転送となり、第2サイクルではデータ1A
のみが送受(3)され、データ1Bは無効(4)にな
る。マスタは1サイクルウエイト(5)した後、データ
1Bをスワップして送受(6)する。さらに2Lっを3
2bit転送で送受して、第6サイクルで最終送受を実
行(7)する。マスタは、必要ならば第2サイクルをウ
エイトし、スレーブの応答を確認してからデータを送受
することもできる。
【0110】図27に64/32bitのマルチ転送
(2VLWリード・1LWライト)の例について示す。
同図ではマルチ転送により、2VLWのリードと1LW
のライトの例を示している。マスタは第1サイクルでア
ドレス1に64bitでアクセス(1)し、スレーブは
第2サイクルで64bit転送許可を応答(2)すると
同時にデータを出力(3)する。2VLWの送受の後、
第4サイクルでマスタはアドレス変更を発行(4)して
バス使用権を保持して転送を終了し、第5サイクルで今
度はアドレス2に32bitでアクセス(5)する。1
LWの送受を行い、第6サイクルで最終送受を事項
(6)する。
【0111】〔バスエラー線〕本実施例のバスは、図2
8に示すバスエラー線を持ち、次の4種のバスエラー、
すなわち、(1)パリティエラー、(2)タイムアウト
エラー、(3)マスタエラー、(4)SBUSCエラー
がある。上記各ケラーのタイミングは図29に示す通り
である。以下では各エラーの説明を図29を用いて行
う。
【0112】(1)パリティエラー:パリティイネーブ
ル状態〔CPCEN−N=“0”〕のサイクルで、SB
USCがパリティエラーを検出した場合、次のサイクル
でCBERR−Nに“0”を出力する。
【0113】(2)タイムアウトエラー:バス使用権を
有するマスタが存在する状態で、一定サイクル数の間、
転送〔CMSTEN−N=“0”且つCSLVEN−N
=“0”〕が実行されなかった場合、SBUSCがCB
ERR−Nに“0”を出力する。
【0114】(3)マスタエラー:バス使用権を有する
マスタが、自身の都合により、最終送受をせずにバス使
用権を放棄する際に発生するエラーで、〔CADR−N
=“0”且つCMSTEN−N=“1”且つCBUSL
K−N=“1”〕で定義する。本マスタエラーは、転送
の中止をスレーブに指示して、バスをリリースさせるこ
とを目的とする。
【0115】(4)SBUSCエラー:SBUSCがバ
ス上に異常を発見した場合、バスをアドレス状態にする
ためにCBERR−Nに“0”を出力する。なお、バス
制御そのものに支障を来す事態が発生した場合は、SB
USCはCMSTRST−Nに“0”を出力(マスタリ
セット)する。
【0116】なお、バスエラーサイクルが発行された場
合、マスタ・スレーブは共にバスをリリースする。但
し、後述するアービトレーション線及び割込み線は除
く。この場合、バスはSBUSCによりコントロールさ
れる。エラーサイクルに行われた送受は、バス仕様とし
てその内容を保証せず、無効とする。
【0117】〔アービトレーション制御線〕以下、本実
施例におけるアービトレーション制御について、図30
〜図35を用いて説明する。
【0118】図30にアービトレーション制御線を、図
31にそのタイミングを示す。基本的には図3に示した
実施例と同様である。本バスに接続するデバイスでマス
タになる必要があるものは、個別にSBUSCとリクエ
スト線;CBREQ(*)−N及びアクノリッジ線;C
BACK(*)−Nを接続する。タイミングは図31に
示す通りである。
【0119】接続デバイス中のマスタデバイスは、バス
使用権を要求する場合CBREQ(*)−Nを発行す
る。 CBREQ(*)−Nはバス使用権を得るまで発
行し続ける。(CBACK(*)−Nの発行までではな
いことに注意されたい。)SBUSCはアービトレーシ
ョン制御を行い、次にバス使用権を与えるマスタに対し
て、CBACK(*)−Nを先出しで発行する。マスタ
はバス使用権を保持している間は、CBREQ(*)−
Nを発行しない。アービトレーションは全サイクル行わ
れる。
【0120】以下、本実施例におけるアービトレーショ
ン制御について詳細に述べる。バス使用権は、〔CBA
CK(*)−N=“0”且つCBUSLK−N=“1”
且つCMSTEN−N=“0”且つCSLVEN−N=
“0”〕で成立する。つまり、CBACK(*)−Nが
発行され、且つ最終送受の実行でバス使用権は成立す
る。バスアイドル状態の場合、SBUSCはCBACK
(*)−N=“0”と共に、CBUSLK−N=
“1”、CMSTEN−N=“0”、CSLVEN−N
=“0を出力する。これを疑似最終送受と呼び、これに
よりバス使用権が成立する。バス使用権を得たマスタ
は、次のサイクルでCBUSLK−N=“0”を出力
し、同時にデータ転送を開始(アドレス出力)する。
【0121】本実施例におけるバスは、他のマスタデバ
イスに転送を中止させてバス使用権を得る特権を有する
マスタデバイスを設定できる。バス使用権を有するマス
タに対して特権上位のマスタがCBREQ(*)−Nを
発行した場合、SBUSCは特権上位のマスタと現在バ
ス使用権を有しているマスタの両方に対してCBACK
(*)−Nを発行する。このとき、現在バス使用権を有
しているマスタにはこれは打切アクノリッジとなる。打
切アクノリッジを受けたマスタは、次のデータ送受を最
終送受とするかまたはマスタエラー発行により転送を終
了するか、何れかの終了サイクルを起こす必要がある。
すなわち、打切アクノリッジを発行した場合、SBUS
Cは次のサイクルからバスを監視し、最終送受以外のデ
ータ送受が実行された場合には、バスエラーを発行して
強制的に転送を終了する。
【0122】アービトレーション制御はエラーには影響
されない。したがって、CBREQ(*)−Nはエラー
サイクルが発行された場合でもリリースしない。
【0123】以下に、本実施例における3例のアービト
レーションのタイミングチャート図を図32〜図34に
示す。また、図35にアービトレーション状態遷移を示
す。
【0124】まず、図32を用いて単純競合制御につい
て説明する。同図では、バスアイドル状態の第1サイク
ルに2つのマスタ1及び2がリクエストを発行(1)し
ている。SBUSCはアービトレーションを行い、第2
サイクルでマスタ1にアクノリッジを発行(2)し、同
jに疑似最終送受を実行(3)してバス使用権を与え
る。第3サイクルでマスタ1はリクエストを止めて
(4)データ転送を開始し、SBUSCはマスタ1に代
えてマスタ2にアクノリッジを発行(5)する。第5サ
イクルでマスタ1は最終送受を実行(6)し、これによ
りマスタ2のバス使用権が成立する。第6サイクルでマ
スタ2はリクエストを止めて(7)データ転送を開始す
る。
【0125】次に図33を用いて打切アクノリッジ制御
を説明する。第1サイクルでアクノリッジの発行(1)
と疑似最終送受の実行(2)により、マスタ1のバス使
用権が成立する。マスタ1は、第2サイクルでリクエス
トを止めて(3)データ転送を開始する。第3サイクル
でマスタ1に対して特権上位であるマスタ0がリクエス
トを発行(4)し、SBUSCはこれを受けて、第4サ
イクルでマスタ0へのアクノリッジ(5)とマスタ1へ
の打切アクノリッジ(6)を発行する。打切アクノリッ
ジを受けたマスタ1は、第5サイクルで最終送受を実行
(7)し、バスをリリースする。同時にマスタ0のバス
使用権が成立し、マスタ0は第6サイクルでリクエスト
を止めて(8)データ転送を開始する。バス使用権を打
ち切られたマスタ1は、第6サイクルで再びリクエスト
を発行(9)する。なお、マスタ1は、バス使用権を保
持する第2〜第5サイクルではリクエストを発行しては
ならない。
【0126】図34にはアクノリッジの取り消しを含む
競合制御を示す。マスタ3との競合に勝ったマスタ1が
第1サイクルで、アクノリッジの発行(1)と疑似最終
送受の実行(2)によりバス使用権を得る。マスタ1
は、第2〜第5サイクルでデータ転送を行う。SBUS
Cは、第2サイクルでマスタ3にアクノリッジを発行
(3)するが、第3サイクルでマスタ2からのリクエス
ト(4)を受けてアービトレーションを行い、第4サイ
クルではマスタ3へのアクノリッジを取り消して
(5)、マスタ2へアクノリッジを発行(6)する。第
5サイクルでマスタ1は最終送受を実行(7)し、同時
にマスタ2のバス使用権が成立する。第6サイクルでは
マスタ2がデータ転送を開始し、SBUSCは再びマス
タ3にアクノリッジを発行(8)する。
【0127】以上説明したアービトレーション制御は、
図35に示したアービトレーション状態遷移図に従い行
われる。同図において、他マスタがバスを使用してデー
タ転送中の状態(1)で、マスタはまずバス獲得のため
のリクエスト(CBREQ(*)−N=“0”)を出し
(1→2)、CBACK(*)−N=“0”で同時に最
終送受実行(5)になるのを待つ(2・3・4)。
(5)でバス使用権を獲得したら、リクエストを止めて
(CBREQ(*)−N=“1”)転送を行い(6)、
最終送受実行(7)でバスをリリースする。転送中に打
切アクノリッジ(CBACK(*)−N=“0”)を受
けた場合(8)は、次の送受を最終送受にする(9)こ
とを要求される。
【0128】〔割込み制御線〕以下に図36を用いて本
実施例における割込み制御線を説明する。本バスに接続
するデバイスで、他の接続デバイスである中央処理装置
への割込み要求を必要とするものは、個別にSBUSC
と割込み制御線;CIREQ(*)−Nを接続するもの
とする。
【0129】CIREQ(*)−Nに“0”を出力する
ことで、割り込み発生となり、非同期のレベル信号とな
る。SBUSCはこれを受けて、中央処理装置への割込
みベクトルの精製を行う。割込みを発生した接続デバイ
スは、中央処理装置での割込み処理実行が確認されるま
で、 CIREQ(*)−Nに“0”を出力し続ける。
【0130】CIREQ(*)−Nは、本バス上の他の
信号には影響を与えない。また、本バス上のエラーサイ
クルは、割込み制御には一切影響を与えない。リセット
時には、 CIREQ(*)−Nには“1”を出力す
る。
【0131】〔まとめと標準コネクタ接続ピンリスト〕
以上詳述してきた本実施例におけるシステムバスの信号
一覧を図37にまとめた。また、それらの標準コネクタ
接続ピンリストを図38に、拡張コネクタ接続ピンリス
トを図39に示す。図38と図39に示したように、本
実施例のバスに接続するボード用コネクタとしては、3
2bit仕様についてDIN41612の96pinコ
ネクタ(ユーロコネクタ)1個を標準コネクタとして規
定する。また、64bit仕様では、ユーロコネクタ1
個を拡張コネクタとして追加するものとする。図38と
図39において、Kをシンク、Yをスリーステート、V
を電源、Gをグランドとして種別を示す。
【0132】コネクタの接続ピンの内訳は、 1)クロック線:2本 2)リセット線:2本 3)アドレス・データ線:32本(拡張時64本) 4)バス制御線:16本(拡張時24本) 5)アービトレーション制御線:2本(各スロットで個
別接続) 6)割込み制御線:1本(各スロットで個別接続) 7)スロット規定線:3本(各スロットで個別接続) 8)電源供給線:14本(拡張時22本) 9)グランド線:22本(拡張時44本) 10)診断用予約線:2本 11)拡張コネクタ予備予約線:26本(拡張時のみ) である。電源供給線の内訳は、5V×8本(拡張時16
本)・12V/−12V/−5V×各2本で、−5V電
源はオプションとする。
【0133】〔動作例〕以下に、本実施例のシステムバ
スにおける4種類の動作とその組合せを、図40〜図4
3にそれぞれ示したタイミングチャート1〜4で説明
し、本実施例の詳細説明を終了する。なお、これらのタ
イミングチャートは全て32bit仕様の場合であり、
CVLWEN−Nは転送中は常に“1”に確定している
ものとして表示していない。
【0134】1)タイミングチャート1 図40には、アドレス1のスレーブからの3LWのリー
ド転送をしめす。3回の送受に対してスレーブは各々2
回・1回・2回のウェイトを入れている。マスタは、デ
ータ1A・1Bを受け取った後1回ずつウェイトを入れ
ている。第8サイクルから最終送受に入り、第9サイク
ルで実行する。
【0135】2)タイミングチャート2; 図41は、アドレス1のスレーブの5LWのライト転送
の例である。スレーブはデータ1Aの送受に2回、デー
タ1Eの送受に1回ウェイトを入れている。マスタはデ
ータ1Eの送受に際して2回ウェイトを入れた後、最終
送受として実行する。この場合、第8・第9・サイクル
ではCBUSLK−Nは“0”或いは“1”の何れでも
よい。
【0136】3)タイミングチャート3; 図42は3個のマスタデバイス1,2,3によるアービ
トレーションを示した図である。第1サイクルでCBR
EQ(1)−N及びCBREQ(3)−Nがバスアイド
ル状態で発行され、これを受けて第2サイクルでは、S
BUSCがCBACK(1)−Nを発行すると同時に擬
似最終転送を実行して、アドレス1で示されるマスタ1
にバス使用権を与えている。マスタ1は第3サイクルか
ら第7サイクルまでに4LWのライト転送を行い、第7
サイクルで最終送受を実行する。第4サイクルでアドレ
ス2で示されるマスタ2がCBREQ(2)−Nを発行
し、SBUSCは第5サイクルでCBACK(3)−N
に代えてCBACK(2)−Nを発行している。第7サ
イクルでマスタ2のバス使用権が成立し、第8・第9サ
イクルで1LWのリード転送を行っている。第8サイク
ルでCBACK(3)−Nが再発行され、第9サイクル
では最終送受の実行により、アドレス3で示されるマス
タ3のます使用権が成立する。
【0137】4)タイミングチャート4; 図43はエラー発生時の例を示している。第1サイクル
の擬似最終送受実行でバス使用権を得たアドレス1で示
されるマスタ1は、第2サイクルからライト転送をパリ
ティ付きで行っているが、データ1Aについてパリティ
エラーが発生し、SBUSCは第4サイクルでCBER
R−Nを発行している。第4サイクルのデータ送受は無
効となり、マスタ1及びスレーブは一旦バスをリリース
する。第5サイクルでSBUSCは擬似最終送受を発行
し、アドレス2で示されるマスタ2にバス使用権を与え
ている。マスタ1は、再転送のためCBREQ(1)−
Nを発行する。
【0138】マスタ2はアドレスにパリティを付してい
るが、指定されたスレーブはパリティをサポートしてお
らず、第7・第8サイクルではCPCEN−Nは“1”
になっている。第8サイクルではマスタ2がマスタエラ
ーを発行している。これにより転送は中止され、マスタ
2及びスレーブはバスをリリースする。
【0139】第9サイクルで、SBUSCは擬似最終転
送を実行してマスタ1にバス使用権を与え、マスタ1は
第10サイクルでアドレス1への再転送を開始する。
【0140】なお、上述した実施例においては、アドレ
ス・データ多重化線として、32bit,32bit/
64bitの例を示し、単位アドレスに相当するデータ
幅をアドレス・データ多重化線の本数と一致させる構成
を説明したが、もしアドレス空間を拡張する必要が生じ
た場合、独立のアドレス線を付加するか、又は上述した
バス制御線の一部と多重化する構成とするなど、一部の
変更を加えても良いことはいうまでもない。
【0141】上述した実施例のバスを使用したシステム
の構成例におけるバス制御部SBUSCの内部構成の一
実施例を図44に示す。本実施例のSBUSCは図2の
実施例に対応したものを示している。
【0142】図44において、91は図2のシステム構
成図におけるバス制御部SBUSCを示しており、内部
構成として、911はクロック・タイミング発生部、9
12はマイクロプロセッサ部、913は内部メモリ・レ
ジスタ、914はアドレスデコーダ、915はバス状態
判定部、916は制御信号生成部、917はプライオリ
ティエンコーダ、918はバス権決定部、919はステ
ータスレジスタ、920は双方向信号入出力用ドライバ
である。
【0143】図44は上述した実施例のうちアドレス・
データ多重の同期型バスの構成例であるが、他の場合も
本図により合わせて述べる。以下、各部の動作について
説明する。
【0144】クロック・タイミング発生部911はバス
制御部91内の各部で使用される各種のクロック・タイ
ミングを発生して、各部に供給する。また、同期型バス
においてはバスクロックCDRCLK−N,CLTCL
K−Nを発生して、システムバス上に出力する。マイク
ロプロセッサ部912は、バス制御部全体の動作を制御
する。この制御は、システムの中央処理装置(図示せ
ず)により、内部メモリ・レジスタ913に書き込まれ
るプログラム及びパラメータに基づき、ステータスレジ
スタ919の内容を参照しながら、バス制御部内の各部
へコマンドを発行することによって行われる。内部メモ
リ・レジスタ913は、システムの中央処理装置からシ
ステムバスを通して読み書きのできる記憶回路であり、
マイクロプロセッサ部912の動作を規定するプログラ
ム及びパラメータが設定される。マイクロプロセッサ部
912は該プログラム及びパラメータに基づいて動作す
る、汎用CPU回路で構成される。
【0145】アドレスデコーダ914は、システムバス
上のアドレスをデコードし、内部メモリ・レジスタ91
3の書き込み・読み出しを指示する。アドレス・データ
分離型バスの場合には、アドレス線のみがアドレスデコ
ーダ914に入力される。バス状態判定部915は5本
のバス制御線CWRiTE−N,CADE−N,CMS
TEN−N,CSLVEN−N,及びCBUSLK−N
の状態を監視して、その組合わせからバスの状態を判定
して、ステータスレジスタ919に書き込むエンコード
論理回路である。マイクロプロセッサ部912は、ステ
ータスレジスタ919の内容を参照することにより、バ
スの状態を確認することができる。制御信号生成部91
6は、マイクロプロセッサ部912からのコマンド92
1に基づいて、バス制御線への出力信号を生成するデコ
ード論理回路である。バス制御部SBUSC91がシス
テムバスのマスタまたはスレーブになった場合、または
リセット・エラー等によりバスを初期化する場合等に
は、マイクロプロセッサ部912は、コマンド921に
よりバス制御信号を出力する。
【0146】プライオリティエンコーダ917は、シス
テムバスに接続する各デバイスからの、合計l本のリク
エスト線入力を受け、マイクロプロセット部912によ
り設定される優先順位に基づいて、最も優先度の高いバ
ス権要求を選び出すプライオリティエンコーダ回路であ
る。選択結果はバス権決定部918に送られると同時
に、ステータスレジスタ919に書き込まれる。マイク
ロプロセッサ部912は、ステータスレジスタの内容を
参照することにより、バス権要求の状態を確認すること
ができる。バス権決定部918は、プライオリティエン
コーダ917の選択結果と、マイクロプロセッサ部91
2からのコマンド921に基づいて、バス権を与えるマ
スタを決定し、m本のアクノリッジ線に信号を出力する
デコード論理回路である。バス権をどのマスタに与えて
いるかは、ステータスレジスタ919に書き込まれる。
マイクロプロセッサ部912は、ステータスレジスタ9
19の内容を参照することにより、バス権の状態を確認
することができる。
【0147】ステータスレジスタ919には、バスの状
態、バス権の状態、及びバス権要求の状態が、マイクロ
プロセッサ部912へのステータスとして書き込まれ
る。マイクロプロセッサ部912は、これらのステータ
スを参照して、内部メモリ・レジスタ913内のプログ
ラム及びパラメータに従って、バス及びバス権の状態を
還移させるコマンド921を、制御信号生成部916及
びバス権決定部918に対して発行する。
【0148】他のマスタのバースト転送を中止させる特
権を持つマスタは、パラメータとして内部メモリ・レジ
スタ913に設定される。マイクロプロセッサ部912
は、ステータスレジスタ919の内容を参照して、パラ
メータ設定された特権マスタからのバス権要求が生じた
場合には、バス権況定部918に転送中止のコマンドを
921発行する。バス権決定部918は、該コマンドを
デコードして、アクノリッジ線(図2、CBACK
(*)−N)へ、転送中止命令を出力する。同時に該特
権マスタへのアクノリッジが発行されるのは上述のとお
りである。
【0149】以上のように、本構成のバス制御部SBU
SC91は、上述した実施例における転送中止命令を含
むアービトレーション制御を行うことができる。
【0150】本例では、内部メモリ・レジスタ913に
プログラム及びパラメータを外部から設定するようにし
ているが、外部からの変更が不要な場合には、これを内
部ROM等により内臓あうることもできる。また、マイ
クロプロセッサ部912は、汎用CPU回路を用いる以
外に、専用の論理演算回路によって構成することもでき
る。
【0151】また、バス制御部SBUSCの内部構成の
他の実施構成例を図45に示す。図45において100
はシステム構成図におけるバス制御部SBUSCを示
し、内部構成として、1001はクロック・タイミング
生成回路、1002はプログラム・メモリ、1003,
1010はデコーダ回路、1004はエンコーダ回路、
1005,1009はレジスタ、1006は命令演算
器、1007はコマンドバッファ、1008はプライオ
リティエンコーダ、1011、1012は双方向信号入
出力用ドライバである。図45はアドレス・データ多重
の同期型バスの実施例を示しており、バス制御部SBU
SC100の各部はシステムバスに同期して動作する。
以下、各部の動作について説明する。
【0152】クロック・タイミング生成回路1001
は、システムバスのクロックCDRCLK−N、CLT
CLK−Nを生成・ドライブすると同時に、バス制御部
100内の各部が同期して動くためのタイミング信号を
生成する。バス制御部SBUSC100はシステムバス
に同期して、RAMなどのプログラム・メモリ1002
に格納されたマイクロコードプログラムに基づいて動作
する。
【0153】プログラム・メモリ1002はシステムの
中央制御部(図示せず)から見てシステムバスのアドレ
ス空間上に有り、システムバスを介して、システムの中
央制御部によって、読み出し・書き込みを行える。デコ
ーダ回路1003は、システムバス上のアドレスをデコ
ードして、プログラム・メモリ1002の読み出し・書
き込み指示信号を出力する。
【0154】エンコーダ回路1004は、CWRITE
N−N、CADR−N、CMSTEN−N、CSLVE
N−N、CBUSLK−Nの5本のバス制御線の状態を
見て、バスの状態を判定してコード化する。コード化の
例を図46に示す。図46では、左側に5本の制御線の
状態の組合せを、中央に各組合せが示すバスの状態を、
右側に各状態に対応するコードを示してある。×印はH
iGH・LOWどちらでもよい場合である。エンコーダ
回路1004は、入力される5本のバス制御線の状態の
組合せを、対応するコードに機械的に変換する。生成さ
れたコードは、レジスタ1005に書き込まれると同時
に、デコーダ回路1003に送られる。デコーダ回路1
003は、コード“000”または“001”が送られ
た場合のみ、アドレスをデコードし、アドレスがプログ
ラム・メモリ1002のアドレスに該当した場合、コー
ドが“000”ならプログラム・メモリ1002への書
き込み指示信号を、コードが“001”なら読み出し指
示信号を出力する。これにより、プログラム・メモリ1
002の内容の読み出し・書き込みができる。
【0155】命令演算器1006は、プログラム・メモ
リ1002上のマイクロコードに従って動作する論理演
算器で、コマンドバッファ1007、プログラム・メモ
リ1002、レジスタ1005、1009からの合計k
ビットの入力を論理演算して、k‘ビットの出力をコマ
ンドバッファ1007に書き込む。論理演算のフォーマ
ットの例を図47に示す。図47ではkビットの入力信
号は、コマンドバッファ1007から入力されるk1ビ
ットのメモリアドレス、プログラム・メモリ1002か
ら入力されるk2ビットのマイクロコード、エンコーダ
回路1004によってレジスタ1005に書き込まれる
3ビットのコード、プライオリティエンコーダ1008
によってレジスタ1005に書き込まれるk3ビットの
リクエスト線番号、及びレジスタ1009から入力され
るk4ビットのアクノリッジ線番号からなっている。ま
た、k’ビットの出力信号は、k1ビットのメモリアド
レス、k3ビットのレジスタ1009の制御信号、小よ
b位10ビットのバス制御線用信号からなっており、コ
マンドバッファ1007に書き込まれる。命令演算器1
006は、プログラム・メモリ1002からのk3ビッ
トのマイクロコーダに従ってkビットの入力信号に機械
的に変換する。
【0156】コマンドバッファ1007はラッチ回路で
あり、命令演算器1006のk‘ビットの出力を、1命
令サイクルの間保持する。k’ビットのうち、k1ビッ
トのメモリアドレスは、プログラム・メモリ1002と
命令演算器1006に送られる。プログラム・メモリ1
002はk2ビットのデータ幅を持っており、コマンド
バッファ1007から送られるメモリアドレスで指定さ
れたマイクロコードを、命令演算器1006へ出力す
る。命令演算器1006は、マイクロコードに従って現
在のメモリアドレスから、次のメモリアドレスを算出し
て、コマンドバッファ1007に書き込む。
【0157】プライオリティエンコーダ1008は、l
本のリクエスト線入力CBREQ(*)−Nを受けて、
優先順位の最も高いリクエストを選び出すプライオリテ
ィエンコーダで、選ばれたリクエストに対応するk3ビ
ットのリクエスト線信号をレジスタ1005とレジスタ
1009に出力する。レジスタ1005には、エンコー
ダ1004からの3ビットのバス状態を示すコードと、
プライオリティエンコーダ1008からのk3ビットの
リクエスト線信号が書き込まれる。
【0158】レジスタ1009はk4ビットのアクノリ
ッジ線番号を2組保持するレジスタである。k4ビット
のアクノリッジ線番号はプライオリティエンコーダ10
08により書き込まれるk3ビットのリクエスト線信号
に、コマンドバッファ1007から送られるk5ビット
のレジスタ制御信号の一部を加えたものである。レジス
タ1009には、アクノリッジ線番号が、現在バス使用
権を有するマスタと、次にバス使用権が与えられるマス
タの2組について、ダブルバ06に送られ、次にバス使
用権が与えられるマスタについての1組又は2組両方が
デコーダ回路1010に送られる。ダブるバッファの切
り替え、デコーダ回路へアクノリッジ線番号を1組送る
か2組送るかの切り替えの制御は、コマンドバッファ1
007から出力されるk5ビットのレジスタ制御信号の
一部によって行われる。
【0159】命令演算器1006には、レジスタ100
5、1009から3ビットのバス状態を示すコードと、
k3ビットのリクエスト線信号、k4ビットの現在バス
使用権を有しているマスタのアクノリッジ線番号が入力
される。これらは、バスの状態、リクエストの状態、バ
ス使用権の状態を示す情報である。命令演算器1006
は、プログラム・メモリ1002からのマイクロコード
に基づいて、上記情報から、バス制御線及びアクノリッ
ジ線の次の状態を定めるコマンドをk5ビットのレジス
タ制御信号と、10ビットのバス制御線用信号の形で演
算して、コマンドバッファ1007に書き込む。
【0160】k5ビットのレジスタ制御信号は、レジス
タ1009のダブルバッファ切替信号、デコード回路1
010へアクノリッジ線番号を1組または2組送る切替
信号、及びリクエスト線番号を対応するアクノリッジ線
番号に変換するための付加ビットからなる。命令演算器
1006は、バスの状態を示すコードが図11で101
0または1011の場合、バス使用権が移動するので、
ダブルバッファを切り替える指示を出す。また、リクエ
ストの状態とバス使用権の状態を比較し、現在バス使用
権を有しているマスタに対して特権上位のマスタからリ
クエストがある場合には、デコード回路1010へアク
ノリッジ線番号を2組送り指示を出す。
【0161】10ビットのバス制御線用信号は、上述の
5本のバス制御線の各々について、出力のON/OFF
とHiGH/LOWの切替えを示す各2ビットで、バス
制御部SBUSC100がバス制御線を、エラー後の初
期化あるいはプログラム・メモリ1002の読み出し・
書き込みのために、直接制御できるようになっている。
【0162】デコーダ回路1010は、レジスタ100
9からの1組または2組のアクノリッジ線番号をデコー
ドして、m本のアクノリッジ線CBACK(*)−Nの
内1本又は2本を有効にする。通常は、次にバス使用権
が与えられるマスタに対する1本だけが有効になるが、
現在バス使用権を有しているマスタに対して特権上位の
マスタからリクエストがある場合には、命令演算器10
06からコマンドバッファ1007を通じてレジスタ1
009にアクノリッジ線番号を2組とも出力する指示が
送られ、デコーダ回路1010は、現在バス使用権を有
しているマスタに対するアクノリッジ線CBACK
(*)−Nも有効にする。これにより、バースト転送の
中止命令の発行が行われる。
【0163】以上のように、バス制御部SBUSC10
0は、バス状態とリクエストの状態を監視して、5本の
バス制御線とアクノリッジ線CBACK(*)−Nに信
号を出力することにより、システムバスを制御すること
できる。
【0164】本実施例ではプログラム・メモリ1002
に中央制御部から読み出し、書き込みを行うことによ
り、バス制御部SBUSC100をプログラム制御する
ようにしているが、バス仕様が確定している場合には、
プログラム・メモリ1002にROM等を用いることに
より、プログラムを内蔵することもできる。
【0165】また、本実施例では、命令演算器1006
として、マイクロコードに従って動作する専用の論理演
算回路(ALU)を用いて構成しているが、命令演算器
とsちえ、図44の実施例に示すようには尿のマイクロ
プロセッサを含む構成をとることもできる。
【0166】続いて、図5以降の実施例に用いられるバ
ス制御部SBUSCの内部構成の実施例を図48、図4
9に示す。これらの実施例は先の図44、図45の実施
例に対応しているため、共通部の詳細な説明は省略す
る。
【0167】図48、図49において、パリティジェネ
レータ・チェッカ951、1051は、バス制御部9
1、100がCAD(・,:)−Pを出力するときに
は、該データに対応するパリティデータを生成して、C
OP(・)−P上に出力する。又他のバス接続デバイス
が、CAD(・,:)−P及びCED(・,:)−Pを
用いてデータの送受を行うときには、図13〜図16で
説明した手順に従って、CMSK(・)−N、CEMS
K(*)−N、CPCEN−N及びCVLWEN−Nを
参照し、パリティデータCOP(・)−P及びCEOP
(・)−Pの有効な部分に対して、データのパリティチ
ェックを行い、エラーを検知した場合は、CBERR−
Nを図29で説明したタイミングで出力する。
【0168】プライオリティエンコーダ952、105
2は、p本の割込み制御線CiREQ(*)−Nの入力
を受け、発生している割込みのうち、最も優先度が高い
割込みをエンコードして、q本の割込み通知線iNTA
CK(*)−Nに出力して、CPU等の割込み処理を行
うデバイスに通知する。iNTACK(*)−Nはバス
制御部と割込み処理を行うデバイスの間の専用線であ
り、バス制御線には含まれない。
【0169】リセット制御部953、リセット生成回路
1053は、バス上の2本のリセット線CPOR−N、
CMSTRST−Nの入力を受け、リセットが指示され
た場合、バス制御部91、100の各部に対するリセッ
ト信号を生成して、リセット制御を行う。
【0170】さて、実施例の説明の最後に、図50を用
いて、上述の本発明の実施例の乞うかについて説明す
る。図50(a)は、従来技術によるバス上のバス接続
デバイスにおける、データ転送の動作を示す流れ図であ
り、図50(b)は上述の実施例のバスの場合の流れ図
である。
【0171】従来技術によるバスの場合、データ転送を
行うバス接続デバイスは、まず、該データの転送がバー
ストモードであるかどうかを判断し(511)、バース
トモードでない場合には、設定されたアドレスに対応す
るデータの送受を行い(512)、転送を終了する。バ
ーストモードの場合は、まず該モードにおいて指示され
ている転送対象データの語数を記憶する(531)。次
に、設定されたアドレスに対応するデータの送受を行い
(514)、送受したデータの語数が指示された語数に
達したかどうかを判断する(515)。達していれば転
送を終了し、達していない場合は設定アドレスの値を1
増やして(516)、次のデータの送受を行い、指定さ
れた語数のデータを送受するまで繰返す。
【0172】一方、実施例のバスの場合、データ転送を
行うバス接続デバイスは、まず設定されたアドレスに対
応するデータの送受を行い(521)、該送受が最終送
受であるかどうか判断し(522)、最終送受ならば転
送を終了し、最終送受でない場合は設定アドレスを1増
やして(523)、次のデータの送受を行い、最終送受
が行われるまで繰返す。
【0173】以上のように、上述の実施例の構成では、
従来技術よりもデータ転送の制御手順が、全てのデータ
転送をバーストモードで行うことにより簡易化されてお
り、図50(a)における判断(511)及び動作(5
13)を行うための制御回路が不要となり、ハードウェ
ア量を少なくできるという効果がある。
【0174】
【発明の効果】本発明によれば、すべてのデータ転送を
バースト転送で行うことができるため、制御手段・制御
回路を簡略化することができる。また、データ転送をハ
ンドシェイクで行うことにより、任意且つ可変の転送間
隔でバースト転送を行うことが可能となる。バースト転
送の最終の転送データを特定できるため、任意量のデー
タをバースト転送で連続的に転送できる。さらに、バー
スト転送の動作を妨げずにバースト転送の中止命令発行
が行えるため、任意量のデータのバースト転送に適した
アービトレーションを行うことができる。
【0175】さらに、本発明によれば、1回のバス使用
権でアドレスを変更しつつ複数回のデータ転送を行うこ
とができるので、複数アドレスへの大量のデータの分配
およびリードモディファイライト転送を連続して効率的
に行うことができ、バスのスループットが向上するとい
う効果がある。
【0176】また、バス制御部がデータ転送の動作を妨
げることなくデータ転送の中止を命令することにより、
優先度の高いバス使用権の要求を割り込ませることがで
き、これにより1個のデバイスによってバスが長時間独
占されて他のデバイスの動作が制限されるのを防ぐこと
ができる。
【0177】また、本発明によれば、アドレス・データ
多重化式の情報処理装置用バスにおいて、全てのバス接
続デバイスに対して冗長性のないアドレスを与えること
によって、最も効率の良いアドレス空間を与えることが
できる。また、転送データ幅がアドレス・データ多重化
線の幅よりも小さいバス接続デバイスについては、転送
するデータの幅及びデータ線内での位置を、多重化され
たアドレスを制御することなく、簡単な制御回路で制御
できるという効果がある。
【図面の簡単な説明】
【図1】本発明のバースト転送の原理、及び本発明の一
実施例の動作概要を示すデータ転送のタイミングチャー
ト図である。
【図2】本発明のバスを用いた情報処理装置の一実施例
を示す図である。
【図3】本発明の一実施例におけるアービトレーション
の動作概要を示すタイミングチャート図である。
【図4】本発明の第二の実施例のタイミングチャート図
の表示例を説明するための図である。
【図5】第二の実施例のクロック線を説明する図であ
る。
【図6】図5のクロック線のタイミング図である。
【図7】第二の実施例の同期共通信号線のタイミング図
である。
【図8】第二の実施例のリセット線を説明する図であ
る。
【図9】図8のリセット線のタイミング図である。
【図10】第二の実施例のアドレス・データ線を説明す
る図である。
【図11】図10のアドレス・データ線のタイミング図
である。
【図12】図10のアドレス・データ線のbit位置の
対応図である。
【図13】第二の実施例のデータマスク線を説明する図
である。
【図14】図13のデータマスク線のタイミング図であ
る。
【図15】第二の実施例のパリティ線及びパリティイネ
ーブル線の説明図である。
【図16】図15のパリティ線及びパリティイネーブル
線のタイミング図である。
【図17】第二の実施例の転送制御線を説明する図であ
る。
【図18】図17の転送制御線のタイミング図である。
【図19】第二の実施例のデータ転送手順を説明する図
である。
【図20】第二の実施例のサイクル状態図である。
【図21】第二の実施例のサイクル状態遷移図である。
【図22】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図23】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図24】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図25】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図26】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図27】第二の実施例のバスのデータ転送のタイミン
グ図である。
【図28】第二の実施例のバスエラー線を説明する図で
ある。
【図29】図28のバスエラー線のタイミング図であ
る。
【図30】第二の実施例のアービトレーション線を説明
する図である。
【図31】図30のアービトレーション線のタイミング
図である。
【図32】第二の実施例のアービトレーションのタイミ
ングチャート図である。
【図33】第二の実施例のアービトレーションのタイミ
ングチャート図である。
【図34】第二の実施例のアービトレーションのタイミ
ングチャート図である。
【図35】第二の実施例のアービトレーション状態遷移
図である。
【図36】第二の実施例の割込み制御線を説明する図で
ある。
【図37】第二の実施例の信号線一覧を示す図である。
【図38】第二の実施例のコネクタ接続ピンリストを示
す図である。
【図39】第二の実施例のコネクタ接続ピンリストを示
す図である。
【図40】第二の実施例におけるスレーブからのリード
転送時のバスの動作を示すタイミングチャート図であ
る。
【図41】第二の実施例におけるスレーブのライト転送
時のバスの動作を示すタイミングチャート図である。
【図42】第二の実施例におけるアービトレーション時
のバスの動作を示すタイミングチャート図である。
【図43】第二の実施例におけるエラー発生時のバスの
動作を示すタイミングチャート図である。
【図44】本発明のバス制御部の一実施例の内部構成図
である。
【図45】本発明のバス制御部の他の実施例の内部構成
図である。
【図46】本発明のバス状態の判定コード列の一例を示
す図である。
【図47】本発明のバス制御部における論理演算のフォ
ーマット例を示す図である。
【図48】本発明のバス制御部の更なる実施例の内部構
成図である。
【図49】本発明のバス制御部の更なる実施例の内部構
成図である。
【図50】本発明の実施例の効果を説明するためのフロ
ーチャート図である。
【符号の説明】
SBUSC…バス制御部 202…接続デバイス CDRCLK−N、CLTCLK−N…クロック線 CPOR−N、CMSTRST−N…リセット線 CAD(・,:)−P…アドレス・データ線 CED(・,:)−P…拡張データ線 CMSK(・)−N,CEMSK(・)−N …データ
マスク線 COP(・)−P,CEOP(・)−P…パリティデー
タ線 CPCEN−N…パリティイネーブル線 CADR−N…アドレス・データ切替線 CWRITE−N…リード・ライト切替線 CBUSLK−N…バス使用権保持表示線 CMSTEN−N…マスタ側送受イネーブル線 CSLVEN−N…スレーブ側送受イネーブル線 CVLWEN−N…64bit転送イネーブル線 CBERR−N…バスエラー信号線 CBREQ(・)−N…マスタリクエスト信号線 CBACK(・)−N…マスタアクノリッジ信号線 CIREQ(・)−N…割り込みリクエスト線
───────────────────────────────────────────────────── フロントページの続き (72)発明者 川口 仁 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 直原 正己 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 木村 光一 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 持田 哲也 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 小林 一司 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】アドレスとデータを同一の多重化線を用い
    て伝送するアドレス・データ多重化式の情報処理装置用
    バスであって、単位アドレスに相当するデータバス幅
    と、該アドレス・データ多重化線の本数とが同一である
    ことを特徴とする情報処理装置用バス。
  2. 【請求項2】前記アドレス・データ多重化線の本数をn
    本とする時、nビットを1語として、2のn乗語のアド
    レス空間を有する請求項1記載の情報処理装置用バス。
  3. 【請求項3】前記アドレス・データ多重化線の一部分の
    みを有効及び無効のいずれかにする制御部と、前記デー
    タバス幅より小さい単位のデータを転送する手段とをさ
    らに有する請求項1記載の情報処理装置用バス。
  4. 【請求項4】請求項1乃至3のいずれかに記載の情報処
    理装置用バスを、少なくとも一つゆうすることを特徴と
    する情報処理装置。
JP10354150A 1989-04-24 1998-12-14 情報処理装置用バス、バス制御方法及びバス制御装置 Pending JPH11238033A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10354150A JPH11238033A (ja) 1989-04-24 1998-12-14 情報処理装置用バス、バス制御方法及びバス制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10162189 1989-04-24
JP33271689A JPH03135647A (ja) 1989-04-24 1989-12-25 情報処理装置用バス,バス制御方法,及びバス制御装置
JP10354150A JPH11238033A (ja) 1989-04-24 1998-12-14 情報処理装置用バス、バス制御方法及びバス制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP33271689A Division JPH03135647A (ja) 1989-04-24 1989-12-25 情報処理装置用バス,バス制御方法,及びバス制御装置

Publications (1)

Publication Number Publication Date
JPH11238033A true JPH11238033A (ja) 1999-08-31

Family

ID=26442480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10354150A Pending JPH11238033A (ja) 1989-04-24 1998-12-14 情報処理装置用バス、バス制御方法及びバス制御装置

Country Status (2)

Country Link
US (1) US5276818A (ja)
JP (1) JPH11238033A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013544001A (ja) * 2010-10-20 2013-12-09 クアルコム,インコーポレイテッド バスデバイスのヘルス情報に基づく通信バス上のバストランザクションのアービトレーションおよび関連する電力管理

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519860B2 (ja) * 1991-09-16 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション バ―ストデ―タ転送装置および方法
EP0543652B1 (en) * 1991-11-19 1998-10-28 Fujitsu Limited Memory accessing device
US5809552A (en) * 1992-01-29 1998-09-15 Fujitsu Limited Data processing system, memory access device and method including selecting the number of pipeline stages based on pipeline conditions
US5467295A (en) * 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
JPH07152721A (ja) * 1993-11-29 1995-06-16 Mitsubishi Electric Corp マイクロコンピュータ
EP0718772A1 (en) * 1994-12-14 1996-06-26 International Business Machines Corporation Method to improve bus latency and to allow burst transfers of unknown length
US6199133B1 (en) * 1996-03-29 2001-03-06 Compaq Computer Corporation Management communication bus for networking devices
US5794072A (en) * 1996-05-23 1998-08-11 Vlsi Technology, Inc. Timing method and apparatus for interleaving PIO and DMA data transfers
US5901296A (en) * 1996-12-06 1999-05-04 International Business Machines Corporation Distributed scheduling for the transfer of real time, loss sensitive and non-real time data over a bus
US7012896B1 (en) * 1998-04-20 2006-03-14 Alcatel Dedicated bandwidth data communication switch backplane
US6009533A (en) * 1998-06-02 1999-12-28 Via-Cyrix, Inc. Speculative bus cycle acknowledge for 1/2X core/bus clocking
US6105099A (en) * 1998-11-30 2000-08-15 International Business Machines Corporation Method for synchronizing use of dual and solo locking for two competing processors responsive to membership changes
CN100520752C (zh) * 2004-03-26 2009-07-29 皇家飞利浦电子股份有限公司 数据处理系统和用于事务中止的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4090238A (en) * 1976-10-04 1978-05-16 Rca Corporation Priority vectored interrupt using direct memory access
IT1100916B (it) * 1978-11-06 1985-09-28 Honeywell Inf Systems Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4602327A (en) * 1983-07-28 1986-07-22 Motorola, Inc. Bus master capable of relinquishing bus on request and retrying bus cycle
US4627018A (en) * 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
US4763249A (en) * 1983-09-22 1988-08-09 Digital Equipment Corporation Bus device for use in a computer system having a synchronous bus
US4745548A (en) * 1984-02-17 1988-05-17 American Telephone And Telegraph Company, At&T Bell Laboratories Decentralized bus arbitration using distributed arbiters having circuitry for latching lockout signals gated from higher priority arbiters
JPS62280948A (ja) * 1986-05-29 1987-12-05 Fanuc Ltd バス調停方式
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
US5047921A (en) * 1989-01-31 1991-09-10 International Business Machines Corporation Asynchronous microprocessor random access memory arbitration controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013544001A (ja) * 2010-10-20 2013-12-09 クアルコム,インコーポレイテッド バスデバイスのヘルス情報に基づく通信バス上のバストランザクションのアービトレーションおよび関連する電力管理
US9064050B2 (en) 2010-10-20 2015-06-23 Qualcomm Incorporated Arbitrating bus transactions on a communications bus based on bus device health information and related power management

Also Published As

Publication number Publication date
US5276818A (en) 1994-01-04

Similar Documents

Publication Publication Date Title
US4737932A (en) Processor
JP4008987B2 (ja) バス通信システム及びバス調停方法並びにデータ転送方法
US6014729A (en) Shared memory arbitration apparatus and method
JP2002196974A (ja) ディジタル信号処理システム
JPH0666821B2 (ja) デ−タ通信コントロ−ラ
JPH11238033A (ja) 情報処理装置用バス、バス制御方法及びバス制御装置
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
US20030105899A1 (en) Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
JP2007219816A (ja) マルチプロセッサシステム
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH05197647A (ja) 入力/出力装置及びデータ転送方法
KR20020009823A (ko) 버스 시스템 및 그 버스 중재방법
US6098144A (en) Solid state data processor with versatile multisource interrupt organization
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
TW201316176A (zh) 記憶體控制元件
JP2002123484A (ja) バス・システム用の即時許可バス・アービタ
US7093058B2 (en) Single request data transfer regardless of size and alignment
US7006521B2 (en) External bus arbitration technique for multicore DSP device
US6721833B2 (en) Arbitration of control chipsets in bus transaction
JP2002091900A (ja) 多重トランザクションバスシステム・バスブリッジ用のタイムアウトカウンタ
US6684284B1 (en) Control chipset, and data transaction method and signal transmission devices therefor
JPH08314854A (ja) データ転送システムおよびこれに関連する装置
JP4928683B2 (ja) データ処理装置
JPS58105371A (ja) 多重計算装置とそれらに用いる通信バスの構造
JPH04134551A (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法