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

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

Info

Publication number
JP3888236B2
JP3888236B2 JP2002169813A JP2002169813A JP3888236B2 JP 3888236 B2 JP3888236 B2 JP 3888236B2 JP 2002169813 A JP2002169813 A JP 2002169813A JP 2002169813 A JP2002169813 A JP 2002169813A JP 3888236 B2 JP3888236 B2 JP 3888236B2
Authority
JP
Japan
Prior art keywords
data
output
reset signal
terminal
flop
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
JP2002169813A
Other languages
English (en)
Other versions
JP2004015698A (ja
Inventor
智明 安藤
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

Description

【0001】
【発明の属する技術分野】
この発明は、DSP(Digital Signal Processor)等において用いられるプログラムカウンタ回路に関する。
【0002】
【従来の技術】
周知のように、DSPはプログラムカウンタに従って命令メモリ(Instruction Memory)から命令を読み出し、読み出した命令を解読して各種の処理を行う。
【0003】
【発明が解決しようとする課題】
ところで、従来、DSPのプログラムカウンタは0番地スタートとなっており、この結果、DSPのプログラムは、命令が書き込まれたROM(リードオンリメモリ)の0番地からスタートするようになっていた。このため、例えば、RAM(ランダムアクセスメモリ)に新しいプログラムを記憶させ、そのプログラムから処理をスタートさせたい場合も、予め、ROMのプログラム中にRAMブートのステップを書き込んでおき、そのステップへ処理が移った時にRAMアドレスへジャンプするようにする必要があった。図7に、上述した従来の処理の過程を示す。
しかしながら、このような処理は自由度が低く、RAMのプログラムからスタートする処理が極めてやりにくい欠点があった。
【0004】
この発明は、このような事情を考慮してなされたもので、その目的は、0番地以外の任意の番地からのスタートを、ROMのプログラム中にRAMブートのステップを書き込んでおくことなく、簡単に実行することができるプログラムカウンタ回路を提供することにある。
【0005】
【課題を解決するための手段】
この発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、スタート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、前記第1の選択手段により選択されたデータを入力し、クロックパルスのタイミングにおいて出力データを前記データから順次インクリメントするカウンタとを具備し、前記カウンタは、第1のリセット信号とクロックパルスが入力され、前記第1のリセット信号で活性化された場合に前記クロックパルスのエッジで前記第1のリセット信号を前記クロックパルスに同期した第2のリセット信号に変換して出力する第1のフリップフロップと、入力データに「1」を加算する加算手段と、前記第1の選択手段の出力端子が第1入力端に接続され、前記加算手段の出力端が第2入力端に接続され、前記第1のフリップフロップの出力端が選択端子に接続され、前記第2のリセット信号に応じて前記第1の選択手段の出力、又は前記加算手段の出力の何れか一方を選択して出力する第2の選択手段と、前記第1のリセット信号が入力され、前記第2の選択手段の出力端が入力端に接続され、前記加算手段の入力端が出力端に接続され、前記第1のリセット信号で活性化された場合に前記第2の選択手段の出力を前記クロックパルスのエッジで読み込み、前記加算手段へ出力する第2のフリップフロップとから構成され、前記加算手段と前記第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番地以外の任意の番地からのスタートを、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 (1)

  1. タート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、
    前記第1の選択手段により選択されたデータを入力し、クロックパルスのタイミングにおいて出力データを前記データから順次インクリメントするカウンタとを具備し、
    前記カウンタは、
    第1のリセット信号とクロックパルスが入力され、前記第1のリセット信号で活性化された場合に前記クロックパルスのエッジで前記第1のリセット信号を前記クロックパルスに同期した第2のリセット信号に変換して出力する第1のフリップフロップと、
    入力データに「1」を加算する加算手段と、
    前記第1の選択手段の出力端子が第1入力端に接続され、前記加算手段の出力端が第2入力端に接続され、前記第1のフリップフロップの出力端が選択端子に接続され、前記第2のリセット信号に応じて前記第1の選択手段の出力、又は前記加算手段の出力の何れか一方を選択して出力する第2の選択手段と、
    前記第1のリセット信号が入力され、前記第2の選択手段の出力端が入力端に接続され、前記加算手段の入力端が出力端に接続され、前記第1のリセット信号で活性化された場合に前記第2の選択手段の出力を前記クロックパルスのエッジで読み込み、前記加算手段へ出力する第2のフリップフロップとから構成され、
    前記加算手段と前記第2の選択手段と前記第2のフリップフロップは、少なくとも前記データのビットの数備えられたことを特徴とするプログラムカウンタ回路。
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 JP2004015698A (ja) 2004-01-15
JP3888236B2 true 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)

Families Citing this family (1)

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

Also Published As

Publication number Publication date
JP2004015698A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
JP3888236B2 (ja) プログラムカウンタ回路
US7702860B2 (en) Memory access apparatus
US7308553B2 (en) Processor device capable of cross-boundary alignment of plural register data and the method thereof
JP2950461B2 (ja) 楽音発生装置
US6363469B1 (en) Address generation apparatus
JPH07219766A (ja) 演算処理装置
JP2595992B2 (ja) 電子楽器
JP3903872B2 (ja) 多重アクセス制御回路
JP3665349B2 (ja) 集積回路
JPH0535472A (ja) マイクロコンピユータ
JP2763655B2 (ja) 半導体集積回路
JPH03204695A (ja) 楽音合成装置
JP3729250B2 (ja) 情報処理装置及び電子機器
JPH11120070A (ja) データ読み出し制御装置
JP2009244751A (ja) 楽音発生装置用の集積回路
JP2001100991A (ja) ディジタル信号処理装置
JP2006098859A (ja) 楽音発生装置および楽音発生処理のプログラム
JPH07105171A (ja) データ処理装置
JPH0460722A (ja) デジタルマイクロコンピュータ
JPH10207739A (ja) マイクロコンピュータ
JPH1055270A (ja) ディジタル処理装置
JP2001109669A (ja) Ramテスト方法およびramテスト回路
JPH11176165A (ja) シーケンシャルアクセス型半導体メモリ装置
JP2005056033A (ja) レジスタ回路

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