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
Application number
JP2124657A
Other languages
English (en)
Other versions
JP2922979B2 (ja
Inventor
Takashi Yasui
隆 安井
Keiichi Yoshioka
圭一 吉岡
Shinichi Yamaura
山浦 慎一
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2124657A priority Critical patent/JP2922979B2/ja
Publication of JPH0424735A publication Critical patent/JPH0424735A/ja
Application granted granted Critical
Publication of JP2922979B2 publication Critical patent/JP2922979B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、中央演算処理装置に関する。
[従来の技術] 中央演算処理装置において、データ演算プログラムの実
行中に現アドレスに幾らかのデータを加算し得られるア
ドレスよりプログラムを実行するいわゆる分岐動作にお
ける新たなプログラムアドレスの計算方法として、デー
タ演算用のALUとは別個にプログラムアドレス計算専
用のツルアターを設ける方法と、データ演算と分岐時の
プログラムアドレスの計算の両方を実行する一つのAL
Uを設ける方法とかある。
前者のALU及びツルアターを使用する方法では、AL
Uとツルアターをそれぞれ別個に設けることによりハー
ドウェアか大きくなるという問題点がある。一方、一つ
のALUにて実行する方法では、例えばALUの処理ビ
ット数か8ピ、トである場合に、これより大きい例えば
16ビノトからなるプログラムアドレスを計算する場合
、分岐範囲がCPUのプログラムアドレスの幅より小さ
いときてもプログラムアドレスのビット幅に達するまで
ALUで計算しなければならず、処理サイクルか多くか
かるという問題点がある。
本発明はこのような問題点を解決するためになされたも
ので、ハードウェアが大きくならず、かつ処理サイクル
が増加することもない中央演算処理装置を提供すること
を目的とする。
[課題を解決するための手段] 本発明は、プログラムアドレスデータを構成するピント
数より小さい数のビット数にてなるデータを処理するA
LUと、 プログラムアドレスのビット数が複数に分割されたビッ
ト数であり上記ALUが処理するデータのビット数と同
じビット数にてなる分割プログラムアドレスデータに、
選択された定数を増減可能な複数の増減器と、 上記ALUにおける演算にて発生した桁上げ信号と下位
の上記増減器が送出する桁上げ信号とを選択し、選択し
た桁上げ信号を上位の上記増減器に送出する選択部と、 プログラムアドレスを保持している少なくとも一つのレ
ジスタと、を備えたことを特徴とする。
[作用コ ALUが処理するデータのピント数はプログラムアドレ
スのビット数より小さく、又、設けられるALUは一つ
であるのでハードウェアを大きくすることはない。
レジスタはALU及び複数の増減器にプログラムアドレ
スを同時に送出し、ALUは処理する演算にて桁上げ信
号が発生したときにはこの桁上げ信号を選択部に送出す
る。選択部はこの桁上げ信号を上位の増減器に送出する
が、上述したように増減器には既にプログラムアドレス
が供給されており増減器は供給される桁上げ信号と上記
プログラムアドレスとの加算を行い、この加算演算にて
桁上げ信号か発生したときにはこの桁上げ信号を選択部
に送出する。選択部は供給された桁上げ信号を上位の増
減器に送出する。この増減器にもプログラムアドレスが
既に供給されているので、増減器は上述した動作と同様
に加算演算を行う。このように、分割されたプログラム
アドレスの一部かALUにて計算され、これによって桁
上げ信号か発生した場合にはその桁上げ信号は分割され
た他のプログラムアドレスに伝搬する。よってALU、
増減器、選択部は、lサイクルにて分岐後のプログラム
アドレスを発生させることかできるように作用している
[実施例] まず、本発明の中央演算処理装置における一実施例にお
ける構成の概略を第3図ないし第5図ab、cを参照し
以下に説明する。
第4図は、プログラミングモデルであり、本中央演算処
理装置(以下CPUと称す)の基本語長は8ビツトであ
る。
アドレス空間は、プログラムをアクセスする際、プログ
ラムカウンタ(以下PCと記す)は24ビツト(PBC
,PCH,PCL)を有しており、リニアアドレスで1
6Mバイトをアクセス可能としている。尚、PBCとは
プログラム・バンク・カウンタレジスタ(以下PBCと
記す)、PCIとはプログラム・カウンタレジスタH(
以下PCHと記す)、PCLとはプログラム・カウンタ
レジスタしく以下PCLと記す)である。
一方、データをアクセスする時は、バンク方式を用いて
おり、バンクアドレスとしては、基本的にデータバンク
レジスタ(以下DBRと記す(8ビツト))か出力され
、従って、64にバイトリニアで256バンクを用いて
、16Mハイドのアクセスを可能にしている。
尚、バンクアドレスとしてのDBRの出力については後
述のMl、MQフラグにて説明する。
また、複数の汎用レジスタ(WO〜W3:16ビツト)
があり、特に、WQ、Wlの両レジスタは8ビツトごと
に分別され、8ピットレジスタRO,RIR2,R3と
して使用することもてきる。
故に、本CPUでは、演算のデータサイズとして8ビツ
ト、16ピノトの両方のサイズのデータを命令により区
別して扱うことが可能である。
さらに、スタック空間としては、スタックポインタレジ
スタ(以下SPと記す)として16ビノトレジスタを用
意しており、リニアに64にバイトのアクセスをおこな
う。ただし、バンクアドレスは、00″hに固定されて
いる。
そして、プログラムスティタスレジスタ(以下PSRと
記す)は現在のCPUの動作状態を示しており、具体的
には、N、 V、 Z、 Cの各フラグは、演算の結果
により変化し、■フラグは、割り込み要求の受付けの可
否を示し、Dフラグは、加減算命令の結果の補正に関し
、D=1ならば、加減算命令の実行結果は自動的に10
進補正される。
Ml、MOフラグは、データ空間をアクセスする際、出
力されるバンクアドレスの選択を可能にするフラグであ
る。従って、Ml、MOフラグを任意の値に設定(この
CPUでは命令で更新する)する事により、データアク
セスの際に、出力されるバンクアドレスをDBR値、”
oo”h等の定数の何れかを選択して出力し様々なメモ
リのアプリケーションに対応させる。
ファーストページレジスタ(以下FPRと記す)はデー
タアクセス時のアドレス・ポインタとなるレジスタで、
ファースト・ダイレクトと呼ふアドレ・7シング・モー
ドで使用される。尚、アドレッシングとは、データの格
納先のアドレスを指定することをいう。
このアドレッシング・モードではオペランド・データと
して8ビツトのデータのみをフェッチしてそのデータを
実効アドレスのロー(ビット7〜ビツト0)とし、ハイ
(ビット15〜ビツト8)をFPRの内容とするアドレ
ッングモードにおいて有効となるレジスタである。
ただしこのときも、出力されるバンクアドレスは、Ml
、MOのフラグ状態に従う。
このアドレッシング・モードは、オペランドデータを1
バイトのみフェッチするだけなので、同一ページアドレ
ス内(アドレスのビット15〜ビツト8が一定値)の高
速なデータのアクセスが可能となる。
第5図aないし第5図Cは、本CPUの命令形式につい
て示したものであり、このCPUは基本語長は、前述の
ように8ビツトであり、オペコードの前にプリバイトと
呼ばれる命令拡張用の1バイトデータをフェッチする形
式をとる。
基本的にプリバイト・データは、アトレノノング・モー
トに係る情報を有し、オペコードか実行すべき命令の内
容を持っている。
但し、命令の使用頻度が高いものについては、命令コー
ド長と実行時間の短縮を図るため、「形式l」に示すよ
うに、短縮命令と呼ぶプリバイトの無いオペフード内に
アドレッシング及び命令の内容を含んだ命令を用意する
さらに、オペランドデータは2種類の配置形式をもって
いる。第5図すに示す「形式2」は、プリバイトの次に
オペコードを配置し、その後にオペランドデータを配す
る形式であり、「形式3」はプリバイトとオペコードの
開にもオペランドデータを配置する。
特に、形式3のプリバイトとオペコードの間のオペラン
ドデータは、ディスプレースメント付アドレッシングで
使用される。
ここでいうディスプレースメント付アドレッシングとは
、データのアクセスのための実効アドレスの発生時に、
内部レジスタデータにオペランドでフェッチされたデー
タもしくは、オペランドで指定されたレジスタの値をオ
フセットとして加算することで実効アドレスを発生する
アドレッシングのことを示す。
このアドレッシング・モードか使用される際、もし形式
2のようなオペランドデータの配置形式を取れば、ディ
スプレースメントのオペランドデータをフェッチした後
、実効アドレスを計算するために、時間を要し、オペラ
ンドのテイスプレースメント・データのフェッチの後、
複数のアイドルサイクルが存在することになる。
しかし、形式3の配置をこのとき用いて、プリバイトと
オペコードの間にディスフレースメントデータを配置す
れば、実効アドレス発生のための計算をオペコードのフ
ェッチサイクルに重複して行なう事ができ、無駄なアイ
ドルサイクルの発生を防ぐ。
第3図は、ブロックレベルの構成図であり、本CPUは
主に制御部lと演算部2の2つの機能部に大別される。
初めに、制御部lであるかここは、命令の実行を制御す
る機能を持っている。
動作としては、命令の実行に際し、外部からデータハス
(D7〜Do)を介して、DIL15に人力された命令
コードは、プリバイトIR3或いはオペコードlR4の
各インストラクションレジスタに格納され次の命令が発
生するまで保持される。
そして、これらのインストラクションレジスタの複数の
出力5.6と命令シーケンスのタイミングを制御するT
eO2の出力がAND−ORのPLAて構成された命令
デコード回路8,9,10゜11に入力され、命令とタ
イミングに応したデコード結果13を出力する。
さらにそのデコード結果は、EC112というインター
フェース回路を介して、演算部2に対してタイミングを
整えて演算部2を制御すべき複数の制御信号14を発生
する。
但し、本CPUにおいて、PLAの構成は、ANDブレ
ーンをブリバイト用(構成部分8)と、オペコード用(
構成部分10)の2種類もち、ORブレーン9,11を
共有した形をとる。
これは、先の命令形式でも記述した様に、ブリハイド部
は、アドレソンングモートの情報を有し、オペコード部
か命令のオペレーション内容を含むため、PLA上でも
機能的に、分類することでデコードの容易化と冗長性を
排除し、機能別(ブリバイトかオペコード)で最小のP
LA(特に、ANDブレーン)を実現させている。
そして、この2分割されたPLAのANDプレーン8.
10は、インタラブド制御21からの入力信号24によ
り、ANDプレーンの両方を動作状態にするか、一方A
NDプレーン10を非動作状態にせしめることもてきる
。ここで割り込みのシーケンスの制御コードは、全て、
プリノ\イト側のANDブレーン8にコードか割り付け
られており、割り込みの処理時にオペコード側のAND
プレーンlOは非動作状態にある。
演算部2は、上記の制御信号にしたかつて、演算やCP
口外部とのデータのアクセスを行なう。
内部バスとしては、基本的にMB、DB、SBの3種類
8ビツトバスを有し、各機能部とのデータのやりとりを
行なう。
機能としては、上述のプログラミングモデルで示したし
/スジ群や、データや実効アドレスの演算を行なう8ビ
7トALU19や、ンフト演算を行なう8ビツトのシフ
タ20、アドレス生成を主に行なうACU 13がある
ALU19は、MB入力側にIC27をもち、1c27
は、MBババスら入力される信号を、スルーするか、反
転したり、“00″h等の定数データを発生してALU
 19での演算を補助する。
さらにDフラグの機能を実現するための10進補正回路
もALU19は含んでいる。
そして内部バス(MB)のデータのゼロを検出するZD
T17や分岐命令での分岐条件成立の有無をPSRの状
態から検出するBRDT 18もある。
特にアドレス生成を主に行なうACU部に関しては、8
ビy)単位に、機能が分離されそれぞれはキャリーが伝
搬する構成となっていて、最大24ビツトのアドレス演
算を行なう。ここでは、アドレスの演算のみならずデー
タの演算も可能である。
具体的にはACU部は、8ビツト毎にINC/DECと
いう増減機能かあり、A B L、 A B H,SB
という内部バス(各8ビツト)からのデータを“00”
h、“O1″h、“02”hて選択的に増減する。
TNC/DECで演算された結果は、CALLCALH
CALBのラッチに選択的に格納され、AOBL AO
BH,AOBBの7)’レス・z\y7アを介して出力
される。
ここで選択的というのは、演算結果が常にう・ノチされ
るのではなく、アドレス演算時のみラッチして、データ
演算時にはラッチされない場合があることを意味する。
しかし、RLT2 35は、JNC/DECB演算時は
常に結果をラッチするデータラッチである。
ACU部には、割り込み発生時に強制的に割り込みベク
タを発生するVECL、VECH,VECB(ベクタア
ドレス発生回路)や、INC/DECを介さずにDBバ
バスータを直接アドレスとして出力するBSも配置され
ている。
本CPUにおいて、実効アドレスの生成は、特に分岐や
テイスプレースメント付のアドレッシングにおいてAU
とACUの両方を使用して演算しており、C3B、C3
H25,26は、その際に使用される。
つまり、ALUl 9からの演算結果によるキャリーや
ボローをACUの演算に反映させるためのキャリーのセ
レクタとしての機能をC3B、C3H25,26が持っ
ている。
尚、INC/DECからラッチされた演算結果は、SB
、ABH,ABLのバスを介してPC,DBR,TR,
ADH,ADLのレジスタデータを選択的に更新する。
その他の機能としては、CPUのクロ・ツクの制御をつ
かさどる、クロック発生器22や、周辺システムにCP
Uの動作状態を知らせる複数の信号を発生するシステム
制御23かある。
さらに、インストラクション・プリデコード33は、命
令コードのプリデコードを行い短縮命令の識別や、プリ
バイト付でオペコードと不当な組合せ(以下不当命令と
称す)の選別なとを行なう。
以下に、本CPUの演算部2の各機能部について説明を
行なう。
○ 汎用レジスタ 演算、転送時にデータを提供したり、演算、転送後の結
果を格納する第3図及び第4図に示す汎用レジスタ群で
ある。
WO,Wlについては、8ビツトずつに分ケてRO,R
2,Rl、R3の8ビツトレジスタとしても命令で区別
して使用することができるので、本CPUでは16ビツ
トのみならず、8ビ・ノドのデータを扱うことができる
W2.W3は、データアクセスの際のポインタとしてア
ドレッシングモードで指定すれば使用することもできる
汎用レジスタ群の各レジスタは、ラッチ(セ・ノド、リ
セットなし)で構成され、内部バスに対し、以下の接続
関係を有する。
基本的に、MBババスらツカされデータをランチし、D
B或いはMBのハスにラッチされたデータを出力する。
R2レジスタのみ、除算命令を実行する際のため、入力
にDBババス選択可能とする。
RO(WOL)→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は、前述のファースト・タイレフト・
アドレッシングと呼ぶアトレノンングモードで使用され
る。
FPRは、ランチ(セット、リセットなし)で構成され
、内部バスに対し、以下の接続関係を有する。
基本的に、MBババスら入力されデータをう、ノチし、
DBのハスにラッチされたデータを、出力する。
FPR→MBから入力、  DBへ出力○ IC(AL
tJに関する入力制御)第3図に示したI C27(8
ビツト)は、MBババスらALU 19に入力されるデ
ータを制御する。
機能的には、以下の機能を有する。
1、 MBババスータ   →ALUに入力2、 MB
ババスータの反転→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ビツトの入力により演算を実施す
る。
機能的には、AND(論理積)、OR(論理和)、EX
OR(排他的論理和)、SUM(加算)がある。
また、PSR中のDフラグの設定により(D=1ならば
)、加算及び減算を同一演算サイクル内で10進補正す
る回路も含む。
さらに、SUMの結果、キャリー・ボロー発生、オーバ
ーフローが発生の検出及びキャリー・ホロ、オーバーフ
ローをラッチする機能も具備する。
特に、キャリー結果は、ALU 19が次のSOMを実
行するまで保持されるものとする。(AND、OR,E
XORでは変化しない) ○ ALUシック(演算論理素子シフタ)第3図に示し
た、ALUンフタ28は、8ビツトテータの1ビノトン
フトライトを実施するシフトレジスタで、主に乗算命令
で使用される。
この/フトレジスタに入力されるデータは、ALU19
のS[JM(加算)の結果であり、最上位ピットには、
そのSUMの結果で発生したキャリーか入力され、ソフ
トの結果最下位より送出される1ビツトデータは、AL
U 19のキャリーとして最終的に保持される。
○ RLT(ALU  結果ラッチ) 第3図に示した、RLT29は、ALUI9の演算結果
を保持する8ビツトランチである。内部バスに対しては
以下の接続関係を有する。
RLT  −+ DBあるいはMBへ出力ただし、RL
T29のデータは、次のALU演算が実行されるまで内
容は更新されない。
○ シフタ 第3図に示した、シフタ20はフリップ・70ツブで構
成され、データの1ビツトシフトレフト。
ソフトライト、/−シフトのいずれかを制御信号により
選択的に実施する。
内部バスに対しては以下の接続関係を有する。
/フタ=MBから入力、  MBへ出力○ ZDT(上
口検出回路) 第3図に示したZDT17は、kIBバスの状態をモニ
タし、MBババス全ビット“00°”hならば、“00
″hの検出をしたことを示す信号を発生する上口検出回
路である。
特に、この信号はPSRレジスタ30中のZフラグに作
用し、ALU19等の演算結果かRLT29より、MB
ババス出力される時、結果の“OO″hを検出してZフ
ラグをl”にセットする動作を促すために用いられる。
○ PSR(7’ロセツサ・スティタス・レジスタ)第
3図に示した、PSR30は、ラッチで構成され内部バ
スに対しては以下の接続関係を有する。
PSR→MBから入力、   DBへ出力機能としては
、概要でも記述した様にPSRレジスタ30は現在のC
PUの動作状態を示す。
○ BRDT(分岐検出回路) 第3図に示した、BRDT18は、PSR30に接続さ
れており、分岐命令が発生した場合、PSR30の内容
から分岐するか否かを判断する信号を発生する。
○ AOBB、AOBH,AOBL(アドレス・出力バ
ッファ) 第3図ACU部16に示した、AOBB、AOBHAO
BLはアドレス出力用のバッファであり、各8ビツトで
計24ビット(BA、7〜BAOAI5〜AO)のアド
レスを出力する。
アドレス出力は、BEのローてハイ・インピータンス状
態になる。
○ VECB、VECH,VECL(ヘクタアドレス発
生器) 第3図ACU部16に示した、VECB、VEC−H,
VECLは割り込み処理において、ヘクタアドレス(2
4ビツト)を発生する。
○ CALB、CALH,CALL(アドレス計算う・
ソチ) 第3図ACU部16に示した、CA、LB、CALH,
CALLはI NC/DEC:B:H:Lの演算の結果
を選択的に格納するう・ノチであり、アドレス演算時の
みラッチされる。
○ RLT2(結果ラッチ2) 第3図ACU部16に示した、RLT2はINC/DE
C:Bの演算の結果を常に格納するラッチである。
○ INC/DEC:B:H:L(インクリメント/デ
クリメント・ユニット) 第3図ACU@16に示したINC/DEC:B:H:
Lはデータの増減を行なう。
各機能部は、8ビット単位で構成され、演算結果で発生
したキャリーは、それぞれの上位アドレス増減部(IN
C/DEC:LならINC/DEC:Hへ、I NC/
DEC:HならINC/DEC:Bへ)ニ伝搬すれ、結
局24ビツトのアドレス生成を実現することになる。
但し、このI NC/D E C:B :H:Lにデー
タ(各8ビツト)は、SB、ABH,ABLのデータバ
ス(各8ビツト)を介して入力される。
各INC/DEC:B:H:Lは、このデータについて
基本的に次の動作を選択的に行なう。
1 現状データの保持 2、”01″hのインクリメントあるいはデクリメント
3、“02″hのインクリメントあるいはデクリメント
○ BS(バス セレクト) 第3図ACU部16に示した、BSは実効アドレスを発
生する際、CPU外部から入力されたデータ(8ビツト
)をINC/DEC:Lを介することなく、DBババス
ら、直接AOBLに入力するためのデータの選択の機能
を有する。
前記のファースト・ダイレクト・アドレッシングのよう
な場合、実効アドレスのためのオペランドデータ(8ビ
ツト)をフェッチするサイクルの次に、すぐに実効アド
レスを出力しなければならないが、この場合、INC/
DEC:Lを介すれば遅延が生じる。
そこでこのBSを用いて、オペランドデータ(DIL)
をDBババス乗せ、BSで選択することにより、高速に
AOBLを書き換えることができる。
0  CSB、C3H(キャリーセレクタ)第3図AC
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で発生されたキャリーにするかを選択する
機能を有する。
従って、このCPUでは実効アドレス発生の際のディス
プレースメントデータの加算や、プログラム相対アドレ
スで分岐の際にアドレスの計算を行なうことは、ALU
I9とAC1J16を共用して行なう。
例、t If、24ビ・y )データに8ビツトのディ
スプレースメントを加算して、実効アドレスを発生する
アドレッシングの場合、24ビツトデータ中のビット7
〜ビツトOとディスプレースメントデータ(8ビツト)
の加算をALU 19で行ない、24ビ、トの残り(ビ
ット23〜ビツト16)をACU部16で演算する。
ALUI9で加算の結果キャリーが発生した場合、この
キャリーは、C5H25を介して、ACOHに入力され
、ACU16はこの桁上がりを含めて演算ができる。
一方、通常のプログラムカウンタのインクリメント動作
の場合には、ACU16のみを用いて、ALUI 9は
別のオペシー/タンのための演算を行なうことかできる
この時ALU19のキャリーは無視されACUL16か
ら発生したキャリーがC3H25を介してACUHに入
力される。
○ PBC,PCH,PCL(プログラム・カウンタ) 24ビツトのプログラム・カウンタ・レジスタである。
このレジスタのインクリメントは、INC/DEC:B
:H:Lを用いて行なう。
内部バスに対しては以下の接続関係を有する。
PBD→SBから入力、 DBあるいはSBへ出力PC
H→^BHから入力、 MBあるいはABHへ出力PC
L−+ABLから入力、 DBあるいはABLへ出力○
 TR,ADH,ADL(テンポラリ・レジスタ)各8
ビツトのテンポラリ・データラッチである。
CPU外部からは見えない。演算結果を一時的に格納す
る。
TR−DBあるいはSBから入力、 SBへ出力ADH
−MBあるいはABI(から入力、 ABHへ出力^D
L  −DBあるいはABLから入力、 ABLへ出力
○ SPH,5PL(スタック・ポインタ・レジスタ) 16ビツトのスタック・ポインタ・レジスタである。
内部バスに対しては以下の接続関係を有する。
SPH→MBから人力 、 MBあるいはDBへ出力S
PL  4MBから入力 、 DBへ出力○ DBR(
データ・バンク・レジスタ)8ビツトのバンク・レジス
タである。基本的にデータアクセスの際のバンクアドレ
スは、このレジスタ値が出力される。但し、PSR中に
モード・フラグ(Ml、MO)の状態により、バンクア
ドレス値は変動する。
また、DBRは、SBババス介して入力されており、D
BR値の増減にも任意に対応できる。
内部バスに対しては以下の接続関係を有する。
DBR−+NaあるいはSBから入力、 DBあるいは
SBへ出力 ○ DIL(データ入力ラッチ) 8ビツトのラッチである。外部データは、このラッチに
入力される。
DIL15は、制御部1に対しては命令コードを供給し
、演算部2には、内部バス(DB、MBSB)に対しデ
ータを供給する。
CPU内部に対しては以下の接続関係を有する。
DIL−+D7〜DOから入力、  DB、MB、SB
あるいは制御部へ出力 ODOL(データ出力ラッチ) 8ビツトのラッチである。外部に出力されるデータは、
このラッチに入力される。
CPU内部に対しては以下の接続関係を有する。
DIL−+DBあるいはMBから入力、 D7〜DOへ
出力以下に、本CPUの制御部1の各機能部について説
明を行なう。
○ インストラクション・ブレ・デコーダ基本的に次の
3つの機能部を有する。
1、PLAでのデコードではタイミング的に間に合わな
い場合、プレデコーダで予めデコードして制御信号を発
生する。
[1サイクル命令の検出、外部制御信号の発生制御、T
CU7の制御等コ 2、PLAコードの最小化のためデコードを補助する。
[短縮命令の検出、命令で扱うデータサイズの検出等コ 3、不当命令、ソフトウェアインターラブド命令の検出
○ クロック発生器 CPU内部用のクロックの発生。あるいは、外部システ
ム用システム・クロックを発生する。
WAIT−−−プロセッサ停止入力 LSP  −m−バスサイクル変更用人力CLK  −
−CPUクロック入力 Sl、S2−〜−/ステム・クロック出力○ /ステム
制御 CPUの動作状態を知らせるための複数の信号を発生す
る。
BSVT−−−プロセッサ動作状態出力(ベクタアドレ
ス出力中を示す) BSDΔ−一一プロセッサ動作状帖出力(データアクセ
スを示す) BSP八−m−プロセッサ動作状態出力(プログラムア
クセスを示す) BSOF−−−プログラム動作状態出力(命令フェッチ
を示す) BSML−一一プロセノサ動作状態出力(メモリロック
状態を示す) RWB、RB、WB−−−リードライト状態出力BE−
−−バスイネーブル入力 ○ インタラブド制御 CPUの割り込みを制御する。
RES   −−−リセット割り込み入力NM+   
−−−ノンマスカブル割り込み人力rR○  −一一割
り込み入力 l5EO〜3−一一割り込み(IR○)選択入力WAK
E  −−−プロセッサ停止命令の解除入力 ○ TCU(タイミング制御ユニット)命令実行の動作
シーケンスを制御する。
○ ECI(イクスキュージョン制御インタフェース) PLAの命令デコード結果を受は演算部2にタイミング
を整えた制御信号を発生する機能を有す。
○ オペコードIR(バッファ)。
プリバイトIR(インストラクション・レジスタ) 命令を格納するインストラクションレジスタ。
○ ブリバイト ANDブレーン、オペフードANDブ
レーン、ORブレーン AND−ORで構成された命令デコード用PL以上概説
したようなCPUにおいて、分岐時にプログラムアドレ
スを計算する構成部分のみを第3図より抜出し第1図に
示す。尚、第1図に示す構成部分の内、第3図に示す構
成部分に相当するものについては同し符号を付している
第1図において、PCL54.PCH55,PBC56
は、上述したようにプログラムアドレスを発生するため
のそれぞれが8ビツトからなるプログラムカウンタであ
り、それぞれローパート、ハイパート、バンクパートを
示している。これら3つのプログラムカウンタにて合計
24ビツトからなるプログラムアドレスを形成する。尚
、PCL54、PCH55,PBC56は第3図に示す
それらのものに対応している。
PCL54は、バスを介してALUl9及びA増減器5
1に接続される。A増減器51は、第3図に示すINC
/DEC:L51に対応するもので、分岐時以外の通常
時にPCL54より供給される8ビツトからなるデータ
に1を加算し順次プログラムアドレスを進行させるため
に使用される。又、A増減器51は、バスを介して第3
図に示すC882、5に対応するキャリー選択六回路2
5に接続され、A増減器51にて計算した結果桁上げ(
以下キャリーと記す)か発生した場合にはその旨の信号
をキャリー選択六回路25へ送出する。又、キャリー選
択六回路25はバスを介してB増減器52へ接続される
PCH55は、バスを介してALUl9及びB増減器5
2に接続される。B増減器52は、第3図に示すINC
/DEC:H52に対応するもので、PCH55より供
給される8ビツトからなるデータに1を加算する回路で
ある。又、B増減器52は、バスを介して第3図に示す
C3H26に対応するキャリー選択8回路26に接続さ
れ、B増減器52にて計算した結果キャリーが発生した
場合にはその旨の信号をキャリー選択8回路26へ送出
する。又、キャリー選択8回路26は後述するC増減器
53へ接続される。
面、A増減器51、B増減器52、C増減器53は、本
実施例では1を加える動作を行うが、これに限るもので
はなく0を念みプラスあるいはマイナスの整数の増減を
行うことかできる。
一方ALU19は、分岐時に、第3図に示すDTLI5
及びバスを介して供給される8ビツトからなるディスプ
レースメントデータと、PCL54、PCH55よりハ
スを介して供給されるデータとを加算する回路であり、
その出力側はキャリー選択六回路25及びキャリー選択
8回路26に接続される。よってALUl 9は、上記
の計算によりキャリーが発生すればその旨の信号をキャ
リー選択六回路25及びキャリー選択8回路26へ送出
する。
PBC56は、バスを介してC増減器53に接続される
。C増減器53は、第3図に示すINC/DEC:B5
3に対応するものである。
このように構成されるCPUの動作を以下に説明する。
分岐時にプログラムアドレスを計算する必要があるのは
リラティブ・アドレッシングとロング・リラティブ・ア
ドレノ/フグであり、これら二つのアドレッシングにお
ける本CPUのアドレスの発生方法を第2図a、bに示
している。即ち、第2図aに示すように、リラティブ・
アドレッシングでは、PCL54.PCH55,PBC
56のそれぞれのプログラムカウンタレジスタより送出
される合計24ビツトのデータに、オペランドデータと
してプログラムから読んだ8ビツトのディスプレースメ
ントデータを符号拡張して24ビツトとしたデータとを
加え、得られる結果を分岐時のプログラムアドレスとす
る。一方ロング・リラティブ・アドレッシングでは第2
図すに示すように、プログラムカウンタレジスタの24
ビツトのデータに、オペランドデータとしてプログラム
から読んだ16ビツトのディスプレースメントデータを
符号拡張して24ビツトとしたデータとを加え、得られ
る結果を分岐時のプログラムアドレスとする。
まずリラティブ・アドレッシングにて分岐時のプログラ
ムアドレスを計算する方法を説明する。
プログラムから読み出され、第3図に示すDIL15に
供給される8ビツトのディスプレースメントデータは、
MB(内部バス)、IC27を介してALUl9に送出
される。又、ALUl9には、PCL54.PCH55
,PBC56のプログラムカウンタレジスタのうちPC
L54に格納されているデータがDBを介して供給され
る。又、ALUl9にPCL54よりデータが供給され
るのと同時に、PCH55に格納されているデータはバ
スを介してB増減器52へ送出され、PBC56に格納
されているデータはバスを介してC増減器53へ送出さ
れる。
ディスプレースメントデータ及びPCL54のデータが
供給されたALUl9は、分岐時のプログラムアドレス
を生成するためこれらのデータの加算を行う。
この加算の結果にてキャリーの発生がない場合には、加
算された加算結果データは、ALU19ヨリハス、AD
L60、AOBL61等を介してA7−AOの8ビツト
のデータとして外部へ送出する。又、この場合には、B
増減器52に供給されたPCH55の格納データはその
ままAOBH62よりA15−A8の8ビツトのデータ
として外部へ送出され、C増減器53に供給されたPB
C56の格納データはそのままAOBB63よりBA7
−BAQの8ビツトのデータとして外部へ送出される。
このようにして24ビ、トからなる分岐先のプログラム
アドレスが形成される。
一方、ALUl9における加算演算にてキャリーが発生
した場合、ALUl 9よりその旨の信号がキャリー選
択A回路25及びキャリー選択3回路26に送出され、
この場合にはキャリー選択8回路26は後述するように
B増減器52が送出するキャリー信号を選択し、キャリ
ー選択へ回路25のみからキャリー信号がB増減器52
に送出される。尚、ALUl9における演算結果データ
は上述したようにAOBL61より外部へ送出される。
上述したようにB増減器52にはPCH55の格納デー
タが供給されており、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における加算演算の結果である加算結果デー
タは、ALUl9よりバス、ADL60等を介してA増
減器51へ送出され、A増減器51よりAOBL61を
介して外部へ送出される。
このときにALUl9にてキャリーが発生しないときに
はALUl9は特に信号を送出しないが、キャリーが発
生した場合にはALUl9はキャリー発生有の旨の信号
をキャリー選択A回路25のみに送出する。よって、こ
の場合にはキャリー選択A回路25よりキャリー信号が
B増減器52に供給され、B増減器52はこのキャリー
信号とPCH55の格納データとの加算を行う。その結
果データは、PCH55、バス等を介してALUl9へ
送出される。尚、B増減器52における加算演算にてキ
ャリーが発生した場合には、そのキャリー信号はキャリ
ー選択8回路26を介してC増減器53へ供給される。
ALUl 9は、このPCH55より供給された結果デ
ータと上記の動作にて供給されたディスプレースメント
データの内上位8ビットとの加算演算を行い、その加算
結果データを外部へ送出する。
このときキャリーの発生がない場合にはALU 19は
信号を送出することはないが、キャリーが発生した場合
には、ALUl9はその旨の信号をキャリー選択8回路
26のみに送出する。そしてキャリー選択8回路26よ
りキャリー信号かC増減器53へ送出される。
C増減器53には、上述したようにPBC56の格納デ
ータが供給されているので、C増減器53は、キャリー
選択8回路26及び/又はB増減器52より供給される
キャリー信号とPBC56の格納データとの加算演算を
行い、加算結果データをAOBB63より外部へ送出す
る。
このようにしてA増減器51、ALUl 9、及びC増
減器53より送出されるデータにて分岐時における分岐
先のプログラムアドレスが生成される。
このようにALUにて演算処理するデータのビット数が
プログラムアドレスを構成するビット数より小さいため
プログラムアドレスをALUの処理ビット数に適合する
ように例えば上記実施例のようにPCL、PC,H,P
BCに分割して演算処理する場合、従来のようにPCL
の格納データとディスプレースメントデータとの加算を
行い、キャリーが発生すればそのキャリー信号とPCH
の格納データとの加算を行い、さらにキャリーが発生す
ればそのキャリー信号とPBCの格納データとの加算を
行うというように、1ステツプずつ行うのではなく、P
CLの格納データがディスプレースメントデータと加算
する際にはPCH及びPBCの格納データはすでに増減
器に供給され、PCLにおける加算演算にてキャリーが
発生すれば直ちに増減器に供給され、供給されたキャリ
ー信号との加算演算にてキャリーが発生すれば直ちに上
位の増減器にキャリー信号が供給され加算演算が行なわ
れるので、従来のようにプログラムアドレスを得るため
に3ステツプを要せず1ステツプにて分岐時のプログラ
ムアドレスの計算が実行でき、処理サイクルが多くなる
ことはない。又、ALUは−っであるので、ハードウェ
アが大きくなるという問題もない。
[発明の効果コ 以上詳述したように本発明によれば、ALUが処理する
データのビット数をプログラムアドレスノヒノト数より
小さくしたことより、ハードウェアが大きくなることは
ない。
さらに、ALUにおける演算結果にて桁上げ信号が発生
した場合には、分割されたプログラムアドレスが格納さ
れる増減器に桁上げ信号が選択部を介して供給され、さ
らに増減器における加算演算にて桁上げ信号が発生した
場合には桁上げ信号か選択部を介して上位の増減器へ送
出されるようにしたことより、分岐時におけるプログラ
ムアドレスの生成に要する処理サイクルが増加すること
もない。
【図面の簡単な説明】
第1図は本発明のCPUの内、プログラムアドレスの計
算に関する構成部分を示したブロック図、第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. (1)プログラムアドレスデータを構成するビット数よ
    り小さい数のビット数にてなるデータを処理するALU
    と、 プログラムアドレスのビット数が複数に分割されたビッ
    ト数であり上記ALUが処理するデータのビット数と同
    じビット数にてなる分割プログラムアドレスデータに、
    選択された定数を増減可能な複数の増減器と、 上記ALUにおける演算にて発生した桁上げ信号と下位
    の上記増減器が送出する桁上げ信号とを選択し、選択し
    た桁上げ信号を上位の上記増減器に送出する選択部と、 プログラムアドレスを保持している少なくとも一つのレ
    ジスタと、を備えたことを特徴とする中央演算処理装置
JP2124657A 1990-05-15 1990-05-15 中央演算処理装置 Expired - Lifetime JP2922979B2 (ja)

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)

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