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

プログラムカウンタ

Info

Publication number
JPH05216659A
JPH05216659A JP33865691A JP33865691A JPH05216659A JP H05216659 A JPH05216659 A JP H05216659A JP 33865691 A JP33865691 A JP 33865691A JP 33865691 A JP33865691 A JP 33865691A JP H05216659 A JPH05216659 A JP H05216659A
Authority
JP
Japan
Prior art keywords
address
selecting means
program counter
displacement value
selector
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.)
Withdrawn
Application number
JP33865691A
Other languages
English (en)
Inventor
Junichi Goto
順一 後藤
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 JP33865691A priority Critical patent/JPH05216659A/ja
Publication of JPH05216659A publication Critical patent/JPH05216659A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【構成】アドレスレジスタ4の内容を更新するために必
要ないくつかの信号を第1の選択手段1および第2の選
択手段2に、各々の入力数がほぼ等しくなるように分配
して入力し、その出力を加算器3で加算し、その結果を
新たなアドレスとしてアドレスレジスタ4に格納する。 【効果】信号を2つの選択手段に分配して入力するの
で、1個の選択手段に集中して入力していた従来のプロ
グラムカウンタに比べ、各選択手段の入力数を削減でき
る。一般に同じプロセスおよび論理タイプならば、入力
数が少ない方が遅延時間は短かくなる。従って、プログ
ラムカウンタの動作を高速化することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタルプロセッサ
等で用いられるプログラムカウンタに関するものであ
る。
【0002】
【従来の技術】プログラムカウンタはコンピュータシス
テムにおいて、命令が格納されているメモリ中の現在実
行中のアドレスを保持するポインタであり、命令を一つ
一つ実行して行くに従って次の命令が格納されているア
ドレスを保持するように更新される。その基本動作は、
現在のアドレスに何らかのディスプレースメント値を加
算して、逐次アドレスを更新して行くことである。この
ディスプレースメント値は、1つ1つの命令がメモリ中
で占めるバイト数に等しくなくてはならない。このバイ
ト数はプロセッサによって異なるが、例えばプロセッサ
によっては1つの命令が1バイトで構成されるもの(1
バイト命令)から6バイトで構成されるもの(6バイト
命令)まで備えている。従って、命令に従って複数のデ
ィスプレースメント値の中から1個を選択して、現在の
アドレスに加算することになる。さらにジャンプあるい
はコールといった分岐命令の場合、分岐先アドレスを現
在のアドレスに加算することなく、プログラムカウンタ
にセットする機能も必要である。以上の動作を行うプロ
グラムカウンタの、従来のものの一例を図3に示す。同
図では、1バイト命令から6バイト命令に相当するディ
スプレースメント値を現在のアドレスに加算すること
と、分岐先アドレスを次のアドレスとしてセットするこ
とができる構成になっている。
【0003】ディスプレースメント値を現在のアドレス
に加算する場合は、セレクタ10の入力“+1”〜“+
6”の中から命令のバイト数に応じた1個が選択され、
セレクタ20ではアドレスレジスタ40に保持されてい
る現在のアドレスが選択される。これにより、“+1”
〜“+6”のいずれかのディスプレースメント値と現在
のアドレスが加算器30で加算されて、その結果が次の
アドレスとして再びアドレスレジスタ40に格納され
る。
【0004】また、分岐先アドレスを次のアドレスとし
てセットする場合は、セレクタ10は、分岐先アドレス
である“BRAD”を選択し、セレクタ20は値“0”
を選択する。この結果、加算器30は“BRAD”その
ものを加算結果として出力し、アドレスレジスタ40に
は“BRAD”が次のアドレスとして格納される。
【0005】セレクタ10およびセレクタ20の具体例
を図4(a)および図4(b)に示す。ただし、これら
は1ビット分のセレクタ回路のみを示しており、実際の
回路では、これらをプログラムカウンタの持つべきビッ
ト幅数分だけ並列に設ける必要がある。また図3では、
セレクタ20はアドレスレジスタ40の出力と値“0”
を選択するように示されているが、この機能を図4
(a)では、信号SZが“1”ならばアドレスレジスタ
40の出力を選択し、信号SZが“0”ならば値“0”
を出力することで実現している。
【0006】
【発明が解決しようとする課題】以上述べた従来のプロ
グラムカウンタでは、ディスプレースメント値および分
岐先アドレスの種類が多くなると(実際に直接,間接お
よびインデックス等のアドレッシング方法がある)、セ
レクタ10の入力数も増加し、その遅延時間が大きくな
るのでプログラムカウンタの動作速度の低下を招く。
【0007】本発明は、ディスプレースメント値および
分岐先アドレスの種類が同じならば、従来のプログラム
カウンタよりも高速に動作するプログラムカウンタを提
供することを目的とする。
【0008】
【課題を解決するための手段】本発明のプログラムカウ
ンタは、m個のディジタル信号から1個のディジタル信
号を選択して出力する第1の選択手段と、n個のディジ
タル信号から1個のディジタル信号を選択して出力する
第2の選択手段と、前記第1の選択手段の出力と前記第
2の選択手段の出力との加算を実行する加算器と、前記
加算器の出力を保持する記憶手段とを備え、前記記憶手
段の出力が、前記第1の選択手段のm個の入力の1個お
よび前記第2の選択手段のn個の入力の1個に接続され
ることを特徴としている。
【0009】
【作用】プログラムカウンタに入力すべき多数のディス
プレースメント値および分岐先アドレスを、その合計の
個数がほぼ1/2になるように加算器の2個の入力の各
々に接続したセレクタに分配して入力することにより、
各セレクタを高速に動作させることができる。
【0010】
【実施例】次に図面を用いて本発明について詳細に説明
する。図1は、本発明の一実施例のブロック図である。
この実施例では、図3に示される従来のプログラムカウ
ンタと同じく、ディスプレースメント値が“+1”から
“+6”の6種類、分岐先アドレスが“BRAD”の1
種類の計7種類の入力が、次のアドレスを決定する例を
示している。ただし、ディスプレースメント値が第1の
選択手段1および第2の選択手段2に分配して入力され
ているので、加算されるべき現在のアドレスも両選択手
段に入力できるようになっている。また、分岐先アドレ
スを次のアドレスとしてセットするために必要な値
“0”と“BRAD”は、それぞれ第1の選択手段1と
第2の選択手段2に入力されている。このため、第1の
選択手段および第2の選択手段2は、それぞれ5入力セ
レクタとなっている。
【0011】まず、ディスプレースメント値を現在のア
ドレスに加算する場合を説明する。ディスプレースメン
ト値として“+1”〜“+3”のいずれかを現在のアド
レスに加算する場合は第1の選択手段1でそのディスプ
レースメント値を選択し、第2の選択手段2でアドレス
レジスタ4に保持されている現在のアドレスを選択す
る。これにより加算器3は現在のアドレスに+1,+2
あるいは+3を加算して、その結果が次のアドレスとし
てアドレスレジスタ4に格納される。ディスプレースメ
ント値として“+4”〜“+6”のいずれかを現在のア
ドレス加算する場合は、第2の選択手段2でそのディス
プレースメント値を選択し、第1の選択手段1でアドレ
スレジスタ4に保持されている現在のアドレスを選択す
る。これにより加算器3は現在のアドレスに+4,+5
あるいは+6を加算し、その結果が次のアドレスとして
アドレスレジスタ4に格納される。
【0012】また、分岐先アドレスを次のアドレスとし
てセットする場合は、第1の選択手段1で値“0”を選
択し、第2の選択手段2で分岐先アドレスである“BR
AD”を選択する。これにより加算器3は“BRAD”
そのものを加算結果として出力するので、これが分岐先
アドレスとしてアドレスレジスタ4に格納される。
【0013】以上のようにしてプログラムカウンタとし
てのアドレス更新が実行できる。次に図2(a)に第1
の選択手段の具体例を示す。これは第1の選択手段1
が、NANDゲートで構成された4入力セレクタの例で
ある。ただしここでは1ビット分のセレクタ回路のみを
示しており、実際の回路を構成する場合は、このセレク
タをプログラムカウンタの持つべきビット数幅分だけ並
列に設ける必要がある。信号S0〜S3のいずれか1つ
のみを“1”とし、他を“0”とすることで、それぞれ
アドレスレジスタ4の出力およびディスプレースメント
値“+1”,“+2”,“+3”の中からいずれか1つ
が選択される。尚、値“0”を選択する操作はこのセレ
クタの場合、信号S0〜S3の4つ全てを“0”とする
ことで置き換えられる。
【0014】図2(b)には第2の選択手段の具体例を
示す。これは第2の選択手段2が、NANDゲートで構
成された4入力セレクタの例である。図2(a)と同様
に1ビット分のセレクタ回路のみを示しており、実際の
回路を構成する場合は、このセレクタをプログラムカウ
ンタの持つべきビット数幅分だけ並列に設ける必要があ
る。信号S4〜S8のいずれか1つのみを“1”とし、
他を“0”とすることで、それぞれディスプレースメン
ト値“+4”,“+5”,“+6”,分岐先アドレス
“BRAD”およびアドレスレジスタ4の出力の中から
いずれか1つが選択される。なお値“0”を選択する操
作は、このセレクタの場合、信号S4〜S8の5つ全て
を“0”とすることで置き換えられる。
【0015】以上のように、ディスプレースメント値,
分岐先アドレスおよび現在のアドレス値を、2個の選択
手段に分配して入力することにより各選択手段の入力数
を減らすことができる。これは、図4(a)に示す従来
例ではクリティカルパスに7入力NANDゲートが存在
したことと比較すると、これが5入力NANDゲートに
置き換えられることになる。一般に、同じプロセステク
ノロジーで同じ論理タイプならば、入力数が少ない方が
遅延時間は小さいので、本発明によりプログラムカウン
タの動作を高速化することができる。
【0016】
【発明の効果】以上説明したように、本発明はディスプ
レースメント値,分岐先アドレスおよび現在のアドレス
値を、2個の選択手段に分配して入力することにより、
プログラムカウンタの動作を高速化できるという効果が
ある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】分図(a)は、図1における第1の選択手段を
論理回路レベルであらわした図である。分図(b)は、
図1における第2の選択手段を論理回路レベルであらわ
した図である。
【図3】従来のプログラムカウンタの一例のブロック図
である。
【図4】分図(a)は、図3における第1の選択手段を
論理回路レベルであらわした図である。分図(b)は、
図3における第1の選択手段を論理回路レベルであらわ
した図である。
【符号の説明】
1 第1の選択手段 2 第2の選択手段 3 加算器 4 アドレスレジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 m個のディジタル信号から1個のディジ
    タル信号を選択して出力する第1の選択手段と、 n個のディジタル信号から1個のディジタル信号を選択
    して出力する第2の選択手段と、 前記第1の選択手段の出力と前記第2の選択手段の出力
    との加算を実行する加算器と、 前記加算器の出力を保持する記憶手段とを備え、 前記記憶手段の出力が、前記第1の選択手段のm個の入
    力の1個および前記第2の選択手段のn個の入力の1個
    に接続されることを特徴とするプログラムカウンタ。
JP33865691A 1991-12-20 1991-12-20 プログラムカウンタ Withdrawn JPH05216659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33865691A JPH05216659A (ja) 1991-12-20 1991-12-20 プログラムカウンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33865691A JPH05216659A (ja) 1991-12-20 1991-12-20 プログラムカウンタ

Publications (1)

Publication Number Publication Date
JPH05216659A true JPH05216659A (ja) 1993-08-27

Family

ID=18320234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33865691A Withdrawn JPH05216659A (ja) 1991-12-20 1991-12-20 プログラムカウンタ

Country Status (1)

Country Link
JP (1) JPH05216659A (ja)

Similar Documents

Publication Publication Date Title
US4831573A (en) Programmable integrated circuit micro-sequencer device
EP0047440B1 (en) Shift circuit
US5742805A (en) Method and apparatus for a single history register based branch predictor in a superscalar microprocessor
EP0424618A2 (en) Input/output system
EP0149213A2 (en) Vector processor
US4592005A (en) Masked arithmetic logic unit
US5249148A (en) Method and apparatus for performing restricted modulo arithmetic
US4377846A (en) Arithmetic unit for generating constants in an electronic computer of the microprogram-controlled type
EP0220682B1 (en) Data processing system
JPH0215088B2 (ja)
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
US5319347A (en) Parallelized magnitude comparator for comparing a binary number to a fixed value
EP0167959A2 (en) Computer vector register processing
US4999808A (en) Dual byte order data processor
JPH0379736B2 (ja)
JPH034936B2 (ja)
US20060004980A1 (en) Address creator and arithmetic circuit
JPH05216659A (ja) プログラムカウンタ
US5357235A (en) Parallelized magnitude comparator
US6754685B2 (en) Dynamic popcount/shift circuit
US3665409A (en) Signal translator
US3911405A (en) General purpose edit unit
US5018092A (en) Stack-type arithmetic circuit
US6081869A (en) Bit-field peripheral
US6038660A (en) Method and apparatus for updating a program counter

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990311