JP3003292B2 - データ・アライン装置 - Google Patents

データ・アライン装置

Info

Publication number
JP3003292B2
JP3003292B2 JP3184254A JP18425491A JP3003292B2 JP 3003292 B2 JP3003292 B2 JP 3003292B2 JP 3184254 A JP3184254 A JP 3184254A JP 18425491 A JP18425491 A JP 18425491A JP 3003292 B2 JP3003292 B2 JP 3003292B2
Authority
JP
Japan
Prior art keywords
data
bus
instruction
bits
bit
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
JP3184254A
Other languages
English (en)
Other versions
JPH0528032A (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 JP3184254A priority Critical patent/JP3003292B2/ja
Publication of JPH0528032A publication Critical patent/JPH0528032A/ja
Application granted granted Critical
Publication of JP3003292B2 publication Critical patent/JP3003292B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサの
外部メモリのアクセスに際し、データ・アライン(Al
igne:整列)されていないデータ・バスのビット幅
に足りないデータを転送する際に、外部メモリに割り当
てられたアドレスとデータのビット幅に従い、マイクロ
プロセッサのデータ端子を制御するマイクロプロセッサ
のデータ・アライン装置に関する。
【0002】
【従来の技術】マイクロプロセッサを用いた情報処理シ
ステムでは、マイクロプロセッサと命令コードやオペラ
ンド・データを格納する外部メモリの間でデータ転送す
るデータ・バスのビット幅が、処理性能に対して影響を
与える。現在では高性能マイクロプロセッサの大半は、
32ビット幅のデータ・バスを有する。
【0003】一方で、プログラム処理においては必ずし
もデータ・バス幅と同一幅のデータを処理するわけでは
ない。ASCII文字は8ビットで表現されるし、JI
S漢字文字は16ビットで表現される。また、数値を扱
う場合においても8ビットや16ビットでも十分である
ことが多い。したがって、プログラム処理においては8
/16/32ビット幅のデータが混在して存在すること
が普通である。このため、外部メモリ装置にあっても8
/16/32ビットのオペランドが混在している。
【0004】もちろん浮動小数点数のように、32ビッ
トで表現できず、64ビットあるいはそれ以上のビット
幅を必要とする場合もあるが、ここでは言及しない。
【0005】マイクロプロセッサは外部メモリ装置に格
納されているオペランドをアクセスする場合に、そのオ
ペランドが格納されているアドレスをアドレス・バスを
介して通知する。
【0006】外部メモリは、最小ビット幅のデータ、す
なわちここでは8ビット幅のデータ(バイト・データ)
のアクセスが可能なように、8ビット単位の構成を取
る。
【0007】図4に32ビット幅のデータ・バスD0−
D31を持ち、外部メモリ402(図中MEMと記す)
に接続されるマイクロプロセッサ(図中CPUと記す)
の構成を示す。外部メモリ402は、8ビット単位のメ
モリ・バンクM0〜M3 410〜413で構成され
る。メモリ・バンクM0 410はデータ・バスD0−
D7、M1 411はデータ・バスD8−D15、M2
412はデータ・バスD16−D23、M3 413
はデータ・バスD24−D31のそれぞれ8ビットに対
応する。各メモリ・バンクはマイクロプロセッサ401
から共通の30ビット幅のアドレスA31−A2を通知
される。同時に各メモリ・バンクには各メモリ・バンク
の有効性を示すためのイネーブル信号、M0410には
BE0(−)、M1 411にはBE1(−)、M2
412にはBE2(−)、M3 413にはBE3
(−)がマイクロプロセッサ401より通知される。イ
ネーブル信号がアクティブであるメモリ・バンクに対
し、アドレス・バスで指定されるアドレスに対してアク
セスが行われることになる。
【0008】イネーブル信号BE0(−)〜BE3
(−)を用いることで、マイクロプロセッサ401が内
部的に発生する32ビット幅のアドレス(以下内部アド
レスと呼ぶ)のうち、最下位の2ビットを通知すること
が不要なばかりでなく、データ・バス幅(32ビット)
に満たない8/16ビット・データのアクセスを行え
る。ここで、“(−)”は信号が負論理であることを示
す。
【0009】図8に内部アドレス、およびデータ・タイ
プにしたがってアクセスされるメモリ・バンクとデータ
・バス端子の関係を示す。
【0010】さらに、マイクロプロセッサ401と外部
メモリ402の間には、メモリ制御装置403(図中M
CONと記す)が配置される。
【0011】マイクロプロセッサ401からメモリ制御
装置403に対しては、バス・サイクルの種類(たとえ
ばメモリ空間に対するものか、I/O空間に対するもの
か)を示すステータス信号ST0−ST2、バス・サイ
クルの開始を示すタイミング信号BCYST(−)、バ
ス・サイクルで行われるデータ転送の方向(リード/ラ
イト)示すステータス信号R/W(−)が接続される。
これらのステータス信号、およびタイミング信号によ
り、外部メモリに対するリード・タイミング信号RD、
およびライト・タイミング信号WRを生成する。
【0012】同時に、外部メモリ402のアクセスに必
要なアクセス・タイムを保証するために、レディ信号R
EADY(−)を発生しマイクロプロセッサ401に通
知する。レディ信号READY(−)がインアクティブ
の期間、マイクロプロセッサ401によって起動されて
いるバス・サイクルは、終了せずに現在の状態を保留す
る。
【0013】マイクロプロセッサ401内部で外部メモ
リ402とのデータ転送に関するインタフェースを司ど
る機能単位をバス・インタフェース・ユニットと呼ぶ。
【0014】次に8/16/32ビットの各オペランド
に対する、マイクロプロセッサ401の外部メモリ40
2へのアクセス動作について述べる。 (1)8ビット・オペランド:内部アドレスの値によっ
て、データ・バスの使用が8ビット単位に異なる。マイ
クロプロセッサ401からバス・サイクルが発行される
際、内部アドレスの最下位2ビットが00bならばD0
−D7を使用するようにBE0(−)信号を、01bな
らばD8−D15を使用するようにBE1(−)信号
を、10bならばD16−D23を使用するようにBE
2(−)信号を、11bならばD24−D31を使用す
るよようにBE3(−)信号が、それぞれアクティブに
される。 (2)16ビット・オペランド:内部アドレスの値によ
って、データ・バスの使用が16ビット単位に異なる。
マイクロプロセッサ401では、16ビット・データは
内部アドレスの最下位1ビットが0bであるアドレスに
配置するように制限される。マイクロプロセッサ401
からバス・サイクルが発行される際、内部アドレスの最
下位2ビットが0Xb(“X”はDon’t Cade
であるビットであることを意味する)ならばD0−D1
5を使用するようにBE0(−)信号およびBE1
(−)信号を、1XbならばD16−D31を使用する
ようにBE2(−)信号およびBE3(−)信号が、そ
れぞれアクティブにされる。 (3)32ビット・オペランド・マイクロプロセッサ4
01では、32ビット・データは内部アドレスの最下位
2ビットが00bであるアドレスに配置するように制限
される。マイクロプロセッサ40からバス・サイクルが
発行される際、D0−D31を使用するようにBE0
(−)〜BE3(−)信号のすべてが同時にアクティブ
される。
【0015】マイクロプロセッサ401では、16ビッ
トおよび32ビット・オペランドのメモリ配置に制限を
設けることで、1回のオペランド・アクセスは1回のバ
ス・サイクルで完結できる。
【0016】図面では省略しているが、マイクロプロセ
ッサ401はオペランド・データを格納するための汎用
レジスタを持つ。外部メモリ402と汎用レジスタの間
でデータ転送を行うために、マイクロプロセッサ401
にはLOAD命令とSTORE命令が用意されている。
LOAD命令はバス・サイクルを起動し、外部メモリか
ら汎用レジスタにオペランドを転送する。
【0017】STORE命令はバス・サイクルを起動
し、汎用レジスタから外部メモリ401にオペランドを
転送する。
【0018】また、算術/論理/シフト等の演算命令
は、汎用レジスタ内に格納されているデータを演算対象
とし、演算結果は汎用レジスタに戻される。
【0019】汎用レジスタは、外部メモリ402から転
送された8/16/32ビット・データを格納するが、
いずれのタイプのデータを格納する場合でも、LSB
(Least Significant Bit:最小
有意ビット)の位置は、次の理由で共通的にビット0し
ている。
【0020】汎用レジスタの内容は、図面で省略されて
いる二進算術論理演算装置ALU、シフタ等の演算装置
に内部データ・バスを介して転送され、必要な演算が行
われる。この時、各データ・タイプを持つデータどうし
のLSB位置が揃っていないと、正しく演算できないか
らである。
【0021】例えば内部アドレスの最下位2ビットが0
1bなるアドレスに配置された8ビット・データαはデ
ータ・バスからそのままマイクロプロセッサ401に取
り込むと、XXαX(ここでXはDon’t Care
な8ビット・データであることを意味する)となり、α
のLSBは32ビット・データとして扱う場合にビット
8に位置してしまう。
【0022】同様に内部アドレス1Xbなるアドレスに
配置された16ビット・データβγはβγXXとなり、
LSBはビット16に位置してしまう。
【0023】以上のLSB位置の不一致を避けるため
に、演算命令の実行に先立ちそれぞれのデータは、XX
Xα、およびXXβγの形式に変換しておく必要があ
る。
【0024】演算命令は実行されるタイミングが不定な
ため、LOAD命令の実行時に上述のLSB位置変換を
行う必要がある。
【0025】マイクロプロセッサ401において、汎用
レジスタ、二進算術論理演算装置、シフタ等を含み、命
令の実行処理を行う機能単位を実行ユニットと呼ぶ。
【0026】一方、一度マイクロプロセッサ401に取
り込まれたメモリ・オペランドを、格納すべき内部アド
レスに拘わらず常にLSBの位置を揃えておくと、外部
メモリ402に書き込みを行う場合に常にLSBの位置
はビット0に揃ってしまう。STORE命令の実行時に
内部アドレス、およびデータ・タイプに従ってLSB位
置の逆変換が必要である。
【0027】これらのマイクロプロセッサ401と外部
メモリ402間のデータ転送の際に、内部アドレス、お
よびデータ・タイプに従ってLSB位置の変換する機能
を、データ・アライン機能と呼ぶ。
【0028】
【発明が解決しようとする課題】従来、マイクロプロセ
ッサにおけるデータ・アライン機能は、バス・インタフ
ェース・ユニットが担当しており、専用のハードウェア
を用いている。専用ハードウェアを必要とする理由は、
1)変換に要する時間を最小限にするため、2)バス・
インタフェース・ユニットと実行ユニットが互いに独立
して動作させるため、である。
【0029】従来データ・アラインに関しては、米国特
許第4,624,660号明細書に示されるように、C
PUと記憶装置の間に配置され、アドレス・バスとデー
タ・バスの作業を調整するバス・コントローラの責任で
あるとしている。上記特許明細書のFig.1におい
て、中央処理装置12と記憶装置20の間は、データ・
バスを制御するデータ・バス・インタフェース18、ア
ドレス・バスを制御するアドレス・バス・インタフェー
ス16によってインタフェースされる。データ・バス・
インタフェース18によってミスアライン(misal
ignment)が修正された上で、中央処理装置12
との間で内部データバスIDB0−IDB31とのアラ
インされたデータの転送を行う。Fig.13,15,
19,20に8ビット単位に記載されているデータ・バ
ス・インタフェース18から分るように、外部データ・
バスD0−D31は、8ビット単位づつ(D0−D7,
D8−D15,D16−D23,D24−D31)内部
データ・バスIDB0−IDB31のうち任意の8ビッ
ト(IDB0−IDB7,IDB8−IDB15,ID
B16−IDB23,IDB24−D31)に接続する
ような機構が必要である。具体的にはFig.21にあ
るように、外部データ・バスの1ビットあたり内部デー
タ・バスの4ビットを選択的に接続する双方向のマルチ
プレクサを用いている。バス・コントローラ14は、
1)アドレス・バス・インタフェース16、ならびにデ
ータ・バス・インタフェース18に対する制御、2)ア
ラインされたデータ転送であるかの判定、3)必要なバ
ス・サイクルの起動、4)記憶装置20に対する制御信
号の発行を行う。
【0030】以上のように、データ・アライン機能を実
現するために、外部データ・バスと内部データ・バスの
間に8ビットづつ交換する専用のハードウェアが必要で
あることを示唆している。
【0031】このような専用ハードウェアは、次の欠点
を持つ。 (1)データ・アライン機能だけのための論理回路を必
要とし、デバイス規模の増大を招く。 (2)半導体集積回路に実現する場合、信号線の相互交
換は配線領域の増大を招き、デバイス上の有効トランジ
スタ数の使用効率を下げる。 (3)内部データ・バスと外部データ・バスの間に回路
が挿入されることで、動作速度を低下させる。
【0032】
【課題を解決するための手段】上記した欠点を解消する
ために、本発明による装置は、データ・バス幅のビット
長より小さなビット長を持つデータを外部メモリと転送
するマイクロプロセッサのデータ・アライン装置におい
て、命令実行の際にデータ転送を行う内部データ・バ
ス、前記内部データ・バスに接続されたシフト演算装
置、シフトすべきビット数を保持するレジスタ、および
アクセスすべき外部メモリへのアドレスの一部分および
データのビット長によりアラインすべきビット数を生成
する手段を有し、実行する命令に応じて前記ビット数生
成手段により生成されたビット数と前記レジスタに保持
されたビット数とのいずれかを選択して出力するマルチ
プレクサを有し、前記マルチプレクサから出力されたビ
ット数に従い、前記データ・バスを介して転送されるデ
ータを前記シフト演算装置によりシフトすることを特徴
とする。
【0033】すなわち、本発明では、シフト命令、浮動
小数点演算命令等で使用される実行ユニットにおけるシ
フタを、共通の資源として用いてデータ・アライン機能
を実現している。
【0034】
【実施例】以下、図面を用いて本発明を詳述する。
【0035】図1は、本発明を利用して32ビットのデ
ータ・バスに接続し、8/16/32ビット・データを
アクセスできるマイクロプロセッサ100の概略構成を
示す図面である。
【0036】本マイクロプロセッサ100は、パイプラ
イン処理を行うために、命令フェッチ・ユニット(以下
IUと称する)101、命令デコード・ユニット(以下
DUと称する)102、命令実行ユニット(以下EUと
称する)103、実効アドレス計算ユニット(以下AU
と称する)104、バス・インタフェース・ユニット
(以下BUと称する)105を持つ。
【0037】IU101は、フェチ・サイクルの起動制
御、およびフェッチ・サイクルで外部より取り込んだ命
令コードを蓄積する。命令コード・キャッシュを含むよ
うな構成も考えられる。命令コードは、16ビット長あ
るいは32ビット長のいずれかである。各命令コードは
メモリのハーフワード境界から(内部アドレスの最下位
ビットが0b)置かれるものとする。
【0038】DU102は、IU101に蓄積された命
令コードをデコードし、個々の命令に特有な処理を示す
信号を発生させる。代表的な信号としては、1)命令実
行処理の種類、2)オペランドの種類(メモリ/レジス
タの番号)、3)オペランドのデータ・タイプ、4)特
殊な命令の認識、などがある。DU102で発生された
信号は、図面では一部省略されているがその他の各ユニ
ットに対する動作指示信号として与えられる。
【0039】EU103は、32本の32ビット幅の汎
用レジスタ、32ビット幅の算術論理演算装置ALU、
バレル・シフタ等を含み、DU102によって指定され
た命令実行処理を行う。その内部制御はハードワイアド
論理によるもの、マイクロプログラムを用いたもの等が
考えられる。
【0040】AU104は、DU102がメモリあるい
はI/Oに対するアクセスを含む命令であることを検知
すると、オペランドに対するアドレスを計算する。アド
レス計算に使用される要素は、命令コード中に含まれる
ディスプレースメント値、あるいは汎用レジスタの内容
がベース値として用いられる。前者はIU101から、
後者はEU103から供給される。
【0041】オペランド・データは8/16/32ビッ
トのものがあり、16ビット・データはハーフワード境
界(内部アドレスの最下位ビットが0b)から、32ビ
ット・データはワード境界(内部アドレスの最下位2ビ
ットが00b)から配置されるものとする。
【0042】BU105は、他のユニットから与えられ
るアドレス情報、データ情報、および起動要求に基づい
て、外部バス・サイクルを発生する。バス・サイクルで
外部から読み込まれたデータは、命令コードはIU10
1に、オペランド・データはEU103に供給される。
【0043】各ユニットは、図1に概略を示すようにバ
ス構造で内部接続される。
【0044】BU105とIU101間はオペランド・
アクセス以外のバス・サイクルで使用するアドレス(内
部アドレス・バスIA0−IA31を経由)と命令コー
ドを転送するために、IU101とDU102間は命令
コードを転送するために、AU104とIU101間、
およびAU104とEU103間はアドレス計算に使用
されるアドレス要素を転送するために(IA0−IA3
1を経由)、EU103とBU105間はリード・オペ
ランドまたはライト・オペランドを双方向的に転送する
ために(内部データ・バスID0−ID31を経由)、
AU104とBU105間は実効アドレスを転送するた
めに(IA0−IA31を経由)、EU103とBU1
05の間は任意のバス・サイクルで使用するアドレスを
転送するために(IA0−IA31を経由)接続され
る。
【0045】図面では説明を簡略化するために、内部デ
ータ・バスID0−ID31は32ビット幅のバス1系
統に見せているが、実際には複数の32ビット・バスで
構成される。
【0046】IU101からのバス・サイクル起動要求
はFREQ信号、DU102からのものはOPREQ信
号、EU103からのものはACREQ信号で表現され
る。これらの要求信号は、実際にはバス・サイクルの種
類を表現するための複数の信号、およびタイミングを規
定する信号等の複数の信号によって構成される。
【0047】BU105はバス・サイクルに関連して、
30ビットのワード・アドレス(32ビット単位アドレ
ス)を出力するアドレス・バス端子A2−A3112
1、32ビット・データの授受を行うデータ・バス端子
D0−D31 122、データ・バス端子のどの8ビッ
ト位置を用いて有効データを転送するかを示すバイトイ
ネーブル出力端子BE0(−)〜BE3(−)123
(BE0(−)はD0−D7、BE1(−)はD8−D
15、BE2(−)はD16−D23、BE3(−)は
D24−D31に対応する)、バス・サイクルの種類
(たとえばメモリ空間に対するものか、I/O空間に対
するものか)を示すステータス端子ST0−ST2 1
24、バス・サイクルの開始を示すタイミング出力端子
(BCYST(−)125、バス・サイクルで行われる
データ転送の方向(リード/ライト)を示すステータス
出力端子R/W(−)126を持つ。
【0048】基本的なバス・サイクルは、マイクロプロ
セッサ100のクロック入力端子128に加えれる基準
クロック信号CLKに同期した2つのステートT1,T
2で構成される。
【0049】T2ステートでREADY(−)入力端子
127の状態がサンプリングされ、インアクティブであ
ればアクティブになるまでT2ステートを繰り返す。こ
のときREADY(−)入力端子127の状態がアクテ
ィブであれば、アイドル・ステートTiに遷移してバス
・サイクルを終了する。
【0050】図2はEU103の詳細、ならびにデータ
・バス端子122までの構成を示す図面である。
【0051】EU103は、マイクロプログラムROM
(以下MROMと略す)202に格納され、マイクロプ
ログラム・カウンタ(以下MPCと略す)201で指定
されるアドレスに格納されているマイクロ命令で制御さ
れるマイクロマシンである。
【0052】MPC201は、DU102による命令デ
コード結果により、命令実行処理の開始時に特定のマイ
クロプログラムの開始アドレスが設定され、1)分岐フ
ィールド命令が実行されて分岐する場合、2)EU10
3あるいは他ユニットからマイクロ命令の実行待合せが
要求され一時的に停止する場合、以外は1クロック毎に
1インクリメントされる。
【0053】MROM202から読み出されたマイクロ
命令は、マイクロ命令レジスタ(以下MRと略す)20
4にラッチされる。
【0054】実行処理を実際に行うデータ・バス部(図
面下部分)には、32本の32ビット汎用レジスタ(以
下GRと略す)210、32ビット幅の算術論理演算装
置(以下ALUと略す)211、32ビット幅のシフト
演算装置(以下SHIFTと略す)220等を持つ。ま
た、乗算器、浮動小数点演算装置を持つ様な構成も考え
得る。
【0055】データ・パスの各資源は、3本の32ビッ
ト・バスs1_bus2_bus,r_busを介して
結合される。s1_bus,s2_busはGR210
の内容を読み出し、ALU211またはSHIFT22
0に2つの被演算データを転送するためのデータ・バス
であり、それぞれ同時に同一のあるいは異なったGR2
10の内容を転送できる。
【0056】r_busはALU211またはSHIF
T220で行われた演算結果を読み出し、GR210に
書き戻すためのデータ転送に使用されるデータ・バスで
ある。
【0057】s1_busはリード・バス・サイクルの
発行結果、データ・バス端子122から入力されたリー
ド・オペランドを格納するBU105内のオペランド・
リード・レジスタ(以下OPRと略す)213にも結合
され、GR210の代りにOPR213の内容を被演算
オペランドとして使用できる。
【0058】同様にr_busはライト・バス・サイク
ルの発行時に、データ・バス端子122から出力される
ライト・オペランドを格納するBU105内のオペラン
ド・ライト・レジスタ(以下OPWと略す)214にも
結合され、GR210の代りにOPR213の内容を演
算結果の書込み先として使用できる。
【0059】s1_busに読み出されるレジスタ資
源、およびs1_bus上のデータが書き込まれるレジ
スタ資源はs1_busデコーダ(以下S1DECと略
す)207により指定される。同様にs2_busに関
してはs2_busデコーダ(以下S2DECと略す)
208、r_busに関してはr_busデコーダ(以
下RDECと略す)209により指定される。rtrn
フィールドによるr_busを用いたデータ転送は、同
一マイクロ命令のs1trn,s2trnに対して1ク
ロック後に有効にするように、RDEC209の入力に
は遅延回路(以下MDと略す)206が接続される。
【0060】MROM202から読み出されるマイクロ
命令203は、1)s1_busを用いた第一のオペラ
ンド転送を指定するs1trnフィールド、2)s2_
busを用いた第二のオペランド転送を指定するs2t
rnフィールド、3)r_busを用いた結果転送を指
定するrtrnフィールド、4)分岐・演算・制御の各
フィールド命令に関する信号を発生するopフィール
ド、5)opフィールドの役割を指定するopcフィー
ルド、6)分岐命令の分岐先アドレスあるいは第一/第
二オペランドで使用する定数を発生するsimmフィー
ルドによって構成される。
【0061】opc,opフィールドによって表わされ
る機能を便宜上フィールド命令と呼び、分岐・演算・制
御等のフィールド命令に分類される。
【0062】s1trn,s2trn,rtrnの各転
送フィールドは、転送元(ソース)と転送先(デスティ
ネーション)のレジスタ資源を指定するサブ・フィール
ドを含んでいる。前述のようにソース・サブフィールド
で指定されたレジスタ資源の内容が各データ・バス上に
読み出されると同時に、デスティネーション・サブフィ
ールドで指定されたレジスタ資源に各データ・バス上の
値を書き込むことで転送を行う。
【0063】各フィールドの値は、それぞれs1_bu
s,s2_bus,r_busに対応するデコーダS1
DEC207,S2DEC208,RDEC209によ
って解析され、各データ・バス上のレジスタ資源に対す
る読出信号および書込信号を発生する。
【0064】図9にフィールド命令の分類と、opcフ
ィールドによるopフィールドの割当を示すように、各
フィールド命令ごとにopフィールドの役割が異なる。 (1) 分岐フィールド命令は、“cccc”で指定さ
れた分岐条件が“f”で指定される値(真または偽)で
あれば指定されたアドレス(分岐先アドレス)にマイク
ロ命令の制御を移す。
【0065】分岐先アドレスは、“aaa”およびsi
mmフィールドの値を連結して指定され、MPC201
に設定され新たな命令シーケンスのマイクロ命令がMR
OM202から読み出される。
【0066】“d”は分岐フィールド命令の実行により
新たな命令シーケンスが読み出されるまでに、MROM
202から読み出される分岐フィールド命令に引続くマ
イクロ命令の実行を有効/無効にすることを指定する。
有効にすることで、マイクロ命令の実行をまったく無効
にすることなしに分岐フィールド命令を実行できる“遅
延分岐”機能を実現する。 (2) 制御フィールド命令は、“nnnnnn”で指
定された制御信号を発生する。 (3) ALU演算フィールド命令は、ALU211に
おける演算を指定する。
【0067】“oooooo”は演算の種類(ex.加
算/減算/比較/論理和/論理積/排他的論理和/論理
否定)を、“tttt”は演算のデータタイプ(ex.
8/16/32ビット)、“i”は演算の種類を“oo
oooo”で指定する直接演算またはDU102の命令
デコード結果に基づいて指定する間接演算を指定し、
“ss”,“dd”は演算に使用する2つのオペランド
・データを指定する。ALU211で演算の対象になる
のは、図面では省略しているがs1_bus,s2_b
usに接続された4本のテンポラリ・レジスタのうち、
2本が用いられる。
【0068】ALU演算フィールド命令で指定されたA
LU演算は、次にALU演算フィールド命令が実行され
るまで保持され、ALU211は最新の指定により演算
を繰返し行う。 (4) シフタ演算フィールド命令は、SHIFT22
0における演算を指定する。“ooo”は演算の種類
(右論理シフト/左論理シフト/右算術シフト)を、
“w”はシフトするビット数をEU103内で得るかE
U103外部から得るかを指定する。
【0069】各フィールド命令は、opc,opフィー
ルドの値をデコーダするフィールド命令デコーダ(以下
MDECと略す)205によって解析され、制御され
る。
【0070】SHIFT220は、以下の補助的なレジ
スタを持つ。
【0071】シフト演算レジスタ(以下SOPRと略
す)221は、SHIFT220が行うシフト演算の種
類を保持するレジスタで、シフタ演算フィールド命令が
実行された時“ooo”をラッチする。
【0072】シフト・ビット数レジスタ(以下SBと略
す)222は“w”がシフト・ビット数を保持するレジ
スタで、シフタ演算フィールド命令が実行された時
“w”がシフト・ビット数をEU103内から得るよう
に指定された場合にSHIFT220に通知される。
【0073】図3はSHIFT220、ならびにSHI
FT220の制御に関する構成を、より詳細に示した図
面である。
【0074】シフタ演算はSHIFT220の入力に接
続された入力レジスタ(以下SHIFTIと略す)22
4に保持された、32ビットまでの任意長のビット数分
左または右にシフトして、出力レジスタ(以下SHIF
TOと略す)226に32ビット・データを得るもので
ある。バレル・シフタ本体(以下BSHIFTと略す)
225は、SHIFTI224に格納された32ビット
・データを1)論理右シフト(SHR)、2)論理左シ
フト(SHL)、3)算術右シフト(SAR)、半クロ
ック期間でシフトするシフタである。BSHIFT22
5へシフタ演算の種類は3ビットの演算指定信号OP
R、シフト・ビット数の指定は6ビットのビット数指定
信号BITSにより加えられる。
【0075】SHIFTI224へのデータ設定は、s
1trnフィールドまたはs2trnフィールドのデス
ティネーション・サブフィールドに“SFTI”を記述
することで(この場合、S1DEC207がデコード信
号SHIFTIWSIを発生するか、S2DEC208
がデコード信号SHIFTIWS2を発生する)、s1
_busあるいはs2_busを経由して設定される。
【0076】SHIFTO226からの演算結果の読出
しは、rtrnフィールドのソース・サブフィールドに
“SFTO”を記述することで(この場合、RDEC2
09はデコード信号SHIFTORRを発生する)、S
HIFTO226の内容がトライステート・バッファ2
27を介してrtrnに読み出される。
【0077】OPR信号は、シフタ演算フィールド命令
がopcフィールドで指定されたことをopcフィール
ド・デコーダ(以下OPCDECと略す)215が検知
したことによってMSHIFT信号が発生すると、op
フィールドの値をラッチするSOPR221から供給さ
れる。OPR信号は、シフタ演算フィールド命令の“o
oo”に相当する部分が供給される。
【0078】SOPR221にラッチされているシフタ
演算フィールド命令の“w”に相当する部分は、MPS
EL信号として、マルチプレクサ(以下SBMPXと略
す)223の入力を選択する。
【0079】MPSEL信号は0bの場合(シフト・ビ
ット数をEU103内で得るように指定された場合)B
ITSにSB222の出力SBB信号を選択出力し、1
bの場合(シフト・ビット数をEU103以外で得るよ
うに指定された場合)アライン・ビット生成回路(以下
ALBGENと略す)228の出力ALB信号を選択出
力する。
【0080】SB222の入力はs2_busに接続さ
れ、s2trnフィールドのデスティネーション・サブ
フィールドに“SFTB”を記述することで(この場
合、S2DEC208がデコード信号SBWS2を発生
する)、s2_busの値(下位6ビット)が設定され
る。
【0081】以上説明したように、1回のシフト演算を
行うためには1)SHIFTI220の設定(s1tr
n/s2trnフィールドの指定)、2)OPR信号に
よるシフタ演算の種類指定(シフタ演算フィールド命令
の指定)、3)BITS信号によるシフト・ビット数の
指定、4)演算結果の読出し(rtrnフィールドの指
定)、の各ステップが必要である。
【0082】論理右シフト/論理左シフト/算術右シフ
トの各シフト命令を処理するマイクロプロセッサを例
に、SHIFT220の動作を説明する。
【0083】論理右シフト命令、論理左シフト命令、算
術右シフト命令のそれぞれは、記述するマイクロプログ
ラムは次の様に1行のマイクロ命令で記述できる。
【0084】SFTI=DST;SFTB=BITS;
SHR/SHL/SAR(W);DST=SFTOf;
ENDM;“;”はそれぞれのフィールドを分離するた
めの記述である。左からs1trnフィールド、s2t
rnフィールド、opcおよびopフィールド、rtr
nフィールドに対応する。最右フィールド(“END
M;”)の意味については、後述する。
【0085】各フィールドは、左から以下のような動作
指定の意味を持つ。 SFTI=DST: DSTで表わされる被
シフト・データを指定するレジスタ資源の内容を、s1
_busを介してSHIFTI224に転送する。 SFTB=BITS: BITSで表わされる
シフト・ビット数を指定するレジスタ資源の内容を、s
2_busを介してSB222に転送する。 SHR/SHL/SAR(W):シフタ演算としてSH
R,SHLまたはSARをSOPR221に指定し、シ
フト・ビット数としてSB222に設定された値を用い
る(“(W)”の記述により、“w”部分が0bにな
る)。 DST/SFTOf: SHIFTO226の
出力(シフタ演算結果)を、r_busを介してDST
で表わされるレジスタ資源(被シフト・データを格納し
ていた資源と同一)に転送する。
【0086】“SFTO”にfが付加されていることに
より、シフタ演算結果が図面では省略されているPSW
(Processor Status Word)の状
態フラグを変化させるように指定される。 ENDM: マイクロプログラムが
このマイクロ命令で終了すること意味する。
【0087】図5に示すタイミングチャートを用いて、
本マイクロプログラムの記述を説明する。
【0088】“パイプライン動作”の行は、マイクロプ
ロセッサ100パイプライン処理の順序を示す。マイク
ロプロセッサ100では、次の基本パイプライン・ステ
ージを持つ。ALとWBステージは半クロック、それら
以外は1クロックで処理を行う。 IF(命令フェッチ): 16/32ビット長の
命令コードをIU101からフェッチする。 AL(命令アライン): IU101の出力で、
16/32ビット長混在の命令コードのLSB位置を揃
える。 ID(命令デコード): DU102が命令コー
ドをデコードし、各種信号を発生する。 MA(マイクロ命令アクセス):IDステージのデコー
ド結果にもとずき、MPC201を初期化し、MROM
202をアクセスする。 MI(マイクロ命令実行): MROM202の出力
をMR204にラッチする。EU103内の簡単な制御
信号の発生や、制御用レジスタの設定、分岐動作を行
う。 EX(命令実行): EU103で演算、内
部データ転送を実行する。前半の半クロックはs1_b
us,s2_busを用いた各レジスタ資源間どおし/
演算装置へのデータ転送を処理する。後半の半クロック
では演算装置による演算を行う。 WB(結果書戻し): r_bus用いた演算
装置から各レジスタ資源へのデータ(結果)転送を行
う。
【0089】さらに、後述する図6,7では次のパイプ
ライン・ステージが記述されるが、先に説明しておく。 EA(実効アドレス): AU104がメモリ・
オペランドのアドレスを計算し、BU105に通知す
る。オペランド・アドレスは、命令コードが指定する汎
用レジスタの値(ベース値)に、命令コードが含むディ
スプレースメント値を加算することで得られる。本ステ
ージは、LOADおよびSTORE命令を検知すること
で、IDステージの後半の半クロックから始まる。
【0090】図5からわかるように、シフト命令のパイ
プライン処理は、IF→AL→ID→MA→MI→EX
→WBのステージで構成される。
【0091】MIステージでSHR/SHL/SAR
(W)フィールド命令は、MR204にラッチされたマ
イクロ命令がシフタ演算命令であることがOPDEC2
15により検知されMSHIFT信号が発生することに
より、“ooo”および“w”がSOPR221にラッ
チされる。BSHIFT225にはOPR221の“o
oo”をラッチした部分の出力OPRが通知され、SH
R,SHLまたはSARが指定される。
【0092】s1trnフィールドに記述された転送フ
ィールド命令は、S1DEC207によりSHIFTW
S1信号を発生し、DSTで記述された被シフト・オペ
ランドを保持するレジスタ資源の内容が出力されている
s1_busの値をSHIFTI224にラッチする。
【0093】s2trnフィールドに記述された転送フ
ィールド命令は、S2DEC208によりSBWS2信
号を発生し、BITSで記述されたシフト・ビット数を
保持するレジスタ資源の内容が出力されているs2_b
usの値をSBB222にラッチする。
【0094】SOPR221に保持された“w”をラッ
チした部分の出力MPSELは、シフタ演算命令が
“(W)”を記述しているため0bとなり、SBMPX
223の出力BITSにはSB222の出力SBが出力
され、BSHIFT225に通知される。
【0095】BSHIFT225の演算入力となるSH
IFTI224、制御入力となるBITS,OPR信号
が確定するとBSHIFT225は半クロックで、SH
IFTI224に保持されたデータに対し、OPR信号
で指定されるシフタ演算をBITS信号出指定されるビ
ット数だけ行い、結果がSHIFTO226にラッチす
る。
【0096】rtrnフィールドに記述された転送フィ
ールド命令は、WBステージでRDEC209によりS
HIFTORR信号を発生し、SHIFTO226の内
容がトライステート・バッファ227からr_busに
読み出され、DSTで記述された被シフト・オペランド
を保持していたレジスタ資源の内容を書き換える。同時
に図面では省略しているが、シフト結果の状態を解析す
る回路によりオーバフロー、桁あふれ、符号の状態が解
析され、PSWの内容を更新する。
【0097】次にLOAD命令に関して、これを処理す
る1行で記述される次のマイクロプログラムを例に、S
HIFT220の動作を説明する。
【0098】SFTI=OPR;SAR(A);DST
=SFTO;ENDM;各フィールドは、左から以下の
ような動作指定の意味を持つ。 SFTI=OPR: リード・メモリ・オペランドを
格納するOPR213の内容を、s1_busを介して
SHIFTI224に転送する。 SAR(A): シフタ演算としてSARをSO
PR221に指定し、シフト・ビット数としてALBG
EN228で生成された値を用いる(“(A)”の記述
により、“w”部分が1bになる)。 DST=SFTO: SHIFTO226の出力(シ
フタ演算結果)を、r_busを介してDSTで表わさ
れるレジスタ資源に転送する。 ENDM: マイクロプログラムがこのマイ
クロ命令で終了すること意味する。
【0099】図6に示すタイミングチャートを用いて、
本マイクロプログラムの記述を説明する。図面からわか
るように、LOAD命令のパイプライン処理は、IF→
AL→ID→MA→MI→EX→WBのステージを持つ
とともに、EAステージと実行が待ち合わされる(E
X)ステージを持つことが特徴である。
【0100】AU104がEAステージでオペランド・
アドレス(32ビットの内部アドレスIA0−IA3
1)を計算すると、BU105に対してバス・サイクル
(メモリ・リード)が起動される。バス・サイクルはT
1,T2ステートで構成され、T2ステートの終了時に
データ・バス端子122の値がOPR213にラッチさ
れる。
【0101】図面に示すように、起動されたリード・バ
ス・サイクルが終了しないために、2つのEXステージ
(“(EX)”)が待合わせされる。また、EXステー
ジではバス・サイクルを終了してもよい事を示すREA
DY(−)127端子入力の状態(レディ状態)を監視
し、レディ状態でなければWBステーシに遷移しないよ
うに制御する。
【0102】MIステージでSAR(A)フィールド命
令は、MR204にラッチされたマイクロ命令がシフタ
演算命令であることがOPDEC215により検知され
MSHIFT信号が発生することにより、“ooo”お
よび“w”がSOPR221にラッチされる。BSHI
FT225にはOPR221の“ooo”をラッチした
部分の出力OPRが通知され、SARが指定される。
【0103】s1trnフィールドに記述された転送フ
ィールド命令は、S1DEC207によりSHIFTW
S1信号を発生し、OPR213の内容をs1_bus
を介してSHIFTI224にラッチしようとする。図
面では省略しているが、BU105はリード・バス・サ
イクルが終了していないことが通知されると、EU10
3はOPR213をアクセスしようとする転送フィール
ド命令の記述(“=OPR”)を検出し、EXステージ
の実行を待ち合わせるよう、マイクロ命令の実行を制御
する。
【0104】SOPR221に保持された“w”をラッ
チした部分の出力MPSELは、シフタ演算命令が
“(A)”を記述しているため1bとなり、SBMPX
223の出力BITSにはALBGEN228の出力A
LBが出力され、BSHIFT225に通知される。
【0105】BSHIFT225の演算入力となるSH
IFTI224がリード・バス・サイクルの終了により
確定し、制御入力となるBITS,OPR信号が確定す
るとBSHIFT225は半クロックで、SHIFTI
224に保持されたデータに対し、SAR演算をBIT
S信号出指定されるビット数だけ行い、結果がSHIF
TO226にラッチされる。
【0106】rtrnフィールドに記述された転送フィ
ールド命令は、WBステージRDEC209によりSH
IFTORR信号を発生し、SHIFTO226の内容
がトライステート・バッファ227からr_busに読
み出され、DSTで記述されたメモリ・オペランドを転
送すべきレジスタ資源の内容を書き換える。
【0107】ここで、ALBGEN228の動作につい
て説明する。
【0108】IDステージで命令デコードが完了する
と、これから実行する命令がメモリ・オペランドを使用
するかどうか、またそのオペランドのデータ・タイプが
判定できる。DTYP0−DTY01信号は、IU10
2が検知したオペランドのデータ・タイプを示し、00
bならば8ビット、01bならば16ビット、1Xbな
らば32ビット幅であることを意味する。
【0109】一方、EAステージで内部アドレスの計算
が終了すると、その最下位2ビット(IA0−IA1)
も確定し、ALBGEN228に通知される。
【0110】SHIFT220でSAR演算を用いてデ
ータ・アライン機能(メモリ→汎用レジスタ)を実現す
るためには、データ・タイプならびに内部アドレスにし
たがって第六図(3)に示すビット数分の右シフトを行
えば良い。
【0111】右シフトにSHLではなくSARを使用し
ているのは、メモリから汎用レジスタへの転送の際に符
号拡張をするためであり、他のマイクロプロセッサでは
ゼロ拡張するためにSHLを使用することも考えられ
る。
【0112】6ビット幅のALB(ALB(0)〜AL
B(5))は、次のような簡単な論理式で計算できる、 ALB(5)=0b; ALB(4)=IA1*DTYP1’; ALB(3)=IA0*DTYP1’*DTYP0’; ALB(2)=0b; ALB(1)=0b; ALB(0)=0b; この式で、“DTYP0’”,“DTYP1”の表現
は、それぞれDTYP0,DTYPの論理反転をとった
ものである。
【0113】次にSTORE命令に関して、これを処理
する1行で記述される次のマイクロプログラムを例に、
SHIFT220の動作を説明する。SHIFT220
でSAR演算を用いてデータ・アライン機能(汎用レジ
スタ→メモリ)を実現するためには、データ・タイプな
らびに内部アドレスにしたがって図10に示すビット数
分の左シフトを行えば良い。
【0114】SFTI=SRC;SHL(A);OPW
=SFTO;ENDM; 各フィールドは、左から以下のような動作指定の意味を
持つ。 SFTI=SRC: SRCで表わされるレジスタ資
源の内容を、s1 busを介してSHIFTI224
に転送する。 SHL(A): シフタ演算としてSHLをSO
PR221に指定し、シフト・ビット数としてALBG
EN228で生成された値を用いる(“(A)”の記述
により、“w”部分が1bになる)。 OPW=SFTO: SHIFTO226の出力(シ
フタ演算結果)を、r_busを介してOPW214に
転送する。 ENDM: マイクロプログラムがこのマイ
クロ命令で終了すること意味する。
【0115】図7に示すタイミングチャートを用いて、
本マイクロプログラムの記述を説明する。図面からわか
るように、STORE命令のパイプライン処理は、IF
→AL→ID→MA→MI→EX→WBのステージを持
つとともに、EAステージを持つことが特徴である。
【0116】AU104がEAステージでオペランド・
アドレス(32ビットの内部アドレスIA0−IA3
1)を計算されても直ちに、BU105に対してバス・
サイクル(メモリ・ライト)が起動されない。処理がW
Bステージに進むと、T1,T2のステートから成るラ
イト・バス・サイクルが起動され、OPW214の内容
がデータ・バス端子122に出力される。
【0117】MIステージでSHL(A)フィールド命
令は、MR204にラッチされたマイクロ命令がシフタ
演算命令であることがOPDEC215により検知され
MSHIFT信号が発生することにより、“ooo”お
よび“w”がSOPR221にラッチされる。BSHI
FT225にはOPR221の“ooo”をラッチした
部分の出力OPRが通知され、SHLが指定される。
【0118】s1trnフィールドに記述された転送フ
ィールド命令は、S1DEC207によりSHIFTW
S1信号を発生し、メモリ・オペランドとして転送しよ
うとするSRCで表現されるレジスタ資源の内容をs1
busを介してSHIFTI224にラッチする。
【0119】SOPR221に保持された“w”をラッ
チした部分の出力MPSELは、シフタ演算命令が
“(A)”を記述しているため1bとなり、SBMPX
223の出力BITSにはALBGEN228の出力A
LBが出力され、BSHIFT225に通知される。
【0120】BSHIFT225の演算入力となるSH
IFTI224、制御入力となるBITS,OPR信号
が確定するとBSHIFT225は半クロックで、SH
IFTI224に保持されたデータに対し、SHL演算
をBITS信号出指定されるビット数だけ行い、結果が
SHIFTO226にラッチする。
【0121】rtrnフィールドに記述された転送フィ
ールド命令は、WBステージでRDEC209によりS
HIFTORR信号を発生し、SHIFTO226の内
容がトライステート・バッファ227からr_busに
読み出され、OPW214に転送される。
【0122】ここで、ALBGEN228の動作につい
ては、LOAD命令と同様に図10に示すものと同一で
ある。
【0123】
【発明の効果】以上説明したように、シフト命令を実行
処理するためのシフタを用いることで、LOAD命令お
よびSTORE命令で必要なデータ・アライン機能を容
易に実現できる。
【0124】シフト命令で用いるシフタの機能と、デー
タ・アライン機能を実現するために必要なシフタの機能
は、ほとんど同一のハードウェアで共用化できる。この
ため、本発明を用いることで、データ・アライン機能に
専用のハードウェアを必要としないマイクロプロセッサ
を実現できる。
【0125】本発明でデータ・アライン機能実現のため
だけに専用に必要な機能としては、1)シフタに通知す
るシフト・ビット数を計算する機能、2)前記シフト・
ビット数を用いたシフタ演算機能だけであり、データ・
アライン機能実現のためのオーバヘッドは小さいことが
容易に理解できる。
【0126】さらに、通常の命令実行処理のための通常
のデータ・パスを使用するため、データ・アライン処理
のための動作速度の低下を回避できる。
【図面の簡単な説明】
【図1】本発明を用いたマイクロプロセッサの実施例の
概要構成を示す図である。
【図2】図1における命令実行ユニットの構成を示す図
である。
【図3】図2におけるシフタならびにその周辺の構成を
示す図である。
【図4】従来のマイクロプロセッサと外部メモリの接続
を示す図である。
【図5】実施例におけるシフト命令の動作タイミングを
示す図である。
【図6】実施例におけるLOAD命令の動作タイミング
を示す図である。
【図7】実施例におけるSTORE命令の動作タイミン
グを示す図である。
【図8】図4におけるメモリ・バンクのアクセス動作を
示す図である。
【図9】実施例におけるフィールド命令のフォーマット
を示す図である。
【図10】実施例におけるアライン・ビット生成回路の
論理を示す図である。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】データ・バス幅のビット長より小さなビッ
    ト長を持つデータを外部メモリと転送するマイクロプロ
    セッサのデータ・アライン装置において、命令実行の際
    にデータ転送を行う内部データ・バス、前記内部データ
    ・バスに接続されたシフト演算装置、シフトすべきビッ
    ト数を保持するレジスタ、およびアクセスすべき外部メ
    モリへのアドレスの一部分およびデータのビット長によ
    りアラインすべきビット数を生成する手段を有し、実行
    する命令に応じて前記ビット数生成手段により生成され
    たビット数と前記レジスタに保持されたビット数とのい
    ずれかを選択して出力するマルチプレクサを有し、前記
    マルチプレクサから出力されたビット数に従い、前記デ
    ータ・バスを介して転送されるデータを前記シフト演算
    装置によりシフトすることを特徴とするデータ・アライ
    ン装置。
  2. 【請求項2】マイクロプログラムを格納する手段、およ
    びマイクロプログラム制御手段を有し、前記格納手段に
    格納されたマイクロプログラムを前記制御手段により命
    令実行処理を行うとともに前記シフト動作を制御するこ
    とを特徴とする請求項1記載のデータ・アライン装置。
  3. 【請求項3】少なくとも3組の内部データ・バスを有
    し、同時に独立した3組のデータ転送を行うことを特徴
    とする請求項2記載のデータ・アライン装置。
JP3184254A 1991-07-24 1991-07-24 データ・アライン装置 Expired - Lifetime JP3003292B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3184254A JP3003292B2 (ja) 1991-07-24 1991-07-24 データ・アライン装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3184254A JP3003292B2 (ja) 1991-07-24 1991-07-24 データ・アライン装置

Publications (2)

Publication Number Publication Date
JPH0528032A JPH0528032A (ja) 1993-02-05
JP3003292B2 true JP3003292B2 (ja) 2000-01-24

Family

ID=16150096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3184254A Expired - Lifetime JP3003292B2 (ja) 1991-07-24 1991-07-24 データ・アライン装置

Country Status (1)

Country Link
JP (1) JP3003292B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62174842A (ja) * 1986-01-29 1987-07-31 Hitachi Ltd デ−タ処理装置
JPS6462742A (en) * 1987-09-03 1989-03-09 Agency Ind Science Techn Storage device

Also Published As

Publication number Publication date
JPH0528032A (ja) 1993-02-05

Similar Documents

Publication Publication Date Title
US4342078A (en) Instruction register sequence decoder for microprogrammed data processor and method
US4450519A (en) Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US4338661A (en) Conditional branch unit for microprogrammed data processor
JP2616182B2 (ja) データ処理装置
EP0199173B1 (en) Data processing system
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
EP0782071A2 (en) Data processor
US4312034A (en) ALU and Condition code control unit for data processor
US4954943A (en) Data processing system
EP0011412B1 (en) Bipartite control store for microprogrammed data processor
JP2718292B2 (ja) マイクロプロセッサ
US5581774A (en) Data processor decoding and executing a train of instructions of variable length at increased speed
JPS5811654B2 (ja) デ−タシヨリシステム
KR950010825B1 (ko) 분기 타겟 명령 버퍼를 내장한 마이크로컴퓨터
EP0338564B1 (en) Microprogram branching method and microsequencer employing the method
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JP2556182B2 (ja) デ−タ処理装置
JP3003292B2 (ja) データ・アライン装置
JPH02293931A (ja) 制御装置
JPH02235289A (ja) 自己刻時レジスターファイル
US5187782A (en) Data processing system
EP0573071A2 (en) A microprocessor
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
EP0633521A1 (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JPH04199331A (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: 19991019

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 11

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: 20101119

Year of fee payment: 11

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: 20111119

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 12