JPH07104998A - プログラムカウンタ - Google Patents

プログラムカウンタ

Info

Publication number
JPH07104998A
JPH07104998A JP24765093A JP24765093A JPH07104998A JP H07104998 A JPH07104998 A JP H07104998A JP 24765093 A JP24765093 A JP 24765093A JP 24765093 A JP24765093 A JP 24765093A JP H07104998 A JPH07104998 A JP H07104998A
Authority
JP
Japan
Prior art keywords
address
supplied
program counter
data
address data
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
JP24765093A
Other languages
English (en)
Inventor
Hiroyasu Otomo
博康 大友
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 JP24765093A priority Critical patent/JPH07104998A/ja
Publication of JPH07104998A publication Critical patent/JPH07104998A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】プログラムカウンタの複数のビットが同時にス
イッチングしないようにし、アドレスバスに接続される
ドライバに流れ込む電流の変化を抑える 【構成】このプログラムカウンタは、複数のバイナリ・
デジットのとなり合うデジット位置の間では不一致ビッ
トが常に1つになるような交番2進符号の順にカウント
動作をする交番2進化カウンタ2の出力、スタック(不
図示)とアドレスバスとからそれぞれ供給される分岐先
アドレスおよび割込みベクタのうちいずれか一方のアド
レスデータがマルチプレクサ1で選択される。この選択
結果がアドレスラッチ4に保持され、この保持されたア
ドレスデータがクロックCLKに応答して供給されるご
とに交番2進カウンタ2がカウントアップしそのカウン
ト結果がマルチプレクサ1に次のアドレスデータとして
供給されるとともに、保持データはアドレスドライバ3
を介してアドレス出力端子5にも供給される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプログラムカウンタに係
わり、特に命令メモリ領域を外部拡張できるマイクロプ
ロセッサに内蔵され、交番2進カウンタを用いたプログ
ラムカウンタに関する。
【0002】
【従来の技術】従来、この種のプログラムカウンタを内
蔵したマイクロプロセッサにおける命令メモリのアドレ
ッシングの方法については、電子情報通信学会編、19
88年、オーム社発行の電子通信情報ハンドブック、1
556〜1567頁に記載されている。この刊行物によ
れば、プログラムカウンタ方式およびネクスタトアドレ
ッシング方式がある。このプログラムカウンタ方式と
は、プログラムカウンタ(PC)が次に実行すべき命令
のアドレスデータを保持する方式である。
【0003】この方式においては、通常は1つの命令が
実行されるたびごとにその内容に1が加えられるだけで
あるが、演算結果に対応して処理を変更するような条件
付き分岐命令の場合は、演算装置内の条件フラグにセッ
トされた値によってPCの変化量を変える。また、現在
実行中の処理を一時中断させる要求に対してもこのPC
の変化量を変えることで対処している。
【0004】このPCは、次に読み出すべき命令が記憶
されている外部記憶装置のアドレスを確保するため、例
えば16ビットのマイクロプロセッサではバイナリ・コ
ードの16ビットで構成される。この場合、PCの左半
分の8ビットを上位バイト、右半分の8ビットを下位バ
イトと称する。PCの内容はマシンサイクルのはじめに
アドレスバスに送られた後に1だけインクリメントされ
るが、命令が1バイト単位で実行されることを考える
と、1バイト命令では+1、2バイト命令ではインクリ
メントが2回実行されるから+2、3バイト命令では同
様に+3のインクリメントと見なすこともできる。
【0005】すなわち、分岐命令以外の命令では、命令
実行中にPCの値をカウントアップするが、垂直型マイ
クロプロセッサの1命令は、1または複数バイトで構成
されるので、1命令実行する間にその命令長に相当する
回数だけPCのカウントアップを繰り返す必要がある。
したがって、この命令処理速度を高速にするためには、
PCのカウントアップを高速に実行させればよい。
【0006】この従来方式のPCのカウントアップの動
作説明用の真理値表を示した図4を参照すると、説明を
容易にするために4ビット構成のPCの例が示してあ
る。すなわち、10進数の0に対応する4ビットのバイ
ナリ・コード0000bから10進数の15に対応する
4ビットのバイナリ・コード1111bまで逐次カウン
トアップする。
【0007】ネクストアドレス方式とは、命令メモリに
離散的に配置された命令コードのうち、次に実行すべき
命令コードが格納されたアドレスを指定するためのアド
レス情報を、実行中の命令コードの中にもつアドレッシ
ングの方式である。
【0008】ネクストアドレス方式の命令フィールドの
例を示す図5を参照すると、この図に示した命令フィー
ルドは、演算子と演算子1と演算子2とアドレス情報か
らなる。通常、アドレスの全ビットの値を命令コード中
には持たず、命令空間を複数のバンクに分割し、バンク
指定の命令と、演算子あるいは演算数と、バンク内のア
ドレス情報を持った命令とを組み合せて用いる。この方
式の場合、命令処理速度を高速化するにはアドレス演算
を高速に実行させればよい。
【0009】
【発明が解決しようとする課題】上述した従来のプログ
ラムカウンタの場合、プログラムが連続的に進行すると
きに、プログラムカウンタのバイナリ・コードの複数の
ビットが同時にスイッチングする。再び図4を参照する
と、0111bから1000bに遷移するときには、4
桁のビット全てが反転するスイッチングの状態が生じ
る。すなわち、10進数の0から1、4から5、8から
9、12から13への各遷移時は2ビットが、2から
3、10から11への各遷移時は3ビットが、6から7
へ遷移時には4ビットがそれぞれスイッチングすること
が分かる。
【0010】命令メモリ領域を外部拡張するための外部
アドレス出力端子において、前述したようにプログラム
カウンタの複数のビットが同時にスイッチングをした場
合、アドレスバスに接続されるドライバに流れ込む電流
の変化により、電源線および接地線の電位が変動し易く
なる。
【0011】そのため、高速なスイッチングを行なうに
は電源端子および接地端子をそれぞれ複数個ずつ接続し
てその電位の変動を抑える必要があった。その結果、信
号用に割当てるピンを削減しなければならないという欠
点があった。
【0012】一方、ネクストアドレッシング方式では、
同時にスイッチングするアドレスバスを少なくすること
は可能であるが、命令コードが命令メモリに離散的に配
置されているため、そのマイクロプロセッサのデバッグ
が困難であり、また、次に実行すべき命令コードが格納
されたアドレスを実行段階で確定するため、高速なマイ
クロプロセッサには向かないという欠点があった。
【0013】本発明の目的は、上述の欠点に鑑みなされ
たものであり、プログラムカウンタ方式のマイクロプロ
セッサにおいて、プログラムカウンタの複数のビットが
同時にスイッチングしないように交番2進カウンタを用
い、アドレスバスに接続されるドライバに流れ込む電流
の変化を抑えることによって電源線および接地線の電位
変動を減らし、かつ動作の処理速度の高速化を図ること
にある。
【0014】
【課題を解決するための手段】本発明のプログラムカウ
ンタの特徴は、外部装置との間で制御信号および所定の
データを入出力する入出力装置と、前記制御信号を生成
するためにシステム全体の動作を制御する制御装置と、
前記制御装置が前記入出力装置を介して前記所定のデー
タの書き込みと読み出しができる記憶装置およびこの記
憶装置から供給される前記所定のデータに演算処理理の
操作をする演算装置からなる中央処理装置とを有するマ
イクロプロセッサの前記制御装置に含まれ、かつ前記中
央処理装置が次に実行すべき命令のアドレスデータを保
持するプログラムカウンタにおいて、前記命令を連続的
に実行するときに前記プログラムカウンタの前記アドレ
スデータを構成する複数のバイナリ・デジットが同時に
スイッチングしないように動作する制御手段を備えたこ
とを特徴とする。
【0015】また、前記制御手段は、前記複数のバイナ
リ・デジットのとなり合うデジット位置の間では不一致
ビットが常に1つになるようなカウント動作をする交番
2進カウンタおよびアドレスバスからそれぞれ供給され
る前記アドレスデータのうち、いずれか一方の前記アド
レスデータがマルチプレクサで選択され、この選択結果
がアドレスラッチに保持され、この保持された前記アド
レスデータがクロックに応答して供給されるごとに前記
交番2進カウンタがカウントアップし、そのカウント結
果が前記マルチプレクサに次のアドレスデータとして供
給されるとともに、前記保持データはアドレスドライバ
を介してアドレス出力端子にも供給されるように構成さ
れることにある。
【0016】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0017】図1は本発明の一実施例を示す回路図であ
る。ここでは説明を容易にするために4ビット構成のプ
ログラムカウンタとして説明する。図1を参照すると、
この図に示すプログラムカウンタは、複数のバイナリ・
デジットのとなり合うデジット位置の間では不一致ビッ
トが常に1つになるような交番2進符号の順にカウント
動作をする交番2進カウンタ2の出力、スタック(不図
示)とバスとからそれぞれ供給される分岐先アドレスお
よび割込みベクタのうち、いずれか一方のアドレスデー
タがマルチプレクサ1で選択される。この選択結果がア
ドレスラッチ4に保持され、この保持されたアドレスデ
ータがクロックCLKに応答して供給されるごとに交番
2進カウンタ2がカウントアップし、そのカウント結果
がマルチプレクサ1に次のアドレスデータとして供給さ
れるとともに、保持データはアドレスドライバ3を介し
てアドレス出力端子5にも供給されるように構成され
る。なお、このプログラムカウンタは4ビットであるの
で、マルチプレクサ1、アドレスラッチ4、アドレス・
ドライバ3、およびアドレス出力端子5も各4個必要で
あるが、図面を見易くするためここでは各1個ずつにま
とめて図示してある。
【0018】なお、交番2進カウンタ2は一般的な回路
であるので構成の説明を省略するが、図1のプログラム
カウンタ説明用の真理値表を示す図3を併せて参照する
と、前述した図4のタイミングチャートと比較して分る
ように、2進バイナリのカウント動作が、最下位桁から
1−2−4−8の重み付けをすると、0000b,00
01b,0010b,…,1111bのように10進バ
イナリの0,1,2,3,4,……,15の順番に対応
してカウントアップするのに対し、交番2進動作は、上
述の1−2−4−8の重み付けによる順番でのカウント
アップとはならず、10進バイナリの0,1,2,3,
4,……,15の順番に対応させると、0000b,0
001b,0011b,0010b,0110b,01
11b,0101b,0100b,1100b,110
1b,1111b,1110b,1010b,1011
b,1001bの順にカウントアップする。
【0019】図1におけるプログラムカウンタの動作説
明用のタイミングチャートを示した図2を併せて参照す
ると、通常動作において、マルチプレクサ1は更新後の
交番2進カウンタ2の値を選択している。例えば、アド
レスラッチ4の出力する値が0001bであるとする
と、この値が交番2進カウンタ2に供給され、交番2進
動作によって0011bが出力される。この0011b
がマルチプレクサ1に供給されて選択され、次のクロッ
クサイクルでアドレスラッチ4にラッチされて、再びこ
の値が交番2進カウンタ2に供給されると、交番2進動
作によって次の0010bになり、同様にこの動作を0
000bになるまで16回繰り返し一順する。
【0020】分岐命令、あるいは割り込み処理の場合、
マルチプレクサ1はスタックあるいはバス等から供給さ
れる分岐先アドレスまたは割り込みベクタ等を選択し、
これらのアドレスデータがアドレスラッチ4に供給され
る。このとき、プログラムカウンタの、複数ビットの値
がスイッチングする組合せの入力アドレスデータが存在
する。
【0021】例えば、プログラムカウンタの値が010
0bのとき分岐動作によりバスから1100bのアドレ
スデータを選択すると、アドレスラッチ4にラッチされ
た後、次のサイクルでこの値が交番2進カウンタに供給
されるので、カウンタの値は0100から1101にカ
ウントアップし、第1および第4ビット目がそれぞれ1
にスイッチングする。しかし、図2に示した「分岐動
作」のように分岐動作を2命令サイクルで実行させるこ
とにより、第1サイクル目の「アドレス出力端子のレベ
ル不安定」期間を避けて、第2サイクル目のアドレス出
力端子のレベルが安定してから命令コードを入力するこ
とによりアドレスドライバに流れ込む電流の変化を最小
に抑止できる。
【0022】前述したように説明を容易にするため4ビ
ット構成のプログラムカウンタで説明したが、nビット
構成も可能であることは勿論である。その場合、nビッ
トを交番2進符号化する方法と、プログラムカウンタを
複数のブロックに分割し、それぞれのブロックを交番2
進符号化する方法とがある。前者の場合、全ての命令領
域についてプログラムが論理的に連続して進行するとき
に、スイッチングするのは1ビットのみであり、一方、
後者の場合は、プログラムが論理的に連続して進行する
場合、分割したブロック毎に、前述したようにスイッチ
ングするビット数を制限することができ、回路規模も前
者に比べて簡素化できる。
【0023】
【発明の効果】以上説明したように、本発明の交番2進
カウンタを用いたプログラムカウンタは、プログラムが
論理的に連続して進行するときに、隣りあうビットが同
時に0から1に、あるいは1から0にスイッチングする
ことなく、常に各桁のうちいずれか1つのビットのみが
スイッチングするので、その出力信号であるアドレスデ
ータがそれぞれ供給される、複数のアドレスドライバが
同時にスッチングすることを避けることができる。した
がって、アドレスドライバに流れ込む電流の変化を最小
に抑えることができるので、電源線および接地線のレベ
ルが安定し、アドレスバスを高速にスイッチングするこ
ともできるので、このプログラムカウンタを内蔵するマ
イクロプロセッサを高速化できるという効果がある。
【0024】また、アドレスドライバに流れ込む電流の
変化を最小に抑えることにより、従来のように複数の端
子を電源端子および接地端子に割り当る必要もなくなり
接続ピンの効率的な使用ができ、あるいは、より接続ピ
ン数の少ないパッケージを用いることもできるという効
果も有する。
【図面の簡単な説明】
【図1】本発明の一実施例を示すプログラムカウンタの
回路図である。
【図2】図1のプログラムカウンタの説明用タイミング
チャートである。
【図3】図1のプログラムカウンタ説明用の真理値表を
示す図である。
【図4】従来のプログラムカウンタ説明用の真理値表を
示す図である。
【図5】従来のプログラムカウンタ説明用のネクストア
ドレッシング方式の命令フィールドを示す図である。
【符号の説明】
1 マルチプレクサ 2 交番2進カウンタ 3 アドレスドライバ 4 アドレスラッチ 5 アドレス出力端子 21,23,25,27 インバータ 22,29,2c,2h,2i 2入力NOR 24,26,2e,2f 2入力OR 28,2g 2入力AND 2a,2b,2i,2j,2k 2入力NAND 2d 3入力OR CLK クロック

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 外部装置との間で制御信号および所定の
    データを入出力する入出力装置と、前記制御信号を生成
    するためにシステム全体の動作を制御する制御装置と、
    前記制御装置が前記入出力装置を介して前記所定のデー
    タの書き込みと読み出しができる記憶装置およびこの記
    憶装置から供給される前記所定のデータに演算処理理の
    操作をする演算装置からなる中央処理装置とを有するマ
    イクロプロセッサの前記制御装置に含まれ、かつ前記中
    央処理装置が次に実行すべき命令のアドレスデータを保
    持するプログラムカウンタにおいて、前記命令を連続的
    に実行するときに前記プログラムカウンタの前記アドレ
    スデータを構成する複数のバイナリ・デジットが同時に
    スイッチングしないように動作する制御手段を備えたこ
    とを特徴とするプログラムカウンタ。
  2. 【請求項2】 前記制御手段は、前記複数のバイナリ・
    デジットのとなり合うデジット位置の間では不一致ビッ
    トが常に1つになるようなカウント動作をする交番2進
    カウンタから供給される前記アドレスデータおよびアド
    レスバスからそれぞれ供給される前記アドレスデータの
    うち、いずれか一方の前記アドレスデータがマルチプレ
    クサで選択され、この選択結果がアドレスラッチに保持
    され、この保持された前記アドレスデータがクロックに
    応答して供給されるごとに前記交番2進カウンタがカウ
    ントアップし、そのカウント結果が前記マルチプレクサ
    に次のアドレスデータとして供給されるとともに、前記
    保持データはアドレスドライバを介してアドレス出力端
    子にも供給されるように構成されることを特徴とする請
    求項1記載のプログラムカウンタ。
JP24765093A 1993-10-04 1993-10-04 プログラムカウンタ Pending JPH07104998A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24765093A JPH07104998A (ja) 1993-10-04 1993-10-04 プログラムカウンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24765093A JPH07104998A (ja) 1993-10-04 1993-10-04 プログラムカウンタ

Publications (1)

Publication Number Publication Date
JPH07104998A true JPH07104998A (ja) 1995-04-21

Family

ID=17166648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24765093A Pending JPH07104998A (ja) 1993-10-04 1993-10-04 プログラムカウンタ

Country Status (1)

Country Link
JP (1) JPH07104998A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781523B2 (en) 2001-03-30 2004-08-24 National Institute Of Information And Communications Technology Road traffic monitoring system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781523B2 (en) 2001-03-30 2004-08-24 National Institute Of Information And Communications Technology Road traffic monitoring system

Similar Documents

Publication Publication Date Title
US4074351A (en) Variable function programmed calculator
US4485455A (en) Single-chip semiconductor unit and key input for variable function programmed system
US3470542A (en) Modular system design
US4868780A (en) Emulation circuit for interfacing joystick to ROM cartridge slot of computer
JPS63148346A (ja) 情報処理装置
CA1233280A (en) System for displaying alphanumeric messages
JPS6266322A (ja) デ−タバスバツフア制御回路
JPH07104998A (ja) プログラムカウンタ
KR900005547B1 (ko) 시퀀스 콘트로울러
JP2002279792A (ja) 半導体集積回路装置
US4471461A (en) Variable function programmed system
US4476541A (en) Variable function programmed system
US5793317A (en) Low power approach to state sequencing and sequential memory addressing in electronic systems
JPS6229832B2 (ja)
JPH0795269B2 (ja) 命令コードのデコード装置
US5740088A (en) Control signal generating device generating various control signals using storage unit having small storage capacity
JPS59112334A (ja) シ−ケンス発生器
CA1202727A (en) Microcomputer variable duty cycle signal generator
KR100192541B1 (ko) 타이머
JPH02118811A (ja) マイクロコンピュータ
JP3792633B2 (ja) マイクロコントローラ、及びマイクロコントローラ装置
JPS6336360Y2 (ja)
KR100215903B1 (ko) 메모리의리드/라이트회로
JP3789448B2 (ja) システムリソースプリスケーラを搭載したマイクロコントローラ
KR950003884B1 (ko) 퍼스컴 버스 인터페이스 회로

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990803