JP3888236B2 - プログラムカウンタ回路 - Google Patents
プログラムカウンタ回路 Download PDFInfo
- 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
Links
Images
Description
【発明の属する技術分野】
この発明は、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)
- スタート番地として設定したデータまたはデータ「0」の一方を外部から供給される選択信号に基づいて選択する第1の選択手段と、
前記第1の選択手段により選択されたデータを入力し、クロックパルスのタイミングにおいて出力データを前記データから順次インクリメントするカウンタとを具備し、
前記カウンタは、
第1のリセット信号とクロックパルスが入力され、前記第1のリセット信号で活性化された場合に前記クロックパルスのエッジで前記第1のリセット信号を前記クロックパルスに同期した第2のリセット信号に変換して出力する第1のフリップフロップと、
入力データに「1」を加算する加算手段と、
前記第1の選択手段の出力端子が第1入力端に接続され、前記加算手段の出力端が第2入力端に接続され、前記第1のフリップフロップの出力端が選択端子に接続され、前記第2のリセット信号に応じて前記第1の選択手段の出力、又は前記加算手段の出力の何れか一方を選択して出力する第2の選択手段と、
前記第1のリセット信号が入力され、前記第2の選択手段の出力端が入力端に接続され、前記加算手段の入力端が出力端に接続され、前記第1のリセット信号で活性化された場合に前記第2の選択手段の出力を前記クロックパルスのエッジで読み込み、前記加算手段へ出力する第2のフリップフロップとから構成され、
前記加算手段と前記第2の選択手段と前記第2のフリップフロップは、少なくとも前記データのビットの数備えられたことを特徴とするプログラムカウンタ回路。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130522B (zh) * | 2020-01-10 | 2023-10-17 | 天津大学 | 多通道红外探测器读出电路中选通开关时序产生电路 |
-
2002
- 2002-06-11 JP JP2002169813A patent/JP3888236B2/ja not_active Expired - Fee Related
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 |