JP2004015698A - プログラムカウンタ回路 - Google Patents

プログラムカウンタ回路 Download PDF

Info

Publication number
JP2004015698A
JP2004015698A JP2002169813A JP2002169813A JP2004015698A JP 2004015698 A JP2004015698 A JP 2004015698A JP 2002169813 A JP2002169813 A JP 2002169813A JP 2002169813 A JP2002169813 A JP 2002169813A JP 2004015698 A JP2004015698 A JP 2004015698A
Authority
JP
Japan
Prior art keywords
data
output
program
counter circuit
program counter
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
JP2002169813A
Other languages
English (en)
Other versions
JP3888236B2 (ja
Inventor
Tomoaki Ando
安藤 智明
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002169813A priority Critical patent/JP3888236B2/ja
Publication of JP2004015698A publication Critical patent/JP2004015698A/ja
Application granted granted Critical
Publication of JP3888236B2 publication Critical patent/JP3888236B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】0番地以外の任意の番地からのスタートを、簡単に実行することができるプログラムカウンタ回路を提供する。
【解決手段】マルチプレクサ50は、選択信号CMXが”0”の時は第1入力端のデータ”00000”をプリセットデータPCINとして出力し、選択信号CMXが”1”の時は第2入力端のデータ”08000”を出力する。カウンタユニット51−0〜51−19は各々20ビットのカウンタを構成する同一構成のユニットであり、ハーフアダー53と、1ビットのマルチプレクサ54とディレイフリップフロップ55から構成されている。そして、リセット信号RESETnの立ち上がりにおいてデータPCINがディレイフリップフロップ55に読み込まれ、以後、クロックパルスCKのタイミングにおいてカウンタユニット51−0〜51−19の出力が逐次インクリメントされる。
【選択図】  図1

Description

【0001】
【発明の属する技術分野】
この発明は、DSP(Digital Signal Processor)等において用いられるプログラムカウンタ回路に関する。
【0002】
【従来の技術】
周知のように、DSPはプログラムカウンタに従って命令メモリ(InstructionMemory)から命令を読み出し、読み出した命令を解読して各種の処理を行う。
【0003】
【発明が解決しようとする課題】
ところで、従来、DSPのプログラムカウンタは0番地スタートとなっており、この結果、DSPのプログラムは、命令が書き込まれたROM(リードオンリメモリ)の0番地からスタートするようになっていた。このため、例えば、RAM(ランダムアクセスメモリ)に新しいプログラムを記憶させ、そのプログラムから処理をスタートさせたい場合も、予め、ROMのプログラム中にRAMブートのステップを書き込んでおき、そのステップへ処理が移った時にRAMアドレスへジャンプするようにする必要があった。図7に、上述した従来の処理の過程を示す。
しかしながら、このような処理は自由度が低く、RAMのプログラムからスタートする処理が極めてやりにくい欠点があった。
【0004】
この発明は、このような事情を考慮してなされたもので、その目的は、0番地以外の任意の番地からのスタートを、ROMのプログラム中にRAMブートのステップを書き込んでおくことなく、簡単に実行することができるプログラムカウンタ回路を提供することにある。
【0005】
【課題を解決するための手段】
この発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、クロックパルスのタイミングにおいて出力データを順次インクリメントするカウンタと、スタート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、前記第1の選択手段の出力データを、リセット信号のタイミングにおいて前記カウンタにプリセットするプリセット手段とを具備することを特徴とするプログラムカウンタ回路である。
【0006】
また、請求項2に記載の発明は、請求項1に記載のプログラムカウンタ回路において、前記カウンタを、入力データに「1」を加算する加算手段と、リセット信号出力時に前記第1の選択手段の出力を選択し、リセット信号が出力されていない時は前記加算手段の出力を選択する第2の選択手段と、前記第2の選択手段の出力をクロックパルスのタイミングにおいて読み込み、前記加算手段へ出力するフリップフロップとから構成したことを特徴とする。
【0007】
【発明の実施の形態】
以下、図面を参照し、この発明の一実施の形態について説明する。図1は同実施の形態によるプログラムカウンタ回路の構成を示すブロック図、図2は同プログラムカウンタ回路を用いたオーディオデコーダチップ(LSI)の構成を示すブロック図である。図2において、11はCPU(中央処理装置)、12はマイクロコンピュータインターフェイス、13はコントロールレジスタである。14は外部から入力されるアナログオーディオ信号をディジタル信号に変換するADC(アナログ/ディジタルコンバータ)、15はシリアルデータをパラレルデータに変換するシリアルデータインターフェイス、16はディテクタである。17は外部メモリコントローラ、18はSRAM(スタティックRAM)、19はパラレルデータをシリアルデータに変換するシリアルデータアウト回路、20はシリアルデータアウト回路から出力されるシリアルデータをアナログオーディオ信号に変換して出力するDAC(ディジタル/アナログコンバータ)である。
【0008】
また、21は各種の演算係数等が記憶されたデータROM、22は内部メモリコントローラ、23はデータの一時記憶に使用されるデータRAMである。24はDSP、25、26は各々DSP24のプログラムが記憶された命令ROMおよび命令RAMである。また、27は命令バス、28はデータ(X)バス、29はデータ(Y)バスである。
【0009】
図3は、DSP24の詳細を示すブロック図である。この図において、30は命令メモリ、31はデータメモリX、32はデータメモリYである。33はプログラムコントロールユニット、34はデータメモリ31,32のアドレス制御を行うデータメモリコントロールユニット、35はバスコントロールユニット、36はプログラムコントロールユニット33から出力される命令に従って演算を行う演算ユニット、37は補助演算ユニットである。
【0010】
図4はプログラムコントロールユニット33の詳細を示すブロック図である。この図において、40はプログラムカウンタ回路、41はプログラムカウンタ回路40から出力されるアドレスに従って内部の命令が読み出される命令メモリである。なお、この命令メモリ41は、図2の命令ROM25および命令RAM26を示している。図5はこの命令メモリ41のマッピングを示す図であり、この図に示すように、アドレス”00000”(16進数)からアドレス”057FF”までが命令ROM25に割り当てられ、アドレス”08000”からアドレス”097FF”までが命令RAM26に割り当てられている。なお、アドレス”05800”〜”07FFF”およびアドレス”09800”〜”FFFFF”は現在使用していないアドレスである。
【0011】
42は命令メモリ41から読み出された命令が一時記憶される命令フェッチレジスタ、43は命令フェッチレジスタ42の命令を解読する命令デコーダである。44は命令デコーダ43の指示を受けて分岐処理および割込処理を行うためのコントローラ、45、46は分岐処理に使用されるプログラムスタックポインタおよびプログラムスタック、47は割込処理のためのインタラプトベクタである。また、49は命令デコーダ43の指示を受けてループ処理を行うためのコントローラ、60はループスタックポインタ、61はループ開始アドレスレジスタ、62はループ終了アドレスレジスタ、63はループカウンタである。
【0012】
次に、図1を参照しプログラムカウンタ回路40の詳細を説明する。同図において、50は20ビットのマルチプレクサであり、図2のCPU11から出力される選択信号CMXが”0”の時は第1入力端のデータ”00000”をプリセットデータPCINとして出力し、選択信号CMXが”1”の時は第2入力端のデータ”08000”をプリセットデータPCINとして出力する。51−0〜51−19は各々20ビットのカウンタユニットであり、ハーフアダー53と、1ビットのマルチプレクサ54とディレイフリップフロップ55から構成されている。
【0013】
この場合、カウンタユニット51−0のハーフアダー53のキャリーイン端子は正電源に接続され、キャリーアウト端子は次のカウンタユニット51−1のハーフアダー53のキャリーイン端子に接続され、出力端がマルチプレクサ54の第2入力端に接続され、入力端がディレイフリップフロップ55の出力端に接続されている。また、マルチプレクサ54の第1入力端はマルチプレクサ50の出力端に接続され、その出力端がディレイフリップフロップ55のデータ端子に接続されている。そして、カウンタユニット51−0〜51−19の出力がアドレスデータADとして命令フェッチレジスタ41(図4)に出力される。
【0014】
56は非同期のリセット信号RSTnをクロックパルスCKに同期したリセット信号RESETnに変換するディレイフリップフロップであり、その出力はマルチプレクサ54の選択端子に供給されている。
【0015】
図6は上述したプログラムカウンタ回路40の各部の動作を示すタイミングチャートである。いま、時刻t1においてリセット信号RSTnが”Low”に立ち下がると、同時に、リセット信号RESETnも”Low”に立ち下がる。リセット信号RESETnが”Low”に立ち下がると、マルチプレクサ54がマルチプレクサ50の出力データPCIN(図6の(ニ))を選択し、ディレイフリップフロップ55の入力端へ出力する。いま、選択信号CMXが”1”であったとすると、データ”08000”がマルチプレクサ54を介してディレイフリップフロップ55の入力端へ印加される。また、リセット信号RSTnが”Low”に立ち下がり、ディレイフリップフロップ55がリセットされると、アドレスデータADが「0」となる(図6の(ホ)参照)。
【0016】
次に、時刻t2においてリセット信号RSTnが”High”に立ち上がると、次のクロックパルスCKの立ち上がり時刻t3においてリセット信号RESETnが”High”に立ち上がる。時刻t3において、クロックパルスCKの立ち上がりで、マルチプレクサ54の出力データ”08000”がディレイフリップフロップ55に読み込まれ、アドレスデータADとして出力される。また、リセット信号RESETnが”High”に立ち上がると、マルチプレクサ54がハーフアダー53の出力を選択し、ディレイフリップフロップ55へ出力する。これにより、以後、クロックパルスCKが立ち上がる毎にアドレスデータADがインクリメントされ、この結果、アドレスデータADが”08000”、”08001”、”08002”・・・と変化する(図6(ホ)参照)。これにより、図5に示すように、命令RAM26内の命令が順次読み出される。
【0017】
また、プリセットデータPCINが”00000”の時、リセット信号RESETnが立ち上がると、アドレスデータADとして”00000”が出力され、以後、そのアドレスデータADをクロックパルスCKの立ち上がりタイミングにおいて順次インクリメントされる。これにより、命令ROM25内の命令が順次読み出される。
【0018】
上述したように、上記プログラムカウンタ回路40は、プリセットデータPCINが”08000”の時、リセット信号RESETnが立ち上がると、アドレスデータADとして”08000”を出力し、以後、そのアドレスデータADをクロックパルスCKの立ち上がりタイミングにおいて順次インクリメントする。すなわち、このプログラムカウンタ回路40は、マルチプレクサ50の第2入力端へ印加するデータからアドレスデータADを開始することができ、したがって、マルチプレクサ50の第2入力端へ印加するデータとして希望するアドレスを設定すれば、そのアドレスからプログラムを開始することができる。
なお、マルチプレクサ50はDSP24内ではなく、コントロールレジスタ13内に設けてもよい。
【0019】
【発明の効果】
以上説明したように、この発明によれば、クロックパルスのタイミングにおいて出力データを順次インクリメントするカウンタと、スタート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、前記第1の選択手段の出力データを、リセット信号のタイミングにおいて前記カウンタにプリセットするプリセット手段とを設けたので、0番地以外の任意の番地からのスタートを、ROMのプログラム中にRAMブートのステップを書き込んでおくことなく、簡単に実行することができる効果が得られる。
【図面の簡単な説明】
【図1】この発明の一実施形態によるプログラムカウンタ回路の構成を示すブロック図である。
【図2】同プログラムカウンタ回路を用いたオーディオデコーダチップの構成を示すブロック図である。
【図3】図2におけるDSP24の詳細を示すブロック図である。
【図4】図3におけるプログラムコントロールユニット33の詳細を示すブロック図である。
【図5】図4における命令メモリ41のメモリマッピングを示す図である。
【図6】図1に示すプログラムカウンタ回路の動作を説明するためのタイミングチャートである。
【図7】従来のプログラムカウンタ回路の一例を説明するためのフローチャートである。
【符号の説明】
24…DSP、33…プログラムコントロールユニット、40…プログラムカウンタ回路、41…命令メモリ、50…マルチプレクサ、51−0〜51−19…カウンタユニット、53…ハーフアダー、54…マルチプレクサ、55、56…ディレイフリップフロップ。

Claims (2)

  1. クロックパルスのタイミングにおいて出力データを順次インクリメントするカウンタと、
    スタート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、
    前記第1の選択手段の出力データを、リセット信号のタイミングにおいて前記カウンタにプリセットするプリセット手段と、
    を具備することを特徴とするプログラムカウンタ回路。
  2. 前記カウンタを、
    入力データに「1」を加算する加算手段と、
    リセット信号出力時に前記第1の選択手段の出力を選択し、リセット信号が出力されていない時は前記加算手段の出力を選択する第2の選択手段と、
    前記第2の選択手段の出力をクロックパルスのタイミングにおいて読み込み、前記加算手段へ出力するフリップフロップと、
    から構成したことを特徴とする請求項1に記載のプログラムカウンタ回路。
JP2002169813A 2002-06-11 2002-06-11 プログラムカウンタ回路 Expired - Fee Related JP3888236B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002169813A JP3888236B2 (ja) 2002-06-11 2002-06-11 プログラムカウンタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002169813A JP3888236B2 (ja) 2002-06-11 2002-06-11 プログラムカウンタ回路

Publications (2)

Publication Number Publication Date
JP2004015698A true JP2004015698A (ja) 2004-01-15
JP3888236B2 JP3888236B2 (ja) 2007-02-28

Family

ID=30436265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002169813A Expired - Fee Related JP3888236B2 (ja) 2002-06-11 2002-06-11 プログラムカウンタ回路

Country Status (1)

Country Link
JP (1) JP3888236B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130522A (zh) * 2020-01-10 2020-05-08 天津大学 多通道红外探测器读出电路中选通开关时序产生电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130522A (zh) * 2020-01-10 2020-05-08 天津大学 多通道红外探测器读出电路中选通开关时序产生电路
CN111130522B (zh) * 2020-01-10 2023-10-17 天津大学 多通道红外探测器读出电路中选通开关时序产生电路

Also Published As

Publication number Publication date
JP3888236B2 (ja) 2007-02-28

Similar Documents

Publication Publication Date Title
US5567900A (en) Electronic tone generator system with CPU and DSP
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
JP3888236B2 (ja) プログラムカウンタ回路
US7308553B2 (en) Processor device capable of cross-boundary alignment of plural register data and the method thereof
JPH0772864B2 (ja) ディジタル信号プロセッサ
JP2011028543A (ja) 情報処理システム及びその情報処理方法
US6363469B1 (en) Address generation apparatus
JP2999101B2 (ja) インターリーブ装置
JP2006268152A (ja) 集積回路装置
US6721897B1 (en) Bus control circuit effecting timing control using cycle registers for respective cycles holding signal levels corresponding to bus control signals that are output by arrangement of signal level
JP3903872B2 (ja) 多重アクセス制御回路
JP2007018320A (ja) マイクロコンピュータ及びlsiテスト装置
JP2005182557A (ja) 信号処理装置
JPH0544040B2 (ja)
JPH04255028A (ja) マイクロプロセッサ
JP5003070B2 (ja) デジタル信号処理装置
JPH03204695A (ja) 楽音合成装置
JPH01179515A (ja) デジタル信号処理装置
JPH11120070A (ja) データ読み出し制御装置
JPH0455957A (ja) 半導体集積回路
JP2009244751A (ja) 楽音発生装置用の集積回路
JP2008299501A (ja) プロセッサ
JP2000099393A (ja) アドレス生成装置
JPH09114779A (ja) 情報処理装置のウェイト制御方式
JP2001109669A (ja) Ramテスト方法およびramテスト回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3888236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131208

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees