JPH03152624A - 中央演算処理装置 - Google Patents

中央演算処理装置

Info

Publication number
JPH03152624A
JPH03152624A JP1291799A JP29179989A JPH03152624A JP H03152624 A JPH03152624 A JP H03152624A JP 1291799 A JP1291799 A JP 1291799A JP 29179989 A JP29179989 A JP 29179989A JP H03152624 A JPH03152624 A JP H03152624A
Authority
JP
Japan
Prior art keywords
data
address
register
bits
alu
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.)
Pending
Application number
JP1291799A
Other languages
English (en)
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 JP1291799A priority Critical patent/JPH03152624A/ja
Publication of JPH03152624A publication Critical patent/JPH03152624A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
[産業上の利用分野] 本発明は、中央演算処理装置に関する。 [従来の技術とその課題] 中央演算処理装置においてデータの演算処理を実行する
際に必要なアドレス信号を発生する方法として、データ
演算用のALUとは独立して設けられるフルアダーにて
構成されアドレス信号のみを発生するアドレス計算ユニ
ットを設ける方法と、データの演算とアドレス信号の発
生との両方をともに行う一つのALUを設ける方法とが
ある。 前者のアドレス計算ユニットを設ける方法においては、
ALUとアドレス計算ユニットとを別々に設けなければ
ならず、ハードウェアが大きくなるという問題点がある
。一方、後者の一つのALUを設ける方法においては、
データ演算とアドレス計算とを行うためそれぞれの演算
を別々に行うことができず並列性がなくなり、演算に要
する処理サイクルが多くなるという問題点がある。 本発明はこのような問題点を解決するためになされたも
ので、ハードウェアが大きくならず、かつ演算の並列性
を損なわない中央演算処理装置を提供することを目的と
する。 [課題を解決するための手段1 本発明は、アドレスのビット数を複数に分割したビット
数を処理し、供給される複数の定数のいずれか一つを被
増加数に加算しアドレスデータを作成する複数の増加器
と、 少なくとも一つのレジスタと、 上記レジスタが送出する、アドレスのビット数より少な
いビット数からなるデータに基づき演算を行う一つのA
LUと、 上記ALUの演算結果で桁上げ信号が発生した場合には
この桁上げ信号を上記増加器に送出するキャリー信号選
択手段と、を備えたことを特徴とする。 [作用] キャリー信号選択手段は、ALUにおける演算処理にて
キャリー信号が発生した場合にはこのキャリー信号を増
加器に送出し、増加器は被加算数にキャリーデータを加
算しアドレスデータを発生する。このようにALUと増
加器とによりアドレスデータを発生することは、ALU
単体でアドレスデータを発生する場合に比べ並列性を失
わず処理サイクルを短くするように作用し、又、アドレ
スデータ計算用のALUを有する必要がないことよりハ
ードウェアが小さくなるように作用している。 [実施例] まず、本発明の中央演算処理装置における一実施例にお
ける構成の概略を第3図ないし第5図a。 b、cを参照し以下に説明する。 第4図は、プログラミングモデルであり、本中央演算剋
理装置(以下CPUと称す)の基本語長は8ビツトであ
る。 アドレス空間は、プログラムをアクセスする際、プログ
ラムカウンタ(以下PCと記す)は24ピツ)(PBC
,PCH,PCL)を有しており、リニアアドレスで1
6Mバイトをアクセス可能としている。尚、PBCとは
プログラム・バンク・カウンタレジスタ(以下PBCと
記す)、PCHとはプログラム・カウンタレジスタH(
以下PCHと記す)、PCLとはプログラム・カウンタ
レジスタしく以下PCLと記す)である。 一方、データをアクセスする時は、バンク方式を用いて
おり、バンクアドレスとしては、基本的にデータバンク
レジスタ(以下DBRと記す(8ビツト))が出力され
、従って、64にバイトリニアで256バンクを用いて
、16Mバイトのアクセスを可能にしている。 尚、バンクアドレスとしてのDBHの出力については後
述のMl、MO7ラグにて説明する。 また、複数の汎用レジスタ(WO〜W3:16ビツト)
があり、特に、WO,Wlの両レジスタは8ビツトごと
に分別され、8ビットレジスタRO,R1゜R2,R3
として使用することもできる。 故に、本CPUでは、演算のデータサイズとして8ビツ
ト、16ビツトの両方のサイズのデータを命令により区
別して扱うことが可能である。 さらに、スタック空間としては、スタックポインタレジ
スタ(以下SPと記す)として16ビツトレジスタを用
意しており、リニアに64にバイトのアクセスをおこな
う。ただし、バンクアドレスは、“00”hに固定され
ている。 そして、プログラムスティタスレジスタ(以下PSRと
記す)は現在のCPUの動作状態を示しており、具体的
には、N、V、Z、Cの各フラグは、演算の結果により
変化し、■フラグは、割り込み要求の受付けの可否を示
し、Dフラグは、加減算命令の結果の補正に関し、D=
1ならば、加減算命令の実行結果は自動的にlO進補正
される。 Ml、MOフラグは、データ空間をアクセスする際、出
力されるバンクアドレスの選択を可能にするフラグであ
る。従って、Ml、MOフラグを任意の値に設定(この
CPUでは命令で更新する)する事により、データアク
セスの際に、出力されるバンクアドレスをDBR値、“
oo”h等の定数の何れかを選択して出力し様々なメモ
リのアプリケージタンに対応させる。 ファーストベージレジスタ(以下FPRと記す)はデー
タアクセス時のアドレス・ポインタとなるレジスタで、
ファースト・ダイレクトと呼ぶアドレッシング・モード
で使用される。尚、アドレッシングとは、データの格納
先のアドレスを指定することをいう。 このアドレッシング・モードではオペランド・データと
して8ビツトのデータのみを7エツチしてそのデータを
実効アドレスのロー(ビット7〜ビツト0)とし、ハイ
(ビット15〜ビツト8)をFPRの内容とするアドレ
ッシングモードにおいて有効となるレジスタである。 ただしこのときも、出力されるバンクアドレスは、Ml
、MOのフラグ状態に従う。 このアドレッシング・モードは、オペランドデータを1
バイトのみフェッチするだけなので、同一ページアドレ
ス内(アドレスのビット15〜ビツト8が一定値)の高
速なデータのアクセスが可能となる。 第5図aないし第5図Cは、本CPUの命令形式につい
て示したものであり、このCPUは基本語長は、前述の
ように8ビツトであり、オペコードの前にプリバイトと
呼ばれる命令拡張用の1バイトデータをフェッチする形
式をとる。 基本的にプリバイト・データは、アドレッシング・モー
ドに係る情報を有し、オペコードが実行すべき命令の内
容を持っている。 但し、命令の使用頻度が高いものについては、命令コー
ド長と実行時間の短縮を図るため、「形式1」に示すよ
うに、短縮命令と呼ぶプリバイトの無いオペコード内に
アドレッシング及び命令の内容を含んだ命令を用意する
。 さらに、オペランドデータは2種類の配置形式をもって
いる。第5図すに示す「形式2」は、プリバイトの次に
オペコードを配置し、その後にオペランドデータを配す
る形式であり、「形式3」はプリバイトとオペコードの
間にもオペランドデータを配置する。 特に、形式3のプリバイトとオペコードの間のオペラン
ドデータは、ディスプレースメント付アドレッシングで
使用される。 ここでいうディスプレースメント付アドレッシングとは
、データのアクセスのための実効アドレスの発生時に、
内部レジスタデータにオペランドでフェッチされたデー
タもしくは、オペランドで指定されたレジスタの値をオ
フセットとして加算することで実効アドレスを発生する
アドレッシングのことを示す。 このアドレッシング・モードが使用される際、もし形式
2のようなオペランドデータの配置形式を取れば、ディ
スプレースメントのオペランドデータをフェッチした後
、実効アドレスを計算するために、時間を要し、オペラ
ンドのディスプレースメント・データの7エツチの後、
複数のアイドルサイクルが存在することになる。 しかし、形式3の配置をこのとき用いて、プリバイトと
オペコードの間にディスプレースメントデータを配置す
れば、実効アドレス発生のための計算ヲオペコードの7
エツチサイクルに重複して行なう事ができ、無駄なアイ
ドルサイクルの発生を防ぐ。 第3図は、ブロックレベルの構成図であり、零〇PUは
主に制御部lと演算部2の2つの機能部に大別される。 初めに、制御部lであるがここは、命令の実行を制御す
る機能を持っている。 動作としては、命令の実行に際し、外部からデータバス
(D7〜Do)を介して、DIL15に入力された命令
コードは、プリバイトIR3或いはオペコードIR4の
各インストラクションレジスタに格納され次の命令が発
生するまで保持される。 そして、これらのインストラクションレジスタの複数の
出力5.6と命令シーケンスのタイミングを制御するT
CU7の出力が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.
lOは、インタラブド制御2Iからの入力信号24によ
り、ANDブレーンの両方を動作状態にするか、一方A
NDブレーン10を非動作状態にせしめることもできる
。ここで割り込みのシーケンスの制御コードは、全て、
プリバイト側のANDプレーン8にコードが割り付けら
れており、割り込みの旭理時にオペコード側のANDプ
レーンlOは非動作状態にある。 演算部2は、上記の制御信号にしたがって、演算やCP
U外部とのデータのアクセスを行なう。 内部バスとしては、基本的にMB、DB、SBの3種類
8ピツトパスを有し、各機能部とのデータのやりとりを
行なう。 機能としては、上述のプログラミングモデルで示したレ
ジスタ群や、データや実効アドレスの演算を行なう8ピ
ントALUl 9や、シフト演算を行なう8ビツトのシ
ック20、アドレス生成を主に行なうACUl 3があ
る。 ALUl 9は、MB入力側にIC27をもち、IC2
7は、MBババスら入力される信号を、スルーするか、
反転したり、”oo”h等の定数データを発生してAL
Ul 9での演算を補助する。 さらにDフラグの機能を実現するための10進補正回路
もALUl9は含んでいる。 そして内部バス(MB)のデータのゼロを検出するZD
T17や分岐命令での分岐条件成立の有無をPSRの状
態から検出するBRDT18もある。 特にアドレス生成を主に行なうACU部に関しては、8
ビット単位に、機能が分離されそれぞれはキャリーが伝
搬する構成となっていて、最大24ビツトのアドレス演
算を行なう。ここでは、アドレスの演算のみならずデー
タの演算も可能である。 具体的にはACU部は、8ビツト毎にINC/DECと
いう増減機能があり、ABL、ABH,SBという内部
バス(各8ビツト)からのデータを“oo”h、“O1
″h、“02”hで選択的に増減する。 INC/DECで演算された結果は、CALL。 CALH,CALBのラッチに選択的に格納され、AO
BL、AOBH,AOBBのアドレス・バッファを介し
て出力される。 ここで選択的というのは、演算結果が常にラッチされる
のではなく、アドレス演算時のみラッチして、データ演
算時にはラッチされない場合があることを意味する。 しかし、RLT2 35は、INC/DEC:B演算時
は常に結果をラッチするデータラッチである。 ACU部には、割り込み発生時に強制的に割り込みベク
タを発生するVECL、VECH,VECB(ベクタア
ドレス発生回路)や、INC/DECを介さずにDBバ
バスータを直接アドレスとして出力するBSも配置され
ている。 零CPUにおいて、実効アドレスの生成は、特に分岐や
ディスプレースメント付のアドレッシングにおいてAU
とACUの両方を使用して演算しており、C3B、C3
H25,26は、その際に使用される。 つまり、ALUl9からの演算結果によるキャリーやポ
ローをACUの演算に反映させるた怜のキャリーのセレ
クタとしての機能をC5B、C3H25,26が持って
いる。 尚、INC/DECからラッチされた演算結果は、SB
、ABH,ABLのバスを介してPC,DBR,TR,
ADH,ADLのレジスタデータを選択的に更新する。 その他の機能としては、CPUのクロックの制御をつか
さどる、クロック発生器22や、周辺システムにCPU
の動作状態を知らせる複数の信号を発生するシステム制
御23がある。 さらに、インストラクション・プレデコーダ33は、命
令コードのプリデコードを行い短縮命令の識別や、プリ
バイト付でオペコードと不当な組合せ(以下不当命令と
称す)の選別などを行なう。 以下に、本CPUの演算部2の各機能部について説明を
行なう。 ○ 汎用レジスタ 演算、転送時にデータを提供したり、演算、転送後の結
果を格納する第3図及び第4図に示す汎用レジスタ群で
ある。 wo、wiについては、8ビツトずつに分けてRO,R
2,R1,R3の8ビツトレジスタとしても命令で区別
して使用することができるので、本CPUでは16ビツ
トのみならず、8ビツトのブタを扱うことができる。 W2.W3は、データアクセスの際のポインタとしてア
ドレッシングモードで指定すれば使用することもできる
。 汎用レジスタ群の各レジスタは、ラッチ(セット、リセ
ットなし)で構成され、内部バスに対し、以下の接続関
係を有する。 基本的に、MBババスら入力されデータをう・ノチし、
DB或いは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   →MBから入力、 
   DBあるいはMBへ出力W2H−MBから入力、
    DBあるいは&JBへ出力W3L   −MB
から入力、    DBあるいはMBへ出力W3H−M
Bから入力、    DBあるいはMBへ出力○ FP
R(ファーストベージレジスタ)第3図及び第4図に示
したFPRは、前述のファースト・ダイレクト・アドレ
ッシングと呼ぶアドレッシングモードで使用される。 FPRは、ラッチ(セット、リセットなし)で構成され
、内部バスに対し、以下の接続関係を有する。 基本的に、MBババスら入力されデータをラッチし、D
Bのバスにラッチされたデータを、出力する。 FPR−4MBから入力、  DBへ出力Orc(AL
Uに関する入力制御) 第3図に示したIC27(8ビツト)は、MBババスら
ALUl 9に入力されるデータを制御する。 機能的には、以下の機能を有する。 1、 MBババスータ   →ALUに入力2、 MB
ババスータの反転−ALUに入力3、“00”hの定数
   →ALUに入力(MBババスータは無視する。) 4、“Ol”hの定数   →ALUに入力(MBババ
スータは無視する。) 5、“02″hの定数   →ALUに入力(MBババ
スータは無視する。) 6、“03”hの定数   →ALUに入力(MBババ
スータは無視する。) OALU(演算論理素子) 第3図に示したALUl 9(8ビツト)は、DBババ
スータとICからの各8ビツトの入力により演算を実施
する。 機能的には、AND(論理積)、OR(論理和)、EX
OR(排他的論理和)、SUM(加算)がある。 また、PSR中のDフラグの設定により(D−1ならば
)、加算及び減算を同一演算サイクル内でlO進補正す
る回路も含む。 さらに、SUMの結果、キャリー・ボロー発生、オーバ
ーフローが発生の検出及びキャリー・ボロ、オーバーフ
ローをラッチする機能も具備する。 特に、キャリー結果は、ALUl9が次のSUMを実行
するまで保持されるものとする。(AND、OR,EX
ORでは変化しない) Q  ALUシ7り(演算論理素子シ7り)第3図に示
した、ALUシフタ28は、8ビツトデータの1ビツト
シフトライトを実施するシフトレジスタで、主に乗算命
令で使用される。 このシフトレジスタに入力されるデータは、ALUl9
のSUM(加算)の結果であり、最上位ビットには、そ
のSUMの結果で発生したキャリーが入力され、シフト
の結果最下位より送出される1ビツトデータは、ALU
19のキャリーとして最終的に保持される。 ○ RLT(ALU  結果ラッチ) 第3図に示した、RLT29は、ALU19の演算結果
を保持する8ビツトラツチである。内部バスに対しては
以下の接続関係を有する。 RLT  → DBあるいはMBへ出力ただし、RLT
29のデータは、次のALIJ演算が実行されるまで内
容は更新されない。 0 シ7り 第3図に示した、シフタ20は7リツプ・70ツブで構
成され、データの1ビツトシフトレフト。 シフトライト、ノーシフトのいずれかを制御信号により
選択的に実施する。 内部バスに対しては以下の接続関係を有する。 シフタ→MBから入力、  MBへ出力OZDT(ゼロ
検出回路) 第3図に示したZDT17は、MBババス状態をモニタ
し、MBババス全ビット“oo”hならば、”oo”h
の検出をしたことを示す信号を発生するゼロ検出回路で
ある。 特に、この信号はPSRレジスタ30中の27ラグに作
用し、ALU19等の演算結果がRLT29より、MB
ババス出力される時、結果の“00゛hを検出してZフ
ラグを“1″にセットする動作を促すために用いられる
。 Q  PSR(プロセッサ・スティタス・レジスタ)第
3図に示した、PSR30は、ラッチで構成され内部バ
スに対しては以下の接続関係を有する。 PSR→MBから入力、   DBへ出力機能としては
、概要でも記述した様にPSRレジスタ30は現在のC
PUの動作状態を示す。 ○ BRDT(分岐検出回路) 第3図に示した、BRDT18は、PSR30に接続さ
れており、分岐命令が発生した場合、PSR30の内容
から分岐するか否かを判断する信号を発生する。 ○ AOBB、AOBH,AOBL(アドレス・出力バ
ッファ) 第3図ACυ部16に示した、AOBB、AOBH,A
OBLはアドレス出力用のバッファであり、各8ビツト
で計24ビット(BA7〜BAO。 AI5〜AO)のアドレスを出力する。 アドレス出力は、BEのローでハイ・インピーダンス状
態になる。 OVECB、VECH,VECL(ベクタアドレス発生
器) 第3図ACU部16に示した、VECB、VECH,V
ECLは割り込み処理において、ベクタアドレス(24
ビツト)を発生する。 OCALB、CALH,CALL(アドレス計算ラッチ
) 第3図ACU部16に示した、CALB、CALH,C
ALLはINC/DEC:B:H:Lの演算の結果を選
択的に格納するラッチであり、アドレス演算時のみラッ
チされる。 ○ RLT2(結果ラッチ2) 第3図ACU[164’、示しf:、RLT2はlNC
/DEC:Bの演算の結果を常に格納するラッチである
。 OENC/DEC:B:H:LCCイタ’)タフト/デ
クリメント・ユニット) 第3図ACU部16に示したINC/DEC:B:H:
Lはデータの増減を行なう。 各機能部は、8ビット単位で構成され、演算結果で発生
したキャリーは、それぞれの上位アドレス増減部(IN
G/DEC:LならINC/DEC:Hへ、INC/D
EC:HならING/DEC:Bへ)に伝搬され、結局
24ビツトのアドレス生成を実現することになる。 但し、このINC/DEC:B:H:Lにデータ(各8
ビツト)は、SB、ABH,ABLのデータバス(各8
ビツト)を介して入力される。 各INC/DEC:B:H:Lは、このデータについて
基本的に次の動作を選択的に行なう。 1、現状データの保持 2、“Ol”hのインクリメントあるいはデクリメント
。 3、02”hのインクリメントあるいはデクリメント。 ○ BS(バス セレクト) 第3図ACU部16に示した、BSは実効アドレスを発
生する際、CPU外部から入力されたデータ(8ビツト
)をINC/DEC:Lを介することなく、DBババス
ら、直接AOBLに入力するためのデータの選択の機能
を有する。 前記のファースト・ダイレクト・アドレッシングのよう
な場合、実効アドレスのだめのオペランドデータ(8ビ
ツト)を7エツチするサイクルの次に、すぐに実効アド
レスを出力しなければならないが、この場合、INC/
DEC:Lを介すれば遅延が生じる。 そこでこのBSを用いて、オペランドデータ(DIL)
をDBババス乗せ、BSで選択することにより、高速に
AOBLを書き換えることができる。 ○ C5B、C3H(キャリーセレクタ)第3図ACU
部16に示した、C3B、C3H25,26はデータの
演算時に、INC/DEC:B、INC/DEC::H
に入力されるキャリーがINC/DEC(7)下位側(
INC/DEC:HならINC/DEC:L、INC/
DEC:BならINC/DEC:H)からか、あるいは
ALUl 9で発生されたキャリーにするかを選択する
機能を有する。 従って、このCPUでは実効アドレス発生の際のディス
プレースメントデータの加算や、プログラム相対アドレ
スで分岐の際にアドレスの計算を行なうことは、ALU
l9とACUl6を共用して行なう。 例えば、24ビツトデータに8ビツトのディスプレース
メントを加算して、実効アドレスを発生するアドレッシ
ングの場合、24ビツトデータ中のビット7〜ビツトO
とディスプレースメントデータ(8ビツト)の加算をA
LU l 9で行ない、24ビツトの残り(ビット23
〜ビツト16)をACU部16で演算する。 ALUl9で加算の結果キャリーが発生した場合、この
キャリーは、C3)(25を介して、ACUHに入力さ
れ、ACUl6はこの桁上がりを含めて演算ができる。 一方、通常のプログラムカウンタのインクリメント動作
の場合には、ACUl 6のみを用いて、ALUl9は
別のオペレージ3ンのための演算を行なうことができる
。 この時ALU19のキャリーは無視されACUL16か
ら発生したキャリーがC3H25を介してACUHに入
力される。 ○ PBC,PCH,PCL(プログラム・カウンタ) 24ビツトのプログラム・カウンタ・レジスタである。 このレジスタのインクリメントは、ING/DEC:B
:H:Lを用いて行なう。 内部バスに対しては以下の接続関係を有する。 PBD −SBから入力、 DBあるいはSBへ出力P
CH−4ADHカら入力、 MBあるイハABHへ出力
PCL→ABLから入力、 DBあるいはABLへ出力
OTR,ADH,ADL(テンポラリ・レジスタ)各8
ビツトのテンポラリ・データラッチである。 CPU外部からは見えない。演算結果を一時的に格納す
る。 TR−DBあるいはSBから入力、 SBへ出力ADH
−4MBあるいはABHから入力、 ABHへ出力AD
L  →DBあるいはABLから入力、 ABLへ出力
○ SPH,5PL(スタック・ポインタ・レジスタ) 16ビツトのスタック・ポインタ・レジスタである。 内部バスに対しては以下の接続関係を有する。 SPH→MBから入力 、 MBあるいはDBへ出力S
PL  −4MBから入力 、 DBへ出力ODBR(
データ・バンク・レジスタ)8ビツトのバンク・レジス
タである。基本的にデータアクセスの際のバンクアドレ
スは、このレジスタ値が出力される。但し、PSR中に
モード・フラグ(Ml、MO)の状態により、バンクア
ドレス値は変動する。 また、DBRは、SBババス介して入力されており、D
BR値の増減にも任意に対応できる。 内部バスに対しては以下の接続関係を有する。 DBR→MBあるいはSBから入力、 DBあるいはS
Bへ出力 ODIL(データ入力ラッチ) 8ビツトのラッチである。外部データは、このラッチに
入力される。 DIL15は、制御部」に対しては命令コードを供給し
、演算部2には、内部バス(DB、MB。 SB)に対しデータを供給する。 CPU内部に対しては以下の接続関係を有する。 DIL 4D7−DOカら入力、  DB、MB、SB
あるイハ制御部へ出力 ○ DOL(データ出力ラッチ) 8ビツトのラッチである。外部に出力されるデータは、
このラッチに入力される。 CPU内部に対しては以下の接続関係を有する。 DrL→DBあるいはMBから入力、 D7〜DOへ出
力以下に、本CPUの制御部lの各機能部について説明
を行なう。 ○ インストラクション・ブレ・デコーダ基本的に次の
3つの機能部を有する。 1、PLAでのデコードではタイミング的に間に合わな
い場合、プレデコーダで予めデコードして制御信号を発
生する。 [1サイクル命令の検出、外部制御信号の発生制御、T
CU7の制御等] 2、PLAコードの最小化のためデコードを補助する。 [短縮命令の検出、命令で扱うデータサイズの検出等] 3、不当命令、ソフトウェアインターラブド命令の検出
。 ○ クロック発生器 CPU内部用のクロックの発生。あるいは、外部システ
ム用システム・クロックを発生する。 WAIT−−−プロセッサ停止入力 LSP  −−−バスサイクル変更用人力CLK  −
−−CPυクロック入力 Sl、52−−−システム・クロック出力0 システム
制御 CPUの動作状態を知らせるための複数の信号を発生す
る。 BSVT−−−プロセッサ動作状態出力(ベクタアドレ
ス出力中を示す) BSDA−m−プロセッサ動作状態出力(データアクセ
スを示す) BSPA−−−プロセッサ動作状態出力(プログラムア
クセスを示す) BSOF−−−プログラム動作状態出力(命令フェッチ
を示す) BSML−−−プロセッサ動作状態出力(メモリロック
状態を示す) RWB、RB、WB−−−リードライト状態出力BE−
−−バスイネーブル入力 ○ インタラブド制御 CPUの割り込みを制御する。 RES   −−−リセット割り込み入力NMI   
−一一ノンマス力プル割り込み入力IRQ   −−一
割り込み入力 l5EO〜3−一一割り込み(IRQ)選択入力WAK
E  −−−プロセッサ停止命令の解除入力 OTCU(タイミング制御ユニット) 命令実行の動作シーケンスを制御する。 OECI(イクスキュージョン制御インタフェース) PLAの命令デコード結果を受は演算部2にタイミング
を整えた制御信号を発生する機能を有す。 OオペコードIR(バッファ)。 プリバイトIR(インストラクション・レジスタ) 命令を格納するインストラクションレジスタ。 Oプリバイト ANDプレーン、オペコードANDプレ
ーン、ORプレーン AND−ORで構成された命令デコード用PLA。 以上概説したようなCPUにおいて、実行アドレスを計
算する構成部分のみを第3図より抜き出し第1図に示す
。尚、第ト図に示す#I構成部分内、第3図に構成部分
に相当するものについては同じ符号を付している。 本実施例のCPUは各メモリの実行アドレス計算をデー
タの演算実行用のALUを用いて、かつ増減器を用いて
行うが、実行アドレスを計算する際、実行アドレスを構
成する例えば24ビツトのすべてを計算する必要はなく
、本CPυでは、実行アドレスを生成する加算数と被加
算数とのデータを8ビツトずつ3分割し、ALUにてそ
れぞれの下位側よりアドレスを計算し下位側からの桁上
がりが発生した場合にはそのキャリーを上位側の増減器
に送出し加減算を行い実行アドレスを生成する。 第1図において、レジスタ群50は、第3図に示すFP
R,RO1W2L、等の汎用レジスタであり、このレジ
スタ群50の出力側は、A増減器51、B増減器52、
C増減器53に接続されるとともに、ALtJ19に接
続される。 A増減器51の出力側は、ALUl 9より供給される
信号とA増減器51より供給される信号とのいずれかを
選択するキャリー選択六回路25を介してB増減器52
に接続される。B増減器52の出力側は、B増減器52
より供給される信号あるいはALUl9より供給される
信号のいずれかを選択するキャリー選択8回路26を介
してC増減器53に接続される。 尚、A増減器51は、第3図に示すINC/DEC:L
に相当し、B増減器52はINC/DEC:Hに相当し
、C増減器53はINC/DEC:Bに相当する。又、
キャリー選択A回路25は第3図に示すC3Hにであり
、キャリー選択8回路26はC3Bである。 このように構成される本実施例のCPUにおける動作を
以下に説明する。 本CPUの概略にて説明したように、本CPUが有する
3つのアドレッシングのアドレスの発生方法を第2図a
ないし第2図Cに示す。 レジスタ・インダイレクト・8ビツトまたは16ビツト
デイスプレースメントでは、レジスタ群50内の複数の
レジスタより読み出したDBRデータとW2あるいはW
3レジスタのデータとに、オペランドデータとして8ビ
ツトあるいは16ビツトのディスプレースメントを符号
拡張しt;アドレスが実行アドレスとなる。 ロングダイレクト・16ビツトレジスタデイスプレース
メントでは、オペランドデータとしてプログラムから読
んだ24ビツトのデータに、レジスタW2あるいはW3
のディスプレースメントデータを符号拡張して加えたア
ドレスが実行アドレスとなる。 まず、レジスタ・インダイレクト・8ビツトデイスプレ
ースメントでは、8ビツトのディスプレースメントとレ
ジスタW2のデータの下位8ビ・ノドをALUl9で計
算し、その結果におけるキャリー信号がキャリー選択六
回路25に送出され、キャリー選択六回路25は、AL
Ul9からのキャリー信号をB増減器52へ送出する。 一方、B増減器52及びC増減器53には、それぞれレ
ジスタW2の上位データ、DBHのデータが転送され、
A%B、Cの各増減器51,52.53は、符号拡張の
値より定数0の増加か定数0の減少かを選択して動作を
実行する。このとき、キャリー選択8回路26は、B増
減器52からのキャリー信号を選択する。そして、B増
減器52、C増減器53の増減結果とALUl 9の結
果が、計算された実行アドレスとなる。さらに、16ビ
ツトデータの場合には、もう1バイトアクセスする必要
があるので、上記の計算されたアドレスを増減器で定数
1の増加をさせて望むアドレスを得る。 次に、レジスタ・インダイレクト16ビツトデイスプレ
ースメントでは、16ビツトデイスプレースメントの下
位8ビツトとレジスタW2の下位8ビツトをALUl 
9にて計算し、その結果をA増減器51に送出し、さら
にそのキャリー信号を使用して16ビツトのディスプレ
ースメントの上位8ビツトとレジスタW2の上位8ビツ
トをALUl9にて計算する。その結果のキャリー信号
がキャリー選択8回路26に供給され、キャリー選択8
回路26はALUl9からのキャリー信号をC増減器5
3に送出する。一方、C増減器53には、DBHのデー
タが転送され、増減器全体は符号拡張の値により定数0
0増加か定数Oの減少かを選択して動作を実行する。こ
のとき、キャリー選択A回路25は、A増減器51から
のキャリー信号を選択する。そしてC増減器53の増減
結果、ALUl9の結果、A増減器51の増減結果が計
算された実行アドレスとなる。 次に、ロングダイレクト・16ビツトレジスタ・ディス
プレースメントの場合は、オペランドとレジスタの関係
がレジスタ・インダイレクト・16ビツト・ディスプレ
ースメントと入れ代わるだけであり、動作は同じである
。 このようにALUl 9とAlB、Cの各増減器51.
52.53にてアドレスを計算することで、ALU単体
で計算する場合に比べて演算の並列性を失わず、演算処
理サイクルを短くすることができる。 又、ALU及び増減器で計算することにより、データ演
算用のALUの他にアドレス計算専用のフルアダーを有
する場合に比べてハードウェアを小さくすることができ
る。
【発明の効果】
以上詳述したように本発明によれば、演算処理を行うA
LUにて演算処理の結果発生するキャリー信号を増加器
にて被加算数に加算することでアドレスデータを得るよ
うにしたことより、演算の並列性を失わず、処理サイク
ルを短くすることができ、又、アドレスデータ計算専用
のALUが不要であるからCPUのハードウェアを小さ
くすることができる。
【図面の簡単な説明】
第1図は本発明のCPLIの構成部分の内、アドレス計
算にかかる構成部分を示したブロック図、第2図aない
し第2図Cは本発明のCPUが有するアドレッシングの
アドレスの発生方法を示す図、第3図は本発明のCPU
の全体構成を示すブロック図、第4rXiは本発明のC
PUのプログラミングモデル、第5図aないし第5図C
は本発明のCPUの命令形式について示した図である。 19・・・ALU、25・・・キャリー選択A回路、2
6・・・キャリー選択8回路、51・・・A増減器、5
2・・・B増減器、53・・・C増減器。 第1図

Claims (1)

    【特許請求の範囲】
  1. (1)アドレスのビット数を複数に分割したビット数を
    処理し、供給される複数の定数のいずれか一つを被増加
    数に加算しアドレスデータを作成する複数の増加器と、 少なくとも一つのレジスタと、 上記レジスタが送出する、アドレスのビット数より少な
    いビット数からなるデータに基づき演算を行う一つのA
    LUと、 上記ALUの演算結果で桁上げ信号が発生した場合には
    この桁上げ信号を上記増加器に送出するキャリー信号選
    択手段と、を備えたことを特徴とする中央演算処理装置
JP1291799A 1989-11-09 1989-11-09 中央演算処理装置 Pending JPH03152624A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1291799A JPH03152624A (ja) 1989-11-09 1989-11-09 中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1291799A JPH03152624A (ja) 1989-11-09 1989-11-09 中央演算処理装置

Publications (1)

Publication Number Publication Date
JPH03152624A true JPH03152624A (ja) 1991-06-28

Family

ID=17773582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1291799A Pending JPH03152624A (ja) 1989-11-09 1989-11-09 中央演算処理装置

Country Status (1)

Country Link
JP (1) JPH03152624A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976250B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976245B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7080367B2 (en) 1998-04-28 2006-07-18 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7823142B2 (en) 1998-04-28 2010-10-26 Panasonic Corporation Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Similar Documents

Publication Publication Date Title
JP2968289B2 (ja) 中央演算処理装置
JP3745039B2 (ja) 遅延命令を有するマイクロプロセッサ
JPH05197546A (ja) マイクロコンピュータ及び除算回路
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH09171454A (ja) データ処理装置
JPH03218523A (ja) データプロセッサ
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US6061781A (en) Concurrent execution of divide microinstructions in floating point unit and overflow detection microinstructions in integer unit for integer divide
JPH1049368A (ja) 条件実行命令を有するマイクロプロセッサ
US5757685A (en) Data processing system capable of processing long word data
JPH01137331A (ja) 制御ワード分岐方法
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH10222368A (ja) データ処理装置
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JP2993975B2 (ja) 中央演算処理装置
JPH081604B2 (ja) マイクロプロセッサ
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
JPH03152624A (ja) 中央演算処理装置
JP2000207210A (ja) マイクロプロセッサ
US6691223B1 (en) Processing full exceptions using partial exceptions
JP3105197B2 (ja) 除算回路及び除算方法
JP2922979B2 (ja) 中央演算処理装置
JP3144678B2 (ja) 中央演算処理装置
JPH0443415A (ja) 中央演算処理装置
JP3539914B2 (ja) マイクロコンピュータ