JP3727640B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP3727640B2
JP3727640B2 JP2004225048A JP2004225048A JP3727640B2 JP 3727640 B2 JP3727640 B2 JP 3727640B2 JP 2004225048 A JP2004225048 A JP 2004225048A JP 2004225048 A JP2004225048 A JP 2004225048A JP 3727640 B2 JP3727640 B2 JP 3727640B2
Authority
JP
Japan
Prior art keywords
data
processing unit
function
instruction
memory
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
JP2004225048A
Other languages
Japanese (ja)
Other versions
JP2004362607A (en
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004225048A priority Critical patent/JP3727640B2/en
Publication of JP2004362607A publication Critical patent/JP2004362607A/en
Application granted granted Critical
Publication of JP3727640B2 publication Critical patent/JP3727640B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Description

本発明はセントラルプロセッシングユニットとディジタル信号処理ユニットとを有する半導体集積回路化された論理LSI(Large Scale Integrated circuit)に係り、高速演算処理を要するマイクロコンピュータ、ディジタルシグナルプロセッサ等のデータ処理装置に適用して有効な技術に関する。   The present invention relates to a logic LSI (Large Scale Integrated circuit) integrated into a semiconductor integrated circuit having a central processing unit and a digital signal processing unit, and is applied to a data processing device such as a microcomputer and a digital signal processor that require high-speed arithmetic processing. Related to effective technology.

システム全体を制御するために必要な汎用演算処理ユニット(Central Processing Unit (CPU))と、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニット(Digital Signal Processor (DSP))とを同一チップ上に搭載したマイクロコンピュータの例としては、非特許文献1に記載のものがある。これによれば、積和演算機能を備えたディジタル信号処理ユニットは、ディジタルフィルタリング等のディジタル信号処理の代表的な演算処理を少ないステップ数で効率良く実行することが可能である。   A general-purpose arithmetic processing unit (Central Processing Unit (CPU)) required to control the entire system and a digital signal processor (Digital Signal Processor) equipped with a product-sum operation function required to efficiently process digital signals As an example of a microcomputer in which (DSP) is mounted on the same chip, there is one described in Non-Patent Document 1. According to this, a digital signal processing unit having a product-sum operation function can efficiently execute typical arithmetic processing of digital signal processing such as digital filtering with a small number of steps.

「河崎他、「DSP機能を内蔵したSHシリ−ズ」、日経エレクトロニクス、1992年11月23日号、no.568、pp.99−112」“Kawasaki et al.,“ SH Series with Built-in DSP Function ”, Nikkei Electronics, November 23, 1992, no. 568, pp. 99-112 "

しかし上記従来の技術に記載のディジタル信号処理ユニットは、積和演算器を備えるものの、演算を行うデータを前記汎用演算処理ユニットと同様に整数データとして扱っている。通常ディジタル信号処理の世界で扱うデータは、固定小数点もしくは浮動小数点データが一般的である。浮動小数点データは、仮数部データと指数部データがセットになったデータ形式であり、全く異なった数値体系であるが、固定小数点データは小数点の位置が異なるだけで、整数データとよく似ている。事実、加減算では基本的に整数データと処理内容は同じである。   However, although the digital signal processing unit described in the above prior art includes a product-sum operation unit, data to be operated is handled as integer data in the same manner as the general-purpose operation processing unit. Usually, data handled in the world of digital signal processing is fixed point data or floating point data. Floating-point data is a data format in which mantissa data and exponent data are set, and has a completely different numerical system, but fixed-point data is very similar to integer data only in the position of the decimal point. . In fact, in addition and subtraction, the integer data and processing are basically the same.

しかし、図1の(a)に示すように、乗算では整数データの場合、ソースデータは指定されたレジスタの下位側のワードを演算に使用するのに対して、固定小数点データの場合は指定されたレジスタの上位側を使用する。図1の(b)に示すように、整数データは小数点が最下位ビットの右側に位置していると見なされるのに対して、固定小数点データでは通常、最上位ビットのすぐ右側にあり、小数点に近い部分がより重要であるからである。そのため整数乗算器で固定小数点乗算を実行させるためには、あらかじめソースデータを上位側から下位側へシフトしておかなければならない。また、図1の(c)に示すように、小数点位置に基づいてアライニング(桁合わせ)が行われ、演算結果は両者で1ビット分のずれが生じる。その結果実際の処理プログラムでは両者の食い違いを補正するためのシフト処理が必要になることがあるという問題が生じている。   However, as shown in FIG. 1 (a), in the case of integer data in multiplication, the source data uses the lower word of the specified register for the operation, whereas in the case of fixed-point data, it is specified. Use the upper side of the selected register. As shown in FIG. 1 (b), integer data is considered to have a decimal point located to the right of the least significant bit, whereas fixed point data is typically immediately to the right of the most significant bit. This is because the part close to is more important. Therefore, in order to execute fixed-point multiplication with an integer multiplier, the source data must be shifted from the upper side to the lower side in advance. Further, as shown in FIG. 1C, alignment (digit alignment) is performed based on the decimal point position, and the calculation result is shifted by 1 bit between the two. As a result, there is a problem that an actual processing program may require a shift process to correct the discrepancy between the two.

さらにディジタル信号処理では、メモリから読み出されるデータや、演算結果をメモリ又は外部へ出力したりする場合のデータのビット長は、演算中のビット精度に比べて少なくてよい場合が多い。そのため実際のディジタル信号処理ユニットではメモリ又は外部とのデータ転送は単精度のワードデータ(例えば16ビット)で行い、演算は倍精度(例えば32ビット)以上で行うことが一般的である。この演算精度よりもビット長の短いデータを転送する場合、整数データと固定小数点データとで動作内容が大きく異なる。   Furthermore, in digital signal processing, the bit length of data read from a memory or data when outputting a calculation result to the memory or the outside is often smaller than the bit precision during the calculation. Therefore, in an actual digital signal processing unit, data transfer to or from a memory or the outside is generally performed by single-precision word data (for example, 16 bits), and operations are generally performed by double precision (for example, 32 bits) or more. When data with a bit length shorter than the calculation accuracy is transferred, the operation content differs greatly between integer data and fixed-point data.

整数データを扱うことを前提としている演算ユニットは、ワードデータやさらにビット長の短いバイトデータ(8ビット)のデータ転送を行う場合には、データを保持するレジスタの下位側を入出力する。しかし固定小数点データを扱うことを前提としている演算ユニットは、データの上位側を入出力する。この違いが生じる原因は、前述の小数点位置の違いからくるものである。すなわち、転送するデータのビット長が格納すべきオペランドのビット長より短い場合、データの精度やレンジの点から、小数点に近い部分がより重要であるが、整数データは小数点が最下位ビットの右側に位置していると見なされるのに対して、固定小数点データでは通常、最上位ビットのすぐ右側にあるため、このような食い違いが生じる。その結果、整数データを扱うことを前提とした演算ユニットで演算精度より短いビット長のデータ転送を行う場合、いちいちシフト処理を行わなければならなくなるという問題が生じている。   An arithmetic unit premised on handling integer data inputs / outputs the lower side of a register holding data when transferring data of word data or byte data (8 bits) having a shorter bit length. However, an arithmetic unit that is premised on handling fixed-point data inputs and outputs the upper side of the data. The cause of this difference comes from the difference in decimal point position described above. In other words, when the bit length of the data to be transferred is shorter than the bit length of the operand to be stored, the portion closer to the decimal point is more important in terms of data accuracy and range, but for integer data, the decimal point is to the right of the least significant bit. Such a discrepancy arises because fixed-point data is usually immediately to the right of the most significant bit. As a result, there is a problem in that when a data transfer with a bit length shorter than the calculation accuracy is performed in an arithmetic unit premised on handling integer data, it is necessary to perform shift processing one by one.

転送時のデータのビット長を演算時のデータのビット長と同じにしていればこのような問題は生じないが、冗長なビットの転送を行うために余計なバス幅が必要になったり、データを格納するメモリも余分な容量を必要としてしまう問題がある。   If the bit length of the data at the time of transfer is the same as the bit length of the data at the time of operation, such a problem will not occur, but an extra bus width is required to transfer redundant bits, There is a problem that the memory for storing the memory also requires an extra capacity.

本発明の目的は、セントラルプロセッシングユニットと固定小数点データを処理するディジタル信号処理ユニットを内蔵するマイクロコンピュータ、ディジタルシグナルプロセッサ等のデータ処理装置を提供することにある。   An object of the present invention is to provide a data processing apparatus such as a microcomputer or a digital signal processor that incorporates a central processing unit and a digital signal processing unit for processing fixed-point data.

さらに本発明の目的は、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、演算器で取り扱うデータ形式の違いによる処理ステップ数の増大を防止し、ディジタル信号処理の高効率化を図る。   A further object of the present invention is to provide a general-purpose arithmetic processing unit necessary for controlling the entire system and a digital signal processing unit having a product-sum arithmetic function necessary for efficiently processing digital signals on the same chip. In the microcomputer and digital signal processor installed in the PC, the increase in the number of processing steps due to the difference in the data format handled by the arithmetic unit is prevented, and the digital signal processing is made highly efficient.

また、本発明の目的は、乗算結果のビット位置補正やデータ転送に伴う余分なシフト動作を省略し、ディジタル信号処理を高速化することにある。   Another object of the present invention is to eliminate the unnecessary shift operation associated with the correction of the bit position of the multiplication result and the data transfer, thereby speeding up the digital signal processing.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

(a)データ処理装置(1)は、CPU(100)と、CPU(100)が命令を解読することによって動作が制御されるディジタル信号処理ユニット(104)とを1つの半導体基板上に備え、前記ディジタル信号処理ユニット(104)は、固定小数点デ−タを処理する加減算回路(105)と、固定小数点デ−タを処理する乗算回路(106)とを備える。   (A) The data processing device (1) includes a CPU (100) and a digital signal processing unit (104) whose operation is controlled by the CPU (100) decoding an instruction on one semiconductor substrate, The digital signal processing unit (104) includes an addition / subtraction circuit (105) for processing fixed-point data and a multiplication circuit (106) for processing fixed-point data.

(b)データ処理装置(1)は、第1レジスタ(103)と該第1レジスタ(103)内のデータを演算する第1演算器(101、102)とを有する第1処理ユニット(100)と、第2レジスタ(108)と該第2レジスタ(108)内のデータを演算する第2演算器(105、106)とを有する第2処理ユニット(104)とを具備し、前記第1処理ユニット(100)は整数データを処理し、前記第2処理ユニット(104)は固定小数点データを処理する。   (B) The data processing device (1) includes a first processing unit (100) having a first register (103) and a first computing unit (101, 102) for computing data in the first register (103). And a second processing unit (104) having a second register (108) and a second computing unit (105, 106) for computing data in the second register (108), the first processing The unit (100) processes integer data, and the second processing unit (104) processes fixed point data.

(c)データ処理装置(104)は、レジスタ(108)と該レジスタ(108)内のデータを演算する演算器(105、106)とを有し、前記レジスタのビット長より短いビット長のデータを該データ処理装置(104)の外部から前記レジスタ(108)に転送する第1の命令を実行する場合は、前記データを前記レジスタ(108)の上位側に詰めて入力し、前記レジスタ(108)の余分な下位側にはゼロ入力し、前記レジスタ(108)のビット長より短いビット長のデータを前記レジスタ(108)から該データ処理装置(104)の外部に転送する第2の命令を実行する場合は、前記レジスタ(108)の上位側から必要なビット長のデータを外部に出力する。   (C) The data processing device (104) includes a register (108) and an arithmetic unit (105, 106) for calculating data in the register (108), and data having a bit length shorter than the bit length of the register. When the first instruction to transfer the data to the register (108) from the outside of the data processing device (104) is executed, the data is packed into the upper side of the register (108) and input, and the register (108 ) Is input to the extra low-order side, and a second instruction for transferring data having a bit length shorter than the bit length of the register (108) from the register (108) to the outside of the data processing device (104). When executing, data having a required bit length is output to the outside from the upper side of the register (108).

(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)と備える。   (D) The data processing device (1) selectively transmits an address from the central processing unit (100) including an arithmetic circuit (101) that executes arithmetic operation or logical operation, and the central processing unit (100). Connected to the first, second and third address buses (109, 110, 111), the first address bus (109) and the second address bus (110), from the central processing unit (100) Connected to the first memory (115), the first address bus (109) and the third address bus (111), and accessed by the address from the central processing unit (100). Second memory (116) and the first and second memories ( 15, 116) and the central processing unit (100) to which data is transmitted, and a first data bus (112) to which data is transmitted, and a first data bus (112) to which data is transmitted. Two data buses (113), a third data bus (114) connected to the second memory (116) to transmit data, and the first, second and third data buses (112). , 113, 114) and a digital signal processing unit (104) that operates synchronously with the central processing unit (100). The digital signal processing unit (104) is an addition / subtraction circuit (105) that processes fixed-point data. And a multiplication circuit (106) for processing fixed-point data.

(e)データ処理装置は、乗数と被乗数とを入力し、乗数と被乗数との乗算結果を出力する乗算器(106)と、前記乗算器の出力をシフトするシフタ(107)とを具備し、整数データを乗算する場合は、前記シフタは前記乗算器の出力をシフトしないで出力し、固定小数点データを乗算する場合は、前記シフタは前記乗算器の出力を左に1ビットシフトし、最下位ビットにゼロを入力する。   (E) The data processing apparatus includes a multiplier (106) that inputs a multiplier and a multiplicand, outputs a multiplication result of the multiplier and the multiplicand, and a shifter (107) that shifts the output of the multiplier. When multiplying integer data, the shifter outputs the output of the multiplier without shifting, and when multiplying fixed-point data, the shifter shifts the output of the multiplier to the left by 1 bit, Enter zero in the bit.

すなわち、前記ディジタル信号処理ユニットとメモリや外部とのデータ転送動作において、演算精度よりも短いビット長のデータを転送する場合には、データを格納するレジスタの上位側のデータを入出力するような機能を持たせ、固定小数点データとしてのデータ転送命令を従来の整数データを前提とした転送命令とは別に設けることにより、解決することができる。   That is, in the data transfer operation between the digital signal processing unit and the memory or the outside, when transferring data having a bit length shorter than the calculation accuracy, the data on the upper side of the register for storing the data is input / output. This can be solved by providing a function and providing a data transfer instruction as fixed-point data separately from a transfer instruction based on conventional integer data.

固定小数点データ転送命令が発行され、デスティネーションレジスタよりもビット長の短いデータが転送されてきた場合は、デスティネーションレジスタの上位側に詰めてデータを格納し、余分な下位ビットはクリアしておく。逆にソースレジスタからデータを出力する場合は、やはりソースレジスタの上位から必要なビット数のデータを出力する。その結果、余分なシフト動作を行う必要がなくなる。   When a fixed-point data transfer instruction is issued and data with a bit length shorter than that of the destination register is transferred, the data is stored in the upper side of the destination register and the extra lower bits are cleared. . Conversely, when data is output from the source register, data of the required number of bits is also output from the higher order of the source register. As a result, it is not necessary to perform an extra shift operation.

さらに、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、前記ディジタル信号処理ユニットを固定小数点データを扱う演算ユニットとし、固定小数点データ演算を実行する命令を従来の整数演算命令とは別に設けるようにすればよい。   Further, a microcomputer in which a general-purpose arithmetic processing unit necessary for controlling the entire system and a digital signal processing unit having a product-sum arithmetic function necessary for efficiently processing a digital signal are mounted on the same chip. In a digital signal processor, the digital signal processing unit may be an arithmetic unit that handles fixed-point data, and an instruction for executing fixed-point data arithmetic may be provided separately from a conventional integer arithmetic instruction.

すなわち、乗算動作を行う演算回路では固定小数点乗算命令が発行された時、ソースデータはレジスタの上位側から出力させ、従来の整数データの乗算回路の出力に対して1ビット分算術的に左方向にシフトされた形のデータを指定されたデスティネーションレジスタに格納するように制御する。   That is, when a fixed-point multiplication instruction is issued in an arithmetic circuit that performs a multiplication operation, source data is output from the upper side of the register, and leftward is arithmetically left by one bit with respect to the output of the conventional integer data multiplication circuit. Control is made to store the data shifted to the designated destination register.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、システム全体を制御するために必要な汎用演算処理ユニットと、ディジタル信号を効率的に処理するために必要な積和演算機能を備えたディジタル信号処理ユニットとを同一チップ上に搭載したマイクロコンピュータやディジタルシグナルプロセッサにおいて、前記ディジタル信号処理ユニットが固定小数点データを扱うことが可能にされているから、より複雑なディジタル信号処理ができる。   That is, a microcomputer in which a general-purpose arithmetic processing unit necessary for controlling the entire system and a digital signal processing unit having a product-sum arithmetic function necessary for efficiently processing digital signals are mounted on the same chip. In a digital signal processor, since the digital signal processing unit can handle fixed point data, more complicated digital signal processing can be performed.

また、前記ディジタル信号処理ユニットとメモリや外部とのデータ転送動作において、演算精度よりも短いビット長のデータを転送する場合には、データを格納するレジスタの上位側のデータを入出力するような機能を持たせ、やはり固定小数点データとしてのデータ転送命令を従来の整数データを前提とした転送命令とは別に設けることにより、データ転送に伴う余分なシフト動作等が省略でき、高速性能を向上させることができる。   Further, in the data transfer operation between the digital signal processing unit and the memory or the outside, when transferring data having a bit length shorter than the calculation accuracy, data on the upper side of the register for storing the data is input / output. Provided with a function, a data transfer instruction as fixed-point data is provided separately from the transfer instruction based on the conventional integer data, so that unnecessary shift operations associated with data transfer can be omitted, and high-speed performance is improved. be able to.

前記ディジタル信号処理ユニットにおいて固定小数点データ演算を実行する命令を従来の整数演算命令とは別に設けることにより、乗算結果のビット位置補正が自動的に行われ、高速性能を向上させることができる。   By providing the digital signal processing unit with an instruction for executing fixed-point data arithmetic separately from the conventional integer arithmetic instruction, the bit position of the multiplication result is automatically corrected, and high-speed performance can be improved.

《全体構成》
図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号)に記載されている。
"overall structure"
FIG. 2 is an overall block diagram of a microcomputer according to an embodiment of the present invention. The microcomputer 1 shown in the figure is formed on a single semiconductor substrate such as single crystal silicon by a semiconductor integrated circuit manufacturing technique. In the figure, 100 is a general-purpose arithmetic processing unit (central processing unit: CPU) having an integer arithmetic processing function, 101 is an arithmetic logic unit (ALU) in the general-purpose arithmetic processing unit, and 102 is a first arithmetic unit in the general-purpose arithmetic processing unit. 2 is an integer arithmetic unit (PAU) that performs an address operation of 2, a register file 103 is a source or destination operand of each arithmetic unit, 104 is a digital signal processing unit (DSP) having a fixed-point data arithmetic processing function, 105 Is an arithmetic and logic unit (ALU) in the digital signal processing unit, 106 is a multiplier in the digital signal processing unit, 107 is a shifter, 108 is a register file serving as a source or destination operand of each of the arithmetic units, 109 supports the entire address space 32-bit address bus (IAB [31: 0]) 110 and 111 are 16-bit address buses (XAB [16] dedicated to accessing word data (16-bit data) supporting only a part of the address space. 1], YAB [16: 1]), 112 is a 32-bit data path (IDB [31: 0]), 113 and 114 are 16-bit data buses (XDB [15: 0], YDB [15 : 0]), 115 and 116 are on-chip memories (X memory and Y memory), and 117 is a module (I / O) for interfacing with peripheral circuits and the outside. It should be noted that other element circuits naturally included in the original data processing apparatus, that is, peripheral circuits, instruction decoding circuits, flow control circuits, and the like are omitted here because they are not directly related to the present invention. The details of the microcomputer 1 are described in the previous application (Japanese Patent Application No. 7-132906) of the present inventors.

まず本実施例の基本的な動作・機能を説明する。マイクロコンピュータ1は、CPU命令とDSP命令の2種類の命令をサポートしている。CPU命令とは、デイジタル信号処理ユニット(DSP)104を動作させることなく専ら汎用演算処理ユニット(CPU)100によって実行される命令である。DSP命令とは、CPU100が一部の処理を負担してDSP104が実行する命令である。DSP命令としては、整数演算命令と固定小数点データを扱う命令が含まれる。   First, basic operations and functions of the present embodiment will be described. The microcomputer 1 supports two types of instructions, a CPU instruction and a DSP instruction. The CPU instruction is an instruction executed exclusively by the general-purpose arithmetic processing unit (CPU) 100 without operating the digital signal processing unit (DSP) 104. The DSP instruction is an instruction executed by the DSP 104 while the CPU 100 bears some processing. The DSP instructions include integer arithmetic instructions and instructions that handle fixed-point data.

CPU100が命令をオンチップメモリ115、オンチップメモリ116又は図示されていない外付けメモリからフェッチし、デコードし、CPU命令かDSP命令かを判定する。デコードの結果、DSP命令であればCPU100はDSP制御信号をDSP104に供給する。DSP104は前記DSP制御信号をデコードして、DSP104内部の制御信号を生成する。すなわち、整数演算命令と固定小数点データを扱う命令では異なる制御信号が生成される。   The CPU 100 fetches an instruction from the on-chip memory 115, the on-chip memory 116, or an external memory (not shown), decodes the instruction, and determines whether the instruction is a CPU instruction or a DSP instruction. If the result of decoding is a DSP instruction, the CPU 100 supplies a DSP control signal to the DSP 104. The DSP 104 decodes the DSP control signal and generates a control signal inside the DSP 104. That is, different control signals are generated for integer arithmetic instructions and instructions that handle fixed-point data.

汎用演算処理ユニット100は通常のワンチップマイコンLSIのコアとなるセントラル・プロセッシング・ユニット(CPU)が備えている基本的な機能を持っている。算術論理演算器(ALU)101はデータおよびアドレス演算処理を実行する。アドレス演算を行う整数演算器(PAU)102は算術論理演算器101とともに前記ディジタル信号処理ユニット104が積和演算処理のために複数のソースデータをメモリから読み出すことが必要な場合に、アドレスを生成する演算器である。各演算器101、102に必要なソース・オペランド・データはレジスタ・ファイル103から選択され、供給される。そして演算結果はレジスタ・ファイル103の中の選択されたデスティネーション・レジスタに格納される。   The general-purpose arithmetic processing unit 100 has basic functions provided in a central processing unit (CPU) that is the core of a normal one-chip microcomputer LSI. An arithmetic logic unit (ALU) 101 executes data and address arithmetic processing. An integer arithmetic unit (PAU) 102 that performs an address operation generates an address when the digital signal processing unit 104 needs to read a plurality of source data from a memory for a product-sum operation process together with an arithmetic logic unit 101. It is a computing unit. Source operand data required for each of the arithmetic units 101 and 102 is selected from the register file 103 and supplied. The calculation result is stored in the selected destination register in the register file 103.

汎用演算処理ユニット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によって行われる。   The address generated by the general-purpose arithmetic processing unit 100 is output to the address bus 109, 110 or 111. An address bus (IAB) 109 supports the entire address space, and accesses each peripheral circuit and external address space through on-chip memories 115 and 116 and an interface module (I / O) 117. Data to be written / read in the address area accessed by the address bus 109 is performed by a data bus (IDB) 112. The address bus (XAB) 110 accesses only the on-chip memory (X memory) 115. Data to be written / read in the address area accessed by the address bus 110 is transmitted by the data bus 113. The address bus (YAB) 111 accesses only the on-chip memory (Y memory) 116. Data to be written / read in the address area accessed by the address bus 111 is performed by a data bus (YDB) 114.

ディジタル信号処理ユニット104は、固定小数点データを処理する機能を持つ。整数データを処理する機能を持つことは本発明の実施を妨げない。算術論理演算器105は加減算や論理演算処理を実行する。乗算器106は2つの16ビット長のワードデータを乗算し、32ビット長の結果を出力する。整数乗算の場合はソースレジスタの下位ワード(0ビット目から15ビット目)をソースデータとして入力し、固定小数点乗算の場合はソースレジスタの上位ワード(16ビット目から31ビット目)をソースデータとして入力する。なお、106は積和演算器でも本発明の実施を妨げるものではないことは明らかであるので、ここでは乗算器の場合で説明を行う。シフタ107は乗算器106の出力を1ビット左シフトする機能を持つ。各演算器105、106に必要なソース・オペランド・データはレジスタ・ファイル108から選択され、供給される。そして演算結果はレジスタ・ファイル108の中の選択されたデスティネーション・レジスタに格納される。   The digital signal processing unit 104 has a function of processing fixed point data. Having the function of processing integer data does not hinder the implementation of the present invention. The arithmetic logic unit 105 performs addition / subtraction and logic operation processing. The multiplier 106 multiplies two 16-bit word data and outputs a 32-bit result. In the case of integer multiplication, the lower word (0th to 15th bits) of the source register is input as source data, and in the case of fixed-point multiplication, the upper word (16th to 31st bits) of the source register is used as source data. input. Since it is clear that 106 is a product-sum operation unit and does not hinder the implementation of the present invention, description will be made here in the case of a multiplier. The shifter 107 has a function of shifting the output of the multiplier 106 one bit to the left. Source operand data required for each of the arithmetic units 105 and 106 is selected from the register file 108 and supplied. The operation result is stored in the selected destination register in the register file 108.

ディジタル信号処理ユニット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で生成される。   Data to be processed by the digital signal processing unit 104 is supplied to each peripheral circuit and the register file 108 from the outside through the on-chip memories 115 and 116 or the interface module 117 via the data bus 112. The processed data is output from the register file 108 via the data buses 112, 113 and 114 to each peripheral circuit and the outside through the on-chip memories 115 and 116 or the interface module 117. Data processed by the digital signal processing unit 104 can be transferred via the data buses 113 and 114, but can be transferred only between the register file 108 and the on-chip memory 115 on the data bus 113. In addition, data can be transferred only between the register file 108 and the on-chip memory 116 on the data bus 114. Data transfer using the data buses 113 and 114 can be executed in parallel because the resources are all separate. When data transfer between the register file 108 and others is executed, necessary addresses are generated by the general-purpose arithmetic processing unit 100.

オンチップ・メモリ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を介してデータの書き込み/読み出しを行う。その結果、前述のように同じオペレーション・サイクルで並列にデータの書き込み/読み出し動作を行うことが可能である。   The on-chip memories 115 and 116 are mapped to different addresses. The type of memory is not particularly limited, and a ROM such as a mask ROM or a flash memory that is programmed during an LSI manufacturing process even in a random access memory (RAM) such as SRAM (Static RAM) or DRAM (Dynamic RAM). (Read Only Memory) may be used. That is, it may be a volatile memory or a nonvolatile memory. The on-chip memory 115 receives an address supply from the address buses 109 and 110 and writes / reads data through the data buses 112 and 113. On-chip memory 116 receives address supply from address buses 109 and 111 and writes / reads data via data buses 112 and 114. As a result, it is possible to perform data write / read operations in parallel in the same operation cycle as described above.

《シフタの構成》
シフタ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内に固定小数点乗算機能を少なくとも備えていることが、本発明の重要なポイントである。
《Shifter configuration》
A detailed embodiment of the shifter 107 is shown in FIG. In the figure, 200 is an inverter, 201 is a logical product circuit, 202 is a logical sum circuit, and 203 is a control signal for controlling whether or not to perform shift in the shifter 107. The logical sum circuit 202 and the two logical product circuits 201 constitute a selection circuit. The number attached to the output of the multiplier 106 represents the bit position. The 31st bit is the most significant bit and the 0th bit is the least significant bit. Other symbols are the same as those in FIG. This embodiment of the shifter is an embodiment when the data processing apparatus supports both integer multiplication and fixed-point multiplication. Here, the multiplier 106 always performs integer multiplication. As a result, when an integer multiplication instruction is executed, the control signal 203 is in a low state, and the output result of the multiplier 106 is passed as it is. When a fixed-point multiplication instruction is being executed, the control signal 203 is in a high state, and the output result of the multiplier 106 is left-shifted by 1 bit and output. Zero is output in the 0th bit. In this way, fixed-point multiplication is realized. If the integer multiplication instruction is not supported, the shifter 107 does not need a through function and always needs to output 1-bit shift, so the control signal 203 is also unnecessary, and the shift function itself is not actually required, and is simply stored at the result storage destination. The connection should be made by shifting the bit position to the left by one bit. Therefore, the present invention is not required to have a shift circuit such as 107, and it is an important point of the present invention that at least a fixed-point multiplication function is provided in the digital signal processing unit 104.

整数乗算のみを行う乗算器に命令によってシフト機能が異なるシフト回路を備えることで、固定小数点乗算と整数乗算の両方が実行可能である。従って、少ないハードウェア量で高機能が実現できるので、チップ面積の増加が抑えられる。また、乗算実行後にシフト操作等のCPU命令の実行の必要もない。   By providing the multiplier that performs only integer multiplication with a shift circuit having different shift functions depending on instructions, both fixed-point multiplication and integer multiplication can be executed. Therefore, high functions can be realized with a small amount of hardware, and an increase in chip area can be suppressed. Further, there is no need to execute a CPU instruction such as a shift operation after execution of multiplication.

《DSPとデータバスとの接続》
レジスタ・ファイル108のより詳細なブロック図及びデータバスとの接続例を図4に示す。ただし、この図では要点に絞った説明のため、データバス112とレジスタ・ファイル108との接続に関わる部分の構成のみを示しており、他のデータバスや各演算器との接続構造は省略している。
<< Connection between DSP and data bus >>
A more detailed block diagram of the register file 108 and an example of connection to the data bus are shown in FIG. However, in this figure, only the configuration related to the connection between the data bus 112 and the register file 108 is shown for the purpose of focusing on the main points, and the connection structure with other data buses and each arithmetic unit is omitted. ing.

図中、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)と取り扱いデータとの関係を示す。   In the figure, 300a, 300b, 300c, and 300d are individual registers, 301 is a local bus that connects the upper word (16th bit to 31st bit) of each register and the buffer & driver 303, and 302 is a lower level of each register. A local bus connecting the word (0th to 15th bits) and the buffer & driver 304; 303 a buffer & driver for relaying data exchange between the upper word of each register and the data bus 112; 304 Is a buffer and driver that relays the transfer of data between the lower word of each register and the data bus 112, and 305 selects either the upper word or the lower word of the data bus 112 to transfer data. Direction control signal, 306 is connected to the lower word of data bus 112 It is a signal for controlling the data transfer direction. In FIG. 4, FIG. 5 and FIG. 7, the data bus 112 is described by being divided into a lower data bus 112a and an upper data bus 112b for explanation. FIG. 5 shows a circuit diagram of the buffers & drivers 303 and 304. FIG. 6 shows the relationship between the control signal 305 (305a, 305b, 305c, 305d, 306e) of the buffer & driver 303 and the control signal 306 (306a, 306b, 306c) of the buffer & driver 304 and the handling data.

ここで説明の簡単化のため、16ビット長のデータをワードデータ、32ビット長のデータをロングワードデータと呼ぶ。   Here, for simplification of description, 16-bit data is referred to as word data, and 32-bit data is referred to as long word data.

(1)ロングワードデータの入出力
ロングワードデータがデータバス112を経て入力される場合(図6ではロングワード・ロードと記載されている。)、データの性質が(整数データまたは固定小数点データ)に関係なく、動作は同じである。すなわち、制御信号306aが“1”(Highレベル)にされると入力バッファ505がイネーブルにされ、下位データバス112aとローカルバス302とが電気的に接続される。従って、下位データバス112a上のデータは、バッファ&ドライバ304、ローカルバス302を経て指定されたデスティネーションレジスタ(300a〜300dの内のひとつ)の下位ワードに格納される。同時に制御信号305aが“1”(Highレベル)にされると入力バッファ501がイネーブルにされ、上位データバス112bとローカルバス301とが電気的に接続される。従って、上位データバス112b上のデータは、バッファ&ドライバ303、ローカルバス301を経て指定されたデスティネーションレジスタ(下位ワードと同じレジスタ)の上位ワードに格納される。
(1) Input / output of long word data When long word data is input via the data bus 112 (indicated as long word load in FIG. 6), the nature of the data (integer data or fixed point data) Regardless of the operation, the operation is the same. That is, when the control signal 306a is set to “1” (High level), the input buffer 505 is enabled, and the lower data bus 112a and the local bus 302 are electrically connected. Therefore, the data on the lower data bus 112a is stored in the lower word of the destination register (one of 300a to 300d) designated via the buffer & driver 304 and the local bus 302. At the same time, when the control signal 305a is set to “1” (High level), the input buffer 501 is enabled, and the upper data bus 112b and the local bus 301 are electrically connected. Therefore, the data on the upper data bus 112b is stored in the upper word of the destination register (the same register as the lower word) designated via the buffer & driver 303 and the local bus 301.

ロングワードデータがデータバス112に出力される場合(図6ではロングワード・ストアと記載されている。)も、データの性質が(整数データまたは固定小数点データ)に関係なく、動作は同じである。すなわち、制御信号306bが“1”(Highレベル)にされると出力バッファ506がイネーブルにされ、ローカルデータバス302と下位データバス112aとが電気的に接続される。従って、指定されたソースレジスタ(300a〜300dの内のひとつ)の下位ワードから出力されたワードデータは、ローカルバス302、バッファ&ドライバ304を経て下位データバス112aに出力される。同時に、制御信号305bが“1”(Highレベル)にされると出力バッファ502がイネーブルにされ、ローカルデータバス301と上位データバス112bとが電気的に接続される。従って、指定されたソースレジスタ(下位ワードと同じレジスタ)の上位ワードから出力されたワードデータは、ローカルバス301、バッファ&ドライバ303を経て上位データバス112bに出力される。   Even when longword data is output to the data bus 112 (shown as longword store in FIG. 6), the operation is the same regardless of the nature of the data (integer data or fixed-point data). . That is, when the control signal 306b is set to “1” (High level), the output buffer 506 is enabled, and the local data bus 302 and the lower data bus 112a are electrically connected. Accordingly, the word data output from the lower word of the designated source register (one of 300a to 300d) is output to the lower data bus 112a via the local bus 302 and the buffer & driver 304. At the same time, when the control signal 305b is set to “1” (High level), the output buffer 502 is enabled, and the local data bus 301 and the upper data bus 112b are electrically connected. Accordingly, the word data output from the upper word of the designated source register (the same register as the lower word) is output to the upper data bus 112b via the local bus 301 and the buffer & driver 303.

(2)ワードデータの入出力
ワードデータの転送では、常に下位データバス112aを用いて転送されるが、レジスタ・ファイル108内部の動作はデータの性質によって異なる。
(2) Input / output of word data In the transfer of word data, data is always transferred using the lower data bus 112a.

(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を経て指定されたデスティネーションレジスタ(下位ワードと同じレジスタ)の上位ワードに格納する。これによってデスティネーションレジスタの上位ワードには転送されてきたワードデータの符号データがコピーされたことになる。
(I) Integer data First, the case of integer data will be described. When word data is input via the data bus 112 (indicated as integer data word load in FIG. 6), when the control signal 306a is set to “1” (High level), the input buffer 505 is When enabled, the lower data bus 112a and the local bus 302 are electrically connected. Therefore, the data on the lower data bus 112a is stored in the lower word of the destination register (one of 300a to 300d) designated via the buffer & driver 304 and the local bus 302. At the same time, when the control signal 305e is set to “1” (High level), the input buffer 507 is enabled, and the 15th bit of the lower data bus 112a and the local bus 301 are electrically connected via the sign extension circuit 510. The Therefore, the buffer & driver 303 takes in only the 15th bit data of the lower data bus 112a and performs an extended copy to 16 bits, and the higher order of the destination register (the same register as the lower word) specified via the local bus 301. Store in word. As a result, the code data of the transferred word data is copied to the upper word of the destination register.

ワードデータがデータバス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は、ディスエーブルにされる。   When word data is output to the data bus 112 (denoted as integer data word store in FIG. 6), the output buffer 506 is enabled when the control signal 306b is set to “1” (High level). Then, the local data bus 302 and the lower data bus 112a are electrically connected. Accordingly, the word data output from the lower word of the designated source register (one of 300a to 300d) is output to the lower data bus 112a via the local bus 302 and the buffer & driver 304. At this time, the buffer & driver 303 side does not operate. That is, the control signals 305a, 305b, 305c, 305d, and 305e are all “0” (Low level), and the input buffers 501, 504, and 507 and the output buffers 502 and 503 are disabled.

(ii)固定少数点データ
次に固定小数点データの場合について述べる。ワードデータがデータバス112を経て入力される場合(図6では固定小数点データ・ワード・ロードと記載されている。)は、制御信号305cが“1”(Highレベル)にされると入力バッファ503がイネーブルにされ、下位データバス112aとローカルバス301とが電気的に接続される。従って、下位データバス112a上のデータはバッファ&ドライバ303、ローカルバス301を経て指定されたデスティネーションレジスタ(300a〜300dの内のひとつ)の上位ワードに格納される。同時に制御信号306cが“1”(Highレベル)にされるとバッファ&ドライバ304のオールゼロ回路512は16ビット分のオールゼロデータを生成し、ローカルバス301を経て指定されたデスティネーションレジスタ(上位ワードと同じレジスタ)の下位ワードに格納する。これによってデスティネーションレジスタの下位ワードには自動的にクリアされたことになる。なお、下位ワードのクリアは、バッファ&ドライバ304でオールゼロを生成する代わりにデスティネーションレジスタで直接クリアする回路を設けても良い。
(Ii) Fixed-point data Next, the case of fixed-point data will be described. When word data is input via the data bus 112 (indicated as fixed-point data word load in FIG. 6), the input buffer 503 is set when the control signal 305c is set to “1” (High level). Is enabled, and the lower data bus 112a and the local bus 301 are electrically connected. Accordingly, the data on the lower data bus 112a is stored in the upper word of the destination register (one of 300a to 300d) designated via the buffer & driver 303 and the local bus 301. At the same time, when the control signal 306c is set to “1” (High level), the all-zero circuit 512 of the buffer & driver 304 generates all-zero data for 16 bits, and the destination register (the upper word and the upper word) is specified via the local bus 301. Stored in the lower word of the same register). As a result, the lower word of the destination register is automatically cleared. In order to clear the lower word, a circuit that directly clears the destination register instead of generating all zeros by the buffer & driver 304 may be provided.

ワードデータがデータバス112に出力される場合(図6では固定小数点データ・ワード・ストアと記載されている。)、制御信号306dが“1”(Highレベル)にされると出力バッファ504がイネーブルにされ、ローカルデータバス301と下位データバス112aとが電気的に接続される。従って、指定されたソースレジスタ(300a〜300dの内のひとつ)の上位ワードから出力されたワードデータは、ローカルバス301、バッファ&ドライバ303を経て下位データバス112aに出力される。このときバッファ&ドライバ304側は何も動作しない。すなわち、制御信号306a、306b、306cは全て“0”(Lowレベル)で、入力バッファ505、出力バッファ506及びオールゼロ回路512は、ディスエーブルにされる。   When word data is output to the data bus 112 (indicated as fixed-point data word store in FIG. 6), the output buffer 504 is enabled when the control signal 306d is set to “1” (High level). The local data bus 301 and the lower data bus 112a are electrically connected. Accordingly, the word data output from the upper word of the designated source register (one of 300a to 300d) is output to the lower data bus 112a via the local bus 301 and the buffer & driver 303. At this time, the buffer & driver 304 side does not operate. That is, the control signals 306a, 306b, and 306c are all “0” (Low level), and the input buffer 505, the output buffer 506, and the all zero circuit 512 are disabled.

整数データ転送命令と固定小数点データ転送命令との違いによって、制御信号305(305a、305b、305c、305d、305e)、306(306a、306b、306c)の状態が異なり、制御信号305、306によってバッファ&ドライバ303、304をそれぞれ制御することによって、上位ワードから上位ワード、上位ワードから下位ワード又は下位ワードから上位ワードへの転送が可能になる。これによって、固定小数点乗算実行前にソースデータを下位側にシフトする等の操作をCPU命令によって実行する必要なく、演算時間を短くすることできる。   The state of the control signals 305 (305a, 305b, 305c, 305d, 305e) and 306 (306a, 306b, 306c) differs depending on the difference between the integer data transfer instruction and the fixed-point data transfer instruction. By controlling the & drivers 303 and 304, respectively, transfer from the upper word to the upper word, from the upper word to the lower word, or from the lower word to the upper word becomes possible. As a result, it is possible to shorten the calculation time without having to execute an operation such as shifting the source data to the lower side before execution of the fixed-point multiplication by the CPU instruction.

《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に接続し、データの転送方向を制御する信号である。
<Connection between CPU and data bus>
FIG. 7 shows a more detailed block diagram of the register file 103 of the general-purpose arithmetic processing unit 100 and a connection example with the data bus. However, this figure also shows only the configuration related to the connection between the data bus 112 and the register file 103, and the connection structure with other data buses and each arithmetic unit is omitted. In FIG. 7, similarly to FIG. 4, the data bus 112 is described by being divided into a lower data bus 112a and an upper data bus 112b. In the figure, 400a, 400b, 400c, and 400d are individual registers, 401 is a local bus that connects the upper word of each register (from the 16th bit to the 31st bit) and the buffer & driver 403, and 402 is the lower level of each register. A local bus that connects the word (0th to 15th bits) and the buffer & driver 404; 403 is a buffer & driver that relays data transfer between the upper word of each register and the upper data bus 112b; Reference numeral 404 denotes a buffer and driver that relays data transfer between the lower word of each register and the lower data bus 112a. Reference numeral 405 denotes a control signal that is connected to the upper data bus 112b and controls the data transfer direction. A signal connected to the lower data bus 112a to control the data transfer direction. It is.

本レジスタ・ファイル103では、全てのデータは整数データとして取り扱う。従ってデータ転送動作は前述のディジタル信号処理ユニット104のレジスタ・ファイル108における整数データの場合の動作及びタイミング又はパイプライン動作は異なる場合があるが、基本的には同じである。すなわち、バッファ&ドライバ403には、バッファ&ドライバ303のうち入力バッファ501、507、出力バッファ502及び符号拡張回路510に相当する回路がある。バッファ&ドライバ404には、バッファ&ドライバ304のうち入力バッファ505及び出力バッファ506に相当する回路がある。従って、制御信号405には、制御信号305a、306b、306eに相当する制御信号がある。制御信号406には、制御信号306a、306bに相当する制御信号がある。   In this register file 103, all data is handled as integer data. Accordingly, the data transfer operation is basically the same, although the operation and timing or pipeline operation for integer data in the register file 108 of the digital signal processing unit 104 may be different. That is, the buffer & driver 403 includes circuits corresponding to the input buffers 501 and 507, the output buffer 502, and the sign extension circuit 510 in the buffer & driver 303. The buffer & driver 404 includes circuits corresponding to the input buffer 505 and the output buffer 506 in the buffer & driver 304. Therefore, the control signal 405 includes control signals corresponding to the control signals 305a, 306b, and 306e. The control signal 406 includes a control signal corresponding to the control signals 306a and 306b.

以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、マイクロコンピュータに限定されず、ディジタルシグナルプロセッサにも適用される。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof. For example, the present invention is not limited to a microcomputer, and is also applied to a digital signal processor.

また、本実施例ではレジスタ・ファイル108でも整数データと固定小数点データの双方のデータ転送命令をサポートする場合を示したが、本発明ではディジタル信号処理ユニット104のためのデータ転送に整数データ用のワードデータ転送命令をサポートすることは必ずしも必要とせず、少なくとも固定小数点データ用の転送命令のみのサポートでも構わない。また、データのビット長は必ずしも16ビット、32ビットである必要はないことは言うまでもない。さらに本実施例ではワードデータの転送時にはデータバスの下位ワードのみを使用することを前提として説明したが、固定小数点データのワードデータを転送するときはやはりデータバスの上位ワードを用いることにし、相手側でデータの性質によって接続するワードを切り替えるようにすれば、同様の機能が実現できる。この場合、バッファ&ドライバ303はいつでもデータバスの上位ワード側に接続すればよいので、下位データバス112aと接続する必要はなくなる。さらに本実施例では、固定小数点が30ビット目と31ビット目の間にあり、表現できる数値範囲は−1.0以上+1.0未満を仮定していたが、ガードビットと一般に呼ばれるオーバフロー防止のビットがさらに拡張されてサポートされたレジスタであっても構わない。この場合、ワードデータの転送命令実行時には16ビット目から31ビット目のワードデータが転送され、ガードビット部分はデータ入力時には符号拡張され、データ出力時には無視すればよい。   In the present embodiment, the register file 108 also supports the case where both integer data and fixed-point data transfer instructions are supported. However, in the present invention, integer data is transferred to the digital signal processing unit 104 for data transfer. It is not always necessary to support a word data transfer instruction, and at least only a transfer instruction for fixed-point data may be supported. Needless to say, the bit length of data is not necessarily 16 bits or 32 bits. Furthermore, in the present embodiment, it has been described on the assumption that only the lower word of the data bus is used when transferring word data. However, when transferring word data of fixed-point data, the upper word of the data bus is also used. If the connected word is switched depending on the nature of the data, the same function can be realized. In this case, since the buffer & driver 303 may be connected to the upper word side of the data bus at any time, it is not necessary to connect to the lower data bus 112a. Further, in this embodiment, the fixed point is between the 30th and 31st bits, and the numerical range that can be expressed is assumed to be −1.0 or more and less than +1.0. The bit may be a register that is further expanded and supported. In this case, the word data from the 16th bit to the 31st bit is transferred when the word data transfer command is executed, the guard bit portion is sign-extended when data is input, and can be ignored when data is output.

整数データと固定少数点データとの関係を示す説明図。Explanatory drawing which shows the relationship between integer data and fixed-point data. 本発明の一実施例におけるマイクロコンピュータの全体的なブロック図。1 is an overall block diagram of a microcomputer according to an embodiment of the present invention. 本発明の一実施例におけるシフタ107の詳細な一例説明図。The detailed example explanatory drawing of the shifter 107 in one Example of this invention. 本発明の一実施例におけるディジタル信号処理ユニット104のレジスタ・ファイル108のより詳細な構成とデータバスとの接続例を示すブロック図。2 is a block diagram showing a more detailed configuration of a register file 108 of the digital signal processing unit 104 and an example of connection with a data bus in an embodiment of the present invention. FIG. バッファ&ドライバ回路の回路図。The circuit diagram of a buffer & driver circuit. 制御信号305及び制御信号306と取り扱いデータとの関係を表す説明図。Explanatory drawing showing the relationship between the control signal 305 and the control signal 306, and handling data. 本発明の一実施例における汎用演算処理ユニット101のレジスタ・ファイル103のより詳細な構成とデータバスとの接続例を示すブロック図。FIG. 2 is a block diagram showing a more detailed configuration of a register file 103 of a general-purpose arithmetic processing unit 101 and an example of connection with a data bus in an embodiment of the present invention.

符号の説明Explanation of symbols

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:制御信号
100: General-purpose arithmetic processing unit (CPU) having an integer arithmetic processing function
101: Arithmetic logic unit (ALU) in general-purpose arithmetic processing unit
102: An integer arithmetic unit (PAU) that performs the second address calculation in the general-purpose arithmetic processing unit
103: Register file in the general-purpose arithmetic processing unit 104: Digital signal processing unit (DSP) having a fixed-point data arithmetic processing function
105: arithmetic logic unit 106 in the digital signal processing unit 106: multiplier in the digital signal processing unit 107: shifter 108 in the digital signal processing unit: register file 109 in the digital signal processing unit 109: 32-bit length address bus 110-111: 16-bit address bus 112: 32-bit data bus 113-114: 16-bit data bus 115-116: On-chip memory (X memory, Y memory)
117: Module (I / O) for interfacing with peripheral circuits and the outside
200: inverter circuit 201: logical product circuit 202: logical sum circuit 203: control signals 300a, 300b, 300c, 300d for controlling whether or not to perform shift in the shifter 107: individual registers 301 to 302 in the register file: Local bus 303 to 304: Buffer & driver 305 to 306: Data transfer control signal 112a: Lower word of data bus 112 (lower data bus)
112b: upper word of data bus 112 (upper data bus)
400a, 400b, 400c, 400d: individual registers 401-402 in the register file: local buses 403-404: buffers & drivers 405-406: control signals for data transfer 501, 503, 505, 507: input buffer 502, 504, 506: Output buffer 510: Sign extension circuit 512: All zero circuits 305a, 305b, 305c, 305d, 305e: Control signals 306a, 306b, 306c: Control signals

Claims (8)

整数演算機能を有する第1プロセッシングユニットと、
前記第1プロセッシングユニットに制御され、固定小数点演算機能を有する第2プロセッシングユニットとを有するデータ処理装置であって、
前記第2プロセッシングユニットは、整数演算と固定小数点演算を実行することができる乗算回路を備え、
前記第1プロセッシングユニットは、第1型命令を実行できるものであり、
前記第2プロセッシングユニットは、第2型命令を実行できるものであり、
前記第1型命令は、前記第2プロセッシングユニットを動作させることなく専ら前記第1プロセッシングユニットによって実行される命令であり、
前記第2型命令は、整数演算を行う第1命令と、固定小数点演算を行う第2命令を含み、
前記第1命令は、整数乗算命令を含み、前記第2命令は固定小数点乗算命令を含み、
前記第1プロセッシングユニットは、第1型命令と第2型命令とをデコードする機能を有し、
前記第1プロセッシングユニットは、前記第2型命令をデコードしたときには、前記第2プロセッシングユニットに制御信号を出力するものであり、
前記第1プロセッシングユニットは、前記整数乗算命令をデコードしたときには、前記制御信号を用いて前記乗算回路に整数乗算を実行させ、前記固定小数点乗算命令をデコードしたときには、前記制御信号を用いて前記乗算回路に固定小数点乗算を実行させるものであり、
前記データ処理装置は、さらに第1メモリと、第2メモリとを有し、
前記第1プロセッシングユニットと、前記第2プロセッシングユニットと、前記第1メモリと、前記第2メモリと、に接続された第1データバスとをさらに有し、
前記第2プロセッシングユニットと、前記第1メモリと、に接続された第2データバスとをさらに有し、
前記第2プロセッシングユニットと、前記第2メモリと、に接続された第3データバスとをさらに有し、
前記第2プロセッシングユニットによって前記第2型命令が実行されるとき、前記第2データバス及び第3データバスを介して演算データが転送されることを特徴とするデータ処理装置。
A first processing unit having an integer arithmetic function;
A data processing apparatus controlled by the first processing unit and having a second processing unit having a fixed-point arithmetic function,
The second processing unit includes a multiplication circuit capable of performing integer arithmetic and fixed point arithmetic,
The first processing unit is capable of executing a first type instruction;
The second processing unit is capable of executing a second type instruction;
The first type instruction is an instruction executed exclusively by the first processing unit without operating the second processing unit;
The second type instruction includes a first instruction that performs an integer operation and a second instruction that performs a fixed-point operation,
The first instruction includes an integer multiplication instruction, the second instruction includes a fixed-point multiplication instruction;
The first processing unit has a function of decoding a first type instruction and a second type instruction,
The first processing unit outputs a control signal to the second processing unit when the second type instruction is decoded.
The first processing unit causes the multiplication circuit to execute integer multiplication using the control signal when the integer multiplication instruction is decoded, and uses the control signal to decode the multiplication when the fixed-point multiplication instruction is decoded. a shall be executed a fixed point multiplication circuit,
The data processing apparatus further includes a first memory and a second memory,
A first data bus connected to the first processing unit, the second processing unit, the first memory, and the second memory;
A second data bus connected to the second processing unit and the first memory;
A third data bus connected to the second processing unit and the second memory;
A data processing apparatus , wherein when the second type instruction is executed by the second processing unit, operation data is transferred through the second data bus and the third data bus .
前記乗算回路はシフト回路を備え、
前記第1プロセッシングユニットは、前記整数乗算命令をデコードしたときには、前記シフト回路を用いて前記乗算回路の演算結果をシフトせずに出力し、前記固定小数点乗算命令をデコードしたときには、前記シフト回路を用いて前記乗算回路の演算結果をシフトして出力することを特徴とする請求項1記載のデータ処理装置。
The multiplication circuit includes a shift circuit,
The first processing unit outputs, without shifting, the operation result of the multiplication circuit using the shift circuit when the integer multiplication instruction is decoded, and outputs the shift circuit when the fixed-point multiplication instruction is decoded. The data processing apparatus according to claim 1, wherein the data processing apparatus shifts and outputs the operation result of the multiplication circuit.
前記乗算回路はシフト回路を備え、
前記第1プロセッシングユニットは、前記整数乗算命令をデコードしたときには、前記シフト回路を用いて前記乗算回路の演算結果をシフトせずに出力し、前記固定小数点乗算命令をデコードしたときには、前記シフト回路を用いて前記乗算回路の演算結果を1ビット左へ算術シフトして出力することを特徴とする請求項1記載のデータ処理装置。
The multiplication circuit includes a shift circuit,
The first processing unit outputs, without shifting, the operation result of the multiplication circuit using the shift circuit when the integer multiplication instruction is decoded, and outputs the shift circuit when the fixed-point multiplication instruction is decoded. 2. The data processing apparatus according to claim 1, wherein the operation result of the multiplication circuit is arithmetically shifted to the left by one bit and output.
前記第1及び第2プロセッシングユニットは、同一半導体基板上に形成されて成ることを特徴とする請求項1乃至3のいずれか1項に記載のデータ処理装置。   4. The data processing apparatus according to claim 1, wherein the first and second processing units are formed on the same semiconductor substrate. セントラル・プロセッシング・ユニットと、ディジタル信号処理ユニットと、メモリと、を具備するデータ処理装置であって、
前記ディジタル信号処理ユニットは、レジスタを有し、
前記データ処理装置は、
前記メモリ上の固定小数点データを前記レジスタへ転送する第1の機能と、
前記レジスタ上の固定小数点データを前記メモリへ転送する第2の機能と、
前記メモリ上の整数データを前記レジスタへ転送する第3の機能と、
前記レジスタ上の整数データを前記メモリへ転送する第4の機能と、
前記レジスタに格納されたデータに対する固定小数点演算機能と、
前記レジスタに格納されたデータに対する整数演算機能と、を実行可能であり、
前記データ処理装置は、
前記第1の機能と前記第1の機能とは異なるデータに対する別の第1の機能とを並列実行させる第1の命令と、
前記第1の機能と前記第2の機能の何れかの機能を実行させる第2の命令と、
前記整数演算機能を指定する第3の命令と、
前記第3の機能を指定する第4の命令と、
前記第4の機能を指定する第5の命令とを実行可能であり、
前記セントラル・プロセッシング・ユニットは、前記第1乃至第5の命令もしくはその他の命令をデコードし、前記デコード結果に基づいて前記セントラル・プロセッシング・ユニット自身で前記命令の全部の機能を実現し、もしくは前記命令の一部の機能を実現するのと並行して前記ディジタル信号処理ユニットを制御するものであり、
前記メモリは、第1メモリおよび第2メモリを含み、
前記ディジタル信号処理ユニットと、第1メモリと、に接続される第1データバスと、前記ディジタル信号処理ユニットと、第2メモリと、に接続される第2データバスとをさらに有し、
前記第1の命令を実行するときには、前記セントラル・プロセッシング・ユニットは、前記第1の機能に係るデータが格納されている前記第1メモリ上のアドレスと、前記第1の機能とは異なるデータに対する別の第1の機能に係るデータが格納されている前記第2メモリ上のアドレスとを生成するものであり、前記ディジタル信号処理ユニットは、前記第1バスおよび第2バスを介して前記各データが転送されるものであり、
前記第2の命令を実行するときには、前記セントラル・プロセッシング・ユニットは、前記第1の機能に係るデータが格納されている前記第1又は第2メモリ上のアドレスまたは、前記第2の機能に係るデータが格納されている前記第1又は第2メモリ上のアドレスとを生成するものであることを特徴とするデータ処理装置。
A data processing apparatus comprising a central processing unit, a digital signal processing unit, and a memory,
The digital signal processing unit has a register,
The data processing device includes:
A first function of transferring fixed-point data on the memory to the register;
A second function of transferring the fixed-point data on the register to the memory;
A third function of transferring integer data on the memory to the register;
A fourth function of transferring integer data on the register to the memory;
A fixed-point arithmetic function for the data stored in the register;
An integer arithmetic function on the data stored in the register, and
The data processing device includes:
A first instruction for executing in parallel the first function and another first function for data different from the first function;
A second instruction for executing any one of the first function and the second function;
A third instruction designating the integer arithmetic function;
A fourth instruction designating the third function;
A fifth instruction designating the fourth function can be executed;
The central processing unit decodes the first to fifth instructions or other instructions and realizes all the functions of the instructions by the central processing unit itself based on the decoding result, or Controlling the digital signal processing unit in parallel with the realization of a part of the functions of the instructions,
The memory includes a first memory and a second memory,
A first data bus connected to the digital signal processing unit and a first memory; a second data bus connected to the digital signal processing unit and a second memory;
When executing the first instruction, the central processing unit applies an address on the first memory in which data related to the first function is stored to data different from the first function. And an address on the second memory in which data relating to another first function is stored, and the digital signal processing unit transmits each of the data via the first bus and the second bus. Is to be transferred,
When executing the second instruction, the central processing unit relates to an address on the first or second memory in which data related to the first function is stored or to the second function. A data processing apparatus for generating an address on the first or second memory in which data is stored .
前記第1の機能を実行する場合であって、前記データが前記レジスタのビット長より短いビット長の固定小数点データであるときには、当該固定小数点データを前記レジスタの上位側に詰めて入力するものであり、
前記第2の機能を実行する場合であって、前記データが前記レジスタのビット長より短いビット長の固定小数点データであるときには、当該固定小数点データを前記レジスタの上位側から当該固定小数点データに必要なビット長のデータを出力するものであり、
前記第3の機能を実行する場合であって、前記データが前記レジスタのビット長より短いビット長の整数データであるときには、当該整数データを前記レジスタの下位側に詰めて入力するものであり、
前記第4の機能を実行する場合であって、前記データが前記レジスタのビット長より短いビット長の整数データであるときには、当該整数データを前記レジスタの下位側から当該整数データに必要なビット長のデータを出力するものであることを特徴とする請求項5記載のデータ処理装置。
In the case of executing the first function, when the data is fixed-point data having a bit length shorter than the bit length of the register, the fixed-point data is input to the upper side of the register. Yes,
When the second function is executed and the data is fixed-point data having a bit length shorter than the bit length of the register, the fixed-point data is necessary for the fixed-point data from the upper side of the register Output a bit length of data,
In the case of executing the third function, when the data is integer data having a bit length shorter than the bit length of the register, the integer data is input to the lower side of the register.
When the fourth function is executed and the data is integer data having a bit length shorter than the bit length of the register, the bit length required for the integer data from the lower order side of the register 6. The data processing apparatus according to claim 5, wherein the data is output .
前記固定小数点演算機能が固定小数点乗算機能を含み、
前記整数演算機能が整数乗算機能を含み、
前記固定小数点乗算機能は、前記レジスタの上位側からデータを取り込み、前記整数演算機能の出力に対して1ビット分算術的に左方向にシフトして出力することを特徴とする請求項5又は6記載のデータ処理装置。
The fixed-point arithmetic function includes a fixed-point multiplication function;
The integer arithmetic function includes an integer multiplication function;
7. The fixed-point multiplication function fetches data from the upper side of the register, shifts the output of the integer arithmetic function leftward arithmetically by 1 bit, and outputs the result. The data processing apparatus described .
前記セントラル・プロセッシング・ユニットと、ディジタル信号処理ユニットと、第1メモリと、第2メモリとに接続される第3データバスをさらに有し、
前記第1乃至第5命令もしくはその他の命令は、前記第3バスを介して前記セントラル・プロセッシング・ユニットに転送されるものであることを特徴とする請求項5乃至7の何れか1項に記載のデータ処理装置。
A third data bus connected to the central processing unit, the digital signal processing unit, the first memory, and the second memory;
The said 1st thru | or 5th instruction | command or another instruction | command is transferred to the said central processing unit via the said 3rd bus | bath, The any one of Claim 5 thru | or 7 characterized by the above-mentioned. Data processing equipment.
JP2004225048A 1995-10-09 2004-08-02 Data processing device Expired - Fee Related JP3727640B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225048A JP3727640B2 (en) 1995-10-09 2004-08-02 Data processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP26118095 1995-10-09
JP2004225048A JP3727640B2 (en) 1995-10-09 2004-08-02 Data processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP23614096A Division JP3655403B2 (en) 1995-10-09 1996-09-06 Data processing device

Publications (2)

Publication Number Publication Date
JP2004362607A JP2004362607A (en) 2004-12-24
JP3727640B2 true JP3727640B2 (en) 2005-12-14

Family

ID=34066718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225048A Expired - Fee Related JP3727640B2 (en) 1995-10-09 2004-08-02 Data processing device

Country Status (1)

Country Link
JP (1) JP3727640B2 (en)

Also Published As

Publication number Publication date
JP2004362607A (en) 2004-12-24

Similar Documents

Publication Publication Date Title
JP3655403B2 (en) Data processing device
RU2447484C1 (en) Rounding-off in accordance with instructions
JPH06332792A (en) Data processor, data reading control circuit thereof and data writing control circuit
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
JP2970821B2 (en) Data processing device
US20140244987A1 (en) Precision Exception Signaling for Multiple Data Architecture
JP2006099232A (en) Semiconductor signal processor
US5757685A (en) Data processing system capable of processing long word data
JP3705811B2 (en) Microcontroller with reconfigurable program status word
JPS6227412B2 (en)
JP3727640B2 (en) Data processing device
JP2690406B2 (en) Processor and data processing system
JP3650519B2 (en) Microcomputer
KR100431726B1 (en) Method for performing signed division
JP2703884B2 (en) Data write control method
JP2002215606A (en) Data processor
JP2001216136A (en) Addition circuit and processor
US7580967B2 (en) Processor with maximum and minimum instructions
KR100389989B1 (en) Double-precision (64-bit) shift operation using a 32-bit data path
JP2517154B2 (en) Data processing device
JP3539914B2 (en) Microcomputer
JPH0784763A (en) Multiplier circuit
JP3123545B2 (en) Data processing device
JP2006059085A (en) Data processor, data processing method, and processing program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050928

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111007

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

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131007

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees