JPS645500B2 - - Google Patents

Info

Publication number
JPS645500B2
JPS645500B2 JP27298784A JP27298784A JPS645500B2 JP S645500 B2 JPS645500 B2 JP S645500B2 JP 27298784 A JP27298784 A JP 27298784A JP 27298784 A JP27298784 A JP 27298784A JP S645500 B2 JPS645500 B2 JP S645500B2
Authority
JP
Japan
Prior art keywords
data
signal
circuit
output
input
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
Application number
JP27298784A
Other languages
Japanese (ja)
Other versions
JPS60167551A (en
Inventor
Shigemichi Maeda
Yoshimune Hagiwara
Masahiro Furuya
Kohei Ishizuka
Kazuhiko Takaoka
Garo Kokuryo
Yasuhiro Kita
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.)
Hitachi Denshi KK
Hitachi Ltd
Original Assignee
Hitachi Denshi KK
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Priority to JP27298784A priority Critical patent/JPS60167551A/en
Publication of JPS60167551A publication Critical patent/JPS60167551A/en
Publication of JPS645500B2 publication Critical patent/JPS645500B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は浮動小数点演算機能を備えた信号処理
プロセツサを用いて構成されるデータモデム(変
復調器)に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a data modem (modulator/demodulator) constructed using a signal processing processor having a floating point arithmetic function.

〔発明の背景〕[Background of the invention]

モデムは第1図に示されるように、“1”およ
び“0”の信号系列からなるデータまたはフアク
シミリ信号を音声電話回路に適した信号形態に変
調(送信部)して音声回線に送出し、音声回線か
らの信号を復調(受信部)して元の“1”、“0”
の信号系列に変換する機能を有する。
As shown in FIG. 1, the modem modulates data or facsimile signals consisting of a signal series of "1" and "0" into a signal form suitable for the voice telephone circuit (transmission section), and sends it out to the voice line. Demodulates the signal from the voice line (receiver) and restores the original “1” and “0”
It has the function of converting into a signal sequence.

このモデムを信号処理専用のプロセツサで構成
する手法が最近、出現しはじめている。
Recently, a method has begun to appear in which the modem is configured with a processor dedicated to signal processing.

信号処理プロセツサは、プログラム・メモリと
データを高速度で処理するための専用の乗算器お
よび加減算器を内蔵するLSIとして構成され、プ
ログラムを変えることによりデイジタル・フイル
タ、コーデツク(CODEC)、エコーキヤンセラ
ー等の各種の用途に適合させることができ、モデ
ムの構成に有力な手段となつている。
The signal processing processor is configured as an LSI with built-in program memory and dedicated multipliers and adders/subtractors for processing data at high speed.By changing the program, it can be used to create digital filters, codecs, and echo cancellers. It can be adapted to various uses such as, and has become an effective means for configuring modems.

モデムの機能を第1図を用いて説明する。 The function of the modem will be explained using FIG.

第1図において出力端子1000に入力された
データあるいはフアクシミリ信号である“1”、
“0”の2値系列からなる信号がスクランブラ1
001でランダム化され差動符号器1002で所
定の符号変換される。差動符号器の出力はそれぞ
れ二次元データのX軸、Y軸方向に分解されて低
域フイルタ1003,1004を通過して不用成
分が除去され、変調回路1005,1006で特
定周波数の搬送波との乗算が実行され加算器10
07でそれぞれX軸、Y軸の成分が加算される。
スクランブラ1001から加算器1007までは
デイジタル演算で実行され、D/A(デイジタル
−アナログ変換部)1008、アナログ低域フイ
ルタ1009を経て、音声回線に適した信号が出
力端子1010に出力される。
In FIG. 1, “1” is the data or facsimile signal input to the output terminal 1000;
The signal consisting of a binary series of “0” is the scrambler 1
001 and subjected to predetermined code conversion by a differential encoder 1002. The output of the differential encoder is decomposed into two-dimensional data in the X-axis and Y-axis directions, passes through low-pass filters 1003 and 1004 to remove unnecessary components, and is converted into a carrier wave of a specific frequency by modulation circuits 1005 and 1006. Multiplication is performed in adder 10
At step 07, the X-axis and Y-axis components are added.
From the scrambler 1001 to the adder 1007 are executed by digital calculations, and a signal suitable for the audio line is outputted to the output terminal 1010 through a D/A (digital-to-analog converter) 1008 and an analog low-pass filter 1009.

一方、受信部においては音声回路を伝送されて
きたアナログ信号が入力端子1013に入り、ア
ナログ帯域フイルタ1014を通りAGC(自動利
得制御)回路1015で所定の振幅レベルまで増
幅され、A/D(アナログ−デイジタル変換器)
1016でデイジタル信号に変換される。このデ
イジタル信号は一方はAGC回路1015の制御
信号を得るために電力計算回路1017に入力さ
れ、他方は入力信号を復調するために復調回路1
018,1019に入力され、X軸、Y軸成分の
波形が得られる。低域フイルタ1020,102
1でそれぞれの波形が成形されて、自動等化器1
023で音声回線で歪んだ波形が補償されて元の
伝送信号に等しい波形が識別判定回路1024に
入力されて、差動復号器1025、デスクランプ
1026を通つて元の送信データあるいは送信フ
アクシミリ信号に等しい“1”、“0”の2値系列
信号が出力端1027に得られる。タイミング抽
出回路1022はA/Dの標本化パルスを得るた
めの機能を有し、通常低域フイルタ1020,1
021の出力信号から標本化パルスを抽出してい
る。
On the other hand, in the receiving section, an analog signal transmitted through the audio circuit enters an input terminal 1013, passes through an analog band filter 1014, is amplified to a predetermined amplitude level by an AGC (automatic gain control) circuit 1015, and is amplified to a predetermined amplitude level by an A/D (analog - digital converter)
At step 1016, the signal is converted into a digital signal. One side of this digital signal is input to the power calculation circuit 1017 to obtain a control signal for the AGC circuit 1015, and the other side is input to the demodulation circuit 1 to demodulate the input signal.
018 and 1019, and the waveforms of the X-axis and Y-axis components are obtained. Low-pass filter 1020, 102
1, each waveform is shaped, and the automatic equalizer 1
At 023, the distorted waveform on the audio line is compensated, and the waveform equal to the original transmission signal is input to the identification judgment circuit 1024, which passes through the differential decoder 1025 and the desk lamp 1026 and converts it into the original transmission data or transmission facsimile signal. A binary series signal of equal "1" and "0" is obtained at the output terminal 1027. The timing extraction circuit 1022 has a function of obtaining A/D sampling pulses, and usually includes low-pass filters 1020 and 1.
The sampling pulse is extracted from the output signal of 021.

また、自動等化器1023は識別判定回路10
24から得られる制御信号での特性が音声回路の
特性変動に応じて自動的に追従する。
Further, the automatic equalizer 1023 is connected to the identification determination circuit 10.
The characteristics of the control signal obtained from 24 automatically follow changes in the characteristics of the audio circuit.

以上、説明した如くモデムは1021,102
9で示されるフイルタ、変復調回路、自動等化器
等の信号処理演算部分と1011,1017,1
028で示されるスクランブラ、差動符号復号器
等の信号変換部分とにその機能が分割される。
As explained above, the modem is 1021, 102
Signal processing calculation parts such as filters, modulation/demodulation circuits, automatic equalizers, etc. indicated by 9 and 1011, 1017, 1
Its functions are divided into a signal conversion section such as a scrambler and a differential code decoder, which are denoted by 028.

このようにモデムは信号処理演算部が中心機能
であり、信号処理プロセツサが十分適用できる装
置である。
As described above, the modem has a signal processing calculation section as its central function, and is a device to which a signal processing processor can be fully applied.

しかしながら従来の信号処理プロセツサをその
ままの形でモデムに適用すると扱える数値の範囲
(ダイナミツクレンジ)が狭いため、設計が困難
となり、ある場合にはモデムが実現できない場合
が生じる。
However, if a conventional signal processor is applied to a modem as is, the range of numbers that can be handled (dynamic range) is narrow, making design difficult, and in some cases it may not be possible to realize a modem.

これは従来の信号処理プロセツサが固定小数点
形式を用いており、ダイナミツクレンジを広く取
れないという理由からである。
This is because conventional signal processing processors use a fixed point format and cannot have a wide dynamic range.

簡単に従来の固定小数点信号処理プロセツサを
用いた場合のモデム構成の問題点について述べよ
う。
Let us briefly discuss the problems with modem configurations when using conventional fixed-point signal processing processors.

モデムには第1図に示したように、各種のフイ
ルタ回路が含まれている。
As shown in FIG. 1, the modem includes various filter circuits.

たとえば、伝達特性 H(Z)≡H1(Z)・H2(Z)・H3(Z) …(1) Hi(Z)(i=1、2、3)は各部分フイルタ
の伝達特性)を有するデイジタルフイルタを固定
小数点演算形式で演算することを考えてみよう。
For example, the transfer characteristic H(Z)≡H 1 (Z)・H 2 (Z)・H 3 (Z) …(1) H i (Z) (i=1, 2, 3) is the transmission of each partial filter. Let us consider the case where a digital filter having the following characteristics is operated in a fixed-point arithmetic format.

フイルタ設計では通常H(Z)の特性をもつフ
イルタを直接そのまま構成することはせずに各因
数Hi(Z)(たとえばBiquadフイルタ等)に分解
してその回路を縦続接続している。
In filter design, a filter with the characteristic H(Z) is usually not constructed directly as it is, but is decomposed into each factor H i (Z) (for example, a Biquad filter) and the circuits are connected in cascade.

この場合、第2図に示すように、H1(Z)、H2
(Z)、H3(Z)の順で縦続接続する場合とH2
(Z)、H1(Z)、H3(Z)の順で縦続接続する場
合とではフイルタの信号レベルダイヤが異なる。
A−形構成ではb点での信号レベルが下がるため
S/N(信号成分対まるめ雑音)に注意して設計
しなければならない。また、B−形構成ではb点
での信号のオーバフローを生じないように設計す
る必要がある。図示するように取り扱われる数値
の範囲が固定小数点表示で表現できる場合はフイ
ルタは構成できるが、ダイナミツクレンジが狭く
上記のレベルダイヤが実現できない場合、フイル
タは実現できないことになる。
In this case, as shown in Figure 2, H 1 (Z), H 2
(Z), H 3 (Z) and when connecting in cascade in the order of H 2
(Z), H 1 (Z), and H 3 (Z) are connected in cascade in this order, the signal level diagram of the filter is different.
In the A-type configuration, the signal level at point b decreases, so care must be taken in designing the S/N (signal component to rounding noise). Furthermore, in the B-type configuration, it is necessary to design it so that no signal overflow occurs at point b. A filter can be constructed if the range of numerical values to be handled as shown in the figure can be expressed in fixed-point representation, but if the dynamic range is narrow and the above level diagram cannot be realized, the filter cannot be realized.

このように、ダイナミツクレンジが狭い固定小
数点形式の信号処理プロセツサを用いたモデムの
構成は実現できるフイルタのパラメータが制限を
受けることになる。
As described above, when a modem is configured using a fixed-point signal processor with a narrow dynamic range, the parameters of the filter that can be realized are limited.

〔発明の目〕[Eye of invention]

本発明の目的は、信号処理プロセツサでモデム
を構成する場合の上述の問題点を解決することで
ある。
An object of the present invention is to solve the above-mentioned problems when configuring a modem with a signal processing processor.

〔発明の概要〕[Summary of the invention]

本発明は上記目的を達成するためモデムをダイ
ナミツクレンジの広い浮動小数点信号処理プロセ
ツサを用いて構成し、実現できるパラメータの制
限をなくしたことを特徴とするものである。
In order to achieve the above object, the present invention is characterized in that a modem is configured using a floating point signal processor with a wide dynamic range, and there are no restrictions on the parameters that can be realized.

更に詳しく言えば、本発明の一部をなすデイジ
タル信号処理プロセツサは、それぞれ指数表示部
と仮数表示部とからなる第1、第2のデータを供
給する手段と、上記第1、第2のデータの指数表
示部同士を加算し、仮数表示部同士を掛算して演
算結果を出力する浮動小数点データ乗算手段と、
上記乗算手段の演算結果が1つの入力として供給
される浮動小数点データ加減算手段と、上記加減
算手段による演算結果を保持するためのデータ累
算手段と、上記データ供給手段と乗算手段と加減
算手段とに接続された第1のデータバスと、上記
累算手段との出力を上記加減算手段に入力するた
めの第2のデータバスと、上記累算手段と上記第
1、第2のデータバスとの間に接続されたスイツ
チング手段と、プログラムに従つて上記各要素の
動作を制御する制御手段とからなることを特徴と
する。
More specifically, the digital signal processor forming a part of the present invention includes means for supplying first and second data each consisting of an exponent display section and a mantissa display section, and means for supplying the first and second data. floating point data multiplication means for adding together the exponent display parts and multiplying the mantissa display parts to output an operation result;
floating-point data addition/subtraction means to which the calculation result of the multiplication means is supplied as one input; data accumulation means for holding the calculation result of the addition/subtraction means; and the data supply means, the multiplication means, and the addition/subtraction means. A connected first data bus, a second data bus for inputting the output of the accumulating means to the adding/subtracting means, and between the accumulating means and the first and second data buses; and a control means for controlling the operation of each of the above elements according to a program.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明のモデムの一部である信号処理プ
ロセツサの実施例を図面を参照して説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a signal processing processor which is a part of a modem of the present invention will be described with reference to the drawings.

なお、信号処理プロセツサとモデムの他の構成
要素との関係は後で第20図によつて説明する。
The relationship between the signal processor and other components of the modem will be explained later with reference to FIG.

第3図は本発明によるモデムに使用されるデイ
ジタル信号プロセツサの全体構成図であり、1は
プログラムを格納するためのメモリ、2は上記プ
ログラムメモリ1の読出しアドレスを指示するプ
ログラムカウンタ、3は上記プログラムメモリ1
に接続された命令レジスタ、4は命令レジスタ3
に読出された命令語からプロセツサを動作させる
ための各種の制御信号Sを発生させる制御回路で
ある。この実施例では、メモリ1に格納される命
令語は例えば22ビツトからなり、それぞれオペレ
ーシヨンコードとデータ、アドレスまたはアドレ
ス制御情報を含んでいる。プログラムカウンタ2
と命令レジスタ3は16ビツトのデータバス(Dバ
ス)20に接続されている。
FIG. 3 is an overall configuration diagram of a digital signal processor used in a modem according to the present invention, in which 1 is a memory for storing programs, 2 is a program counter for instructing the read address of the program memory 1, and 3 is the above-mentioned program counter. Program memory 1
instruction register connected to , 4 is instruction register 3
This is a control circuit that generates various control signals S for operating the processor from command words read out. In this embodiment, the instruction word stored in the memory 1 consists of, for example, 22 bits, each containing an operation code, data, address or address control information. Program counter 2
and instruction register 3 are connected to a 16-bit data bus (D bus) 20.

5,6はデータを格納するためのメモリ、7は
汎用レジスタを示す。メモリ5,6は一方をラン
ダムアクセス・メモリ(RAM)、他方を読出し
専用メモリ(ROM)とすることができる。ま
た、それぞれのメモリは複数個の小容量のROM
あるいはRAMの複合体であつてもよい。上記メ
モリは16ビツトのデータを記憶し、各データは選
択回路8を介して16ビツトのXバス21あるいは
Yバス22に読出される。9,10はそれぞれ上
記データメモリ5,7の下位アドレスを指定する
レジスタ、11,12は上記メモリの上位アドレ
スを指定するレジスタである。尚、レジスタ11
はXバス21に読出すべきデータの上位アドレス
を、またレジスタ12はYバス22に読出すべき
データの上位アドレスまたは汎用レジスタ7のア
ドレスを与えており、これらのレジスタには命令
レジスタ3からデータバス23を介してアドレス
情報が与えられる。
5 and 6 are memories for storing data, and 7 is a general-purpose register. One of the memories 5, 6 can be a random access memory (RAM) and the other can be a read only memory (ROM). In addition, each memory consists of multiple small-capacity ROMs.
Alternatively, it may be a composite of RAM. The memory stores 16-bit data, and each data is read out to the 16-bit X bus 21 or Y bus 22 via the selection circuit 8. Registers 9 and 10 designate lower addresses of the data memories 5 and 7, respectively, and registers 11 and 12 designate upper addresses of the memories. Furthermore, register 11
gives the upper address of the data to be read to the X bus 21, and the register 12 gives the upper address of the data to read to the Y bus 22 or the address of the general-purpose register 7, and these registers receive the data from the instruction register 3. Address information is provided via bus 23.

14はXバス21とYバス22から与えられる
2つのデータの積を算出し、結果をPバス24に
出力する浮動小数点演算型の乗算器であり、この
乗算器は、後述するように2つの入力データX,
Yを保持するためのレジスタを含み、演算されな
い2つのデータX,YをそのままXバス25、Y
バス26に出力する。
14 is a floating point multiplier that calculates the product of two data given from the X bus 21 and the Y bus 22 and outputs the result to the P bus 24. Input data X,
It includes a register to hold Y, and the two unoperated data X and Y are directly transferred to the X bus 25 and Y.
Output to bus 26.

15は浮動小数点演算型の加減算器であり、上
記乗算器14の出力データX,Y,Pおよびデー
タバス20,27のデータD,Aを入力として演
算を行い、その結果を累算器16に出力する。1
7は上記累算器16にラツチされた浮動小数点デ
ータを20ビツトのデータバス(Aバス)27に出
力すると共に、上記データを16ビツトのデータに
変換してDバス20に出力するスイツチ回路、1
8は上記乗算器14および加減算器15に接続さ
れ、これらの演算結果に関する状態コードを記憶
する状態コードレジスタである。
Reference numeral 15 denotes a floating point arithmetic type adder/subtractor, which performs calculations using the output data X, Y, P of the multiplier 14 and the data D, A of the data buses 20, 27 as input, and sends the results to the accumulator 16. Output. 1
7 is a switch circuit that outputs the floating point data latched in the accumulator 16 to a 20-bit data bus (A bus) 27, and also converts the above data into 16-bit data and outputs it to the D bus 20; 1
A state code register 8 is connected to the multiplier 14 and the adder/subtractor 15 and stores a state code related to the results of these operations.

30はデータバス20上の16ビツトのデータを
外部端子D0〜D15に並列的に出力するための出力
レジスタ、31は上記外部端子からの16ビツトデ
ータをデータバス20に並列的に取り込むための
入力レジスタである。また32は端子SIENの入
力パルスが“1”の期間中に、端子SICKの入力
クロツクに同期して端子SIからのシリアル入力デ
ータを取り込むための16ビツトのシフトレジス
タ、33は端子SOENの入力パルスが“1”の期
間中に、端子SOCKの入力クロツクに同期して端
子SOにデータを直列的に出力するための16ビツ
トのシフトレジスタを示す。これら2つのシフト
レジスタはそれぞれデータバス20と16ビツト並
列接続されている。
30 is an output register for outputting 16-bit data on the data bus 20 in parallel to external terminals D0 to D15 , and 31 is for capturing 16-bit data from the external terminals to the data bus 20 in parallel. is the input register of Further, 32 is a 16-bit shift register for taking in serial input data from the terminal SI in synchronization with the input clock of the terminal SICK while the input pulse of the terminal SIEN is "1", and 33 is the input pulse of the terminal SOEN. This shows a 16-bit shift register for serially outputting data to the terminal SO in synchronization with the input clock of the terminal SOCK during the period when is "1". These two shift registers are each connected in parallel with the data bus 20 for 16 bits.

35はプロセツサの動作状態を制御するレジス
タ、36はリピート命令によりプロセツサに或る
命令を繰り返して実行させる場合、その繰り返し
回数がセツトされるカウンタ、37はプロセツサ
の内部状態を示すステータス・レジスタを示す。
レジスタ35,37の内容はそれぞれデータバス
20、端子D0〜D15を介して外部から書込み、読
出しが可能である。
35 is a register that controls the operating state of the processor; 36 is a counter that is set to the number of repetitions when a repeat instruction causes the processor to repeatedly execute a certain instruction; and 37 is a status register that indicates the internal state of the processor. .
The contents of the registers 35 and 37 can be written and read from the outside via the data bus 20 and terminals D0 to D15 , respectively.

40はプロセツサ動作への割込みと入出力動作
とを制御するための制御回路であり、例えば端子
SIEN、SOENの入力信号立上りでシフトレジス
タ32,33を動作可能とし、それぞれの信号の
立下りでプログラムに割り込みをかけ、また、端
子IEへの入出力信号の立上りでレジスタ30,
31を起動し、その立下りでプログラムに割り込
みをかけるよう動作する。41は外部の制御装置
(例えばマイクロコンピユータ)からの信号に応
じてプロセツサ動作を制御するフアンクシヨン制
御回路であり、例えば端子TXAKからDMA転送
モードの受認信号、端子R/Wから並列入出力デ
ータの転送方向を示す信号、端子CSからこのプ
ロセツサを外部装置が選択したことを示す信号、
端子TESTからテスト動作モードの指定信号、
RSTからリセツト信号、端子F0-3から外部装置
による動作制御信号をそれぞれ受け取り、端子
TxRQから並列データ転送要求信号を出力する。
端子Bit I/Oはデータを1ビツトずつ入出力す
るための双方向入出力端子を示す。42はクロツ
クパルス発生回路であり、端子OSCを介して外
部回路より基本となるクロツクを受けとり、これ
に基づきプロセツサ動作に必要な各種の内部クロ
ツクを発生し、また、端子SYNCにプロセツサの
内部動作と外部システムの同期用のクロツクを出
力する。
40 is a control circuit for controlling interrupts to processor operations and input/output operations;
The shift registers 32 and 33 are enabled at the rising edge of the SIEN and SOEN input signals, interrupt the program at the falling edge of each signal, and the registers 30 and 33 are enabled at the rising edge of the input/output signal to the terminal IE.
31 and interrupts the program at the falling edge of the signal. 41 is a function control circuit that controls the processor operation according to signals from an external control device (for example, a microcomputer); for example, a DMA transfer mode acknowledgment signal is sent from the terminal TXAK, and a parallel input/output data A signal indicating the transfer direction, a signal indicating that this processor has been selected by an external device from terminal CS,
Test operation mode specification signal from terminal TEST,
Receives a reset signal from RST and an operation control signal from an external device from terminals F 0-3 , respectively.
Outputs parallel data transfer request signal from TxRQ.
The terminal Bit I/O indicates a bidirectional input/output terminal for inputting and outputting data one bit at a time. 42 is a clock pulse generation circuit, which receives the basic clock from an external circuit via the terminal OSC, generates various internal clocks necessary for processor operation based on this, and also outputs the internal operation of the processor and external clocks to the terminal SYNC. Outputs the clock for system synchronization.

次に第4図、第5図、第6図により乗算器14
と加減算器15について更に説明する。
Next, according to FIGS. 4, 5, and 6, the multiplier 14
The adder/subtractor 15 will be further explained.

乗算器14には、第4図に示す如くXバス2
1,Yバス22の16ビツトのデータが入力され
る。これらのデータはメモリ5,6、汎用レジス
タ7あるいはデータバス20から与えられる。第
5図Aに示すように、これらのデータは下位4ビ
ツトが指数部、上位12ビツトが仮数部であり、斜
線を施して示したそれぞれの部分の最上位ビツ
ト、すなわち23.215の位置にあるビツトがサイン
ビツトとなつている。また、小数点は215と214
の間にある。第4図に示如く、Xバス21とYバ
ス22から与えられた指数部データと仮数部デー
タは、それぞれレジスタ51,52,53および
54に保持され、レジスタ51,52の指数部デ
ータは加算回路55によつて加算され4ビツトの
出力レジスタ56を介してPバス24に出力され
る。一方、レジスタ53,54の仮数部データ
は、通常の固定小数点演算の場合と同様の回路構
成をもつ乗算回路57に入力され、乗算結果は上
位16ビツトが出力レジスタ58を介してPバス2
4に出力される。つまり、乗算器14の演算出力
は、第5図Bに示す如く、下位4ビツトの指数部
と上位16ビツトの仮数部とからなる20ビツトのデ
ータとなつて加減算器15に入力される。尚、レ
ジスタ52,54の出力はXバス25に、またレ
ジスタ51,53の出力はYバス26に送出さ
れ、それぞれ16ビツトのデータとして加減算器1
5に与えられる。
The multiplier 14 has an X bus 2 as shown in FIG.
1, 16-bit data of the Y bus 22 is input. These data are given from memories 5 and 6, general register 7, or data bus 20. As shown in FIG. 5A, in these data, the lower 4 bits are the exponent part, the upper 12 bits are the mantissa part, and the most significant bit of each part is shown with diagonal lines, that is, 2 3 . 2 15 . The bit in this position is the sign bit. Also, the decimal point is between 2 15 and 2 14 . As shown in FIG. 4, the exponent data and mantissa data given from the X bus 21 and the Y bus 22 are held in registers 51, 52, 53 and 54, respectively, and the exponent data in registers 51 and 52 are added together. The sum is added by the circuit 55 and output to the P bus 24 via the 4-bit output register 56. On the other hand, the mantissa data of the registers 53 and 54 are input to a multiplication circuit 57 having a circuit configuration similar to that of normal fixed-point arithmetic, and the higher 16 bits of the multiplication result are transferred to the P bus 2 through the output register 58.
4 is output. That is, the calculation output of the multiplier 14 is input to the adder/subtracter 15 as 20-bit data consisting of the lower 4 bits of the exponent part and the higher 16 bits of the mantissa part, as shown in FIG. 5B. Note that the outputs of registers 52 and 54 are sent to the X bus 25, and the outputs of registers 51 and 53 are sent to the Y bus 26, and each is sent to the adder/subtractor 1 as 16-bit data.
given to 5.

第6図A,Bに加減算器15の構成を示す。 The configuration of the adder/subtractor 15 is shown in FIGS. 6A and 6B.

第6図Aに示すように、加減算器にはバス2
0,24〜27を介して、データD,P,X,
Y,Aが入力される。これらのうち、データP,
Y,Dは選択回路60に入力され、制御信号S1
指定された1つのデータが選択される。また、デ
ータA,Xは選択回路61に入力され制御信号S2
で指定された1つのデータが選択される。ここ
で、入力データD,X,Yはそれぞれ第5図Aに
示した16ビツトデータである。後で述べるよう
に、これらの16ビツトデータが指定されたとき、
選択回路60,61はこれらのデータを第5図B
に示した20ビツトデータに変換して出力する構成
となつている。このビツト変換は、入力データ
D,X,Yが固定小数点データから浮動小数点デ
ータかによつて異なり、変換動作は制御信号S3
よつて指定される。これによつて浮動小数点演算
型の加減算器で固定小数点表示の入力データも処
理できるようになつている。尚、制御信号S1
S2,S3…Soはプログラム中の命令語に対応して制
御回路4から出力される。
As shown in FIG. 6A, the adder/subtractor has bus 2.
0, 24 to 27, data D, P, X,
Y and A are input. Among these, data P,
Y and D are input to the selection circuit 60, and one data designated by the control signal S1 is selected. Further, the data A and X are input to the selection circuit 61 and the control signal S 2
One piece of data specified by is selected. Here, the input data D, X, and Y are each 16-bit data shown in FIG. 5A. As described later, when these 16-bit data are specified,
The selection circuits 60 and 61 select these data as shown in FIG.
It is configured to convert and output the 20-bit data shown in . This bit conversion differs depending on whether the input data D, X, Y are fixed point data or floating point data, and the conversion operation is specified by the control signal S3 . This allows the floating-point type adder/subtractor to process input data expressed in fixed-point numbers. Furthermore, the control signal S 1 ,
S 2 , S 3 . . . S o are output from the control circuit 4 in response to command words in the program.

選択回路60からの出力データをβ(指数部βE
仮数部βM)、選択回路61からの出力データをα
(指示部αE、仮数部αM)とすると、指数部データ
αEは選択回路62を介して比較回路63に入力さ
れ、指数部データβEと大小比較される。また、こ
れらの指数部データαE、βEはそれぞれ引算回路6
4と選択回路65にも入力される。仮数部データ
αMはネゲート回路66を介して選択回路67,
68に入力され、仮数部データβMは直接選択回
路67,68に入力される。ネゲート回路66
は、この実施例の場合、データαとβとの引算を
後述の加算器構成のALU75により実現するた
めに設けられたものであり、加算演算の場合には
データαMはネゲート回路を素通りする。上記選
択回路65,67,68は、それぞれ比較回路6
3の出力信号に応じて2つの入力のうちの一方を
選択する。選択回路65の出力はラツチ回路71
に、選択回路67の出力はシフト回路69を介し
てラツチ回路72に、また選択回路68の出力は
ラツチ回路73にそれぞれタイミング信号Cでラ
ツチされる。引算回路64も上記比較回路63の
出力によつて制御され、比較結果に応じて入力
αE、βEの大きい方から小さい方を引算するよう動
作する。シフト回路69は、選択回路70を介し
て得られる上記引算回路64の出力に応じたビツ
ト数だけ、入力データを右方向にシフト動作す
る。このシフト回路69の動作は、選択回路70
に入力されるもう1つのデータEによつても制御
され、シフトビツト数の選択は制御信号S7によつ
て行われる。
The output data from the selection circuit 60 is β (exponential part β E ,
the mantissa part β M ), and the output data from the selection circuit 61 as α
(instruction part α E , mantissa part α M ), the exponent part data α E is inputted to the comparison circuit 63 via the selection circuit 62 and compared in magnitude with the exponent part data β E. Moreover, these exponent part data α E and β E are respectively input to the subtraction circuit 6
4 and is also input to the selection circuit 65. The mantissa data α M is passed through a negation circuit 66 to a selection circuit 67,
68, and the mantissa data β M is directly input to selection circuits 67 and 68. Negate circuit 66
In the case of this embodiment, is provided to realize subtraction between data α and β using the ALU 75 having an adder configuration described later, and in the case of an addition operation, data α M passes through the negate circuit. do. The selection circuits 65, 67, and 68 each include the comparison circuit 6.
One of the two inputs is selected depending on the output signal of No. 3. The output of the selection circuit 65 is the latch circuit 71.
Then, the output of the selection circuit 67 is latched via a shift circuit 69 to a latch circuit 72, and the output of the selection circuit 68 is latched to a latch circuit 73 using a timing signal C. The subtraction circuit 64 is also controlled by the output of the comparison circuit 63, and operates to subtract the smaller one of the inputs α E and β E from the larger one according to the comparison result. The shift circuit 69 shifts the input data to the right by the number of bits corresponding to the output of the subtraction circuit 64 obtained via the selection circuit 70. The operation of this shift circuit 69 is controlled by the selection circuit 70.
The selection of the number of shift bits is performed by the control signal S7 .

ラツチ回路72,73の出力eA,eBは、第6図
Bに示すように、制御信号S8で動作する固定小数
点演算型の加算器(ALU)75に入力され、加
算結果UMは左方向シフト回路76に与えられる。
一方、ラツチ回路71の出力γは定数加算回路7
7と、引算回路78の一方の入力端子に入力され
る。79は加算器75の出力UMを判定する零検
出回路であり、補数表示で与えられる加算器の出
力UMが正数の場合、UMの最上位にあるサインビ
ツトに続いた“0”ビツトの連続個数をカウント
する。UMが負数の場合には、上記サイドビツト
に続く“1”ビツトの連続個数をカウントする。
上記零検出回路79の出力θ1はデータの正規化お
よびオーバフロー対策のため設けられた出力補正
回路80を介してシフト回路76に与えられ、こ
のシフト回路によるデータのシフトビツト数を決
定する。また上記零検出回路79の出力θ1は、引
算回路78の他方の入力端子にも入力され、この
引算回路の出力UEは出力補正回路80を介して
累算器16の指数部16Xに入力される。上記累
算器16の仮数部16Mには、出力補正回路80
において補正された上記シフト回路76からの出
力データL′Mが入力される。
The outputs e A and e B of the latch circuits 72 and 73 are inputted to a fixed-point arithmetic type adder (ALU) 75 operated by a control signal S8, as shown in FIG. 6B , and the addition result U M is The signal is applied to a leftward shift circuit 76.
On the other hand, the output γ of the latch circuit 71 is
7 and one input terminal of the subtraction circuit 78. 79 is a zero detection circuit that determines the output U M of the adder 75, and when the output U M of the adder given in complement representation is a positive number, the “0” bit following the sign bit at the top of U M is detected. Count the number of consecutive pieces. If U M is a negative number, count the number of consecutive "1" bits following the side bit.
The output θ 1 of the zero detection circuit 79 is applied to the shift circuit 76 via an output correction circuit 80 provided for data normalization and overflow prevention, and determines the number of bits to shift data by this shift circuit. The output θ 1 of the zero detection circuit 79 is also input to the other input terminal of the subtraction circuit 78, and the output U E of this subtraction circuit is sent to the exponent part 16X of the accumulator 16 via the output correction circuit 80. is input. The mantissa part 16M of the accumulator 16 includes an output correction circuit 80.
The output data L' M from the shift circuit 76 corrected in the above is input.

出力補正回路80は、加算器75から出力され
るオーバーフロー検出信号OVFと引算回路78
から出力されるアンダフロー検出信号UNFとに
応じて零検出回路79の出力θ1と定数加算回路7
7の出力θ2とのいずれかを選択する選択回路81
と、プログラムによる制御信号S9に応じて上記選
択回路81の出力とプログラムで与えられたデー
タFとのいずれかをシフト回路76にシフトビツ
ト数指示信号θとして与える選択回路82と、オ
ーバーフロー信号OVFが“1”のとき引算回路
出力UEに1を加算し、この加算結果LEにもオー
バーフローを生じたとき信号EOVFを出力するイ
ンクリメント回路83と、上記インクリメント回
路83と累算器16の指数部16xとの間に挿入
された指数部補正回路85と、シフト回路76と
上記累算器16の仮数部16Mとの間に挿入され
た仮数部補正回路87と、上記2つの補正回路8
5,87の動作を信号UNFおよびEOVFに応じ
て制御する制御回路89からなつている。
The output correction circuit 80 outputs the overflow detection signal OVF output from the adder 75 and the subtraction circuit 78.
The output θ 1 of the zero detection circuit 79 and the constant addition circuit 7 according to the underflow detection signal UNF output from the
A selection circuit 81 for selecting one of the outputs θ 2 and 7
and a selection circuit 82 which supplies either the output of the selection circuit 81 or the data F given by the program as a shift bit number instruction signal θ to the shift circuit 76 in response to a control signal S9 by the program, and an overflow signal OVF. An increment circuit 83 which adds 1 to the subtraction circuit output U E when it is "1" and outputs a signal EOVF when the addition result L E also overflows, and an exponent of the increment circuit 83 and the accumulator 16. an exponent part correction circuit 85 inserted between the exponent part 16x, a mantissa part correction circuit 87 inserted between the shift circuit 76 and the mantissa part 16M of the accumulator 16, and the two correction circuits 8
It consists of a control circuit 89 that controls the operations of 5 and 87 in accordance with signals UNF and EOVF.

以上の構成からなる加減算器15は次のように
動作する。
The adder/subtractor 15 having the above configuration operates as follows.

第6図Aに示した2つの入力選択回路61,6
0のそれぞれの出力α,βは浮動小数点表示のデ
ータであり、その値は次式で表される。
Two input selection circuits 61, 6 shown in FIG. 6A
The respective outputs α and β of 0 are floating point data, and their values are expressed by the following equation.

α=αM・2〓E β=βM・2〓E …(3) 今、αE>βEの関係にある2つのデータα,βの
加算演算を行う場合を仮定すると、加算結果Z
は、 Z=αM・2〓E+βM・2〓E =〔αM+βM・2-(E-E)〕・2〓E …(3) で与えられる。
α=α M・2〓 E β=β M・2〓 E …(3) Now, assuming that we are performing an addition operation on two data α and β that have a relationship of α E > β E , the addition result Z
is given by Z=α M・2〓 EM・2〓 E = [α MM・2 -(E-E) ]・2〓 E …(3).

比較回路63はαEとβEの大小を比較し、選択回
路65には大きい方の指数部データαEを選択さ
せ、選択回路67には、小さい方の指数部βEと対
応する仮数部データβMを選択させ、選択回路6
8には大きい方の指数部αEと対応する仮数部デー
タαMを選択させ、引算回路64には大きい方の
指数αEから小さい方の指数βEを引くよう制御信号
を与える。加算演算の実行中は、選択回路70は
引算回路64からの出力(αE−βE)を選択してお
り、シフト回路69は選択回路67の出力βE
(αE−βE)ビツトだけ右方向(下位ビツト方向)
にシフトするよう動作する。この結果、ラツチ回
路71,72,73の各出力は、γ=αE、eA
βM・2-(E-E)、eB=αMとなり、eA+eBの演算を行
つた加算器75の出力UMは第(1)式の仮数部を表
す。従つて、この段階での演算値Zは次式で示さ
れる。
The comparison circuit 63 compares the magnitudes of α E and β E , causes the selection circuit 65 to select the larger exponent part data α E , and causes the selection circuit 67 to select the mantissa data corresponding to the smaller exponent part β E. The selection circuit 6 selects data β M.
8 selects the mantissa data α M corresponding to the larger exponent part α E , and a control signal is given to the subtraction circuit 64 to subtract the smaller exponent β E from the larger exponent α E. During execution of the addition operation, the selection circuit 70 selects the output (α E - β E ) from the subtraction circuit 64, and the shift circuit 69 selects the output β E from the selection circuit 67 (α E - β E ). Just the bits to the right (toward the lower bits)
It operates to shift to. As a result, the outputs of the latch circuits 71, 72, 73 are γ=α E , e A =
β M ·2 −(E−E) , e B = α M , and the output U M of the adder 75 that has performed the operation of e A +e B represents the mantissa part of equation (1). Therefore, the calculated value Z at this stage is expressed by the following equation.

Z=UM・2r …(4) 零検出回路79と左方向シフト回路76は、加
算器出力UMをその絶対値が最大となるよう正規
化するためのものである。第7図Aに示す如く、
零検出回路79によつてデータUMのサインビツ
トに続く(小数点以下の)連続する“0”の個数
θ1を検出し、シフト回路76でデータUMをθ1
ツトだけ左側(最上位ビツト側)にシフトすれ
ば、絶対値が最大の仮数部データLMが得られる。
UMが負数の場合には、第7図Bの如く、連続す
る“1”の個数だけシフトすればよい。この場
合、指数部データγについては、引算回路78に
よつて(γ−θ1)の演算を行い、その出力UM
正規化された指数値とする。データUMにオーバ
ーフローが生じていなければ、インクリメント回
路83の出力LEは正規化された上記指数値UE
等しくなり、正規化の処理は次式で表すことがで
きる。
Z=U M ·2 r (4) The zero detection circuit 79 and the leftward shift circuit 76 are for normalizing the adder output U M so that its absolute value becomes maximum. As shown in Figure 7A,
The zero detection circuit 79 detects the number θ 1 of consecutive “0”s (below the decimal point) following the sign bit of the data U M , and the shift circuit 76 shifts the data U M by θ 1 bits to the left (most significant bit side). ), the mantissa data L M with the maximum absolute value can be obtained.
If U M is a negative number, it is only necessary to shift by the number of consecutive "1"s as shown in FIG. 7B. In this case, for the exponent part data γ, the subtraction circuit 78 performs the calculation (γ-θ 1 ), and the output U M is taken as the normalized exponent value. If no overflow occurs in the data U M , the output L E of the increment circuit 83 will be equal to the normalized exponent value U E , and the normalization process can be expressed by the following equation.

Z=〔UM・2〓1〕・2(r-1)=LM・2LE …(5) 指数部γの大きさを4ビツトとすると、2の補
数表示によつてγが表し得る値は〔+7γ−
8〕の範囲に制限される。従つて上記仮数部デー
タの正規化の際、零検出回路の検出値θ1だけ完全
にデータUMを左方向にシフトしようとすると、
指数部側の(γ−θ1)の値が−8よりも小さくな
り、引算回路にアンダーフローを生ずる場合があ
る。このとき(γ−θ1)の演算を行う引算回路7
8からは、データのアンダーフローを示す信号
(ボロー信号)UNFで発生される。第6図Bの回
路では、上記信号UNFが発生したとき、選択回
路81が入力θ1に代えて定数加算回路77の出力
θ2を選択し、上記定数加算回路77が指数部のデ
ータγに定数「8」を加えた値をデータθ2として
出力するようにしてある。このようにすれば、例
えばγの値が「−5」のときθ2の値は「3」とな
るから、仮数部データUMのシフトビツト数は3
ビツトに制限され、指数部の正規化後の値が最小
値「−8」に留まる。信号UNFが生じたとき指
数部を「−8」にする操作は、後で第11図で説
明する指数部補正回路85によつて行われる。
Z=[U M・2〓 1 ]・2 (r-1) =L M・2 LE …(5) If the size of the exponent part γ is 4 bits, γ can be expressed by two's complement representation. The value obtained is [+7γ−
8]. Therefore, when normalizing the mantissa data above, if we try to completely shift the data U M to the left by the detected value θ 1 of the zero detection circuit, we get
The value of (γ-θ 1 ) on the exponent side may become smaller than -8, causing an underflow in the subtraction circuit. At this time, the subtraction circuit 7 that performs the calculation of (γ−θ 1 )
From 8 onwards, a signal (borrow signal) indicating data underflow is generated as UNF. In the circuit of FIG. 6B, when the signal UNF is generated, the selection circuit 81 selects the output θ 2 of the constant addition circuit 77 in place of the input θ 1 , and the constant addition circuit 77 selects the data γ of the exponent part. The value obtained by adding the constant "8" is output as data θ 2 . If we do this, for example, when the value of γ is "-5", the value of θ 2 will be "3", so the number of shift bits of the mantissa data U M will be 3.
The normalized value of the exponent remains at the minimum value "-8". The operation of setting the exponent part to "-8" when the signal UNF occurs is performed by an exponent part correction circuit 85, which will be explained later with reference to FIG.

加算器75の演算結果UMに、第8図A,Bに
示す如く、オーバーフローを生じた場合、キヤリ
ー出力にデータの真の符号が現われ、サインビツ
トの位置に数値の最上位のビツトが現われてい
る。従つてこの場合には、オーバーフロ検出信号
OVFによつて、選択回路81と零検出回路79
の動作を停止させ、シフト回路76に1ビツト右
シフト動作をさせ、インクリメント回路83に
UE(=γ)+1の動作をさせ、データZを次式の
ように操作すればよい。
If an overflow occurs in the calculation result U M of the adder 75, as shown in FIGS. 8A and B, the true sign of the data appears in the carry output, and the most significant bit of the numerical value appears in the sign bit position. There is. Therefore, in this case, the overflow detection signal
By OVF, selection circuit 81 and zero detection circuit 79
, the shift circuit 76 is caused to shift right by 1 bit, and the increment circuit 83 is caused to shift to the right by 1 bit.
It is sufficient to perform the operation of U E (=γ)+1 and manipulate the data Z as shown in the following equation.

Z=〔UM・2-1〕・2(+1) …(6) 上記の操作を行うシフト回路76の1例を第9
図に示す。この回路は、シフトビツト数指示デー
タθの各ビツトθ3〜θ0に対応した8ビツトのシフ
タ761、4ビツトのシフタ762、2ビツトの
シフタ763および1ビツトのシフタ764から
なり、各シフタのそれぞれの信号ラインのスイツ
チSW3〜SW0は、対応する制御ビツトθ3〜θ0
“1”のとき下位ビツト側の接点に接続される。
また、1ビツトシフタ764の各スイツチSW0
は、オーバーフロー検出信号OVFが“1”のと
き上位ビツト側の接点に接続され、サインビツト
の出力線L19がキヤリー信号入力端子765と接
続されて、上述したデータの1ビツト右シフト動
作を実現する。
Z=[U M・2 -1 ]・2 (+1) ...(6) An example of the shift circuit 76 that performs the above operation is shown in the ninth
As shown in the figure. This circuit consists of an 8-bit shifter 761, a 4-bit shifter 762, a 2-bit shifter 763, and a 1-bit shifter 764, each corresponding to each bit θ 3 to θ 0 of the shift bit number instruction data θ. The switches SW 3 to SW 0 of the signal line are connected to the contacts on the lower bit side when the corresponding control bits θ 3 to θ 0 are “1”.
In addition, each switch SW 0 of the 1-bit shifter 764
is connected to the contact on the upper bit side when the overflow detection signal OVF is "1", and the output line L19 of the sign bit is connected to the carry signal input terminal 765, realizing the above-mentioned 1-bit right shift operation of the data. .

第6図の回路で、加算器75のオーバーフロー
検出信号OVFが“1”となつたとき、インクリ
メント回路83による(γ+1)の演算結果にも
オーバーフローが生ずる場合がある。この場合に
は、演算結果Z(=α+β)にオーバーフローを
生じたことを意味し、このまま積和演算を続行す
れば、累算器16に得られる出力データの絶対値
は第10図Aの如く変化し、全く無意味な値とな
る。
In the circuit shown in FIG. 6, when the overflow detection signal OVF of the adder 75 becomes "1", an overflow may also occur in the calculation result of (γ+1) by the increment circuit 83. In this case, it means that an overflow has occurred in the calculation result Z (= α + β), and if the product-sum calculation continues as it is, the absolute value of the output data obtained from the accumulator 16 will be as shown in FIG. 10A. It changes and becomes a completely meaningless value.

制御回路89と補正回路85,87は、演算結
果Zに上記オーバーフローが生じたとき、第10
図Bに示すように、出力データの絶対値を正ある
いは負の最大値に固定するよう動作する回路であ
り、その具体的な構成例を第11図に示す。
When the above-mentioned overflow occurs in the calculation result Z, the control circuit 89 and the correction circuits 85 and 87
As shown in FIG. B, this is a circuit that operates to fix the absolute value of output data to the maximum positive or negative value, and a specific example of its configuration is shown in FIG.

第11図において、指数部補正回路85は、入
力ビツトL0〜L3に対応した2入力ANDゲート8
50〜853と2入力ORゲート860〜863
からなり、各ビツト信号はこれらのゲートを介し
て累算器16x側に出力される。指数部データの
サインビツトL3が入力されるANDゲート853
の他方の入力端子には、インクリメント回路83
から出力されるオーバーフロー検出信号EOVFの
反転信号が入力され、ORゲート863の他方の
入力端子には引算回路78からのアンダーフロー
検出信号UNFが入力されている。また、データ
ビツトL0〜L2の入力されるANDゲート850〜
852のそれぞれの他方の入力端子には信号
UNFの反転信号が入力され、ORゲート860〜
862の他方の入力端子には信号EOVFが入力さ
れている。信号EOVFとUNFとは同時に“1”
にはなり得ないため、指数部補正回路85の出力
は、信号EOVFが“1”のとき〔0111〕=+7と
なつて指数部を最大値にする。また、信号UNF
が“1”のときは〔1000〕=−8となり、前述の
θ=θ2のときの指数値を満足する。
In FIG. 11, the exponent part correction circuit 85 includes a two-input AND gate 8 corresponding to input bits L0 to L3 .
50-853 and 2-input OR gate 860-863
Each bit signal is output to the accumulator 16x via these gates. AND gate 853 into which the sign bit L3 of the exponent part data is input
An increment circuit 83 is connected to the other input terminal of
An inverted signal of the overflow detection signal EOVF outputted from the subtraction circuit 78 is inputted to the other input terminal of the OR gate 863, and an underflow detection signal UNF from the subtraction circuit 78 is inputted to the other input terminal of the OR gate 863. Furthermore, AND gates 850 to 850 to which data bits L 0 to L 2 are input
The other input terminal of each of the 852 has a signal
The inverted signal of UNF is input, and the OR gate 860~
The signal EOVF is input to the other input terminal of 862. Signals EOVF and UNF are “1” at the same time
Therefore, when the signal EOVF is "1", the output of the exponent part correction circuit 85 becomes [0111]=+7, making the exponent part the maximum value. Also, the signal UNF
When is "1", [1000]=-8, which satisfies the exponent value when θ=θ 2 described above.

一方、仮数部補正回路87は、サインビツト
L19をそのまま出力し、データビツトL4〜L18をそ
れぞれ2入力ORゲート871〜87N、2入力
ANDゲート881〜88Nを介して出力するよ
うになつている。各ORゲートの他方の入力には
制御回路89のANDゲート891の出力が与え
られ、各ANDゲートの他方の入力端子には制御
回路89のNANDゲート892の出力が与えら
れている。信号EOVFが“1”のとき、仮数部デ
ータが正の値、すなわちサインビツトL19が“0”
ならばANDゲート891とNANDゲート892
の出力が共に“1”となり補正回路87の出力は
正の最大値〔0111…11〕となる。また、サインビ
ツトL19が“1”ならば、NANDゲート892の
出力が“0”となるため、補正回路87の出力は
負の最大値〔1000…00〕となる。信号EOVFが
“1”のとき、これらの補正回路85,86は入
力データLE,LMをそのままデータL′E,L′Mとし
て出力する。これらの出力データL′E,L′Mは累算
器16、スイツチ回路17を介してAバス27に
出力され、加減算器15の選択回路61に帰還さ
れる。
On the other hand, the mantissa correction circuit 87
Outputs L19 as is, and outputs data bits L4 to L18 to 2-input OR gates 871 to 87N, 2-inputs, respectively.
It is configured to output via AND gates 881 to 88N. The output of the AND gate 891 of the control circuit 89 is given to the other input of each OR gate, and the output of the NAND gate 892 of the control circuit 89 is given to the other input terminal of each AND gate. When the signal EOVF is “1”, the mantissa data is a positive value, that is, the sign bit L19 is “0”.
Then AND gate 891 and NAND gate 892
Both outputs become "1", and the output of the correction circuit 87 becomes the maximum positive value [0111...11]. Furthermore, if the sign bit L19 is "1", the output of the NAND gate 892 is "0", and therefore the output of the correction circuit 87 is the maximum negative value [1000...00]. When the signal EOVF is "1", these correction circuits 85 and 86 output the input data L E and L M as they are as data L' E and L' M. These output data L' E and L' M are output to the A bus 27 via the accumulator 16 and the switch circuit 17, and are fed back to the selection circuit 61 of the adder/subtractor 15.

以上の動作説明から、本発明の構成の一部をな
すデイジタル信号処理プロセツサでは、乗算器1
4と加減算器15がそれぞれ浮動小数点演算でき
ることが判る。ここで、Xバス21またはYバス
22から乗算器14へのデータ入力および乗算器
14またはAバス27から加減算器(ALU)1
5へのデータ入力は、入力データのビツト数と受
取り側回路のデータビツト数が一致しているた
め、第12図A,Bに示す如く、データ間でのビ
ツト位置の変更はない。しかしながら、Xバス2
5、Yバス26、Dバス20からの16ビツトデー
タを加減算器15に取り込む場合には、仮数部デ
ータのビツト数が合わないため、加減算器の入力
選択回路60,61において第12図Cに示す如
く、仮数部入力データMの下位に4ビツトに
“0”を追加する操作を必要とする。また、累算
器(ACC)16に得られた20ビツトの加減算器
出力を16ビツトのDバス20に出力する際には、
スイツチ回路17において第12図Dに示す如
く、仮数部Mの下位4ビツトのデータを捨て、指
数部4ビツト、仮数部12ビツトのデータに変換す
る操作を必要とする。
From the above explanation of the operation, it can be seen that in the digital signal processing processor that forms part of the configuration of the present invention, the multiplier 1
4 and the adder/subtractor 15 can each perform floating point operations. Here, data input from the X bus 21 or Y bus 22 to the multiplier 14 and from the multiplier 14 or the A bus 27 to the adder/subtractor (ALU) 1
Since the number of input data bits and the number of data bits of the receiving circuit match when inputting data to the circuit 5, there is no change in the bit position between the data, as shown in FIGS. 12A and 12B. However, X bus 2
5. When the 16-bit data from the Y bus 26 and the D bus 20 is taken into the adder/subtractor 15, the number of bits of the mantissa data does not match, so the input selection circuits 60, 61 of the adder/subtractor input the 16-bit data as shown in FIG. As shown, it is necessary to add "0" to the lower 4 bits of the mantissa input data M. Also, when outputting the 20-bit adder/subtractor output obtained from the accumulator (ACC) 16 to the 16-bit D bus 20,
In the switch circuit 17, as shown in FIG. 12D, it is necessary to discard the lower 4 bits of the mantissa part M and convert it into data of 4 bits for the exponent part and 12 bits for the mantissa part.

本発明の構成の一部をなすデイジタル信号処理
プロセツサでは、モデムの実現を容易にするた
め、ダイナミツクレンジを大きくする目的で上述
したデータの変換動作を行う入力選択回路60,
61および出力スイツチ回路17を更に工夫し、
プログラムの指定によりプロセツサが固定小数点
演算も実行できるようにしている。
In the digital signal processing processor that forms part of the configuration of the present invention, in order to facilitate implementation of a modem, an input selection circuit 60 that performs the data conversion operation described above for the purpose of increasing the dynamic range;
61 and the output switch circuit 17 are further devised,
The processor can also perform fixed-point operations as specified by the program.

固定小数点データX,Yの乗算は乗算器14内
の仮数部データ乗算回路57において行われる。
この場合は第12図Aに示す如く、16ビツトの入
力データX,Yのうち仮数部入力レジスタ53,
54に入る上位12ビツトが有効データとして扱わ
れる。一方、固定小数点データの加減算の際に
は、プログラムでの指数により加減算器15内の
シフト回路69,76のシフト動作を停止させ、
この状態で得られた仮数部の演算結果を利用す
る。シフト回路69の動作停止は、固定小数点デ
ータの演算命令が第6図Aのデータ線Eに数値
「0」のデータを与え、選択回路70が上記デー
タ線Eからの入力を選択するように制御信号S7
発生するようにすればよい。シフト回路76の動
作停止は、第6図Bのデータ線Fに数値「0」の
データを与え、選択回路82が上記データ線Fか
らの入力を選択するよう制御信号S9を発生するよ
うにすればよい。
Multiplication of fixed point data X and Y is performed in a mantissa data multiplication circuit 57 within the multiplier 14.
In this case, as shown in FIG. 12A, the mantissa input register 53,
The upper 12 bits of 54 are treated as valid data. On the other hand, when adding or subtracting fixed-point data, the shift operation of the shift circuits 69 and 76 in the adder/subtractor 15 is stopped according to the exponent in the program.
The mantissa calculation result obtained in this state is used. The operation of the shift circuit 69 is stopped by controlling the fixed point data arithmetic instruction to give the numerical value "0" data to the data line E in FIG. 6A, and the selection circuit 70 to select the input from the data line E. The signal S7 may be generated. To stop the operation of the shift circuit 76, a numerical value "0" is given to the data line F in FIG. 6B, and a control signal S9 is generated so that the selection circuit 82 selects the input from the data line F. do it.

上記固定小数点データの加減算において、乗算
器14またはAバスから加減算器15へのデータ
入力は、第13図Bに示す如く、仮数部の16ビツ
トのデータを浮動小数点演算の場合と同様に送り
込めばよい。Xバス、Yバス、Dバスからのデー
タ入力は、第13図Cの如く、全ビツトを仮数部
に入れ、累算器(ACC)に得られた仮数部デー
タは、第13図Dに示す如く、全ビツトをDバス
20に出力される。
In addition and subtraction of the above fixed-point data, the data input from the multiplier 14 or the A bus to the adder/subtractor 15 is as shown in FIG. Bye. Data input from the X bus, Y bus, and D bus puts all bits into the mantissa part as shown in Figure 13C, and the mantissa data obtained by the accumulator (ACC) is shown in Figure 13D. Thus, all bits are output to the D bus 20.

第14図は上述したビツト変換機能を備えた加
減算器の入力選択回路60の具体例を示す。この
回路図で、P0〜P19、Y0〜Y15、D0〜D15はそれぞ
れPバス24、Yバス26、Dバス20からの入
力データの各ビツトを示し、これらのうちデータ
Pの指数部P0〜P3はスイツチ601に入力され、
スイツチ601の4つの出力端子はスイツチ60
3の端子C0〜C3に接続される。データY、Dの
各ビツトとデータPの仮数部のビツトP4〜P19
スイツチ602に入力され、スイツチ602の上
位12ビツトの出力端子はデータβの上位ビツトの
出力線β8〜β19に接続され、下位4ビツトの出力
端子はスイツチ603の端子C4〜C7およびスイ
ツチ601の他方の入力端子に接続されている。
スイツチ603はデータβの下位ビツトの出力線
β0〜β8に接続される8個の出力端子と、状態
“0”を与える4個の端子604を備えている。
605はプログラムの命令語に応じて制御回路4
から与えられる制御信号S1,S2に基づいて、スイ
ツチ601,602,603の駆動信号60A,
60B,60Cを発生する論理回路である。
FIG. 14 shows a specific example of an input selection circuit 60 for an adder/subtractor having the above-mentioned bit conversion function. In this circuit diagram, P 0 to P 19 , Y 0 to Y 15 , and D 0 to D 15 represent each bit of input data from the P bus 24, Y bus 26, and D bus 20, respectively, and among these, the data P The exponent parts P 0 to P 3 of are input to the switch 601,
The four output terminals of switch 601 are
3 terminals C0 to C3 . Each bit of data Y and D and bits P 4 to P 19 of the mantissa part of data P are input to switch 602, and the output terminal of the upper 12 bits of switch 602 is connected to the output line β 8 to β 19 of the upper bit of data β. The output terminals of the lower 4 bits are connected to terminals C 4 -C 7 of switch 603 and the other input terminal of switch 601.
The switch 603 has eight output terminals connected to the output lines β 08 of the lower bits of the data β, and four terminals 604 that give the state "0".
605 is a control circuit 4 according to the command word of the program.
Based on control signals S 1 and S 2 given from
This is a logic circuit that generates 60B and 60C.

制御信号S1で選択すべきデータが指示される
と、信号60A,60Bによつてスイツチ60
1,602が動作し、データP,Y,Dのいずれ
かが選択される。このとき、制御信号S2が浮動小
数点演算を指示していれば、スイツチ603は、
出力線β0〜β3を端子C0〜C3に、出力線β4〜β7を端
子C4〜C7(入力データPが選択されている場合)
または端子604(入力データYまたはDが選択
されている場合)に接続するよう動作する。もし
制御信号S2が固定小数点演算を指示していれば、
入力データに関係なく出力線β0〜β3が端子604
に、β4〜β7が端子C4〜C7に接続される。
When data to be selected is specified by the control signal S1 , the switch 60 is activated by the signals 60A and 60B.
1, 602 operates, and one of data P, Y, and D is selected. At this time, if the control signal S2 instructs floating point arithmetic, the switch 603
Output lines β 0 to β 3 to terminals C 0 to C 3 , output lines β 4 to β 7 to terminals C 4 to C 7 (when input data P is selected)
Alternatively, it operates to connect to terminal 604 (if input data Y or D is selected). If the control signal S 2 indicates fixed-point arithmetic, then
Output lines β 0 to β 3 are terminals 604 regardless of input data.
, β 4 to β 7 are connected to terminals C 4 to C 7 .

第15図はもう1つの入力選択回路61の具体
的な回路構成を示す。この回路は、入力がAバス
とXバスの2種類となつている点を除いて第14
図と同様であり、説明は省略する。
FIG. 15 shows a specific circuit configuration of another input selection circuit 61. This circuit is the 14th circuit, except that there are two types of inputs: A bus and X bus.
It is the same as the figure, and the explanation will be omitted.

第16図は、累算器16に接続されるスイツチ
回路17の具体的な回路構成を示す。この回路に
おいて、累算器からの20ビツトの出力G0〜G19
スイツチ171の入力端子入力される。スイツチ
171は、データバス20の各信号線D0〜D15
接続された16個の出力端子を有し、入力端子と出
力端子との接続は論理回路172の出力信号17
A,17Bで制御される。プログラムの命令によ
る制御信号S2が浮動小数点演算を示す場合、スイ
ツチ171は信号17Bに制御されて出力側の下
位4ビツトの信号線D0〜D3を入力信号線G0〜G3
と接続し、固定小数点演算の場合にはD0〜D3
G4〜G7に接続する。信号17Aはデータバス2
0への上位ビツトデータの出力を制御する。
FIG. 16 shows a specific circuit configuration of the switch circuit 17 connected to the accumulator 16. In this circuit, the 20-bit output G 0 -G 19 from the accumulator is input to the input terminal of switch 171. The switch 171 has 16 output terminals connected to each signal line D 0 to D 15 of the data bus 20, and the connection between the input terminal and the output terminal is the output signal 17 of the logic circuit 172.
It is controlled by A and 17B. When the control signal S2 according to the program command indicates floating point arithmetic, the switch 171 is controlled by the signal 17B to connect the lower 4 bits of the output side signal lines D0 to D3 to the input signal lines G0 to G3.
and connect D 0 to D 3 for fixed-point arithmetic.
Connect to G 4 ~ G 7 . Signal 17A is data bus 2
Controls output of upper bit data to 0.

本発明のデータモデムの一部をなす信号処理プ
ロセツサによれば、上述した固定小数点データあ
るいは浮動小数点データの演算を行えるだけでな
く、浮動小数点形式で得られた演算結果をプログ
ラムの命令により固定小数点形式のデータに変換
したり、その逆に固定小数点形式で与えられたデ
ータを浮動小数点形式のデータに変換して演算を
行うこともできる。この機能は、信号処理プロセ
ツサがデータバス20と入出力インターフエース
30〜33を介して外部装置とデータをやりとり
する際に極めて好都合である。何如なら、信号処
理プロセツサを用いてモデムを構成する場合、外
部装置は固定小数点表示形式でデータを扱つてお
り、もし上記信号処理プロセツサの浮動小数点演
算結果がそのまま出力されるとすれば、プロセツ
サの外部にデータ形式を変換するための特殊な装
置を必要とすることになるからである。
According to the signal processing processor that forms a part of the data modem of the present invention, it is possible not only to perform operations on fixed-point data or floating-point data as described above, but also to convert the operation results obtained in floating-point format into fixed-point data according to program instructions. It is also possible to perform calculations by converting fixed-point format data into floating-point format data. This feature is extremely convenient when the signal processor exchanges data with external devices via the data bus 20 and the input/output interfaces 30-33. When configuring a modem using a signal processing processor, the external device handles data in a fixed-point display format, and if the floating-point calculation results of the signal processing processor are output as they are, the processor's This is because a special device for converting the data format is required externally.

浮動小数点表示から固定小数点表示への変換
(以下、FLFXと言う)は次のようにして行われ
る。
Conversion from floating point representation to fixed point representation (hereinafter referred to as FLFX) is performed as follows.

先ず、累算器16に得られる浮動小数点表示の
データを A=αM・2〓E としたとき、指数部がαE<βEの関係を満足し、仮
数部がβM=0の値をもつデータy1=βM・2〓Eをデ
ータメモリ5あるいは6の特定のアドレスに格納
しておく。このアドレスはFLFXの命令語のアド
レス部と対応させておく。また、この命令語を実
行したとき、選択回路8が上記メモリから読出さ
れたデータyをYバス22に出力し、選択回路6
0が上記Yバスからの入力を選択し、選択回路6
1がAバス27からの入力を選択し、選択回路8
2が入力データF(=「0」)を選択し、出力スイ
ツチ17が入力信号G4〜G19をデータバス20に
接続動作するよう、各種制御信号を発生させる。
First, when the floating-point representation data obtained by the accumulator 16 is A=α M・2〓 E , the exponent part satisfies the relationship α E < β E and the mantissa part has the value β M = 0. Data y 1M ·2〓 E having the value y 1 =β M·2〓 E is stored at a specific address in the data memory 5 or 6. This address is made to correspond to the address part of the FLFX instruction word. Further, when this instruction word is executed, the selection circuit 8 outputs the data y read from the memory to the Y bus 22, and the selection circuit 8 outputs the data y read from the memory to the Y bus 22.
0 selects the input from the Y bus, and selects the selection circuit 6.
1 selects the input from the A bus 27, and the selection circuit 8
2 selects the input data F (="0"), and generates various control signals so that the output switch 17 connects the input signals G 4 to G 19 to the data bus 20.

このようにしておくと、FLFXの命令を実行し
た時2つの浮動小数点データAとy1との間で演算
が行われ、累算器16には、 Z=A+y1 =〔0+αM・2-(E-E)〕・2〓E …(7) の演算結果が得られる。このデータは2〓Eを指数
部の基準値として正規化してあり、データバス2
0に出力される仮数部のデータαM・2-(E-E)を固
定小数点データとして取り扱うことができる。
By doing this, when the FLFX instruction is executed, an operation will be performed between the two floating point data A and y1 , and the accumulator 16 will have Z=A+ y1 =[0+α M・2 - (E-E) 〕・2〓 E …(7) is obtained. This data is normalized using 2〓E as the reference value of the exponent part, and the data bus 2
The mantissa data α M ·2 −(E−E) output as 0 can be handled as fixed-point data.

通常、内部演算結果Aに対してβEの最適値を正
確に知ることはできないので、モデム設計者はβE
の値を若干大きめに選んでおく方がよい。しか
し、βEの値をあまり大きくすると、固定小数デー
タの精度が低くなることに注意する必要がある。
上記FLFXの実行の際、予めメモリに格納された
変換用データy1の指数部βEよりも演算結果Zの指
数部αEの方が大きくなつた場合は、式(7)の仮数部
オーバーフローを生ずる。この場合、前述した出
力補正回路80の動作によつて、固定小数点デー
タの絶対値を正あるいは負の最大値に固定される
ことができる。
Normally, it is not possible to accurately know the optimal value of β E for the internal calculation result A, so modem designers
It is better to choose a slightly larger value. However, it must be noted that if the value of β E is made too large, the precision of fixed-decimal data will decrease.
When executing FLFX above, if the exponent part α E of the calculation result Z becomes larger than the exponent part β E of the conversion data y 1 stored in the memory in advance, the mantissa part of equation (7) overflows. will occur. In this case, the absolute value of the fixed-point data can be fixed to the maximum positive or negative value by the operation of the output correction circuit 80 described above.

一方、たとえばA/Dから与えられた固定小数
点表示のデータを内部で浮動小数点表示のデータ
に変換する動作は次のようにして行える。先ず、
入力レジスタ31に入力された固定小数点データ
を累算器16に転送する命令を実行する。この命
令では、データバス20を介して選択回路60に
与えられた16ビツトの固定小数点表示データD
を、上記選択回路60の動作により仮数部βM
ビツト位置変換し、選択回路67、シフト回路6
9、ラツチ回路72、加算器75、シフト回路7
6、補正回路87を介して累算器16の仮数部1
Mに入力させる。この場合、シフト回路69、
加算器75はそれぞれ入力データを素通りさせる
よう制御される。
On the other hand, for example, the operation of internally converting fixed-point data given from an A/D into floating-point data can be performed as follows. First of all,
An instruction to transfer the fixed-point data input to the input register 31 to the accumulator 16 is executed. In this command, 16-bit fixed-point display data D given to the selection circuit 60 via the data bus 20
is converted into the mantissa part β M by the operation of the selection circuit 60, and the selection circuit 67 and the shift circuit 6
9, latch circuit 72, adder 75, shift circuit 7
6. Mantissa part 1 of accumulator 16 via correction circuit 87
6 Have M input. In this case, the shift circuit 69,
Each adder 75 is controlled to allow input data to pass through.

次に固定小数点表示から浮動小数点表示に変換
(以下、FXFLと言う)する命令を実行する。こ
の命令実行時には、選択回路61はAバス27か
ら与えられる累算器出力、すなわち上記した固定
小数点データAを出力αM,αEとして選択す。ま
た、選択回路60は、FXFL命令のアドレス部で
指定されたメモリ5あるいは6からYバス26に
読出される変換用データy2を出力βM,βEとして選
択する。この変換用データy2は、例えば仮数部βM
が零であり指数部βEが値〔+7〜−8〕の範囲か
ら選定されて或る基準値を持つている。他の命令
実行時と異なり、FXFL命令実行時には選択回路
62が入力βEを選択するよう制御信号S4を発生さ
せ、比較回路63の2つの入力を共にβEとする。
この場合、仮数部の選択回路67は入力αMを、
選択回路68は入力βMをそれぞれ選択するよう
にし、指数部の選択回路65には入力βEを選択さ
せる。また、制御信号S7により選択回路70に入
力データE=「0」を選択させ、右方向のシフト
回路69のデータシフト動作を抑える。
Next, execute an instruction to convert from fixed-point representation to floating-point representation (hereinafter referred to as FXFL). When this instruction is executed, the selection circuit 61 selects the accumulator output provided from the A bus 27, that is, the fixed point data A described above, as the outputs α M and α E. Further, the selection circuit 60 selects the conversion data y 2 read out to the Y bus 26 from the memory 5 or 6 specified by the address part of the FXFL instruction as the outputs β M and β E. This conversion data y 2 is, for example, the mantissa part β M
is zero, and the exponent part β E is selected from the range of values [+7 to -8] and has a certain reference value. Unlike when executing other instructions, when executing the FXFL instruction, the selection circuit 62 generates a control signal S 4 to select the input β E , and both inputs of the comparison circuit 63 are set to β E.
In this case, the mantissa selection circuit 67 inputs α M as
The selection circuit 68 selects each of the inputs β M , and the exponent part selection circuit 65 selects the input β E. Further, the control signal S7 causes the selection circuit 70 to select input data E=“0”, thereby suppressing the data shift operation of the rightward shift circuit 69.

上記制御動作により、ラツチ回路71,72,
73の出力はγ=βE、eA=αM、eB=0となる。デ
ータeAとeBは加算器75に入力されその加算結果
UM(=αM)は零検出回路79と左方向のシフト回
路76の動作のもとに小数点位置がθ1ビツト移動
し、結果として Z=〔αM・2〓1〕・2(E-1) …(8) で表されるデータか累算器16に得られる。この
式は、固定小数点表示のデータA=αMが指数βE
を基準に正規化され、浮動小数点表示されたこと
を意味している。従つて、命令FXFLで累算器1
6に得られた上記データを用いれば、以後の演算
を浮動小数点形式で行うことができ、ダイナミツ
クレンジの広いフイルタ演算ができる。
By the above control operation, the latch circuits 71, 72,
The outputs of 73 are γ=β E , e AM , and e B =0. Data e A and e B are input to adder 75 and the addition result is
The decimal point position of U M (=α M ) moves by θ 1 bit under the operation of the zero detection circuit 79 and the leftward shift circuit 76, and as a result, Z = [α M・2〓 1 ]・2 (E-1) ...The data expressed by (8) is obtained in the accumulator 16. This formula shows that fixed-point data A = α M is the exponent β E
This means that it has been normalized to the standard and displayed as a floating point number. Therefore, with the instruction FXFL, accumulator 1
By using the above data obtained in step 6, subsequent calculations can be performed in floating point format, and filter calculations with a wide dynamic range can be performed.

尚、入力レジスタ31のデータを一旦累算器1
6にセツトした後、FXFL命令を実行したが、固
定小数点の入力データと変換用データy2をXバス
25とDバス20を利用して加減算器15に入力
することにより、1つの命令で浮動小数点表示へ
のデータ変換を行えるよう設計することもでき
る。
Note that the data in the input register 31 is once transferred to the accumulator 1.
6, the FXFL instruction was executed, but by inputting fixed-point input data and conversion data y2 to the adder/subtractor 15 using the X bus 25 and D bus 20, it was possible to float with one instruction. It can also be designed to convert data to decimal point representation.

本発明のデータモデムを一部をなすデイジタル
信号処理プロセツサは上述したように、固定小数
点、浮動小数点の両形式のデータを取扱え、しか
も浮動小数点表示データの正規化の際に指数部に
アンダーフローを生じた時、指数値を最小値に固
定した正規化操作が行えるため、内部演算データ
の数値が大きい場合には浮動小数点演算形式、小
さい場合は固定小数点演算形式に自動的に演算方
式を切り換えることができ、極めて広いダイナミ
ツクレンジを得ることができ、十分データ用モデ
ムに適用することができる。
As mentioned above, the digital signal processor that forms part of the data modem of the present invention can handle data in both fixed-point and floating-point formats, and moreover, when normalizing floating-point display data, there is an underflow in the exponent part. When this occurs, a normalization operation can be performed that fixes the exponent value to the minimum value, so if the internal calculation data value is large, the calculation method is automatically switched to floating point calculation format, and if it is small, the calculation method is automatically switched to fixed point calculation format. It is possible to obtain an extremely wide dynamic range, and it can be sufficiently applied to data modems.

すなわち、加減算器の内部データが仮数部16ビ
ツト、指数部4ビツトからなる場合、2の補数表
示で指数部γは〔+7〜−8〕の範囲の数値を取
り扱える。全ての演算を浮動小数点形式で処理す
ると、ダイナミツクレンジは第17図に斜線を施
して示した2-8〜27となり、これはビツト数に換
算すると15ビツト分に相当する。本発明によれ
ば、演算データの仮数部に対する正規化ビツト数
θが(γ−θ)<−8の範囲にあるとき、正規化
後の指数LEを−8に固定することによつて、固
定小数点演算に切換れるようになつている。この
ため、第17図に示す如く、ダイナミツクレンジ
は全体で31ビツトとなり、固定、浮動の一方のみ
を用いる場合に比較して取り扱える数値の範囲が
著しく広がる。
That is, when the internal data of the adder/subtractor consists of a mantissa part of 16 bits and an exponent part of 4 bits, the exponent part .gamma. can handle values in the range of [+7 to -8] in two's complement representation. If all operations are processed in floating point format, the dynamic range will be 2 -8 to 27 as shown by hatching in FIG. 17, which corresponds to 15 bits when converted to the number of bits. According to the present invention, when the normalized number of bits θ for the mantissa part of the calculation data is in the range of (γ-θ)<-8, by fixing the normalized exponent L E to -8, It is now possible to switch to fixed-point arithmetic. Therefore, as shown in FIG. 17, the dynamic range is 31 bits in total, and the range of numerical values that can be handled is significantly expanded compared to when only one of the fixed and floating types is used.

第18図は並列動作の1例を示すタイムチヤー
トであり、命令サイクル201で先行フエツチさ
れた命令Aにより、次のサイクル202でデータ
メモリからデータを読出し、乗算器により演算を
行う。命令サイクル203では乗算結果と累算器
のデータ(Aバス出力)との加減算が実行され、
演算結果はサイクル204で累算器に出力され
る。これら4つのステツプの動作は1ステツプず
つずれて各命令サイクルで繰り返され、所定回数
mの積和演算が完了したとき、命令Fにより演算
結果Tがデータバス20に出力され、データメモ
リ5あるいは外部回路に送られる。
FIG. 18 is a time chart showing an example of parallel operation. In the next cycle 202, data is read from the data memory according to the instruction A pre-fetched in the instruction cycle 201, and the multiplier performs an operation. In the instruction cycle 203, addition and subtraction between the multiplication result and the accumulator data (A bus output) are executed.
The result of the operation is output to the accumulator in cycle 204. The operations of these four steps are repeated in each instruction cycle with a one-step shift, and when the product-sum operation has been completed a predetermined number of times m, the operation result T is output to the data bus 20 by the instruction F, and is sent to the data memory 5 or externally. sent to the circuit.

上記パイプライン制御によるプロセツサの並列
動作は乗算器14と加減算器15とを直列的に接
続したこと、乗算と加減算の各動作所要時間がバ
ランスする位置にデータを一時的に保持するレジ
スタ(第6図ではラツチ回路71〜72がこれに
相当する)を配置したことにより可能となつてい
る。
The parallel operation of the processor by pipeline control is achieved by connecting the multiplier 14 and the adder/subtractor 15 in series, and by placing the register (sixth This is made possible by arranging latch circuits 71 and 72 (corresponding to this in the figure).

以上説明したような浮動小数点信号処理プロセ
ツサを用いてモデムを構成すれば、先に示したよ
うに、フイルタの縦続接続が容易に構成できるば
かりでなく、自動等化器の実現が容易にできる。
By configuring a modem using the floating point signal processor as described above, not only can cascaded filters be easily configured, but also an automatic equalizer can be easily realized, as shown above.

音声電話回線で歪んだ波形から自動的に歪量を
推定して元の歪のない波形にする機能をもつ自動
等化器は、第19図に示す如きトランスバーサル
フイルタをその主要部に含んでいる。
An automatic equalizer that has the function of automatically estimating the amount of distortion from a waveform distorted by a voice telephone line and returning it to the original distortion-free waveform includes a transversal filter as shown in Fig. 19 in its main part. There is.

第19図において、出力端子1400に入力さ
れた入力信号Xoは各1標本化遅延回路1200
−1,1200−2,……1200−(N−1)
を通り、それぞれの各遅延回路の出力は各係数
C1,C2…,CNとの乗算回路1100−1,11
00−2,1100−3,……,1100−Nに
よつて乗算され、そのおのおのの出力は加算器1
300で加算されて次式の如き出力Yoが出力端
子1500に得られる。
In FIG. 19, the input signal X o input to the output terminal 1400 is output to each one sampling delay circuit 1200.
-1,1200-2,...1200-(N-1)
, the output of each delay circuit is each coefficient
Multiplication circuit 1100-1, 11 with C 1 , C 2 ..., C N
00-2, 1100-3, ..., 1100-N, and the respective outputs are sent to adder 1.
300 and an output Y o as shown in the following equation is obtained at the output terminal 1500.

YoNi=1 Ci・Xo-i+1 …(9) 第1図に示したように、各係数C1,C2,…CN
は音声回線変動に応じてその値が変化する。
Y o = Ni=1 Ci・X o-i+1 …(9) As shown in Fig. 1, each coefficient C 1 , C 2 , … C N
The value changes according to voice line fluctuations.

上式はN回の積和演算を繰り返し実行する場合
であり、Nが大きく演算のダイナミツクレンジが
狭いとき、しばしばオーバーフローを生じる。
The above equation is a case where the product-sum operation is repeatedly executed N times, and when N is large and the dynamic range of the operation is narrow, overflow often occurs.

このような演算においても浮動小数点演算形式
信号処理プロセツサを用いてモデムを構成すれ
ば、自動等化器でオーバーフローが生じにくくな
り、高性能な自動等化特性が得られる。
Even in such calculations, if the modem is configured using a floating-point signal processing processor, overflows are less likely to occur in the automatic equalizer, and high-performance automatic equalization characteristics can be obtained.

以下、説明した浮動小数点信号処理プロセツサ
による本発明によるデータモデム構成の一実施例
を第20図に示す。
FIG. 20 shows an embodiment of a data modem configuration according to the present invention using the floating point signal processor described above.

第20図において送信部Aは第1図送信部に対
応する機能を上記の浮動小数点信号処理プロセツ
サを用いて実現した例であり、受信部Bは第1図
受信部に対応する機能を実現した例である。
In FIG. 20, the transmitting section A is an example in which the function corresponding to the transmitting section in FIG. 1 is realized using the above-mentioned floating point signal processing processor, and the receiving section B is an example in which the function corresponding to the receiving section in FIG. 1 is realized. This is an example.

第20図Aで入力端子1000に入力された
“1”、“0”の2値信号系列は直列並列変換回路
1510で8ビツトの並列データに変換される。
この並列データはデータバス1600を介して、
1506で示されるたとえば日立製作所のマイク
ロコンピユータMCS6800のデータ入出力端
子に接続される。さらにマイクロコンピユータ1
506はデータバス1600を介して、マイクロ
コンピユータのデータ用メモリおよびプログラム
メモリ1505、および先に説明した浮動小数点
信号処理プロセツサ1502並びにD/A変換部
1503の標本化パルスを作るために固定周波数
発振器および可変分周回路とからなるプログラマ
ブルタイマー1507に接続されている。D/A
1503は他方、信号処理プロセツサ1502の
直列出力端子からの直列信号をアナログ信号とし
て変換し、その出力信号はアナログ低域フイルタ
1009を通し、モデムの出力端子1010に出
力する。
In FIG. 20A, the binary signal series of "1" and "0" inputted to the input terminal 1000 is converted into 8-bit parallel data by the serial/parallel conversion circuit 1510.
This parallel data is transmitted via the data bus 1600.
It is connected to a data input/output terminal 1506 of a microcomputer MCS6800 manufactured by Hitachi, Ltd., for example. Furthermore, microcomputer 1
A fixed frequency oscillator and a fixed frequency oscillator 506 are connected via a data bus 1600 to the data memory and program memory 1505 of the microcomputer, and to the floating point signal processor 1502 and D/A converter 1503 described above. It is connected to a programmable timer 1507 consisting of a variable frequency dividing circuit. D/A
On the other hand, 1503 converts the serial signal from the serial output terminal of signal processing processor 1502 into an analog signal, and the output signal is passed through analog low-pass filter 1009 and output to output terminal 1010 of the modem.

先に説明したように、信号処理プロセツサ15
02では第1図Aの低域フイルタ、変調回路から
なるブロツク1012の機能を処理し、ブロツク
1011の機能はマイクロコンピユータ1506
で処理される。
As explained earlier, the signal processing processor 15
02 processes the function of block 1012 consisting of the low-pass filter and modulation circuit in FIG.
will be processed.

同様にして、第20図Bのモデム受信部のハー
ド構成で入力端子1013に入力されたアナログ
信号はアナログ帯域フイルタ1014を通過し、
AGC回路1015に入力される。AGC回路10
15の出力はA/D1016によりデイジタル信
号に変換される。浮動小数点信号処理プロセツサ
1508はA/D1016からの直列信号を直列
信号入力端子に受け内部に取り込み処理する。マ
イクロコンピユータ1513はモデム受信部のコ
ントロール並びに先に説明したように、第1図B
のブロツク1028,1030の機能を実現して
いる。また、マイクロコンピユータ1513は並
列データバス1601を介して、並列直列変換回
路1507、マイクロコンピユータのデータ用メ
モリおよびプログラムメモリ1512、固定周波
数発振器および可変分周回路とからなるプログラ
マブルタイマー1515に接続され、さらには
AGC回路の制御信号をデータバスを介して与え
るためのラツチ回路1514とに接続されてい
る。プログラマブルタイマーはA/D1016の
標本化パルスを再生している。
Similarly, in the hardware configuration of the modem receiver shown in FIG. 20B, the analog signal input to the input terminal 1013 passes through the analog band filter 1014,
The signal is input to the AGC circuit 1015. AGC circuit 10
The output of 15 is converted into a digital signal by A/D 1016. Floating point signal processing processor 1508 receives the serial signal from A/D 1016 at its serial signal input terminal and internally processes it. The microcomputer 1513 controls the modem receiving section and as described above, the
The functions of blocks 1028 and 1030 are realized. Further, the microcomputer 1513 is connected via a parallel data bus 1601 to a programmable timer 1515 consisting of a parallel-to-serial conversion circuit 1507, a microcomputer data memory and program memory 1512, a fixed frequency oscillator, and a variable frequency dividing circuit. teeth
It is connected to a latch circuit 1514 for providing a control signal for the AGC circuit via a data bus. A programmable timer regenerates the A/D 1016 sampling pulses.

先に示したように、信号処理プロセツサ150
8では第1図Bに示した機能ブロツク1029を
実現している。
As indicated above, the signal processing processor 150
8 implements the functional block 1029 shown in FIG. 1B.

以上、説明したごとく本発明によるデータモデ
ムは浮動小数点演算信号処理プロセツサでフイル
タ、自動等化器等の信号演算処理に適した機能を
実現し、その内部演算のダイナミツクレンジの広
さを利用して、その性能の自動等化器を得、さら
には設計の容易なフイルタが得られ、信号処理演
算に適しない機能をマイクロコンピユータに受け
持たせることにより、モデム機能を信号処理プロ
セツサとマイクロコンピユータで分担させて最適
なモデムを実現することができる。
As explained above, the data modem according to the present invention realizes functions suitable for signal calculation processing such as a filter and an automatic equalizer using a floating point calculation signal processing processor, and utilizes the wide dynamic range of its internal calculations. By using this method, we can obtain an automatic equalizer with the same performance, and furthermore, we can obtain a filter that is easy to design, and by assigning functions that are not suitable for signal processing calculations to the microcomputer, we can perform modem functions by combining the signal processing processor and the microcomputer. An optimal modem can be realized by sharing the functions.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はモデムの機能を示すモデム構成図、第
1図Aはモデム送信部、第2図Bはモデム受信部
を示す。第2図はデイジタルフイルタの縦続接続
構成と各フイルタの入出力信号レベルを示すため
の図、第3図は本発明のモデムに用いる浮動小数
点信号処理プロセツサの全体構成の1例を示すブ
ロツク図、第4図は乗算器14の詳細な構成を示
す図、第5図A,Bはそれぞれ入力データと加減
算器15の内部演算データのビツト形式を説明す
るための図、第6図A,Bは加減算器15の詳細
な構成を示す図、第7図A,Bおよび第8図A,
Bはシフト回路76の動作を説明するための図、
第9図はシフト回路76の1実施例を示す回路
図、第10図A,Bはデータオーバフローについ
ての説明図、第11図は出力補正回路の一部要素
85,87,89の具体的な回路構成を示す図、
第12図A〜Bは上記信号処理プロセツサ各部に
おける浮動小数点データの変化の様子を示す図、
第13図A〜Dは固定小数点データの変化の様子
を示す図、第14図入力選択回路60の具体的な
回路構成を示す図、第15図は入力選択回路61
の具体的な回路構成を示す図、第16図は出力ス
イツチ回路17の具体的な回路構成を示す図、第
17図はデイジタル信号処理プロセツサのダイナ
ミツクレンジを示す図、第18図は上記プロセツ
サの動作の特徴を説明するためのタイムチヤー
ト、第19図は自動等化器の主要部であるトラン
スバーサルフイルタを示す図、第20図は本発明
の1実施例を示すモデムの構成図である。 1000,1013…入力端子、1001…ス
クランブラ、1002…差動符号器、1003,
1004,1020,1021…低域フイルタ、
1005,1006…変調回路、1007…加算
器、1008…D/A変換器、1009…アナロ
グ低域フイルタ、1010,1027…出力端
子、1014…帯域フイルタ、1015…AGC
回路、1016…A/D変換器、1017…電力
計算回路、1018,1019…復調回路、10
22…タイミング抽出回路、1023…自動等化
器、1024…識別判定回路、1025…差動復
号器、1026…デスクランブラ、1,5,6…
メモリ、2…プログラムカウンタ、3…命令レジ
スタ、4…制御回路、7…汎用レジスタ、8…選
択回路、9,10,11,12…レジスタ、14
…浮動小数点演算型の乗算器、15…浮動小数点
型加算器、16…累算器、17…スイツチ回路、
18…コードレジスタ、30…出力レジスタ、3
1…入力レジスタ、32,33,35…シフトレ
ジスタ、36…カウンタ、37…ステータス・レ
ジスタ、40…制御回路、41…フアンクシヨン
制御回路、42…クロツクパルス発生回路。
FIG. 1 is a modem configuration diagram showing the functions of the modem, FIG. 1A shows a modem transmitting section, and FIG. 2B shows a modem receiving section. FIG. 2 is a diagram showing the cascade connection configuration of digital filters and the input/output signal levels of each filter, and FIG. 3 is a block diagram showing an example of the overall configuration of a floating-point signal processing processor used in the modem of the present invention. 4 is a diagram showing the detailed configuration of the multiplier 14, FIGS. 5A and 5B are diagrams for explaining the bit formats of input data and internal calculation data of the adder/subtractor 15, respectively. Diagrams showing the detailed configuration of the adder/subtractor 15, FIG. 7A, B and FIG. 8A,
B is a diagram for explaining the operation of the shift circuit 76;
FIG. 9 is a circuit diagram showing one embodiment of the shift circuit 76, FIGS. 10A and B are explanatory diagrams regarding data overflow, and FIG. 11 is a specific diagram of some elements 85, 87, and 89 of the output correction circuit. A diagram showing the circuit configuration,
12A to 12B are diagrams showing changes in floating point data in each part of the signal processing processor,
13A to 13D are diagrams showing changes in fixed-point data, FIG. 14 is a diagram showing a specific circuit configuration of the input selection circuit 60, and FIG. 15 is a diagram showing the input selection circuit 61.
16 is a diagram showing a specific circuit configuration of the output switch circuit 17, FIG. 17 is a diagram showing the dynamic range of the digital signal processing processor, and FIG. 19 is a diagram showing a transversal filter which is a main part of an automatic equalizer, and FIG. 20 is a configuration diagram of a modem showing one embodiment of the present invention. . 1000, 1013...Input terminal, 1001...Scrambler, 1002...Differential encoder, 1003,
1004, 1020, 1021...low-pass filter,
1005, 1006...Modulation circuit, 1007...Adder, 1008...D/A converter, 1009...Analog low-pass filter, 1010, 1027...Output terminal, 1014...Band filter, 1015...AGC
Circuit, 1016... A/D converter, 1017... Power calculation circuit, 1018, 1019... Demodulation circuit, 10
22...Timing extraction circuit, 1023...Auto equalizer, 1024...Identification judgment circuit, 1025...Differential decoder, 1026...Descrambler, 1, 5, 6...
Memory, 2... Program counter, 3... Instruction register, 4... Control circuit, 7... General purpose register, 8... Selection circuit, 9, 10, 11, 12... Register, 14
...Floating point type multiplier, 15...Floating point type adder, 16...Accumulator, 17...Switch circuit,
18...Code register, 30...Output register, 3
1... Input register, 32, 33, 35... Shift register, 36... Counter, 37... Status register, 40... Control circuit, 41... Function control circuit, 42... Clock pulse generation circuit.

Claims (1)

【特許請求の範囲】 1 伝送すべきデータ信号を第1のデイジタル信
号に変換する第1信号変換部と、上記第1のデイ
ジタル信号を入力とし少なくともフイルタリング
および変調を含む信号処理を行なう第1信号演算
部と、上記第1信号処理演算部の出力をD/A変
換とし伝送信号にする第2信号変換部とを有する
送信部と、 上記伝送信号の受信信号を第2のデイジタル信
号に変換する第3信号変換部と、上記第3信号変
換部の出力を入力とし少なくとも復調、フイルタ
リングおよび等化を含む信号処理を行なう第2信
号演算部と、上記第2信号演算部の出力を上記伝
送すべきデータ信号と同じ信号に変換する第4信
号変換部とを有する受信部とからなるデータモデ
ムにおいて、 上記、第1及び第2信号演算部が、それぞれ指
数表示部と仮数表示部とからなる第1および第2
のデータを供給する手段と、上記第1、第2のデ
ータの指数表示部同士を加算し、仮数表示部同士
を掛算して演算結果を出力する浮動小数点データ
乗算手段と、上記乗算手段の演算結果が1つの入
力として供給される浮動小数点データ加減算手段
と、上記加減算手段による演算結果を保持するた
めのデータ累算手段と、上記データ供給手段と乗
算手段と加減手段とに接続された第1のデータバ
スと、上記累算手段の出力を上記加減算手段に入
力するための第2のデータバスと、上記累算手段
と上記第1、第2のデータバスとの間に接続され
たスイツチング手段と、プログラムに従つて上記
各要素の動作を制御する制御手段と、上記第1の
データバスに接続される入力レジスタ、出力レジ
スタを介した複数個の外部端子を有する第1の信
号処理プロセツサで構成され、 上記第1および第4信号変換部が、上記第1の
信号処理プロセツサと独立に動作し、上記複数の
外部端子を介して接続された第2の信号処理プロ
セツサとで構成されたことを特徴とする信号処理
プロセツサによるデータモデム。 2 第1項記載において、第2の信号処理プロセ
ツサが固定小数点表示のデータをとり扱うプロセ
ツサで構成された信号処理プロセツサーによるデ
ータモデム。 3 第1項記載において、上記第2演算部の第1
の信号処理プロセツサは係数Ci(i=1、…N)、
入力標本値をXoとしたとき YoNi=1 CiXo-1+1のトランスバーサルフイルタの
機能を行うプログラム処理を行うことを特徴とす
る信号処理プロセツサによるデータモデム。
[Claims] 1. A first signal converter that converts a data signal to be transmitted into a first digital signal, and a first signal converter that receives the first digital signal and performs signal processing including at least filtering and modulation. a transmitting unit having a signal calculation unit; a second signal conversion unit that converts the output of the first signal processing calculation unit into a transmission signal; and converts the received signal of the transmission signal into a second digital signal; a third signal converter that inputs the output of the third signal converter and performs signal processing including at least demodulation, filtering, and equalization; In a data modem comprising a receiving section having a fourth signal converting section that converts the data signal to the same signal as the data signal to be transmitted, the first and second signal calculating sections each have an exponent display section and a mantissa display section. become the first and second
means for supplying data; floating-point data multiplication means for adding the exponent display parts of the first and second data together and multiplying the mantissa display parts to output an operation result; and the operation of the multiplication means. floating-point data addition/subtraction means to which a result is supplied as one input; data accumulation means for holding the result of the calculation by the addition/subtraction means; a second data bus for inputting the output of the accumulating means to the adding/subtracting means, and switching means connected between the accumulating means and the first and second data buses. and a first signal processing processor having a control means for controlling the operation of each of the above elements according to a program, and a plurality of external terminals connected to the first data bus via an input register and an output register. wherein the first and fourth signal converters are configured with a second signal processing processor that operates independently of the first signal processing processor and is connected to the plurality of external terminals. A data modem using a signal processing processor characterized by: 2. A data modem using a signal processing processor as described in item 1, wherein the second signal processing processor is a processor that handles data in fixed-point representation. 3 In the description of paragraph 1, the first
The signal processing processor has coefficients Ci (i=1,...N),
A data modem using a signal processing processor is characterized in that, when the input sample value is X o , Y o = Ni=1 CiX o-1+1 performs program processing for performing the function of a transversal filter.
JP27298784A 1984-12-26 1984-12-26 Data modem using signal processor Granted JPS60167551A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27298784A JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27298784A JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Publications (2)

Publication Number Publication Date
JPS60167551A JPS60167551A (en) 1985-08-30
JPS645500B2 true JPS645500B2 (en) 1989-01-31

Family

ID=17521563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27298784A Granted JPS60167551A (en) 1984-12-26 1984-12-26 Data modem using signal processor

Country Status (1)

Country Link
JP (1) JPS60167551A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910474A (en) * 1986-07-15 1990-03-20 Hayes Microcomputer Products, Inc. Method and apparatus for generating phase and amplitude modulated signals
US5040194A (en) * 1986-07-15 1991-08-13 Hayes Microcomputer Products, Inc. Method and apparatus for providing for automatic gain control of incoming signals in a modem
US4868864A (en) * 1986-07-15 1989-09-19 Hayes Microcomputer Products, Inc. Autocorrelating 2400 bps handshake sequence detector
US4849703A (en) * 1986-07-15 1989-07-18 Hayes Microcomputer Products, Inc. Method and apparatus for generating a data sampling clock locked to a baud clock contained in a data signal

Also Published As

Publication number Publication date
JPS60167551A (en) 1985-08-30

Similar Documents

Publication Publication Date Title
JPS6242296B2 (en)
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
EP0693236B1 (en) Method and arrangement in a transposed digital fir filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter
JPS645500B2 (en)
US6304133B1 (en) Moving average filter
JPH02281811A (en) Digital filter processor
JPH0353650B2 (en)
JPH026089B2 (en)
JPH0357488B2 (en)
JPS63153636A (en) Information processor
US5432726A (en) Arithmetic unit for quantization/inverse quantigation
JPH0357487B2 (en)
US4748503A (en) Data reduction circuit with a differential pulse code modulator for video signals
US10673482B2 (en) Signal transmission device and linking method thereof
JPH0357486B2 (en)
JP2569976B2 (en) Digital filter
JPS6177964A (en) Digital signal processor
JP2582816B2 (en) Data transfer device
CN115603707A (en) Universal filter, coprocessor and filtering method
CN114791895A (en) Digital and heart rate signal processing method and device, storage medium and electronic equipment
JP2864598B2 (en) Digital arithmetic circuit
JP3503141B2 (en) Digital processing unit
JP2522239B2 (en) Digital signal processor
KR100196520B1 (en) Apparatus for conversion of two&#39;s complement numbers
JPH06103458B2 (en) Processor