JPH0424735A - 中央演算処理装置 - Google Patents
中央演算処理装置Info
- Publication number
- JPH0424735A JPH0424735A JP2124657A JP12465790A JPH0424735A JP H0424735 A JPH0424735 A JP H0424735A JP 2124657 A JP2124657 A JP 2124657A JP 12465790 A JP12465790 A JP 12465790A JP H0424735 A JPH0424735 A JP H0424735A
- Authority
- JP
- Japan
- Prior art keywords
- data
- alu
- decrease
- increase
- bits
- 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.)
- Granted
Links
- 230000007423 decrease Effects 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000003247 decreasing effect Effects 0.000 abstract description 5
- 238000006073 displacement reaction Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 210000004556 brain Anatomy 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 102100029894 Bromodomain testis-specific protein Human genes 0.000 description 3
- 101000794028 Homo sapiens Bromodomain testis-specific protein Proteins 0.000 description 3
- 240000002853 Nelumbo nucifera Species 0.000 description 3
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 3
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 3
- 102100021851 Calbindin Human genes 0.000 description 2
- 101000898082 Homo sapiens Calbindin Proteins 0.000 description 2
- 101001021643 Pseudozyma antarctica Lipase B Proteins 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 101150030723 RIR2 gene Proteins 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
め要約のデータは記録されません。
Description
行中に現アドレスに幾らかのデータを加算し得られるア
ドレスよりプログラムを実行するいわゆる分岐動作にお
ける新たなプログラムアドレスの計算方法として、デー
タ演算用のALUとは別個にプログラムアドレス計算専
用のツルアターを設ける方法と、データ演算と分岐時の
プログラムアドレスの計算の両方を実行する一つのAL
Uを設ける方法とかある。
Uとツルアターをそれぞれ別個に設けることによりハー
ドウェアか大きくなるという問題点がある。一方、一つ
のALUにて実行する方法では、例えばALUの処理ビ
ット数か8ピ、トである場合に、これより大きい例えば
16ビノトからなるプログラムアドレスを計算する場合
、分岐範囲がCPUのプログラムアドレスの幅より小さ
いときてもプログラムアドレスのビット幅に達するまで
ALUで計算しなければならず、処理サイクルか多くか
かるという問題点がある。
ので、ハードウェアが大きくならず、かつ処理サイクル
が増加することもない中央演算処理装置を提供すること
を目的とする。
数より小さい数のビット数にてなるデータを処理するA
LUと、 プログラムアドレスのビット数が複数に分割されたビッ
ト数であり上記ALUが処理するデータのビット数と同
じビット数にてなる分割プログラムアドレスデータに、
選択された定数を増減可能な複数の増減器と、 上記ALUにおける演算にて発生した桁上げ信号と下位
の上記増減器が送出する桁上げ信号とを選択し、選択し
た桁上げ信号を上位の上記増減器に送出する選択部と、 プログラムアドレスを保持している少なくとも一つのレ
ジスタと、を備えたことを特徴とする。
スのビット数より小さく、又、設けられるALUは一つ
であるのでハードウェアを大きくすることはない。
スを同時に送出し、ALUは処理する演算にて桁上げ信
号が発生したときにはこの桁上げ信号を選択部に送出す
る。選択部はこの桁上げ信号を上位の増減器に送出する
が、上述したように増減器には既にプログラムアドレス
が供給されており増減器は供給される桁上げ信号と上記
プログラムアドレスとの加算を行い、この加算演算にて
桁上げ信号か発生したときにはこの桁上げ信号を選択部
に送出する。選択部は供給された桁上げ信号を上位の増
減器に送出する。この増減器にもプログラムアドレスが
既に供給されているので、増減器は上述した動作と同様
に加算演算を行う。このように、分割されたプログラム
アドレスの一部かALUにて計算され、これによって桁
上げ信号か発生した場合にはその桁上げ信号は分割され
た他のプログラムアドレスに伝搬する。よってALU、
増減器、選択部は、lサイクルにて分岐後のプログラム
アドレスを発生させることかできるように作用している
。
ける構成の概略を第3図ないし第5図ab、cを参照し
以下に説明する。
理装置(以下CPUと称す)の基本語長は8ビツトであ
る。
ラムカウンタ(以下PCと記す)は24ビツト(PBC
,PCH,PCL)を有しており、リニアアドレスで1
6Mバイトをアクセス可能としている。尚、PBCとは
プログラム・バンク・カウンタレジスタ(以下PBCと
記す)、PCIとはプログラム・カウンタレジスタH(
以下PCHと記す)、PCLとはプログラム・カウンタ
レジスタしく以下PCLと記す)である。
おり、バンクアドレスとしては、基本的にデータバンク
レジスタ(以下DBRと記す(8ビツト))か出力され
、従って、64にバイトリニアで256バンクを用いて
、16Mハイドのアクセスを可能にしている。
述のMl、MQフラグにて説明する。
があり、特に、WQ、Wlの両レジスタは8ビツトごと
に分別され、8ピットレジスタRO,RIR2,R3と
して使用することもてきる。
ト、16ピノトの両方のサイズのデータを命令により区
別して扱うことが可能である。
スタ(以下SPと記す)として16ビノトレジスタを用
意しており、リニアに64にバイトのアクセスをおこな
う。ただし、バンクアドレスは、00″hに固定されて
いる。
記す)は現在のCPUの動作状態を示しており、具体的
には、N、 V、 Z、 Cの各フラグは、演算の結果
により変化し、■フラグは、割り込み要求の受付けの可
否を示し、Dフラグは、加減算命令の結果の補正に関し
、D=1ならば、加減算命令の実行結果は自動的に10
進補正される。
力されるバンクアドレスの選択を可能にするフラグであ
る。従って、Ml、MOフラグを任意の値に設定(この
CPUでは命令で更新する)する事により、データアク
セスの際に、出力されるバンクアドレスをDBR値、”
oo”h等の定数の何れかを選択して出力し様々なメモ
リのアプリケーションに対応させる。
タアクセス時のアドレス・ポインタとなるレジスタで、
ファースト・ダイレクトと呼ふアドレ・7シング・モー
ドで使用される。尚、アドレッシングとは、データの格
納先のアドレスを指定することをいう。
して8ビツトのデータのみをフェッチしてそのデータを
実効アドレスのロー(ビット7〜ビツト0)とし、ハイ
(ビット15〜ビツト8)をFPRの内容とするアドレ
ッングモードにおいて有効となるレジスタである。
、MOのフラグ状態に従う。
バイトのみフェッチするだけなので、同一ページアドレ
ス内(アドレスのビット15〜ビツト8が一定値)の高
速なデータのアクセスが可能となる。
て示したものであり、このCPUは基本語長は、前述の
ように8ビツトであり、オペコードの前にプリバイトと
呼ばれる命令拡張用の1バイトデータをフェッチする形
式をとる。
トに係る情報を有し、オペコードか実行すべき命令の内
容を持っている。
ド長と実行時間の短縮を図るため、「形式l」に示すよ
うに、短縮命令と呼ぶプリバイトの無いオペフード内に
アドレッシング及び命令の内容を含んだ命令を用意する
。
いる。第5図すに示す「形式2」は、プリバイトの次に
オペコードを配置し、その後にオペランドデータを配す
る形式であり、「形式3」はプリバイトとオペコードの
開にもオペランドデータを配置する。
ドデータは、ディスプレースメント付アドレッシングで
使用される。
、データのアクセスのための実効アドレスの発生時に、
内部レジスタデータにオペランドでフェッチされたデー
タもしくは、オペランドで指定されたレジスタの値をオ
フセットとして加算することで実効アドレスを発生する
アドレッシングのことを示す。
2のようなオペランドデータの配置形式を取れば、ディ
スプレースメントのオペランドデータをフェッチした後
、実効アドレスを計算するために、時間を要し、オペラ
ンドのテイスプレースメント・データのフェッチの後、
複数のアイドルサイクルが存在することになる。
オペコードの間にディスフレースメントデータを配置す
れば、実効アドレス発生のための計算をオペコードのフ
ェッチサイクルに重複して行なう事ができ、無駄なアイ
ドルサイクルの発生を防ぐ。
主に制御部lと演算部2の2つの機能部に大別される。
る機能を持っている。
(D7〜Do)を介して、DIL15に人力された命令
コードは、プリバイトIR3或いはオペコードlR4の
各インストラクションレジスタに格納され次の命令が発
生するまで保持される。
出力5.6と命令シーケンスのタイミングを制御するT
eO2の出力がAND−ORのPLAて構成された命令
デコード回路8,9,10゜11に入力され、命令とタ
イミングに応したデコード結果13を出力する。
フェース回路を介して、演算部2に対してタイミングを
整えて演算部2を制御すべき複数の制御信号14を発生
する。
ーンをブリバイト用(構成部分8)と、オペコード用(
構成部分10)の2種類もち、ORブレーン9,11を
共有した形をとる。
は、アドレソンングモートの情報を有し、オペコード部
か命令のオペレーション内容を含むため、PLA上でも
機能的に、分類することでデコードの容易化と冗長性を
排除し、機能別(ブリバイトかオペコード)で最小のP
LA(特に、ANDブレーン)を実現させている。
10は、インタラブド制御21からの入力信号24によ
り、ANDプレーンの両方を動作状態にするか、一方A
NDプレーン10を非動作状態にせしめることもてきる
。ここで割り込みのシーケンスの制御コードは、全て、
プリノ\イト側のANDブレーン8にコードか割り付け
られており、割り込みの処理時にオペコード側のAND
プレーンlOは非動作状態にある。
口外部とのデータのアクセスを行なう。
8ビツトバスを有し、各機能部とのデータのやりとりを
行なう。
/スジ群や、データや実効アドレスの演算を行なう8ビ
7トALU19や、ンフト演算を行なう8ビツトのシフ
タ20、アドレス生成を主に行なうACU 13がある
。
は、MBババスら入力される信号を、スルーするか、反
転したり、“00″h等の定数データを発生してALU
19での演算を補助する。
もALU19は含んでいる。
T17や分岐命令での分岐条件成立の有無をPSRの状
態から検出するBRDT 18もある。
ビy)単位に、機能が分離されそれぞれはキャリーが伝
搬する構成となっていて、最大24ビツトのアドレス演
算を行なう。ここでは、アドレスの演算のみならずデー
タの演算も可能である。
いう増減機能かあり、A B L、 A B H,SB
という内部バス(各8ビツト)からのデータを“00”
h、“O1″h、“02”hて選択的に増減する。
CALBのラッチに選択的に格納され、AOBL AO
BH,AOBBの7)’レス・z\y7アを介して出力
される。
るのではなく、アドレス演算時のみラッチして、データ
演算時にはラッチされない場合があることを意味する。
常に結果をラッチするデータラッチである。
タを発生するVECL、VECH,VECB(ベクタア
ドレス発生回路)や、INC/DECを介さずにDBバ
バスータを直接アドレスとして出力するBSも配置され
ている。
テイスプレースメント付のアドレッシングにおいてAU
とACUの両方を使用して演算しており、C3B、C3
H25,26は、その際に使用される。
ボローをACUの演算に反映させるためのキャリーのセ
レクタとしての機能をC3B、C3H25,26が持っ
ている。
、ABH,ABLのバスを介してPC,DBR,TR,
ADH,ADLのレジスタデータを選択的に更新する。
かさどる、クロック発生器22や、周辺システムにCP
Uの動作状態を知らせる複数の信号を発生するシステム
制御23かある。
令コードのプリデコードを行い短縮命令の識別や、プリ
バイト付でオペコードと不当な組合せ(以下不当命令と
称す)の選別なとを行なう。
行なう。
果を格納する第3図及び第4図に示す汎用レジスタ群で
ある。
2,Rl、R3の8ビツトレジスタとしても命令で区別
して使用することができるので、本CPUでは16ビツ
トのみならず、8ビ・ノドのデータを扱うことができる
。
ドレッシングモードで指定すれば使用することもできる
。
セットなし)で構成され、内部バスに対し、以下の接続
関係を有する。
B或いはMBのハスにラッチされたデータを出力する。
にDBババス選択可能とする。
MBへ出力 R2(WOH)→MBあるいはDBから入力、DBある
いはMBへ出力 R1(WIL)→MBから入力、 DBあるいは
MBへ出力R3(WIH)→MBから入力、 D
BあるいはMBへ出力W2L −4MBから入力、
DBあるいはMBへ出力W2)1 →MB
から入力、 DBあるいはMBへ出力W3L
−MBから入力、 DBあるいはMBへ出力W
3H→MBから入力、 DBあるいはMBへ出力
OFPR(ファーストページレジスタ)第3図及び第4
図に示したFPRは、前述のファースト・タイレフト・
アドレッシングと呼ぶアトレノンングモードで使用され
る。
、内部バスに対し、以下の接続関係を有する。
DBのハスにラッチされたデータを、出力する。
tJに関する入力制御)第3図に示したI C27(8
ビツト)は、MBババスらALU 19に入力されるデ
ータを制御する。
ババスータの反転→ALUに入力3 “00”hの定数
→ALUに入力(MBババスータは無視する。) 4 “O1″hの定数 →ALUに入力(MBバス
テータは無視するの 5 “02″hの定数 →^LUに入力(MBババ
スータは無視する。) 6、 ”03°゛hの定数 →ALUに入力(MB
ハスデータは無視する。) ○ ALU(演算論理素子) 第3図に示したALv19c8ビット)は、DBバステ
ータとICからの各8ビツトの入力により演算を実施す
る。
OR(排他的論理和)、SUM(加算)がある。
)、加算及び減算を同一演算サイクル内で10進補正す
る回路も含む。
ーフローが発生の検出及びキャリー・ホロ、オーバーフ
ローをラッチする機能も具備する。
行するまで保持されるものとする。(AND、OR,E
XORでは変化しない) ○ ALUシック(演算論理素子シフタ)第3図に示し
た、ALUンフタ28は、8ビツトテータの1ビノトン
フトライトを実施するシフトレジスタで、主に乗算命令
で使用される。
のS[JM(加算)の結果であり、最上位ピットには、
そのSUMの結果で発生したキャリーか入力され、ソフ
トの結果最下位より送出される1ビツトデータは、AL
U 19のキャリーとして最終的に保持される。
を保持する8ビツトランチである。内部バスに対しては
以下の接続関係を有する。
T29のデータは、次のALU演算が実行されるまで内
容は更新されない。
成され、データの1ビツトシフトレフト。
選択的に実施する。
口検出回路) 第3図に示したZDT17は、kIBバスの状態をモニ
タし、MBババス全ビット“00°”hならば、“00
″hの検出をしたことを示す信号を発生する上口検出回
路である。
用し、ALU19等の演算結果かRLT29より、MB
ババス出力される時、結果の“OO″hを検出してZフ
ラグをl”にセットする動作を促すために用いられる。
3図に示した、PSR30は、ラッチで構成され内部バ
スに対しては以下の接続関係を有する。
、概要でも記述した様にPSRレジスタ30は現在のC
PUの動作状態を示す。
れており、分岐命令が発生した場合、PSR30の内容
から分岐するか否かを判断する信号を発生する。
ッファ) 第3図ACU部16に示した、AOBB、AOBHAO
BLはアドレス出力用のバッファであり、各8ビツトで
計24ビット(BA、7〜BAOAI5〜AO)のアド
レスを出力する。
態になる。
生器) 第3図ACU部16に示した、VECB、VEC−H,
VECLは割り込み処理において、ヘクタアドレス(2
4ビツト)を発生する。
ソチ) 第3図ACU部16に示した、CA、LB、CALH,
CALLはI NC/DEC:B:H:Lの演算の結果
を選択的に格納するう・ノチであり、アドレス演算時の
みラッチされる。
C:Bの演算の結果を常に格納するラッチである。
クリメント・ユニット) 第3図ACU@16に示したINC/DEC:B:H:
Lはデータの増減を行なう。
したキャリーは、それぞれの上位アドレス増減部(IN
C/DEC:LならINC/DEC:Hへ、I NC/
DEC:HならINC/DEC:Bへ)ニ伝搬すれ、結
局24ビツトのアドレス生成を実現することになる。
タ(各8ビツト)は、SB、ABH,ABLのデータバ
ス(各8ビツト)を介して入力される。
基本的に次の動作を選択的に行なう。
。
。
生する際、CPU外部から入力されたデータ(8ビツト
)をINC/DEC:Lを介することなく、DBババス
ら、直接AOBLに入力するためのデータの選択の機能
を有する。
な場合、実効アドレスのためのオペランドデータ(8ビ
ツト)をフェッチするサイクルの次に、すぐに実効アド
レスを出力しなければならないが、この場合、INC/
DEC:Lを介すれば遅延が生じる。
をDBババス乗せ、BSで選択することにより、高速に
AOBLを書き換えることができる。
U部16に示した、C5B C3H25,26はデータ
の演算時に、INC/DECB、INC/DEC:Hに
入力されるキャリーがINc/DEC+7)下位側(I
NC/DEC:HならINC/DEC:L、INC/D
EC:Bなう■NC/D E C:H)からか、あるい
はALUI9で発生されたキャリーにするかを選択する
機能を有する。
プレースメントデータの加算や、プログラム相対アドレ
スで分岐の際にアドレスの計算を行なうことは、ALU
I9とAC1J16を共用して行なう。
スプレースメントを加算して、実効アドレスを発生する
アドレッシングの場合、24ビツトデータ中のビット7
〜ビツトOとディスプレースメントデータ(8ビツト)
の加算をALU 19で行ない、24ビ、トの残り(ビ
ット23〜ビツト16)をACU部16で演算する。
キャリーは、C5H25を介して、ACOHに入力され
、ACU16はこの桁上がりを含めて演算ができる。
の場合には、ACU16のみを用いて、ALUI 9は
別のオペシー/タンのための演算を行なうことかできる
。
ら発生したキャリーがC3H25を介してACUHに入
力される。
:H:Lを用いて行なう。
H→^BHから入力、 MBあるいはABHへ出力PC
L−+ABLから入力、 DBあるいはABLへ出力○
TR,ADH,ADL(テンポラリ・レジスタ)各8
ビツトのテンポラリ・データラッチである。
る。
−MBあるいはABI(から入力、 ABHへ出力^D
L −DBあるいはABLから入力、 ABLへ出力
○ SPH,5PL(スタック・ポインタ・レジスタ) 16ビツトのスタック・ポインタ・レジスタである。
PL 4MBから入力 、 DBへ出力○ DBR(
データ・バンク・レジスタ)8ビツトのバンク・レジス
タである。基本的にデータアクセスの際のバンクアドレ
スは、このレジスタ値が出力される。但し、PSR中に
モード・フラグ(Ml、MO)の状態により、バンクア
ドレス値は変動する。
BR値の増減にも任意に対応できる。
SBへ出力 ○ DIL(データ入力ラッチ) 8ビツトのラッチである。外部データは、このラッチに
入力される。
、演算部2には、内部バス(DB、MBSB)に対しデ
ータを供給する。
あるいは制御部へ出力 ODOL(データ出力ラッチ) 8ビツトのラッチである。外部に出力されるデータは、
このラッチに入力される。
出力以下に、本CPUの制御部1の各機能部について説
明を行なう。
3つの機能部を有する。
い場合、プレデコーダで予めデコードして制御信号を発
生する。
CU7の制御等コ 2、PLAコードの最小化のためデコードを補助する。
。
ム用システム・クロックを発生する。
−CPUクロック入力 Sl、S2−〜−/ステム・クロック出力○ /ステム
制御 CPUの動作状態を知らせるための複数の信号を発生す
る。
ス出力中を示す) BSDΔ−一一プロセッサ動作状帖出力(データアクセ
スを示す) BSP八−m−プロセッサ動作状態出力(プログラムア
クセスを示す) BSOF−−−プログラム動作状態出力(命令フェッチ
を示す) BSML−一一プロセノサ動作状態出力(メモリロック
状態を示す) RWB、RB、WB−−−リードライト状態出力BE−
−−バスイネーブル入力 ○ インタラブド制御 CPUの割り込みを制御する。
−−−ノンマスカブル割り込み人力rR○ −一一割
り込み入力 l5EO〜3−一一割り込み(IR○)選択入力WAK
E −−−プロセッサ停止命令の解除入力 ○ TCU(タイミング制御ユニット)命令実行の動作
シーケンスを制御する。
を整えた制御信号を発生する機能を有す。
レーン、ORブレーン AND−ORで構成された命令デコード用PL以上概説
したようなCPUにおいて、分岐時にプログラムアドレ
スを計算する構成部分のみを第3図より抜出し第1図に
示す。尚、第1図に示す構成部分の内、第3図に示す構
成部分に相当するものについては同し符号を付している
。
は、上述したようにプログラムアドレスを発生するため
のそれぞれが8ビツトからなるプログラムカウンタであ
り、それぞれローパート、ハイパート、バンクパートを
示している。これら3つのプログラムカウンタにて合計
24ビツトからなるプログラムアドレスを形成する。尚
、PCL54、PCH55,PBC56は第3図に示す
それらのものに対応している。
1に接続される。A増減器51は、第3図に示すINC
/DEC:L51に対応するもので、分岐時以外の通常
時にPCL54より供給される8ビツトからなるデータ
に1を加算し順次プログラムアドレスを進行させるため
に使用される。又、A増減器51は、バスを介して第3
図に示すC882、5に対応するキャリー選択六回路2
5に接続され、A増減器51にて計算した結果桁上げ(
以下キャリーと記す)か発生した場合にはその旨の信号
をキャリー選択六回路25へ送出する。又、キャリー選
択六回路25はバスを介してB増減器52へ接続される
。
2に接続される。B増減器52は、第3図に示すINC
/DEC:H52に対応するもので、PCH55より供
給される8ビツトからなるデータに1を加算する回路で
ある。又、B増減器52は、バスを介して第3図に示す
C3H26に対応するキャリー選択8回路26に接続さ
れ、B増減器52にて計算した結果キャリーが発生した
場合にはその旨の信号をキャリー選択8回路26へ送出
する。又、キャリー選択8回路26は後述するC増減器
53へ接続される。
実施例では1を加える動作を行うが、これに限るもので
はなく0を念みプラスあるいはマイナスの整数の増減を
行うことかできる。
及びバスを介して供給される8ビツトからなるディスプ
レースメントデータと、PCL54、PCH55よりハ
スを介して供給されるデータとを加算する回路であり、
その出力側はキャリー選択六回路25及びキャリー選択
8回路26に接続される。よってALUl 9は、上記
の計算によりキャリーが発生すればその旨の信号をキャ
リー選択六回路25及びキャリー選択8回路26へ送出
する。
。C増減器53は、第3図に示すINC/DEC:B5
3に対応するものである。
リラティブ・アドレッシングとロング・リラティブ・ア
ドレノ/フグであり、これら二つのアドレッシングにお
ける本CPUのアドレスの発生方法を第2図a、bに示
している。即ち、第2図aに示すように、リラティブ・
アドレッシングでは、PCL54.PCH55,PBC
56のそれぞれのプログラムカウンタレジスタより送出
される合計24ビツトのデータに、オペランドデータと
してプログラムから読んだ8ビツトのディスプレースメ
ントデータを符号拡張して24ビツトとしたデータとを
加え、得られる結果を分岐時のプログラムアドレスとす
る。一方ロング・リラティブ・アドレッシングでは第2
図すに示すように、プログラムカウンタレジスタの24
ビツトのデータに、オペランドデータとしてプログラム
から読んだ16ビツトのディスプレースメントデータを
符号拡張して24ビツトとしたデータとを加え、得られ
る結果を分岐時のプログラムアドレスとする。
ムアドレスを計算する方法を説明する。
供給される8ビツトのディスプレースメントデータは、
MB(内部バス)、IC27を介してALUl9に送出
される。又、ALUl9には、PCL54.PCH55
,PBC56のプログラムカウンタレジスタのうちPC
L54に格納されているデータがDBを介して供給され
る。又、ALUl9にPCL54よりデータが供給され
るのと同時に、PCH55に格納されているデータはバ
スを介してB増減器52へ送出され、PBC56に格納
されているデータはバスを介してC増減器53へ送出さ
れる。
供給されたALUl9は、分岐時のプログラムアドレス
を生成するためこれらのデータの加算を行う。
算された加算結果データは、ALU19ヨリハス、AD
L60、AOBL61等を介してA7−AOの8ビツト
のデータとして外部へ送出する。又、この場合には、B
増減器52に供給されたPCH55の格納データはその
ままAOBH62よりA15−A8の8ビツトのデータ
として外部へ送出され、C増減器53に供給されたPB
C56の格納データはそのままAOBB63よりBA7
−BAQの8ビツトのデータとして外部へ送出される。
アドレスが形成される。
した場合、ALUl 9よりその旨の信号がキャリー選
択A回路25及びキャリー選択3回路26に送出され、
この場合にはキャリー選択8回路26は後述するように
B増減器52が送出するキャリー信号を選択し、キャリ
ー選択へ回路25のみからキャリー信号がB増減器52
に送出される。尚、ALUl9における演算結果データ
は上述したようにAOBL61より外部へ送出される。
タが供給されており、B増減器52はPCH55の格納
データと上記キャリー信号とを加算する。この加算演算
の結果の加算結果データは、上述した場合と同様にAO
BH62より外部へ送出される。尚、B増減器52にお
ける加算演算にてキャリーが発生した場合には、B増減
器52はその旨の信号をキャリー選択8回路26を介し
てC増減器53へ送出する。C増減器53には上述した
ようにPBC56の格納データか供給されており、C増
減器53はこのPBC56の格納データとB増減器52
より送出されたキャリー信号との加算を行い、加算結果
データを上述したようにAOBB63より外部へ送出す
る。このようにして24ビツトからなる分岐先のプログ
ラムアドレスが形成される。
明する。プログラムより読み出した16ビノトのディス
プレースメントデータのうち下位8ビツトが上述の場合
と同様にしてALUl9へ送出され、一方ALU ]
9にはPCL54の格納データが供給され、ALU I
9はこれらのデータの加算を行う。尚、この動作と同
時にPCH55の格納データはB増減器52へ供給され
、PBC56の格納データはC増減器53へ供給される
。
タは、ALUl9よりバス、ADL60等を介してA増
減器51へ送出され、A増減器51よりAOBL61を
介して外部へ送出される。
はALUl9は特に信号を送出しないが、キャリーが発
生した場合にはALUl9はキャリー発生有の旨の信号
をキャリー選択A回路25のみに送出する。よって、こ
の場合にはキャリー選択A回路25よりキャリー信号が
B増減器52に供給され、B増減器52はこのキャリー
信号とPCH55の格納データとの加算を行う。その結
果データは、PCH55、バス等を介してALUl9へ
送出される。尚、B増減器52における加算演算にてキ
ャリーが発生した場合には、そのキャリー信号はキャリ
ー選択8回路26を介してC増減器53へ供給される。
ータと上記の動作にて供給されたディスプレースメント
データの内上位8ビットとの加算演算を行い、その加算
結果データを外部へ送出する。
信号を送出することはないが、キャリーが発生した場合
には、ALUl9はその旨の信号をキャリー選択8回路
26のみに送出する。そしてキャリー選択8回路26よ
りキャリー信号かC増減器53へ送出される。
ータが供給されているので、C増減器53は、キャリー
選択8回路26及び/又はB増減器52より供給される
キャリー信号とPBC56の格納データとの加算演算を
行い、加算結果データをAOBB63より外部へ送出す
る。
減器53より送出されるデータにて分岐時における分岐
先のプログラムアドレスが生成される。
プログラムアドレスを構成するビット数より小さいため
プログラムアドレスをALUの処理ビット数に適合する
ように例えば上記実施例のようにPCL、PC,H,P
BCに分割して演算処理する場合、従来のようにPCL
の格納データとディスプレースメントデータとの加算を
行い、キャリーが発生すればそのキャリー信号とPCH
の格納データとの加算を行い、さらにキャリーが発生す
ればそのキャリー信号とPBCの格納データとの加算を
行うというように、1ステツプずつ行うのではなく、P
CLの格納データがディスプレースメントデータと加算
する際にはPCH及びPBCの格納データはすでに増減
器に供給され、PCLにおける加算演算にてキャリーが
発生すれば直ちに増減器に供給され、供給されたキャリ
ー信号との加算演算にてキャリーが発生すれば直ちに上
位の増減器にキャリー信号が供給され加算演算が行なわ
れるので、従来のようにプログラムアドレスを得るため
に3ステツプを要せず1ステツプにて分岐時のプログラ
ムアドレスの計算が実行でき、処理サイクルが多くなる
ことはない。又、ALUは−っであるので、ハードウェ
アが大きくなるという問題もない。
データのビット数をプログラムアドレスノヒノト数より
小さくしたことより、ハードウェアが大きくなることは
ない。
した場合には、分割されたプログラムアドレスが格納さ
れる増減器に桁上げ信号が選択部を介して供給され、さ
らに増減器における加算演算にて桁上げ信号が発生した
場合には桁上げ信号か選択部を介して上位の増減器へ送
出されるようにしたことより、分岐時におけるプログラ
ムアドレスの生成に要する処理サイクルが増加すること
もない。
算に関する構成部分を示したブロック図、第2図a及び
第2図すは本発明のCPUのプログラムアドレスの発生
方法を示す図、第3図は本発明のCPUの全体構成を示
すブロック図、第4図は本発明のCPUのプログラミン
グモデル、第5図aないし第5図Cは本発明のCPUの
命令形式について示した図である。 19・・・ALU、25・・・キャリー選択六回路、2
6・・・キャリー選択8回路、51・・・A増減器、5
2・・・B増減器、53・・・C増減器、54・・・P
CL、55・・・PCH。 56・・・PBCo
Claims (1)
- (1)プログラムアドレスデータを構成するビット数よ
り小さい数のビット数にてなるデータを処理するALU
と、 プログラムアドレスのビット数が複数に分割されたビッ
ト数であり上記ALUが処理するデータのビット数と同
じビット数にてなる分割プログラムアドレスデータに、
選択された定数を増減可能な複数の増減器と、 上記ALUにおける演算にて発生した桁上げ信号と下位
の上記増減器が送出する桁上げ信号とを選択し、選択し
た桁上げ信号を上位の上記増減器に送出する選択部と、 プログラムアドレスを保持している少なくとも一つのレ
ジスタと、を備えたことを特徴とする中央演算処理装置
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2124657A JP2922979B2 (ja) | 1990-05-15 | 1990-05-15 | 中央演算処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2124657A JP2922979B2 (ja) | 1990-05-15 | 1990-05-15 | 中央演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0424735A true JPH0424735A (ja) | 1992-01-28 |
JP2922979B2 JP2922979B2 (ja) | 1999-07-26 |
Family
ID=14890827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2124657A Expired - Lifetime JP2922979B2 (ja) | 1990-05-15 | 1990-05-15 | 中央演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2922979B2 (ja) |
-
1990
- 1990-05-15 JP JP2124657A patent/JP2922979B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2922979B2 (ja) | 1999-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2968289B2 (ja) | 中央演算処理装置 | |
EP0476722B1 (en) | Data processing system | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
JPH1091435A (ja) | 二種類の命令長コードを実行するプロセッサ及びその命令コード入力装置 | |
JPH03218523A (ja) | データプロセッサ | |
JPH10228376A (ja) | 複数レジスタ命令を処理する方法及びプロセッサ | |
US5757685A (en) | Data processing system capable of processing long word data | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
US5301338A (en) | System including central processing unit | |
JPH081604B2 (ja) | マイクロプロセッサ | |
US5077659A (en) | Data processor employing the same microprograms for data having different bit lengths | |
EP0226991B1 (en) | Data-processing device | |
EP0594969B1 (en) | Data processing system and method for calculating the sum of a base plus offset | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
CN111814093A (zh) | 一种乘累加指令的处理方法和处理装置 | |
US7631166B1 (en) | Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation | |
US5151993A (en) | Data processor performing operation on data having length shorter than one-word length | |
US5596761A (en) | Central processing unit with internal register initializing means | |
US7039789B2 (en) | Circular addressing algorithms providing increased compatibility with one or more higher-level programming languages | |
JPH0424735A (ja) | 中央演算処理装置 | |
KR100278136B1 (ko) | 데이타처리장치 및 데이타처리방법 | |
US5220670A (en) | Microprocessor having ability to carry out logical operation on internal bus | |
US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage | |
JPH0443415A (ja) | 中央演算処理装置 | |
JPH0210454B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080430 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 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: 20110430 Year of fee payment: 12 |