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
Application number
JP6323343A
Other languages
English (en)
Other versions
JP3523350B2 (ja
Inventor
David Wilson
ウィルソン デイビッド
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH07306783A publication Critical patent/JPH07306783A/ja
Application granted granted Critical
Publication of JP3523350B2 publication Critical patent/JP3523350B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program 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

(57)【要約】 【目的】 プログラムカウントのインクリメント及びデ
クリメントが可能なプログラムカウンターを提供する。 【構成】 本機能により、コンピュータ論理における決
定木のインプリメンテーションが効率化される。あるビ
ットのビット値が決定され、所定値と比較される。例え
ば、3つの判断事項の各々について異なる判断がなされ
る。これらの判断の一つは、プログラムカウンター20
を、現在のプログラムリスト上で継続させる。第2の判
断により、カウンターは新しいリストへ移り、カウンタ
ーのデクリメント動作が生じる。最後の判断により、第
2の判断と同じ位置へ移り、カウンターのインクリメン
ト動作が生じる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータやマイクロ
プロセッサー用のプログラムカウンターに関する。
【0002】
【従来の技術】マイクロプロセッサーには、プログラム
コードを読み通してそこに含まれる命令を実行できるよ
うに設計された、プログラムカウンターが含まれてい
る。マイクロプロセッサーのプログラムカウンターは、
プログラムカウンターの実行を変更するようなオペレー
ションが他にない場合には、通常各クロックサイクル毎
に増分(インクリメント)される。プログラムカウンタ
ーをこのように増分すると、プログラムの実行は、低メ
モリアドレス値から高メモリアドレス値へと進行する。
【0003】図1aに代表的な従来技術のシステムを示
す。10に示すようなコード片の終端において、テスト
が実施され、その結果によりPC(プログラムカウン
タ)をどこへ移すべきかが判断される。例えば、このテ
ストを、2つのレジスタX及びYの比較としても良い。
基本的な論理操作により、X≦YであるかX>Yである
かが確認される。X≦YであればPCは命令Aへ移り、
命令Aが実行される。X>YであればPCは命令Bへ移
り、命令Bが実行される。図1bはこの動作モードに対
する決定木(decision tree )を示す。
【0004】
【発明が解決しようとする課題】この種の動作には明ら
かに幾分の制約がある。さらに別の判断ステップを設け
なければ、3つ以上の分岐を有する判断を行うことがで
きない。このことは明らかに判断プロセスの遅延をもた
らす。
【0005】
【課題を解決するための手段】本発明の一つの目的は、
前記した遅延が少なくとも幾分緩和されるシステムを提
供し、高速プロセッサーを提供することである。
【0006】本発明の一つの特徴により、プログラムカ
ウンターを有し、該プログラムカウンターが該カウンタ
ーのアドレス値をインクリメント著しくはデクリメント
することが可能なプログラムカウンティングシステムが
提供される。
【0007】本システムの利点は、マイクロプロセッサ
ーが、考えられるインストラクションをより任意に選択
するために、一つの判断ステップを実行するということ
である。これにより処理時間の増加なく、より複雑な判
断を行わせることができる。
【0008】本発明の第2の特徴により、プログラムリ
スト内の所定ビットを読み取り、ビット値に従って判断
を行い、第1の判断に応答してプログラムカウンターを
インクリメントさせ、第2の判断に応答してプログラム
カウンターをデクリメントさせるステップを含む、プロ
グラムカウンター作動方法が提供される。
【0009】
【実施例】本発明により、図2aの20に大略を示す、
プログラムカウンターが提供される。プログラムカウン
ターはインクリメント及びデクリメントすることができ
る。この機能により、プログラムカウンターの値は、プ
ロセッサー状態もしくはプロセッサー信号に応じて、増
減することができる。プロセッサー状態は、コードリス
ト24のテスト結果をもとに、決定される。テストとし
て、例えば整数値Nと所定の定数Mとの比較を行っても
良い。N=Mであれば命令Aが実施され、N<Mであれ
ば命令Bが実施され、N>Mであれば命令Cが実施され
る。
【0010】命令Aにより、カウンターは最初のコード
リスト上でダウンカウントを続行する。命令Bにより、
プログラムカウンターはコードリスト28のビット26
へ移り、矢符30で示されるようにコードを読み下る。
命令Cによりカウンターはビット26へ移り、矢符32
の方向にコードを読み上がる。カウンターがビット26
から読み上がるのを容易にするために、ビット34−3
6の情報は全て逆順で書かれている。すなわち、ビット
34を高アドレスとし、ビット36を、低アドレスにす
ることにより、プログラムカウンターは高アドレス値か
ら低アドレス値へ読み取りを行う。これは明らかに標準
プログラムカウンターが機能する方向とは逆方向であ
る。
【0011】プログラムカウンターをこのように作動さ
せることにより、さらに判断ステップを設けることな
く、2つの選択枝の中の一つではなく、3つの選択枝の
中の一つを決定することができる。すなわち判定木を実
施するのに費やすサイクル数を少なくすることができ
る。これにより3つ以上の選択枝に対する判断ステップ
を実施する場合にカウンターの動作速度が有効に高めら
れる。
【0012】本発明により、図2bに示すような第1の
判断分岐は通常通りに実施される。コード24における
テストにより、Nの値がM以上であるかどうかが確認さ
れる。M以上であればポインターがビット26へ移され
る。分岐先であるビット26において、プログラムカウ
ンターはNの値がM以上であったかどうかに従って“ア
ップ”もしくは“ダウン”方向にコードを実行する。例
えば、N>Mであれば“アップ”N<Mであれば“ダウ
ン”とされる。
【0013】コードをリード“アップ”するには前記し
たようにコードを通常の方向とは逆にする必要がある。
これは例えばアッセンブラーやコンパイラーを使用して
記憶方式を逆にして達成することができる。
【0014】上記の本発明の実施例において、既に開示
されたものの替りに、他の様々な変型例が考えられる。
例えば、判断ツールは、N及びMの相対値に依存する必
要はなく、別の論理セットに依存するように設計するこ
とができる。本発明がアッセンブリーコードに限定され
ないことは明らかで、カウンターやポインターを含む任
意のコンピュータプログラムにも応用することができ
る。
【0015】マイクロプロセッサーについて本発明を説
明してきたが、コンピュータやマイクロコンピュータや
任意の他のプロセッサーにも使用することができる。以
上の説明に関して更に以下の項を開示する。
【0016】(1).プログラムカウンティングシステ
ムにおいて、プログラムカウンターを有し、該プログラ
ムカウンターは、該カウンターのアドレス値をインクリ
メント若しくはデクリメントすることが可能なプログラ
ムカウンティングシステム。
【0017】(2).第1項記載のシステムであって、
3つ以上の判断事項に関して判断を行い、可能性のある
複数の判断のうちの所定の1つの判断が成り立つ場合に
は、プログラムカウントのインクリメントを行うための
判断手段を更に含む、プログラムカウンティングシステ
ム。
【0018】(3).第2項記載のシステムであって、
3つの判断事項があり、考え得る判断のうちの予め定め
られた1つでない、2つの判断事項が、デクリメントプ
ログラムカウントを生ずる、プログラムカウンティング
システム。
【0019】(4).第2項もしくは第3項記載のシス
テムであって、前記判断手段は、状態もしくは値Nを識
別するための識別手段及び状態もしくは値Mを比較する
ための比較手段を含む、プログラムカウンティングシス
テム。
【0020】(5).第4項記載のシステムであって、
N=Mの場合第1の判断がなされ、N<Mの場合第2の
判断がなされ、N>Mの場合第3の判断がなされる、プ
ログラムカウンティングシステム。
【0021】(6).第2項−第5項のいずれかに記載
のシステムであって、プログラムカウンターが、判断に
応答してプログラムリストの新しい位置へ移る、プログ
ラムカウンティングシステム。
【0022】(7).第6項記載のシステムであって、
判断によりデクリメントプログラムカウントが生じる
と、前記デクリメントカウントが行われるプログラムリ
ストが逆にされる、プログラムカウンティングシステ
ム。
【0023】(8).第6項記載のシステムであって、
プログラムリストが逆にされる、プログラムカウンティ
ングシステム。
【0024】(9).プログラムカウンターの作動方法
であって、プログラムリスト内の所定ビットを読み取る
ステップと、ビット値に従って判断を行うステップと、
第1の判断に応答してプログラムカウンターをインクリ
メントさせるステップと、第2の判断に応答してプログ
ラムカウンターをデクリメントさせるステップと、を含
むことを特徴とするプログラムカウンター作動方法。
【0025】(10).第9項記載の方法であって、さ
らに3つの判断事項について判断を行うステップを含
み、プログラムカウントをデクリメントさせるステップ
は、第1の判断を除く全ての判断に対してプログラムカ
ウンターにデクリメントを行わせるステップを含む、プ
ログラムカウンター作動方法。
【0026】(11).第8項もしくは第9項記載の方
法であって、判断ステップはビット値を所定の定数と比
較し、前記ビット値及び前記定数に関連づけられた、複
数の異なる条件の各々に対して、異なる判断を行うこと
を含む、プログラムカウンター作動方法。
【0027】(12).添付第2a図及び第2b図につ
いて実質的に前記したプログラムカウンター。
【0028】(13).添付第2a図及び第2b図につ
いて実質的に前記した方法。
【0029】(14).プログラムカウントをインクリ
メント及びデクリメントするとが可能なプログラムカウ
ンターにおいて、コンピュータ論理の決定木のインプリ
メンテーションを効率化し、ビット値が決定され所定値
と比較され、例えば、3つの判断事項の各々について異
なる判断がなされ、これらの判断の一つによりプログラ
ムカウンターは現在のプログラムリストを継続すること
ができ、第2の判断によりカウンターは新しいリストへ
移りカウンターの減分動作を生じ、最後の判断により第
2の判断と同じ位置へ移ることができるが、カウンター
の増分動作が生じる、プロウラムカウンター。
【図面の簡単な説明】
【図1】aは従来技術システムのブロック図。bは図1
aのシステムにおけるアセンブリーコード決定テーブ
ル。
【図2】aは本発明の一つの特徴による、システムのブ
ロック図。bは図2aのシステムにおけるアセンブリー
コード決定テーブル。
【符号の説明】
10 コード片 20 プログラムカウンター 24 コードリスト 26 ビット 28 コードリスト 34 ビット 36 ビット

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムカウンティングシステムにお
    いて、プログラムカウンターを有し、該プログラムカウ
    ンターは、該カウンターのアドレス値をインクリメント
    若しくはデクリメントすることが可能なことを特徴とす
    る、プログラムカウンティングシステム。
  2. 【請求項2】 プログラムカウンターの作動方法であっ
    て、プログラムリスト内の所定ビットを読み取るステッ
    プと、ビット値に従って判断を行うステップと、第1の
    判断に応答してプログラムカウンターをインクリメント
    させるステップと、第2の判断に応答してプログラムカ
    ウンターをデクリメントさせるステップと、を含むこと
    を特徴とする、プログラムカウンター作動方法。
JP32334394A 1993-12-23 1994-12-26 プログラムカウンティングシステム及びプログラムカウンター作動方法 Expired - Fee Related JP3523350B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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