JP2718292B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP2718292B2 JP2718292B2 JP3184253A JP18425391A JP2718292B2 JP 2718292 B2 JP2718292 B2 JP 2718292B2 JP 3184253 A JP3184253 A JP 3184253A JP 18425391 A JP18425391 A JP 18425391A JP 2718292 B2 JP2718292 B2 JP 2718292B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- signal
- bus cycle
- data 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
Description
幅のシステムに対応するマイクロプロセッサのデータ転
送に関する。
ステムでは、マイクロプロセッサと命令コードやオペラ
ンド・データを格納するメモリの間でデータ転送するデ
ータ・バスのビット幅が、処理性能に対して影響を与え
る。
2のべき乗が代表的である。広いバス幅を用いること
で、データの最大転送能力が高まり、幅の広いデータを
取り扱う頻度が大きなアプリケーションほど広いバス幅
の恩恵を受けることになる。
次のようなコスト面のトレードオフが生じる。
とえば8ビット×128KワードのダイナミックRAM
チップを用いる場合、8ビット・バスでは1ケで最低構
成のメモリが構築できる。一方16ビット・バスでは、
最低構成するのに2ケのRAMチップを要する。必要と
するメモリ容量が128Kバイト以内の場合、後者では
128バイトの無駄な記憶容量を実装することになる。
広いバス幅のメモリ・システムでは、このような無駄領
域(一般にフラグメンテーションと呼ばれる)が生じる
ことになる。
用すれば、マイクロプロセッサからメモリ・システムに
データ・バスを物理的に接続するための配線(プリント
基板上のパターン。またはマイクロプロセッサを含む基
板と、メモリ・システムを含む基板を接続するための配
線)が、倍増していく。プリント基板上のパターン上に
は、LSI等の部品/その他のパターンを配置できない
ため、システム全体の物理的サイズが増加する。
ロプロセッサとメモリ・システムとを接続するデータ・
バスの駆動には、電流や静電容量、耐雑音への考慮のた
め、大きなドライブ能力を必要とする。マイクロプロセ
ッサ、およびメモリ・チップにはデータ・バスを駆動す
るに十分な能力を有したバッファを内蔵できないため、
外部にデータ・バッファ用の集積回路が必要になる。デ
ータ・バッファは高いドライブ能力を持つ半面、消費電
力が大きい。このため、システム全体で大きな熱発生の
原因となったり、より大きな能力を持つ電源装置を必要
とすることになる。
ス幅を広げることが考えられる。これを実現するために
は、ソフトウェアの書換えをすることなしに移行できる
ことが望まれる。
ド等のアーキテクチャが同一で、データ・バス幅の異な
るマイクロプロセッサが用意される。
プロセッサV20/V30は、同一のアーキテクチャを
持ち、内部処理を16ビットで行うマイクロプロセッサ
である。ただし、前者は8ビット、後者は16ビット幅
のデータ・バス端子を持つ。その他バス幅が異なりデー
タ転送能力に差があるため、命令プリフェッチ・バッフ
ァの容量に差がある(前者4バイト、後者6バイト)。
実行や命令デコードのための構成や動作は同一であり、
データ・バスの制御を司どるバス制御回路、および端子
機能に差がある。
ャを持つため、一方のマイクロプロセッサで動作するプ
ログラムを、もう一方のマイクロプロセッサで動作でき
る。ソフトウェアの観点からみれば、2つのマイクロプ
ロセッサでは性能が異なるため、実行クロック数のみ異
なるだけである。具体的には後者の方が最大2倍のデー
タ転送能力があるため、平均的には1.3〜1.5倍程
度の性能が得られる。ユーザはシステム・レベルの性能
とトータル・コストのトレードオフで、2つのマイクロ
プロセッサを選択できる。
種のバス幅を持つデータ・バスに対応するものとして、
INTEL社の32ビット・マイクロプロセッサi80
486がある。このマイクロプロセッサでは基本演算の
対象として、8/16/32ビットのデータを持つ。一
方、外部データ・バスは32ビット幅である。8/16
ビット・データの外部アクセスは、32ビット幅の外部
データ・バスを8ビット単位に分割し、その一部を利用
して行われる。
に、30ビットのアドレス端子A31−A2を持つ。こ
のアドレスは32ビット(ワード)・データに対するア
ドレスを示し、16ビット(ハーフワード)・データや
8ビット(バイト)・データに対するアドレスは示さな
い。外部メモリとのデータ転送のために、32ビットの
データ・バス端子D31−D0を持つ。データ・バス端
子D31−D0は説明の便宜のために、8ビット単位に
B3(D31−D24)、B2(D23−D16)、B
1(D15−D8)、B0(D7−D0)に分割する。
関し、どの8ビット単位を用いてデータ転送を行うのか
を示す出力端子BE3(−)〜BE0(−)を持つ
((−)は負論理信号であることを示す)。
の部分を用いてデータ転送することを示し、同様にBE
2(−)端子はB2部分、BE1(−)端子はB1部
分、BE0(−)端子はB0部分に対応する。
タを転送する場合、アドレス端子には32ビット・デー
タに対する“00000001h”、データ・バスの有
効性を示すために、BE3(−)〜BE0(−)端子に
は“1001b”が出力される。外部メモリに対して1
番地の32ビット・データに対してアクセスが行われ、
リード転送ではデータ・バスのB3,B2部分を介して
マイクロプロセッサに16ビット・データが転送され
る。ライト転送ではデータ・バスのB3,B2部分にマ
イクロプロセッサから16ビット・データが出力され、
外部メモリに転送される。
の場合上位16ビット(B3,B2部分)を使用する。
をアクセスする場合 (3)下位2ビットが0Xbでない8ビット・データを
アクセスする場合 さらに、次の場合1回のバス・サイクルの起動しか行わ
ない。
ット・データをアクセスする場合 (2)下位2ビットが11bでない16ビット・データ
をアクセスする場合 このため、データ・バス端子D31〜D0の下位16ビ
ットD15〜D0のみを使用して、16ビット幅の外部
メモリにこのマイクロプロセッサをそのまま接続できな
い。
問題を解決するために、16ビット幅のデータ・バスで
データ転送するためのBS16(−)端子、8ビット幅
のデータ・バスでデータ転送するためのBS8(−)端
子を用意している。これらの端子をバス・サイクル期間
中に活性化することで、下位16(B1,B0部分)/
下位8ビット(B0部分)だけを使用するデータ転送が
指定できる。
端子を用いた16ビット幅のデータ・バスを用いたデー
タ転送について述べる。先程と同様に5番地のメモリと
16ビット・データをライト転送する場合を考える。
2ビット・バスを使用できるものとしてB2部分に16
ビット・データの上位8ビット、およびB1部分に下位
8ビットを出力する。BE3(−)〜BE0(−)端子
には“1001b”が出力される。
端子が活性化することをi80486マイクロプロセッ
サが検知すると、引続いて1回のバス・サイクルが追加
される。このバス・サイクルではBE3(−)〜BE0
(−)端子には“1011b”が出力され、B2部分に
16ビット・データの上位8ビットが出力される。
16ビット・データの下位8ビットが、2回目のバス・
サイクルでは16ビット・データの上位8ビットが転送
される。
たマイクロプロセッサ(CPU)301を用い、16ビ
ット幅のデータ・バスを介し、外部メモリ(MEM)3
02をアクセスする情報処理装置の構成を示す。CPU
301は常に16ビット・アクセスをするように、BS
16(−)端子は固定的にアクティブ・レベル(“0”
レベル)に接続される。
端子D31−D0は、8ビット単位(B3〜B0)に分
割され、8ビットの双方向バッファ(BUF0〜BUF
3)310,311,312,313を介して外部デー
タ・バスDB15〜DB0に接続される。MEM302
は、8ビット単位の下位メモリ・バンク(MB0)32
1と、上位メモリ・バンク(MB1)322で構成さ
れ、それぞれ外部データ・バスの下位8ビット(DB7
〜DB0)および上位8ビット(DB15〜DB8)に
接続される。
1のアドレス・バス端子A31〜A2の出力、およびア
クセス制御回路(ACNT)303で生成されたアドレ
ス出力A1を合成して通知される。さらに同一アドレス
に対してMB0 321を選択するCS0(−)信号、
MB1 322を選択するCS1(−)を選択するCS
1(−)信号がACNT303から通知される。
ブするBE3(−)〜BE0(−)端子の状態を解析
し、BUF0 310,BUF1 311の選択信号B
SL(−)、およびBUF2 312,BUF3 31
3の選択信号BSH(−)、外部メモリに対するCS0
(−),CS1(−),A1信号を発生する。
た結果、MPU301が発行するバス・サイクル、およ
び次のバス・サイクルで発行されるBE3(−)〜BE
0(−)端子の状態を示す。この図から、16ビット・
データ・バスでは16ビット境界以外の32ビット・デ
ータをアクセスする際、最大3回のバス・サイクルが発
行されることがわかる(32ビット・データ・バスでも
2回発行される。)。
〜BE0(−)信号を解析して、BSH(−),BSL
(−),A1,CS(1),CS(0)信号を発生する
組合せを示す。前述の例では、CPU301は1回目の
バス・サイクルではBE3(−)〜BE0(−)信号は
“1001h”を発生するため、BSL(−)信号がア
クティブとなり、BUF0 310,BUF1 311
が活性化されデータ・バス端子のB0部分は外部データ
・バスDB7−DB0に、B1部分は外部データ・バス
DB15−DB8に接続される。さらに、外部メモリ3
02にはアドレスA31−A1(16ビット・データに
対するアドレス)として“00000002h”が加え
られ、CS1(−)信号がアクティブになることによ
り、“00000002h”のアドレスを持つMB1
322に対して外部データ・バスDB15−DB8を介
したアクセスが行われる。
はBE3(−)〜BE0(−)信号は“1011h”を
発生するため、BSH(−)信号がアクティブとなり、
BUF2 312,BUF3 313が活性化されデー
タ・バス端子のB2部分は外部データ・バスDB7−D
B0に、B3部分は外部データ・バスDB15−DB8
に接続される。
31−A1(16ビット・データに対するアドレス)と
して“00000003h”が加えられ、CS0(−)
信号がアクティブになることにより、“0000000
3h”のアドレスを持つMB0 321に対して外部デ
ータ・バスDB7−DB0を介したアクセスが行われ
る。
グ・チャートを示す。説明では省略したが、データ転送
は外部クロック信号CLKに同期して行われ、1回のデ
ータ転送はT1,T2の2つのステートで構成される。
BS16(−)信号の状態は、1回目のデータ転送にお
けるT2ステートの先頭でサンプリングされる。
されてから、外部の状態(本例ではBS16(−)端子
の状態)を検知してバス・サイクルを追加し、狭いビッ
ト幅のデータ・バスに対してデータ転送を行う方式を、
ダイナミック・バス・サイジング(Dynamic B
us−Sizing)機能と呼ばれる。
サイジング機能を用いて、複数種類のビット幅(ex.
32ビット固定と16ビット固定)を持つデータ・バス
に接続し、複数種類のビット幅を持つデータ(ex.8
/16/32ビット)を転送する場合には次の問題点が
ある。 (1)消費電力が大きい。
端子のうち、1回目のバス・サイクルではB3,B0部
分は無効な8ビットデータが、B2部分では実際に転送
されない8ビット・データがドライブされる。また、2
回目のバス・サイクルではB3,B1,B0部分は無効
な8ビットデータがドライブされる。このように、実際
のデータ転送に無関係のデータ・バス端子をドライブす
る頻度が増すため、無駄な電力が生じる。 (2)外部回路が増加する。
と、外部データ・バスを8ビット単位に選択接続するバ
ッファを必要とする。前述の例では、データ・バス・バ
ッファBUF0〜BUF3 310,311,312,
313が相当する。これは、ダイナミック・バス・サイ
ジング方式ではデータ・バスのビット幅がバス・サイク
ルを起動してみて初めて検知されるため、1回目のバス
・サイクルでは最大ビット幅(例では32ビット)を仮
定としたデータ転送を行おうとするためである。
イクロプロセッサを提供することにある。
ッサは、データ・バスを複数の部分に分割した一部また
は全部を用いてデータ転送することをバス・サイクル毎
に動的に選択する機能を有したマイクロプロセッサにお
いて、前記データ転送方法を変更することを外部から通
知する第一の手段、前記データ・バスの一部分を固定的
に使用することを外部から通知する第二の手段、前記デ
ータ・バスの一部分とそれ以外の部分の情報を入れ替え
る手段、前記データ・バスの一部分以外を高インピーダ
ンスにドライブする手段を有し、を持つことを特徴とす
る。
複数ビット幅のデータ・バスに対応するために、バス・
サイクルの起動後にデータ・バスのビット幅を検知し、
必要な回数のバス・サイクルを追加することで実現して
おり、さらにアライン機能を実現するために、専用のア
ライナを用意していたのに対し、本発明では、リセット
時にバス幅を検知し、データ転送時に最適なバス・サイ
クルを起動し、アライン機能は実行処理部のシフト機能
を時分割して実現している。
の部分に分割した一部または全部を用いて、メモリある
いはI/Oに対してデータ転送することをバス・サイク
ル毎に動的に選択する機能を有したマイクロプロセッサ
において、前記データ転送方法を動的に変更することを
外部から通知する第一の手段、前記データ・バスの一部
分を固定的に使用することを外部から通知する第二の手
段、前記データ・バスの一部分とそれ以外の部分の情報
を入れ替える手段、前記データ・バスの一部分以外を高
インピーダンスにドライブする第三の手段、前記データ
・バスの有効部分を外部に通知する第四の手段、前記デ
ータ・バスの有効部分を外部に通知する手段の一部分以
外を高インピーダンスにドライブする第五の手段、前記
データ・バスを用いて前記メモリあるいはI/Oに対し
て転送するデータが、外部メモリあるいはI/Oのどの
位置に対するものであるかを外部に通知する第六の手段
とを有し、前記第二の通知手段により前記データ・バス
の一部分を固定的に使用することを通知されると、前記
第一の通知手段の状態にかかわらず、前記入れ替え手段
により前記データ・バスの一部分を用いてデータ転送
し、同時に、前記第六の通知手段によりデータがメモリ
あるいはI/Oのどの位置に対するものであるかを外部
に通知し、前記第四の通知手段により前記データ・バス
の一部分の有効部分を外部に通知し、前記データ・バス
の一部分以外および前記第四の通知手段の一部分以外を
前記第三のドライブ手段、前記第五のドライブ手段によ
り高インピーダンスに保つ手段を有する。
述する。
は32ビットのデータ・バスに接続できるマイクロプロ
セッサ100の構成を示す図面である。
イン処理を行うために、命令フェッチ・ユニット(以下
IUと称する)101、命令デコード・ユニット(以下
DUと称する)102、命令実行ユニット(以下EUと
称する)103、実効アドレス計算ユニット(以下AU
と称する)104、バス・サイクル制御ユニット(以下
BUと称する)105を持つ。
御、およびフェッチ・サイクルで外部より取り込んだ命
令コードを蓄積する。命令コード・キャッシュを含むよ
うな構成も考えられる。命令コードは、16ビット長あ
るいは32ビット長のいずれかである。各命令コードは
メモリのハーフワード境界から(アドレスの最下位ビッ
トが“0”)置かれるものとする。
令コードをデコードし、個々の命令に特有な処理を示す
信号を発生させる。DU102で発生された信号は、図
面では一部省略されているがその他の各ユニットに対す
る動作指示信号として与えられる。
用レジスタ、32ビット幅の算術論理演算装置、バレル
・シフタ等を含み、DU102によって指定された命令
実行処理を行う。その内部制御はハードワイアド論理に
よるもの、マイクロプログラムを用いたもの等が考えら
れる。
はI/Oに対するアクセスを含む命令であることを検知
すると、オペランドに対するアドレスを計算する。アド
レス計算に使用される要素は、命令コード中に含まれる
ディスプレースメント値、あるいは汎用レジスタの値が
用いられる。前者はIU101から、後者はEU103
から供給される。オペランド・データは8/16/32
ビットのものがあり、16ビット・データはハーフワー
ド境界(アドレスの最下位ビットが“0”)から、32
ビット・データはワード境界(アドレスの最下位2ビッ
トが“00b”)から配置されるものとする。
るアドレス情報、データ情報、および起動要求に基づい
て、外部バス・サイクルを発生する。バス・サイクルで
外部から読み込まれたデータは、命令コードはIU10
1に、オペランド・データはEU103に供給される。
ス構造で内部接続される。
アクセス以外のバス・サイクルで使用するアドレス(I
A31−IA0を経由)と命令コードを転送するため
に、IU101とDU102間は命令コードを転送する
ために、AU104とIU101間、およびAU104
とEU103間はアドレス計算に使用されるアドレス要
素を転送するために(IA31−IA0を経由)、EU
103とBU105間はリード・オペランドまたはライ
ト・オペランドを双方向的に転送するために(ID31
−ID0を経由)、AU104とBU105間は実効ア
ドレスを転送するために(IA31−IA0を経由)、
EU103とBU105間の任意のバス・サイクルで使
用するアドレスを転送するために(IA31−IA0を
経由)接続される。
起動要求はFREQ信号、DU102からのものはOP
REQ信号、EU103からのものはACREQ信号で
表現される。これらの要求信号は、実際にはバス・サイ
クルの種類を表現するための複数の信号、およびタイミ
ングを規定する信号等の複数の信号によって構成され
る。
31ビットのハーフワード・アドレス(16ビット単位
アドレス)を出力するアドレス・バス端子A31−A1
121、32ビット・データの授受を行うデータ・バ
ス端子D31−D0 122、データ・バス端子のどの
8ビット位置を用いて有効データを転送するかを示すバ
イトイネーブル出力端子B3E(−)〜B0E(−)1
23(B3E(−)はD31−D24、B2E(−)は
D23−D16、B1E(−)はD15−D8、B0E
(−)はD7−D0に対応する)、リセット時にデータ
・バスの下位16ビットを用いて転送することを指定す
る入力端子SIZ16B(−)124、追加バス・サイ
クルの発行を要求し16ビット・データ・バスに対する
ダイナミック・バス・サイジング機能を要求する入力端
子SZRQ(−)125を持つ。
セッサ100のクロック入力端子126に加えれる基準
クロック信号CLKに同期した2つのステートT1,T
2で構成される。
ミングを示す信号は、図面では省略している。
において本発明に最も関連したデータ部分および制御部
分の構成を詳細に示している。
スタ(以下OPWと略す)111は、EU103から転
送される内部データ・バスID31−ID0上のライト
・オペランドをOPWST信号(EU103から出力さ
れる。第一図では省略している。)で保持する32ビッ
トのレジスタであり、説明の便宜上図面では上位16ビ
ットと下位16ビットに分割している。OPW111の
出力は、次のようにオペランド・ライト・バッファ11
4,115,116を介してデータ・バス端子122を
ドライブする。
位16ビットD31−D16をドライブする (2)上位16ビットを115を介して下位16ビット
D15−D0をドライブする (3)上位16ビットを116を介して下位16ビット
D15−D0をドライブする オペランド・ライト・ハッファ114,115,116
の活性化信号はそれぞれOPWHHS,OPWHLS,
OPWLLS信号である。いずれのオペランド・ライト
・バッファ114,115,116も活性化されない場
合、D31−D16およびD15−D0は高インピーダ
ンス(Hi−Z)状態となる。
ビット(以下OPRHと略す)112と、下位16ビッ
ト(以下OPRLと略す)113で構成され、データ・
バス端子D31−D0のリード・オペランドの上位16
ビットあるいは下位16ビットをラッチする。OPRH
112のラッチ信号はOPRHST、OPRL113の
ラッチ信号はOPRLSTである。
OPRLD信号(EU104から出力される。第一図で
は省略している。)によりオペランド・リード・バッフ
ァ118.119を介して、ID31−ID0にドライ
ブされEU104に転送される。
OPHSL信号がインアクティブ(“0”)の時OPP
RHS112の入力にD31−D16を選択し、アクテ
ィブ(“1”)の時にD15−D0を選択する。
CMLと略す)131はEU104からバス・サイクル
の起動要求としてBREQ信号(図1では省略してい
る。)を受け取り、内部アドレス・バスの最下位2ビッ
トIA1−IA0、および起動すべきバス・サイクルの
データ・タイプを示すTYP1−TYP0信号、リード
転送/ライト転送の種別を示すR/W(−)信号をラッ
チする。TYP1−TYP0信号は“1Xb”であれば
32ビット、“01b”であれば16ビット、“00
b”であれば8ビットのデータを転送することを示す。
CML131の出力LIA1−LIA0,LTYP1−
LTYP0,LR/W(−)はコマンド・デコーダ(以
下CMDと略す)133およびバス・サイクル検出器
(以下BCDと略す)134に入力される。
と略す)132は、BREQ信号によってバス・サイク
ルの起動が指定されると、現在のバス・サイクルの状態
をLAST信号、および図面では省略しているが外部端
子によるバス・サイクルの終了準備信号により検知し、
新たなバス・サイクルの起動を制御するとともに、T
1,T2ステートの発生、ならびにEU104に対する
次のバス・サイクル起動要求の禁止をBBSY信号(図
1では省略している)を発生して通知する。T2ステー
トは、バス・サイクルの終了準備信号により繰り返され
ることがある。外部BCD132によって発生されるバ
ス・サイクルの状態信号には、以下のものがある。
ータ・バス端子122上の情報を、CPU100内部に
ラッチするタイミングを示す。最後のT2ステートの後
半に発生する。
ことを示す。T1ステートの前半に発生する。
クルの終了タイミングを示す。最後のT2ステートの前
半に発生する。
いることを示す。T1ステートの後半から、最後のT2
の半クロック後まで発生する。
の状態をサイジング・ラッチ(以下SZLと略す)13
5にラッチするタイミングを示す。T2ステートの前半
で発生する。
るとT1,T2ステートからなるバス・サイクルのシー
ケンスを起動する。同時に、EU104に新たなバス・
サイクル起動を要求しないようにBBSY信号をアクテ
ィブにする。T2ステートが終了する際、BCD134
が最後のバス・サイクルであったことを示すLAST信
号を通知してきていれば(アクティブ状態であれば)、
BCS132はBBSY信号をインアクティブにし、B
END信号を発生する。一方、LAST信号がインアク
ティブであれば、BCS132はさらにもう1回のバス
・サイクル(追加バス・サイクル)のシーケンスを起動
する。
れるLTYP1−LTYP0信号およびSZL135に
より通知されるSSIZ,DSIZ信号により、起動要
求されたバス・サイクルが追加バス・サイクルを必要と
すべきかを判定する。APND信号は1回目のバス・サ
イクルが終了し、これから追加バス・サイクルが起動さ
れることを示す。LAST信号は追加バス・サイクルが
不要な場合はアクティブ状態を保ち、追加バス・サイク
ルが必要な場合は1回目のバス・サイクルが終了した時
にアクティブ状態になる。
(SSIZ信号とDSIZ信号の論理和により検知)、
かつ32ビット・データを転送するバス・サイクルの起
動が要求され(LTYP1−LTYP0信号が“1X
b”により検知)た場合に、追加バス・サイクルの必要
性を検知する。また、バス・サイクルの終了は、BEN
D信号により通知される。
力端子SIZ16B(−)124の状態をリセット時に
(RESET信号により検知)ラッチし、16ビット・
バスが指定されていれば(SIZ16B(−)端子12
4がアクティブ“0”の場合)SSIZ信号をアクティ
ブ(“1”)に保持する。16ビット・バスが指定され
ていなければ(SIZ16B(−)端子124がインア
クティブ“1”の場合)SSIZ信号をインアクティブ
(“0”)に保持するとともに、ダイナミック・サイジ
ング入力端子SZRQ(−)125端子の状態をSZR
QST信号によりラッチし、ダイナミック・サイジング
が指定されれば(SZRQ(−)端子125がアクティ
ブ“0”の場合)DSIZ信号をアクティブ(“1”)
に保持する。
32,BCD134,SZL135から通知される各信
号に基づき、バイト・イネーブル端子BE3(−)〜B
E0(−)123をドライブする。基本的には、指定さ
れたアドレス(LIA1−LIA0信号で通知)および
データのビット長(LTYP1−LTYP0信号で通
知)で決定される。追加バス・サイクル(APND信号
で通知)では、特定の値が選択される。
(SSIZ信号で通知)と、そうでない場合(32ビッ
ト・バスが指定されている場合)で、出力される値は異
なる。
23に出力される値を示す。BE3(−)〜BE0
(−)端子123は、バス・サイクルに同期して変化す
るように、CMD133にはBBGN信号の立上りで変
化するようなラッチが含まれている。
る場合(SSIZ信号で通知)は、ドライブする端子の
数を減らし消費電力を低減するために、BE3(−),
BE2(−)端子はHi−Z状態(図中“Z”で示して
ある)をドライブする。
05のデータ部分に対する各種制御信号を発生する。O
PWHHS,OPWHLS,OPWLLS信号はLR/
W(−)信号によりライト・バス・サイクルが要求され
た場合(LR/W(−)信号がアクティブ“0”で検
知)に発生し、OPRHST,OPRLST,OPRH
SL信号はリード・バス・サイクルが要求された場合
(LR/W(−)信号がインアクティブ“1”で検知)
に発生する。各信号は基本的には、バス・サイクルの種
類(LR/W(−)信号で通知)、指定されたアドレス
(LIA1−LIA0信号で通知)およびデータのビッ
ト長(LTYP1−LTYP0信号で通知)で決定され
る。ただし、追加バス・サイクル(APND信号通知)
または16ビット・バスが指定されている場合(SSI
Z信号で通知)には考慮がなされる。
信号は次のようにタイミング信号がマスクされる。
S:BCYC信号によるデータ・バス端子122への出
力タイミング(ライト・バス・サイクルのみ) OPRHST,OPRLST:DST信号によるデータ
・バス端子122からの入力タイミング(リード・バス
・サイクルのみ)次に32ビット・データとして“12
345678h”を“00000004h”番地にリー
ド/ライトする場合に関し、本実施例の動作について、
説明する。
ティブ(“1”)であるので、SZL135はSSIZ
信号に“0”を保持する。さらにSZRQ(−)端子1
25を常にインアクティブ(“1”)にすることで、S
ZRQST信号が発生しても、SZL135はDSIZ
信号に“0”を保持する。
バス・サイクルの起動要求に先立ち、内部データ・バス
ID31−ID0を“12345678h”にドライブ
するとともに、OPWST信号を発生する。この結果O
PW111に“12345678h”がラッチされる。
求BREQ信号の発生とともに、IA1−IA0信号を
“00b”、TYP1−TYP0信号に“10b”、R
/W(−)信号に“0b”をドライブする。これらの信
号はCML131にラッチされる。BCS132はBR
EQ信号の発生により、バス・サイクルの発生を起動す
る。SSIZ,DSIZ信号はインアクティブ
(“0”)を保つため、BCD134はAPND信号は
発生せず追加バス・サイクルは発生しない。図4より、
CMD133はライト・バス・サイクルに同期して、B
E3(−)−BE0(−)端子123を“0000b”
にドライブする。
バス・サイクルに同期して、OPWHHS,OPWLL
S信号を発生し、データ・バス端子D31−D16 1
22にOPW111の上位16ビットがオペランド・ラ
イト・バッファ114を介してドライブされ(“123
4h”)、データ・バス端子D15−D0122にOP
W111の下位16ビットがオペランド・ライト・バッ
ファ116を介してドライブされる(“5678
h”)。
イクル起動要求BREQ信号の発生とともに、IA1−
IA0信号を“00b”、TYP1−TYP0信号に
“10b”、R/W(−)信号に“1b”をドライブす
る。これらの信号はCML131にラッチされる。BC
S132はBREQ信号の発生により、バス・サイクル
の発生を起動する。SSIZ,DSIZ信号はインアク
ティブ(“0”)を保つため、BCD134はAPND
信号は発生せず追加バス・サイクルは発生しない。図4
より、CMD133はリード・バス・サイクルに同期し
て、BE3(−)−BE0(−)端子123を“000
0b”にドライブする。
バス・サイクルのBEND信号に同期して、OPWRH
ST,OPRLST信号を発生し、データ・バス端子D
31−D16 122上のデータがMPX117を介し
てOPRH112にラッチされ(“1234h”)、デ
ータ・バス端子D15−D0 122上のデータがOP
RL113にラッチされる(“5678h”)。EU1
04は図面では省略しているがリード・バス・サイクル
が終了したことをBU105から通知されると、OPR
LD信号を発生し、OPRH112,OPRL113の
内容をそれぞれオペランド・リード・バッファ118.
119を介して内部データ・バスID31−ID0にド
ライブし、EU104へ取り込む。
れた場合 リセット時にSIZ16B(−)端子124がインアク
ティブ(“1”)であるので、SZL135はSSIZ
信号に“0”を保持する。さらにSZRQ(−)端子1
25は、バス・サイクルに同期して/あるいは常にアク
ティブ(“0”)にすることで、SZRQST信号が発
生した場合SZL135はDSIZ信号に“1”を保持
する(バス・サイクルに同期して入力する場合は一定期
間保持される)。
ィブ(“0”)を保つがDSIZ信号がアクティブにな
ると、BCD134は1回目のバス・サイクルの終了
時、APND信号を発生し追加バス・サイクルを発生す
る。図4より、CMD133は1回目のライト・バス・
サイクルに同期して、BE3(−)−BE0(−)端子
123を“0000b”にドライブする。さらに、追加
ライト・バス・サイクルに同期して、BE3(−)−B
E0(−)端子123を“0011b”にドライブす
る。
ライト・バス・サイクルに同期して、OPWHHS,O
PWLLS信号を発生し、データ・バス端子D31−D
16122にOPW111の上位16ビットがオペラン
ド・ライト・バッファ114を介してドライブされ
(“1234h”)、データ・バス端子D15−D01
22にOPW111の下位16ビットがオペランド・ラ
イト・バッファ116を介してドライブされる(“56
78h”)。追加ライト・バス・サイクルでは、CMD
133はOPWHHS,OPWHLS信号を発生し、デ
ータ・バス端子D31−D16 122にOPW 11
1の上位16ビットがオペランド・ライト・バッファ1
14を介してドライブされ(“1234h”)、データ
・バス端子D15−D0 122にもOPW111の上
位16ビットがオペランド・ライト・バッファ115を
介してドライブされる(“1234h”)。データ・バ
ス端子D31−D16 122にドライブされるデータ
(“1234h”)は、実際のライトには冗長なもので
あり、CMD133でOPWHHS信号の発生を抑制し
Hi−Z状態にすることも考えられる。
のバス・サイクルの終了時、APND信号を発生し追加
バス・サイクルを発生する。図4より、CMD133は
一回目のリード・バス・サイクルに同期して、BE3
(−)−BE0(−)端子123を“0000b”にド
ライブする。さらに、追加リード・バス・サイクルに同
期して、BE3(−)−BE0(−)端子123を“0
011b”にドライブする。
リード・バス・サイクルのBEND信号に同期して、O
PWRHST,OPRLST信号を発生し、データ・バ
ス端子D31−D16 122上のデータがMPX11
7を介してOPRH112にラッチされ(不定値)、デ
ータ・バス端子D15−D0 122上のデータがOP
RL113にラッチされる(“5678h”)。この時
OPRH112にラッチされるデータ(不定値)は、無
効なデータである。
はOPRHST,OPRHSL信号を発生し、データ・
バス端子D15−D0 122上のデータがMPX11
7を介してOPRH112にラッチされる(“1234
h”)。
113の読み出しについては、前述の例と等価であり省
略する。
ブ(“1”)であるので、SZL135はSSIZ信号
に“1”を保持する。さらにSZRQ(−)端子125
の状態にかかわらず、SZL135はDSIZ信号に
“0”を保持する。
ブ(“0”)を保つため、BCD134はバス・サイク
ル起動要求毎に1回目のバス・サイクルの終了時、AP
ND信号を発生し追加バス・サイクルを発生する。図4
より、CMD 133は1回目のライト・バス・サイク
ルに同期して、BE3(−)−BE0(−)端子123
を“ZZ00b”にドライブする。さらに、追加ライト
・バス・サイクルに同期して、BE3(−)−BE0
(−)端子123を“ZZ00b”にドライブする。
ライト・バス・サイクルに同期して、OPWLLS信号
を発生し、データ・バス端子D15−D0 122にO
PW111の下位16ビットがオペランド・ライト・バ
ッファ116を介してドライブされる(“5678
h”)。追加ライト・バス・サイクルでは、CMD13
3はOPWHLS信号を発生し、データ・バス端子D1
5−D0 122にOPW111の上位16ビットがオ
ペランド・ライト・バッファ115を介してドライブさ
れる(“1234h”)。
ス端子D31−D16 122はHi−Z状態がドライ
ブされる。
ングが指定された場合(上記(2))と同様に動作す
る。
イミング・チャート(ライト・バス・サイクルのみ)を
示す。
れた時(上記(3))以外の場合、1回目のバス・サイ
クルでは最下位のアドレス2ビット(IA1−IA0)
に応じて、データ・バス端子D31−D0 122の使
用形態がデータのビット長に応じて次のように異なる。
=00b D7−D0を用いる IA1−IA0=01b D15−D8を用いる IA1−IA0=10b D23−D16を用いる IA1−IA0=11b D31−D24を用いる 16ビット・データ: IA1−IA0=0Xb D
15−D0 を用いる IA1−IA0=1Xb D31−D16を用いる このようにデータ転送すべきアドレスによって、データ
のLSB(LeastSignificant Bi
t)位置を整列させるためのデータ入替え機能をアライ
ン(Aligne)と呼ぶ。アライン機能は、EU10
4とBU105の間で行われるデータ転送の中途、ある
いはEU104のデータ処理の前/後に処理されるべき
機能であり、本発明の本質とは関係ないため、ここでは
説明を省略する。
例16ビットまたは32ビットのデータ・バスに接続で
きるマイクロプロセッサ700である。本マイクロプロ
セッサ700は、パイプライン処理を行うために、命令
フェッチ・ユニット(以下IUと略す)701、命令デ
コード・ユニット(以下DUと略す)702、命令実行
ユニット(以下EUと略す)703、実行アドレス計算
ユニット(以下AUと略す)704、バス・サイクル制
御ユニット(以下BUと略す)705を持つ。
制御、およびフェッチ・サイクルで外部より取り込んだ
命令コードを蓄積する。命令コード・キャッシュを含む
ような構成も考えられる。命令コードは16ビット長あ
るいは32ビット長のいずれかとする。各命令コードは
メモリのハーフワード境界(アドレスの最下位ビットが
“0”)から置かれるものとする。DU702は、IU
701に蓄積された命令コードをデコードし、個々の命
令に特有な処理を示す信号を発生させる。DU702で
発生された信号は、その他の各ユニットに対する動作指
示信号(図面では一部省略)として与えられる。
用レジスタ、32ビット幅の算術論理演算装置、バレル
・シフタ等を含み、DU702によって指定された命令
実行処理を行う。その内部制御はハードワイアド論理や
マイクロプログラム等が考えられる。
I/Oに対するアクセスを含む命令であることを検知す
ると、オペランドに対するアドレスを計算する。アドレ
ス計算に使用される要素は、命令コード中に含まれるデ
ィスプレースメント値や汎用レジスタの値が用いられ
る。前者はIU701から、後者はEU703から供給
される。オペランド・データは8/16/32ビットの
ものがあり、16ビット・データはハーフワード境界
(アドレスの最下位ビットが“0”)から、32ビット
・データはワード境界(アドレスの最下位2ビットが
“00b”)から配置されるものとする。
るアドレス情報、データ情報、起動要求に基づいて、外
部バス・サイクルを発生する。バス・サイクルで外部か
ら読み込まれたデータは、命令コードはIU101に、
オペランド・データはEU703に供給される。
構造で内部接続される。IU701とBU705の間は
オペランド・アクセス以外のバス・サイクルで使用する
アドレス(IA31−IA0を経由)と命令コードを転
送するために、IU701とDU702と間は命令コー
ドを転送するために接続される。また、AU704とI
U701の間、およびAU704とEU703の間はア
ドレス計算に使用されるアドレス要素を転送するために
接続される。同様に、EU703とBU705との間は
リード/ライト・オペランドを双方向的に転送するため
にID31−ID0を経由して、AU704とBU70
5間は実効アドレスを転送するためにIA31−IA0
を経由して、EU703とBU705の間は任意のバス
・サイクルで使用するアドレスを転送するためにIA3
1−IA0を経由してそれぞれ接続される。
起動要求はFREQ信号、DU702からのものはOP
REQ信号、EU703からのものはACREQ信号で
示している。これらの要求信号は、実際にはバス・サイ
クルの種類を表現するための複数の信号、およびタイミ
ングを規定する信号等の複数の信号によって構成され
る。
31ビットのハーフワード・アドレス(16ビット単位
アドレス)を出力するアドレス・バス端子A31−A1
(A31−2:721,A1:722)、32ビット・
データの授受を行うデータ・バス端子D31−D0 7
23、データ・バス端子のどの8ビット位置を用いて有
効データを転送するかを示すバイトイネーブル出力端子
B3E(−)〜B0E(−)724(B3E(−):D
31−D24,B2E(−):D23−D16,B1E
(−):D15−D8,B0E(−):D7−D0にそ
れぞれ対応)、リセット時にデータ・バスの下位16ビ
ットを用いて転送することを指定する入力端子SIZ1
6B725、追加バス・サイクルの発行を要求して16
ビット・データ・バスに対するダイナミック・バス・サ
イジング機能を要求する入力端子SZRQ(−)726
を持つ。
セッサ100のクロック入力端子127に加えられる基
準クロック信号CLKに同期した2つのステートT1,
T2で構成される。その他のバス・サイクルの種類、起
動タイミングを示す信号は、図面を省略している。
おいて本発明に最も関連したデータ部分および制御部分
の構成を詳細に示している。
スタ(以下OPWと略す)711は、転送される内部デ
ータ・バスID31−ID0上のライト・オペランドを
EU703から出力されるOPWST信号(第一図では
省略)で保持する32ビットのレジスタであり、説明の
便宜上図面では上位16ビットと下位16ビットに分割
している。OPW711の出力は、次のようにオペラン
ド・ライト・バッファ714,715,716を介して
データ・バス端子723をドライブする。
14を介して、D31−D16にドライブする。
15を介して、D15−D0にドライブする。
16を介して、D15−D0にドライブする。
S信号は、オペランド・ライト・バッファ714,71
5,716の活性化信号である。いずれのオペランド・
ライト・バッファ714,715,716も活性化され
ない場合、D31−D16およびD15−D0は高イン
ピーダンス(Hi−Z)状態となる。
ビット(以下OPRHと略す)712と、下位16ビッ
ト(以下OPRLと略す)713で構成され、データ・
バス端子D31−D0のリード・オペランドの上位16
ビットあるいは下位16ビットをラッチする。OPRH
ST、OPRLSTはそれぞれOPRH712、OPR
L713のラッチ信号である。
EU704から出力されるOPRLD信号(図7では省
略)によりオペランド・リード・バッファ718、71
9を介して、ID31−ID0にドライブされEU70
4に転送される。マルチプレクサ(以下MPXと略す)
717は、OPRHSL信号がインアクティブ
(“0”)の時OPRH712の入力にD31−D16
を選択し、アクティブ(“1”)の時にD15−D0を
選択する。
CMLと略す)731はEU704からバス・サイクル
の起動要求としてBREQ信号(図7では省略)を受け
取り、内部アドレス・バスの最下位2ビットIA1−I
A0、および起動すべきバス・サイクルのデータ・タイ
プを示すTYP1−TYP0信号、リード/ライト転送
の種別を示すR/W(−)信号をラッチする。TYP1
−TYP0信号は“1Xb”であれば32ビット、“0
1b”であれば16ビット、“00b”であれば8ビッ
トのデータを転送することを示す。CML731の出力
LIA1−LIA0,LTYP1−LTYP0,LR/
W(−)はコマンド・デコーダ(以下CMDと略す)7
33およびバス・サイクル検出器(以下BCDと略す)
734に入力される。
と略す)732は、BREQ信号によってバス・サイク
ルの起動が指定されると、現在のバス・サイクルの状態
をLAST信号および外部端子によるバス・サイクル終
了準備信号(図面では省略)により検知し、新たなバス
・サイクルの起動を制御するとともに、T1,T2ステ
ートの発生、ならびにEU704に対する次のバス・サ
イクル起動要求の禁止をBBSY信号(図では省略)を
発生して通知する。T2ステートは、バス・サイクルの
終了準備信号により繰り返されることがある。BCS7
32によって発生されるバス・サイクルの状態信号に
は、以下のものがある。 DST:リード・バス・サイクルでデータ・バス端子7
23上の情報をCPU700にラッチするタイミングを
示す。最後のT2ステートの後半に発生する。 BBGN:バス・サイクルが起動されたことを示す。T
1ステートの前半に発生する。 BEND:起動を要求されたバス・サイクルの終了タイ
ミングを示す。最後のT2ステートの前半に発生する。 BCYC:バス・サイクルが起動されていることを示
す。T1ステートの後半から、最後のT2の半クロック
後まで発生する。 SZRQST:SZRQ(−)端子726の状態をサイ
ジング・ラッチ(以下SSZLと略す)735にラッチ
するタイミングを示す。T2ステートの前半で発生す
る。
るとT1,T2ステートからなるバス・サイクルのシー
ケンスを起動する。同時に、EU704に新たなバス・
サイクル起動を要求しないようにBBSY信号をアクテ
ィブにする。T2ステートが終了する際、BCD734
が最後のバス・サイクルであったことを示すLAST信
号を通知してきていれば(アクティブ状態)、BCS7
32はBBSY信号をインアクティブにし、BEND信
号を発生する。一方、LAST信号がインアクティブで
あれば、BCS732は2回目のバス・サイクル(追加
バス・サイクル)のシーケンスを起動する。
れるLTYP1−LTYP0信号およびSZL735に
より通知されるSSIZ,DSIZ信号により、起動要
求されたバス・サイクルが追加バス・サイクルを必要と
すべきかを判定する。APND信号は1回目のバス・サ
イクルが終了し、これから追加バス・サイクルが起動さ
れることを示す。LAST信号は追加バス・サイクルが
不要な場合はアクティブ状態を保ち、追加バス・サイク
ルが必要な場合は1回目のバス・サイクルが終了した時
にアクティブ状態になる。
(SSIZ信号とDSIZ信号の論理和により検知)、
かつ32ビット・データを転送するバス・サイクルの起
動が要求された(LTYP1−LTYP0信号が“1X
b”により検知)場合に、追加バス・サイクルの必要性
を検知する。なお、バス・サイクルの終了はBEND信
号により通知される。
力端子SIZ16B725の状態をリセット時に(RE
−SET信号により検知)ラッチし、16ビット・バス
が指定されていれば(SIZ16B725がアクティブ
の場合)、SSIZ信号をアクティブ(“1”)に保持
する。16ビット・バスが指定されていなければ(SI
Z16B725がインアクティブの場合)、SSIZ信
号をインアクティブ(“0”)に保持するとともに、ダ
イナミック・サイジング入力端子SZRQ(−)726
端子の状態をSZRQST信号によりラッチし、ダイナ
ミック・サイジングが指定されれば(SZRQ(−)7
26がアクティブの場合)、DSIZ信号をアクティブ
(“1”)に保持する。
32,BCD734,SZL735から通知される各信
号に基づき、バイト・イネーブル端子BE3(−)〜B
E0(−)724、およびアドレス・バス端子A1 7
22をドライブする。基本的には、指定されたアドレス
(LIA1−LIA0信号で通知)、データのビット長
(LTYP1−LTYP0信号で通知)、追加バス・サ
イクルかどうか(APND信号で通知)で決定される。
ただし、16ビット・バスが指定されている場合(SS
IZ信号で通知)と、32ビット・バスが指定されてい
る場合で、出力される場合で、出力される値は異なる。
05のデータ部分に対する各種制御信号を発生する。O
PWHHS,OPWHLS,OPWLLS信号はLR/
W(−)信号によりライト・バス・サイクルが要求され
た場合(LR/W(−)信号がアクティブで検知)に発
生し、OPRHST,OPRLST,OPRHSL信号
はリード・バス・サイクルが要求された場合(LR/W
(−)信号がインアクティブで検知)に発生する。各信
号は基本的には、バス・サイクルの種類(LR/W
(−)信号で通知)、指定されたアドレス(LIA1−
LIA0信号で通知)およびデータのビット長(LTY
P1−LTYP0信号で通知)で決定される。ただし、
追加バス・サイクル(APND信号で通知)または16
ビット・バスが指定されている場合(SSIZ信号で通
知)には考慮がなされる。
BE0(−)端子724、および各信号の出力値を示
す。A1端子722,BE3(−)〜BE0(−)端子
724は、バス・サイクルに同期して変化するように、
CMD733にはBBGN信号の立上りで変化するよう
なラッチが含まれている。16ビット・バスが指定され
ている場合(SSIZ信号で通知)は、ドライブする端
子の数を減らし消費電力を低減するために、BE3
(−),BE2(−)端子はHi−Z状態(図中“Z”
で示してある)をドライブする。
がマスクされる。
S… BCYCによるデータ・バス端子723への出力タイミ
ング(ライト・バス・サイクルのみ) OPRHST,OPRLST… DSTによるデータ・バス端子723からの入力タイミ
ング(リード・バス・サイクルのみ) 次に32ビット・データとして“12345678h”
を“00000004h”番地にリード/ライトする場
合に関し、本実施例の動作について、説明する。
であるので、SZL735はSSIZ信号に“0”を保
持する。さらにSZRQ(−)端子726を常にインア
クティブにすることで、SZRQST信号が発生しても
DSIZ信号は“0”を保持する。
・バス・サイクルの起動要求に先立ち、内部データ・バ
スID31−ID0を“12345678h”にドライ
ブするとともに、OPWST信号を発生する。この結果
OPW711に“12345678h”がラッチされ
る。EU704はさらにバス・サイクル起動要求BRE
Q信号の発生とともに、IA1−IA0信号を“00
b”、TYP1−TYP0信号に“1Xb”、R/W
(−)信号に“0b”をドライブする。これらはCML
731にラッチされる。BCS732はBREQ信号の
発生により、バス・サイクルの発生を起動する。SSI
Z,DSIZ信号は“0”を保つため、BCD734は
APND信号を発生しないため、追加バス・サイクルは
発生しない。図10より、CMD733はライト・バス
・サイクルに同期して、BE3(−)−BE0(−)端
子724を“0000b”にドライブする。さらに、C
MD733はライト・バス・サイクルに同期して、OP
WHHS,OPWLLS信号を発生し、データ・バス端
子D31−D16 723にOPW711の上位16ビ
ットがオペランド・ライト・バッファ714を介してド
ライブされ(“1234h”)、データ・バス端子D1
5−D0 723にOPW 111の下位16ビットが
オペランド・ライト・バッファ116を介してドライブ
される(“5678h”)。
イクル起動要求BREQ信号の発生とともに、IA1−
IA0信号を“00b”、TYP1−TYP0信号に
“10b”、R/W(−)信号に“1b”をドライブす
る。これらの信号はCML731にラッチされる。BC
S732はBREQ信号の発生により、バス・サイクル
の発生を起動する。SSIZ,DSIZ信号ほ“0”を
保つため、BCD 734はAPND信号を発生しない
ため、追加バス・サイクルは発生しない。図10より、
CMD733はリード・バス・サイクルに同期して、B
E3(−)−BE0(−)端子724を“0000b”
にドライブする。さらに、CMD733はリード・バス
・サイクルのBEND信号に同期して、OPWRHS
T,OPRLST信号を発生し、データ・バス端子D3
1−D16 723上のデータがMPX117を介して
OPRH712にラッチされ(“1234h”)、デー
タ・バス端子D15−D0 723上のデータがOPR
L713にラッチされる(“5678h”)。EU70
4はリード・バス・サイクルが終了したことをBU70
5から通知されると、OPRLD信号を発生し、OPR
H712,OPRL713の内容をそれぞれオペランド
・リード・バッファ718.719を介して内部データ
・バスID31−ID0にドライブし、EU704へ取
り込む。
れた場合 リセット時にSIZ16B端子725がインアクティブ
であるので、SZL735はSSIZ信号に“0”を保
持する。さらにSZRQ(−)端子726は、バス・サ
イクルに同期して、あるいは常にアクティブにすること
で、SZRQST信号が発生した場合SZL735はD
SIZ信号に“I”を保持する(バス・サイクルに同期
して入力する場合は一定期間保持される)。
を保つDSIZ信号がアクティブになると、BCD73
4は1回目のバス・サイクルの終了時、APND信号を
発生した追加バス・サイクルを発生する。図10より、
CMD733は1回目のライト・バス・サイクルに同期
して、A1端子“0”に、BE3(−)−BE0(−)
端子724を“0000b”にそれぞれドライブする。
追加バス・サイクルでは、2回目のライト・バス・サイ
クルに同期して、A1端子を“1”に、BE3(−)−
BE0(−)端子724を“0011b”にドライブす
る。さらに、CMD733は1回目のライト・バス・サ
イクルに同期して、OPWHHS,OPWLLS信号を
発生し、データ・バス端子D31−D16 723にO
PW111の上位16ビットがオペランド・ライト・バ
ッファ714を介してドライブされ(“1234
h”)、データ・バス端子D15−D0 723にOP
W111の下位16ビットがオペランド・ライト・バッ
ファ716を介してドライブされる(“5678
h”)。追加バス・サイクルでは、CMD733はOP
WHHS,OPWHLS信号を発生し、データ・バス端
子D31−D16 723にOPW711の上位16ビ
ットがオペランド・ライト・バッファ714を介してド
ライブされる(“1234”)と共に、データ・バス端
子D15−D0723にもOPW711に上位16ビッ
トがオペランド・ライト・バッファ715を介してドラ
イブされる(“1234h”)。データ・バス端子D3
1−D16 722にドライブされるデータ(“123
4h”)は、実際のライトには冗長なものであり、CM
D133でOPWHHS信号の発生を抑制しHi−Z状
態にすることも考えられる。
のバス・サイクルの終了時、APND信号を発生し追加
バス・サイクルを発生する。図10より、CMD733
は1回目のリード・バス・サイクルに同期して、A1端
子を“0”に、BE3(−)−BE0(−)端子724
を“0000b”にそれぞれドライブする。追加バス・
サイクルでは、2回目のリード・サイクルに同期して、
A1端子を“1”に、BE3(−)−BE0(−)端子
724を“0011b”にドライブする。さらに、CM
D733は1回目のリード・バス・サイクルのBEND
信号に同期して、OPRHST,OPRLST信号を発
生し、データ・バス端子D31−D16723上のデー
タがMPX717を介してOPRH712にラッチされ
(不定値)、データ・バス端子D15−D0 723上
のデータがOPRL713にラッチされる(“5678
h”)。この時OPRH712にラッチされるデータ
(不定値)は、無効なデータである。追加バス・サイク
ルでは、CMD733はOPRHST,OPRHSL信
号を発生し、データ・バス端子D15−D0 723の
データがMPX717を介してOPRH712にラッチ
される(“1234h”)。EU104へのOPRH7
12,OPRL713の読み出しについては、前述の例
と等価であり省略する。
るので、SZL735はSSIZ信号に“1”を保持す
る。さらにSZRQ(−)端子725の状態にかかわら
ず、SZL735はDSIZ信号に“0”を保持する。
を保つため、BCD734はバス・サイクル起動要求毎
に1回目のバス・サイクルの終了時、APND信号を発
生し追加バス・サイクルを発生する。図10より、CM
D733は1回目のライト・バス・サイクルに同期し
て、A1端子を“0”に、BE3(−)−BE0(−)
端子723を“ZZ00b”にドライブする。追加バス
・サイクルでは、2回目のライト・バス・サイクルに同
期して、A1端子を“1”に、BE3(−)−BE0
(−)端子723を“ZZ00b”にドライブする。さ
らに、CMD733は1回目のライト・バス・サイクル
に同期して、OPWLLS信号を発生し、データ・バス
端子D15−D0 722にOPW711の下位16ビ
ットがオペランド・ライト・バッファ716を介してド
ライブされる(“5678h”)。追加バス・サイクル
では、CMD733はOPWHLS信号を発生し、デー
タ・バス端子D15−D0 722にOPW711の上
位16ビットがオペランド・ライト・バッファ715を
介してドライブされる(“1234h”)。双方のバス
・サイクルともに、データ・バス端子D31−D16
722はHi−Z状態がドライブされる。
のバス・サイクルの終了時、APND信号を発生し追加
バス・サイクルを発生する。図10より、CMD733
は1回目のリード・バス・サイクルに同期して、A1端
子“0”に、BE3(−)−BE0(−)端子724を
“ZZ00b”にそれぞれドライブする。追加バス・サ
イクルでは、2回目のリード・バス・サイクルに同期し
て、A1端子を“1”に、BE3(−)−BE0(−)
端子724を“ZZ00b”にドライブする。さらに、
CMD733は1回目のリード・バス・サイクルのBE
ND信号に同期して、OPRHST,OPRLST信号
を発生し、データ・バス端子D31−D16 723上
のデータがMPX717を介してOPRH712にラッ
チされ(不定値)、データ・バス端子D15−D0 7
23上のデータがOPRL713にラッチされる(“5
678b”)。この時OPRH712にラッチされるデ
ータ(不定値)は、無効なデータである。追加バス・サ
イクルでは、CMD733はOPRHST,OPRHS
L信号を発生し、データ・バス端子D15−D0723
のデータがMPX717を介してOPRH712にラッ
チされる(“1234h”)。EU104へのOPRH
712,OPR713の読み出しについては、前述の例
と等価であり省略する。
タイミング・チャート(ライト・バス・サイクル)を示
す。
れた時以外の場合(前記(1)(2)、1回目のバス・
サイクルで最下位のアドレス2ビット(IA1−IA
0)に応じて、データ・バス端子D31−D0 123
の使用形態がデータのビット長に応じて次のように異な
る。 8ビット・データ: IA1−IA0=00b D7−D0を用いる IA1−IA0=01b D15−D8を用いる IA1−IA0=10b D23−D16を用いる IA1−IA0=11b D31−D24を用いる 16ビット・データ: IA1−IA0=0Xb D15−D0を用いる IA1−IA0=1Xb D31−D16を用いる このようにデータ転送すべきアドレスによって、データ
のLSB(LeastSignificant Bi
t)位置を整列させるためのデータ入替え機能をアライ
ン(align)と呼ぶ。アライン機能は、DU104
とBU105の間で行われるデータ転送の中途、あるい
はEU104のデータ処理の前/後に処理されるべき機
能であり、本発明の本質とは関係ないため、ここでは説
明を省略する。
セッサ(CPU)801を用い、16ビット幅のデータ
・バスを介し、外部メモリ802をアクセスする情報処
理装置の構成を示す。CPU801が常に16ビット・
アクセスをするように、SIZ16Bは固定的にアクテ
ィブ・レベル(“1”レベル)に接続される。
端子D31−D0のうち、下位16ビットは8ビット単
位(B1,B0)に分割され8ビットの双方向バッファ
(BUF0 810,BUF1 811)を介して外部
データ・バスDB15−DB0に接続される。MEM8
02は、8ビット単位の下位メモリ・バンク(MB0)
821と、上位メモリ・バンク(MB1)822で構成
され、それぞれ外部データ・バスの下位8ビット(DB
7〜DB0)および上位8ビット(DB15−DB8)
に接続される。
1のアドレス・バス端子A31〜A0の出力で通知され
る。さらに同一アドレスに対してMB0 821を選択
するBE0(−)信号、MB1 822を選択するBE
1(−)信号がCPU801から通知される。
とで1)32ビット固定のデータ・バス、2)動的に3
2/16ビットに切り替わるデータ・バス、3/16ビ
ット固定のデータ・バスに接続できるマイクロプロセッ
サを実現できる。
る場合、本発明では以下の効果が得られる。 1)従来のダイナミック・バス・サイジングに必要な回
路を回路を共用できるため、回路規模の増加が少ない。 2)マイクロプロセッサのデータ・バス端子の上位16
ビットとシステム・バスの下位16ビットを接続するデ
ータ・バッファ(ダイナミック・サイジングでは必要)
が不要であり、簡単な外部回路で実現できる。 3)上位16ビットを常にHi−Z状態にすることがで
きるので、データ・バス端子の余分なドライブによる消
費電力を低減できる。
タ・バス端子を32ビット、対応するシステム・バスの
幅を32ビットあるいは16ビットとして説明してき
た。しかしながら、マイクロプロセッサのデータ・バス
端子は32ビットに限定されることはないし、対応する
システム・バスの幅も2のべき乗であっても(たとえば
8ビットを追加すること)、小変更により対応できるこ
とは明白である。
ド境界に、32ビット・データをワード境界に配置する
ことを前提として説明したが、この前提は本発明の適用
範囲を狭めるものではないことが明らかである。
やコストの違いにより、様々なメモリ・システムに接続
することができる汎用性の高いマイクロプロセッサが得
られる。
である。
ある。
図である。
論理図である。
である。
ある。
理図である。
る。
ブロックの一例を示す図である。
発生論理図である。
力信号の発生論理図である。
Claims (2)
- 【請求項1】 データ・バスを複数の部分に分割した一
部または全部を用いてデータ転送することをバス・サイ
クル毎に動的に選択する機能を有したマイクロプロセッ
サにおいて、前記データ転送方法を変更することを外部
から通知する第一の手段、前記データ・バスの一部分を
固定的に使用することを外部から通知する第二の手段、
前記データ・バスの一部分とそれ以外の部分の情報を入
れ替える手段、および前記データ・バスの一部分以外を
高インピーダンスにドライブする手段を有し、前記マイ
クロプロセッサが特定の状態にある時、前記第二の通知
手段に前記データ・バスの一部分を固定的に使用するこ
とを通知されると、前記第一の通知手段の状態にかかわ
らず、前記入替え手段により前記データ・バスの一部分
を用いてデータ転送し、前記データ・バスの一部分以外
はドライブ手段により高インピーダンスに保つことを特
徴とするマイクロプロセッサ。 - 【請求項2】 データ・バスを複数の部分に分割した一
部または全部を用いて、メモリあるいはI/Oに対して
データ転送することをバス・サイクル毎に動的に選択す
る機能を有したマイクロプロセッサにおいて、前記デー
タ転送方法を動的に変更することを外部から通知する第
一の手段、前記データ・バスの一部分を固定的に使用す
ることを外部から通知する第二の手段、前記データ・バ
スの一部分とそれ以外の部分の情報を入れ替える手段、
前記データ・バスの一部分以外を高インピーダンスにド
ライブする第三の手段、前記データ・バスの有効部分を
外部に通知する第四の手段、前記データ・バスの有効部
分を外部に通知する手段の一部分以外を高インピーダン
スにドライブする第五の手段、および前記データ・バス
を用いて前記外部メモリあるいはI/Oに対して転送す
るデータがメモリあるいはI/Oのどの位置に対するも
のであるかを外部に通知する第六の手段を有し、前記第
二の通知手段により前記データ・バスの一部分を固定的
に使用することを通知されると、前記第一の通知手段の
状態にかかわらず、前記入れ替え手段により前記データ
・バスの一部分を用いてデータ転送し、同時に、前記第
六の通知手段によりデータがメモリあるいはI/Oのど
の位置に対するものであるかを外部に通知し、前記第四
の通知手段により前記データ・バスの一部分の有効部分
を外部に通知し、前記データ・バスの一部分以外および
前記第四の通知手段の一部分以外を、前記第三のドライ
ブ手段、前記第五のドライブ手段により高インピーダン
スに保つことを特徴とするマイクロプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3184253A JP2718292B2 (ja) | 1991-07-24 | 1991-07-24 | マイクロプロセッサ |
US08/478,113 US5548766A (en) | 1991-07-24 | 1995-06-07 | Microprocessor for selecting data bus terminal width regardless of data transfer mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3184253A JP2718292B2 (ja) | 1991-07-24 | 1991-07-24 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0528097A JPH0528097A (ja) | 1993-02-05 |
JP2718292B2 true JP2718292B2 (ja) | 1998-02-25 |
Family
ID=16150077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3184253A Expired - Lifetime JP2718292B2 (ja) | 1991-07-24 | 1991-07-24 | マイクロプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5548766A (ja) |
JP (1) | JP2718292B2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3216931B2 (ja) * | 1993-01-13 | 2001-10-09 | 日本電気株式会社 | バスサイジングを有するマイクロプロセッサ |
JPH08147076A (ja) * | 1994-11-22 | 1996-06-07 | Seiko Epson Corp | 情報処理装置 |
JP3566364B2 (ja) * | 1994-12-22 | 2004-09-15 | キヤノン株式会社 | データ処理装置及び方法 |
JPH0991197A (ja) * | 1995-09-22 | 1997-04-04 | Sharp Corp | データ転送制御装置 |
JPH0997128A (ja) * | 1995-09-26 | 1997-04-08 | Internatl Business Mach Corp <Ibm> | 情報処理システム |
US5812798A (en) * | 1996-01-26 | 1998-09-22 | Motorola, Inc. | Data processing system for accessing an external device and method therefore |
US6279077B1 (en) * | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
JPH1078934A (ja) * | 1996-07-01 | 1998-03-24 | Sun Microsyst Inc | パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム |
US5911053A (en) * | 1996-09-30 | 1999-06-08 | Intel Corporation | Method and apparatus for changing data transfer widths in a computer system |
JPH10116179A (ja) * | 1996-10-11 | 1998-05-06 | Nec Corp | ビット数制御方法 |
US5854939A (en) * | 1996-11-07 | 1998-12-29 | Atmel Corporation | Eight-bit microcontroller having a risc architecture |
US5919254A (en) * | 1997-06-25 | 1999-07-06 | Intel Corporation | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system |
JPH11134245A (ja) * | 1997-10-31 | 1999-05-21 | Brother Ind Ltd | データ処理システム |
JPH11134246A (ja) * | 1997-10-31 | 1999-05-21 | Brother Ind Ltd | データ処理システム及びデータ処理システムにおける記憶装置からのデータ入力方法 |
US6122697A (en) * | 1997-11-14 | 2000-09-19 | Lucent Technologies, Inc. | System for extending the width of a data bus |
US6202116B1 (en) * | 1998-06-17 | 2001-03-13 | Advanced Micro Devices, Inc. | Write only bus with whole and half bus mode operation |
US6311239B1 (en) * | 1998-10-29 | 2001-10-30 | Cypress Semiconductor Corp. | Architecture, circuitry and method for transmitting n-bit wide data over m-bit wide media |
US6490638B1 (en) * | 1999-08-23 | 2002-12-03 | Advanced Micro Devices, Inc. | General purpose bus with programmable timing |
KR100475125B1 (ko) * | 2003-06-21 | 2005-03-14 | 삼성전자주식회사 | 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4514808A (en) * | 1978-04-28 | 1985-04-30 | Tokyo Shibaura Denki Kabushiki Kaisha | Data transfer system for a data processing system provided with direct memory access units |
US4447878A (en) * | 1978-05-30 | 1984-05-08 | Intel Corporation | Apparatus and method for providing byte and word compatible information transfers |
DE3236302A1 (de) * | 1982-09-30 | 1984-04-05 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
KR900007564B1 (ko) * | 1984-06-26 | 1990-10-15 | 모토로라 인코포레이티드 | 동적 버스를 갖는 데이터 처리기 |
US5034879A (en) * | 1984-10-01 | 1991-07-23 | Unisys Corp. (Formerly Burroughs Corp.) | Programmable data path width in a programmable unit having plural levels of subinstruction sets |
US5014186A (en) * | 1986-08-01 | 1991-05-07 | International Business Machines Corporation | Data-processing system having a packet transfer type input/output system |
US5109332A (en) * | 1988-09-09 | 1992-04-28 | Compaq Computer Corporation | System for controlling the transferring of different widths of data using two different sets of address control and state information signals |
JP2754825B2 (ja) * | 1989-02-03 | 1998-05-20 | 日本電気株式会社 | マイクロプロセッサ |
JPH0398145A (ja) * | 1989-09-11 | 1991-04-23 | Hitachi Ltd | マイクロプロセッサ |
JPH03216776A (ja) * | 1990-01-22 | 1991-09-24 | Mitsubishi Electric Corp | 集積回路装置及びそれにより構成されたマイクロプロセッサ |
JPH03269659A (ja) * | 1990-03-19 | 1991-12-02 | Nec Corp | マイクロプロセッサ |
-
1991
- 1991-07-24 JP JP3184253A patent/JP2718292B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-07 US US08/478,113 patent/US5548766A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5548766A (en) | 1996-08-20 |
JPH0528097A (ja) | 1993-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2718292B2 (ja) | マイクロプロセッサ | |
US5613078A (en) | Microprocessor and microprocessor system with changeable effective bus width | |
JP3180154B2 (ja) | マイクロプロセッサ | |
JP2651218B2 (ja) | フレキシブルasicマイクロコンピュータ | |
US5822779A (en) | Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active | |
US7308320B2 (en) | Processor core for using external extended arithmetic unit efficiently and processor incorporating the same | |
JP2504206B2 (ja) | バスコントロ―ラ | |
US6907514B2 (en) | Microcomputer and microcomputer system | |
US6205536B1 (en) | Combined Instruction and address caching system using independent buses | |
US5581774A (en) | Data processor decoding and executing a train of instructions of variable length at increased speed | |
JPH0135367B2 (ja) | ||
KR20080012233A (ko) | 버스트 메모리 액세스를 제어하는 메모리 인터페이스, 및그를 제어하는 방법 | |
JP2762138B2 (ja) | メモリコントロールユニット | |
US5327545A (en) | Data processing apparatus for selectively posting write cycles using the 82385 cache controller | |
US6336158B1 (en) | Memory based I/O decode arrangement, and system and method using the same | |
US5813041A (en) | Method for accessing memory by activating a programmable chip select signal | |
JPS61118850A (ja) | マイクロプロセツサ | |
US5535349A (en) | Data processing system and method for providing chip selects to peripheral devices | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
US6006288A (en) | Method and apparatus for adaptable burst chip select in a data processing system | |
US6230238B1 (en) | Method and apparatus for accessing misaligned data from memory in an efficient manner | |
JP7468112B2 (ja) | インタフェース回路およびインタフェース回路の制御方法 | |
US5875482A (en) | Method and apparatus for programmable chip select negation in a data processing system | |
JPS6383844A (ja) | マイクロプロセツサシステム | |
JP3003292B2 (ja) | データ・アライン装置 |
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: 19971014 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071114 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081114 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081114 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091114 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091114 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101114 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101114 Year of fee payment: 13 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101114 Year of fee payment: 13 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 14 |