JP4300151B2 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
JP4300151B2
JP4300151B2 JP2004122678A JP2004122678A JP4300151B2 JP 4300151 B2 JP4300151 B2 JP 4300151B2 JP 2004122678 A JP2004122678 A JP 2004122678A JP 2004122678 A JP2004122678 A JP 2004122678A JP 4300151 B2 JP4300151 B2 JP 4300151B2
Authority
JP
Japan
Prior art keywords
data
output
instruction
clock
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.)
Expired - Fee Related
Application number
JP2004122678A
Other languages
English (en)
Other versions
JP2005309572A (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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2004122678A priority Critical patent/JP4300151B2/ja
Priority to CN2005100005294A priority patent/CN100407131C/zh
Priority to US11/048,759 priority patent/US7308560B2/en
Priority to KR1020050016471A priority patent/KR101110167B1/ko
Publication of JP2005309572A publication Critical patent/JP2005309572A/ja
Application granted granted Critical
Publication of JP4300151B2 publication Critical patent/JP4300151B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1628Carrying enclosures containing additional elements, e.g. case for a laptop and a printer
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K5/00Casings, cabinets or drawers for electric apparatus
    • H05K5/02Details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、ステレオ音声処理等において独立した複数個の同一データに対して同一の演算処理を共通プログラムで且つ低消費電力で行えるディジタル・シグナル・プロセッサ(以下「DSP」という。)等の演算処理装置に関するものである.
ディジタル処理の発展に伴い、音声データ及び画像データ等もディジタル処理されるようになってきている。音声、画像データ等のディジタル処理で多用される積和演算を高速に実行する演算処理装置として、例えば、下記の特許文献1、2等に記載されるようなDSP等の専用プロセッサが開発されている。
特開平5−35774号公報 特開2000−293357号公報
図4(1)、(2)は、特許文献1、2等に記載された従来のDSPを示す概略の構成図であり、同図(1)はDSPのデータ制御部10、及び同図(2)はDSPの制御部20を示す図である。
このDSPは、積和演算等の演算処理を行うデータ演算部10と、これを制御するための各種の制御信号を生成する制御部20とを有している。データ演算部10は、積和演算等の係数データを格納する係数リードオンリメモリ(以下、「係数ROM」という。)11と、この係数ROM11における係数データの読み出し位置を指示するCポインタ12と、ライト制御信号WR1により書き込みが制御され、積和演算等の変数データを格納するデータ・ランダムアクセルメモリ(以下「データRAM」という。)13と、このデータRAM13における変数データの読み出し位置を指示するDポインタ14とを備えている。係数ROM11の出力端子及びデータRAM13の出力端子には、乗算器15が接続されている。
乗算器15は、係数データと変数データの乗算を行う回路であり、この出力端子に算術論理ユニット(以下「ALU」という。)17の第1の入力端子が接続されている。ALU17の第2の入力端子には、セレクタ16の出力端子が接続されている。セレクタ16は、入力データIN又は出力データOUTのいずれか一方を選択する回路である。ALU17の出力端子には、レジスタ18の入力端子が接続されている。レジスタ18は、ライト制御信号WR2により書き込みが制御され、ALU17の出力データを保持する回路であり、この出力端子がデータRAM13の入力端子及びセレクタ16の入力端子に接続されている。
制御部20はセレクタ21を有し、このセレクタ21の出力端子に、プログラムカウンタ(以下「PC」という。)22、プログラムROM23、及び命令デコーダ24が順に接続されている。セレクタ21は、命令デコーダ24から与えられる制御信号により、PC22の出力データを+1増分した信号と、命令デコーダ24から与えられるジャンプ(JUMP)命令等の制御信号との、いずれか一方を選択する回路である。PC22は、クロックCKに基づき計数動作して命令読み出し用のアドレスをプログラムROM23へ出力する回路である。プログラムROM23は、複数個の命令からなるプログラムを格納し、PC22から出力されたアドレスで指定されるプログラム中の命令を読み出すメモリである。命令デコーダ24は、プログラムROM23から読み出された命令を解読して命令実行用の各種の制御信号(例えば、Cポインタ12の制御信号、Dポインタ14の制御信号、ライト制御信号WR1,WR2、セレクタ16の出力切り替え制御信号、乗算器15の制御信号、ALU17の制御信号、PC22の制御信号、プログラムROM23の制御信号、JUMP命令等の制御信号等)を出力する回路である。
このような構成のDSPでは、例えば、ディジタル処理で多用される(A)式の積和演算を以下の(1)〜(7)のようにして実現している。なお、(A)式は、(B)式の連続として実現する。
Y= Σ a×x (A)
i+1= C +(a×x) (B)
(1) 係数ROM11から、Cポインタ12の示すアドレスの係数データaを乗算器15に出力する。
(2) データRAM13から、Dポインタ14の示すアドレスの変数データxを乗算器15に出力する。
(3) 乗算器15では、係数データaと変数データxの乗算が行われる。
(4) ALU17では、レジスタ18からセレクタ16を介して送られてくるデータと、乗算器15の出力データとの加算が行われる。
(5) ALU17の出力データをレジスタ18に格納する。
(6) Cポインタ12の値を次の係数データのアドレスへ変化させる。
(7) Dポインタ14の値を次の変数データのアドレスへ変化させる。
これらの(1)〜(7)の処理が1サイクル内に実行される。これにより、ディジタル処理で多用される積和演算を高速に実行することが可能となる。
しかしながら、従来のDSPでは、次の(a)、(b)のような課題があった。
(a) 例えば、ステレオ音声処理等において相互に独立した2つのデータ(右チャネル用データR-chと左チャネル用データL-ch)に対して同一の演算処理を行う場合、右チャネル用データR-chを処理してから、左チャネル用データL-chを処理するのが一般的である。この場合、各ポインタ12,14がそれぞれ2回(R-ch及び及びL-ch処理)動作することになり、無駄なポインタ動作に伴う無駄な消費電力が発生し、消費電力が大きくなる。
(b) 例えば、ステレオ音声データのR-ch,L-chデータをモノラルデータと考えた場合、モノラルデータ用に開発したプログラムを、データから見たときに同一の演算処理を行うにも関わらず、ステレオ音声処理用に新たなプログラムを開発する必要があり、不利不便である。
前記課題を解決するために、本発明におけるDSP等の演算処理装置では、共通に使用される共通データを格納する第1のメモリと、前記共通データの読み出し位置を指示する第1のポインタと、相互に独立した独立データをそれぞれ格納するN個(但し、Nは正の整数)の第2のメモリと、前記各独立データの読み出し位置を指示する第2のポインタと、前記N個の第2のメモリから読み出された前記N個の独立データの内のいずれか1つを選択して出力する第1のセレクタと、前記第1のメモリから読み出された前記共通データと前記第1のセレクタの出力データとを乗算する乗算器と、N個の入力データの内のいずれか1つを選択して出力する第2のセレクタと、前記第2のセレクタの出力データと演算結果とのいずれか一方を選択して出力する第3のセレクタと、前記乗算器の出力データと前記第3のセレクタの出力データとの算術演算及び論理演算を行うALUと、前記ALUの出力データを保持するN個のレジスタと、前記N個のレジスタの出力データの内のいずれか1つを選択して前記演算結果を出力する第4のセレクタとを備えている。
共通の選択信号に基づき、前記N個の第2のメモリにおける前記演算結果(即ち、前記第4のセレクタ出力)の書き込みが制御されると共に、前記第1、第2、第3、第4のセレクタの各選択動作が制御される。
更に、本発明の演算処理装置では、第1のクロックに基づき計数動作して命令読み出し用のアドレスを出力するPCと、複数個の命令からなるプログラムを格納し、前記PCから出力された前記アドレスで指定される前記プログラム中の命令を読み出すプログラムメモリと、前記プログラムメモリから読み出された前記命令を解読して命令実行用の制御信号を出力すると共に、前記命令がデータ演算命令か否かを区別するデータ処理命令信号を出力する命令デコーダと、独立データ制御部とを備えている。
前記独立データ制御部は、前記データ処理命令信号及び第2のクロックを入力し、前記データ処理命令信号に基づき、演算処理で使用する前記独立データを選択するための前記共通の選択信号を出力すると共に、前記第2のクロックに基づき前記第1のクロックを生成し、前記データ処理命令信号に応答して、前記命令がデータ演算命令であるならば、前記独立データの数の演算処理サイクルを経過した後に前記第1のクロックを前記PCに与え、前記命令がデータ演算命令でないならば、直ちに前記第1のクロックを前記PCに与えるものである。
本発明によれば、相互に独立した独立データを格納するメモリ、及びALUの出力データを保持するレジスタ等をそれぞれ複数設け、これらを共通の選択信号により制御するようにしたので、複数の独立データに対して同一の演算処理を行う場合、無駄なポインタ動作が無くなって消費電力を削減できる。更に、例えば、モノラルデータ用に開発したプログラムをステレオデータ用のプログラムにそのまま適用することが可能となり、プログラム開発コストを削減できる。
本発明のDSP等の演算処理装置では、積和演算等を行うデータ演算部と、このデータ演算部等を制御する制御部とを備えている。データ演算部は、第1のメモリ、第1のポインタ、共通の選択信号に基づき演算結果の書き込みが制御されるN個(但し、Nは正の整数)の第2のメモリ、前記共通の選択信号により選択動作する第1、第2、第3、第4のセレクタ、乗算器、ALU、及び前記共通の選択信号に基づきデータの保持が制御されるN個のレジスタを有している。制御部は、PC、プログラムメモリ、命令デコーダ、及び独立データ制御部を有している。
制御部において、独立データ制御部から与えられた第1のクロックに基づきPCが動作し、命令読み出し用のアドレスが出力される。このアドレスによってプログラムメモリ中の命令が読み出され、命令デコーダで解読されて、命令実行用の制御信号が出力されると共に、その命令がデータ演算命令か否かを区別するデータ処理命令信号が出力されて独立データ制御部に与えられる。
独立データ制御部では、与えられたデータ処理命令信号に基づき、演算処理で使用する独立データを選択するための共通の選択信号を出力すると共に、入力された第2のクロックに基づき第1のクロックを生成し、前記データ処理命令信号に応答して、命令がデータ演算命令であるならば、独立データの数の演算処理サイクルを経過した後に前記第1のクロックをPCに与え、命令がデータ演算命令でないならば、直ちに前記第1のクロックをPCに与える。
データ演算部において、第1のポインタで指示された第1のメモリ中の共通データが読み出される。第2のポインタで指示された各第2のメモリ中の独立データが読み出され、第2のセレクタで選択される。第1のメモリの出力データと第1のセレクタの出力データとは、乗算器で乗算される。N個の入力データ中の1つが第2のセレクタで選択され、更に、この第2のセレクタの出力データと、第4のセレクタの出力データとの、いずれか一方が第3のセレクタで選択される。乗算器の出力データと第3のセレクタの出力データとは、ALUで演算等が行われ、このALUの出力データがN個のレジスタ中の1つに保持される。各レジスタの出力データは第4のセレクタで選択される。この第4のセレクタの出力データは、第3のセレクタの入力側に与えられると共に、N個の第2のメモリ中の何れか1つに書き込まれ、更に、外部へ出力される。
(構成)
図1(1)、(2)は本発明の実施例1を示す演算処理装置(例えば、DSP)の概略の構成図であり、同図(1)はDSPのデータ制御部30、及び同図(2)はDSPの制御部40を示す図である。
この図1では、相互に独立したN個(例えば、2個)の独立データ(例えば、ステレオ音声データの右チャネル用データR-chと左チャネル用データL-ch)に対して同一の演算処理(例えば、ステレオ音声処理)を行うDSPの構成例が示されているが、3個以上の独立データを演算処理する場合も同様な考えで拡張できる。
本実施例1のDSPは、積和演算等の演算処理を行うデータ演算部30と、これを制御するための各種の制御信号を生成する制御部40とを有している。データ演算部30は、積和演算等で共通に使用される共通データ(例えば、係数データ)を格納する第1のメモリ(例えば、係数ROM)31と、この係数ROM31における係数データの読み出し位置を指示する第1のポインタ(例えば、Cポインタ)32と、積和演算等で使用される相互に独立したN個(例えば、2個)の独立データ(例えば、変数データ)をそれぞれ格納する2個の第2のメモリ(例えば、L-chデータRAM、R-chデータRAM)33−1,33−2と、その変数データの読み出し位置を指示する共通の第2のポインタ(Dポインタ)34とを備えている。
各Cポインタ32及びDポインタ34は、第1のクロックCKにより動作し、この各Cポインタ32及びDポインタ34の出力は、制御部40から与えられる制御信号により、変数データの数の演算処理サイクルの最後のみで有効となる構成になっている。又、各Cポインタ32及びDポインタ34の他の構成例として、この各Cポインタ32及びDポインタ34の出力は、制御部40から与えられる共通の選択信号(例えば、R/L選択信号CT)によりマスクされ、制御部40から与えられる制御信号により、変数データの数の演算処理サイクルの最後のみで有効となる構成になっている。
L-chデータRAM33−1とR-chデータRAM33−2は、R/L選択信号CTに基づき書き込みの制御が行われ、いずれか一方により、演算結果である出力データOUTを格納する。このL-chデータRAM33−1の出力端子及びR-chデータRAM33−2の出力端子には、第1のセレクタ35−1が接続されている。第1のセレクタ35−1は、R/L選択信号CTに基づき、各L-chデータRAM33−1及びR-chデータRAM33−2から読み出されたN個(=2個)の変数データの内のいずれか1つを選択して出力する回路であり、ゲート回路等で構成されている。
N個の入力データ(例えば、2個の左チャネル用入力データL-chIN、右チャネル用入力データR-chIN)を選択的に入力するために、第2のセレクタ35−2が設けられている。第2のセレクタ35−2は、R/L選択信号CTに基づき、左チャネル用入力データL-chINと右チャネル用入力データR-chINの内のいずれか1つを選択して出力する回路であり、ゲート回路等で構成されている。この第2のセレクタ35−2の出力端子には、第3のセレクタ35−3が接続されている。第3のセレクタ35−3は、R/L選択信号CTに基づき、第2のセレクタ35−2の出力データと演算結果である出力データOUTとのいずれか一方を選択して出力する回路であり、ゲート回路等で構成されている。
係数ROM31の出力端子及びセレクタ35−1の出力端子には、乗算器36が接続されている。乗算器36は、制御部40から与えられる制御信号により制御され、係数ROM31の出力データとセレクタ35−1の出力データとを乗算する回路であり、この回路の出力端子がALU37の第1の入力端子に接続されている。ALU37の第2の入力端子には、セレクタ35−3の出力端子が接続されている。ALU37は、制御部40から与えられる制御信号により制御され、乗算器36の出力データとセレクタ35−3の出力データとの算術演算及び論理演算を行う回路であり、この出力端子にN個のレジスタ(例えば、2個のL-chレジスタ、R-chレジスタ)38−1,38−2が接続されている。
各L-chレジスタ38−1及びR-chレジスタ38−2は、R/L選択信号CTに基づき書き込み制御が行われ、いずれか一方がALU37の出力データを保持する回路であり、これらの出力端子側に第4のセレクタ35−4が接続されている。第4のセレクタ35−4は、R/L選択信号CTに基づき、L-chレジスタ38−1の出力データとR-chレジスタ38−2の出力データのいずれか1つを選択して出力データOUTを出力する回路であり、ゲート回路等で構成されている。このセレクタ35−4の出力端子は、L-chデータRAM33−1の入力端子、R-chデータRAM33−2の入力端子、及びセレクタ35−3の入力端子に接続されている。
制御部40は、セレクタ41を有し、このセレクタ41の出力端子に、PC42、プログラムメモリ(例えば、プログラムROM)43、及び命令デコーダ44が順に接続されている。セレクタ41は、命令デコーダ44から与えられる制御信号により、PC42の出力データを+1増分した信号と、命令デコーダ44から与えられるJUMP命令等の制御信号との、いずれか一方を選択する回路である。PC42は、第1のクロックCKに基づき計数動作して命令読み出し用のアドレスをプログラムROM43へ出力する回路である。プログラムROM43は、複数個の命令からなるプログラムを格納し、PC42から出力されたアドレスで指定されるプログラム中の命令を読み出すメモリである。
命令デコーダ44は、プログラムROM43から読み出された命令を解読して命令実行用の各種の制御信号(例えば、係数ROM31の制御信号、Cポインタ32の制御信号、L-chデータRAM33−1やR-chデータRAM33−2の制御信号、Dポインタ34の制御信号、セレクタ35−1〜35−4の出力切り替え制御信号、乗算器36の制御信号、ALU37の制御信号、L-chレジスタ38−1やR-chレジスタ38−2の制御信号、PC42の制御信号、プログラムROM43の制御信号、JUMP命令等の制御信号等)を出力すると共に、命令がデータ演算命令か否かを区別する信号(即ち、データ演算処理を行っていることを示すデータ処理命令信号DT)を出力する回路である。この命令デコーダ44の出力端子には、独立データ制御部(例えば、R/L制御部)50が接続されている。
R/L制御部50は、データ処理命令信号DT及び第2のクロックCLKを入力し、データ制御部30に与える共通のR/L選択信号CTと、PC42に与える第1のクロックCKとを生成する回路であり、クロック制御回路51及び選択信号生成回路(例えば、フラグ又はレジスタからなるR/Lレジスタ)52により構成されている。クロック制御回路51は、データ処理命令信号DT、第2のクロックCLK、及びR/Lレジスタ52から出力されるR/L選択信号CTを入力し、PC42に与える第1のクロックCKを生成する回路であり、ゲート回路等で構成されている。R/Lレジスタ52は、第2のクロックCLK、及びクロック制御回路51の出力信号を入力し、例えば、論理1又は0のR/L選択信号CTを出力する回路である。
なお、制御部40には他の回路として、ループ命令をサポートする命令に関連する部分等もあるが、説明を簡単にするために図示されていない。
このように本実施例1では、データ演算部30において、従来のデータ演算部10のデータ格納に関連する全ての部分を共通のR/L選択信号CTのみでR-ch,L-ch用に選択可能としている。更に、制御部40において、従来の制御部20にR/L制御部50等を追加した構成になっている。
(動作)
本実施例1のDSPの特徴を明確にするために、従来の図4のDSPの動作と比較しつつ、本実施例1の動作を説明する。
本実施例1のDSPでは、次の(1)〜(3)のような処理を行う。
(1) 入力データL-chIN,R-chINをL-chデータRAM33−1、R-chデータRAM33−2に格納し、
(2) L-chデータRAM33−1、R-chデータRAM33−2のデータと、係数ROM31の係数データとの乗加算処理を行い、
(3) 演算結果を出力する。
具体的には、
C0×D0+C1×D1+C2×D2
の値を求める。係数値C0〜C2は、係数ROM31に格納されている。変数値(データ値)D0〜D2は、L-chデータRAM33−1及びR-chデータRAM33−2に格納されている。
これを従来の図4のDSPにより、モノデータ(ステレオデータでない)を処理するときの流れ(サイクル)は、以下のようなサイクル1〜6になる。
サイクル1: 入力データIN→レジスタ18へデータ転送
サイクル2: レジスタ18→データRAM13へデータ転送
サイクル3: 係数ROM11→乗算器15へデータ転送
同時に、データRAM13→乗算器15へデータ転送
乗算器15の出力→レジスタ18へ格納
これにより、係数ROM11の係数データとデータRAM13のデータの積がレジスタ18に格納される。
同時に、Cポインタ12及びDポインタ14の値を+1加算する。
これで、レジスタ18の値=C0×D0となる。
サイクル4: 係数ROM11→乗算器15へデータ転送
同時に、データRAM13→乗算器15へデータ転送
レジスタ18+乗算器15の出力→レジスタ18へ格納
同時に、Cポインタ12及びDポインタ14の値を+1加算する。
これで、レジスタ18の値=C0×D0+C1×D1となる。
サイクル5: 係数ROM11→乗算器15へデータ転送
同時に、データRAM13→乗算器15へデータ転送
レジスタ18+乗算器15の出力→レジスタ18へ格納
同時に、Cポインタ12の値を−2し、Dポインタ14の値を−3する。
これで、レジスタ18の値=C0×D0+C1×D1+C2×D2となる。
サイクル6: レジスタ18の値を出力する(出力データOUT)。
以上のように、従来のDSPでモノデータの処理を実行した場合、6サイクル必要であった。
次に、本実施例1によるDSPで、ステレオデータに対して上記モノデータと同一の処理を行うサイクル例を示す。
図2及び図3は、図1のDSPにおける各部分の値の変化を示す図である。
ここで、本実施例1の制御部40からL-chとR-chを区別する信号(R/L選択信号CT)が出力されており、L-chが選択されるサイクルを−Lで、R-chが選択されるサイクルを−Rで表現する。
サイクル1-L:
入力データL-chIN→L-chレジスタ38−1へデータ転送
サイクル1-R:
入力データR-chIN→R-chレジスタ38−2へデータ転送
サイクル2-L:
L-chレジスタ38−1→L-chデータRAM33−1へデータ転送
サイクル2-R:
R-chレジスタ38−2→R-chデータRAM33−2へデータ転送
サイクル3-L:
係数ROM31→乗算器36へデータ転送
同時に、L-chデータRAM33−1→乗算器36へデータ転送
乗算器36の出力→L-chレジスタ38−1へ格納
サイクル3-R:
係数ROM31→乗算器36へデータ転送
同時に、R-chデータRAM33−2→乗算器36へデータ転送
乗算器36の出力→R-chレジスタ38−2へ格納
同時に、Cポインタ32、Dポインタ34の値を+1加算する。
(この際、ポインタ操作は−Rサイクルでないと動作しない。)
これで、L-chレジスタ38−1の値=C0×L-chD0
R-chレジスタ38−2の値=C0×R-chD0となる。
サイクル4-L:
係数ROM31→乗算器36へデータ転送
同時に、L-chデータRAM33−1→乗算器36へデータ転送
L-chレジスタ38−1+乗算器36の出力→L-chレジスタ38−1へ格納
サイクル4-R:
係数ROM31→乗算器36へデータ転送
同時に、R-chデータRAM33−2→乗算器36へデータ転送
R-chレジスタ38−2+乗算器36の出力→R-chレジスタ38−2へ格納
同時に、Cポインタ32、Dポインタ34の値を+1加算する。
(この際、ポインタ操作は−Rサイクルでないと動作しない。)
これで、L-chレジスタ38−1の値=C0×L-chD0+C1×L-chD1となる。
R-chレジスタ38−2の値=C0×R-chD0+C1×R-chD1となる。
サイクル5-L: 係数ROM31→乗算器36へデータ転送
同時に、L-chデータRAM33−1→乗算器36へデータ転送
L-chレジスタ38−1+乗算器36の出力→L-chレジスタ38−1へ格納
サイクル5-R: 係数ROM31→乗算器36へデータ転送
同時に、R-chデータRAM33−2→乗算器36へデータ転送
R-chレジスタ38−2+乗算器36の出力→R-chレジスタ38−2へ格納
同時に、Cポインタ32の値を−2し、Dポインタ34の値を−3する。
(この際、ポインタ操作は−Rサイクルでないと動作しない。)
これで、L-chレジスタ38−1の値=C0×L-chD0+C1×L-chD1+C2×L-chD2となる。
R-chレジスタ38−2の値=C0×R-chD0+C1×R-chD1+C2×R-chD2となる。
サイクル6-L:
L-chレジスタ38−1の値を出力する(出力データOUT)。
サイクル6-R:
R-chレジスタ38−2の値を出力する(出力データOUT)。
以上、具体例で示したように本実施例1のDSPでステレオデータのR-ch処理は、従来のモノデータの処理と同じである。従って、モノデータ用として開発したプログラムを本実施例1によるDSPのプログラムとして使用することが可能である。又、Dポインタ34の動作に注目すれば明らかであるが、本実施例1のDSPはポインタ34がL-chデータを処理している時とR-chデータを処理しているときに変化しない。従って無駄な電力消費が発生しない。
(効果)
本実施例1では、制御部40に従来の制御部20に加えて、独立データを区別するR/Lレジスタ52を設け、独立データを示すR/L選択信号CTをデータ演算部30へ供給する。命令デコーダ44にデータ処理命令とそれ以外を区別するデータ処理命令信号DIを設け、この信号DIにより、独立データを区別するR/Lレジスタ52を制御する。又、データ演算部30には、独立なデータ格納に関連する部分を処理する独立データ数によって多重化し、この多重化した部分を制御部40からの独立データを示すR/L選択信号CTによって制御する。これにより、無駄なポインタ動作をすることなく、モノラルで開発したプログラムをステレオデータにそのまま適用することが可能となる。
本発明は、上記実施例1に限定されず、種々の変形が可能である。この変形例である実施例2としては、例えば、次の(a)、(b)のようなものがある。
(a) 独立データを3個以上にする場合には、実施例1の構成に代えて、データRAM33−1,33−2,・・・、複数入力1出力用のセレクタ35−1,35−2,35−4、レジスタ38−1,38−2,・・・、及び複数ビット出力のレジスタ52を設ける等すれば良い。
(b) 実施例では、DSPについて説明したが、他の構成の演算処理装置にも適用できる。
本発明の実施例1を示すDSPの概略の構成図である。 図1のDSPにおける各部分の値の変化を示す図である。 図1のDSPにおける各部分の値の変化を示す図である。 従来のDSPを示す概略の構成図である。
符号の説明
30 データ演算部
31 係数ROM
32 Cポインタ
33−1 L-chデータRAM
33−2 R-chデータRAM
34 Dポインタ
35−1〜35−4,41 セレクタ
36 乗算器
37 ALU
38−1 L-chレジスタ
38−2 R-chレジスタ
40 制御部
42 PC
43 プログラムROM
44 命令デコーダ
50 R/L制御部
51 クロック制御回路
52 R/Lレジスタ

Claims (5)

  1. 共通に使用される共通データを格納する第1のメモリと、
    前記第1のメモリにおける前記共通データの読み出し位置を指示する第1のポインタと、
    共通の選択信号に基づき演算結果の書き込みが制御され、相互に独立した独立データをそれぞれ格納するN個(但し、Nは正の整数)の第2のメモリと、
    前記N個の第2のメモリにおける前記独立データの読み出し位置を指示する第2のポインタと、
    前記共通の選択信号に基づき、前記N個の第2のメモリから読み出された前記N個の独立データの内のいずれか1つを選択して出力する第1のセレクタと、
    前記第1のメモリから読み出された前記共通データと前記第1のセレクタの出力データとを乗算する乗算器と、
    前記共通の選択信号に基づき、N個の入力データの内のいずれか1つを選択して出力する第2のセレクタと、
    前記共通の選択信号に基づき、前記第2のセレクタの出力データと前記演算結果とのいずれか一方を選択して出力する第3のセレクタと、
    前記乗算器の出力データと前記第3のセレクタの出力データとの算術演算及び論理演算を行う算術論理ユニットと、
    前記共通の選択信号に基づきデータの保持が制御され、前記算術論理ユニットの出力データを保持するN個のレジスタと、
    前記共通の選択信号に基づき、前記N個のレジスタの出力データの内のいずれか1つを選択して前記演算結果を出力する第4のセレクタと、
    第1のクロックに基づき計数動作して命令読み出し用のアドレスを出力するプログラムカウンタと、
    複数個の命令からなるプログラムを格納し、前記プログラムカウンタから出力された前記アドレスで指定される前記プログラム中の命令を読み出すプログラムメモリと、
    前記プログラムメモリから読み出された前記命令を解読して命令実行用の制御信号を出力すると共に、前記命令がデータ演算命令か否かを区別するデータ処理命令信号を出力する命令デコーダと、
    前記データ処理命令信号及び第2のクロックを入力し、前記データ処理命令信号に基づき、演算処理で使用する前記独立データを選択するための前記共通の選択信号を出力すると共に、前記第2のクロックに基づき前記第1のクロックを生成し、前記データ処理命令信号に応答して、前記命令がデータ演算命令であるならば、前記独立データの数の演算処理サイクルを経過した後に前記第1のクロックを前記プログラムカウンタに与え、前記命令がデータ演算命令でないならば、直ちに前記第1のクロックを前記プログラムカウンタに与える独立データ制御部と、
    を備えたことを特徴とする演算処理装置。
  2. 請求項1記載の演算処理装置において、
    前記独立データ制御部は、
    前記データ処理命令信号及び前記第2のクロックを入力し、前記データ処理命令信号に基づき前記第1のクロックを生成して出力するクロック制御回路と、
    前記第2のクロック及び前記クロック制御回路の出力信号を入力し、前記第2のクロックにより動作して前記独立データを区別する前記共通の選択信号を生成して出力する選択信号生成回路と、
    を有することを特徴とする演算処理装置。
  3. 請求項2記載の演算処理装置において、
    前記選択信号生成回路は、前記第2のクロックにより動作するフラグ又はレジスタで構成したことを特徴とする演算処理装置。
  4. 請求項1〜3のいずれか1項に記載の演算処理装置において、
    前記第1及び第2のポインタの出力は、前記命令デコーダから出力される前記制御信号により、前記独立データの数の演算処理サイクルの最後のみで有効となる構成にしたことを特徴とする演算処理装置。
  5. 請求項4記載の演算処理装置において、
    前記第1及び第2のポインタの出力は、前記共通の選択信号によりマスクされ、前記命令デコーダから出力される前記制御信号により、前記独立データの数の演算処理サイクルの最後のみで有効となる構成にしたことを特徴とする演算処理装置。
JP2004122678A 2004-04-19 2004-04-19 演算処理装置 Expired - Fee Related JP4300151B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004122678A JP4300151B2 (ja) 2004-04-19 2004-04-19 演算処理装置
CN2005100005294A CN100407131C (zh) 2004-04-19 2005-01-07 运算处理装置
US11/048,759 US7308560B2 (en) 2004-04-19 2005-02-03 Processing unit
KR1020050016471A KR101110167B1 (ko) 2004-04-19 2005-02-28 연산처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004122678A JP4300151B2 (ja) 2004-04-19 2004-04-19 演算処理装置

Publications (2)

Publication Number Publication Date
JP2005309572A JP2005309572A (ja) 2005-11-04
JP4300151B2 true JP4300151B2 (ja) 2009-07-22

Family

ID=35240707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004122678A Expired - Fee Related JP4300151B2 (ja) 2004-04-19 2004-04-19 演算処理装置

Country Status (4)

Country Link
US (1) US7308560B2 (ja)
JP (1) JP4300151B2 (ja)
KR (1) KR101110167B1 (ja)
CN (1) CN100407131C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4782591B2 (ja) * 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 リコンフィグラブル回路
JP6275474B2 (ja) * 2013-12-25 2018-02-07 ルネサスエレクトロニクス株式会社 半導体装置及びデータ転送装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3070058B2 (ja) * 1989-11-07 2000-07-24 カシオ計算機株式会社 デジタル信号処理装置
JPH0535774A (ja) 1991-07-25 1993-02-12 Oki Electric Ind Co Ltd 演算回路
US5640578A (en) * 1993-11-30 1997-06-17 Texas Instruments Incorporated Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
US5742841A (en) * 1993-12-08 1998-04-21 Packard Bell Nec Alternate I/O port access to standard register set
JP3547139B2 (ja) * 1995-03-17 2004-07-28 株式会社 日立製作所 プロセッサ
KR100291383B1 (ko) * 1996-11-18 2001-09-17 윤종용 디지털신호처리를위한명령을지원하는모듈계산장치및방법
JPH10255399A (ja) * 1997-03-11 1998-09-25 Sony Corp オーディオ再生装置
US6223275B1 (en) * 1997-06-20 2001-04-24 Sony Corporation Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
CN1279435C (zh) * 1998-03-18 2006-10-11 高通股份有限公司 数字信号处理器
US6252919B1 (en) * 1998-12-17 2001-06-26 Neomagic Corp. Re-synchronization of independently-clocked audio streams by fading-in with a fractional sample over multiple periods for sample-rate conversion
JP2000293357A (ja) 1999-04-06 2000-10-20 Hitachi Ltd マイクロプロセッサ
JP2001268170A (ja) * 2000-03-23 2001-09-28 Hitachi Kokusai Electric Inc ディジタル電話システムの受信機と受信制御方法
TW569551B (en) * 2001-09-25 2004-01-01 Roger Wallace Dressler Method and apparatus for multichannel logic matrix decoding

Also Published As

Publication number Publication date
KR101110167B1 (ko) 2012-01-31
CN1690950A (zh) 2005-11-02
KR20060043233A (ko) 2006-05-15
JP2005309572A (ja) 2005-11-04
CN100407131C (zh) 2008-07-30
US20050251658A1 (en) 2005-11-10
US7308560B2 (en) 2007-12-11

Similar Documents

Publication Publication Date Title
US6742012B2 (en) Apparatus and method for performing multiplication operations
EP1073950B1 (en) Method and apparatus for performing shift operations on packed data
KR101918464B1 (ko) 스위즐드 버추얼 레지스터 기반의 프로세서 및 스위즐 패턴 제공 장치
JPH08106375A (ja) 信号処理演算器
JP4349265B2 (ja) プロセッサ
JP5346467B2 (ja) 機能単位が読み出しポートを共有するデータ処理回路
JP4300151B2 (ja) 演算処理装置
JP4686435B2 (ja) 演算装置
JPH0480867A (ja) 演算回路
JP2004511039A (ja) 単一命令多数データ処理
JPH0748179B2 (ja) データ処理装置
JP5168143B2 (ja) プロセッサ、および、命令制御方法
JP3723115B2 (ja) 単一命令多重データ処理
JP2006072961A (ja) 演算処理装置のメモリ回路
JP5145659B2 (ja) ベクトルリネーミング方式およびベクトル型計算機
JP2002229970A (ja) Simd積和演算方法、積和演算回路、および、半導体集積回路装置
JP3804778B2 (ja) プロセッサ及び命令実行方法
JP3000857B2 (ja) プログラマブルコントローラ
JP2006268152A (ja) 集積回路装置
WO2011086808A1 (ja) 情報処理装置
JPH0895781A (ja) プロセッサの算術論理装置
JPH0667876A (ja) デジタル信号プロセッサ
JP2007310524A (ja) 演算プロセッサとモータ制御装置
JP2011134042A (ja) Simd型マイクロプロセッサおよびsimd型マイクロプロセッサのデータ整列方法
JPH08286909A (ja) 命令解読装置及び命令解読方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090114

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: 20090325

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees