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
Application number
JP32334394A
Other languages
English (en)
Other versions
JPH07306783A (ja
Inventor
ウィルソン デイビッド
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
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 テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
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)

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 ビット
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭49−32552(JP,A) 特開 平3−75932(JP,A) 特開 昭63−111535(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/36

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項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. 【請求項2】 クロック発生クロックサイクルによって
    制御されるプログラムカウンターシステムを実行する方
    法であって、 ポインター番号を記憶するアドレスポインターレジスタ
    を有し、かつ (i)ポインター番号を各クロックサイク
    ルでインクリメントするインクリメントモードと、(ii)
    ポインター番号を各クロックサイクルでデクリメントす
    るデクリメントモードと、を実行する、プログラムカウ
    ンター回路を用意し、 (A)M=N(B)M<N(C)M>Nを決定するステ
    ップと、 (A)M=Nのとき、ポインター番号をインクリメント
    し(B)M<Nのとき、ポインター番号を所定のジャン
    プ番号に変更して更にデクリメントモードを実行し
    (C)M>Nのとき、ポインター番号を所定のジャンプ
    番号に変更して更にインクリメントモードを実行するス
    テップと、 その際、単一機器条件命令が次の3つの選択肢の内の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
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)

* 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
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