JPH07306783A - プログラムカウンティングシステム及びプログラムカウンター作動方法 - Google Patents
プログラムカウンティングシステム及びプログラムカウンター作動方法Info
- Publication number
- JPH07306783A JPH07306783A JP6323343A JP32334394A JPH07306783A JP H07306783 A JPH07306783 A JP H07306783A JP 6323343 A JP6323343 A JP 6323343A JP 32334394 A JP32334394 A JP 32334394A JP H07306783 A JPH07306783 A JP H07306783A
- Authority
- JP
- Japan
- Prior art keywords
- program
- counter
- program counter
- bit
- judgement
- 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
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)
Abstract
クリメントが可能なプログラムカウンターを提供する。 【構成】 本機能により、コンピュータ論理における決
定木のインプリメンテーションが効率化される。あるビ
ットのビット値が決定され、所定値と比較される。例え
ば、3つの判断事項の各々について異なる判断がなされ
る。これらの判断の一つは、プログラムカウンター20
を、現在のプログラムリスト上で継続させる。第2の判
断により、カウンターは新しいリストへ移り、カウンタ
ーのデクリメント動作が生じる。最後の判断により、第
2の判断と同じ位置へ移り、カウンターのインクリメン
ト動作が生じる。
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】 プログラムカウンティングシステムにお
いて、プログラムカウンターを有し、該プログラムカウ
ンターは、該カウンターのアドレス値をインクリメント
若しくはデクリメントすることが可能なことを特徴とす
る、プログラムカウンティングシステム。 - 【請求項2】 プログラムカウンターの作動方法であっ
て、プログラムリスト内の所定ビットを読み取るステッ
プと、ビット値に従って判断を行うステップと、第1の
判断に応答してプログラムカウンターをインクリメント
させるステップと、第2の判断に応答してプログラムカ
ウンターをデクリメントさせるステップと、を含むこと
を特徴とする、プログラムカウンター作動方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB939326316A GB9326316D0 (en) | 1993-12-23 | 1993-12-23 | Improvements in or relating to program counters |
GB93263168 | 1993-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07306783A true JPH07306783A (ja) | 1995-11-21 |
JP3523350B2 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 |
---|---|
EP0660230A1 (en) | 1995-06-28 |
EP0660230B1 (en) | 2001-09-26 |
GB9326316D0 (en) | 1994-02-23 |
DE69428417D1 (de) | 2001-10-31 |
DE69428417T2 (de) | 2002-06-20 |
JP3523350B2 (ja) | 2004-04-26 |
US5732252A (en) | 1998-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715013A (en) | Coprocessor instruction format | |
EP1226492B1 (en) | Method and apparatus for maintaining context while executing translated instructions | |
US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
US9436466B2 (en) | Blank bit and processor instructions employing the blank bit | |
JP3793155B2 (ja) | データ処理装置におけるソースレジスタのロッキング | |
US4734877A (en) | Vector processing system | |
US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system | |
JP3523350B2 (ja) | プログラムカウンティングシステム及びプログラムカウンター作動方法 | |
US6370638B1 (en) | Apparatus and method of computer program control in computer systems using pipeline processing | |
US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
US6049669A (en) | Exploiting case correlation to increase performance of programs with branch/switch instructions | |
US20070074186A1 (en) | Method and system for performing reassociation in software loops | |
KR100381876B1 (ko) | 프로그램카운팅시스템및카운터의동작방법 | |
JP3014682B2 (ja) | プログラム制御方法及び装置 | |
JPS6327746B2 (ja) | ||
KR100222304B1 (ko) | 프로그래머블 로직 콘트롤러 로더의 디바이스 판별방법 | |
JPS61282932A (ja) | アドレスカウンタ制御方式 | |
JPH0954694A (ja) | パイプラインプロセッサおよびその処理方法 | |
JP2522562B2 (ja) | プログラマブルコントロ―ラ | |
JPH03204004A (ja) | プログラマブルコントローラ | |
JP2560401B2 (ja) | プログラム例外処理方式 | |
JP3124361B2 (ja) | メモリデータロード装置 | |
JP3705263B2 (ja) | シーケンサ | |
JP3239042B2 (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 |