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
Application number
JP3184253A
Other languages
English (en)
Other versions
JPH0528097A (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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP3184253A priority Critical patent/JP2718292B2/ja
Publication of JPH0528097A publication Critical patent/JPH0528097A/ja
Priority to US08/478,113 priority patent/US5548766A/en
Application granted granted Critical
Publication of JP2718292B2 publication Critical patent/JP2718292B2/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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数種のデータ・バス
幅のシステムに対応するマイクロプロセッサのデータ転
送に関する。
【0002】
【従来の技術】マイクロプロセッサを用いた情報処理シ
ステムでは、マイクロプロセッサと命令コードやオペラ
ンド・データを格納するメモリの間でデータ転送するデ
ータ・バスのビット幅が、処理性能に対して影響を与え
る。
【0003】データ・バスは8/16/32ビット等、
2のべき乗が代表的である。広いバス幅を用いること
で、データの最大転送能力が高まり、幅の広いデータを
取り扱う頻度が大きなアプリケーションほど広いバス幅
の恩恵を受けることになる。
【0004】一方、データ・バス幅が広くなることで、
次のようなコスト面のトレードオフが生じる。
【0005】1)メモリの最低構成単位が増加する。た
とえば8ビット×128KワードのダイナミックRAM
チップを用いる場合、8ビット・バスでは1ケで最低構
成のメモリが構築できる。一方16ビット・バスでは、
最低構成するのに2ケのRAMチップを要する。必要と
するメモリ容量が128Kバイト以内の場合、後者では
128バイトの無駄な記憶容量を実装することになる。
広いバス幅のメモリ・システムでは、このような無駄領
域(一般にフラグメンテーションと呼ばれる)が生じる
ことになる。
【0006】2)配線面積が増加する。広いバス幅を採
用すれば、マイクロプロセッサからメモリ・システムに
データ・バスを物理的に接続するための配線(プリント
基板上のパターン。またはマイクロプロセッサを含む基
板と、メモリ・システムを含む基板を接続するための配
線)が、倍増していく。プリント基板上のパターン上に
は、LSI等の部品/その他のパターンを配置できない
ため、システム全体の物理的サイズが増加する。
【0007】3)データ・バッファが増加する。マイク
ロプロセッサとメモリ・システムとを接続するデータ・
バスの駆動には、電流や静電容量、耐雑音への考慮のた
め、大きなドライブ能力を必要とする。マイクロプロセ
ッサ、およびメモリ・チップにはデータ・バスを駆動す
るに十分な能力を有したバッファを内蔵できないため、
外部にデータ・バッファ用の集積回路が必要になる。デ
ータ・バッファは高いドライブ能力を持つ半面、消費電
力が大きい。このため、システム全体で大きな熱発生の
原因となったり、より大きな能力を持つ電源装置を必要
とすることになる。
【0008】性能の向上をコストと引換えたデータ・バ
ス幅を広げることが考えられる。これを実現するために
は、ソフトウェアの書換えをすることなしに移行できる
ことが望まれる。
【0009】レジスタ・セット、命令セット、命令コー
ド等のアーキテクチャが同一で、データ・バス幅の異な
るマイクロプロセッサが用意される。
【0010】日本電気(株)の8/16ビットマイクロ
プロセッサV20/V30は、同一のアーキテクチャを
持ち、内部処理を16ビットで行うマイクロプロセッサ
である。ただし、前者は8ビット、後者は16ビット幅
のデータ・バス端子を持つ。その他バス幅が異なりデー
タ転送能力に差があるため、命令プリフェッチ・バッフ
ァの容量に差がある(前者4バイト、後者6バイト)。
実行や命令デコードのための構成や動作は同一であり、
データ・バスの制御を司どるバス制御回路、および端子
機能に差がある。
【0011】しかしながら、互いに同一のアーキテクチ
ャを持つため、一方のマイクロプロセッサで動作するプ
ログラムを、もう一方のマイクロプロセッサで動作でき
る。ソフトウェアの観点からみれば、2つのマイクロプ
ロセッサでは性能が異なるため、実行クロック数のみ異
なるだけである。具体的には後者の方が最大2倍のデー
タ転送能力があるため、平均的には1.3〜1.5倍程
度の性能が得られる。ユーザはシステム・レベルの性能
とトータル・コストのトレードオフで、2つのマイクロ
プロセッサを選択できる。
【0012】一方、1つのマイクロプロセッサで、複数
種のバス幅を持つデータ・バスに対応するものとして、
INTEL社の32ビット・マイクロプロセッサi80
486がある。このマイクロプロセッサでは基本演算の
対象として、8/16/32ビットのデータを持つ。一
方、外部データ・バスは32ビット幅である。8/16
ビット・データの外部アクセスは、32ビット幅の外部
データ・バスを8ビット単位に分割し、その一部を利用
して行われる。
【0013】外部メモリに対するアドレス指定のため
に、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)に分割する。
【0014】さらに、データ・バス端子D31−D0に
関し、どの8ビット単位を用いてデータ転送を行うのか
を示す出力端子BE3(−)〜BE0(−)を持つ
((−)は負論理信号であることを示す)。
【0015】BE3(−)端子は、データ・バスのB3
の部分を用いてデータ転送することを示し、同様にBE
2(−)端子はB2部分、BE1(−)端子はB1部
分、BE0(−)端子はB0部分に対応する。
【0016】例えば5番地のメモリと16ビット・デー
タを転送する場合、アドレス端子には32ビット・デー
タに対する“00000001h”、データ・バスの有
効性を示すために、BE3(−)〜BE0(−)端子に
は“1001b”が出力される。外部メモリに対して1
番地の32ビット・データに対してアクセスが行われ、
リード転送ではデータ・バスのB3,B2部分を介して
マイクロプロセッサに16ビット・データが転送され
る。ライト転送ではデータ・バスのB3,B2部分にマ
イクロプロセッサから16ビット・データが出力され、
外部メモリに転送される。
【0017】i80486マイクロプロセッサでは、次
の場合上位16ビット(B3,B2部分)を使用する。
【0018】 (1)32ビット・データをアクセスする場合 (2)下位2ビットが00bでない16ビット・データ
をアクセスする場合 (3)下位2ビットが0Xbでない8ビット・データを
アクセスする場合 さらに、次の場合1回のバス・サイクルの起動しか行わ
ない。
【0019】(1)下位2ビットが00bである32ビ
ット・データをアクセスする場合 (2)下位2ビットが11bでない16ビット・データ
をアクセスする場合 このため、データ・バス端子D31〜D0の下位16ビ
ットD15〜D0のみを使用して、16ビット幅の外部
メモリにこのマイクロプロセッサをそのまま接続できな
い。
【0020】i80486マイクロプロセッサではこの
問題を解決するために、16ビット幅のデータ・バスで
データ転送するためのBS16(−)端子、8ビット幅
のデータ・バスでデータ転送するためのBS8(−)端
子を用意している。これらの端子をバス・サイクル期間
中に活性化することで、下位16(B1,B0部分)/
下位8ビット(B0部分)だけを使用するデータ転送が
指定できる。
【0021】説明を簡単にするために、BS16(−)
端子を用いた16ビット幅のデータ・バスを用いたデー
タ転送について述べる。先程と同様に5番地のメモリと
16ビット・データをライト転送する場合を考える。
【0022】i80486マイクロプロセッサはまず3
2ビット・バスを使用できるものとしてB2部分に16
ビット・データの上位8ビット、およびB1部分に下位
8ビットを出力する。BE3(−)〜BE0(−)端子
には“1001b”が出力される。
【0023】バス・サイクルの終了前にBS16(−)
端子が活性化することをi80486マイクロプロセッ
サが検知すると、引続いて1回のバス・サイクルが追加
される。このバス・サイクルではBE3(−)〜BE0
(−)端子には“1011b”が出力され、B2部分に
16ビット・データの上位8ビットが出力される。
【0024】このように、1回目のバス・サイクルでは
16ビット・データの下位8ビットが、2回目のバス・
サイクルでは16ビット・データの上位8ビットが転送
される。
【0025】図13はi80486と同等の機能を有し
たマイクロプロセッサ(CPU)301を用い、16ビ
ット幅のデータ・バスを介し、外部メモリ(MEM)3
02をアクセスする情報処理装置の構成を示す。CPU
301は常に16ビット・アクセスをするように、BS
16(−)端子は固定的にアクティブ・レベル(“0”
レベル)に接続される。
【0026】CPU301の32ビット・データ・バス
端子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)に
接続される。
【0027】MEM302へのアドレスは、CPU30
1のアドレス・バス端子A31〜A2の出力、およびア
クセス制御回路(ACNT)303で生成されたアドレ
ス出力A1を合成して通知される。さらに同一アドレス
に対してMB0 321を選択するCS0(−)信号、
MB1 322を選択するCS1(−)を選択するCS
1(−)信号がACNT303から通知される。
【0028】ACNT303は、CPU301がドライ
ブするBE3(−)〜BE0(−)端子の状態を解析
し、BUF0 310,BUF1 311の選択信号B
SL(−)、およびBUF2 312,BUF3 31
3の選択信号BSH(−)、外部メモリに対するCS0
(−),CS1(−),A1信号を発生する。
【0029】図14は、BS16(−)端子を活性化し
た結果、MPU301が発行するバス・サイクル、およ
び次のバス・サイクルで発行されるBE3(−)〜BE
0(−)端子の状態を示す。この図から、16ビット・
データ・バスでは16ビット境界以外の32ビット・デ
ータをアクセスする際、最大3回のバス・サイクルが発
行されることがわかる(32ビット・データ・バスでも
2回発行される。)。
【0030】図15は、ACNT303がBE3(−)
〜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を介
したアクセスが行われる。
【0031】CPU301は2回目のバス・サイクルで
はBE3(−)〜BE0(−)信号は“1011h”を
発生するため、BSH(−)信号がアクティブとなり、
BUF2 312,BUF3 313が活性化されデー
タ・バス端子のB2部分は外部データ・バスDB7−D
B0に、B3部分は外部データ・バスDB15−DB8
に接続される。
【0032】さらに、外部メモリ302にはアドレスA
31−A1(16ビット・データに対するアドレス)と
して“00000003h”が加えられ、CS0(−)
信号がアクティブになることにより、“0000000
3h”のアドレスを持つMB0 321に対して外部デ
ータ・バスDB7−DB0を介したアクセスが行われ
る。
【0033】図16には、以上説明した動作のタイミン
グ・チャートを示す。説明では省略したが、データ転送
は外部クロック信号CLKに同期して行われ、1回のデ
ータ転送はT1,T2の2つのステートで構成される。
BS16(−)信号の状態は、1回目のデータ転送にお
けるT2ステートの先頭でサンプリングされる。
【0034】このように、バス・サイクルの起動が開始
されてから、外部の状態(本例ではBS16(−)端子
の状態)を検知してバス・サイクルを追加し、狭いビッ
ト幅のデータ・バスに対してデータ転送を行う方式を、
ダイナミック・バス・サイジング(Dynamic B
us−Sizing)機能と呼ばれる。
【0035】
【発明が解決しようとする課題】ダイナミック・バス・
サイジング機能を用いて、複数種類のビット幅(ex.
32ビット固定と16ビット固定)を持つデータ・バス
に接続し、複数種類のビット幅を持つデータ(ex.8
/16/32ビット)を転送する場合には次の問題点が
ある。 (1)消費電力が大きい。
【0036】前述の例では、32ビットのデータ・バス
端子のうち、1回目のバス・サイクルではB3,B0部
分は無効な8ビットデータが、B2部分では実際に転送
されない8ビット・データがドライブされる。また、2
回目のバス・サイクルではB3,B1,B0部分は無効
な8ビットデータがドライブされる。このように、実際
のデータ転送に無関係のデータ・バス端子をドライブす
る頻度が増すため、無駄な電力が生じる。 (2)外部回路が増加する。
【0037】マイクロプロセッサのデータ・バス端子
と、外部データ・バスを8ビット単位に選択接続するバ
ッファを必要とする。前述の例では、データ・バス・バ
ッファBUF0〜BUF3 310,311,312,
313が相当する。これは、ダイナミック・バス・サイ
ジング方式ではデータ・バスのビット幅がバス・サイク
ルを起動してみて初めて検知されるため、1回目のバス
・サイクルでは最大ビット幅(例では32ビット)を仮
定としたデータ転送を行おうとするためである。
【0038】本発明の目的はかかる問題点を解決したマ
イクロプロセッサを提供することにある。
【0039】
【課題を解決するための手段】本発明のマイクロプロセ
ッサは、データ・バスを複数の部分に分割した一部また
は全部を用いてデータ転送することをバス・サイクル毎
に動的に選択する機能を有したマイクロプロセッサにお
いて、前記データ転送方法を変更することを外部から通
知する第一の手段、前記データ・バスの一部分を固定的
に使用することを外部から通知する第二の手段、前記デ
ータ・バスの一部分とそれ以外の部分の情報を入れ替え
る手段、前記データ・バスの一部分以外を高インピーダ
ンスにドライブする手段を有し、を持つことを特徴とす
る。
【0040】すなわち、従来のマイクロプロセッサは、
複数ビット幅のデータ・バスに対応するために、バス・
サイクルの起動後にデータ・バスのビット幅を検知し、
必要な回数のバス・サイクルを追加することで実現して
おり、さらにアライン機能を実現するために、専用のア
ライナを用意していたのに対し、本発明では、リセット
時にバス幅を検知し、データ転送時に最適なバス・サイ
クルを起動し、アライン機能は実行処理部のシフト機能
を時分割して実現している。
【0041】さらに、本発明では、データ・バスを複数
の部分に分割した一部または全部を用いて、メモリある
いはI/Oに対してデータ転送することをバス・サイク
ル毎に動的に選択する機能を有したマイクロプロセッサ
において、前記データ転送方法を動的に変更することを
外部から通知する第一の手段、前記データ・バスの一部
分を固定的に使用することを外部から通知する第二の手
段、前記データ・バスの一部分とそれ以外の部分の情報
を入れ替える手段、前記データ・バスの一部分以外を高
インピーダンスにドライブする第三の手段、前記データ
・バスの有効部分を外部に通知する第四の手段、前記デ
ータ・バスの有効部分を外部に通知する手段の一部分以
外を高インピーダンスにドライブする第五の手段、前記
データ・バスを用いて前記メモリあるいはI/Oに対し
て転送するデータが、外部メモリあるいはI/Oのどの
位置に対するものであるかを外部に通知する第六の手段
とを有し、前記第二の通知手段により前記データ・バス
の一部分を固定的に使用することを通知されると、前記
第一の通知手段の状態にかかわらず、前記入れ替え手段
により前記データ・バスの一部分を用いてデータ転送
し、同時に、前記第六の通知手段によりデータがメモリ
あるいはI/Oのどの位置に対するものであるかを外部
に通知し、前記第四の通知手段により前記データ・バス
の一部分の有効部分を外部に通知し、前記データ・バス
の一部分以外および前記第四の通知手段の一部分以外を
前記第三のドライブ手段、前記第五のドライブ手段によ
り高インピーダンスに保つ手段を有する。
【0042】
【実施例】以下、本発明の実施例につき図面を用いて詳
述する。
【0043】図1は、本発明を利用して16ビットまた
は32ビットのデータ・バスに接続できるマイクロプロ
セッサ100の構成を示す図面である。
【0044】本マイクロプロセッサ100は、パイプラ
イン処理を行うために、命令フェッチ・ユニット(以下
IUと称する)101、命令デコード・ユニット(以下
DUと称する)102、命令実行ユニット(以下EUと
称する)103、実効アドレス計算ユニット(以下AU
と称する)104、バス・サイクル制御ユニット(以下
BUと称する)105を持つ。
【0045】IU101は、フェチ・サイクルの起動制
御、およびフェッチ・サイクルで外部より取り込んだ命
令コードを蓄積する。命令コード・キャッシュを含むよ
うな構成も考えられる。命令コードは、16ビット長あ
るいは32ビット長のいずれかである。各命令コードは
メモリのハーフワード境界から(アドレスの最下位ビッ
トが“0”)置かれるものとする。
【0046】DU102は、IU101に蓄積された命
令コードをデコードし、個々の命令に特有な処理を示す
信号を発生させる。DU102で発生された信号は、図
面では一部省略されているがその他の各ユニットに対す
る動作指示信号として与えられる。
【0047】EU103は、32本の32ビット幅の汎
用レジスタ、32ビット幅の算術論理演算装置、バレル
・シフタ等を含み、DU102によって指定された命令
実行処理を行う。その内部制御はハードワイアド論理に
よるもの、マイクロプログラムを用いたもの等が考えら
れる。
【0048】AU104は、DU102がメモリあるい
はI/Oに対するアクセスを含む命令であることを検知
すると、オペランドに対するアドレスを計算する。アド
レス計算に使用される要素は、命令コード中に含まれる
ディスプレースメント値、あるいは汎用レジスタの値が
用いられる。前者はIU101から、後者はEU103
から供給される。オペランド・データは8/16/32
ビットのものがあり、16ビット・データはハーフワー
ド境界(アドレスの最下位ビットが“0”)から、32
ビット・データはワード境界(アドレスの最下位2ビッ
トが“00b”)から配置されるものとする。
【0049】BU105は、他のユニットから与えられ
るアドレス情報、データ情報、および起動要求に基づい
て、外部バス・サイクルを発生する。バス・サイクルで
外部から読み込まれたデータは、命令コードはIU10
1に、オペランド・データはEU103に供給される。
【0050】各ユニットは、図1に概略を示すようにバ
ス構造で内部接続される。
【0051】BU105とIU101間はオペランド・
アクセス以外のバス・サイクルで使用するアドレス(I
A31−IA0を経由)と命令コードを転送するため
に、IU101とDU102間は命令コードを転送する
ために、AU104とIU101間、およびAU104
とEU103間はアドレス計算に使用されるアドレス要
素を転送するために(IA31−IA0を経由)、EU
103とBU105間はリード・オペランドまたはライ
ト・オペランドを双方向的に転送するために(ID31
−ID0を経由)、AU104とBU105間は実効ア
ドレスを転送するために(IA31−IA0を経由)、
EU103とBU105間の任意のバス・サイクルで使
用するアドレスを転送するために(IA31−IA0を
経由)接続される。
【0052】図面ではIU101からのバス・サイクル
起動要求はFREQ信号、DU102からのものはOP
REQ信号、EU103からのものはACREQ信号で
表現される。これらの要求信号は、実際にはバス・サイ
クルの種類を表現するための複数の信号、およびタイミ
ングを規定する信号等の複数の信号によって構成され
る。
【0053】BU105はバス・サイクルに関連して、
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を持つ。
【0054】基本的なバス・サイクルは、マイクロプロ
セッサ100のクロック入力端子126に加えれる基準
クロック信号CLKに同期した2つのステートT1,T
2で構成される。
【0055】その他、バス・サイクルの種類、起動タイ
ミングを示す信号は、図面では省略している。
【0056】図2および図3は、それぞれ、BU105
において本発明に最も関連したデータ部分および制御部
分の構成を詳細に示している。
【0057】図2において、オペランド・ライト・レジ
スタ(以下OPWと略す)111は、EU103から転
送される内部データ・バスID31−ID0上のライト
・オペランドをOPWST信号(EU103から出力さ
れる。第一図では省略している。)で保持する32ビッ
トのレジスタであり、説明の便宜上図面では上位16ビ
ットと下位16ビットに分割している。OPW111の
出力は、次のようにオペランド・ライト・バッファ11
4,115,116を介してデータ・バス端子122を
ドライブする。
【0058】(1)上位16ビットを114を介して上
位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)状態となる。
【0059】オペランド・リード・レジスタは上位16
ビット(以下OPRHと略す)112と、下位16ビッ
ト(以下OPRLと略す)113で構成され、データ・
バス端子D31−D0のリード・オペランドの上位16
ビットあるいは下位16ビットをラッチする。OPRH
112のラッチ信号はOPRHST、OPRL113の
ラッチ信号はOPRLSTである。
【0060】OPRH112,OPRL113の出力は
OPRLD信号(EU104から出力される。第一図で
は省略している。)によりオペランド・リード・バッフ
ァ118.119を介して、ID31−ID0にドライ
ブされEU104に転送される。
【0061】マルチプレクサ(以下MPXと略す)は、
OPHSL信号がインアクティブ(“0”)の時OPP
RHS112の入力にD31−D16を選択し、アクテ
ィブ(“1”)の時にD15−D0を選択する。
【0062】図3において、コマンド・レジスタ(以下
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に入力される。
【0063】バス・サイクル・シーケンサ(以下BCS
と略す)132は、BREQ信号によってバス・サイク
ルの起動が指定されると、現在のバス・サイクルの状態
をLAST信号、および図面では省略しているが外部端
子によるバス・サイクルの終了準備信号により検知し、
新たなバス・サイクルの起動を制御するとともに、T
1,T2ステートの発生、ならびにEU104に対する
次のバス・サイクル起動要求の禁止をBBSY信号(図
1では省略している)を発生して通知する。T2ステー
トは、バス・サイクルの終了準備信号により繰り返され
ることがある。外部BCD132によって発生されるバ
ス・サイクルの状態信号には、以下のものがある。
【0064】DST: リード・バス・サイクルでデ
ータ・バス端子122上の情報を、CPU100内部に
ラッチするタイミングを示す。最後のT2ステートの後
半に発生する。
【0065】BBGN: バス・サイクルが起動された
ことを示す。T1ステートの前半に発生する。
【0066】BEND: 起動を要求されたバス・サイ
クルの終了タイミングを示す。最後のT2ステートの前
半に発生する。
【0067】BCYC: バス・サイクルが起動されて
いることを示す。T1ステートの後半から、最後のT2
の半クロック後まで発生する。
【0068】SZRQST:SZRQ(−)端子125
の状態をサイジング・ラッチ(以下SZLと略す)13
5にラッチするタイミングを示す。T2ステートの前半
で発生する。
【0069】BCS132は、BREQ信号を受け付け
るとT1,T2ステートからなるバス・サイクルのシー
ケンスを起動する。同時に、EU104に新たなバス・
サイクル起動を要求しないようにBBSY信号をアクテ
ィブにする。T2ステートが終了する際、BCD134
が最後のバス・サイクルであったことを示すLAST信
号を通知してきていれば(アクティブ状態であれば)、
BCS132はBBSY信号をインアクティブにし、B
END信号を発生する。一方、LAST信号がインアク
ティブであれば、BCS132はさらにもう1回のバス
・サイクル(追加バス・サイクル)のシーケンスを起動
する。
【0070】BCD134は、CML131から通知さ
れるLTYP1−LTYP0信号およびSZL135に
より通知されるSSIZ,DSIZ信号により、起動要
求されたバス・サイクルが追加バス・サイクルを必要と
すべきかを判定する。APND信号は1回目のバス・サ
イクルが終了し、これから追加バス・サイクルが起動さ
れることを示す。LAST信号は追加バス・サイクルが
不要な場合はアクティブ状態を保ち、追加バス・サイク
ルが必要な場合は1回目のバス・サイクルが終了した時
にアクティブ状態になる。
【0071】BCD134は、サイジングが要求され
(SSIZ信号とDSIZ信号の論理和により検知)、
かつ32ビット・データを転送するバス・サイクルの起
動が要求され(LTYP1−LTYP0信号が“1X
b”により検知)た場合に、追加バス・サイクルの必要
性を検知する。また、バス・サイクルの終了は、BEN
D信号により通知される。
【0072】SZL135は、16ビット・バス指定入
力端子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”)
に保持する。
【0073】CMD133は、CML131,BCS1
32,BCD134,SZL135から通知される各信
号に基づき、バイト・イネーブル端子BE3(−)〜B
E0(−)123をドライブする。基本的には、指定さ
れたアドレス(LIA1−LIA0信号で通知)および
データのビット長(LTYP1−LTYP0信号で通
知)で決定される。追加バス・サイクル(APND信号
で通知)では、特定の値が選択される。
【0074】16ビット・バスが指定されている場合
(SSIZ信号で通知)と、そうでない場合(32ビッ
ト・バスが指定されている場合)で、出力される値は異
なる。
【0075】図4にBE3(−)〜BE0(−)端子1
23に出力される値を示す。BE3(−)〜BE0
(−)端子123は、バス・サイクルに同期して変化す
るように、CMD133にはBBGN信号の立上りで変
化するようなラッチが含まれている。
【0076】さらに、16ビット・バスが指定されてい
る場合(SSIZ信号で通知)は、ドライブする端子の
数を減らし消費電力を低減するために、BE3(−),
BE2(−)端子はHi−Z状態(図中“Z”で示して
ある)をドライブする。
【0077】さらにCMD133は、図2に示すBU1
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信号で通知)には考慮がなされる。
【0078】図5に各信号の発生条件を示す。また、各
信号は次のようにタイミング信号がマスクされる。
【0079】OPWHHS,OPWHLS,OPWLL
S:BCYC信号によるデータ・バス端子122への出
力タイミング(ライト・バス・サイクルのみ) OPRHST,OPRLST:DST信号によるデータ
・バス端子122からの入力タイミング(リード・バス
・サイクルのみ)次に32ビット・データとして“12
345678h”を“00000004h”番地にリー
ド/ライトする場合に関し、本実施例の動作について、
説明する。
【0080】(1)32ビット・バスが指定された場合 リセット時にSIZ16B(−)端子124がインアク
ティブ(“1”)であるので、SZL135はSSIZ
信号に“0”を保持する。さらにSZRQ(−)端子1
25を常にインアクティブ(“1”)にすることで、S
ZRQST信号が発生しても、SZL135はDSIZ
信号に“0”を保持する。
【0081】ライト転送の場合EU104は、ライト・
バス・サイクルの起動要求に先立ち、内部データ・バス
ID31−ID0を“12345678h”にドライブ
するとともに、OPWST信号を発生する。この結果O
PW111に“12345678h”がラッチされる。
【0082】EU104はさらにバス・サイクル起動要
求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”
にドライブする。
【0083】さらに図5より、CMD133はライト・
バス・サイクルに同期して、OPWHHS,OPWLL
S信号を発生し、データ・バス端子D31−D16 1
22にOPW111の上位16ビットがオペランド・ラ
イト・バッファ114を介してドライブされ(“123
4h”)、データ・バス端子D15−D0122にOP
W111の下位16ビットがオペランド・ライト・バッ
ファ116を介してドライブされる(“5678
h”)。
【0084】リード転送の場合、EU104はバス・サ
イクル起動要求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”にドライブする。
【0085】さらに図5より、CMD133はリード・
バス・サイクルの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へ取り込む。
【0086】(2)ダイナミック・サイジングが指定さ
れた場合 リセット時にSIZ16B(−)端子124がインアク
ティブ(“1”)であるので、SZL135はSSIZ
信号に“0”を保持する。さらにSZRQ(−)端子1
25は、バス・サイクルに同期して/あるいは常にアク
ティブ(“0”)にすることで、SZRQST信号が発
生した場合SZL135はDSIZ信号に“1”を保持
する(バス・サイクルに同期して入力する場合は一定期
間保持される)。
【0087】ライト転送の場合SSIZ信号インアクテ
ィブ(“0”)を保つがDSIZ信号がアクティブにな
ると、BCD134は1回目のバス・サイクルの終了
時、APND信号を発生し追加バス・サイクルを発生す
る。図4より、CMD133は1回目のライト・バス・
サイクルに同期して、BE3(−)−BE0(−)端子
123を“0000b”にドライブする。さらに、追加
ライト・バス・サイクルに同期して、BE3(−)−B
E0(−)端子123を“0011b”にドライブす
る。
【0088】さらに図5より、CMD133は1回目の
ライト・バス・サイクルに同期して、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状態にすることも考えられる。
【0089】リード転送の場合、BCD134は一回目
のバス・サイクルの終了時、APND信号を発生し追加
バス・サイクルを発生する。図4より、CMD133は
一回目のリード・バス・サイクルに同期して、BE3
(−)−BE0(−)端子123を“0000b”にド
ライブする。さらに、追加リード・バス・サイクルに同
期して、BE3(−)−BE0(−)端子123を“0
011b”にドライブする。
【0090】さらに図5より、CMD133は1回目の
リード・バス・サイクルのBEND信号に同期して、O
PWRHST,OPRLST信号を発生し、データ・バ
ス端子D31−D16 122上のデータがMPX11
7を介してOPRH112にラッチされ(不定値)、デ
ータ・バス端子D15−D0 122上のデータがOP
RL113にラッチされる(“5678h”)。この時
OPRH112にラッチされるデータ(不定値)は、無
効なデータである。
【0091】追加リード・サイクルでは、CMD133
はOPRHST,OPRHSL信号を発生し、データ・
バス端子D15−D0 122上のデータがMPX11
7を介してOPRH112にラッチされる(“1234
h”)。
【0092】EU104へのOPRH112,OPRL
113の読み出しについては、前述の例と等価であり省
略する。
【0093】(3)16ビット・バスが指定された場合 リセット時にSIZ16B(−)端子124がアクティ
ブ(“1”)であるので、SZL135はSSIZ信号
に“1”を保持する。さらにSZRQ(−)端子125
の状態にかかわらず、SZL135はDSIZ信号に
“0”を保持する。
【0094】ライト転送の場合SSIZ信号はアクティ
ブ(“0”)を保つため、BCD134はバス・サイク
ル起動要求毎に1回目のバス・サイクルの終了時、AP
ND信号を発生し追加バス・サイクルを発生する。図4
より、CMD 133は1回目のライト・バス・サイク
ルに同期して、BE3(−)−BE0(−)端子123
を“ZZ00b”にドライブする。さらに、追加ライト
・バス・サイクルに同期して、BE3(−)−BE0
(−)端子123を“ZZ00b”にドライブする。
【0095】さらに図5より、CMD133は1回目の
ライト・バス・サイクルに同期して、OPWLLS信号
を発生し、データ・バス端子D15−D0 122にO
PW111の下位16ビットがオペランド・ライト・バ
ッファ116を介してドライブされる(“5678
h”)。追加ライト・バス・サイクルでは、CMD13
3はOPWHLS信号を発生し、データ・バス端子D1
5−D0 122にOPW111の上位16ビットがオ
ペランド・ライト・バッファ115を介してドライブさ
れる(“1234h”)。
【0096】双方のバス・サイクルともに、データ・バ
ス端子D31−D16 122はHi−Z状態がドライ
ブされる。
【0097】リード転送の場合、ダイナミック・サイジ
ングが指定された場合(上記(2))と同様に動作す
る。
【0098】図6に、前記動作例における本実施例のタ
イミング・チャート(ライト・バス・サイクルのみ)を
示す。
【0099】前述の例では、16ビット・バスが指定さ
れた時(上記(3))以外の場合、1回目のバス・サイ
クルでは最下位のアドレス2ビット(IA1−IA0)
に応じて、データ・バス端子D31−D0 122の使
用形態がデータのビット長に応じて次のように異なる。
【0100】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 D
15−D0 を用いる IA1−IA0=1Xb D31−D16を用いる このようにデータ転送すべきアドレスによって、データ
のLSB(LeastSignificant Bi
t)位置を整列させるためのデータ入替え機能をアライ
ン(Aligne)と呼ぶ。アライン機能は、EU10
4とBU105の間で行われるデータ転送の中途、ある
いはEU104のデータ処理の前/後に処理されるべき
機能であり、本発明の本質とは関係ないため、ここでは
説明を省略する。
【0101】図7に本発明の他の実施例を示す。本実施
例16ビットまたは32ビットのデータ・バスに接続で
きるマイクロプロセッサ700である。本マイクロプロ
セッサ700は、パイプライン処理を行うために、命令
フェッチ・ユニット(以下IUと略す)701、命令デ
コード・ユニット(以下DUと略す)702、命令実行
ユニット(以下EUと略す)703、実行アドレス計算
ユニット(以下AUと略す)704、バス・サイクル制
御ユニット(以下BUと略す)705を持つ。
【0102】IU701は、フェッチ・サイクルの起動
制御、およびフェッチ・サイクルで外部より取り込んだ
命令コードを蓄積する。命令コード・キャッシュを含む
ような構成も考えられる。命令コードは16ビット長あ
るいは32ビット長のいずれかとする。各命令コードは
メモリのハーフワード境界(アドレスの最下位ビットが
“0”)から置かれるものとする。DU702は、IU
701に蓄積された命令コードをデコードし、個々の命
令に特有な処理を示す信号を発生させる。DU702で
発生された信号は、その他の各ユニットに対する動作指
示信号(図面では一部省略)として与えられる。
【0103】EU703は、32本の32ビット幅の汎
用レジスタ、32ビット幅の算術論理演算装置、バレル
・シフタ等を含み、DU702によって指定された命令
実行処理を行う。その内部制御はハードワイアド論理や
マイクロプログラム等が考えられる。
【0104】AU704は、DU702がメモリまたは
I/Oに対するアクセスを含む命令であることを検知す
ると、オペランドに対するアドレスを計算する。アドレ
ス計算に使用される要素は、命令コード中に含まれるデ
ィスプレースメント値や汎用レジスタの値が用いられ
る。前者はIU701から、後者はEU703から供給
される。オペランド・データは8/16/32ビットの
ものがあり、16ビット・データはハーフワード境界
(アドレスの最下位ビットが“0”)から、32ビット
・データはワード境界(アドレスの最下位2ビットが
“00b”)から配置されるものとする。
【0105】BU705は、他のユニットから与えられ
るアドレス情報、データ情報、起動要求に基づいて、外
部バス・サイクルを発生する。バス・サイクルで外部か
ら読み込まれたデータは、命令コードはIU101に、
オペランド・データはEU703に供給される。
【0106】各ユニットは、図に概略を示すようにバス
構造で内部接続される。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を経由してそれぞれ接続される。
【0107】図面ではIU701からのバス・サイクル
起動要求はFREQ信号、DU702からのものはOP
REQ信号、EU703からのものはACREQ信号で
示している。これらの要求信号は、実際にはバス・サイ
クルの種類を表現するための複数の信号、およびタイミ
ングを規定する信号等の複数の信号によって構成され
る。
【0108】BU705はバス・サイクルに関連して、
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
を持つ。
【0109】基本的なバス・サイクルは、マイクロプロ
セッサ100のクロック入力端子127に加えられる基
準クロック信号CLKに同期した2つのステートT1,
T2で構成される。その他のバス・サイクルの種類、起
動タイミングを示す信号は、図面を省略している。
【0110】図8および図9は、それぞれBU705に
おいて本発明に最も関連したデータ部分および制御部分
の構成を詳細に示している。
【0111】図8において、オペランド・ライト・レジ
スタ(以下OPWと略す)711は、転送される内部デ
ータ・バスID31−ID0上のライト・オペランドを
EU703から出力されるOPWST信号(第一図では
省略)で保持する32ビットのレジスタであり、説明の
便宜上図面では上位16ビットと下位16ビットに分割
している。OPW711の出力は、次のようにオペラン
ド・ライト・バッファ714,715,716を介して
データ・バス端子723をドライブする。
【0112】(1)OPW111の上位16ビットを1
14を介して、D31−D16にドライブする。
【0113】(2)OPW111の上位16ビットを1
15を介して、D15−D0にドライブする。
【0114】(3)OPW111の下位16ビットを1
16を介して、D15−D0にドライブする。
【0115】OPWHHS,OPWHLS,OPWLL
S信号は、オペランド・ライト・バッファ714,71
5,716の活性化信号である。いずれのオペランド・
ライト・バッファ714,715,716も活性化され
ない場合、D31−D16およびD15−D0は高イン
ピーダンス(Hi−Z)状態となる。
【0116】オペランド・リード・レジスタは上位16
ビット(以下OPRHと略す)712と、下位16ビッ
ト(以下OPRLと略す)713で構成され、データ・
バス端子D31−D0のリード・オペランドの上位16
ビットあるいは下位16ビットをラッチする。OPRH
ST、OPRLSTはそれぞれOPRH712、OPR
L713のラッチ信号である。
【0117】OPRH712,OPRL713の出力は
EU704から出力されるOPRLD信号(図7では省
略)によりオペランド・リード・バッファ718、71
9を介して、ID31−ID0にドライブされEU70
4に転送される。マルチプレクサ(以下MPXと略す)
717は、OPRHSL信号がインアクティブ
(“0”)の時OPRH712の入力にD31−D16
を選択し、アクティブ(“1”)の時にD15−D0を
選択する。
【0118】図9において、コマンド・レジスタ(以下
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に入力される。
【0119】バス・サイクル・シーケンサ(以下BCS
と略す)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ステートの前半で発生す
る。
【0120】BCS732は、BREQ信号を受け付け
るとT1,T2ステートからなるバス・サイクルのシー
ケンスを起動する。同時に、EU704に新たなバス・
サイクル起動を要求しないようにBBSY信号をアクテ
ィブにする。T2ステートが終了する際、BCD734
が最後のバス・サイクルであったことを示すLAST信
号を通知してきていれば(アクティブ状態)、BCS7
32はBBSY信号をインアクティブにし、BEND信
号を発生する。一方、LAST信号がインアクティブで
あれば、BCS732は2回目のバス・サイクル(追加
バス・サイクル)のシーケンスを起動する。
【0121】BCD734は、CML731から通知さ
れるLTYP1−LTYP0信号およびSZL735に
より通知されるSSIZ,DSIZ信号により、起動要
求されたバス・サイクルが追加バス・サイクルを必要と
すべきかを判定する。APND信号は1回目のバス・サ
イクルが終了し、これから追加バス・サイクルが起動さ
れることを示す。LAST信号は追加バス・サイクルが
不要な場合はアクティブ状態を保ち、追加バス・サイク
ルが必要な場合は1回目のバス・サイクルが終了した時
にアクティブ状態になる。
【0122】BCD734は、サイジングが要求され
(SSIZ信号とDSIZ信号の論理和により検知)、
かつ32ビット・データを転送するバス・サイクルの起
動が要求された(LTYP1−LTYP0信号が“1X
b”により検知)場合に、追加バス・サイクルの必要性
を検知する。なお、バス・サイクルの終了はBEND信
号により通知される。
【0123】SZL735は、16ビット・バス指定入
力端子SIZ16B725の状態をリセット時に(RE
−SET信号により検知)ラッチし、16ビット・バス
が指定されていれば(SIZ16B725がアクティブ
の場合)、SSIZ信号をアクティブ(“1”)に保持
する。16ビット・バスが指定されていなければ(SI
Z16B725がインアクティブの場合)、SSIZ信
号をインアクティブ(“0”)に保持するとともに、ダ
イナミック・サイジング入力端子SZRQ(−)726
端子の状態をSZRQST信号によりラッチし、ダイナ
ミック・サイジングが指定されれば(SZRQ(−)7
26がアクティブの場合)、DSIZ信号をアクティブ
(“1”)に保持する。
【0124】CMD733は、CML731,BCS7
32,BCD734,SZL735から通知される各信
号に基づき、バイト・イネーブル端子BE3(−)〜B
E0(−)724、およびアドレス・バス端子A1 7
22をドライブする。基本的には、指定されたアドレス
(LIA1−LIA0信号で通知)、データのビット長
(LTYP1−LTYP0信号で通知)、追加バス・サ
イクルかどうか(APND信号で通知)で決定される。
ただし、16ビット・バスが指定されている場合(SS
IZ信号で通知)と、32ビット・バスが指定されてい
る場合で、出力される場合で、出力される値は異なる。
【0125】さらにCMD733は、図8に示すBU7
05のデータ部分に対する各種制御信号を発生する。O
PWHHS,OPWHLS,OPWLLS信号はLR/
W(−)信号によりライト・バス・サイクルが要求され
た場合(LR/W(−)信号がアクティブで検知)に発
生し、OPRHST,OPRLST,OPRHSL信号
はリード・バス・サイクルが要求された場合(LR/W
(−)信号がインアクティブで検知)に発生する。各信
号は基本的には、バス・サイクルの種類(LR/W
(−)信号で通知)、指定されたアドレス(LIA1−
LIA0信号で通知)およびデータのビット長(LTY
P1−LTYP0信号で通知)で決定される。ただし、
追加バス・サイクル(APND信号で通知)または16
ビット・バスが指定されている場合(SSIZ信号で通
知)には考慮がなされる。
【0126】図10にA1端子122,BE3(−)〜
BE0(−)端子724、および各信号の出力値を示
す。A1端子722,BE3(−)〜BE0(−)端子
724は、バス・サイクルに同期して変化するように、
CMD733にはBBGN信号の立上りで変化するよう
なラッチが含まれている。16ビット・バスが指定され
ている場合(SSIZ信号で通知)は、ドライブする端
子の数を減らし消費電力を低減するために、BE3
(−),BE2(−)端子はHi−Z状態(図中“Z”
で示してある)をドライブする。
【0127】また、各信号は次のようにタイミング信号
がマスクされる。
【0128】OPWHHS,OPWHLS,OPWLL
S… BCYCによるデータ・バス端子723への出力タイミ
ング(ライト・バス・サイクルのみ) OPRHST,OPRLST… DSTによるデータ・バス端子723からの入力タイミ
ング(リード・バス・サイクルのみ) 次に32ビット・データとして“12345678h”
を“00000004h”番地にリード/ライトする場
合に関し、本実施例の動作について、説明する。
【0129】(1)32ビット・バスが指定された場合 リセット時にSIZ16B端子725がインアクティブ
であるので、SZL735はSSIZ信号に“0”を保
持する。さらにSZRQ(−)端子726を常にインア
クティブにすることで、SZRQST信号が発生しても
DSIZ信号は“0”を保持する。
【0130】ライト転送の場合、EU704は、ライト
・バス・サイクルの起動要求に先立ち、内部データ・バ
ス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”)。
【0131】リード転送の場合、EU704はバス・サ
イクル起動要求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へ取
り込む。
【0132】(2)ダイナミック・サイジングが指定さ
れた場合 リセット時にSIZ16B端子725がインアクティブ
であるので、SZL735はSSIZ信号に“0”を保
持する。さらにSZRQ(−)端子726は、バス・サ
イクルに同期して、あるいは常にアクティブにすること
で、SZRQST信号が発生した場合SZL735はD
SIZ信号に“I”を保持する(バス・サイクルに同期
して入力する場合は一定期間保持される)。
【0133】ライト転送の場合、SSIZ信号は“0”
を保つ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状
態にすることも考えられる。
【0134】リード転送の場合、BCD734は1回目
のバス・サイクルの終了時、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の読み出しについては、前述の例
と等価であり省略する。
【0135】(3)16ビット・バスが指定された場合 リセット時にSIZ16B端子725がアクティブであ
るので、SZL735はSSIZ信号に“1”を保持す
る。さらにSZRQ(−)端子725の状態にかかわら
ず、SZL735はDSIZ信号に“0”を保持する。
【0136】ライト転送の場合、SSIZ信号は“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状態がドライブされる。
【0137】リード転送の場合、BCD734は1回目
のバス・サイクルの終了時、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の読み出しについては、前述の例
と等価であり省略する。
【0138】図11に、前記動作例における本実施例の
タイミング・チャート(ライト・バス・サイクル)を示
す。
【0139】前述の例では、16ビット・バスが指定さ
れた時以外の場合(前記(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のデータ処理の前/後に処理されるべき機
能であり、本発明の本質とは関係ないため、ここでは説
明を省略する。
【0140】図12に、本発明を利用したマイクロプロ
セッサ(CPU)801を用い、16ビット幅のデータ
・バスを介し、外部メモリ802をアクセスする情報処
理装置の構成を示す。CPU801が常に16ビット・
アクセスをするように、SIZ16Bは固定的にアクテ
ィブ・レベル(“1”レベル)に接続される。
【0141】CPU801の32ビット・データ・バス
端子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)
に接続される。
【0142】MEM802へのアドレスは、CPU80
1のアドレス・バス端子A31〜A0の出力で通知され
る。さらに同一アドレスに対してMB0 821を選択
するBE0(−)信号、MB1 822を選択するBE
1(−)信号がCPU801から通知される。
【0143】
【発明の効果】以上説明したように、本発明を用いるこ
とで1)32ビット固定のデータ・バス、2)動的に3
2/16ビットに切り替わるデータ・バス、3/16ビ
ット固定のデータ・バスに接続できるマイクロプロセッ
サを実現できる。
【0144】16ビットの固定のデータ・バスに接続す
る場合、本発明では以下の効果が得られる。 1)従来のダイナミック・バス・サイジングに必要な回
路を回路を共用できるため、回路規模の増加が少ない。 2)マイクロプロセッサのデータ・バス端子の上位16
ビットとシステム・バスの下位16ビットを接続するデ
ータ・バッファ(ダイナミック・サイジングでは必要)
が不要であり、簡単な外部回路で実現できる。 3)上位16ビットを常にHi−Z状態にすることがで
きるので、データ・バス端子の余分なドライブによる消
費電力を低減できる。
【0145】本実施例では、マイクロプロセッサのデー
タ・バス端子を32ビット、対応するシステム・バスの
幅を32ビットあるいは16ビットとして説明してき
た。しかしながら、マイクロプロセッサのデータ・バス
端子は32ビットに限定されることはないし、対応する
システム・バスの幅も2のべき乗であっても(たとえば
8ビットを追加すること)、小変更により対応できるこ
とは明白である。
【0146】さらに、16ビット・データをハーフワー
ド境界に、32ビット・データをワード境界に配置する
ことを前提として説明したが、この前提は本発明の適用
範囲を狭めるものではないことが明らかである。
【0147】以上説明したように、この発明により性能
やコストの違いにより、様々なメモリ・システムに接続
することができる汎用性の高いマイクロプロセッサが得
られる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1のBUのデータ部を詳細に示すブロック図
である。
【図3】図1のBUの制御部を詳細に示すブロック図で
ある。
【図4】図1のコマンドデコーダの出力信号の発生論理
図である。
【図5】図1のコマンドデコーダの他の出力信号の発生
論理図である。
【図6】図1の動作タイミングの一例を示す図である。
【図7】他の実施例を示すブロック図である。
【図8】図7のBUのデータ部を詳細に示すブロック図
である。
【図9】図7のBUの制御部を詳細に示すブロック図で
ある。
【図10】図7のコマンドデコーダの出力信号の発生論
理図である。
【図11】図7の動作タイミングの一例を示す図であ
る。
【図12】図7のマイクロプロセッサを用いたシステム
ブロックの一例を示す図である。
【図13】従来例を示すブロック図である。
【図14】従来例のBE3(−)〜BE0(−)信号の
発生論理図である。
【図15】従来例のアクセス制御回路(ACNT)の出
力信号の発生論理図である。
【図16】従来例のタイミング図である。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 データ・バスを複数の部分に分割した一
    部または全部を用いてデータ転送することをバス・サイ
    クル毎に動的に選択する機能を有したマイクロプロセッ
    サにおいて、前記データ転送方法を変更することを外部
    から通知する第一の手段、前記データ・バスの一部分を
    固定的に使用することを外部から通知する第二の手段、
    前記データ・バスの一部分とそれ以外の部分の情報を入
    れ替える手段、および前記データ・バスの一部分以外を
    高インピーダンスにドライブする手段を有し、前記マイ
    クロプロセッサが特定の状態にある時、前記第二の通知
    手段に前記データ・バスの一部分を固定的に使用するこ
    とを通知されると、前記第一の通知手段の状態にかかわ
    らず、前記入替え手段により前記データ・バスの一部分
    を用いてデータ転送し、前記データ・バスの一部分以外
    はドライブ手段により高インピーダンスに保つことを特
    徴とするマイクロプロセッサ。
  2. 【請求項2】 データ・バスを複数の部分に分割した一
    部または全部を用いて、メモリあるいはI/Oに対して
    データ転送することをバス・サイクル毎に動的に選択す
    る機能を有したマイクロプロセッサにおいて、前記デー
    タ転送方法を動的に変更することを外部から通知する第
    一の手段、前記データ・バスの一部分を固定的に使用す
    ることを外部から通知する第二の手段、前記データ・バ
    スの一部分とそれ以外の部分の情報を入れ替える手段、
    前記データ・バスの一部分以外を高インピーダンスにド
    ライブする第三の手段、前記データ・バスの有効部分を
    外部に通知する第四の手段、前記データ・バスの有効部
    分を外部に通知する手段の一部分以外を高インピーダン
    スにドライブする第五の手段、および前記データ・バス
    を用いて前記外部メモリあるいはI/Oに対して転送す
    るデータがメモリあるいはI/Oのどの位置に対するも
    のであるかを外部に通知する第六の手段を有し、前記第
    二の通知手段により前記データ・バスの一部分を固定的
    に使用することを通知されると、前記第一の通知手段の
    状態にかかわらず、前記入れ替え手段により前記データ
    ・バスの一部分を用いてデータ転送し、同時に、前記第
    六の通知手段によりデータがメモリあるいはI/Oのど
    の位置に対するものであるかを外部に通知し、前記第四
    の通知手段により前記データ・バスの一部分の有効部分
    を外部に通知し、前記データ・バスの一部分以外および
    前記第四の通知手段の一部分以外を、前記第三のドライ
    ブ手段、前記第五のドライブ手段により高インピーダン
    スに保つことを特徴とするマイクロプロセッサ。
JP3184253A 1991-07-24 1991-07-24 マイクロプロセッサ Expired - Lifetime JP2718292B2 (ja)

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)

* Cited by examiner, † Cited by third party
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
JPH11134246A (ja) * 1997-10-31 1999-05-21 Brother Ind Ltd データ処理システム及びデータ処理システムにおける記憶装置からのデータ入力方法
JPH11134245A (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)

* Cited by examiner, † Cited by third party
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 マイクロプロセッサ

Also Published As

Publication number Publication date
JPH0528097A (ja) 1993-02-05
US5548766A (en) 1996-08-20

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
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
US5875482A (en) Method and apparatus for programmable chip select negation in a data processing system
JPS6383844A (ja) マイクロプロセツサシステム
JP3003292B2 (ja) データ・アライン装置
KR940009427B1 (ko) 어드레스공간 변경방법 및 장치

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