JP3523350B2 - プログラムカウンティングシステム及びプログラムカウンター作動方法 - Google Patents
プログラムカウンティングシステム及びプログラムカウンター作動方法Info
- Publication number
- JP3523350B2 JP3523350B2 JP32334394A JP32334394A JP3523350B2 JP 3523350 B2 JP3523350 B2 JP 3523350B2 JP 32334394 A JP32334394 A JP 32334394A JP 32334394 A JP32334394 A JP 32334394A JP 3523350 B2 JP3523350 B2 JP 3523350B2
- Authority
- JP
- Japan
- Prior art keywords
- program counter
- pointer
- program
- pointer number
- mode
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
プロセッサー用のプログラムカウンターに関する。
コードを読み通してそこに含まれる命令を実行できるよ
うに設計された、プログラムカウンターが含まれてい
る。マイクロプロセッサーのプログラムカウンターは、
プログラムカウンターの実行を変更するようなオペレー
ションが他にない場合には、通常各クロックサイクル毎
に増分(インクリメント)される。プログラムカウンタ
ーをこのように増分すると、プログラムの実行は、低メ
モリアドレス値から高メモリアドレス値へと進行する。
す。10に示すようなコード片の終端において、テスト
が実施され、その結果によりPC(プログラムカウン
タ)をどこへ移すべきかが判断される。例えば、このテ
ストを、2つのレジスタX及びYの比較としても良い。
基本的な論理操作により、X≦YであるかX>Yである
かが確認される。X≦YであればPCは命令Aへ移り、
命令Aが実行される。X>YであればPCは命令Bへ移
り、命令Bが実行される。図1bはこの動作モードに対
する決定木(decision tree )を示す。
かに幾分の制約がある。さらに別の判断ステップを設け
なければ、3つ以上の分岐を有する判断を行うことがで
きない。このことは明らかに判断プロセスの遅延をもた
らす。
前記した遅延が少なくとも幾分緩和されるシステムを提
供し、高速プロセッサーを提供することである。
ウンターを有し、該プログラムカウンターが該カウンタ
ーのアドレス値をインクリメント著しくはデクリメント
することが可能なプログラムカウンティングシステムが
提供される。
ーが、考えられるインストラクションをより任意に選択
するために、一つの判断ステップを実行するということ
である。これにより処理時間の増加なく、より複雑な判
断を行わせることができる。
スト内の所定ビットを読み取り、ビット値に従って判断
を行い、第1の判断に応答してプログラムカウンターを
インクリメントさせ、第2の判断に応答してプログラム
カウンターをデクリメントさせるステップを含む、プロ
グラムカウンター作動方法が提供される。
プログラムカウンターが提供される。プログラムカウン
ターはインクリメント及びデクリメントすることができ
る。この機能により、プログラムカウンターの値は、プ
ロセッサー状態もしくはプロセッサー信号に応じて、増
減することができる。プロセッサー状態は、コードリス
ト24のテスト結果をもとに、決定される。テストとし
て、例えば整数値Nと所定の定数Mとの比較を行っても
良い。N=Mであれば命令Aが実施され、N<Mであれ
ば命令Bが実施され、N>Mであれば命令Cが実施され
る。
リスト上でダウンカウントを続行する。命令Bにより、
プログラムカウンターはコードリスト28のビット26
へ移り、矢符30で示されるようにコードを読み下る。
命令Cによりカウンターはビット26へ移り、矢符32
の方向にコードを読み上がる。カウンターがビット26
から読み上がるのを容易にするために、ビット34−3
6の情報は全て逆順で書かれている。すなわち、ビット
34を高アドレスとし、ビット36を、低アドレスにす
ることにより、プログラムカウンターは高アドレス値か
ら低アドレス値へ読み取りを行う。これは明らかに標準
プログラムカウンターが機能する方向とは逆方向であ
る。
せることにより、さらに判断ステップを設けることな
く、2つの選択枝の中の一つではなく、3つの選択枝の
中の一つを決定することができる。すなわち判定木を実
施するのに費やすサイクル数を少なくすることができ
る。これにより3つ以上の選択枝に対する判断ステップ
を実施する場合にカウンターの動作速度が有効に高めら
れる。
判断分岐は通常通りに実施される。コード24における
テストにより、Nの値がM以上であるかどうかが確認さ
れる。M以上であればポインターがビット26へ移され
る。分岐先であるビット26において、プログラムカウ
ンターはNの値がM以上であったかどうかに従って“ア
ップ”もしくは“ダウン”方向にコードを実行する。例
えば、N>Mであれば“アップ”N<Mであれば“ダウ
ン”とされる。
たようにコードを通常の方向とは逆にする必要がある。
これは例えばアッセンブラーやコンパイラーを使用して
記憶方式を逆にして達成することができる。
されたものの替りに、他の様々な変型例が考えられる。
例えば、判断ツールは、N及びMの相対値に依存する必
要はなく、別の論理セットに依存するように設計するこ
とができる。本発明がアッセンブリーコードに限定され
ないことは明らかで、カウンターやポインターを含む任
意のコンピュータプログラムにも応用することができ
る。
明してきたが、コンピュータやマイクロコンピュータや
任意の他のプロセッサーにも使用することができる。以
上の説明に関して更に以下の項を開示する。
ムにおいて、プログラムカウンターを有し、該プログラ
ムカウンターは、該カウンターのアドレス値をインクリ
メント若しくはデクリメントすることが可能なプログラ
ムカウンティングシステム。
3つ以上の判断事項に関して判断を行い、可能性のある
複数の判断のうちの所定の1つの判断が成り立つ場合に
は、プログラムカウントのインクリメントを行うための
判断手段を更に含む、プログラムカウンティングシステ
ム。
3つの判断事項があり、考え得る判断のうちの予め定め
られた1つでない、2つの判断事項が、デクリメントプ
ログラムカウントを生ずる、プログラムカウンティング
システム。
テムであって、前記判断手段は、状態もしくは値Nを識
別するための識別手段及び状態もしくは値Mを比較する
ための比較手段を含む、プログラムカウンティングシス
テム。
N=Mの場合第1の判断がなされ、N<Mの場合第2の
判断がなされ、N>Mの場合第3の判断がなされる、プ
ログラムカウンティングシステム。
のシステムであって、プログラムカウンターが、判断に
応答してプログラムリストの新しい位置へ移る、プログ
ラムカウンティングシステム。
判断によりデクリメントプログラムカウントが生じる
と、前記デクリメントカウントが行われるプログラムリ
ストが逆にされる、プログラムカウンティングシステ
ム。
プログラムリストが逆にされる、プログラムカウンティ
ングシステム。
であって、プログラムリスト内の所定ビットを読み取る
ステップと、ビット値に従って判断を行うステップと、
第1の判断に応答してプログラムカウンターをインクリ
メントさせるステップと、第2の判断に応答してプログ
ラムカウンターをデクリメントさせるステップと、を含
むことを特徴とするプログラムカウンター作動方法。
らに3つの判断事項について判断を行うステップを含
み、プログラムカウントをデクリメントさせるステップ
は、第1の判断を除く全ての判断に対してプログラムカ
ウンターにデクリメントを行わせるステップを含む、プ
ログラムカウンター作動方法。
法であって、判断ステップはビット値を所定の定数と比
較し、前記ビット値及び前記定数に関連づけられた、複
数の異なる条件の各々に対して、異なる判断を行うこと
を含む、プログラムカウンター作動方法。
いて実質的に前記したプログラムカウンター。
いて実質的に前記した方法。
メント及びデクリメントするとが可能なプログラムカウ
ンターにおいて、コンピュータ論理の決定木のインプリ
メンテーションを効率化し、ビット値が決定され所定値
と比較され、例えば、3つの判断事項の各々について異
なる判断がなされ、これらの判断の一つによりプログラ
ムカウンターは現在のプログラムリストを継続すること
ができ、第2の判断によりカウンターは新しいリストへ
移りカウンターの減分動作を生じ、最後の判断により第
2の判断と同じ位置へ移ることができるが、カウンター
の増分動作が生じる、プロウラムカウンター。
aのシステムにおけるアセンブリーコード決定テーブ
ル。
ロック図。bは図2aのシステムにおけるアセンブリー
コード決定テーブル。
Claims (2)
- 【請求項1】 クロック発生クロックサイクルによって
制御されるプログラムカウンターシステムであって、 単一機器条件ジャンプ命令に応答し、かつ1つのクロッ
クサイクル内に、プグラムカウンター信号を発生する論
理回路を有し、このプグラムカウンター信号は、指示さ
れている2つのオペランド番号MとNの関係が(A)M
=N,(B)M<N又は(C)M>Nかによって、第
1、第2又は第3のプグラムカウンター信号となるもの
であり、かつプログラムカウンター回路を有し、このプ
ログラムカウンター回路はポインター番号を記憶するア
ドレスポインターレジスタを持ち、かつ (i)ポインタ
ー番号を各クロックサイクルでインクリメントするイン
クリメントモードと、(ii)ポインター番号を各クロック
サイクルでデクリメントするデクリメントモードと、を
実行するものであり、更にプグラムカウンター信号が第
1か、第2か、又は第3かに応じて、(A)ポインター
番号をインクリメントするか、(B)ポインター番号を
所定のジャンプ番号に変更して更にデクリメントモード
を実行するか(C)ポインター番号を所定のジャンプ番
号に変更して更にインクリメントモードを実行するもの
であり、 その際、単一機器条件命令が、次の3つの選択肢の内の
1つを可能とする、つまり、現在の命令ブロックを進行
する、単一の新しい命令アドレスへジャンプしそこで2
つの選択可能な新しい命令ブロックのいずれかを始め
る、 前記プログラムカウンターシステム。 - 【請求項2】 クロック発生クロックサイクルによって
制御されるプログラムカウンターシステムを実行する方
法であって、 ポインター番号を記憶するアドレスポインターレジスタ
を有し、かつ (i)ポインター番号を各クロックサイク
ルでインクリメントするインクリメントモードと、(ii)
ポインター番号を各クロックサイクルでデクリメントす
るデクリメントモードと、を実行する、プログラムカウ
ンター回路を用意し、 (A)M=N(B)M<N(C)M>Nを決定するステ
ップと、 (A)M=Nのとき、ポインター番号をインクリメント
し(B)M<Nのとき、ポインター番号を所定のジャン
プ番号に変更して更にデクリメントモードを実行し
(C)M>Nのとき、ポインター番号を所定のジャンプ
番号に変更して更にインクリメントモードを実行するス
テップと、 その際、単一機器条件命令が次の3つの選択肢の内の1
つを可能とする、つまり、現在の命令ブロックを進行す
る、単一の新しい命令アドレスへジャンプしてそこで2
つの選択可能な新しい命令ブロックを始める、 前記プログラムカウンターシステムを実行する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB93263168 | 1993-12-23 | ||
GB939326316A GB9326316D0 (en) | 1993-12-23 | 1993-12-23 | Improvements in or relating to program counters |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07306783A JPH07306783A (ja) | 1995-11-21 |
JP3523350B2 true JP3523350B2 (ja) | 2004-04-26 |
Family
ID=10747110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32334394A Expired - Fee Related JP3523350B2 (ja) | 1993-12-23 | 1994-12-26 | プログラムカウンティングシステム及びプログラムカウンター作動方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5732252A (ja) |
EP (1) | EP0660230B1 (ja) |
JP (1) | JP3523350B2 (ja) |
DE (1) | DE69428417T2 (ja) |
GB (1) | GB9326316D0 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708788A (en) * | 1995-03-03 | 1998-01-13 | Fujitsu, Ltd. | Method for adjusting fetch program counter in response to the number of instructions fetched and issued |
US5920713A (en) * | 1995-10-06 | 1999-07-06 | Advanced Micro Devices, Inc. | Instruction decoder including two-way emulation code branching |
US6851046B1 (en) | 2000-11-14 | 2005-02-01 | Globespanvirata, Inc. | Jumping to a recombine target address which is encoded in a ternary branch instruction |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4300195A (en) * | 1979-08-09 | 1981-11-10 | Motorola, Inc. | CMOS Microprocessor architecture |
DE3609056A1 (de) * | 1985-03-18 | 1986-09-18 | Nec Corp., Tokio/Tokyo | Zaehlerschaltkreis |
US4959797A (en) * | 1987-12-11 | 1990-09-25 | Tensor Development, Inc. | System for tightening threaded fastener assemblies |
US5255382A (en) * | 1990-09-24 | 1993-10-19 | Pawloski Martin B | Program memory expander for 8051-based microcontrolled system |
US5469550A (en) * | 1992-01-28 | 1995-11-21 | Cezzar; Ruknet | Reversible computer apparatus and methods of constructing and utilizing same |
US5410721A (en) * | 1992-12-24 | 1995-04-25 | Motorola, Inc. | System and method for incrementing a program counter |
-
1993
- 1993-12-23 GB GB939326316A patent/GB9326316D0/en active Pending
-
1994
- 1994-12-20 DE DE69428417T patent/DE69428417T2/de not_active Expired - Lifetime
- 1994-12-20 EP EP94309530A patent/EP0660230B1/en not_active Expired - Lifetime
- 1994-12-23 US US08/363,470 patent/US5732252A/en not_active Expired - Lifetime
- 1994-12-26 JP JP32334394A patent/JP3523350B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69428417D1 (de) | 2001-10-31 |
JPH07306783A (ja) | 1995-11-21 |
US5732252A (en) | 1998-03-24 |
DE69428417T2 (de) | 2002-06-20 |
EP0660230B1 (en) | 2001-09-26 |
GB9326316D0 (en) | 1994-02-23 |
EP0660230A1 (en) | 1995-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715013A (en) | Coprocessor instruction format | |
KR100328162B1 (ko) | 정보처리회로와마이크로컴퓨터와전자기기 | |
US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
EP0471191B1 (en) | Data processor capable of simultaneous execution of two instructions | |
US5604913A (en) | Vector processor having a mask register used for performing nested conditional instructions | |
US6502183B2 (en) | Stack oriented data processing device | |
EP2215544B1 (en) | Enhanced microprocessor or microcontroller | |
US4734877A (en) | Vector processing system | |
US9436466B2 (en) | Blank bit and processor instructions employing the blank bit | |
JP3523350B2 (ja) | プログラムカウンティングシステム及びプログラムカウンター作動方法 | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
KR100314484B1 (ko) | 정보 처리기 | |
JPH034936B2 (ja) | ||
EP0318699B1 (en) | Operation apparatus processing data of arbitrary length | |
US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
JP2553200B2 (ja) | 情報処理装置 | |
US6505225B1 (en) | Adder logic circuit and processor | |
US4866608A (en) | Microprocessor with improved execution of instructions | |
KR100381876B1 (ko) | 프로그램카운팅시스템및카운터의동작방법 | |
JP3124361B2 (ja) | メモリデータロード装置 | |
JPS61282932A (ja) | アドレスカウンタ制御方式 | |
JPS6327746B2 (ja) | ||
JP2987281B2 (ja) | プロセッサ | |
JP2560401B2 (ja) | プログラム例外処理方式 | |
JP2679603B2 (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040105 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040206 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090220 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100220 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100220 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110220 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |