JP3655403B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP3655403B2 JP3655403B2 JP23614096A JP23614096A JP3655403B2 JP 3655403 B2 JP3655403 B2 JP 3655403B2 JP 23614096 A JP23614096 A JP 23614096A JP 23614096 A JP23614096 A JP 23614096A JP 3655403 B2 JP3655403 B2 JP 3655403B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- processing unit
- digital signal
- bit length
- 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
- 230000015654 memory Effects 0.000 claims description 58
- 238000004364 calculation method Methods 0.000 claims description 11
- 239000004065 semiconductor Substances 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims description 5
- 238000004148 unit process Methods 0.000 claims 3
- 239000000872 buffer Substances 0.000 description 51
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- GHOKWGTUZJEAQD-ZETCQYMHSA-N (D)-(+)-Pantothenic acid Chemical compound OCC(C)(C)[C@@H](O)C(=O)NCCC(O)=O GHOKWGTUZJEAQD-ZETCQYMHSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Description
【発明の属する技術分野】
本発明はセントラルプロセッシングユニットとディジタル信号処理ユニットとを有する半導体集積回路化された論理LSI(Large Scale Integrated circuit)に係り、高速演算処理を要するマイクロコンピュータ、ディジタルシグナルプロセッサ等のデータ処理装置に適用して有効な技術に関する。
【0002】
【従来の技術】
システム全体を制御するために必要な汎用演算処理ユニット(Central Processing Unit (CPU))と、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニット(Digital Signal Processor (DSP))とを同一チップ上に搭載したマイクロコンピュータの例としては、「河崎他、「DSP機能を内蔵したSHシリ−ズ」、日経エレクトロニクス、1992年11月23日号、no.568、pp.99−112」がある。
【0003】
これによれば、積和演算機能を備えたディジタル信号処理ユニットは、ディジタルフィルタリング等のディジタル信号処理の代表的な演算処理を少ないステップ数で効率良く実行することが可能である。
【0004】
【発明が解決しようとする課題】
しかし上記従来の技術に記載のディジタル信号処理ユニットは、積和演算器を備えるものの、演算を行うデータを前記汎用演算処理ユニットと同様に整数データとして扱っている。通常ディジタル信号処理の世界で扱うデータは、固定小数点もしくは浮動小数点データが一般的である。浮動小数点データは、仮数部データと指数部データがセットになったデータ形式であり、全く異なった数値体系であるが、固定小数点データは小数点の位置が異なるだけで、整数データとよく似ている。事実、加減算では基本的に整数データと処理内容は同じである。
【0005】
しかし、図1の(a)に示すように、乗算では整数データの場合、ソースデータは指定されたレジスタの下位側のワードを演算に使用するのに対して、固定小数点データの場合は指定されたレジスタの上位側を使用する。図1の(b)に示すように、整数データは小数点が最下位ビットの右側に位置していると見なされるのに対して、固定小数点データでは通常、最上位ビットのすぐ右側にあり、小数点に近い部分がより重要であるからである。そのため整数乗算器で固定小数点乗算を実行させるためには、あらかじめソースデータを上位側から下位側へシフトしておかなければならない。また、図1の(c)に示すように、小数点位置に基づいてアライニング(桁合わせ)が行われ、演算結果は両者で1ビット分のずれが生じる。その結果実際の処理プログラムでは両者の食い違いを補正するためのシフト処理が必要になることがあるという問題が生じている。
【0006】
さらにディジタル信号処理では、メモリから読み出されるデータや、演算結果をメモリ又は外部へ出力したりする場合のデータのビット長は、演算中のビット精度に比べて少なくてよい場合が多い。そのため実際のディジタル信号処理ユニットではメモリ又は外部とのデータ転送は単精度のワードデータ(例えば16ビット)で行い、演算は倍精度(例えば32ビット)以上で行うことが一般的である。この演算精度よりもビット長の短いデータを転送する場合、整数データと固定小数点データとで動作内容が大きく異なる。
【0007】
整数データを扱うことを前提としている演算ユニットは、ワードデータやさらにビット長の短いバイトデータ(8ビット)のデータ転送を行う場合には、データを保持するレジスタの下位側を入出力する。しかし固定小数点データを扱うことを前提としている演算ユニットは、データの上位側を入出力する。この違いが生じる原因は、前述の小数点位置の違いからくるものである。すなわち、転送するデータのビット長が格納すべきオペランドのビット長より短い場合、データの精度やレンジの点から、小数点に近い部分がより重要であるが、整数データは小数点が最下位ビットの右側に位置していると見なされるのに対して、固定小数点データでは通常、最上位ビットのすぐ右側にあるため、このような食い違いが生じる。その結果、整数データを扱うことを前提とした演算ユニットで演算精度より短いビット長のデータ転送を行う場合、いちいちシフト処理を行わなければならなくなるという問題が生じている。
【0008】
転送時のデータのビット長を演算時のデータのビット長と同じにしていればこのような問題は生じないが、冗長なビットの転送を行うために余計なバス幅が必要になったり、データを格納するメモリも余分な容量を必要としてしまう問題がある。
【0009】
本発明の目的は、セントラルプロセッシングユニットと固定小数点データを処理するディジタル信号処理ユニットを内蔵するマイクロコンピュータ、ディジタルシグナルプロセッサ等のデータ処理装置を提供することにある。
【0010】
さらに本発明の目的は、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、演算器で取り扱うデータ形式の違いによる処理ステップ数の増大を防止し、ディジタル信号処理の高効率化を図る。
【0011】
また、本発明の目的は、乗算結果のビット位置補正やデータ転送に伴う余分なシフト動作を省略し、ディジタル信号処理を高速化することにある。
【0012】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0013】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0014】
(a)データ処理装置(1)は、CPU(100)と、CPU(100)が命令を解読することによって動作が制御されるディジタル信号処理ユニット(104)とを1つの半導体基板上に備え、前記ディジタル信号処理ユニット(104)は、固定小数点デ−タを処理する加減算回路(105)と、固定小数点デ−タを処理する乗算回路(106)とを備える。
【0015】
(b)データ処理装置(1)は、第1レジスタ(103)と該第1レジスタ(103)内のデータを演算する第1演算器(101、102)とを有する第1処理ユニット(100)と、第2レジスタ(108)と該第2レジスタ(108)内のデータを演算する第2演算器(105、106)とを有する第2処理ユニット(104)とを具備し、前記第1処理ユニット(100)は整数データを処理し、前記第2処理ユニット(104)は固定小数点データを処理する。
【0016】
(c)データ処理装置(104)は、レジスタ(108)と該レジスタ(108)内のデータを演算する演算器(105、106)とを有し、前記レジスタのビット長より短いビット長のデータを該データ処理装置(104)の外部から前記レジスタ(108)に転送する第1の命令を実行する場合は、前記データを前記レジスタ(108)の上位側に詰めて入力し、前記レジスタ(108)の余分な下位側にはゼロ入力し、前記レジスタ(108)のビット長より短いビット長のデータを前記レジスタ(108)から該データ処理装置(104)の外部に転送する第2の命令を実行する場合は、前記レジスタ(108)の上位側から必要なビット長のデータを外部に出力する。
【0017】
(d)データ処理装置(1)は、算術演算又は論理演算を実行する演算回路(101)を備えるセントラルプロセッシングユニット(100)と、前記セントラルプロセッシングユニット(100)から選択的にアドレスが伝達される第1、第2及び第3のアドレスバス(109、110、111)と、前記第1のアドレスバス(109)及び第2のアドレスバス(110)に接続され、前記セントラルプロセッシングユニット(100)からのアドレスによってアクセスされる第1のメモリ(115)と、前記第1のアドレスバス(109)及び第3のアドレスバス(111)に接続され、前記セントラルプロセッシングユニット(100)からのアドレスによってアクセスされる第2のメモリ(116)と、前記第1及び第2のメモリ(115、116)と前記セントラルプロセッシングユニット(100)とに接続されてデータが伝達される第1のデータバス(112)と、前記第1のメモリ(115)に接続されてデータが伝達される第2のデータバス(113)と、前記第2のメモリ(116)に接続されてデータが伝達される第3のデータバス(114)と、前記第1、第2及び第3のデータバス(112、113、114)に接続され前記セントラルプロセッシングユニット(100)と同期動作するディジタル信号処理ユニット(104)とを備え、前記ディジタル信号処理ユニット(104)は、固定小数点データを処理する加減算回路(105)と、固定小数点データを処理する乗算回路(106)と備える。
【0018】
(e)データ処理装置は、乗数と被乗数とを入力し、乗数と被乗数との乗算結果を出力する乗算器(106)と、前記乗算器の出力をシフトするシフタ(107)とを具備し、整数データを乗算する場合は、前記シフタは前記乗算器の出力をシフトしないで出力し、固定小数点データを乗算する場合は、前記シフタは前記乗算器の出力を左に1ビットシフトし、最下位ビットにゼロを入力する。
【0019】
すなわち、前記ディジタル信号処理ユニットとメモリや外部とのデータ転送動作において、演算精度よりも短いビット長のデータを転送する場合には、データを格納するレジスタの上位側のデータを入出力するような機能を持たせ、固定小数点データとしてのデータ転送命令を従来の整数データを前提とした転送命令とは別に設けることにより、解決することができる。
【0020】
固定小数点データ転送命令が発行され、デスティネーションレジスタよりもビット長の短いデータが転送されてきた場合は、デスティネーションレジスタの上位側に詰めてデータを格納し、余分な下位ビットはクリアしておく。逆にソースレジスタからデータを出力する場合は、やはりソースレジスタの上位から必要なビット数のデータを出力する。その結果、余分なシフト動作を行う必要がなくなる。
【0021】
さらに、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、前記ディジタル信号処理ユニットを固定小数点データを扱う演算ユニットとし、固定小数点データ演算を実行する命令を従来の整数演算命令とは別に設けるようにすればよい。
【0022】
すなわち、乗算動作を行う演算回路では固定小数点乗算命令が発行された時、ソースデータはレジスタの上位側から出力させ、従来の整数データの乗算回路の出力に対して1ビット分算術的に左方向にシフトされた形のデータを指定されたデスティネーションレジスタに格納するように制御する。
【0023】
【発明の実施の形態】
《全体構成》
図2は本発明の一実施例に係るマイクロコンピュータの全体的なブロック図である。同図に示されるマイクロコンピュータ1は半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板上に形成されている。図中、100は整数演算処理機能を持つ汎用演算処理ユニット(セントラルプロセッシングユニット:CPU)、101は前記汎用演算処理ユニット内の算術論理演算器(ALU)、102は前記汎用演算処理ユニット内の第2のアドレス演算を行う整数演算器(PAU)、103は前記各演算器のソースまたはデスティネーションオペランドとなるレジスタ・ファイル、104は固定小数点データ演算処理機能を持つディジタル信号処理ユニット(DSP)、105は前記ディジタル信号処理ユニット内の算術論理演算器(ALU)、106は前記ディジタル信号処理ユニット内の乗算器、107はシフタ、108は前記各演算器のソースまたはデスティネーションオペランドとなるレジスタ・ファイル、109は全アドレス空間をサポートする32ビット長のアドレスバス(IAB[31:0])、110及び111は一部のアドレス空間のみサポートするワードデータ(16ビット長のデータ)アクセス専用の16ビット長のアドレスバス(XAB[16:1]、YAB[16:1])、112は32ビット長のデータパス(IDB[31:0])、113、114は16ビット長のデータバス(XDB[15:0]、YDB[15:0])、115及び116はオンチップメモリ(Xメモリ、Yメモリ)、117は周辺回路や外部とのインタフェースを行うモジュール(I/O)である。なお、本来のデータ処理装置に当然含まれる他の要素回路、即ち周辺回路や命令のデコード回路、フロー制御回路等は、本発明と直接関係無いので、ここでは省略している。なお、マイクロコンピュータ1の詳細については、本願発明者等の先の出願(特願平7−132906号)に記載されている。
【0024】
まず本実施例の基本的な動作・機能を説明する。マイクロコンピュータ1は、CPU命令とDSP命令の2種類の命令をサポートしている。CPU命令とは、デイジタル信号処理ユニット(DSP)104を動作させることなく専ら汎用演算処理ユニット(CPU)100によって実行される命令である。DSP命令とは、CPU100が一部の処理を負担してDSP104が実行する命令である。DSP命令としては、整数演算命令と固定小数点データを扱う命令が含まれる。
【0025】
CPU100が命令をオンチップメモリ115、オンチップメモリ116又は図示されていない外付けメモリからフェッチし、デコードし、CPU命令かDSP命令かを判定する。デコードの結果、DSP命令であればCPU100はDSP制御信号をDSP104に供給する。DSP104は前記DSP制御信号をデコードして、DSP104内部の制御信号を生成する。すなわち、整数演算命令と固定小数点データを扱う命令では異なる制御信号が生成される。
【0026】
汎用演算処理ユニット100は通常のワンチップマイコンLSIのコアとなるセントラル・プロセッシング・ユニット(CPU)が備えている基本的な機能を持っている。算術論理演算器(ALU)101はデータおよびアドレス演算処理を実行する。アドレス演算を行う整数演算器(PAU)102は算術論理演算器101とともに前記ディジタル信号処理ユニット104が積和演算処理のために複数のソースデータをメモリから読み出すことが必要な場合に、アドレスを生成する演算器である。各演算器101、102に必要なソース・オペランド・データはレジスタ・ファイル103から選択され、供給される。そして演算結果はレジスタ・ファイル103の中の選択されたデスティネーション・レジスタに格納される。
【0027】
汎用演算処理ユニット100で生成されたアドレスをアドレスバス109、110あるいは111に出力する。アドレスバス(IAB)109は全アドレス空間をサポートしており、オンチップ・メモリ115、116及びインタフェース・モジュール(I/O)117を通じて各周辺回路、外部アドレス空間をアクセスする。アドレスバス109によってアクセスされたアドレス領域のデータ書き込み/読み出しすべきデータは、データバス(IDB)112によって行われる。アドレスバス(XAB)110はオンチップ・メモリ(Xメモリ)115のみアクセスする。アドレスバス110によってアクセスされたアドレス領域のデータ書き込み/読み出しすべきデータは、データバス113によって行われる。アドレスバス(YAB)111はオンチップ・メモリ(Yメモリ)116のみアクセスする。アドレスバス111によってアクセスされたアドレス領域のデータ書き込み/読み出しすべきデータは、データバス(YDB)114によって行われる。
【0028】
ディジタル信号処理ユニット104は、固定小数点データを処理する機能を持つ。整数データを処理する機能を持つことは本発明の実施を妨げない。算術論理演算器105は加減算や論理演算処理を実行する。乗算器106は2つの16ビット長のワードデータを乗算し、32ビット長の結果を出力する。整数乗算の場合はソースレジスタの下位ワード(0ビット目から15ビット目)をソースデータとして入力し、固定小数点乗算の場合はソースレジスタの上位ワード(16ビット目から31ビット目)をソースデータとして入力する。なお、106は積和演算器でも本発明の実施を妨げるものではないことは明らかであるので、ここでは乗算器の場合で説明を行う。シフタ107は乗算器106の出力を1ビット左シフトする機能を持つ。各演算器105、106に必要なソース・オペランド・データはレジスタ・ファイル108から選択され、供給される。そして演算結果はレジスタ・ファイル108の中の選択されたデスティネーション・レジスタに格納される。
【0029】
ディジタル信号処理ユニット104で処理するデータはデータバス112を経てオンチップメモリ115、116またはインタフェース・モジュール117を通じて各周辺回路、外部からレジスタ・ファイル108に供給される。処理されたデータはデータバス112、113及び114を経てレジスタ・ファイル108からオンチップメモリ115、116またはインタフェース・モジュール117を通じて各周辺回路、外部へ出力される。ディジタル信号処理ユニット104で処理するデータはデータバス113及び114を経てもデータ転送を行うことができるが、データバス113ではレジスタ・ファイル108とオンチップメモリ115との間でのみ転送可能である。またデータバス114ではレジスタ・ファイル108とオンチップメモリ116との間でのみ転送可能である。データバス113及び114を使ったデータ転送では、リソースが全て別々であるため、並列に実行することが可能である。レジスタ・ファイル108と他とのデータ転送が実行される時、必要なアドレスは汎用演算処理ユニット100で生成される。
【0030】
オンチップ・メモリ115及び116は、それぞれ別のアドレスにマッピングされている。メモリの種類は特に限定されず、SRAM(Static RAM)やDRAM(Dynamic RAM)等のRAM(Random Access Memory)でもLSIの製造工程中にプログラムされるマスクROMやフラッシュメモリ(Flash Memory)等のROM(Read Only Memory)でもよい。すなわち、揮発性のメモリでも不揮発性のメモリでもよい。オンチップ・メモリ115はアドレスバス109及び110よりアドレス供給を受け、データバス112及び113を介してデータの書き込み/読み出しを行う。一方オンチップ・メモリ116はアドレスバス109及び111よりアドレス供給を受け、データバス112及び114を介してデータの書き込み/読み出しを行う。その結果、前述のように同じオペレーション・サイクルで並列にデータの書き込み/読み出し動作を行うことが可能である。
【0031】
《シフタの構成》
シフタ107の詳細な一実施例を図3に示す。図中、200はインバータ、201は論理積回路、202は論理和回路、203はシフタ107においてシフトを行うか否かを制御する制御信号である。論理和回路202と2つの論理積回路201とは選択回路を構成する。乗算器106の出力に付されている数字はビット位置を表している。31ビット目が最上位ビットで、0ビット目が最下位ビットである。他の記号は図2と同じである。シフタの本実施例は、データ処理装置が整数乗算と固定小数点乗算の双方をサポートしている場合の実施例である。ここで乗算器106は常時整数乗算を行う。その結果、整数乗算命令が実行されている場合は、制御信号203がLow状態となり、乗算器106の出力結果をそのまま通す。固定小数点乗算命令が実行されている場合は、制御信号203がHigh状態となり、乗算器106の出力結果を1ビット左シフトして出力する。0ビット目にはゼロが出力される。このようにして固定小数点乗算が実現される。整数乗算命令がサポートされない場合は、シフタ107にスルー機能は不要となり常時1ビットシフト出力すればよいので、制御信号203も不要となり、シフト機能自体実際には必要なく、単に結果の格納先で格納ビット位置を1ビット左へずらして接続しておけばよい。したがって本発明は107のようなシフト回路を持つことが必要条件ではなく、あくまでもディジタル信号処理ユニット104内に固定小数点乗算機能を少なくとも備えていることが、本発明の重要なポイントである。
【0032】
整数乗算のみを行う乗算器に命令によってシフト機能が異なるシフト回路を備えることで、固定小数点乗算と整数乗算の両方が実行可能である。従って、少ないハードウェア量で高機能が実現できるので、チップ面積の増加が抑えられる。また、乗算実行後にシフト操作等のCPU命令の実行の必要もない。
【0033】
《DSPとデータバスとの接続》
レジスタ・ファイル108のより詳細なブロック図及びデータバスとの接続例を図4に示す。ただし、この図では要点に絞った説明のため、データバス112とレジスタ・ファイル108との接続に関わる部分の構成のみを示しており、他のデータバスや各演算器との接続構造は省略している。
【0034】
図中、300a、300b、300c、300dはそれぞれ個々のレジスタ、301は各レジスタの上位ワード(16ビット目から31ビット目)とバッファ&ドライバ303とを接続するローカルバス、302は各レジスタの下位ワード(0ビット目から15ビット目)とバッファ&ドライバ304とを接続するローカルバス、303は前記各レジスタの上位ワードとデータバス112との間でデータの受け渡しの中継を行うバッファ&ドライバ、304は前記各レジスタの下位ワードとデータバス112との間でデータの受け渡しの中継を行うバッファ&ドライバ、305はデータバス112の上位ワード、下位ワードのどちらに接続するかを選択し、データの転送方向を制御する信号、306はデータバス112の下位ワードに接続し、データの転送方向を制御する信号である。なお、図4、図5及び図7ではデータバス112は説明のため下位データバス112aと上位データバス112bに分割して記述している。図5には、バッファ&ドライバ303、304の回路図を示す。図6には、バッファ&ドライバ303の制御信号305(305a、305b、305c、305d、306e)及びバッファ&ドライバ304の制御信号306(306a、306b、306c)と取り扱いデータとの関係を示す。
【0035】
ここで説明の簡単化のため、16ビット長のデータをワードデータ、32ビット長のデータをロングワードデータと呼ぶ。
【0036】
(1)ロングワードデータの入出力
ロングワードデータがデータバス112を経て入力される場合(図6ではロングワード・ロードと記載されている。)、データの性質が(整数データまたは固定小数点データ)に関係なく、動作は同じである。すなわち、制御信号306aが“1”(Highレベル)にされると入力バッファ505がイネーブルにされ、下位データバス112aとローカルバス302とが電気的に接続される。従って、下位データバス112a上のデータは、バッファ&ドライバ304、ローカルバス302を経て指定されたデスティネーションレジスタ(300a〜300dの内のひとつ)の下位ワードに格納される。同時に制御信号305aが“1”(Highレベル)にされると入力バッファ501がイネーブルにされ、上位データバス112bとローカルバス301とが電気的に接続される。従って、上位データバス112b上のデータは、バッファ&ドライバ303、ローカルバス301を経て指定されたデスティネーションレジスタ(下位ワードと同じレジスタ)の上位ワードに格納される。
【0037】
ロングワードデータがデータバス112に出力される場合(図6ではロングワード・ストアと記載されている。)も、データの性質が(整数データまたは固定小数点データ)に関係なく、動作は同じである。すなわち、制御信号306bが“1”(Highレベル)にされると出力バッファ506がイネーブルにされ、ローカルデータバス302と下位データバス112aとが電気的に接続される。従って、指定されたソースレジスタ(300a〜300dの内のひとつ)の下位ワードから出力されたワードデータは、ローカルバス302、バッファ&ドライバ304を経て下位データバス112aに出力される。同時に、制御信号305bが“1”(Highレベル)にされると出力バッファ502がイネーブルにされ、ローカルデータバス301と上位データバス112bとが電気的に接続される。従って、指定されたソースレジスタ(下位ワードと同じレジスタ)の上位ワードから出力されたワードデータは、ローカルバス301、バッファ&ドライバ303を経て上位データバス112bに出力される。
【0038】
(2)ワードデータの入出力
ワードデータの転送では、常に下位データバス112aを用いて転送されるが、レジスタ・ファイル108内部の動作はデータの性質によって異なる。
【0039】
(i)整数データ
まず整数データの場合について述べる。ワードデータがデータバス112を経て入力される場合(図6では整数データ・ワード・ロードと記載されている。)は、制御信号306aが“1”(Highレベル)にされると入力バッファ505がイネーブルにされ、下位データバス112aとローカルバス302とが電気的に接続される。従って、下位データバス112a上のデータはバッファ&ドライバ304、ローカルバス302を経て指定されたデスティネーションレジスタ(300a〜300dの内のひとつ)の下位ワードに格納される。同時に制御信号305eが“1”(Highレベル)にされると入力バッファ507がイネーブルにされ、下位データバス112aの15ビット目とローカルバス301とが符号拡張回路510を介して電気的に接続される。従って、バッファ&ドライバ303は、下位データバス112aの15ビット目のデータのみを取り込んで16ビット分に拡張コピーし、ローカルバス301を経て指定されたデスティネーションレジスタ(下位ワードと同じレジスタ)の上位ワードに格納する。これによってデスティネーションレジスタの上位ワードには転送されてきたワードデータの符号データがコピーされたことになる。
【0040】
ワードデータがデータバス112に出力される場合(図6では整数データ・ワード・ストアと記載されている。)、制御信号306bが“1”(Highレベル)にされると出力バッファ506がイネーブルにされ、ローカルデータバス302と下位データバス112aとが電気的に接続される。従って、指定されたソースレジスタ(300a〜300dの内のひとつ)の下位ワードから出力されたワードデータは、ローカルバス302、バッファ&ドライバ304を経て下位データバス112aに出力される。このときバッファ&ドライバ303側は何も動作しない。すなわち、制御信号305a、305b、305c、305d、305eは全て“0”(Lowレベル)で、入力バッファ501、504、507及び出力バッファ502、503は、ディスエーブルにされる。
【0041】
(ii)固定少数点データ
次に固定小数点データの場合について述べる。ワードデータがデータバス112を経て入力される場合(図6では固定小数点データ・ワード・ロードと記載されている。)は、制御信号305cが“1”(Highレベル)にされると入力バッファ503がイネーブルにされ、下位データバス112aとローカルバス301とが電気的に接続される。従って、下位データバス112a上のデータはバッファ&ドライバ303、ローカルバス301を経て指定されたデスティネーションレジスタ(300a〜300dの内のひとつ)の上位ワードに格納される。同時に制御信号306cが“1”(Highレベル)にされるとバッファ&ドライバ304のオールゼロ回路512は16ビット分のオールゼロデータを生成し、ローカルバス301を経て指定されたデスティネーションレジスタ(上位ワードと同じレジスタ)の下位ワードに格納する。これによってデスティネーションレジスタの下位ワードには自動的にクリアされたことになる。なお、下位ワードのクリアは、バッファ&ドライバ304でオールゼロを生成する代わりにデスティネーションレジスタで直接クリアする回路を設けても良い。
【0042】
ワードデータがデータバス112に出力される場合(図6では固定小数点データ・ワード・ストアと記載されている。)、制御信号306dが“1”(Highレベル)にされると出力バッファ504がイネーブルにされ、ローカルデータバス301と下位データバス112aとが電気的に接続される。従って、指定されたソースレジスタ(300a〜300dの内のひとつ)の上位ワードから出力されたワードデータは、ローカルバス301、バッファ&ドライバ303を経て下位データバス112aに出力される。このときバッファ&ドライバ304側は何も動作しない。すなわち、制御信号306a、306b、306cは全て“0”(Lowレベル)で、入力バッファ505、出力バッファ506及びオールゼロ回路512は、ディスエーブルにされる。
【0043】
整数データ転送命令と固定小数点データ転送命令との違いによって、制御信号305(305a、305b、305c、305d、305e)、306(306a、306b、306c)の状態が異なり、制御信号305、306によってバッファ&ドライバ303、304をそれぞれ制御することによって、上位ワードから上位ワード、上位ワードから下位ワード又は下位ワードから上位ワードへの転送が可能になる。これによって、固定小数点乗算実行前にソースデータを下位側にシフトする等の操作をCPU命令によって実行する必要なく、演算時間を短くすることできる。
【0044】
《CPUとデータバスとの接続》
汎用演算処理ユニット100のレジスタ・ファイル103のより詳細なブロック図及びデータバスとの接続例を図7に示す。ただし、この図でもデータバス112とレジスタ・ファイル103との接続に関わる部分の構成のみを示しており、他のデータバスや各演算器との接続構造は省略している。なお、図7でも図4と同様にデータバス112は下位データバス112aと上位データバス112bに分割して記述している。図中、400a、400b、400c、400dはそれぞれ個々のレジスタ、401は各レジスタの上位ワード(16ビット目から31ビット目)とバッファ&ドライバ403とを接続するローカルバス、402は各レジスタの下位ワード(0ビット目から15ビット目)とバッファ&ドライバ404とを接続するローカルバス、403は前記各レジスタの上位ワードと上位データバス112bとの間でデータの受け渡しの中継を行うバッファ&ドライバ、404は前記各レジスタの下位ワードと下位データバス112aとの間でデータの受け渡しの中継を行うバッファ&ドライバ、405は上位データバス112bに接続し、データの転送方向を制御する制御信号、406は下位データバス112aに接続し、データの転送方向を制御する信号である。
【0045】
本レジスタ・ファイル103では、全てのデータは整数データとして取り扱う。従ってデータ転送動作は前述のディジタル信号処理ユニット104のレジスタ・ファイル108における整数データの場合の動作及びタイミング又はパイプライン動作は異なる場合があるが、基本的には同じである。すなわち、バッファ&ドライバ403には、バッファ&ドライバ303のうち入力バッファ501、507、出力バッファ502及び符号拡張回路510に相当する回路がある。バッファ&ドライバ404には、バッファ&ドライバ304のうち入力バッファ505及び出力バッファ506に相当する回路がある。従って、制御信号405には、制御信号305a、306b、306eに相当する制御信号がある。制御信号406には、制御信号306a、306bに相当する制御信号がある。
【0046】
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、マイクロコンピュータに限定されず、ディジタルシグナルプロセッサにも適用される。
【0047】
また、本実施例ではレジスタ・ファイル108でも整数データと固定小数点データの双方のデータ転送命令をサポートする場合を示したが、本発明ではディジタル信号処理ユニット104のためのデータ転送に整数データ用のワードデータ転送命令をサポートすることは必ずしも必要とせず、少なくとも固定小数点データ用の転送命令のみのサポートでも構わない。また、データのビット長は必ずしも16ビット、32ビットである必要はないことは言うまでもない。さらに本実施例ではワードデータの転送時にはデータバスの下位ワードのみを使用することを前提として説明したが、固定小数点データのワードデータを転送するときはやはりデータバスの上位ワードを用いることにし、相手側でデータの性質によって接続するワードを切り替えるようにすれば、同様の機能が実現できる。この場合、バッファ&ドライバ303はいつでもデータバスの上位ワード側に接続すればよいので、下位データバス112aと接続する必要はなくなる。さらに本実施例では、固定小数点が30ビット目と31ビット目の間にあり、表現できる数値範囲は−1.0以上+1.0未満を仮定していたが、ガードビットと一般に呼ばれるオーバフロー防止のビットがさらに拡張されてサポートされたレジスタであっても構わない。この場合、ワードデータの転送命令実行時には16ビット目から31ビット目のワードデータが転送され、ガードビット部分はデータ入力時には符号拡張され、データ出力時には無視すればよい。
【0048】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0049】
すなわち、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、前記ディジタル信号処理ユニットが固定小数点データを扱うことが可能にされているから、より複雑なディジタル信号処理ができる。
【0050】
また、前記ディジタル信号処理ユニットとメモリや外部とのデータ転送動作において、演算精度よりも短いビット長のデータを転送する場合には、データを格納するレジスタの上位側のデータを入出力するような機能を持たせ、やはり固定小数点データとしてのデータ転送命令を従来の整数データを前提とした転送命令とは別に設けることにより、データ転送に伴う余分なシフト動作等が省略でき、高速性能を向上させることができる。
【0051】
前記ディジタル信号処理ユニットにおいて固定小数点データ演算を実行する命令を従来の整数演算命令とは別に設けることにより、乗算結果のビット位置補正が自動的に行われ、高速性能を向上させることができる。
【図面の簡単な説明】
【図1】整数データと固定少数点データとの関係を示す図。
【図2】本発明の一実施例におけるマイクロコンピュータの全体的なブロック図。
【図3】本発明の一実施例におけるシフタ107の詳細な一実施例。
【図4】本発明の一実施例におけるディジタル信号処理ユニット104のレジスタ・ファイル108のより詳細なブロック図及びデータバスとの接続例。
【図5】バッファ&ドライバ回路の図。
【図6】制御信号305及び制御信号306と取り扱いデータとの関係を表す図。
【図7】本発明の一実施例における汎用演算処理ユニット101のレジスタ・ファイル103のより詳細なブロック図及びデータバスとの接続例。
【符号の説明】
100:整数演算処理機能を持つ汎用演算処理ユニット(CPU)
101:汎用演算処理ユニット内の算術論理演算器(ALU)
102:汎用演算処理ユニット内の第2のアドレス演算を行う整数演算器(PAU)
103:汎用演算処理ユニット内のレジスタ・ファイル
104:固定小数点データ演算処理機能を持つディジタル信号処理ユニット(DSP)
105:ディジタル信号処理ユニット内の算術論理演算器
106:ディジタル信号処理ユニット内の乗算器
107:ディジタル信号処理ユニット内のシフタ
108:ディジタル信号処理ユニット内のレジスタ・ファイル
109:32ビット長のアドレスバス
110〜111:16ビット長のアドレスバス
112:32ビット長のデータバス
113〜114:16ビット長のデータバス
115〜116:オンチップメモリ(Xメモリ、Yメモリ)
117:周辺回路や外部とのインタフェースを行うモジュール(I/O)
200:インバータ回路
201:論理積回路
202:論理和回路
203:シフタ107においてシフトを行うか否かを制御する制御信号
300a、300b、300c、300d:レジスタ・ファイル内の個々のレジスタ
301〜302:ローカルバス
303〜304:バッファ&ドライバ
305〜306:データ転送用制御信号
112a:データバス112の下位ワード(下位データバス)
112b:データバス112の上位ワード(上位データバス)
400a、400b、400c、400d:レジスタ・ファイル内の個々のレジスタ
401〜402:ローカルバス
403〜404:バッファ&ドライバ
405〜406:データ転送用制御信号
501、503、505、507:入力バッファ
502、504、506:出力バッファ
510:符号拡張回路
512:オールゼロ回路
305a、305b、305c、305d、305e:制御信号
306a、306b、306c:制御信号。
Claims (12)
- セントラル・プロセッシング・ユニットと、
前記セントラル・プロセッシング・ユニットが命令を解読することによって、その動作が制御されるディジタル信号処理ユニットと、
前記セントラル・プロセッシング・ユニットからのアドレスが伝達される第1、第2及び第3のアドレスバスと、
前記第1及び第2のアドレスバスに接続されるが前記第3のアドレスバスには接続されない第1のメモリと、
前記第1及び第3のアドレスバスに接続されるが前記第2のアドレスバスには接続されない第2のメモリと、
前記第1及び第2のメモリ、前記セントラル・プロセッシング・ユニット並びに前記ディジタル信号処理ユニットに接続される第1のデータバスと、
前記第1のメモリと前記ディジタル信号処理ユニットに接続されるが前記第2のメモリには接続されない第2のデータバスと、
前記第2のメモリと前記ディジタル信号処理ユニットに接続されるが前記第1のメモリには接続されない第3のデータバスとを1つの半導体基板上に具備するデータ処理装置であって、
前記ディジタル信号処理ユニットは、固定小数点データを保持するレジスタと、固定小数点デ−タを処理する加減算回路と、固定小数点デ−タを処理する乗算回路とを含み、
前記レジスタのビット長より短いビット長のデータを前記ディジタル信号処理ユニットの外部から前記レジスタに転送する第1の命令を実行する場合は、前記ディジタル信号処理ユニットは、前記データを前記レジスタの上位側に詰めて入力し、前記レジスタの余分な下位側にはゼロを入力し、
前記レジスタのビット長より短いビット長のデータを前記ディジタル信号処理ユニットの外部から前記レジスタに転送する第2の命令を実行する場合は、前記ディジタル信号処理ユニットは、前記レジスタの上位側から必要なビット長のデータを外部に出力することを特徴とするデータ処理装置。 - 算術演算又は論理演算を実行する演算回路を具備するセントラル・プロセッシング・ユニットと、
前記セントラル・プロセッシング・ユニットから選択的にアドレスが伝達される第1、第2及び第3のアドレスバスと、
前記第1及び第2のアドレスバスに接続されるが前記第3のアドレスバスには接続されず、前記セントラル・プロセッシング・ユニットからのアドレスによってアクセスされる第1のメモリと、
前記第1及び第3のアドレスバスに接続されるが前記第2のアドレスバスには接続されず、前記セントラル・プロセッシング・ユニットからのアドレスによってアクセスされる第2のメモリと、
前記第1及び第2のメモリと前記セントラル・プロセッシング・ユニットとに接続されてデータが伝達される第1のデータバスと、
前記第1のメモリに接続されてデータが伝達されるが前記第2のメモリには接続されない第2のデータバスと、
前記第2のメモリに接続されてデータが伝達されるが前記第1のメモリには接続されない第3のデータバスと、
前記第1、第2及び第3のデータバスに接続され前記セントラル・プロセッシング・ユニットと同期動作するディジタル信号処理ユニットとを具備するデータ処理装置であって、
前記ディジタル信号処理ユニットは、
固定小数点データを処理する加減算回路と、
固定小数点データを処理する乗算回路とを具備することを特徴とするデータ処理装置。 - 請求項2に記載のデータ処理装置において、
前記セントラルプロセッシングユニットは、さらに演算に必要なデータ及び演算結果を保持するための第1のレジスタファイルを具備し、
前記ディジタル信号処理ユニットは、さらに処理に必要なデータ及び処理結果を保持するための第2のレジスタファイルを具備し、
前記第1のレジスタファイルのビット長より短いデータが前記第1のデータバスから前記第1のレジスタファイルのうちの1つのレジスタに入力される場合に、前記データを該レジスタの下位側に詰めて入力し、該レジスタの余分な上位側には該データの最上位ビットの値を拡張して入力する手段と、
前記第1のレジスタファイルのビット長より短いデータが前記第1のレジスタファイルのうちの1つから前記第1のデータバスへ出力される場合に、該レジスタの下位側から必要なビット長のデータを出力する手段と、
前記第2のレジスタファイルのビット長より短いデータが前記第1、第2もしくは第3のデータバスのうちの1つから前記第2のレジスタファイルのうちの1つに入力される場合に、前記データを該レジスタの上位側に詰めて入力し、該レジスタの余分な下位側にはゼロ入力する手段と、
前記第2のレジスタファイルのビット長より短いデータが前記第2のレジスタファイルのうちの1つから前記第1、第2もしくは第3のデータバスのうちの1つに出力される場合に、該レジスタの上位側から必要なビット長のデータを出力する手段とを具備することを特徴とするデータ処理装置。 - 請求項2又は3に記載のデータ処理装置において、
整数データ演算と固定小数点データ演算とをそれぞれ実行させる命令が別々に設けられることを特徴とするデータ処理装置。 - 請求項2又は3に記載のデータ処理装置において、整数データの転送動作と、固定小数点データの転送動作とをそれぞれ実行させる命令が別々に設けられることを特徴とするデータ処理装置。
- 請求項2又は3に記載のデータ処理装置において、整数データの転送動作と、固定小数点データの転送動作とをそれぞれ実行させる命令が別々に設けられることを特徴とするデータ処理装置。
- 請求項2から6の何れか一つに記載のデータ処理装置は、1つの半導体基板上に形成されることを特徴とするデータ処理装置。
- 請求項2から7の何れか一つに記載のデータ処理装置において、前記第1のデータバスは32ビットデータバースであり、前記第2のデータバスは16ビットデータバスであることを特徴とするデータ処理装置。
- セントラル・プロセッシング・ユニットと、
レジスタと、前記レジスタに含まれるデータの演算を行う演算回路とを含むディジタル信号処理ユニットとを具備するデータ処理装置であって、
前記ディジタル信号処理ユニットは、整数データと固定小数点データを処理し、
前記レジスタのビット長より短いビット長の整数データを前記ディジタル信号処理ユニットの外部から前記レジスタに転送する場合に、前記ディジタル信号処理ユニットは、当該整数データを前記レジスタの下位側に詰めて入力し、前記レジスタの余分な上位側には当該整数データの最上位ビットの値を拡張して入力し、
前記レジスタのビット長より短いビット長の整数データを前記レジスタから前記ディジタル信号処理ユニットの外部に転送する場合に、前記ディジタル信号処理ユニットは、前記レジスタの下位側から当該整数データに必要なビット長のデータを出力し、
前記レジスタのビット長より短いビット長の固定小数点データを前記ディジタル信号処理ユニットの外部から前記レジスタに転送する場合に、前記ディジタル信号処理ユニットは、当該固定小数点データを前記レジスタの上位側に詰めて入力し、前記レジスタの余分な下位側にはゼロを入力し、
前記レジスタのビット長より短いビット長の固定小数点データを前記レジスタから前記ディジタル信号処理ユニットの外部に転送する場合に、前記ディジタル信号処理ユニットは、前記レジスタの上位側から当該固定小数点データに必要なビット長のデータを出力することを特徴とするデータ処理装置。 - 第1レジスタと、前記レジスタに含まれるデータの演算を行う第1演算回路とを含む第1処理ユニットと、
第2レジスタと、前記レジスタに含まれるデータの演算を行う第2演算回路とを含む第2処理ユニットと、
前記第1処理ユニットからアドレスが伝達される第1、第2及び第3のアドレスバスと、
前記第1及び第2のアドレスバスに接続されるが前記第3のアドレスバスには接続されない第1のメモリと、
前記第1及び第3のアドレスバスに接続されるが前記第2のアドレスバスには接続されない第2のメモリと、
前記第1及び第2のメモリと前記第1及び第2処理ユニットとに接続される第1のデータバスと、
前記第1及び第2処理ユニットに接続されるが前記第2のメモリには接続されない第2のデータバスと、
前記第2のメモリ及び第2処理ユニットに接続されるが前記第1のメモリには接続されない第3データバスとを具備するデータ処理装置であって、
前記第1処理ユニットは整数データを処理し、
前記第2処理ユニットは固定小数点データを処理し、
前記第2レジスタのビット長より短いビット長のデータを前記第2処理ユニットの外部から前記第2レジスタに転送する第1の命令を実行する場合は、前記第2処理ユニットは、前記データを前記第2レジスタの上位側に詰めて入力し、前記第2レジスタの余分な下位側にはゼロ入力し、
前記第2レジスタのビット長より短いビット長のデータを前記第2レジスタから前記第2処理ユニットの外部に転送する第2の命令を実行する場合は、前記第2処理ユニットは、前記第2レジスタの上位側から必要なビット長のデータを外部に出力することを特徴とするデータ処理装置。 - 請求項10に記載のデータ処理装置において、前記第1処理ユニットはセントラル・処理ユニットであり、前記第2処理ユニットはディジタル信号処理ユニットであることを特徴とするデータ処理装置。
- 請求項10又は11に記載のデータ処理装置は1個の半導体基板上に形成されることを特徴とするデータ処理装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23614096A JP3655403B2 (ja) | 1995-10-09 | 1996-09-06 | データ処理装置 |
TW085111095A TW318229B (ja) | 1995-10-09 | 1996-09-11 | |
US08/725,481 US5884092A (en) | 1995-10-09 | 1996-10-04 | System for maintaining fixed-point data alignment within a combination CPU and DSP system |
KR1019960044231A KR100424509B1 (ko) | 1995-10-09 | 1996-10-07 | 데이타처리장치 |
US09/973,734 US6668266B2 (en) | 1995-10-09 | 2001-10-11 | Data processing device having a central processing unit and digital signal processing unit |
US10/694,771 US6889240B2 (en) | 1995-10-09 | 2003-10-29 | Data processing device having a central processing unit and digital signal processing unit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26118095 | 1995-10-09 | ||
JP7-261180 | 1995-10-09 | ||
JP23614096A JP3655403B2 (ja) | 1995-10-09 | 1996-09-06 | データ処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004225048A Division JP3727640B2 (ja) | 1995-10-09 | 2004-08-02 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09171454A JPH09171454A (ja) | 1997-06-30 |
JP3655403B2 true JP3655403B2 (ja) | 2005-06-02 |
Family
ID=26532506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23614096A Expired - Fee Related JP3655403B2 (ja) | 1995-10-09 | 1996-09-06 | データ処理装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US5884092A (ja) |
JP (1) | JP3655403B2 (ja) |
KR (1) | KR100424509B1 (ja) |
TW (1) | TW318229B (ja) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW439380B (en) * | 1995-10-09 | 2001-06-07 | Hitachi Ltd | Terminal apparatus |
JP3655403B2 (ja) * | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | データ処理装置 |
FR2773234B1 (fr) * | 1997-12-31 | 2003-07-25 | Sgs Thomson Microelectronics | Memoire a double acces pour processeur de signal numerique |
WO1999047999A1 (en) * | 1998-03-18 | 1999-09-23 | Qualcomm Incorporated | A digital signal processor |
US6496920B1 (en) * | 1998-03-18 | 2002-12-17 | Qiuzhen Zou | Digital signal processor having multiple access registers |
US6606641B1 (en) * | 1998-04-20 | 2003-08-12 | Koninklijke Philips Electronics N.V. | System for varying the dynamic range of coefficients in a digital filter |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6496905B1 (en) | 1999-10-01 | 2002-12-17 | Hitachi, Ltd. | Write buffer with burst capability |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6928073B2 (en) * | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6763363B1 (en) * | 1999-12-02 | 2004-07-13 | Honeywell International Inc. | Computer efficient linear feedback shift register |
JP2003186567A (ja) * | 2001-12-19 | 2003-07-04 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ |
TWI220497B (en) * | 2003-03-07 | 2004-08-21 | Novatek Microelectronics Corp | Data processing system having built-in memory in micro-processor |
TWI220479B (en) * | 2003-07-09 | 2004-08-21 | Mediatek Inc | Digital signal processor based on jumping floating point arithmetic |
US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
US7844653B2 (en) * | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
US7860915B2 (en) | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7840627B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7853634B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
US7849119B2 (en) * | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7870182B2 (en) * | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US7853636B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7882165B2 (en) | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7853632B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7865542B2 (en) | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
US7526524B2 (en) * | 2004-05-26 | 2009-04-28 | At&T Intellectual Property I, L.P. | Network conferencing using method for distributed computing and/or distributed objects |
US7145373B2 (en) * | 2004-07-29 | 2006-12-05 | Intel Corporation | Frequency-controlled DLL bias |
US9098932B2 (en) * | 2004-08-11 | 2015-08-04 | Ati Technologies Ulc | Graphics processing logic with variable arithmetic logic unit control and method therefor |
US7577869B2 (en) * | 2004-08-11 | 2009-08-18 | Ati Technologies Ulc | Apparatus with redundant circuitry and method therefor |
US20060059221A1 (en) * | 2004-09-10 | 2006-03-16 | Cavium Networks | Multiply instructions for modular exponentiation |
ATE456829T1 (de) * | 2004-09-22 | 2010-02-15 | Koninkl Philips Electronics Nv | Datenverarbeitungsschaltung mit funktionseinheiten mit gemeinsamen leseports |
US9135017B2 (en) * | 2007-01-16 | 2015-09-15 | Ati Technologies Ulc | Configurable shader ALU units |
US8479133B2 (en) * | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
US8543635B2 (en) * | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
US9037931B2 (en) | 2011-12-21 | 2015-05-19 | Advanced Micro Devices, Inc. | Methods and systems for logic device defect tolerant redundancy |
JP2019045968A (ja) * | 2017-08-30 | 2019-03-22 | 富士通株式会社 | 情報処理装置、メモリ制御装置及び情報処理装置の制御方法 |
CA3194399A1 (en) * | 2020-09-30 | 2022-04-07 | Taixu TIAN | Circuit, chip, and electronic device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
US4841468A (en) | 1987-03-20 | 1989-06-20 | Bipolar Integrated Technology, Inc. | High-speed digital multiplier architecture |
JPH0711793B2 (ja) * | 1989-07-13 | 1995-02-08 | 株式会社東芝 | マイクロプロセッサ |
EP0843254A3 (en) * | 1990-01-18 | 1999-08-18 | National Semiconductor Corporation | Integrated digital signal processor/general purpose CPU with shared internal memory |
JPH04177461A (ja) | 1990-11-07 | 1992-06-24 | Mitsubishi Electric Corp | 高速技術計算方法 |
US5363322A (en) | 1991-04-02 | 1994-11-08 | Motorola, Inc. | Data processor with an integer multiplication function on a fractional multiplier |
US5588118A (en) * | 1991-08-21 | 1996-12-24 | Zilog, Inc. | Single chip dual processor |
DE69228980T2 (de) * | 1991-12-06 | 1999-12-02 | National Semiconductor Corp., Santa Clara | Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul |
US5410657A (en) | 1992-10-09 | 1995-04-25 | International Business Machines Corporation | Method and system for high speed floating point exception enabled operation in a multiscalar processor system |
JP3231429B2 (ja) * | 1992-11-06 | 2001-11-19 | 株式会社日立製作所 | 中央処理装置と乗算器とを有する半導体集積回路装置 |
JPH0736858A (ja) * | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
JP3637073B2 (ja) | 1993-10-21 | 2005-04-06 | 株式会社東芝 | 倍精度・単精度・内積演算および複素乗算が可能な乗算器 |
US5579253A (en) | 1994-09-02 | 1996-11-26 | Lee; Ruby B. | Computer multiply instruction with a subresult selection option |
US5507000A (en) * | 1994-09-26 | 1996-04-09 | Bull Hn Information Systems Inc. | Sharing of register stack by two execution units in a central processor |
JP3655403B2 (ja) * | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | データ処理装置 |
-
1996
- 1996-09-06 JP JP23614096A patent/JP3655403B2/ja not_active Expired - Fee Related
- 1996-09-11 TW TW085111095A patent/TW318229B/zh active
- 1996-10-04 US US08/725,481 patent/US5884092A/en not_active Expired - Lifetime
- 1996-10-07 KR KR1019960044231A patent/KR100424509B1/ko not_active IP Right Cessation
-
2001
- 2001-10-11 US US09/973,734 patent/US6668266B2/en not_active Expired - Fee Related
-
2003
- 2003-10-29 US US10/694,771 patent/US6889240B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100424509B1 (ko) | 2004-11-03 |
KR970022770A (ko) | 1997-05-30 |
TW318229B (ja) | 1997-10-21 |
US6889240B2 (en) | 2005-05-03 |
US6668266B2 (en) | 2003-12-23 |
JPH09171454A (ja) | 1997-06-30 |
US5884092A (en) | 1999-03-16 |
US20020019841A1 (en) | 2002-02-14 |
US20040083250A1 (en) | 2004-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3655403B2 (ja) | データ処理装置 | |
US8880855B2 (en) | Dual register data path architecture with registers in a data file divided into groups and sub-groups | |
JPH0844880A (ja) | 統合されたグラフィックス機能を含むcpu | |
JPH02227768A (ja) | データ処理システム | |
US8145804B2 (en) | Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor | |
EP0954791B1 (en) | Eight-bit microcontroller having a risc architecture | |
US5757685A (en) | Data processing system capable of processing long word data | |
JP3705811B2 (ja) | 再構成可能なプログラム状態語を有するマイクロコントローラ | |
JPS6227412B2 (ja) | ||
US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
US5465334A (en) | Processor with a respective latch provided for each pipelined stage to transfer data to the pipeland stages | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
JP3727640B2 (ja) | データ処理装置 | |
JP2001501001A (ja) | データ処理システムにおける入力オペランド制御 | |
JP3650519B2 (ja) | マイクロコンピュータ | |
KR100431726B1 (ko) | 부호달린나눗셈을이행하는방법 | |
JP2703884B2 (ja) | データ書込み制御方式 | |
US5754460A (en) | Method for performing signed division | |
JP2004272939A (ja) | 1チップデータプロセッサ | |
JP3435744B2 (ja) | 乗算回路 | |
KR100389989B1 (ko) | 32비트데이타경로를사용하는배정도(64비트)시프트연산 | |
JP2011192305A (ja) | 半導体信号処理装置 | |
JP3539914B2 (ja) | マイクロコンピュータ | |
JP2696578B2 (ja) | データ処理装置 | |
JP3853309B2 (ja) | マイクロプロセッサおよび該マイクロプロセッサで実行されるプログラムのためのコンパイル装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040802 |
|
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: 20050301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050303 |
|
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: 20080311 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
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: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140311 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |