JPH0778780B2 - バス幅制御装置 - Google Patents

バス幅制御装置

Info

Publication number
JPH0778780B2
JPH0778780B2 JP61076982A JP7698286A JPH0778780B2 JP H0778780 B2 JPH0778780 B2 JP H0778780B2 JP 61076982 A JP61076982 A JP 61076982A JP 7698286 A JP7698286 A JP 7698286A JP H0778780 B2 JPH0778780 B2 JP H0778780B2
Authority
JP
Japan
Prior art keywords
data
bus
byte
address
transfer
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
Application number
JP61076982A
Other languages
English (en)
Other versions
JPS62232062A (ja
Inventor
浩司 三田
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP61076982A priority Critical patent/JPH0778780B2/ja
Publication of JPS62232062A publication Critical patent/JPS62232062A/ja
Publication of JPH0778780B2 publication Critical patent/JPH0778780B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータシステムに使用されてい
るデータバス幅を接続するメモリ装置や周辺装置のデー
タバスポート幅とアドレスとに応じて変更するバス幅制
御装置に係わり、特に、外部からのデータバスポート幅
情報信号の入力を必要としないバス幅制御装置に関す
る。
〔従来の技術〕
集積回路技術の進歩にともない、マイクロコンピュータ
システムの話長は4ビットから8ビット、8ビットから
16ビット、さらに最近ではミニコンピュータ並みの32ビ
ットにまで拡大してきた。一般に長い話長のマイクロコ
ンピュータシステムは一度に多くの情報をとり扱う事が
でき、それによって計算機の機能と性能の向上を著しく
高める事ができる。マイクロコンピュータシステムによ
り大規模なデータベースの参照や、長いキャラクタコー
ドを持つ日本語の処理、そして画像処理などを行う場合
は、もはや8ビットのマイクロコンピュータシステムで
は充分な処理ができず、長い語長を有するマイクロコン
ピュータシステムの構築は時代の要請であるともいえ
る。
マイクロコンピュータシステムが命令実行により操作す
る対象となるデータをオペランドデータという。一般に
マイクロコンピュータシステムでは、8ビットを1バイ
トとし、これをデータや命令語の単位とし、1バイト単
位のデータに番地付けをしている。
ところで、長い語長のマイクロコンピュータシステム
を、8ビット,16ビット,32ビットというような異なった
データバスポート幅を持つメモリ装置または周辺装置と
接続する際には、データ転送の手順をその転送相手のデ
ータバスポート幅に合わせて行うよう制御する必要があ
る。
バス幅制御(バスサイジング)はこの様な事情を背景に
生まれたものであり、データの転送を行う相手であるメ
モリ装置または周辺装置のデータバスポート幅と、転送
されるオペランドデータ長と、転送相手のアドレスとの
3要素に応じて、データ送受の手順を適応化させるもの
である。
ここで従来のバス幅制御装置の構成と動作とについて図
面を用いて説明する。第7図は従来のバス幅制御装置の
内部構成について、その一例を示したものである。第8
図は従来のバス幅制御を行うマイクロコンピュータシス
テムに16ビット幅のデータバスポートを持つメモリを接
続した例を示したものである。また、第9図は第8図に
示したメモリへ32ビットのオペランドデータを転送した
時の、従来のバス幅制御装置の動作を示したタイミング
チャートである。
まず第7図を用いて従来のバス幅制御装置の内部構成の
1例について説明する。転送データ長保持装置2215は命
令デコーダ2251からのオペランド長初期情報2252とアク
ティブバイト数判定装置2211からのアクティブバイト数
情報2214とに基づき2ビットの転送データ長情報2216を
形成し、これを出力する。アクティブバイト数判定装置
2211は、メモリまたは周辺素子のデータバスポート幅応
答論理から出力される2ビットのデータバスポート幅応
答信号2243と転送データ長情報2216と物理アドレスの下
位2ビットA1,A0とから、転送に有効に使用するデータ
バスのバイト数を求めアクティブバイト数情報2214を出
力する。シフト制御装置2213はアクティブバイト数情報
2214に基づきシフト制御信号2253を出力する。データブ
ロック配置制御手段2212は転送データ長情報2216と物理
アドレス下位2ビットA1,A0とに基づき配置制御信号22
54を出力する。物理アドレス生成装置2221は、アクティ
ブバイト数情報2214に基づき同一オペランドデータの転
送に係る物理アドレスをバスサイクルごとに更新する。
データバスポート2261はバイト単位に下位からDP0,D
P1,DP2,DP3の4つのブロックに分かれており、それぞ
れのブロックは外部データバス2231の第7〜第0ビッ
ト,第15〜第8ビット,第23〜第16ビット,第31〜第24
ビットにそれぞれ接続している。バッファ2263は、同様
にバイト単位に下位からBF0,BF1,BF2,BF3の4つのブ
ロックより成り立っている。オペランドラッチ2265は下
位からバイト単位にOL0,OL1,OL2,OL3の4つのブロッ
クより成り立っている。マルチプレクサ2262は配置制御
信号2254に従いデータバスポート2261のブロックDPi
(i=0,1,2,3)とバッファ2263のブロックBFj(j=0,
1,2,3)とを接続する。シフタ2264はシフト制御信号225
3の制御によって、バッファ2263のブロックBFj(j=0,
1,2,3)とオペランドラッチ2265のブロックOLk(k=0,
1,2,3)とを接続する。初期状態ではj=kなるように
ブロックBFjとOLkとが接続している。
次に、第8図を用いて従来のバス幅制御を行うマイクロ
コンピュータシステムの構成を説明する。第8図は、2
バイトのデータバスポート幅のメモリを接続した例であ
る。アドレスデコーダ2321は、物理アドレスがこのメモ
リの領域であるときにメモリ選択信号2341をアクティブ
にする。データバスポート幅応答論理2322は従来のバス
幅制御装置にとって必須のものであり、メモリ選択信号
2341がアクティブになった時に当該素子のデータバスポ
ート幅を示すデータバスポート幅応答信号2243を出力す
る。バイト選択論理2323も従来のバス幅制御装置にとっ
て必須のものであり、転送データ長情報2216と物理アド
レス下位2ビットA1,A0とに基づき、2バイト幅のメモ
リの上位バイト、下位バイトのそれぞれを選択するバイ
ト選択信号2324をアクティブにする。ANDゲート2332−
0,1はバイト選択信号2324−0,1とメモリ選択信号2341が
共にアクティブな時、それぞれメモリ装置2331−0,1を
選択する。読み出し/書き込み制御信号2312はハイレベ
ルなら読み出し動作を、ロウレベルならば書き込み動作
を、メモリ装置や周辺装置に対して指定する。ストロー
ブ信号2311は、メモリ装置や周辺装置にデータの読み、
書きのタイミングを指定するものである。
続いて、第8図に示すような2バイトのデータバスポー
ト幅を持つメモリの偶数番地へ4バイトデータを書き込
む場合について、従来のバス幅制御装置の動作を第9図
のタイミングチャートを用いて説明する。
32ビットのオペランドデータは、下位よりバイト単位に
DB0,DB1,DB2,DB3の4つのデータブロックに分かれて
いる。バスサイクル開始の時点で、オペランドデータは
オペランドラッチ2265に格納されている。
1回目のバスサイクル(T=1)の開始の時点で、シフ
タ2264はj=kなるようにブロックBFjとOLkとを接続し
ている。第9図に示すように、S0のタイミングで転送デ
ータ長保持装置2215は、4バイト長のデータが転送の対
象になる事を示す(00)を転送データ長情報2216として
出力する。それを受けてデータブロック配置制御装置22
12は、i=jとなるようにブロックDPiとBFjとを接続す
るようにマルチプレクサ2262に指示する。その結果、S1
のタイミングからデータバス2231のD7〜D0にDB0,D15
D8にDB1,D23〜D16にDB2,D31〜D24にDB3が出力され
る。一方、第8図に示したバイト選択論理2323は、物理
アドレス下位2ビットA1,A0が00であり、転送データ長
情報2216が4バイト長を示している事から、バイト選択
信号2324に両方のメモリ装置を選択する(11)を出力す
る。この結果、データブロックDB0はメモリ装置2331−
0に、DB1はメモリ装置2331−1に転送される。
データバスポート幅応答論理2322は、S2のタイミングで
2バイト幅を示す(10)のポート幅応答信号2243を出力
する。アクティブバイト数判定装置2211はこれを判別
し、S4のタイミングでアクティブバイト数が2である事
を示すアクティブバイト数情報2214を出力する。シフト
制御装置2213はアクティブバイト数情報2214より次のバ
スサイクルでのシフトバイト数を(2)に定め、S5のタ
イミングでシフト制御信号2253を出力する。
2回目のバスサイクル(T=2)のS0のタイミングで、
物理アドレス生成装置2221は、1回目のバスサイクルに
おける物理アドレスに2を加えて出力する。また転送デ
ータ長保持装置2215はアクティブバイト数情報2214が
(2)である事から転送データ長の値を2減じ、S0のタ
イミングで2バイトを示す(10)の転送データ長情報22
16を出力する。データブロック配置制御装置2212は更新
されたアドレスA1,A0と、転送データ長情報2216とから
マルチプレクサ2262に対し配置制御信号2254をS1のタイ
ミングで出力する。マルチプレクサ2262とシフタ2264は
それぞれ配置制御信号2254とシフト制御信号2253の制御
の下で、ブロックDP0とBF0とOL2と、ブロックDP1とBF1
とOL3とを接続する。その結果、S1のタイミングでデー
タバス2231のD7〜D0にDB2,D15〜D8にDB3が出力する。
1回目のバスサイクルと同様に選択信号2324が出力し、
データブロックDB2はメモリ装置2331−0に、データブ
ロックDB3はメモリ装置2331−1に転送される。一方、
データバスポート幅応答論理2322は、S2のタイミングで
2バイトを示す(10)のポート幅応答信号2243を出力す
る。アクティブバイト数判定装置2211はこれを判別し、
S4のタイミングでアクティブバイト数情報2214を出力し
アクティブバイト数が2バイトである事を示す。転送デ
ータ長保持装置2215は保持しているデータ長から2を減
じた結果が0であるから、このオペランドデータに関す
る全ての転送を終了した事を検知し、その結果次のオペ
ランドデータの転送に係るバスサイクルに入る。
このように従来のバス幅制御装置は、アドレス出力のデ
コードの結果返却されるデータポート幅応答信号を受け
た後に次のバスサイクルで必要となるデータバスとデー
タブロックとの接続制御を実行している。また、メモリ
装置や周辺装置は、バス幅制御装置から出力する転送デ
ータ長情報とアドレス情報とから、バイト単位の素子選
択信号を生成する論理回路を設けている。
〔発明が解決しようとする問題点〕
以上説明した従来のバス幅制御装置は、次のような欠点
を有している。まず第一に、通常のバスサイクルはアド
レスの出力とデータの確定という2クロックで基本的に
成り立っているが、従来のバス幅制御装置では毎回のバ
スサイクルにメモリまたは周辺装置のポート幅応答信号
を解釈してデータブロックを再配置するための期間を1
クロック分さらに加えなければならない。このために、
従来のバス幅制御装置を有するマイクロコンピュータシ
ステムは、オペランドデータの転送動作がネックとなっ
て命令の実行性能が向上しない。第二に、データバスポ
ート幅をマイクロコンピュータに対して応答するため
と、バイト単位の装置選択のために、各メモリ装置また
は周辺装置はそれぞれ外付けの論理回路を組まなければ
ならない。このため、従来のバス幅制御装置を用いたマ
イクロコンピュータシステムの回路構成は複雑化し、そ
の実装効率と信頼性はいちぢるしく低下していた。
本発明は上記の欠点を解決し、外付け回路が不要なバス
幅制御装置を提供するものである。
〔問題点を解決するための手段〕
本発明は、アドレス空間を複数の領域に分け各領域のデ
ータバスポート幅情報を保持するデータバスポート幅情
報保持手段と、転送されるデータに関する物理アドレス
が上記アドレス空間のいずれの領域に存在するかを判別
しその判別情報を前記データバスポート幅情報保持手段
に与えるアドレス判別手段と、転送されるデータの長さ
を保持する転送データ長保持手段と、転送先の物理アド
レスおよび前記転送データ長保持手段の出力するデータ
の長さならびに前記データバスポート幅情報保持手段の
出力するデータバスポート幅情報に基づいてデータの転
送に使用するデータバスポートを選択するデータバスポ
ート選択手段と、転送されるデータを選択されたデータ
バスポートに対応させるデータ配置制御手段と、転送さ
れたデータに対応するアドレスだけ物理アドレスを更新
する物理アドレス更新手段とを備えたことを特徴とす
る。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を示したブロック図で
ある。本実施例では内部データバス、外部データバスと
も32ビットのマイクロコンピュータシステムについて説
明するが、これは本発明を8ビットや16ビットや32ビッ
トより長い語長を持つマイクロコンピュータシステムに
適用する事を妨げるものではない。
第1図において、アドレス判別手段としてのアドレス判
別回路111は、アドレスバス104上の物理アドレスがどの
領域に相当するかを判別し、その結果をアドレス領域情
報113として出力する。データバスポート幅情報保持手
段としてのポート幅保持レジスタ112は、物理アドレス
空間の領域ごとにメモリ装置または周辺装置のデータバ
スポート幅の情報を保持する。ポート幅保持レジスタ11
2は、その内容を読み出し、および書き込みする事が可
能であり、アドレス領域情報113が入力した時にはあら
かじめプログラムしてある該当する領域のメモリ装置ま
たは周辺装置のデータバスポート幅をポート幅情報121
として出力する。
転送データ長保持手段としての転送データ長保持装置13
7は、命令デコーダ103からのオペランド長初期情報122
とアクティブバイト数情報123とに基づきバスサイクル
ごとに転送データ長情報143を更新し、これを出力す
る。
データブロック配置制御装置131、シフト制御装置161、
データバスポート132、マルチプレクサ133、バッファ13
4、シフタ135、オペランドラッチ136は、特許請求範囲
で述べたデータ配置制御手段Xを構成する。データブロ
ック配置制御装置131は、転送データ長情報143と物理ア
ドレスの下位2bitA1,A0とから、バスサイクルごとに対
応制御信号141を更新して出力する。シフト制御装置161
はアクティブバイト数情報123からシフト制御信号142を
更新して出力する。データバスポート132はバイト単位
に下位からDP0,DP1,DP2,DP3の4つのブロックに分割
されている。それぞれのブロックDP0〜DP3は、外部デー
タバス105の第7〜第0ビット、第15〜第8ビット、第2
3〜第16ビット、第31〜第24ビットに接続されているが
アクティブなバイト選択信号152に対応するバイトのみ
がデータバスと電気的に接続する。バッファ134は32ビ
ットのレジスタであり、バイト単位に下位からBF0,B
F1,BF2,BF3の4つのブロックに分割されている。オペ
ランドラッチ136は32ビットのレジスタであり、下位か
らバイト単位にOL0,OL1,OL2,OL3の4つのブロックで
成り立っている。それぞれのブロックは内部データバス
101の、第7〜第0ビット、第15〜第8ビット、第23〜
第16ビット、第31〜第24ビットに接続されている。マイ
クロコンピュータの内部では、オペランドデータの読み
出し/書き込みは、このオペランドラッチ136との転送
動作として実現され、全てのオペランドデータの最下位
ビットはオペランドラッチ136の最下位ビットに対応す
るように取り扱う。マルチプレクサ133は対応制御信号1
41の制御の下で、データバスポート132のブロックDPi
(i=0,1,2,3)、バッファ134のブロックBFj(j=0,
1,2,3)とを接続する。シフタ135はシフト制御信号142
の制御の下でバッファ134のブロックBFj(j=0,1,2,
3)とオペランドラッチ136のブロックOLk(k=0,1,2,
3)とを接続する。
データバスポート選択手段としてのバイト選択制御装置
138は、ポート幅情報121と転送データ長情報143と物理
アドレス下位2ビットA1,A0とを受けて、バスサイクル
ごとにバイト選択信号152を更新し出力する。バイト選
択信号152はバイト単位にアクティブなデータバスを示
す信号であり、下位バイトからBE0,BE1,BE2,BE3の4
本の信号から成り立っている。バイト選択制御装置138
は、アクティブなバイト選択信号152の数をアクティブ
バイト数情報123として出力する。
物理アドレス更新手段としての物理アドレス成形装置10
2は、アクティブバイト数情報123によりバスサイクルご
とに物理アドレスを更新し、アドレスバス104に出力す
る。
次に転送データ長保持装置137の動作について説明す
る。転送データ長保持装置137はバスサイクルに同期し
て転送データ長情報143を以下に述べるように更新す
る。転送データ長のバイト数をDL(T)、アクティブバ
イト数情報123として入力するアクティブなデータバス
のバイト数をAB(T)、オペランドデータの初期データ
長をLOとする。ここでTはバスサイクルの数を表わしか
つ第1回目のバスサイクルではT=1である。DL(T)
は転送データ長情報143の値であり、L0はオペランドデ
ータ長初期情報122の値である。転送データ長保持装置1
37は、これらの変数の間を次の様に関係づける。
DL(1)=L0 DL(T+1)=DL(T)−AB(T) DL(T+1)=0となるT番目のバスサイクルで1オペ
ランドデータの転送動作を終る。そして転送データ長保
持装置137は次のオペランドデータの転送のため、再び
オペランド長初期情報122を入力する。
シフト制御装置161はバスサイクルTにおけるシフトの
バイト数をSB(T)とすると、 SB(T+1)=SB(T)+AB(T) SB(1)=0、 となるように動作する。ただし、上記のシフトバイト数
SB(T)の更新は次バスサイクルの半クロック前に行
い、シフト制御信号142として出力する。DL(T+1)=
0となる時にSB(T+1)=0とする。
物理アドレス生成装置102は1オペランドデータ転送に
おいて次のようにアドレス更新動作を行う。バスサイク
ルTにおける物理アドレスをAD(T)、バスサイクルT
におけるアクティブバイト数をAB(T)とすれば、 AD(T+1)=AD(T)+AB(T) 物理アドレス生成装置102は、新たなバスサイクルの半
クロック前に物理アドレスの更新動作を行う。更新動作
の半クロック後、アドレスはアドレスバス104上に出力
する。アクティブバイト数情報123による物理アドレス
の更新は、転送データ長保持装置137においてDL(T
1)=0となるバスサイクルTまで続く。
続いてデータブロック配置制御装置131の働きについて
説明する。どのようなデータバスポート幅を持つメモリ
装置または周辺装置ともデータの転送を可能とするため
には、そのバスサイクルで転送に係るデータの長さと転
送相手のアドレスに応じて、データバスポート132のブ
ロックとバッファ134のブロックを一意に接続しなけれ
ばならない。その接続方法を示したのが別表1である。
例えば、1バイトのデータを物理アドレス下位2ビット
A1,A0が10であるメモリ装置または周辺装置と転送する
場合、ブロックDP0とBF0、DP1とBF0、DP2とBF0、DP3とB
F0がそれぞれ接続される。また例えば、3バイトのデー
タをA1A0=01なるアドレスのメモリ装置または周辺装置
と転送する場合は、ブロックDP0とBF0、DP1とBF0、DP2
とBF1、DP3とBF2がそれぞれ接続される。データブロッ
ク配置制御装置131は、転送データ長情報143と物理アド
レスの下位2ビットA1,A0とから、別表1に示した接続
対応を対応接続信号141を用いてマルチプレクサ133に実
行させるものである。配置制御装置131はバスサイクル
に同期して、対応制御信号141を更新する。
次に、バイト選択制御装置138の働きについて説明す
る。一般に、バイト単位にブロック分けしたデータバス
の内、有効なデータが転送されるブロックは、転送され
るデータの長さと、転送相手のアドレスと、転送相手の
データバスポート幅により一意に定まる。別表2は、こ
の関係に従って、バイト選択制御装置138がアクティブ
にするバイト選択信号152を示したものである。別表2
において、ポート幅情報121がバイトであるものは記号
Bで、2バイトであるものは記号Wで、4バイトである
ものは記号Lで、バイト選択制御装置138がアクティブ
にするバイト選択信号152を示している。例えば、1バ
イトのデータをA1A0=11なるアドレスのメモリまたは周
辺装置と転送する場合、メモリまたは周辺装置のデータ
バスポート幅が1バイトである時はBE0がアクティブに
なり、データバスポート幅が2バイトである時はBE1
アクティブになり、データバスポート幅が4バイトであ
る時はBE3がアクティブになる。また例えば、4バイト
のデータをA1A0=00なるアドレスのメモリ装置または周
辺装置に転送する場合は、メモリ装置または周辺装置の
データバスポート幅が1バイトである時はBE0がアクテ
ィブになり、データバスポート幅が2バイトである時は
BE0とBE1がアクティブになり、データバスポート幅が4
バイトである時はBE0とBE1とBE2とBE3がアクティブにな
る。バイト選択制御装置138は、ポート幅情報121と転送
データ長情報143と物理アドレスの下位2ビットA1,A0
とから、別表2に示した該当するバイト選択信号152を
アクティブにする。
また、別表2の右側には、前述したそれぞれの場合にア
クティブになるデータバスのバイト数を示す。例えば、
3バイトデータをA1,A0=00なるアドレスのメモリまた
は周辺装置と転送する場合、転送相手のデータバスポー
ト幅が1バイトである時はアクティブバイト数は1であ
り、データバスポート幅が2バイトである時はアクティ
ブバイト数は2でありデータバスポート幅が4バイトで
ある時はアクティブバイト数は3である。バイト選択制
御装置138は、別表2に示した値のアクティブバイト数
情報123を出力する。
第2図に、本実施例におけるメモリまたは周辺装置とア
ドレスバス、データバスの接続の1例として、32ビット
データバスポート幅のメモリ装置との接続を示した。本
例では、アドレスバスは32ビットであるとしている。メ
モリ装置405−0〜405−3はおのおの8ビットのデータ
バスポート幅を持つチップで、それぞれバイト単位にデ
ータバス105−0〜105−3に接続している。下位ビット
を除く16ビットのアドレスバス411は各メモリ装置のア
ドレス入力に接続されている。それより上位のアドレス
バス404はアドレスデコーダ406に入力し、デコードした
結果はメモリ選択信号407として出力する。4本のバイ
ト選択信号152−0〜152−3はメモリ選択信号407とAND
ゲート400−0〜400−3とで論理積をとり、それぞれの
メモリ素子405−0〜405−3のチップ選択に入力する。
ストローブ信号408は各メモリ装置のチップイネーブル
信号に入力する。リード・ライト制御信号409は各メモ
リ装置405−0〜405−3のリード・ライト制御に入力す
る。以上の構成で、アドレスデコーダ406がメモリ選択
信号407をアクティブにするところの物理アドレス領域
を持つ、32ビットデータバスポート幅のメモリが実現す
る。本実施例のバス幅制御装置では、従来例で述べたバ
イト選択論理やデータバスポート幅応答論理のような特
別な外付け回路は不要である。
次に、本実施例の具体的な動作について例を用いて説明
する。ポート幅保持レジスタ112にはあらかじめプログ
ラムで別表3に示した情報が格納されているとする。
まず0000 0000H番地に4バイトデータを書く場合につい
て述べる。この領域の周辺データバスポート幅は、別表
3に示すように2バイト=16ビットである。説明のため
に、第3図(A)(B)のブロック図と第3図(A)
(B)に対応する別表4(A)(B)と第4図のタイミ
ングチャートとを用いる。ブロック図ではバスサイクル
ごとにデータバスポート132のブロックDPiとバッファ13
4のブロックBFjとオペランドラッチ136のブロックOLkと
の接続対応を示してある。タイミングチャートには、バ
スサイクル、クロック、アドレス出力、バイト選択信号
152、データ出力、リード・ライト信号409等のタイミン
グが示してある。
はじめにオペランドラッチ136に4バイトのデータが格
納される。第1のバスサイクルT=1の直前のS3のタイ
ミングにおいて物理アドレス生成装置102はこのオペラ
ンドデータの転送先アドレス00000000Hを保持する。ア
ドレス判別回路111はこの番地の領域を判別し、アドレ
ス領域情報113をもってポート幅保持レジスタ112に知ら
せる。ポート幅保持レジスタ112は、2バイトであると
いうポート幅情報121をS0のタイミングで出力する。物
理アドレス生成装置102はT=1のS0のタイミングでア
ドレスバス104上に物理アドレスを出力する。一方、命
令デコーダ103からのオペランドデータ長初期値L0が4
バイトであるから、転送データ長保持装置137は、転送
データバイト数DL(1)=L0=4を転送データ長情報143と
してS0のタイミングで出力する。シフト制御装置161は
T=1のバスサイクルのはじめではシフトバイト数SB
(1)=0をシフト制御信号142として出力している。また
データブロック配置制御装置131は、物理アドレスの下
位2ビットA1,A0が00であり、転送データバイト数DL
(1)=4である事から、別表1に示したDPiとBFjの対
応、すなわちDP0とBF0、DP1とBF1、DP2とBF2、DP3とBF3
を接続するという事を、対応制御信号141をもってマル
チプレクサ133に指示する。その結果、ブロックOL0とBF
0とDP0が、ブロックOL1とBF1とDP1が、ブロックOL2とBF
2とDP2が、ブロックOL3とBF3とDP3がそれぞれ接続され
る。一方、バイト選択制御装置138は、ポート幅が2バ
イト、転送データ長が4バイト、物理アドレスのA1,A0
が00である事から、別表2に示した関係に従い、バイト
選択信号152の内BE0とBE1をアクティブレベルの1にし
てS0のタイミングから出力する。この時のアクティブな
データのバイト数はAB(1)=2であり、バイト選択制御
装置138はアクティブバイト数情報123として、これをS1
のタイミングで出力する。
その結果、第3図(A)に示した様にオペランドラッチ
136とバッファ134とデータバスポート132の各ブロック
が接続し、S1のタイミングで、オペランドデータの第15
〜第0ビットが外部データバス105の第15〜第0ビット
に出力する。
1回目のバスサイクルT=1の最後で転送データ長保持
装置137は、次のバスサイクルの転送データのバイト数
を計算する。
DL(2)=DL(1)−AB(1)=4−2=2≠0であるから、こ
のオペランドデータ転送に係る2回目のバスサイクルに
入る事を決定する。T=1のS3のタイミングで、シフト
制御装置161はシフトバイト数をSB(2)=SB(1)+AB(1)
0+2=2と更新してシフト制御信号142として出力す
る。T=1のS3のタイミングで、物理アドレス生成装置
102はAB(1)=2であるから物理アドレスを00000002H番
地に更新する。更新されたアドレスはT=2のS0のタイ
ミングでアドレスバス104上に出力する。
1回目のバスサイクルの場合と同様にアドレス判別回路
111において領域の判定が行なわれポート幅情報121とし
て2バイトがT=2のS0のタイミングで出力する。転送
データ長保持装置137は2回目のバスサイクルのS0のタ
イミングで、DL(2)=2という転送データ長情報143を出
力する。
バイト選択制御装置138はS0のタイミングで転送データ
バイト数DL(2)=2、ポート幅が2バイト、物理アドレ
ス下位2ビットA1,A0=10であるから、別表2に示した
関係に従ってバイト選択信号152のBE0とBE1をアクティ
ブレベルの1にする。またアクティブバイト数AB(2)
2をS1のタイミングでアクティブバイト数情報123とし
て出力する。データブロック配置制御装置131は、転送
データ長が2バイト、物理アドレスA1,A0が10である事
から別表1に示したDPiとBFjの対応付け、すなわちDP0
とBF0、DP1とBF1、DP2とBF0、DP3とBF1とを接続する事
を指示する対応制御信号141をS1のタイミングで出力す
る。その結果、DPiとBFjとOLkは第3図(B)に示した
ようにマルチプレクサ133とシフタ135によって対応接続
し、バイト選択信号152のBE1とBE0がアクティブである
から、S1のタイミングでオペランドデータの第31〜第16
ビットがデータバスの第15〜第0ビットに出力する。
2回目のバスサイクルT=2の最後で転送データ長保持
装置137は次のバスサイクルの転送データのバイト数を
計算し、 DL(3)=DL(2)−AB(2)=2−2=0 となるから、このオペランドデータに係る転送バスサイ
クルを終了する。シフト制御装置161はS3のタイミング
で、次バスサイクルのシフトバイト数をSB(1)=0に更
新する。物理アドレス生成装置102はS3のタイミングで
次オペランドデータのアドレスを保持する。この様にし
て4バイトのオペランドデータは、下位バイトから順に
00000000H番地〜00000003H番地のメモリに格納される。
次に第2の例として、2バイト=16ビットのデータを00
030001H番地から読み出す場合について述べる。この領
域の周辺データバスポート幅は別表3に示すように2バ
イトである。説明のために、第5図(A)(B)のブロ
ック対応図と第5図(A)(B)に対応する別表5
(A)(B)と第6図のタイミングチャートを用いる。
第1のバスサイクルT=1の直前のR3のタイミングで物
理アドレス生成装置102はこのオペランドデータの転送
相手のアドレス00030001Hを保持する。アドレス判別回
路111はこの番地の領域を判別し、アドレス領域情報113
をもってポート幅保持レジスタ112に知らせる。ポート
幅保持レジスタ112は、T=1のS0のタイミングで、2
バイトであるというポート幅情報121を出力する。物理
アドレス生成装置102は、T=1のS0のタイミングでア
ドレスバス104上に物理アドレスを出力する。一方、命
令デコーダ103からのオペランドデータ長初期値L0が2
バイトを示しているから、転送データ長保持装置137
は、転送データバイト数DL(1)=L0=2を転送データ長
情報143としてS0のタイミングで出力する。
バイト選択制御装置138は、ポート幅が2バイト、転送
データ長が2バイト、物理アドレスの下位2ビットA1
A0が0,1である事から、別表2に示した関係に従い、バ
イト選択信号152の内BE1をアクティブレベルの1にし
て、S0のタイミングから出力する。この時のアクティブ
なデータバスのバイト数AB(1)は1であり、バイト選択
制御装置138はアクティブバイト数情報123として、これ
をS1のタイミングで出力する。
一方、シフト制御装置161は、T=1のバスサイクルの
はじめではシフトバイト数SB(1)=0をシフト制御信号1
42として出力している。またデータブロック配置制御装
置131は、物理アドレスの下位2ビットA1,A0が01であ
り、転送データバイト数DL(1)=2である事から、別表
に示したDPiとBFjの対応、すなわちDP0とBF0,DP1とB
F0、DP2とBF1、DP3とBF0を接続するという事を対応制御
信号141をもってマルチプレクサ133に指示する。また、
バイト選択信号152のBE1がアクティブであるからDP1
みが外部データバス105の第15〜第8ビットに接続す
る。その結果、データバスの第15〜第8ビットが、第5
図(A)に示すようにDP1とBF0とを通し、OL0と接続対
応する事になる。読み/書き制御信号409がハイレベル
で読み出しを指示しているので、ストローブ信号がアク
ティブになるS1のタイミングで、BE1に接続しているメ
モリ素子すなわち外部データバス105の第15〜第8ビッ
トに接続しているメモリ素子から読み出しデータがデー
タバス104上に出力する。このデータは前述の接続を通
して、オペランドラッチ136のOL0ブロックに格納され
る。こうして、2バイトデータの内の00030001H番地に
ある下位1バイトがオペランドラッチ136の最下位バイ
トブロックに格納される。
T=1の最後で転送データ長保持装置137は、次のバス
サイクルの転送データのバイト数を計算し、 DL(2)=DL(1)−AB(1)=2−1=1≠0 であるから、本オペランドデータの転送に係る2回目の
バスサイクルに入る事を決定する。T=1のS3のタイミ
ングでシフト制御装置161はシフトバイト数を SB(2)=SB(1)+AB(1)=0+2=2 と更新して、シフト制御信号142として出力する。T=
1のS3のタイミングで物理アドレス生成装置102はAB(1)
=1であるから、物理アドレスを00030002H番地に更新
する。更新したアドレスは、T=2のS0のタイミングで
アドレスバス104上に出力する。
2回目のバスサイクルT=2も、T=1の場合と同様の
動作によって、第5図(B)に示すように、2バイトデ
ータの内00030002H番地にある上位の1バイトデータが
オペランドラッチ136のOL1ブロックに格納される。この
過程は、T=1の場合と同様であるので説明は省略す
る。ただし、アクティブバイト数はAB(2)=1である。
T=2の最後で転送データ長保持装置137は次のバスサ
イクルの転送バイト数を計算し、 DL(3)=DL(2)=AB(2)=1−1=0 となるから、本オペランドデータに係る転送バスサイク
ルの終了を決定する。この時点で、オペランドラッチ13
6はその下位2バイトのデータブロックOL1,OL0に00030
001Hにあった16ビットデータを格納している。
シフト制御装置161はT=2のS3のタイミングで、次オ
ペランド転送のバスサイクルのシフトバイト数をSB(1)
=0に更新する。物理アドレス生成装置102はS3のタイ
ミングで、次オペランドデータのアドレスを保持する。
この様にして、本実施例のバス幅制御装置は、オペラン
ドデータの読み出し動作を完了する。
この他、オペランドデータ長、転送相手のアドレス、転
送相手のデータバスポート幅、読み出し、書き込みが様
々に異なる場合の動作も、容易に類推可能である。
〔発明の効果〕
以上説明したように本発明は、アドレス判別手段とポー
ト幅保持手段とを設ける事によって、従来のバス幅制御
装置が必要としていた、ポート幅応答信号の解釈とデー
タブロック再配置のための余分な1クロックを除く事が
できる。そのため1バスサイクルをバス幅制御のため特
別に伸ばす必要がなく、命令実行の性能を上げる事がで
きる。またポート幅情報を内部に保持しているためアク
ティブなデータバスの選択信号をバスサイクルの最初に
生成する事ができ、従来のバス幅制御装置のように複雑
なデコード用外付け回路を必要としない。そのため、マ
イクロコンピュータシステムを少ない部品点数で構成で
き実装効率や信頼性向上の面で非常に有効である。高性
能、高機能な長語長のマイクロコンピュータが様々なシ
ステムで使われようとしている現在、その性能をそこね
ることなく、少ない部品点数で、柔軟なシステムを構築
できる本発明のバス幅制御装置の実用価値は多大なもの
がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は一実施例の適用を示すブロック図、第3図(A)
(B)は一実施例の作用を示すためのブロック対応図、
第4図は一実施例のタイミングチャート図、第5図
(A)(B)は一実施例の他の作用を示すためのブロッ
ク対応図、第6図は一実施例の他の作用状態におけるタ
イミングチャート図、第7図は従来例のブロック図、第
8図は従来例の適用を示すブロック図、第9図は従来例
のタイミングチャート図である。 102……物理アドレス更新手段、111……アドレス判別手
段、112……データバスポート幅情報保持手段、137……
転送データ長保持手段、138……データバスポート選択
手段、X……データ配置制御手段。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ転送相手のデータバスポート幅に対
    応した転送データのバス幅制御を行うバス幅制御装置に
    おいて、 アドレス空間を複数の領域に分け各領域のデータバスポ
    ート幅情報を保持するデータバスポート幅情報保持手段
    と、 転送されるデータに関する物理アドレスが上記アドレス
    空間のいずれの領域に存在するかを判別しその判別情報
    を前記データバスポート幅情報保持手段に与えるアドレ
    ス判別手段と、 転送されるデータの長さを保持する転送データ長保持手
    段と、 転送相手の物理アドレスおよび前記転送データ長保持手
    段の出力するデータの長さならびに前記データバスポー
    ト幅情報保持手段の出力するデータバスポート幅情報に
    基づいてデータの転送に使用するデータバスポートを選
    択するデータバスポート選択手段と、 転送されるデータを選択されたデータバスポートに対応
    させるデータ配置制御手段と、 転送されたデータに対応するアドレスだけ物理アドレス
    を更新する物理アドレス更新手段と を備えたことを特徴とするバス幅制御装置。
JP61076982A 1986-04-02 1986-04-02 バス幅制御装置 Expired - Lifetime JPH0778780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61076982A JPH0778780B2 (ja) 1986-04-02 1986-04-02 バス幅制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61076982A JPH0778780B2 (ja) 1986-04-02 1986-04-02 バス幅制御装置

Publications (2)

Publication Number Publication Date
JPS62232062A JPS62232062A (ja) 1987-10-12
JPH0778780B2 true JPH0778780B2 (ja) 1995-08-23

Family

ID=13620983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61076982A Expired - Lifetime JPH0778780B2 (ja) 1986-04-02 1986-04-02 バス幅制御装置

Country Status (1)

Country Link
JP (1) JPH0778780B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0276028A (ja) * 1988-09-13 1990-03-15 Mitsubishi Electric Corp データ処理装置
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
JPH03238548A (ja) * 1990-02-15 1991-10-24 Matsushita Electric Ind Co Ltd データ転送方式およびバスインターフェイス装置
JPH0520197A (ja) * 1991-07-09 1993-01-29 Hitachi Ltd 記憶管理システム及びマイクロプロセツサ
JP5207330B2 (ja) * 2003-07-07 2013-06-12 株式会社メガチップス 画像出力装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5435644A (en) * 1977-08-25 1979-03-15 Hitachi Ltd Information transfer system

Also Published As

Publication number Publication date
JPS62232062A (ja) 1987-10-12

Similar Documents

Publication Publication Date Title
KR100341948B1 (ko) 제어된버스트메모리액세스기능을갖는데이타처리기및그방법
US6272596B1 (en) Data processor
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
CN101313290B (zh) 对仅m×n位外围设备执行n位写入访问的系统和方法
JPH0778780B2 (ja) バス幅制御装置
US4575796A (en) Information processing unit
US6230238B1 (en) Method and apparatus for accessing misaligned data from memory in an efficient manner
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
US4751632A (en) Data processor having multiple cycle operand cycles
US20010023481A1 (en) Processor that executes control signals included in operand section of control instruction
JPH01205339A (ja) マイクロコンピュータシステム
JPH0232647B2 (ja)
JP2671325B2 (ja) データ処理装置
JPH0683618A (ja) フラグ制御回路
SU894715A1 (ru) Микропроцессор
JP2814543B2 (ja) 信号選択伝送回路とそのタスク処理方法
JPS6362065A (ja) デ−タ転送制御方式
JPH02128286A (ja) 標準パタン読出し回路
JPH0991272A (ja) ベクトルデータ処理装置
JPH0668055A (ja) ディジタル信号処理装置
JPS642971B2 (ja)
JPH04245556A (ja) 命令メモリ
JPS6031656A (ja) マイクロコンピュ−タ評価用lsi