JPH08272605A - アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法 - Google Patents

アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法

Info

Publication number
JPH08272605A
JPH08272605A JP7376595A JP7376595A JPH08272605A JP H08272605 A JPH08272605 A JP H08272605A JP 7376595 A JP7376595 A JP 7376595A JP 7376595 A JP7376595 A JP 7376595A JP H08272605 A JPH08272605 A JP H08272605A
Authority
JP
Japan
Prior art keywords
data
address
program counter
arithmetic circuit
circuit
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.)
Withdrawn
Application number
JP7376595A
Other languages
English (en)
Inventor
Junji Ogoshi
淳史 大越
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP7376595A priority Critical patent/JPH08272605A/ja
Publication of JPH08272605A publication Critical patent/JPH08272605A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 専用のアドレス算出回路を用いることなく、
また処理効率も落とさずに相対ジャンプの機能を可能に
するアドレス分岐回路を提供する。 【構成】 次に実行する命令のアドレスを指定するプロ
グラムカウンタを有し、該マイクロコンピュータの処理
するデータ幅の前記プログラムカウンタの下位側データ
を演算回路の一方の入力に接続し、その演算回路の他方
の入力には通常の処理データを接続したアドレス分岐回
路であって、前記演算回路により前記下位側データと前
記通常の処理データとの和を演算し、その演算結果を前
記プログラムカウンタの前記下位側データとして設定
し、前記演算回路が前記演算により桁上がり信号を発生
したときには、その桁仕上がり信号により、前記プログ
ラムカウンタの下位側データ以外の上位側データに対し
て1回カウントアリップを行い、そのプログラムカウン
タの上位側及び下位側データを新たな次のアドレスとす
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、主にマイクロコンピュ
ータにおいて処理されたデータによりアドレス分岐を行
うアドレス分岐回路、アドレス分岐命令の実行により処
理データによるアドレスの分岐を行うマイクロコンピュ
ータ、及びそのアドレス分岐方法に関する。
【0002】
【従来の技術】従来、この種の分野の技術としては例え
ば図4に示すようなものがあった。
【0003】図4は、従来の4ビットマイクロコンピュ
ータにおけるアドレス分岐回路の構成図である。
【0004】このアドレス分岐回路は、4ビットマイク
ロコンピュータ内のデータバス101に接続された汎用
レジスタA(アキュームレータ)102と、プログラム
カウンタ103とで構成されている。ここで、プログラ
ムカウンタ103は、次に実行する命令のアドレスを保
持するもので、当該マイクロコンピュータの処理データ
幅である4ビットの下位側データ103aと、12ビッ
トの上位側データ103bとからなる。
【0005】図5は、図4の回路を使用したときのプロ
グラム処理方法を示す概念図である。
【0006】図5において、アドレス分岐命令「JR
A」を実行するときは、図4における汎用レジスタ10
2の内容がプログラムカウンタ103の下位4ビットの
データ103aにそのまま設定される。この時、プログ
ラムカウンタ103の上位12ビットのデータ103b
は何も変化がないので、正確なアドレス分岐を行うため
にアドレス分岐命令は図5に示すアドレス「123F
h」で実行する必要がある。
【0007】このために、アドレス分岐命令を実行する
前に、ジャンプ命令により前記アドレス「123Fh」
にジャンプし、その後にレジスタ102の内容により各
アドレス「1240h」,「1241h」「1242
h」,「1243h」,「1244h」に分岐し、処理
1〜処理5を実行する。
【0008】このように、マイクロコンピュータの処理
データによるアドレスの分岐命令は、プログラムカウン
タの下位ビットを処理データによる書き換えにより行う
ため、アドレス分岐命令を実行する前に分岐を行うデー
タに合わせてある特定のアドレスにジャンプを行わなけ
ればならない。このため、プログラム作成者は常に実ア
ドレスを意識しなければらならず、アドレス分岐命令を
相対ジャンプ命令として使用することができない。
【0009】ここで、相対ジャンプとは、ジャンプ命令
の実行アドレスを基準として、そこから離れたオフセッ
トアドレスによりジャンプを実施するもので、プログラ
ムに変更があってもジャンプ先のアドレスを示すジャン
プ命令の実行アドレスと飛び先アドレスとの差の値は変
化しない。
【0010】このような相対ジャンプを可能にするもの
として、例えば図6に示すようなものがある。
【0011】図6は、アドレス算出回路を用いた従来の
マイクロコンピュータの概略構成を示すブロック図であ
る。
【0012】データバス201には、レジスタ部20
2、RAM203及びプログラムカウンタ204が接続
され、レジスタ部202の内の、ある特定レジスタの値
と、プログラムカウンタ204、レジスタ部202また
はRAM203からのオフセットアドレスの値とがアド
レス算出回路205で演算されることでアドレスデータ
が完成される。そして、完成されたアドレスデータで指
定される命令がROM206から読み出され、命令デコ
ーダ207で解読される。なお、図中209はALU2
08の演算結果用のフラグであり、210は周辺回路で
ある。
【0013】上記のアドレス算出回路205を使用した
マイクロコンピュータでは、特にALUを使用せずアド
レスが算出できるので高速に処理することができるとい
う利点がある。
【0014】
【発明が解決しようとする課題】しかしながら、上記従
来のマイクロコンピュータでは次のような問題があっ
た。
【0015】(1)図4に示すアドレス分岐回路では、
上述したように、アドレス分岐命令は、同図に示す例か
らアドレス「123Fh」で実行されなければならな
い。そのためにアドレス分岐命令を実行する前に必ずジ
ャンプ命令によりプログラムカウンタ103の下位4ビ
ットのデータ103aを「Fh」にする必要があった。
これでは、プログラム作成者はアドレス分岐命令を実行
する度にその実行アドレスを意識しなければならなず、
アドレス分岐命令を相対ジャンプ命令として使用するこ
とはできない。
【0016】(2)相対ジャンプが可能なマイクロコン
ピュータとして図6に示すものがあるが、プログラムカ
ウンタにアドレス算出専用の演算回路(アドレス算出回
路205)を使用すると、チップ上の回路規模が大きく
なり、コスト高になる。
【0017】(3)相対ジャンプが可能なその他のマイ
クロコンピュータにおいても、演算回路とその処理する
データのビット数とがプログラムカウンタのビット数よ
り少ないために、プログラムカウンタのビット数分の演
算を繰り返さなければならず、相対ジャンプにおける処
理が遅くなる。
【0018】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、専用のアドレ
ス算出回路を用いることなく僅かな回路の追加により相
対ジャンプの機能を可能にするアドレス分岐回路及びマ
イクロコンピュータを提供することである。またその他
の目的は、アドレスを算出する上での演算を繰り返す必
要をなくして処理効率を低下させずに相対ジャンプの機
能を実現するアドレス分岐回路及びマイクロコンピュー
タを提供することである。さらに、その他の目的は、簡
単な方法で処理効率を低下させずに相対ジャンプの機能
を可能するマイクロコンピュータのアドレス分岐方法を
提供することである。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明のアドレス分岐回路の特徴は、アドレス
データを保持するデータ保持回路と、前記アドレスデー
タの下位側データと所定の処理データとの演算を行う演
算回路とを備え、前記演算回路の演算結果を前記アドレ
スデータの下位側データとして設定し、前記演算回路の
演算により桁仕上がり信号が発生したときには、その桁
仕上がり信号により、前記演算回路によって設定された
前記アドレスデータの下位側データ以外の上位側データ
に対して1回カウントアップを行い、そのアドレスデー
タの上位側及び下位側データを新たな次のアドレスデー
タとしたことにある。
【0020】第2の発明のマイクロコンピュータの特徴
は、次に実行する命令のアドレスを指定するプログラム
カウンタと、前記プログラムカウンタの指示するアドレ
スに対応した命令を読み出すROMと、前記ROMから
読み出された命令に応じた各種演算を行う演算回路とを
備えたマイクロコンピュータにおいて、前記プログラム
カウンタの下位側データを前記演算回路の一方の入力に
接続すると共に、その演算回路の他方の入力には通常の
処理データを接続し、アドレス分岐命令の実行時に、前
記演算回路により前記下位側データと前記通常の処理デ
ータとの和を演算し、その演算結果を前記プログラムカ
ウンタの前記下位側データとして設定し、前記演算回路
が前記演算により桁上がり信号を発生したときには、そ
の桁仕上がり信号により、前記演算回路によって設定さ
れた前記プログラムカウンタの下位側データ以外の上位
側データに対して1回カウントアップを行い、そのプロ
グラムカウンタの上位側及び下位側データを新たな次の
アドレスとしたことにある。
【0021】
【作用】上述の如き構成の第1乃至第2の発明によれ
ば、例えばマイクロコンピュータのプログラムカウンタ
の下位側データと処理データとを演算回路で演算し、そ
の演算結果を新たなプログラムカウンタのデータとして
使用する。そのときの演算回路の演算結果から桁上がり
(キャリー)が発生したときには、そのキャリーデータ
によりプログラムカウンタの、前記演算回路からのデー
タにより更新された下位側データ以外の上位側データに
対して、1回カウントアップを実行する。これにより、
プログラム作成者は、実アドレスを意識せずプログラム
を作成することができ、さらにプログラムカウンタに専
用のアドレス算出回路を使用することなく相対ジャンプ
機能を実現することができる。
【0022】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は、本発明を実施したマイクロコンピュータ
の概略の構成を示すブロック図である。
【0023】このマイクロコンピュータは、データバス
1を有し、このデータバス1にはレジスタ部2及びRA
M3が接続されている。レジスタ部2は、Aレジスタ
(アキュームレータ)、Bレジスタ、Cレジスタ、Dレ
ジスタ、Eレジスタなどの汎用ワーキングレジスタや、
Wレジスタ、Zレジスタなどの一時レジスタ、さらにイ
ンクリメンタ/デクリメンタとアドレスラッチやレジス
タ選択及びマルチプレクサなどからなっている。RAM
3は、命令を実行する際に各種データの書き込み/読出
しを行う機能を有し、これらレジスタ部2及びRAM3
は、データバス1を通してプログラムカウンタ4に接続
されている。
【0024】このプログラムカウンタ4は、次に実行す
る命令のアドレスを指定するもので、このプログラムカ
ウンタ4に保持されるアドレスデータは、当該マイクロ
コンピュータの処理するデータ幅である4ビットの下位
側データと、後述するALU7で発生したキャリーデー
タCaによりインクリメントされる12ビットの上位側
データとからなる。
【0025】プログラムカウンタ4の出力側には、命令
が格納されたROM5が接続され、ROM5の出力側が
データバス1と命令デコーダ6に接続されている。命令
デコーダ6は、プログラムカウンタ4で指定されたアド
レスの命令を解読する機能を有し、当該マイクロコンピ
ュータの制御部の一部を構成する。
【0026】また、データバス1に接続されたALU7
は、算術演算及び論理演算を行うユニットであり、その
演算結果はデータバス1を通ってレジスタ部2やRAM
3へ送り出され、演算結果の状態はフラグ8に示され
る。
【0027】さらに、データバス1には、周辺回路9が
接続されている。周辺回路9は、マイクロコンピュータ
に対して情報を入出力するためのI/O機器や、主メモ
リであるRAM3の記憶容量の不足を補う補助記憶装置
からなる。
【0028】図2は、上記図1のマイクロコンピュータ
における本発明の特徴部分を示すアドレス分岐回路の構
成図である。
【0029】このアドレス分岐回路は、プログラムカウ
ンタ4の下位側データ4aをALU7の一方の入力側に
接続し、そのALU7の他方の入力には、通常の処理デ
ータ(オフセット・アドレスの値)を保持するアキュー
ムレータ2aが接続されたデータバス1に接続して構成
されている。
【0030】次に、図3を用いて本実施例のアドレス分
岐回路の動作を説明する。なお、図3は図1の回路のプ
ログラムの処理方法を示す概念図である。
【0031】図3に示すように、アドレス分岐命令「J
R A」を実行すると、図2に示したアキュームータ2
aの内容がALU7の一方の入力に、またプログラムカ
ウンタ4の下位4ビットのデータ4aもALU7の他方
の入力にそれぞれ設定される。そして、ALU7は、そ
れぞれのデータの加算を実行し、その結果をプログラム
カウンタ4の下位4ビットのデータ4aとして設定す
る。
【0032】このとき、ALU7の演算結果に桁上がり
(キャリー)が発生したときには、そのキャリー信号C
aによりプログラムカウンタ4の上位12ビットのデー
タ4bを1回カウントアップしする。こうして得られた
下位4ビットのデータ4aと上位12ビットのデータ4
bとを新たな次の実行アドレスとする。
【0033】これによって、アドレス分岐命令「JR
A」の実行により、特定のアドレスにジャンプを行うこ
となく、アキュームレータ2aの内容によりアドレス分
岐が行われ、処理1〜処理5が実行される。
【0034】このように本実施例では、従来回路のよう
に、特定のアドレスにジャンプを行うことなくアドレス
分岐が行われるので、アドレス分岐命令の実行時にプロ
グラム作成者がそのアドレスを意識することなくプログ
ラミングができ、さらにプログラムカウンタに専用のア
ドレス算出回路を使用することなくアドレス分岐命令を
相対ジャンプ命令として使用することができる。
【0035】
【発明の効果】以上詳細に説明したように、第1乃至第
3の発明によれば、プログラムカウンタ作成者は、実ア
ドレスを意識せずプログラムを作成することができ、ア
ドレス分岐命令を相対ジャンプ命令として使用すること
が可能となる。さらにプログラムカウンタに専用のアド
レス算出回路を使用することなく、最小限の回路追加で
相対ジャンプ機能を実現することができるので、低コス
ト化が可能となる。
【0036】さらに、従来のようにアドレスを算出する
上での演算を繰り返すことがないため、処理効率を低下
させずに相対ジャンプ機能を実現することができる。
【0037】また、第4の発明によれば、上記第1乃至
第3の発明と同様の効果を簡単なアドレス分岐方法によ
り得ることができる。
【図面の簡単な説明】
【図1】本発明を実施したマイクロコンピュータの概略
の構成を示すブロック図である。
【図2】図1のマイクロコンピュータにおける本発明の
特徴部分を示すアドレス分岐回路の構成図である。
【図3】図1の回路のプログラムの処理方法を示す概念
図である。
【図4】従来の4ビットマイクロコンピュータにおける
アドレス分岐回路の構成図である。
【図5】図4の回路を使用したときのプログラム処理方
法を示す概念図である。
【図6】アドレス算出回路を用いた従来のマイクロコン
ピュータの概略構成図である。
【符号の説明】
1 データバス 2 レジスタ部 3 RAM 4 プログラムカウンタ 5 ROM 6 命令デコーダ 7 ALU 8 フラグ Ca キャリーデータ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 アドレスデータを保持するデータ保持回
    路と、 前記アドレスデータの下位側データと所定の処理データ
    との演算を行う演算回路とを備え、 前記演算回路の演算結果を前記アドレスデータの下位側
    データとして設定し、前記演算回路の演算により桁仕上
    がり信号が発生したときには、その桁仕上がり信号によ
    り、前記演算回路によって設定された前記アドレスデー
    タの下位側データ以外の上位側データに対して1回カウ
    ントアップを行い、 そのアドレスデータの上位側及び下位側データを新たな
    次のアドレスデータとしたことを特徴とするアドレス分
    岐回路。
  2. 【請求項2】 次に実行する命令のアドレスを指定する
    プログラムカウンタと、前記プログラムカウンタの指示
    するアドレスに対応した命令を読み出すROMと、前記
    ROMから読み出された命令に応じた各種演算を行う演
    算回路とを備えたマイクロコンピュータにおいて、 前記プログラムカウンタの下位側データを前記演算回路
    の一方の入力に接続すると共に、その演算回路の他方の
    入力には通常の処理データを接続し、 アドレス分岐命令の実行時に、 前記演算回路により前記下位側データと前記通常の処理
    データとの和を演算し、その演算結果を前記プログラム
    カウンタの前記下位側データとして設定し、前記演算回
    路が前記演算により桁上がり信号を発生したときには、
    その桁仕上がり信号により、前記演算回路によって設定
    された前記プログラムカウンタの下位側データ以外の上
    位側データに対して1回カウントアップを行い、 そのプログラムカウンタの上位側及び下位側データを新
    たな次のアドレスとしたことを特徴とするマイクロコン
    ピュータ。
JP7376595A 1995-03-30 1995-03-30 アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法 Withdrawn JPH08272605A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7376595A JPH08272605A (ja) 1995-03-30 1995-03-30 アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7376595A JPH08272605A (ja) 1995-03-30 1995-03-30 アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法

Publications (1)

Publication Number Publication Date
JPH08272605A true JPH08272605A (ja) 1996-10-18

Family

ID=13527651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7376595A Withdrawn JPH08272605A (ja) 1995-03-30 1995-03-30 アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法

Country Status (1)

Country Link
JP (1) JPH08272605A (ja)

Similar Documents

Publication Publication Date Title
JP2678183B2 (ja) デジタルプロセッサ制御装置および実行時記憶割当ての方法
US4675809A (en) Data processing system for floating point data having a variable length exponent part
JPS5862746A (ja) 割算装置
US5684728A (en) Data processing system having a saturation arithmetic operation function
JP2001005675A (ja) プログラム変換装置及びプロセッサ
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
JPS6227412B2 (ja)
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
JPH034936B2 (ja)
JP2551167B2 (ja) マイクロコンピュータ
JPS5826584B2 (ja) デ−タ処理装置
JPH08272605A (ja) アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法
JPH0831033B2 (ja) データ処理装置
JP2001216136A (ja) 加算回路およびプロセッサ
JPH1173301A (ja) 情報処理装置
JPS6230455B2 (ja)
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JPH1031618A (ja) データ変換方式
JPH07191911A (ja) アドレス変換装置及びマイクロプロセッサ算出方法
JPS62259140A (ja) アドレス生成回路
JPH04195629A (ja) 演算フラグ生成装置
JP3239042B2 (ja) マイクロコンピュータ
JP3305967B2 (ja) Dspのポインタ異常検出回路
JPH0256029A (ja) 汎用レジスタ切換方式
JPH07109588B2 (ja) マイクロプロセッサ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020604