JPH0628310A - Processor system - Google Patents
Processor systemInfo
- Publication number
- JPH0628310A JPH0628310A JP4109770A JP10977092A JPH0628310A JP H0628310 A JPH0628310 A JP H0628310A JP 4109770 A JP4109770 A JP 4109770A JP 10977092 A JP10977092 A JP 10977092A JP H0628310 A JPH0628310 A JP H0628310A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- signal
- circuit
- output
- 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.)
- Granted
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プロセッサシステムに
関する。特に、内部に限られた機能の演算装置しか持た
ないプロセッサと、バス上に接続された拡張機能の演算
装置及びメモリを持つプロセッサシステムに関する。FIELD OF THE INVENTION The present invention relates to processor systems. In particular, the present invention relates to a processor having only an arithmetic unit having a limited function inside, and a processor system having an arithmetic unit having an expanded function and a memory connected to a bus.
【0002】[0002]
【従来の技術】プロセッサシステムの性能を向上させる
ため、プロセッサのバス上に専用の演算器を置く場合が
ある。例えば、プロセッサが乗算器を内蔵していないと
き、プロセッサのバス上に乗算器を置き、乗算を高速に
実行する場合がある。乗算器を内蔵していないプロセッ
サでは、乗算を加算の繰り返しで行っている。16ビッ
トの乗算のためには、最高16回の加算が必要となる。
1ビットの加算に1クロック掛かるとすると乗算の実行
に16クロック掛かってしまう。組込み制御用など、応
用によっては、乗算の頻度が高いものがあり、乗算の高
速化が要求されている。2. Description of the Related Art In order to improve the performance of a processor system, a dedicated arithmetic unit may be placed on the bus of the processor. For example, when the processor does not have a built-in multiplier, the multiplier may be placed on the bus of the processor to execute the multiplication at high speed. In a processor that does not have a built-in multiplier, multiplication is repeated by addition. Up to 16 additions are required for 16-bit multiplication.
If it takes 1 clock to add 1 bit, it takes 16 clocks to execute the multiplication. Depending on the application, such as for embedded control, the frequency of multiplication is high, and high-speed multiplication is required.
【0003】[図9]に、従来の外付けの演算回路を持
つシステムの例を示す。演算器が乗算器の例であり、プ
ロセッサ10、バスコントローラ11、乗算器12、ソ
ースレジスタ13、ソースレジスタ14、バッファ15
から成っている。プロセッサ10は、基本クロックBC
LK、2倍周波数クロックCLKに同期して動作してい
る。以下で単にクロックと記述したときは、基本クロッ
クBCLKの1周期を表わすものとする。乗算器12へ
の入力データはソースレジスタ13、ソースレジスタ1
4から与えられる。乗算結果はバッファ15を介して、
データバスへ出力される。FIG. 9 shows an example of a system having a conventional external arithmetic circuit. The arithmetic unit is an example of a multiplier, and the processor 10, the bus controller 11, the multiplier 12, the source register 13, the source register 14, and the buffer 15
Made of. The processor 10 has a basic clock BC
LK operates in synchronization with the double frequency clock CLK. Hereinafter, when simply described as a clock, it represents one cycle of the basic clock BCLK. The input data to the multiplier 12 is the source register 13 and the source register 1
Given from 4. The multiplication result is passed through the buffer 15
It is output to the data bus.
【0004】従来例では、プロセッサのライトバスサイ
クルによりソースレジスタ13とソースレジスタ14に
乗算のソースデータが書き込まれ、リードバスサイクル
により乗算結果をプロセッサが読み込む。ソースレジス
タ13、ソースレジスタ14、バッファ15はそれぞれ
アドレスが割り振られており、バスコントローラ11は
プロセッサのバスサイクルでアドレスバス上に出力され
たアドレスが、それぞれのアドレスと一致したときに制
御信号SW1、SW2、MOEを出力する。ソースレジ
スタ13、14はそれぞれ制御信号SW1、SW1の立
ち上がりエッジでデータバス上のデータを内部にラッチ
し、乗算器へ与える。また、バッファ15は制御信号M
OEがアクティブ(Lowレベル)のとき、乗算器から
出力されている乗算結果をデータバス上に出力する。In the conventional example, the source data of the multiplication is written in the source register 13 and the source register 14 in the write bus cycle of the processor, and the multiplication result is read in by the processor in the read bus cycle. Addresses are assigned to the source register 13, the source register 14, and the buffer 15, respectively, and the bus controller 11 controls the control signal SW1 when the addresses output on the address bus in the bus cycle of the processor match the respective addresses. SW2 and MOE are output. The source registers 13 and 14 internally latch the data on the data bus at the rising edges of the control signals SW1 and SW1, respectively, and supply the data to the multiplier. The buffer 15 has a control signal M
When OE is active (low level), the multiplication result output from the multiplier is output on the data bus.
【0005】[図10]に、従来例の乗算のタイミング
を示す。クロック1のライトバスサイクルでプロセッサ
はソースレジスタ13のアドレスをアドレスバスに出力
し、ソースレジスタ13に設定するデータをデータバス
上に出力する。バスコントローラ11は適当なタイミン
グで制御信号SW1に立ち上がりエッジを出力する。立
ち上がりエッジでソースレジスタ13はデータバス上の
データを内部にラッチし、乗算器へ出力する。クロック
2では、同様にソースレジスタ14に乗算のもう一方の
データを設定する。クロック3のリードバスサイクルで
は、プロセッサはバッファ15のアドレスをアドレスバ
スに出力する。バスコントローラ11は制御信号MOE
をアクティブにする。バッファ15は乗算器の出力をデ
ータバス上に出力し、この値をプロセッサが内部にリー
ドする。ソースレジスタにデータが設定されてから、乗
算結果をプロセッサが読み込むまでの時間は1クロック
分あるので、この間に乗算器12は乗算を終了すればよ
い。このように従来例では、1回の乗算を実行するため
に最小でも3クロックの時間を要した。実際のプログラ
ムで乗算処理を書くと、以下のような3命令となり、さ
らに多くのクロックが1回の乗算に必要である。 mov r1,@src13_adr ・・・ (1) mov r2,@src14_adr ・・・ (2) mov @mul_adr,r3 ・・・ (3)FIG. 10 shows the timing of multiplication in the conventional example. In the write bus cycle of clock 1, the processor outputs the address of the source register 13 to the address bus, and outputs the data set in the source register 13 to the data bus. The bus controller 11 outputs a rising edge to the control signal SW1 at an appropriate timing. At the rising edge, the source register 13 internally latches the data on the data bus and outputs it to the multiplier. At clock 2, similarly, the other data of the multiplication is set in the source register 14. In the read bus cycle of clock 3, the processor outputs the address of the buffer 15 to the address bus. The bus controller 11 uses the control signal MOE
To activate. The buffer 15 outputs the output of the multiplier on the data bus, and the processor internally reads this value. Since there is one clock period from setting the data in the source register to reading the multiplication result by the processor, the multiplier 12 may end the multiplication during this period. As described above, in the conventional example, it took a minimum of 3 clocks to execute one multiplication. When the multiplication process is written in an actual program, the following three instructions are required, and more clocks are required for one multiplication. mov r1, @ src13_adr ... (1) mov r2, @ src14_adr ... (2) mov @mul_adr, r3 ... (3)
【0006】mov命令は第1オペランドをソース、第
2オペランドをデスティネーションとして、データを転
送する命令である。r1、r2、r3はプロセッサの内
部レジスタである。@src13_adr,@src1
4_adr、@mul_adrはそれぞれソースレジス
タ13、ソースレジスタ14、バッファ15のアドレス
へのアクセスを示す。The mov instruction is an instruction for transferring data with the first operand as the source and the second operand as the destination. r1, r2, and r3 are internal registers of the processor. @ Src13_adr, @ src1
4_adr and @mul_adr indicate access to the addresses of the source register 13, the source register 14, and the buffer 15, respectively.
【0007】命令(1)は、プロセッサの内部レジスタ
r1の値をソースレジスタ13にライトする。命令
(2)は、内部レジスタr2の値をソースレジスタ14
にライトする。命令(3)は、乗算結果を内部レジスタ
r3にリードする。これら3命令でr1とr2の積をr
3に格納している。The instruction (1) writes the value of the internal register r1 of the processor to the source register 13. Instruction (2) sets the value of the internal register r2 to the source register 14
Write to. The instruction (3) reads the multiplication result into the internal register r3. The product of r1 and r2 is r
Stored in 3.
【0008】ライトバスサイクルを実行する命令
(1)、(2)の実行クロック数を2、リードバスサイ
クルを含む命令(3)を4とすると、これら3命令の実
行に8クロックを要する。If the number of execution clocks of the instructions (1) and (2) for executing the write bus cycle is 2, and the instruction (3) including the read bus cycle is 4, it takes 8 clocks to execute these three instructions.
【0009】このように、乗算器の乗算スピードは1ク
ロックと高速であるにもかかわらず、データの設定と乗
算結果の読みだしのための命令が別になり、この処理時
間が長いので、1回の乗算に8クロックもの時間が必要
であった。As described above, although the multiplication speed of the multiplier is as high as one clock, the instruction for setting the data and the instruction for reading the multiplication result are different, and the processing time is long, so once. It took as long as 8 clocks to multiply by.
【0010】[0010]
【発明が解決しようとする課題】上記したように、従来
のプロセッサシステムではプロセッサから演算器へのデ
ータ設定と、演算器からプロセッサへの演算結果の読み
だしというオーバーヘッドが大きく、処理の高速化を図
れないという欠点があった。As described above, in the conventional processor system, the overhead of setting the data from the processor to the arithmetic unit and reading the arithmetic result from the arithmetic unit to the processor is large, and the processing speed is increased. There was a drawback that it could not be achieved.
【0011】本発明は、上記欠点を除去し、メモリ読み
だしたデータをデータバスを介さず演算器に与えること
により、プロセッサと演算器とのデータ転送に掛かるオ
ーバーヘッドを最小にすること、また、少ない命令で演
算を実現することによって、命令の実行時間の短縮によ
る性能向上と、プログラムのコードザイズの削減による
メモリ容量の削減を図ることを目的とする。The present invention eliminates the above-mentioned drawbacks and minimizes the overhead of data transfer between the processor and the arithmetic unit by giving the data read out from the memory to the arithmetic unit without passing through the data bus. The purpose of the present invention is to realize the operation with a small number of instructions, thereby improving the performance by reducing the instruction execution time and reducing the memory capacity by reducing the code size of the program.
【0012】[0012]
【課題を解決するための手段】上記目的を達成するため
に、本発明では、アドレス信号と制御信号を出力しデー
タバス上のデータを内部レジスタに読み込むプロセッサ
と、前記プロセッサの出力する前記アドレス信号により
指定されたデータを前記プロセッサの前記制御信号に従
って出力するメモリ回路と、前記メモリ回路の出力デー
タを専用線を介して入力し演算を行いその演算結果を出
力する演算回路と、前記プロセッサの前記アドレス信号
と前記制御信号に従って前記演算回路から前記演算結果
を前記データバスに出力するか否かを制御する第1のバ
ッファ回路とを具備することを特徴とするプロセッサシ
ステムを提供する。In order to achieve the above object, according to the present invention, a processor for outputting an address signal and a control signal to read data on a data bus into an internal register, and the address signal output by the processor. A memory circuit for outputting the data designated by the processor in accordance with the control signal of the processor; an arithmetic circuit for inputting the output data of the memory circuit through a dedicated line to perform an arithmetic operation and outputting the arithmetic result; A processor system comprising: a first buffer circuit for controlling whether or not the operation result is output from the operation circuit to the data bus according to an address signal and the control signal.
【0013】また、前記メモリ回路が、前記プロセッサ
の前記アドレス信号のうち2つ以上の独立した信号群を
入力とし、その信号群によって指定される独立した2つ
以上のデータを出力することを特徴とするプロセッサシ
ステムを提供する。The memory circuit inputs two or more independent signal groups of the address signals of the processor and outputs two or more independent data designated by the signal groups. To provide a processor system.
【0014】また、前記プロセッサの前記アドレス信号
と前記制御信号により、前記メモリ回路の出力信号と前
記データバスとを接続するか否かを制御する第2のバッ
ファ回路を有し、前記第1のバッファ回路と前記第2の
バッファ回路は、どちらか一方がデータバスへデータを
出力しているときに他方が出力を行わず、前記演算回路
の出力と前記メモリの出力データとの両方を前記プロセ
ッサが読み込むことができることを特徴とするプロセッ
サシステムを提供する。Further, a second buffer circuit for controlling whether or not the output signal of the memory circuit and the data bus are connected by the address signal and the control signal of the processor is provided, and the first buffer circuit is provided. One of the buffer circuit and the second buffer circuit does not output when one is outputting data to the data bus, and the processor circuit outputs both the output of the arithmetic circuit and the output data of the memory. To provide a processor system that can be read by a.
【0015】また、前記プロセッサの前記アドレス信号
と前記制御信号とにより、前記メモリ回路の出力信号と
前記データバスを接続するか否かを制御する第2のバッ
ファ回路と、前記プロセッサのアドレス信号と制御信号
により、前記プロセッサが前記演算回路からの出力を読
み込むと判断した場合は、前記プロセッサのアドレス信
号のうち2つ以上の独立した信号群を前記メモリ回路に
出力するバスコントロール回路とを有し、前記第1のバ
ッファ回路と前記第2のバッファ回路は、どちらか一方
がデータバスへデータを出力しているときに他方が出力
を行わず、前記演算回路の出力と前記メモリのデータと
を前記プロセッサが読み込むことができることを特徴と
するプロセッサシステムを提供する。また、これらの演
算器が乗算器であることを特徴とするプロセッサシステ
ムを提供する。A second buffer circuit for controlling whether or not the output signal of the memory circuit and the data bus are connected by the address signal of the processor and the control signal, and the address signal of the processor. A bus control circuit for outputting to the memory circuit two or more independent signal groups of the address signals of the processor when the processor determines to read the output from the arithmetic circuit by the control signal. , One of the first buffer circuit and the second buffer circuit does not output when one is outputting data to the data bus, and outputs the output of the arithmetic circuit and the data of the memory. A processor system is provided which is readable by the processor. Further, there is provided a processor system in which these arithmetic units are multipliers.
【0016】[0016]
【作用】本発明で提供する手段を用いれば、専用線を介
して演算器の入力データをメモリ回路から同時に演算器
へ与えることができるので、データ転送のオーバーヘッ
ドを従来と比較して削減できる。この結果、命令の実効
時間が短縮され、プロセッサシステム全体としての性能
向上が図れる。By using the means provided by the present invention, the input data of the arithmetic unit can be simultaneously given from the memory circuit to the arithmetic unit via the dedicated line, so that the overhead of data transfer can be reduced as compared with the conventional case. As a result, the effective time of the instruction is shortened and the performance of the entire processor system can be improved.
【0017】また、演算器に入力するオペランドをいっ
たんプロセッサに読込む必要がないため、命令の実効時
間が短縮され、さらにプログラムのコードサイズをその
分だけ削減することが出来る。Further, since it is not necessary to read the operand input to the arithmetic unit into the processor once, the effective time of the instruction can be shortened and the code size of the program can be reduced accordingly.
【0018】[0018]
【実施例】以下に図面を用いてこの発明の実施例を示
す。Embodiments of the present invention will be described below with reference to the drawings.
【0019】[図1]に、本発明のプロセッサシステム
の第1の実施例を示す。プロセッサシステムは、プロセ
ッサ31、バスコントローラ32、上位RAM33、下
位RAM34、乗算器35、ソースレジスタ36、ソー
スレジスタ37、バッファ38、39、40、ゲート4
1、42を有する。FIG. 1 shows the first embodiment of the processor system of the present invention. The processor system includes a processor 31, a bus controller 32, an upper RAM 33, a lower RAM 34, a multiplier 35, a source register 36, a source register 37, buffers 38, 39 and 40, and a gate 4.
1 and 42.
【0020】プロセッサ31は、基本クロックBCL
K、2倍周波数クロックCLKに同期して動作する。プ
ロセッサの信号は、アドレスバス、データバス、コント
ロールバスに接続されている。The processor 31 has a basic clock BCL.
K operates in synchronization with the double frequency clock CLK. The signal of the processor is connected to the address bus, the data bus, and the control bus.
【0021】アドレス信号A00〜A29は、プロセッ
サによってバスサイクル実行時にアクセスするアドレス
が出力される信号である。A00〜A29は、アドレス
バスに接続されている。Address signals A00 to A29 are signals for outputting addresses to be accessed by the processor when executing a bus cycle. A00 to A29 are connected to the address bus.
【0022】データ信号D00〜D31は、データのリ
ード、ライトの為に使用され、データバスに接続されて
いる。リードバスサイクルではプロセッサは、D00〜
D31上のデータを内部に読み込む。ライトバスサイク
ルではプロセッサは、D00〜D31へデータを出力す
るThe data signals D00 to D31 are used for reading and writing data and are connected to the data bus. In the read bus cycle, the processor
The data on D31 is read internally. In the write bus cycle, the processor outputs data to D00 to D31.
【0023】バイトコントロール信号BC0〜BC3
は、プロセッサによってバスサイクル実行時にアクセス
するバイト位置に対応してアクティブ(0:Lowレベ
ル)にされる信号である。BC0、BC1、BC2、B
C3がアクティブのとき、それぞれデータ信号D00〜
D07、D08〜D15、D16〜D23、D24〜D
31がアクセスされることを示している。Byte control signals BC0 to BC3
Is a signal which is made active (0: Low level) by the processor corresponding to the byte position to be accessed when the bus cycle is executed. BC0, BC1, BC2, B
When C3 is active, the data signals D00 to D00
D07, D08 to D15, D16 to D23, D24 to D
31 indicates that it is accessed.
【0024】リード/ライト信号RWは、バスサイクル
がリードかライトかを示す信号である。プロセッサは、
リードバスサイクルのときRW信号を1(Highレベ
ル)に、ライトバスサイクルの時0(Lowレベル)に
する。アドレスストローブ信号ASは、プロセッサによ
ってバスサイクル中でアクティブ(0:Lowレベル)
にされる信号である。The read / write signal RW is a signal indicating whether the bus cycle is read or write. The processor is
The RW signal is set to 1 (High level) in the read bus cycle and 0 (Low level) in the write bus cycle. The address strobe signal AS is active in the bus cycle by the processor (0: Low level).
This is the signal to be turned on.
【0025】データ転送終了信号DCは、バスサイクル
の終了を制御する信号である。外部回路がDC信号をア
クティブ(0:Lowレベル)にするとプロセッサはそ
のクロックでバスサイクルを終了する。The data transfer end signal DC is a signal for controlling the end of the bus cycle. When the external circuit activates the DC signal (0: Low level), the processor ends the bus cycle with the clock.
【0026】バイトコントロール信号BC0〜BC3、
リード/ライト信号RW、アドレスストローブ信号A
S、データ転送終了信号DCはコントロールバスに接続
されている。Byte control signals BC0 to BC3,
Read / write signal RW, address strobe signal A
The S and data transfer end signal DC are connected to the control bus.
【0027】バスコントローラ32は、上位RAM33
と下位RAM33へのアクセス、ソースレジスタ36と
ソースレジスタ37へのデータ書き込みを制御する回路
である。バスコントローラ32は、プロセッサが出力し
たアドレス信号A00〜A29、バイトコントロール信
号BC0〜BC3、リード/ライト信号RW、AS信号
をアドレスバス、コントロールバスを介して入力する。
上位RAM33へアドレス信号RADRH0〜RADR
H7とイネーブル信号CE0、CE1、下位RAMへア
ドレス信号RADRL0〜RADRL7とイネーブル信
号CE2、CE3、共通にリード/ライト信号RRWを
出力する。また、乗算器のソースレジスタ36、ソース
レジスタ37のデータラッチのタイミングを示すSCL
K信号を出力する。The bus controller 32 is an upper RAM 33.
And a circuit for controlling access to the lower RAM 33 and writing data to the source register 36 and the source register 37. The bus controller 32 inputs the address signals A00 to A29, the byte control signals BC0 to BC3, the read / write signal RW, and the AS signal output from the processor via the address bus and the control bus.
Address signals RADRH0 to RADR to the upper RAM 33
H7 and enable signals CE0 and CE1, address signals RADRL0 to RADRL7 and enable signals CE2 and CE3, and read / write signal RRW are commonly output to the lower RAM. In addition, SCL indicating the timing of the data latch of the source register 36 and the source register 37 of the multiplier
Output K signal.
【0028】上位RAM33と下位RAM34は、デー
タやプログラムを格納しているメモリであり、上位RA
M33はバッファ38を介してデータバスD00〜D1
5に接続されている。下位RAMはバッファ39を介し
てデータバスD16〜D31に接続されている。RAM
の各ワードは、アドレス信号RADRH0〜7、RAD
RL0〜7によって選択される。本実施例では、アドレ
スは8本であるので、各RAMのサイズは512バイト
である。また、イネーブル信号CE0〜CE3により、
バイト単位でアクセスが可能である。CE0〜CE3が
アクティブ(0:Lowレベル)になったときに、RA
Mからのデータ読みだし、RAMへのデータ書き込みが
行われる。リードライト信号RRWが1(Highレベ
ル)のときはリードアクセスであり、RAMはデータを
出力する。リードライト信号RRWが0(Lowレベ
ル)のときはライトアクセスであり、RAMはデータを
出力する。The upper RAM 33 and the lower RAM 34 are memories for storing data and programs, and the upper RA
M33 is a data bus D00 to D1 via a buffer 38.
Connected to 5. The lower RAM is connected to the data buses D16 to D31 via the buffer 39. RAM
Each word of the address signal RADRH0-7, RAD
Selected by RL0-7. In this embodiment, since there are eight addresses, the size of each RAM is 512 bytes. Further, by the enable signals CE0 to CE3,
It can be accessed in byte units. When CE0 to CE3 become active (0: Low level), RA
Data is read from M and data is written to RAM. When the read / write signal RRW is 1 (High level), it is a read access and the RAM outputs data. When the read / write signal RRW is 0 (Low level), it is a write access and the RAM outputs data.
【0029】乗算器35は、16ビットデータIX0〜
IX15とIY0〜IY15を入力とし、32ビットの
乗算結果IP0〜IP31を出力する。IXM,IYM
は、それぞれIX0〜IX15、IY0〜IY15が符
号付き整数(IXM、IYM=1)か、符号なし整数
(IXM、IYM=0)かを示している。符号付き整数
は2の補数表現を採っている。2つの入力データIX0
〜IX15、IY0〜IY15がともに符号なし整数
(IXM=IYM=0)の場合、乗算結果は符号なしと
なり、どちらか一方でも符号付き整数の場合は、乗算結
果も符号付きとなる。IRNDは、乗算器結果の上位1
6ビットを丸めるかを指定する信号である。IRNDが
1のときのみ下位16ビットの最上位ビット(IP1
5)に1を加える。このような乗算器の例として東芝ス
タンダードセルTC25SCシリーズのハードマクロセ
ルMP16がある。[図2]にこの乗算器の回路構成図
を示す。次に、[図1]のプロセッサシステムの動作に
ついて説明していく。プロセッサシステムの動作は、R
AMアクセス動作と乗算動作に分けられる。 (1)RAMアクセス動作The multiplier 35 has 16-bit data IX0-IX.
IX15 and IY0 to IY15 are input, and 32-bit multiplication results IP0 to IP31 are output. IXM, IYM
Indicates whether IX0 to IX15 and IY0 to IY15 are signed integers (IXM, IYM = 1) or unsigned integers (IXM, IYM = 0), respectively. Signed integers are in 2's complement notation. Two input data IX0
When ˜IX15 and IY0 to IY15 are both unsigned integers (IXM = IYM = 0), the multiplication result is unsigned, and when either one is a signed integer, the multiplication result is also signed. IRND is the high-order 1 of the multiplier result
This signal specifies whether to round 6 bits. Only when IRND is 1, the lower 16 most significant bits (IP1
Add 1 to 5). An example of such a multiplier is the Toshiba standard cell TC25SC series hard macrocell MP16. FIG. 2 shows a circuit configuration diagram of this multiplier. Next, the operation of the processor system shown in FIG. 1 will be described. The operation of the processor system is R
It is divided into an AM access operation and a multiplication operation. (1) RAM access operation
【0030】RAMアクセス動作では、上位RAMと下
位RAMは通常の32ビット幅のRAMとしてアクセス
される。上位RAM33、下位RAM34の同一のアド
レスのワードがアクセスされる。In the RAM access operation, the upper RAM and the lower RAM are accessed as a normal 32-bit width RAM. The words of the same address in the upper RAM 33 and the lower RAM 34 are accessed.
【0031】アドレスフォーマットの例を[図3]に示
す。RADRフィールドA22〜A29が上位RAM3
3と下位RAM34のRAMアドレス(RADRH0〜
7、RADRL0〜7)として共通に使用される。ま
た、[図3]の例では、上位アドレスA00〜A21は
全て0である。An example of the address format is shown in FIG. RADR fields A22 to A29 are upper RAM 3
3 and the RAM address of the lower RAM 34 (RADRH0 to
7, RADRL0-7) are commonly used. Further, in the example of FIG. 3, the upper addresses A00 to A21 are all 0.
【0032】RAMアクセス動作ではバスコントローラ
32は、BC0〜3に対応したCE0〜CE3をアクテ
ィブにし、バイト単位で上位RAM33と下位RAM3
4をアクセスする。RW信号が1でリードバスサイクル
のときはRRW信号を1にしてメモリからデータを読み
出す。RW信号が0でライトバスサイクルのときはRR
W信号を0にしてバス上のデータを上位RAM33と下
位RAM34にデータを書き込む。バスコントローラ3
2は、A22〜A29をRADRH0〜RADRH7と
RADRL0〜7に出力し、上位RAM33と下位RA
M34の同一のワードをアクセスする。In the RAM access operation, the bus controller 32 activates CE0 to CE3 corresponding to BC0 to 3, and the upper RAM 33 and the lower RAM 3 in byte units.
Access 4 When the RW signal is 1 and the read bus cycle is set, the RRW signal is set to 1 and data is read from the memory. RR when RW signal is 0 and write bus cycle is RR
The W signal is set to 0 and the data on the bus is written in the upper RAM 33 and the lower RAM 34. Bus controller 3
2 outputs A22 to A29 to RADRH0 to RADRH7 and RADRL0 to 7, and a higher RAM 33 and a lower RA.
Access the same word in M34.
【0033】RAMアクセス状態では、双方向バッファ
38、39は、A00信号によってイネーブル状態であ
り、また方向はRW信号によって制御されている。RW
信号が1でリードバスサイクルのときは、RAMの出力
がデータバスに出力される。RW信号が0でライトバス
サイクルのときは、データバス上にプロセッサから出力
されたデータがRAMに入力されている。また、ゲート
40はA00、RW、AS信号によりディスエーブルと
なっており、乗算器の出力がデータバスへ出力されな
い。このように、RAMアクセス動作では上位RAM3
3と下位RAM34を32ビットのRAMとしてアクセ
スする。 (2)乗算動作In the RAM access state, the bidirectional buffers 38 and 39 are enabled by the A00 signal, and the direction is controlled by the RW signal. RW
When the signal is 1 and is in the read bus cycle, the output of the RAM is output to the data bus. When the RW signal is 0 and the write bus cycle is set, the data output from the processor is input to the RAM on the data bus. Also, the gate 40 is disabled by the A00, RW, and AS signals, and the output of the multiplier is not output to the data bus. Thus, in the RAM access operation, the upper RAM 3
3 and the lower RAM 34 are accessed as a 32-bit RAM. (2) Multiply operation
【0034】乗算動作では、上位RAMから読みだされ
てたデータがソースレジスタ36に、下位RAMから読
みだされてたデータがソースレジスタ37にデータバス
を介すことなく専用線を用いて直接格納され、乗算結果
IP0〜31がデータバスに出力される。次のクロック
でこの乗算結果をプロセッサが読み込む。In the multiplication operation, the data read from the upper RAM is directly stored in the source register 36, and the data read from the lower RAM is directly stored in the source register 37 using a dedicated line without passing through the data bus. Then, the multiplication results IP0-31 are output to the data bus. The processor reads the multiplication result at the next clock.
【0035】乗算動作は、プロセッサが出力するアドレ
ス信号とRW信号で判断する。アドレスA00が1かつ
A04〜A13が全て0かつRWが1(リードバスサイ
クル)のとき乗算動作となる。The multiplication operation is determined by the address signal and RW signal output from the processor. When the address A00 is 1 and all of A04 to A13 are 0 and RW is 1 (read bus cycle), the multiplication operation is performed.
【0036】乗算動作では、バスサイクルで出力される
アドレスの内、独立したフィールドを上位RAM33と
下位RAM34のRAMアドレス(RADRH0〜7、
RADRL0〜7)とする。これにより、上位RAMと
下位RAMから独立したワードデータをリードし、乗算
のソースデータとして使用できる。In the multiplication operation, among the addresses output in the bus cycle, independent fields are assigned to the RAM addresses (RADRH0-7, RADRH0-7, RADRH0-7) of the upper RAM33 and the lower RAM34.
RADRL0-7). As a result, word data independent from the upper RAM and the lower RAM can be read and used as source data for multiplication.
【0037】乗算動作時のアドレスフォーマットの例を
[図4]に示す。A00が1かつA04〜A13が全て
0であり、乗算動作であることを示している。A01、
A02,A03はそれぞれIRND、IXM、IYMに
接続され、乗算のモードを指定する。A14〜A21は
上位RAMへのアドレスRADRHであり、このフィー
ルドで指定された上位RAMのワードが読みだされる。
A22〜A29は下位RAMへのアドレスRADRLで
あり、このフィールドで指定された下位RAMのワード
が読みだされる。An example of the address format in the multiplication operation is shown in FIG. A00 is 1 and A04 to A13 are all 0, indicating that the multiplication operation is performed. A01,
A02 and A03 are connected to IRND, IXM, and IYM, respectively, and specify a multiplication mode. A14 to A21 are addresses RADRH to the upper RAM, and the word of the upper RAM designated by this field is read out.
A22 to A29 are addresses RADRL to the lower RAM, and the word of the lower RAM designated by this field is read out.
【0038】乗算動作ではバスコントローラ32は、C
E0〜CE3をアクティブにし、RRWを1にしてメモ
リからデータを読みだす。バスコントローラ32は、A
14〜A21をRADRH0〜RADR7へ、A22〜
A29をRADRL0〜7に出力し、上位RAM、下位
RAMの独立したワードを読み出す。上位RAMから読
みだされたデータはソースレジスタ36へ、下位RAM
から読みだされたデータはソースレジスタ37に格納さ
れ、乗算器35へ出力される。このとき、双方向バッフ
ァ38、39は、A00信号によってディスエーブル状
態であり、RAMの出力はデータバスには出力されな
い。ゲート40はA00、RW、AS信号によりイネー
ブルとなっており、乗算器の出力がデータバスへ出力さ
れる。したがって、プロセッサは、1回のリードバスサ
イクルで16ビットの乗算を実行できる。In the multiplication operation, the bus controller 32 uses C
E0 to CE3 are activated, RRW is set to 1, and data is read from the memory. The bus controller 32 is A
14-A21 to RADRH0-RADR7, A22-
A29 is output to RADRL0 to RADRL7 to read independent words in the upper RAM and the lower RAM. The data read from the upper RAM is transferred to the source register 36 and the lower RAM
The data read from is stored in the source register 37 and output to the multiplier 35. At this time, the bidirectional buffers 38 and 39 are disabled by the A00 signal, and the RAM output is not output to the data bus. The gate 40 is enabled by the A00, RW, and AS signals, and the output of the multiplier is output to the data bus. Therefore, the processor can perform 16-bit multiplication in one read bus cycle.
【0039】上記、RAMアクセス動作、乗算動作を実
現するため、バスコントローラ32は[図5]のような
構成になっている。RAMに対するリードライト信号R
RWは、ゲート65によりライトバスサイクルでASが
アクティブ(0:Lowレベル)の間だけ0(Lowレ
ベル)となる。A00〜A21が全て0(Lowレベ
ル)のときはRAMアクセスであり、RM信号がアクテ
ィブ(0:Lowレベル)となる。A00が1かつA0
4〜A13が全て0かつRWが1のときは乗算動作であ
り、MM信号がアクティブ(0:Lowレベル)とな
る。CE0〜CE3は、RAMアクセス動作と乗算動作
でASがアクティブの間アクティブ(0:Lowレベ
ル)になる。MM信号がアクティブで乗算動作のとき、
セレクタ61によりA14〜1がRADRH0〜RAD
RH7に出力される。それ以外はA22〜A29がRA
DRH0〜RADRH7へ出力される。RADRL0〜
7にはA22〜A29が出力される。RAMアクセスの
場合、バスサイクル開始のクロックでプロセッサへデー
タ転送終了信号DCを返す。したがって、RAMアクセ
スを1クロックで実行する。乗算動作では、バスコント
ローラはフリップフロップ62により、1クロック遅れ
てプロセッサにデータ転送終了信号DCを返す。乗算動
作は2クロックで完了する。乗算動作のときSCLKに
たち下がりエッジを出力する。In order to realize the above-mentioned RAM access operation and multiplication operation, the bus controller 32 has a structure as shown in FIG. Read / write signal R to RAM
The RW becomes 0 (Low level) by the gate 65 only while AS is active (0: Low level) in the write bus cycle. When all of A00 to A21 are 0 (Low level), the RAM is accessed and the RM signal becomes active (0: Low level). A00 is 1 and A0
When all of 4 to A13 are 0 and RW is 1, the multiplication operation is performed, and the MM signal becomes active (0: Low level). CE0 to CE3 are active (0: low level) while AS is active in the RAM access operation and the multiplication operation. When the MM signal is active and multiplication operation is performed,
A14 to 1 are RADRH0 to RAD by the selector 61
It is output to RH7. Otherwise, A22 to A29 are RA
It is output to DRH0 to RADRH7. RADRL0
A22 to A29 are output to 7. In the case of RAM access, the data transfer end signal DC is returned to the processor at the bus cycle start clock. Therefore, RAM access is executed in one clock. In the multiplication operation, the bus controller returns the data transfer end signal DC to the processor with a delay of 1 clock by the flip-flop 62. The multiplication operation is completed in 2 clocks. During the multiplication operation, the falling edge of SCLK is output.
【0040】[図6]に、乗算動作のタイミングを示
す。クロック1ではプロセッサ31は、第5図に相当す
るアドレスを出力する。ここで、IRND=IXM=I
YM=0、RADRHフィールド=A、RADRLフィ
ールド=Bとする。バスコントローラは、乗算動作のア
ドレスを認識して、CE0〜3をアクティブ(0:Lo
wレベル)にする。上位RAM33にはAが、下位RA
M34にはBが与えられ、それぞれのRAMの内容がソ
ースレジスタ36、37へ出力される。バスコントロー
ラ32からのSCLKの立ち下がりエッジでRAMから
の出力をソースレジスタ36、37にラッチする。ラッ
チされたデータにより乗算が計算される。クロック2で
は、バスコントローラはデータ転送終了信号DCをアク
ティブにする。プロセッサ31は、バッファ40を介し
てデータバス上に出力されている乗算結果をリードす
る。ソースレジスタに値が設定されから、乗算結果が読
まれるまでは、従来例と同じ1クロックの時間がある。
従って同一のスピードの乗算器を使用可能である。本実
施例では1回の乗算を1回のリードバスサイクルで行う
ので最小で2クロックサイクルで実行可能である。FIG. 6 shows the timing of the multiplication operation. At clock 1, the processor 31 outputs the address corresponding to FIG. Where IRND = IXM = I
It is assumed that YM = 0, RADRH field = A, and RADRL field = B. The bus controller recognizes the address of the multiplication operation and activates CE0 to CE3 (0: Lo
w level). In the upper RAM 33, A is the lower RA
B is given to M34, and the contents of the respective RAMs are output to the source registers 36 and 37. The output from the RAM is latched in the source registers 36 and 37 at the falling edge of SCLK from the bus controller 32. The multiplication is calculated by the latched data. At clock 2, the bus controller activates the data transfer end signal DC. The processor 31 reads the multiplication result output on the data bus via the buffer 40. There is the same one clock time as in the conventional example from setting the value in the source register to reading the multiplication result.
Therefore, the same speed multiplier can be used. In this embodiment, since one multiplication is performed in one read bus cycle, it can be executed in a minimum of two clock cycles.
【0041】次に、本発明のプロセッサシステムで乗算
を行う場合のプログラミング例を示す。乗算は1回のリ
ードバスサイクルで実行されるので、mov @me
m,regといったメモリからレジスタへの転送命令な
どを使用する。ここで第1オペランドはメモリリードア
クセスを示しており、memを第5図に示す乗算動作の
ためのアドレス値にしておけば、乗算結果を内部レジス
タregに格納できる。Next, a programming example in the case of performing multiplication in the processor system of the present invention will be shown. Since multiplication is executed in one read bus cycle, mov @me
A memory-to-register transfer instruction such as m or reg is used. Here, the first operand indicates a memory read access, and if mem is an address value for the multiplication operation shown in FIG. 5, the multiplication result can be stored in the internal register reg.
【0042】例えば、アドレスh’10(h’は16進
数を示す)の符号なしワード(16ビット)データAと
アドレスh’C2の符号なしワードデータBの乗算を行
い、その32ビットの乗算結果をプロセッサの内部レジ
スタr0に格納する命令を考える。For example, the unsigned word (16 bits) data A at the address h'10 (h 'indicates a hexadecimal number) and the unsigned word data B at the address h'C2 are multiplied, and the 32-bit multiplication result is obtained. Consider the instruction that stores a in the internal register r0 of the processor.
【0043】データAは上位RAMに格納されており、
そのRAMのワードアドレスはh’04である。また、
データBは下位RAMに格納されており、そのRAMの
ワードアドレスはh’30である。したがって、[図
4]に示す乗算動作のアドレスは、A00=1、IRN
D=IXM=IYM=0よりA01=A02=A03=
0、A04〜A13=0〜0、A14〜A21=h’0
4、A22〜A29=h’30となり、まとめるとアド
レスh’800010c0となる。従って mov @h’800010c0,r0 により、データAとBの積を求め、内部レジスタr0に
格納することができる。Data A is stored in the upper RAM,
The word address of the RAM is h'04. Also,
The data B is stored in the lower RAM, and the word address of the RAM is h'30. Therefore, the address of the multiplication operation shown in FIG. 4 is A00 = 1, IRN
From D = IXM = IYM = 0, A01 = A02 = A03 =
0, A04 to A13 = 0 to 0, A14 to A21 = h'0
4, A22 to A29 = h'30, and the address becomes h'800010c0. Therefore, the product of the data A and B can be obtained from mov @ h'800010c0, r0 and stored in the internal register r0.
【0044】上位16ビットをまるめた結果のみをr0
に格納するのであれば、IRND=1よりA01=1の
アドレスから、16ビット幅でリードすればよい。この
命令は以下のようになる。 mov @h’c00010c0.h,r0.h オペランドの後の”.h”は16ビット幅のデータ転送
であることを示している。また、データが符号付き整数
ならば、IXM、IYMを1にしたアドレスからリード
すればよい。プログラムの次の例として、データAとB
の積を内部レジスタr0に加える内積演算を考える。こ
れは以下の加算命令で実現できる。 add @h’800010c0,r0Only the result of rounding the upper 16 bits is r0
If the data is to be stored in, the address can be read with a 16-bit width from the address of A01 = 1 from IRND = 1. This command looks like this: mov @ h'c00010c0. h, r0. ".h" after the h operand indicates that the data transfer is 16 bits wide. If the data is a signed integer, it is sufficient to read from the address where IXM and IYM are set to 1. As the next example of the program, data A and B
Consider an inner product operation that adds the product of This can be realized by the following addition instruction. add @ h'800010c0, r0
【0045】加算命令addは、第1オペランドの値を
第2オペランドに加える。従って、上記命令では、アド
レスh’800010c0から読みだしたデータAとB
の積をr0に加えることになる。内積演算は、信号処理
などの応用に高い頻度で出現する演算であり、本プロセ
ッサシステムでは加算命令で容易にこの演算を実現でき
る。The add instruction add adds the value of the first operand to the second operand. Therefore, in the above instruction, the data A and B read from the address h'800010c0
Will add the product of to r0. The inner product operation is an operation that frequently appears in applications such as signal processing, and this processor system can easily realize this operation with an addition instruction.
【0046】次に本発明の第2の実施例を[図7]に示
す。第1の実施例では乗算はソースデータの1つは上位
RAM、もう1つは下位RAMに格納されていなければ
ならなかった。第2の実施例ではRAMを2ポートRA
Mで構成することにより、このような制約をなくしたも
のである。第2の実施例のプロセッサシステムは、プロ
セッサ81、バスコントローラ82、2ポートRAM8
3、乗算器85、ソースレジスタ86、ソースレジスタ
87、バッファ88、89、90、ゲート91、92か
ら構成されている。バスコントローラ82と2ポートR
AM83以外は、第1の実施例と同じである。Next, a second embodiment of the present invention is shown in FIG. In the first embodiment, in the multiplication, one of the source data must be stored in the upper RAM and the other must be stored in the lower RAM. In the second embodiment, the RAM is a 2-port RA
By constructing with M, such a restriction is eliminated. The processor system of the second embodiment includes a processor 81, a bus controller 82, a 2-port RAM 8
3, a multiplier 85, a source register 86, a source register 87, buffers 88, 89 and 90, and gates 91 and 92. Bus controller 82 and 2 port R
Except for AM83, it is the same as the first embodiment.
【0047】バスコントローラ82は、2ポートRAM
83へのアクセス、ソースレジスタ86とソースレジス
タ87へのデータ書き込みを制御する回路である。バス
コントローラ82は、プロセッサが出力したアドレス信
号A00〜A29、バイトコントロール信号BC0〜B
C3、リード/ライト信号RW、AS信号をアドレスバ
ス、コントロールバスを介して入力する。2ポートRA
M83の上位ポートPORTHへアドレス信号RADR
H0〜RADRH8とイネーブル信号CE0、CE1、
下位ポートPORTLアドレス信号RADRL0〜RA
DRL8とイネーブル信号CE2、CE3、共通にリー
ド/ライト信号RRWを出力する。また、乗算器のソー
スレジスタ36、ソースレジスタ37のデータラッチの
タイミングを示すSCLK信号を出力する。The bus controller 82 is a 2-port RAM
It is a circuit for controlling access to 83 and writing data to the source register 86 and the source register 87. The bus controller 82 has address signals A00 to A29 and byte control signals BC0 to B output by the processor.
The C3, read / write signal RW, and AS signal are input via the address bus and the control bus. 2-port RA
Address signal RADR to upper port PORTH of M83
H0 to RADRH8 and enable signals CE0, CE1,
Lower port PORTL address signal RADRL0-RA
The DRL 8 and the enable signals CE 2 and CE 3 are commonly output as the read / write signal RRW. It also outputs the SCLK signal indicating the timing of the data latch of the source register 36 and the source register 37 of the multiplier.
【0048】第1の実施例と同様に、A00〜A28が
全て0のバスサイクルのときRAMアクセス動作とな
る。このとき、バスコントローラ82は、RADRH0
=0、RADRH1〜RADRH8=A22〜A29、
RADRL=1、RADRL1〜RADRL8=A22
〜A29を出力する。Similar to the first embodiment, the RAM access operation is performed when A00 to A28 are all 0 bus cycles. At this time, the bus controller 82 uses RADRH0.
= 0, RADRH1 to RADRH8 = A22 to A29,
RADRL = 1, RADRL1 to RADRL8 = A22
~ A29 is output.
【0049】A00=1かつA04〜A13=0〜0か
つRW=1(リードアクセス)のとき、乗算動作とな
る。このとき、バスコントローラ82は、CE0〜CE
3をアクティブにし、RADRH0〜8にA12〜A2
0を、RADRL0〜RADRL8にA21〜A29を
出力する。このときのアドレスのフォーマットを[図
8]に示す。When A00 = 1 and A04 to A13 = 0 to 0 and RW = 1 (read access), the multiplication operation is performed. At this time, the bus controller 82 uses CE0 to CE.
3 is activated and RADRH0-8 are A12-A2
0 and outputs A21 to A29 to RADRL0 to RADRL8. The address format at this time is shown in FIG.
【0050】2ポートRAM83は、データやプログラ
ムを格納しているメモリであり、上位ポートPORTH
はバッファ88を介してデータバスD00〜D15に接
続されている。下位ポートPORTLはバッファ89を
介してデータバスD16〜D31に接続されている。2
ポートRAMの各ワードは、アドレス信号RADRH0
〜8、RADRL0〜8によって同時に2ワードをアク
セスすることができる。本実施例では、アドレスは9本
であるので、2ポートRAMのサイズは1Kバイトであ
る。The 2-port RAM 83 is a memory that stores data and programs, and is a high-order port PORTH.
Are connected to the data buses D00 to D15 via the buffer 88. The lower port PORTL is connected to the data buses D16 to D31 via the buffer 89. Two
Each word of the port RAM has an address signal RADRH0.
.About.8 and RADRL0 to 8 can access two words at the same time. In this embodiment, since there are nine addresses, the size of the 2-port RAM is 1 Kbyte.
【0051】このように第2の実施例では、RAMを2
ポートRAMにすることにより、任意の2つのデータを
同時にリードすることができ、それを乗算器のソースデ
ータとして使用することができる。As described above, in the second embodiment, the RAM is set to 2
By making the port RAM, any two data can be read at the same time and can be used as the source data of the multiplier.
【0052】発明の内容はこれに限定されるものではな
い。例えば、32ビット幅のRAMにも同等に適用でき
る。また、乗算器も入力16ビット、出力32ビットの
ものを述べてきたが、これに限定されるものではなく、
入力32ビット、出力32ビットなどの乗算器にも適用
できる。The content of the invention is not limited to this. For example, it is equally applicable to a 32-bit width RAM. Also, the multiplier has been described as having 16 bits for input and 32 bits for output, but it is not limited to this.
It can also be applied to a multiplier having 32 bits of input and 32 bits of output.
【0053】実施例では、RAMのサイズが合計1Kバ
イトの場合のものを述べてきたが、本発明はこれに限定
されるものではなく、512バイトあるいは2Kバイト
などのサイズのRAMでも適用できる。実施例では、メ
モリとしてRAMを使用した場合を説明したが、本発明
はこれに限定されるものではなくROMを使用してもよ
い。In the embodiment, the case where the RAM size is 1 Kbytes in total has been described, but the present invention is not limited to this, and a RAM having a size of 512 bytes or 2 Kbytes can be applied. Although the case where the RAM is used as the memory has been described in the embodiment, the present invention is not limited to this, and the ROM may be used.
【0054】また、実施例では乗算器の例を説明した
が、データを外部から入力し、それに対する演算結果を
出力するような演算回路一般に、本発明の手法が適用で
きる。例えば、浮動小数点演算回路に対して本発明の手
法を適用できる。Further, although the example of the multiplier has been described in the embodiment, the method of the present invention can be applied to an arithmetic circuit which inputs data from the outside and outputs an arithmetic result therefor. For example, the method of the present invention can be applied to a floating point arithmetic circuit.
【0055】実施例では、2つのソースデータを同時に
演算器に入力した場合を説明したが、本発明はこれに限
定されるものではなく1つあるいは3つ以上のデータを
同時に演算器に入力してもよい。In the embodiment, the case where two source data are simultaneously input to the arithmetic unit has been described, but the present invention is not limited to this, and one or three or more data are simultaneously input to the arithmetic unit. May be.
【0056】[0056]
【発明の効果】本発明では、演算器のソースデータをメ
モリから同時に演算器へ与えることができるので、デー
タ転送のヘッドを削減できる。例えば演算器として1ク
ロックで乗算可能な乗算器を使用した場合、従来のシス
テムでは最小3クロック掛かっていた乗算が、本発明で
は最小2クロックで実行可能となる。According to the present invention, since the source data of the arithmetic unit can be given from the memory to the arithmetic unit at the same time, the head of data transfer can be reduced. For example, when a multiplier capable of multiplying by one clock is used as the arithmetic unit, the multiplication, which takes a minimum of three clocks in the conventional system, can be executed in a minimum of two clocks in the present invention.
【0057】また、本発明では、1回のリードオペレー
ションで乗算が行えるので、1つのデータ転送命令で乗
算が可能である。従来例では2回のライトバスサイクル
と1回のリードバスサイクルを実行しなければならなか
ったので3つの命令が必要であった。リードオペレーシ
ョンを行う命令の実行クロック数を4クロック、ライト
バスサイクルを実行する命令の実行クロック数を2クロ
ックとすると、従来例では8クロック掛かった乗算を本
発明では4クロックで実行可能である。このように、従
来例に比べ乗算を高速に処理できる。また、同時に本発
明ではプログラムのコードサイズを削減することができ
る。Further, in the present invention, since multiplication can be performed by one read operation, multiplication can be performed by one data transfer instruction. In the conventional example, two write bus cycles and one read bus cycle had to be executed, so three instructions were required. Assuming that the number of execution clocks of the instruction that performs the read operation is 4 clocks and the number of execution clocks of the instruction that executes the write bus cycle is 2 clocks, the multiplication that took 8 clocks in the conventional example can be performed in 4 clocks in the present invention. In this way, the multiplication can be processed faster than in the conventional example. At the same time, the present invention can reduce the code size of the program.
【0058】さらに、本発明では1つのadd命令で高
速に、内積演算を実現できる。内積演算は信号処理など
に高い頻度で出現する演算であり、このような応用で本
発明のプロセッサシステムは高い性能を発揮できる。Further, according to the present invention, the inner product operation can be realized at high speed with one add instruction. The inner product operation is an operation that appears frequently in signal processing and the like, and the processor system of the present invention can exhibit high performance in such an application.
【図1】本発明の第1の実施例を表した回路構成図。FIG. 1 is a circuit configuration diagram showing a first embodiment of the present invention.
【図2】本発明の第1の実施例を表した回路構成図。FIG. 2 is a circuit configuration diagram showing a first embodiment of the present invention.
【図3】本発明の第1の実施例で用いるアドレスフォー
マット。FIG. 3 is an address format used in the first embodiment of the present invention.
【図4】本発明の第1の実施例で用いるアドレスフォー
マット。FIG. 4 is an address format used in the first embodiment of the present invention.
【図5】本発明の第1の実施例を表した回路構成図。FIG. 5 is a circuit configuration diagram showing a first embodiment of the present invention.
【図6】本発明の第1の実施例を表したタイミングチャ
ート。FIG. 6 is a timing chart showing a first embodiment of the present invention.
【図7】本発明の第2の実施例を表した回路構成図。FIG. 7 is a circuit configuration diagram showing a second embodiment of the present invention.
【図8】本発明の第2の実施例で用いるアドレスフォー
マット。FIG. 8 is an address format used in the second embodiment of the present invention.
【図9】従来例を表した回路構成図。FIG. 9 is a circuit configuration diagram showing a conventional example.
【図10】従来例の動作時のタイミングチャート。FIG. 10 is a timing chart during operation of the conventional example.
31 プロセッサ 32 バスコントローラ 33 上位RAM 34 下位RAM 35 乗算器 36、37 ソースレジスタ 38、39、40 バッファ 41、42 ゲート 31 Processor 32 Bus Controller 33 Upper RAM 34 Lower RAM 35 Multiplier 36, 37 Source Register 38, 39, 40 Buffer 41, 42 Gate
Claims (5)
バス上のデータを内部レジスタに読み込むプロセッサ
と、 前記プロセッサの出力する前記アドレス信号により指定
されたデータを前記プロセッサの前記制御信号に従って
出力するメモリ回路と、 前記メモリ回路の出力データを専用線を介して入力し演
算を行いその演算結果を出力する演算回路と、 前記プロセッサの前記アドレス信号と前記制御信号に従
って前記演算回路から前記演算結果を前記データバスに
出力するか否かを制御する第1のバッファ回路とを具備
することを特徴とするプロセッサシステム。1. A processor for outputting an address signal and a control signal to read data on a data bus into an internal register, and a memory for outputting data designated by the address signal output by the processor according to the control signal of the processor. A circuit, an arithmetic circuit for inputting the output data of the memory circuit through a dedicated line and performing an arithmetic operation and outputting the arithmetic result, and the arithmetic result from the arithmetic circuit according to the address signal and the control signal of the processor. A processor system comprising: a first buffer circuit for controlling whether to output to a data bus.
記アドレス信号のうち2つ以上の独立した信号群を入力
とし、この信号群によって指定される独立した2つ以上
のデータを出力することを特徴とする請求項1記載のプ
ロセッサシステム。2. The memory circuit receives two or more independent signal groups of the address signals of the processor as inputs, and outputs two or more independent data designated by the signal groups. The processor system according to claim 1.
記制御信号により、前記メモリ回路の出力信号と前記デ
ータバスとを接続するか否かを制御する第2のバッファ
回路を有し、 前記第1のバッファ回路と前記第2のバッファ回路は、
どちらか一方がデータバスへデータを出力しているとき
に他方が出力を行わないことを特徴とする請求項1記載
のプロセッサシステム。3. A second buffer circuit for controlling whether or not the output signal of the memory circuit is connected to the data bus according to the address signal and the control signal of the processor, the first buffer circuit comprising: The buffer circuit and the second buffer circuit are
2. The processor system according to claim 1, wherein when one of them outputs data to the data bus, the other does not output.
記制御信号とにより、前記メモリ回路の出力信号と前記
データバスを接続するか否かを制御する第2のバッファ
回路と、 前記プロセッサの前記アドレス信号と前記制御信号によ
り、前記プロセッサが前記演算回路からの出力を読み込
むと判断した場合は、前記プロセッサの前記アドレス信
号のうち2つ以上の独立した信号群を前記メモリ回路に
出力するバスコントロール回路とを有し、 前記第1のバッファ回路と前記第2のバッファ回路は、
どちらか一方が前記データバスへデータを出力している
ときに他方が出力を行わないことを特徴とする請求項2
記載のプロセッサシステム。4. A second buffer circuit for controlling whether or not the output signal of the memory circuit and the data bus are connected by the address signal and the control signal of the processor, and the address signal of the processor. A bus control circuit that outputs two or more independent signal groups of the address signals of the processor to the memory circuit when it is determined that the processor reads the output from the arithmetic circuit based on the control signal and the control signal. And the first buffer circuit and the second buffer circuit are
3. The method according to claim 2, wherein when one of them outputs data to the data bus, the other does not output.
The processor system described.
徴とする請求項1から請求項4までのいづれか1の請求
項記載のプロセッサシステム。5. The processor system according to claim 1, wherein the arithmetic circuit is a multiplication circuit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109770A JP2659886B2 (en) | 1992-04-28 | 1992-04-28 | Processor system |
US08/053,565 US5524259A (en) | 1992-04-28 | 1993-04-28 | Processor system having an external arithmetic device for high speed execution of computation of data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4109770A JP2659886B2 (en) | 1992-04-28 | 1992-04-28 | Processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0628310A true JPH0628310A (en) | 1994-02-04 |
JP2659886B2 JP2659886B2 (en) | 1997-09-30 |
Family
ID=14518793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4109770A Expired - Lifetime JP2659886B2 (en) | 1992-04-28 | 1992-04-28 | Processor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2659886B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01233515A (en) * | 1988-03-14 | 1989-09-19 | Canon Inc | Information processor |
JPH02181821A (en) * | 1989-01-09 | 1990-07-16 | Nippon Telegr & Teleph Corp <Ntt> | Arithmetic device |
-
1992
- 1992-04-28 JP JP4109770A patent/JP2659886B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01233515A (en) * | 1988-03-14 | 1989-09-19 | Canon Inc | Information processor |
JPH02181821A (en) * | 1989-01-09 | 1990-07-16 | Nippon Telegr & Teleph Corp <Ntt> | Arithmetic device |
Also Published As
Publication number | Publication date |
---|---|
JP2659886B2 (en) | 1997-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6779102B2 (en) | Data processor capable of executing an instruction that makes a cache memory ineffective | |
JPH0248931B2 (en) | ||
US5757685A (en) | Data processing system capable of processing long word data | |
JPS61118850A (en) | Microprocessor | |
US5909588A (en) | Processor architecture with divisional signal in instruction decode for parallel storing of variable bit-width results in separate memory locations | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
US5581720A (en) | Apparatus and method for updating information in a microcode instruction | |
JPH08212075A (en) | Information processing device | |
JP2659886B2 (en) | Processor system | |
US5524259A (en) | Processor system having an external arithmetic device for high speed execution of computation of data | |
US5590302A (en) | Device for generating structured addresses | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
US6219740B1 (en) | Information processing device | |
US5689658A (en) | Data processing system | |
JPH05303543A (en) | Processor system | |
JPS60195661A (en) | Data processing system | |
JP3182796B2 (en) | Central processing unit | |
JP2522063B2 (en) | Single-chip micro computer | |
JPH01253050A (en) | Memory control system for microcomputer system | |
JP2001100991A (en) | Digital signal processor | |
JP3155056B2 (en) | Information processing device | |
JP2504535B2 (en) | Bus unit configuration method | |
JP3242474B2 (en) | Data processing device | |
JPH08314797A (en) | Memory access system | |
JPS6246353A (en) | Memory read system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090606 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090606 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100606 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100606 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term |