CN103645877A - Division operation control unit for multiple floating-point operands - Google Patents

Division operation control unit for multiple floating-point operands Download PDF

Info

Publication number
CN103645877A
CN103645877A CN201310681578.3A CN201310681578A CN103645877A CN 103645877 A CN103645877 A CN 103645877A CN 201310681578 A CN201310681578 A CN 201310681578A CN 103645877 A CN103645877 A CN 103645877A
Authority
CN
China
Prior art keywords
operand
pulse
read
control module
write
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
Application number
CN201310681578.3A
Other languages
Chinese (zh)
Other versions
CN103645877B (en
Inventor
蔡启仲
潘绍明
郑力
李克俭
王鸣桃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangxi University of Science and Technology
Original Assignee
Guangxi University of Science and Technology
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 Guangxi University of Science and Technology filed Critical Guangxi University of Science and Technology
Priority to CN201310681578.3A priority Critical patent/CN103645877B/en
Publication of CN103645877A publication Critical patent/CN103645877A/en
Application granted granted Critical
Publication of CN103645877B publication Critical patent/CN103645877B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

一种多浮点操作数除运算控制器,包括命令字及其操作数写时序控制模块、操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块;该控制器应用FPGA设计硬连接控制电路,内部产生写时序脉冲将指令的命令字和浮点操作数按顺序连续写入存储,在内部产生的读时序脉冲作用下,按顺序读出浮点操作数执行除法运算;写入最后一个浮点操作数之后,执行除法运算命令过程不受系统控制,系统能够转去处理其他指令程序;在执行除法运算的过程中,能够读出中间运算和最终运算结果;每条指令可有127个浮点操作数,一条指令相当于多条微处理器除法运算指令,减少了系统的取指和译码、浮点操作数和运算结果写回的传输操作过程,提高了处理速度。

Figure 201310681578

A multi-floating-point operand division operation controller, including a command word and its operand write timing control module, an operand memory, a floating-point operand read timing control module, and an operand configuration operation control module; the controller is designed using FPGA The control circuit is hard-wired, and the internally generated write timing pulses are sequentially written into the command word and the floating-point operands of the instruction, and under the action of the internally generated read timing pulses, the floating-point operands are read out in sequence to perform division operations; After the last floating-point operand is input, the process of executing the division operation command is not controlled by the system, and the system can transfer to process other instruction programs; during the process of executing the division operation, the intermediate operation and final operation results can be read; each instruction can be There are 127 floating-point operands, and one instruction is equivalent to multiple microprocessor division instructions, which reduces the transfer operation process of system instruction fetching and decoding, floating-point operands and operation result write-back, and improves the processing speed.

Figure 201310681578

Description

多浮点操作数除运算控制器Multiple floating-point operand division controller

技术领域 technical field

本发明涉及一种多浮点操作数除运算控制器,尤其涉及一种基于采用FPGA并行操作电路硬连接的多浮点操作数除法运算控制电路及其时序控制方法。 The invention relates to a multi-floating-point operand division operation controller, in particular to a multi-floating-point operand division operation control circuit and a timing control method based on the hard connection of an FPGA parallel operation circuit.

背景技术 Background technique

浮点数除法运算器实现2个32位符合IEEE754标准的浮点数除法运算;运算器输入参与运算的两个浮点操作数,一个是操作数1,一个是操作数2,执行一次除法运算输出一个运算结果,在运算过程中,操作数1和操作数2必须维持稳定;运算器的操作数1输入端与一个暂存器的输出端连接,操作数2与另一个暂存器的输出端连接;除法运算的时间周期比加/减法、乘法运算器长,微处理器将参与运算的两个操作数传输给浮点数除法运算器后,能够转去处理其他程序,运算结束之后分时读出运算结果;对于连续执行多个操作数的除法运算,且运算结果作为被除数,微处理器需要多次分时传输作为除数的操作数,运算结果写回的操作;浮点数除法运算器的设计也采用流水线执行的方式,将运算过程分为若干模块,在微处理器控制部件发出的时序脉冲的控制下,多条浮点数除法运算指令按照模块顺序执行,流水线中的每条指令运算结束都需要将运算结果写回;但对于所执行的浮点数除法运算需要应用上一条运算指令的运算结果作为被除数的指令,则浮点数除法运算的流水线操作失去作用,影响了浮点数除法运算指令执行的速度。 The floating-point number division operator implements two 32-bit floating-point number division operations that conform to the IEEE754 standard; the operator inputs two floating-point operands involved in the operation, one is operand 1, and the other is operand 2. Perform a division operation and output a The operation result, during the operation, operand 1 and operand 2 must remain stable; the operand 1 input terminal of the arithmetic unit is connected to the output terminal of a temporary register, and the operand 2 is connected to the output terminal of another temporary register ;The time period of the division operation is longer than that of the addition/subtraction and multiplication operators. After the microprocessor transmits the two operands involved in the operation to the floating-point number division operator, it can be transferred to process other programs. After the operation is completed, the time-sharing read operation result; for the division operation of multiple operands performed continuously, and the operation result is used as the dividend, the microprocessor needs to transmit the operand as the divisor multiple times, and the operation of writing back the operation result; the design of the floating-point number division operator is also The operation process is divided into several modules by means of pipeline execution. Under the control of the timing pulse issued by the microprocessor control unit, multiple floating-point number division operation instructions are executed in the order of the modules. Each instruction in the pipeline needs to be completed after the operation is completed. Write back the operation result; but for the executed floating-point number division operation that needs to use the operation result of the previous operation instruction as the dividend instruction, the pipeline operation of the floating-point number division operation will lose its effect, which will affect the execution speed of the floating-point number division operation instruction .

发明内容 Contents of the invention

本发明的目的在于提供一种多浮点操作数除运算控制器,用于实现多个32位符合IEEE754标准的浮点数的除法运算;该控制器应用FPGA设计多浮点操作数除运算控制器的硬连接电路,对于一条多浮点操作数除法运算指令的命令字和多浮点操作数采取连续写入存储的方法,写入过程占用系统总线;控制器在接收命令和第一个操作数后,控制器内部产生与系统时钟Clock信号同步的读时序脉冲信号,在读时序脉冲信号控制下自主完成读出浮点操作数执行除法运算,除法运算命令执行过程不占用系统总线,写入存储多浮点操作数过程与执行除法运算命令的过程能够并行进行;该控制器对于传输参与除法运算的第1个操作数设置除法方式和类型标志,能够实现:第1个操作数/第2个操作数、存储在控制器中的运算结果/第1个操作数、第1个操作数/存储在控制器中的运算结果三种处理方式;在控制器执行除法运算命令过程中,系统能够读出执行除法运算命令过程中的中间运算结果和最终运算结果。 The object of the present invention is to provide a multi-floating-point operand division controller, which is used to realize the division operation of a plurality of 32-bit floating-point numbers conforming to the IEEE754 standard; the controller uses FPGA to design a multi-floating-point operand division controller The hard-wired circuit of a multi-floating-point operand division operation instruction adopts the method of continuously writing and storing the command word and the multi-floating-point operand, and the writing process occupies the system bus; the controller receives the command and the first operand Finally, the controller internally generates a read timing pulse signal synchronized with the system clock Clock signal. Under the control of the read timing pulse signal, it independently completes the reading of the floating-point operand and performs the division operation. The execution process of the division operation command does not occupy the system bus. The floating-point operand process and the process of executing the division operation command can be carried out in parallel; the controller sets the division mode and type flag for the first operand that participates in the division operation, and can realize: the first operand/the second operation number, the operation result stored in the controller/the first operand, the first operand/the operation result stored in the controller; when the controller executes the division operation command, the system can read Intermediate operation results and final operation results during the execution of the division operation command.

解决上述技术问题的技术方案是:一种多浮点操作数除运算控制器,包括命令字及其操作数写时序控制模块、操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块; The technical solution for solving the above-mentioned technical problems is: a multi-floating-point operand division operation controller, including a command word and its operand write sequence control module, an operand memory, a floating-point operand read sequence control module, and an operand configuration operation control module;

所述命令字及其操作数写时序控制模块与操作数存储器、浮点操作数读时序控制模块、操作数配置运算控制模块连接; The command word and its operand write sequence control module are connected with the operand memory, the floating point operand read sequence control module, and the operand configuration operation control module;

所述操作数存储器还与浮点操作数读时序控制模块、操作数配置运算控制模块连接; The operand memory is also connected with the floating-point operand read timing control module and the operand configuration operation control module;

所述浮点操作数读时序控制模块还与操作数配置运算控制模块连接; The floating-point operand read timing control module is also connected to the operand configuration operation control module;

所述命令字及其操作数写时序控制模块控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其操作数写时序控制模块被系统选中时,启动命令字及其操作数写时序控制模块工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个操作数被写入存储后,所述命令字及其操作数写时序控制模块停止工作; The command word and its operand write timing control module control completes the writing and storage of the instruction, which needs to occupy the system bus; an instruction includes a 9-bit command word and several operands, and the operands are at most 127; the command word and its operand write sequence control module are selected by the system, start the command word and its operand write sequence control module to work, and internally generate a write sequence pulse sequence synchronous with the system WR signal; under the control of the write sequence pulse, latch multiple The command word of the floating-point operand division instruction is written into multiple floating-point operands for storage; after the last operand is written and stored, the command word and its operand writing timing control module stop working;

所述操作数存储器为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;所述操作数存储器的写端口受命令字及其操作数写时序控制模块控制,将系统数据总线DB传输的操作数写入操作数存储器;读端口受浮点操作数读时序控制模块控制,将操作数读出传输到操作数配置运算控制模块;  The operand memory is a dual-port memory, with a write-only port and a read-only port for storing floating-point operands (hereinafter referred to as operands); the writing and reading of operands in the write port of the operand memory The readout of the port operand does not have the situation that requires arbitration; the write port of the operand memory is controlled by the command word and its operand write timing control module, and the operand transmitted by the system data bus DB is written into the operand memory; The port is controlled by the floating-point operand read timing control module, and the operand read is transmitted to the operand configuration operation control module;

所述浮点操作数读时序控制模块在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块在命令字及其操作数写时序控制模块写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除法运算;当参与运算的最后1个操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块的工作; The floating-point operand read timing control module is under the control of the internal read timing pulse, and independently completes the reading of the floating-point operand from the operand memory without occupying the system bus; the floating-point operand read timing control module After the command word and its operand writing timing control module is written into the first operand, it will start to work, and the output busy signal Busy will change from "1" to "0", and according to the type of the first operand, the internal generation and system clock Clock signal synchronous read timing pulse sequence, read the operands in order to participate in the division operation; after the last operand involved in the operation is read out, after a division operation time period, the output busy signal Busy changes from "0" → "1", after sending the result latch pulse of one clock cycle Clock, stop the work of the floating-point operand read timing control module;

所述操作数配置运算控制模块根据操作数存储器传输的第1个操作数的除法方式和类型,选通配置除法运算器的二个输入端的操作数1和操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从操作数配置运算控制模块中读出中间运算结果和命令执行的最终运算结果。 According to the division mode and type of the first operand transmitted by the operand memory, the operand configuration operation control module gates and configures the operand 1 and operand 2 of the two input terminals of the division operator, and can latch each division The operation result of the operation is used to judge whether the operation result is abnormal; the system can read the intermediate operation result and the final operation result of command execution from the operand configuration operation control module.

其进一步技术方案是:所述命令字及其操作数写时序控制模块包括控制器识别、写地址计数器、写操作数脉冲发生控制模块、方式类型寄存器和与门Ⅰ; Its further technical solution is: the command word and its operand write timing control module includes controller identification, write address counter, write operand pulse generation control module, mode type register and AND gate I;

所述控制器识别的输入端和系统地址总线AB的A31到A27线连接,CS信号输出端与写操作数脉冲发生控制模块的写启动信号输入端、操作数配置运算控制模块连接;所述控制器识别输入A31到A27的地址值与控制器识别所设定的地址值相等,则控制器识别的CS信号输出端为“0”,否则CS信号输出端为“1”; The input terminal identified by the controller is connected to the A31 to A27 lines of the system address bus AB, and the CS signal output terminal is connected to the write start signal input terminal of the write operand pulse generation control module and the operand configuration operation control module; the control If the address value of the controller identification input A31 to A27 is equal to the address value set by the controller identification, the CS signal output terminal identified by the controller is "0", otherwise the CS signal output terminal is "1";

所述写地址计数器的操作数个数输入端与系统数据总线DB的D6到D0线连接,写预置脉冲输入端与写操作数脉冲发生控制模块的脉冲①_1输出端连接,写计数脉冲输入端与写操作数脉冲发生控制模块的脉冲③_1输出端连接,写地址输出端与操作数存储器的写地址输入端AB_1连接,写溢出输出端和与门Ⅰ的一个输入端连接; The operand number input end of the write address counter is connected to the D6 to D0 lines of the system data bus DB, the write preset pulse input end is connected to the pulse ①_1 output end of the write operand pulse generation control module, and the write count pulse input end It is connected with the pulse ③_1 output terminal of the write operand pulse generation control module, the write address output terminal is connected with the write address input terminal AB_1 of the operand memory, and the write overflow output terminal is connected with an input terminal of AND gate I;

所述写操作数脉冲发生控制模块的写同步脉冲输入端与系统写信号WR线连接,复位输入端和与门Ⅰ的输出端连接,脉冲①_1输出端还与方式类型寄存器锁存信号输入端连接,作为读预置脉冲与浮点操作数读时序控制模块连接,脉冲②_1输出端与操作数存储器写端口的WR_1输入端连接,作为读启动脉冲与浮点操作数读时序控制模块连接; The write synchronization pulse input terminal of the write operand pulse generation control module is connected to the system write signal WR line, the reset input terminal is connected to the output terminal of AND gate I, and the pulse ①_1 output terminal is also connected to the mode type register latch signal input terminal , used as a read preset pulse to connect to the floating-point operand read timing control module, the pulse ②_1 output terminal is connected to the WR_1 input terminal of the operand memory write port, and used as a read start pulse to connect to the floating-point operand read timing control module;

当CS为“0”时,所述写操作数脉冲发生控制模块在系统第1个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1,直到复位信号输入端由“1”→“0”才停止工作,置脉冲①_1、脉冲②_1和脉冲③_1输出端为“1”状态; When CS is "0", the write operand pulse generation control module starts to work under the action of the first WR signal of the system, and outputs pulse ①_1, pulse ②_1, and pulse ③_1 in sequence until the input terminal of the reset signal changes from "1 "→"0" to stop working, set the output terminals of pulse ①_1, pulse ②_1 and pulse ③_1 to "1" state;

所述方式类型寄存器的输入端与系统数据总线DB的D8和D7线连接,方式输出端与操作数配置运算控制模块连接,类型输出端与浮点操作数读时序控制模块连接;  The input end of the mode type register is connected with the D8 and D7 lines of the system data bus DB, the mode output end is connected with the operand configuration operation control module, and the type output end is connected with the floating-point operand read timing control module;

所述与门Ⅰ的另二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块连接; The other two input terminals of the AND gate I are respectively connected to the system reset signal Rst line and the operand configuration operation control module;

当控制器识别输出的CS信号由“1”→“0”时,所述命令字及其操作数写时序控制模块启动写操作数脉冲发生控制模块工作写操作数脉冲发生控制模块发出与系统WR信号同步的时序脉冲序列信号,在脉冲①_1下降沿的作用下,将指令的命令字的第1个操作数的除法方式和类型锁存在方式类型寄存器中,将操作数个数值预置给写地址计数器,作为写地址计数器的计数初值和操作数存储器写端口的写地址初值,并置写溢出输出端为“1”状态;脉冲②_1作为操作数存储器写端口的WR_1信号,将操作数写入操作数存储器中;脉冲③_1作为写地址计数器的写计数脉冲,这样每写入一个操作数,产生1个计数脉冲,写地址输出端输出的地址值-1指向操作数存储器写端口的下一个存储单元的地址,当写地址输出端输出的地址值由预置值减至“0”时,写溢出输出端由“1”→“0”,复位写操作数脉冲发生控制模块3,置所有的脉冲输出端为“1”状态。 When the controller recognizes that the output CS signal is from "1" to "0", the command word and its operand write sequence control module start the write operand pulse generation control module to work , and the write operand pulse generation control module sends out and communicates with the system The timing pulse sequence signal synchronized with the WR signal, under the action of the falling edge of pulse ①_1, the division mode and type of the first operand of the command word of the instruction are latched in the mode type register, and the value of the operand is preset to write The address counter is used as the counting initial value of the write address counter and the write address initial value of the operand memory write port, and sets the write overflow output terminal to "1"state; pulse ②_1 is used as the WR_1 signal of the operand memory write port, and the operand Write into the operand memory; pulse ③_1 is used as the write count pulse of the write address counter, so that each time an operand is written, a count pulse is generated, and the address value -1 output by the write address output terminal points to the lower end of the write port of the operand memory For the address of a storage unit, when the address value output by the write address output terminal decreases from the preset value to "0", the write overflow output terminal changes from "1" to "0", resets the write operand pulse generation control module 3, and sets All pulse outputs are in "1" state.

其进一步技术方案是:所述浮点操作数读时序控制模块包括读地址计数器、读操作数脉冲发生控制模块、与门Ⅱ、与门Ⅲ和与门Ⅳ; Its further technical solution is: the floating-point operand read timing control module includes a read address counter, a read operand pulse generation control module, AND gate II, AND gate III, and AND gate IV;

所述读地址计数器的操作数个数输入端与系统数据总线DB的D6和D0线连接,读预置脉冲输入端与写操作数脉冲发生控制模块的脉冲①_1输出端连接,读计数脉冲输入端和与门Ⅳ的输出端连接,读地址输出端与操作数存储器的读地址输入端AB_2连接,读溢出输出端与读操作数脉冲发生控制模块的读溢出输入端连接; The operand number input end of the read address counter is connected with the D6 and D0 lines of the system data bus DB, the read preset pulse input end is connected with the pulse ①_1 output end of the write operand pulse generation control module, and the count pulse input end is read It is connected with the output terminal of AND gate IV, the read address output terminal is connected with the read address input terminal AB_2 of the operand memory, and the read overflow output terminal is connected with the read overflow input terminal of the read operand pulse generation control module;

所述读地址计数器在读预置脉冲的作用下将输入命令的操作数个数作为计数初值、操作数存储器读端口的读地址初值,并置读溢出输出端信号为“1”状态;每来一个读计数脉冲,读地址计数器的读地址值-1,修改操作数存储器读端口存储单元地址值,当读地址计数器输出的读地址值由预置值减至“0”时,读溢出输出端由“1”→“0”,读溢出输出信号是操作数读出过程结束的标志; The read address counter uses the number of operands of the input command as the initial value of counting and the initial value of the read address of the read port of the operand memory under the action of the read preset pulse, and sets the read overflow output terminal signal to "1" state; A read count pulse comes, the read address value of the read address counter is -1, and the address value of the operand memory read port storage unit is modified. When the read address value output by the read address counter is reduced from the preset value to "0", the read overflow output The terminal is from "1" to "0", and the read overflow output signal is a sign of the end of the operand read process;

所述读操作数脉冲发生控制模块的读同步脉冲输入端与系统时钟Clock线连接,复位输入端和与门Ⅲ的输出端连接,读启动输入端与写操作数脉冲发生控制模块的脉冲②_1输出端连接,读时序控制输入端与方式类型寄存器的类型输出端连接;脉冲①_2输出端和与门Ⅱ的一个输入端、操作数配置运算控制模块连接;脉冲②_2输出端和与门Ⅳ的一个输入端、操作数配置运算控制模块连接,脉冲③_2输出端和与门Ⅱ的另一个输入端连接;脉冲④_2输出端和与门Ⅳ的另一个输入端连接;脉冲⑤_2输出端、脉冲⑥_2输出端与操作数配置运算控制模块连接;Busy输出端向系统输出Busy忙信号; The read synchronization pulse input terminal of the read operand pulse generation control module is connected to the system clock Clock line, the reset input terminal is connected to the output terminal of AND gate III, and the read start input terminal is output to the pulse ②_1 of the write operand pulse generation control module connection, the read timing control input terminal is connected to the type output terminal of the mode type register; the pulse ①_2 output terminal is connected to an input terminal of the AND gate II, and the operand configuration operation control module; the pulse ②_2 output terminal is connected to an input terminal of the AND gate IV terminal, operand configuration operation control module connection, pulse ③_2 output terminal is connected with the other input terminal of AND gate II; pulse ④_2 output terminal is connected with the other input terminal of AND gate IV; pulse ⑤_2 output terminal, pulse ⑥_2 output terminal and The operand configuration operation control module is connected; the Busy output terminal outputs a Busy busy signal to the system;

所述与门Ⅱ的输出端与操作数存储器的读信号输入端RD_2连接; The output end of the AND gate II is connected to the read signal input end RD_2 of the operand memory;

所述与门Ⅲ的二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块连接; The two input ends of the AND gate III are respectively connected to the system reset signal Rst line and the operand configuration operation control module;

当复位输入端为“1”时,所述浮点操作数读时序控制模块在脉冲①_1的读预置脉冲作用下将操作数个数值预置给读地址计数器,操作数存储器读端口的地址初值为操作数个数值;在第一个脉冲②_1的读启动脉冲作用下启动读操作数脉冲发生控制模块的工作,Busy输出端由“1”→“0”; When the reset input terminal is "1", the floating-point operand read timing control module presets the operand value to the read address counter under the action of the read preset pulse of pulse ①_1, and the address of the operand memory read port starts The value is a number of operands; under the action of the read start pulse of the first pulse ②_1, the work of the read operand pulse generation control module is started, and the Busy output terminal changes from "1" to "0";

当读操作数脉冲发生控制模块的读时序控制输入端输入的类型信号为“0”时,按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2,以及发出一个脉冲⑥_2,当读溢出输入端信号由“1”→“0”时,置脉冲③_2、脉冲④_2输出端为“1”,停止脉冲③_2和脉冲④_2产生,经过一个运算周期时间,Busy输出端由“0”→“1”状态,输出一个时钟周期Clock的锁存结果脉冲⑤_2,然后置脉冲⑤_2输出端为“1”,浮点操作数读时序控制模块停止工作; When the input type signal of the read timing control input terminal of the read operand pulse generation control module is "0", pulses ③_2, pulse ④_2, pulse ⑤_2, and a pulse ⑥_2 are sent out in sequence, and when the read overflow input signal is When "1"→"0", set the output terminals of pulse ③_2 and pulse ④_2 to "1", stop the generation of pulse ③_2 and pulse ④_2, and after one operation cycle time, the Busy output terminal changes from "0" to "1", and the output The latch result pulse ⑤_2 of a clock cycle Clock, then set the output terminal of pulse ⑤_2 as "1", and the floating-point operand read timing control module stops working;

当读操作数脉冲发生控制模块的读时序控制输入端输入的类型信号为“1”时,按照顺序发出脉冲①_2和脉冲②_2,再按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2,脉冲③_2、脉冲④_2、脉冲⑤_2产生过程与类型信号为“0”时相同。 When the input type signal of the read timing control input terminal of the read operand pulse generation control module is "1", pulse ①_2 and pulse ②_2 are issued in sequence, and then pulse ③_2, pulse ④_2, pulse ⑤_2, pulse ③_2, The generation process of pulse ④_2 and pulse ⑤_2 is the same as when the type signal is "0".

其进一步技术方案是:所述操作数配置运算控制模块包括选通器、结果寄存器、操作数交换器、浮点数除法运算器、运算异常标志控制、32位三态门组、与门Ⅴ、与门Ⅵ、或门Ⅰ和或门Ⅱ; Its further technical solution is: the operand configuration operation control module includes a strobe, a result register, an operand switch, a floating-point number division operator, an operation exception flag control, a 32-bit tri-state gate group, an AND gate V, and an AND gate. Gate VI, OR Gate I and OR Gate II;

所述选通器的二个输入端分别和操作数存储器的操作数输出端DB_2、浮点数除法运算器的运算结果输出端连接,输出端和结果寄存器的输入端连接;选通控制输入端和与门Ⅴ的输出端连接; The two input terminals of the strobe are respectively connected with the operand output terminal DB_2 of the operand memory and the operation result output terminal of the floating-point number division operator, and the output terminal is connected with the input terminal of the result register; the strobe control input terminal and Connect with the output terminal of gate V;

所述结果寄存器的输出端和操作数交换器的交换数1输入端、32位三态门组输入端连接;结果锁存信号输入端和与门Ⅵ的输出端连接; The output end of the result register is connected to the exchange number 1 input end of the operand switcher and the input end of the 32-bit tri-state gate group; the result latch signal input end is connected to the output end of the AND gate VI;

所述操作数交换器的交换数2输入端与操作数存储器的操作数输出端DB_2连接,交换控制端和或门Ⅰ的输出端连接,二个输出端分别与浮点数除法运算器的操作数1输入端、操作数2输入端连接; The exchange number 2 input terminal of the operand switch is connected to the operand output terminal DB_2 of the operand memory, the exchange control terminal is connected to the output terminal of the OR gate I, and the two output terminals are respectively connected to the operand of the floating-point number division operator. 1 input terminal, operand 2 input terminal connection;

所述浮点数除法运算器的运算结果输出端还与运算异常标志控制的运算结果输入端连接; The operation result output terminal of the floating-point number division operator is also connected to the operation result input terminal controlled by the abnormal operation flag;

所述运算异常标志控制的锁存结果脉冲输入端与读操作数脉冲发生控制模块的锁存结果脉冲⑤_2输出端连接;IRQ输出端和与门Ⅰ的另一个输入端、与门Ⅲ的另一个输入端连接,IRQ输出端还向系统输出中断请求信号IRQ;当中间运算结果或最终运算结果出现异常时,所述运算异常标志控制向系统发出中断请求信号IRQ,并复位写操作数脉冲发生控制模块和读操作数脉冲发生控制模块; The latch result pulse input terminal controlled by the abnormal operation flag is connected to the latch result pulse ⑤_2 output terminal of the read operand pulse generation control module; the IRQ output terminal is connected to the other input terminal of AND gate I, and the other input terminal of AND gate III The input terminal is connected, and the IRQ output terminal also outputs an interrupt request signal IRQ to the system; when the intermediate operation result or the final operation result is abnormal, the operation abnormality flag control sends an interrupt request signal IRQ to the system, and resets the write operand pulse generation control module and read operand pulse generation control module;

所述32位三态门组的输出端和系统数据总线DB连接,控制输入端和或门Ⅱ的输出端连接; The output end of the 32-bit tri-state gate group is connected to the system data bus DB, and the control input end is connected to the output end of the OR gate II;

所述与门Ⅴ的二个输入端分别与读操作数脉冲发生控制模块的脉冲①_2、脉冲②_2的输出端连接; The two input terminals of the AND gate V are respectively connected to the output terminals of pulse ①_2 and pulse ②_2 of the read operand pulse generation control module;

所述与门Ⅵ的二个输入端分别与读操作数脉冲发生控制模块的脉冲②_2、脉冲⑤_2的输出端连接; The two input terminals of the AND gate VI are respectively connected to the output terminals of pulse ②_2 and pulse ⑤_2 of the read operand pulse generation control module;

所述或门Ⅰ的一个输入端与方式类型寄存器的方式输出端连接,另一个输入端与读操作数脉冲发生控制模块的脉冲⑥_2输出端连接; An input end of the OR gate I is connected to the mode output end of the mode type register, and the other input end is connected to the pulse ⑥_2 output end of the read operand pulse generation control module;

所述或门Ⅱ的二个输入端分别与控制器识别的CS信号输出端、系统读信号RD线连接;当CS为“0”时,在系统RD信号的作用下,读出中间运算结果或命令执行的最终运算结果。 The two input terminals of the OR gate II are respectively connected to the CS signal output terminal identified by the controller and the system read signal RD line; when CS is "0", under the action of the system RD signal, the intermediate calculation result or The final operation result of command execution.

其进一步技术方案是:所述浮点操作数读时序控制模块与方式类型寄存器的类型输出端连接;所述操作数配置运算控制模块与方式类型寄存器的方式输出端连接;类型的定义是从操作数存储器读出的第1个操作数的类型,方式的定义是当类型为“0”时,第1个操作数参加除法运算的处理方式; Its further technical scheme is: described floating-point operand read timing control module is connected with the type output end of mode type register; Described operand configuration operation control module is connected with the mode output end of mode type register; The definition of type is from operation The type of the first operand read from the number memory, the definition of the method is when the type is "0", the first operand participates in the processing method of the division operation;

类型0:第1个操作数作为参与除运算的操作数2,运算结果作为操作数1; Type 0: The first operand is used as operand 2 participating in the division operation, and the operation result is used as operand 1;

类型1:第1个操作数作为参与除运算的操作数1,第2个操作数作为操作数2; Type 1: The first operand is used as operand 1 participating in the division operation, and the second operand is used as operand 2;

所述读操作数脉冲发生控制模块输出的脉冲①_2、脉冲②_2只在方式类型寄存器输出的类型为“1”时产生;当脉冲①_2或脉冲②_2为“0”时,选通器的选通控制输入端为“0”,选通器输出从操作数存储器读出的第1个操作数;脉冲①_2和脉冲②_2都为“1”时,选通器输出运算结果; The pulse ①_2 and pulse ②_2 output by the read operand pulse generation control module are only generated when the type of the mode type register output is "1"; when the pulse ①_2 or pulse ②_2 is "0", the gating control of the strobe When the input terminal is "0", the strobe outputs the first operand read from the operand memory; when both pulse ①_2 and pulse ②_2 are "1", the strobe outputs the operation result;

从操作数存储器读出的第1个操作数参加除法运算,方式类型寄存器输出的方式和类型信号控制正在执行命令的第1个操作数和运算结果的除法方式: The first operand read from the operand memory participates in the division operation, and the mode and type signal output by the mode type register control the division mode of the first operand and the operation result of the command being executed:

方式为“0”,类型为“0”:类型为“0”结果寄存器输出的是运算结果,操作数交换器的交换数1输入端为运算结果,操作数交换器的交换数2输入端为从操作数存储器读出的第1个操作数;当读第1个操作数时,此时脉冲⑥_2为“0”有效,由于方式为“0”状态,使得操作数交换器的控制端为“0”,操作数交换器的交换数1输入端的运算结果作为操作数交换器输出的操作数2,操作数交换器的交换数2输入端的第1个操作数作为操作数交换器输出的操作数1,即操作数交换器的2个输入和2个输出进行交换传输,执行第1个操作数/运算结果的除法运算; The mode is "0", the type is "0": the type is "0", the output of the result register is the operation result, the input terminal of the exchange number 1 of the operand switch is the operation result, and the input terminal of the exchange number 2 of the operand switch is The first operand read from the operand memory; when the first operand is read, the pulse ⑥_2 is "0" valid at this time, and because the mode is "0", the control terminal of the operand switch is " 0", the operation result of the input terminal of the exchange number 1 of the operand exchange is used as the operand 2 output by the operand exchange, and the first operand of the exchange number 2 input of the operand exchange is used as the output operand of the operand exchange 1, that is, the 2 inputs and 2 outputs of the operand switch are exchanged and transmitted, and the division operation of the first operand/operation result is performed;

方式为“1”,类型为“0”:当读第1个操作数时,此时虽然脉冲⑥_2为“0”有效,但方式为“1”状态,使得操作数交换器的控制端为“1”,操作数交换器的2个输入和2个输出不进行交换传输;运算结果作为浮点数除法运算器的操作数1,第1个操作数作为操作数2,执行运算结果/第1个操作数的除法运算; The mode is "1" and the type is "0": when reading the first operand, although the pulse ⑥_2 is "0" is valid at this time, but the mode is "1", so that the control terminal of the operand switch is " 1", the 2 inputs and 2 outputs of the operand switcher are not exchanged and transmitted; the operation result is used as operand 1 of the floating-point number division operator, the first operand is used as operand 2, and the operation result/first operand division operation;

当类型为“1”时,第1个操作数的配置与输入的方式信号状态无关,读操作数脉冲发生控制模块不会产生脉冲⑥_2信号,脉冲⑥_2输出端为“1”状态,使得操作数交换器的控制端为“1”,操作数交换器的2个输入和2个输出不进行交换传输;第1个操作数作为浮点数除法运算器的操作数1,第2个操作数作为操作数2,执行第1个操作数/第2个操作数的运算。 When the type is "1", the configuration of the first operand has nothing to do with the signal state of the input mode. The pulse generation control module of the read operand will not generate the pulse ⑥_2 signal, and the output terminal of the pulse ⑥_2 is in the "1" state, making the operand The control terminal of the switch is "1", and the 2 inputs and 2 outputs of the operand switch are not exchanged and transmitted; the first operand is used as operand 1 of the floating-point number division operator, and the second operand is used as the operation Number 2, perform the operation of the 1st operand/2nd operand.

由于采用以上结构,本发明之多浮点操作数除运算控制器具有以下有益效果: Due to the adoption of the above structure, the multi-floating-point operand division operation controller of the present invention has the following beneficial effects:

一、一条指令的命令字及其多浮点操作数能够连续写入存储 1. The command word of an instruction and its multiple floating-point operands can be continuously written into the storage

本发明之多浮点操作数除运算控制器内部设置有一个操作数存储器,在内部与系统WR脉冲同步的写操作数时序脉冲的控制之下,多浮点操作数除法指令的命令字被写入后,能够将该指令的浮点操作数全部按照顺序写入并存储在操作数存储器中。 The multi-floating-point operand division operation controller of the present invention is provided with an operand memory inside, and under the control of the write operand timing pulse synchronous with the system WR pulse inside, the command word of the multi-floating-point operand division instruction is written After input, all the floating-point operands of the instruction can be written in order and stored in the operand memory.

二、自主控制完成多浮点操作数除法的运算 2. Autonomous control to complete the operation of multi-floating-point operand division

本发明之多浮点操作数除运算控制器在接收指令的命令字和第一个浮点操作数后,启动控制器内部读操作数脉冲发生控制模块,在与系统时钟Clock脉冲同步的读操作数时序脉冲的控制之下,自主完成指令的所有浮点操作数的除法运算,控制器执行多浮点操作数的除法运算命令不受系统控制。 After the multi-floating-point operand division operation controller of the present invention receives the command word and the first floating-point operand of the instruction, it starts the internal read operand pulse generation control module of the controller, and performs the read operation synchronously with the system clock Clock pulse. Under the control of the number timing pulse, the division operation of all floating-point operands of the instruction is completed independently, and the controller executes the division operation command of multiple floating-point operands without being controlled by the system.

三、自动选择第1个浮点操作数除运算的处理方式 3. Automatically select the processing method of the division operation of the first floating-point operand

本发明之多浮点操作数除运算控制器在对第1个浮点操作数进行除法运算时,有三种处理方式,一是第1个浮点操作数作为被除数,实施第1个浮点操作数/第2个浮点操作数的运算;二是第1个浮点操作数作为被除数,实施第1个浮点操作数/运算结果的运算;三是第1个浮点操作数作为除数,实施运算结果/第1个浮点操作数的运算。 The multi-floating-point operand division operation controller of the present invention has three processing methods when performing division operation on the first floating-point operand. One is that the first floating-point operand is used as the dividend to implement the first floating-point operation. number/the second floating-point operand; the second is that the first floating-point operand is used as the dividend, and the first floating-point operand/operation result is implemented; the third is that the first floating-point operand is used as the divisor, Carry out the operation of the operation result/the first floating-point operand.

四、控制器性价比高 Fourth, the controller is cost-effective

本发明之多浮点操作数除运算控制器以FPGA的硬连接控制电路为核心,实现多浮点操作数的除法运算,运算过程不受系统控制;除法运算命令执行过程中,能够读出中间运算结果,除法运算命令执行结束,能够读出最终运算结果;每条指令能够有127个浮点操作数,这样一条指令相当于相同除法运算的多条指令,减少了系统对指令的取指和译码、浮点操作数和运算结果写回的传输操作过程;另一方面,控制器能够应用执行上一条指令的运算结果与新写入指令的第1个浮点操作数进行运算;一条指令相当于相同运算的多条指令,提高了处理速度,具有较高的性价比。 The multi-floating-point operand division operation controller of the present invention takes the hard-wired control circuit of FPGA as the core to realize the division operation of multi-floating-point operands, and the operation process is not controlled by the system; during the execution of the division operation command, it can read the intermediate The operation result, the division operation command is executed, and the final operation result can be read out; each instruction can have 127 floating-point operands, so that one instruction is equivalent to multiple instructions of the same division operation, which reduces the number of instructions fetched by the system and The transmission operation process of decoding, floating-point operand and operation result write-back; on the other hand, the controller can apply the operation result of the previous instruction to perform operation with the first floating-point operand of the newly written instruction; one instruction It is equivalent to multiple instructions of the same operation, which improves the processing speed and has a high cost performance.

下面结合附图和实施例对本发明之多浮点操作数除运算控制器的技术特征作进一步的说明。 The technical features of the multi-floating-point operand division controller of the present invention will be further described below in conjunction with the accompanying drawings and embodiments.

附图说明 Description of drawings

图1:本发明之多浮点操作数除运算控制器的系统结构框图; Fig. 1: the system structural block diagram of multi-floating-point operand division operation controller of the present invention;

图2:本发明之多浮点操作数除运算控制器的命令字及其操作数写时序控制模块的电路连接图; Fig. 2: the circuit connection diagram of the command word of multi-floating-point operand division controller of the present invention and its operand writing sequence control module;

图3:本发明之多浮点操作数除运算控制器的浮点操作数读时序控制模块的电路连接图; Fig. 3: the circuit connection diagram of the floating-point operand reading timing control module of the multi-floating-point operand division operation controller of the present invention;

图4:本发明之多浮点操作数除运算控制器的操作数配置运算控制模块的电路连接图; Fig. 4: the circuit connection diagram of the operand configuration operation control module of the multi-floating-point operand division operation controller of the present invention;

图5:本发明之多浮点操作数除运算控制器的写命令字和多浮点操作数时序图; Fig. 5: write command word and multi-floating-point operand sequence diagram of multi-floating-point operand division operation controller of the present invention;

图6:本发明之多浮点操作数除运算控制器的类型0读多浮点操作数和结果锁存时序图; Fig. 6: the type 0 read multi-floating-point operand and result latch timing diagram of multi-floating-point operand division operation controller of the present invention;

图7:本发明之多浮点操作数除运算控制器的类型1读多浮点操作数和结果锁存时序图。 Fig. 7: A timing diagram of type 1 reading of multiple floating-point operands and result latching of the multi-floating-point operand division operation controller of the present invention.

图中:  In the picture:

Ⅰ—命令字及其操作数写时序控制模块,Ⅱ—操作数存储器,Ⅲ—浮点操作数读时序控制模块,Ⅳ—操作数配置运算控制模块; Ⅰ—command word and its operand write sequence control module, Ⅱ—operand memory, Ⅲ—floating point operand read sequence control module, Ⅳ—operand configuration operation control module;

1—控制器识别,2—写地址计数器,3—写操作数脉冲发生控制模块, 4—方式类型寄存器,5—与门Ⅰ,6—读地址计数器,7—读操作数脉冲发生控制模块,8—与门Ⅱ,9—与门Ⅲ,10—与门Ⅳ,11—选通器,12—结果寄存器,13—操作数交换器,14—浮点数除法运算器,15—运算异常标志控制,16—32位三态门组,17—与门Ⅴ,18—与门Ⅵ,19—或门Ⅰ,20—或门Ⅱ。 1—controller identification, 2—write address counter, 3—write operand pulse generation control module, 4—mode type register, 5—AND gate I, 6—read address counter, 7—read operand pulse generation control module, 8—AND gate II, 9—AND gate III, 10—AND gate IV, 11—selector, 12—result register, 13—operand switch, 14—floating-point number division operator, 15—operation exception flag control , 16-32-bit tri-state gate group, 17-AND gate V, 18-AND gate VI, 19-OR gate I, 20-OR gate II.

文中缩略语说明: Explanation of abbreviations in the text:

FPGA-Field Programmable Gate Array,现场可编程门阵列; FPGA-Field Programmable Gate Array, Field Programmable Gate Array;

DB-Data Bus,数据总线; DB-Data Bus, data bus;

AB-Address Bus,地址总线; AB-Address Bus, address bus;

CS-Chip Select,片选或使能,图中CS代表“使能信号”; CS-Chip Select, chip select or enable, CS in the figure represents "enable signal";

Clock-时钟; Clock - clock;

RD-Read,读,图中代表“读信号”; RD-Read, read, the figure represents "read signal";

WR-Write,写,图中代表“写信号”; WR-Write, write, the figure represents "write signal";

IRQ-Interrupt Request,中断申请,图中代表“中断请求信号”; IRQ-Interrupt Request, interrupt application, the figure represents "interrupt request signal";

Busy-忙信号; Busy - busy signal;

Rst-Reset,复位。 Rst-Reset, reset.

具体实施方式 Detailed ways

实施例:  Example:

一种多浮点操作数除运算控制器,如图1所示,实现多个32位符合IEEE754标准的浮点数除法运算,该控制器包括命令字及其操作数写时序控制模块Ⅰ、操作数存储器Ⅱ、浮点操作数读时序控制模块Ⅲ、操作数配置运算控制模块Ⅳ; A multi-floating-point operand division controller, as shown in Figure 1, realizes a plurality of 32-bit floating-point number division operations that meet the IEEE754 standard. The controller includes a command word and its operand write timing control module I, operand Memory II, floating-point operand read timing control module III, operand configuration operation control module IV;

所述命令字及其操作数写时序控制模块Ⅰ与操作数存储器Ⅱ、浮点操作数读时序控制模块Ⅲ、操作数配置运算控制模块Ⅳ连接; The command word and its operand writing sequence control module I are connected with the operand memory II, the floating-point operand reading sequence control module III, and the operand configuration operation control module IV;

所述操作数存储器Ⅱ还与浮点操作数读时序控制模块Ⅲ、操作数配置运算控制模块Ⅳ连接; The operand memory II is also connected to the floating-point operand read timing control module III and the operand configuration operation control module IV;

所述浮点操作数读时序控制模块Ⅲ还与操作数配置运算控制模块Ⅳ连接; The floating-point operand read timing control module III is also connected to the operand configuration operation control module IV;

所述命令字及其操作数写时序控制模块Ⅰ控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其操作数写时序控制模块Ⅰ被系统选中时,启动命令字及其操作数写时序控制模块Ⅰ工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个操作数被写入存储后,所述命令字及其操作数写时序控制模块Ⅰ停止工作; The command word and its operand write timing control module I control the writing and storage of the instruction, which needs to occupy the system bus; an instruction includes a 9-bit command word and several operands, and the operands are at most 127; the order When the word and its operand write sequence control module Ⅰ is selected by the system, the command word and its operand write sequence control module Ⅰ work, and internally generate a write sequence pulse sequence synchronous with the system WR signal; under the control of the write sequence pulse, Latch the command word of the multi-floating-point operand division instruction, and write the multi-floating-point operand to be stored; after the last operand is written and stored, the command word and its operand writing timing control module I stop working;

所述操作数存储器Ⅱ为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器Ⅱ的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;所述操作数存储器Ⅱ的写端口受命令字及其操作数写时序控制模块Ⅰ控制,将系统数据总线DB传输的操作数写入操作数存储器Ⅱ;读端口受浮点操作数读时序控制模块Ⅲ控制,将操作数读出传输到操作数配置运算控制模块Ⅳ; The operand memory II is a dual-port memory, with a write-only port and a read-only port for storing floating-point operands (hereinafter referred to as operands); the write port operand of the operand memory II There is no need for arbitration in the readout of the operand of the read port; the write port of the operand memory II is controlled by the command word and its operand write timing control module I, and the operand transmitted by the system data bus DB is written into the operation The read port is controlled by the floating-point operand read sequence control module III, and the operand read is transmitted to the operand configuration operation control module IV;

所述浮点操作数读时序控制模块Ⅲ在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器Ⅱ中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块Ⅲ在命令字及其操作数写时序控制模块Ⅰ写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除法运算;当参与运算的最后1个操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块Ⅲ的工作; The floating-point operand read timing control module III, under the control of the internal read timing pulse, independently completes the reading of the floating-point operand from the operand memory II without occupying the system bus; the floating-point operand read timing The control module III is started to work after the command word and its operand writing sequence control module I write the first operand, the output busy signal Busy changes from "1" to "0", and according to the type of the first operand, the internal Generate a read timing pulse sequence synchronized with the system clock Clock signal, and read out the operands in order to participate in the division operation; after the last operand involved in the operation is read out, after a time period of the division operation, the busy signal Busy is output From "0" to "1", after sending a clock cycle Clock result latch pulse, stop the work of the floating-point operand read timing control module III;

所述操作数配置运算控制模块Ⅳ根据操作数存储器Ⅱ传输的第1个操作数的除法方式和类型,选通配置除法运算器的二个输入端的操作数1和操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从操作数配置运算控制模块Ⅳ中读出中间运算结果和命令执行的最终运算结果。 According to the division mode and type of the first operand transmitted by the operand memory II, the operand configuration operation control module IV gates and configures the operand 1 and operand 2 of the two input terminals of the division operator, and can latch each The operation result of the second division operation is judged whether the operation result is abnormal; the system can read the intermediate operation result and the final operation result of command execution from the operand configuration operation control module IV.

如图2所示,所述命令字及其操作数写时序控制模块Ⅰ包括控制器识别1、写地址计数器2、写操作数脉冲发生控制模块3、方式类型寄存器4和与门Ⅰ5; As shown in Figure 2, the command word and its operand write sequence control module I include controller identification 1, write address counter 2, write operand pulse generation control module 3, mode type register 4 and AND gate I5;

所述控制器识别1的输入端和系统地址总线AB的A31到A27线连接,CS信号输出端与写操作数脉冲发生控制模块3的写启动信号输入端、操作数配置运算控制模块Ⅳ连接;所述控制器识别1输入A31到A27的地址值与控制器识别1所设定的地址值相等,则控制器识别1的CS信号输出端为“0”,否则CS信号输出端为“1”; The input terminal of the controller identification 1 is connected to the A31 to A27 lines of the system address bus AB, and the CS signal output terminal is connected to the write start signal input terminal of the write operand pulse generation control module 3 and the operand configuration operation control module IV; The address value of the controller identification 1 input A31 to A27 is equal to the address value set by the controller identification 1, then the CS signal output terminal of the controller identification 1 is "0", otherwise the CS signal output terminal is "1" ;

所述写地址计数器2的操作数个数输入端与系统数据总线DB的D6和D0线连接,写预置脉冲输入端与写操作数脉冲发生控制模块3的脉冲①_1输出端连接,写计数脉冲输入端与写操作数脉冲发生控制模块3的脉冲③_1输出端连接,写地址输出端与操作数存储器Ⅱ的写地址输入端AB_1连接,写溢出输出端和与门Ⅰ5的一个输入端连接; The operand number input end of the write address counter 2 is connected with the D6 and D0 lines of the system data bus DB, the write preset pulse input end is connected with the pulse ①_1 output end of the write operand pulse generation control module 3, and the write count pulse The input terminal is connected to the pulse ③_1 output terminal of the write operand pulse generation control module 3, the write address output terminal is connected to the write address input terminal AB_1 of the operand memory II, and the write overflow output terminal is connected to an input terminal of the AND gate I5;

所述写操作数脉冲发生控制模块3的写同步脉冲输入端与系统写信号WR线连接,复位输入端和与门Ⅰ5的输出端连接,脉冲①_1输出端还与方式类型寄存器4锁存信号输入端连接,作为读预置脉冲与浮点操作数读时序控制模块Ⅲ连接,脉冲②_1输出端与操作数存储器Ⅱ写端口的WR_1输入端连接,作为读启动脉冲与浮点操作数读时序控制模块Ⅲ连接; The write synchronization pulse input terminal of the write operand pulse generation control module 3 is connected to the system write signal WR line, the reset input terminal is connected to the output terminal of the AND gate I5, and the pulse ①_1 output terminal is also connected to the mode type register 4 latch signal input Connected as a read preset pulse to the floating-point operand read timing control module III, the output of pulse ②_1 is connected to the WR_1 input of the operand memory II write port, used as a read start pulse and the floating-point operand read timing control module Ⅲ connection;

当CS为“0”时,所述写操作数脉冲发生控制模块3在系统第1个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1(参见图5),直到复位信号输入端由“1”→“0”才停止工作,置脉冲①_1、脉冲②_1和脉冲③_1输出端为“1”状态; When CS is "0", the write operand pulse generation control module 3 starts to work under the action of the first WR signal of the system, and outputs pulse ①_1, pulse ②_1, and pulse ③_1 in sequence (see Figure 5) until reset The signal input terminal stops working from "1"→"0", and the output terminals of pulse ①_1, pulse ②_1 and pulse ③_1 are set to "1" state;

所述方式类型寄存器4的输入端与系统数据总线DB的D8和D7线连接,方式输出端与操作数配置运算控制模块Ⅳ连接,类型输出端与浮点操作数读时序控制模块Ⅲ连接;  The input end of the mode type register 4 is connected to the D8 and D7 lines of the system data bus DB, the mode output end is connected to the operand configuration operation control module IV, and the type output end is connected to the floating-point operand read timing control module III;

所述与门Ⅰ5的另二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块Ⅳ连接; The other two input terminals of the AND gate I5 are respectively connected to the system reset signal Rst line and the operand configuration operation control module IV;

当控制器识别1输出的CS信号由“1”→“0”时,所述命令字及其操作数写时序控制模块Ⅰ启动写操作数脉冲发生控制模块3工作写操作数脉冲发生控制模块3发出与系统WR信号同步的时序脉冲序列信号(参见图5),在脉冲①_1下降沿的作用下,将指令的命令字的第1个操作数的除法方式和类型锁存在方式类型寄存器4中,将操作数个数值预置给写地址计数器2,作为写地址计数器2的计数初值和操作数存储器Ⅱ写端口的写地址初值,并置写溢出输出端为“1”状态;脉冲②_1作为操作数存储器Ⅱ写端口的WR_1信号,将操作数写入操作数存储器Ⅱ中;脉冲③_1作为写地址计数器2的写计数脉冲,这样每写入一个操作数,产生1个计数脉冲,写地址输出端输出的地址值-1指向操作数存储器Ⅱ写端口的下一个存储单元的地址,当写地址输出端输出的地址值由预置值减至“0”时,写溢出输出端由“1”→“0”,复位写操作数脉冲发生控制模块3,置所有的脉冲输出端为“1”状态。 When the controller recognizes that the CS signal output by 1 changes from "1" to "0", the command word and its operand write sequence control module I start the write operand pulse generation control module 3 to work , and the write operand pulse generation control module 3 Send out a timing pulse train signal (see Figure 5) synchronous with the system WR signal, under the action of the falling edge of pulse ①_1, the division mode and type of the first operand of the command word of the instruction are latched in the mode type register 4 , preset the value of the operand to the write address counter 2 as the initial count value of the write address counter 2 and the write address initial value of the operand memory II write port, and set the write overflow output terminal to "1"state; pulse ②_1 As the WR_1 signal of the write port of the operand memory II, the operand is written into the operand memory II; the pulse ③_1 is used as the write count pulse of the write address counter 2, so that each time an operand is written, a count pulse is generated, and the write address The address value -1 output by the output terminal points to the address of the next storage unit of the operand memory II write port. When the address value output by the write address output terminal decreases from the preset value to "0", the write overflow output terminal changes from "1" to "1". "→"0", reset the write operand pulse generation control module 3, and set all pulse output terminals to "1" state.

如图3所示,所述浮点操作数读时序控制模块Ⅲ包括读地址计数器6、读操作数脉冲发生控制模块7、与门Ⅱ8、与门Ⅲ9和与门Ⅳ10; As shown in Figure 3, the floating-point operand read timing control module III includes a read address counter 6, a read operand pulse generation control module 7, an AND gate II8, an AND gate III9 and an AND gate IV10;

所述读地址计数器6的操作数个数输入端与系统数据总线DB的D6和D0线连接,读预置脉冲输入端与写操作数脉冲发生控制模块3的脉冲①_1输出端连接,读计数脉冲输入端和与门Ⅳ10的输出端连接,读地址输出端与操作数存储器Ⅱ的读地址输入端AB_2连接,读溢出输出端与读操作数脉冲发生控制模块7的读溢出输入端连接; The operand number input end of the read address counter 6 is connected with the D6 and D0 lines of the system data bus DB, the read preset pulse input end is connected with the pulse ①_1 output end of the write operand pulse generation control module 3, and the count pulse is read The input terminal is connected with the output terminal of AND gate IV 10, the read address output terminal is connected with the read address input terminal AB_2 of the operand memory II, and the read overflow output terminal is connected with the read overflow input terminal of the read operand pulse generation control module 7;

所述读地址计数器6在读预置脉冲的作用下将输入命令的操作数个数作为计数初值、操作数存储器Ⅱ读端口的读地址初值,并置读溢出输出端信号为“1”状态;每来一个读计数脉冲,读地址计数器6的读地址值-1,修改操作数存储器Ⅱ读端口存储单元地址值,当读地址计数器6输出的读地址值由预置值减至“0”时,读溢出输出端由“1”→“0”,读溢出输出信号是操作数读出过程结束的标志; The read address counter 6 uses the number of operands of the input command as the initial value of counting and the initial value of the read address of the operand memory II read port under the action of the read preset pulse, and sets the read overflow output terminal signal to "1" state ; Every time a read count pulse comes, the read address value of the read address counter 6 is -1, and the address value of the storage unit of the operand memory II read port is modified, when the read address value output by the read address counter 6 is reduced from the preset value to "0" When , the read overflow output terminal changes from "1" to "0", and the read overflow output signal is a sign of the end of the operand read process;

所述读操作数脉冲发生控制模块7的读同步脉冲输入端与系统时钟Clock线连接,复位输入端和与门Ⅲ9的输出端连接,读启动输入端与写操作数脉冲发生控制模块3的脉冲②_1输出端连接,读时序控制输入端与方式类型寄存器4的类型输出端连接;脉冲①_2输出端和与门Ⅱ8的一个输入端、操作数配置运算控制模块Ⅳ连接;脉冲②_2输出端和与门Ⅳ10的一个输入端、操作数配置运算控制模块Ⅳ连接,脉冲③_2输出端和与门Ⅱ8的另一个输入端连接;脉冲④_2输出端和与门Ⅳ10的另一个输入端连接;脉冲⑤_2输出端、脉冲⑥_2输出端与操作数配置运算控制模块Ⅳ连接;Busy输出端向系统输出Busy忙信号; The read synchronization pulse input end of the read operand pulse generation control module 7 is connected to the system clock Clock line, the reset input end is connected to the output end of the AND gate III 9, and the read start input end is connected to the write operand pulse generation control module 3. ②_1 output terminal connection, the read timing control input terminal is connected with the type output terminal of the mode type register 4; the pulse ①_2 output terminal is connected with an input terminal of the AND gate II 8, and the operand configuration operation control module IV; the pulse ②_2 output terminal is connected with the AND gate An input terminal of Ⅳ10 is connected to the operand configuration operation control module Ⅳ, the output terminal of pulse ③_2 is connected to the other input terminal of AND gate Ⅱ8; the output terminal of pulse ④_2 is connected to the other input terminal of AND gate Ⅳ10; the output terminal of pulse ⑤_2, The pulse ⑥_2 output terminal is connected to the operand configuration operation control module IV; the Busy output terminal outputs a Busy busy signal to the system;

所述与门Ⅱ8的输出端与操作数存储器Ⅱ的读信号输入端RD_2连接; The output end of the AND gate II 8 is connected to the read signal input end RD_2 of the operand memory II;

所述与门Ⅲ9的二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块Ⅳ连接; The two input terminals of the AND gate III9 are respectively connected to the system reset signal Rst line and the operand configuration operation control module IV;

当复位输入端为“1”时,所述浮点操作数读时序控制模块Ⅲ在脉冲①_1的读预置脉冲作用下将操作数个数值预置给读地址计数器6,操作数存储器Ⅱ读端口的地址初值为操作数个数值;在第一个脉冲②_1的读启动脉冲作用下启动读操作数脉冲发生控制模块7的工作,Busy输出端由“1”→“0”; When the reset input terminal is "1", the floating-point operand read timing control module III presets the operand value to the read address counter 6 under the action of the read preset pulse of pulse ①_1, and the operand memory II reads the port The initial value of the address is the value of the number of operands; under the action of the read start pulse of the first pulse ②_1, the work of the read operand pulse generation control module 7 is started, and the Busy output terminal changes from "1" to "0";

当读操作数脉冲发生控制模块7的读时序控制输入端输入的类型信号为“0”时,按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2,以及发出一个脉冲⑥_2(参见图6),当读溢出输入端信号由“1”→“0”时,置脉冲③_2、脉冲④_2输出端为“1”,停止脉冲③_2和脉冲④_2产生,经过一个运算周期时间,Busy输出端由“0”→“1”状态,输出一个时钟周期Clock的锁存结果脉冲⑤_2,然后置脉冲⑤_2输出端为“1”,浮点操作数读时序控制模块Ⅲ停止工作; When the type signal input by the read timing control input terminal of the read operand pulse generation control module 7 is "0", pulses ③_2, pulse ④_2, pulse ⑤_2, and a pulse ⑥_2 are sent cyclically in sequence (see Figure 6). When the signal at the read overflow input terminal changes from "1" to "0", set the output terminals of pulse ③_2 and pulse ④_2 to "1", stop the generation of pulse ③_2 and pulse ④_2, and after one operation cycle time, the Busy output terminal changes from "0" to "0" In the "1" state, output the latch result pulse ⑤_2 of a clock cycle Clock, and then set the output terminal of pulse ⑤_2 to "1", and the floating-point operand read timing control module III stops working;

当读操作数脉冲发生控制模块7的读时序控制输入端输入的类型信号为“1”时,按照顺序发出脉冲①_2和脉冲②_2,再按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2(参见图7),脉冲③_2、脉冲④_2、脉冲⑤_2产生过程与类型信号为“0”时相同。 When the input type signal of the read timing control input terminal of the read operand pulse generation control module 7 is "1", pulse ①_2 and pulse ②_2 are sent out in sequence, and then pulse ③_2, pulse ④_2, and pulse ⑤_2 are sent cyclically in sequence (see Fig. 7), the generation process of pulse ③_2, pulse ④_2 and pulse ⑤_2 is the same as when the type signal is "0".

如图4所示,所述操作数配置运算控制模块Ⅳ包括选通器11、结果寄存器12、操作数交换器13、浮点数除法运算器14、运算异常标志控制15、32位三态门组16、与门Ⅴ17、与门Ⅵ18、或门Ⅰ19和或门Ⅱ20; As shown in Figure 4, the operand configuration operation control module IV includes a strobe 11, a result register 12, an operand switch 13, a floating-point number division operator 14, an operation exception flag control 15, and a 32-bit tri-state gate group 16. AND gate V17, AND gate VI18, OR gate I19 and OR gate II20;

所述选通器11的二个输入端分别和操作数存储器Ⅱ的操作数输出端DB_2、浮点数除法运算器14的运算结果输出端连接,输出端和结果寄存器12的输入端连接;选通控制输入端和与门Ⅴ17的输出端连接; The two input terminals of the strobe 11 are respectively connected with the operand output terminal DB_2 of the operand memory II and the operation result output terminal of the floating-point number division operator 14, and the output terminal is connected with the input terminal of the result register 12; The control input terminal is connected with the output terminal of the AND gate V17;

所述结果寄存器12的输出端和操作数交换器13的交换数1输入端、32位三态门组16输入端连接;结果锁存信号输入端和与门Ⅵ18的输出端连接; The output end of the result register 12 is connected to the exchange number 1 input end of the operand switcher 13 and the 32-bit tri-state gate group 16 input ends; the result latch signal input end is connected to the output end of the AND gate VI18;

所述操作数交换器13的交换数2输入端与操作数存储器Ⅱ的操作数输出端DB_2连接,交换控制端和或门Ⅰ19的输出端连接,二个输出端分别与浮点数除法运算器14的操作数1输入端、操作数2输入端连接; The exchange number 2 input terminal of the operand switcher 13 is connected to the operand output terminal DB_2 of the operand memory II, the exchange control terminal is connected to the output terminal of the OR gate I19, and the two output terminals are respectively connected to the floating-point number division operator 14 The input terminal of operand 1 and the input terminal of operand 2 are connected;

所述浮点数除法运算器14的运算结果输出端还与运算异常标志控制15的运算结果输入端连接; The operation result output end of described floating-point number division operator 14 is also connected with the operation result input end of operation exception flag control 15;

所述运算异常标志控制15的锁存结果脉冲输入端与读操作数脉冲发生控制模块7的锁存结果脉冲⑤_2输出端连接;IRQ输出端和与门Ⅰ5的另一个输入端、与门Ⅲ9的另一个输入端连接,IRQ输出端还向系统输出中断请求信号IRQ;当中间运算结果或最终运算结果出现异常时,所述运算异常标志控制15向系统发出中断请求信号IRQ,并复位写操作数脉冲发生控制模块3和读操作数脉冲发生控制模块7; The latch result pulse input end of the operation abnormality flag control 15 is connected with the latch result pulse ⑤_2 output end of the read operand pulse generation control module 7; The other input terminal is connected, and the IRQ output terminal also outputs the interrupt request signal IRQ to the system; when the intermediate operation result or the final operation result is abnormal, the operation exception flag control 15 sends the interrupt request signal IRQ to the system, and resets the write operand Pulse generation control module 3 and read operand pulse generation control module 7;

所述32位三态门组16的输出端和系统数据总线DB连接,控制输入端和或门Ⅱ20的输出端连接; The output end of the 32-bit tri-state gate group 16 is connected to the system data bus DB, and the control input end is connected to the output end of the OR gate II 20;

所述与门Ⅴ17的二个输入端分别与读操作数脉冲发生控制模块7的脉冲①_2、脉冲②_2的输出端连接; The two input terminals of the AND gate V17 are respectively connected with the output terminals of pulse ①_2 and pulse ②_2 of the read operand pulse generation control module 7;

所述与门Ⅵ18的二个输入端分别与读操作数脉冲发生控制模块7的脉冲②_2、脉冲⑤_2的输出端连接; The two input terminals of the AND gate VI18 are respectively connected to the output terminals of the pulse ②_2 and the pulse ⑤_2 of the read operand pulse generation control module 7;

所述或门Ⅰ19的一个输入端与方式类型寄存器4的方式输出端连接,另一个输入端与读操作数脉冲发生控制模块7的脉冲⑥_2输出端连接; An input end of the OR gate I19 is connected to the mode output end of the mode type register 4, and the other input end is connected to the pulse ⑥_2 output end of the read operand pulse generation control module 7;

所述或门Ⅱ20的二个输入端分别与控制器识别1的CS信号输出端、系统读信号RD线连接;当CS为“0”时,在系统RD信号的作用下,读出中间运算结果或命令执行的最终运算结果。 The two input terminals of the OR gate II 20 are respectively connected to the CS signal output terminal of the controller identification 1 and the system read signal RD line; when CS is "0", under the action of the system RD signal, the intermediate operation result is read out Or the final operation result of command execution.

如图2、图3、图4所示,所述浮点操作数读时序控制模块Ⅲ与方式类型寄存器4的类型输出端连接;所述操作数配置运算控制模块Ⅳ与方式类型寄存器4的方式输出端连接;类型的定义是从操作数存储器Ⅱ读出的第1个操作数的类型,方式的定义是当类型为“0”时,第1个操作数参加除法运算的处理方式; As shown in Figure 2, Figure 3 and Figure 4, the floating-point operand read timing control module III is connected to the type output of the mode type register 4; the operand configuration operation control module IV and the mode of the mode type register 4 The output terminal is connected; the definition of type is the type of the first operand read from the operand memory II, and the definition of mode is the processing method for the first operand to participate in the division operation when the type is "0";

类型0:第1个操作数作为参与除运算的操作数2,运算结果作为操作数1; Type 0: The first operand is used as operand 2 participating in the division operation, and the operation result is used as operand 1;

类型1:第1个操作数作为参与除运算的操作数1,第2个操作数作为操作数2; Type 1: The first operand is used as operand 1 participating in the division operation, and the second operand is used as operand 2;

所述读操作数脉冲发生控制模块7输出的脉冲①_2、脉冲②_2只在方式类型寄存器4输出的类型为“1”时产生;当脉冲①_2或脉冲②_2为“0”时,选通器11的选通控制输入端为“0”,选通器11输出从操作数存储器Ⅱ读出的第1个操作数;脉冲①_2和脉冲②_2都为“1”时,选通器11输出运算结果; The pulse 1._2 and pulse 2._2 output of the read operand pulse generation control module 7 are only generated when the type of the mode type register 4 output is "1"; When the gating control input terminal is "0", the gating device 11 outputs the first operand read from the operand memory II; when both pulse ①_2 and pulse ②_2 are "1", the gating device 11 outputs the operation result;

从操作数存储器Ⅱ读出的第1个操作数参加除法运算,方式类型寄存器4输出的方式和类型信号控制正在执行命令的第1个操作数和运算结果的除法方式: The first operand read from the operand memory II participates in the division operation, and the mode and type signal output by the mode type register 4 controls the division mode of the first operand and the operation result of the command being executed:

方式为“0”,类型为“0”:类型为“0”结果寄存器12输出的是运算结果,操作数交换器13的交换数1输入端为运算结果,操作数交换器13的交换数2输入端为从操作数存储器Ⅱ读出的第1个操作数;当读第1个操作数时,此时脉冲⑥_2为“0”有效,由于方式为“0”状态,使得操作数交换器13的控制端为“0”,操作数交换器13的交换数1输入端的运算结果作为操作数交换器13输出的操作数2,操作数交换器13的交换数,2输入端的第1个操作数作为操作数交换器13输出的操作数1,即操作数交换器13的2个输入和2个输出进行交换传输,执行第1个操作数/运算结果的除法运算; The mode is "0", the type is "0": what the type is "0" the output of the result register 12 is the operation result, the exchange number 1 input terminal of the operand switcher 13 is the operation result, and the exchange number 2 of the operand switcher 13 The input terminal is the first operand read from the operand memory II; when the first operand is read, the pulse ⑥_2 is "0" valid, and the operand switch 13 The control terminal of the operand switcher 13 is "0", the operation result of the input terminal of the switch number 1 of the operand switcher 13 is used as the operand 2 output by the operand switcher 13, the switch number of the operand switcher 13, and the first operand of the 2 input terminal As the operand 1 output by the operand switcher 13, that is, the 2 inputs and 2 outputs of the operand switcher 13 are exchanged and transmitted, and the division operation of the first operand/operation result is performed;

方式为“1”,类型为“0”:当读第1个操作数时,此时虽然脉冲⑥_2为“0”有效,但方式为“1”状态,使得操作数交换器13的控制端为“1”,操作数交换器13的2个输入和2个输出不进行交换传输;运算结果作为浮点数除法运算器14的操作数1,第1个操作数作为操作数2,执行运算结果/第1个操作数的除法运算; The mode is "1", and the type is "0": when reading the first operand, although the pulse ⑥_2 is "0" valid at this time, the mode is in the "1" state, so that the control terminal of the operand switch 13 is "1", the 2 inputs and 2 outputs of the operand switcher 13 are not exchanged and transmitted; the operation result is used as the operand 1 of the floating-point number division operator 14, and the first operand is used as the operand 2, and the operation result/ The division operation of the first operand;

当类型为“1”时,第1个操作数的配置与输入的方式信号状态无关,读操作数脉冲发生控制模块7不会产生脉冲⑥_2信号,脉冲⑥_2输出端为“1”状态,使得操作数交换器13的控制端为“1”,操作数交换器13的2个输入和2个输出不进行交换传输;第1个操作数作为浮点数除法运算器14的操作数1,第2个操作数作为操作数2,执行第1个操作数/第2个操作数的运算。 When the type is "1", the configuration of the first operand has nothing to do with the signal state of the input mode, the read operand pulse generation control module 7 will not generate the pulse ⑥_2 signal, and the output terminal of the pulse ⑥_2 is in the "1" state, making the operation The control terminal of number switcher 13 is " 1 ", and 2 inputs and 2 outputs of operand switcher 13 do not exchange and transmit; The operand is operand 2, and the operation of the 1st operand/2nd operand is performed.

Claims (5)

1.一种多浮点操作数除运算控制器,实现多个32位符合IEEE754标准的浮点数除法运算,其特征在于:该控制器包括命令字及其操作数写时序控制模块(Ⅰ)、操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ); 1. A multi-floating-point operand division operation controller realizes multiple 32-bit floating-point number division operations that meet the IEEE754 standard, and is characterized in that: the controller includes a command word and its operand write sequence control module (I), Operand memory (II), floating-point operand read timing control module (III), operand configuration operation control module (IV); 所述命令字及其操作数写时序控制模块(Ⅰ)与操作数存储器(Ⅱ)、浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ)连接; The command word and its operand writing sequence control module (I) are connected with the operand memory (II), the floating-point operand reading sequence control module (III), and the operand configuration operation control module (IV); 所述操作数存储器(Ⅱ)还与浮点操作数读时序控制模块(Ⅲ)、操作数配置运算控制模块(Ⅳ)连接; The operand memory (II) is also connected to the floating-point operand read timing control module (III) and the operand configuration operation control module (IV); 所述浮点操作数读时序控制模块(Ⅲ)还与操作数配置运算控制模块(Ⅳ)连接; The floating-point operand read timing control module (III) is also connected to the operand configuration operation control module (IV); 所述命令字及其操作数写时序控制模块(Ⅰ)控制完成指令的写入和存储,需要占用系统总线;一条指令包括9位命令字和若干个操作数,操作数最多为127个;所述命令字及其操作数写时序控制模块(Ⅰ)被系统选中时,启动命令字及其操作数写时序控制模块(Ⅰ)工作,内部产生与系统WR信号同步的写时序脉冲序列;在写时序脉冲的控制下,锁存多浮点操作数除法指令的命令字,写入多浮点操作数予以存储;最后一个操作数被写入存储后,所述命令字及其操作数写时序控制模块(Ⅰ)停止工作; The command word and its operand write timing control module (I) controls and completes the writing and storage of the instruction, which needs to occupy the system bus; an instruction includes a 9-bit command word and several operands, and the operands are at most 127; When the command word and its operand write timing control module (Ⅰ) is selected by the system, the command word and its operand write timing control module (Ⅰ) is started to work, and the write timing pulse sequence synchronous with the system WR signal is generated internally; Under the control of the timing pulse, the command word of the multi-floating-point operand division instruction is latched, and the multi-floating-point operand is written into and stored; after the last operand is written into storage, the command word and its operand write timing control Module (I) stops working; 所述操作数存储器(Ⅱ)为双端口存储器,一个只写端口,一个只读端口,用于储存浮点操作数(下称为操作数);所述操作数存储器(Ⅱ)的写端口操作数的写入和读端口操作数的读出不存在需要仲裁的情况;所述操作数存储器(Ⅱ)的写端口受命令字及其操作数写时序控制模块(Ⅰ)控制,将系统数据总线DB传输的操作数写入操作数存储器(Ⅱ);读端口受浮点操作数读时序控制模块(Ⅲ)控制,将操作数读出传输到操作数配置运算控制模块(Ⅳ); The operand memory (II) is a dual-port memory, with a write-only port and a read-only port for storing floating-point operands (hereinafter referred to as operands); the write port operation of the operand memory (II) There is no need for arbitration for the writing of data and the reading of the read port operand; the write port of the operand memory (II) is controlled by the command word and its operand write timing control module (I), and the system data bus The operand transmitted by DB is written into the operand memory (II); the read port is controlled by the floating-point operand read timing control module (III), and the operand read is transmitted to the operand configuration operation control module (IV); 所述浮点操作数读时序控制模块(Ⅲ)在内部读时序脉冲的控制下,自主完成浮点操作数从操作数存储器(Ⅱ)中的读出,不需要占用系统总线;所述浮点操作数读时序控制模块(Ⅲ)在命令字及其操作数写时序控制模块(Ⅰ)写入第1个操作数后被启动工作,输出忙信号Busy由“1”→“0”,并根据第1个操作数类型,内部产生与系统时钟Clock信号同步的读时序脉冲序列,按顺序将操作数读出参与除法运算;当参与运算的最后1个操作数读出之后,再经过一个除法运算的时间周期,输出忙信号Busy由“0”→“1”,发出一个时钟周期Clock的结果锁存脉冲后,停止浮点操作数读时序控制模块(Ⅲ)的工作; The floating-point operand read timing control module (III) independently completes the reading of the floating-point operand from the operand memory (II) under the control of the internal read timing pulse, without occupying the system bus; the floating-point The operand read sequence control module (Ⅲ) is started to work after the command word and its operand write sequence control module (Ⅰ) write the first operand, and the output busy signal Busy changes from "1" to "0", and according to The first operand type, internally generates a read timing pulse sequence synchronized with the system clock Clock signal, and reads out the operands in order to participate in the division operation; after the last operand participating in the operation is read out, a division operation is performed In the time period, the output busy signal Busy changes from "0" to "1", and after sending a clock cycle Clock result latch pulse, stop the work of the floating-point operand read timing control module (Ⅲ); 所述操作数配置运算控制模块(Ⅳ)根据操作数存储器(Ⅱ)传输的第1个操作数的除法方式和类型,选通配置除法运算器的二个输入端的操作数1和操作数2,能够锁存每次除法运算的运算结果,判断运算结果是否异常;系统能够从操作数配置运算控制模块(Ⅳ)中读出中间运算结果和命令执行的最终运算结果。 The operand configuration operation control module (IV) gates and configures operand 1 and operand 2 of the two input terminals of the division operator according to the division mode and type of the first operand transmitted by the operand memory (II), The operation result of each division operation can be latched to judge whether the operation result is abnormal; the system can read the intermediate operation result and the final operation result of command execution from the operand configuration operation control module (Ⅳ). 2.如权利要求1所述的多浮点操作数除运算控制器,其特征在于:所述命令字及其操作数写时序控制模块(Ⅰ)包括控制器识别(1)、写地址计数器(2)、写操作数脉冲发生控制模块(3)、方式类型寄存器(4)和与门Ⅰ(5); 2. The multi-floating-point operand division operation controller as claimed in claim 1 is characterized in that: the command word and its operand write timing control module (I) includes a controller identification (1), a write address counter ( 2), write operand pulse generation control module (3), mode type register (4) and AND gate I (5); 所述控制器识别(1)的输入端和系统地址总线AB的A31到A27线连接,CS信号输出端与写操作数脉冲发生控制模块(3)的写启动信号输入端、操作数配置运算控制模块(Ⅳ)连接;所述控制器识别(1)输入A31到A27的地址值与控制器识别(1)所设定的地址值相等,则控制器识别(1)的CS信号输出端为“0”,否则CS信号输出端为“1”; The input terminal of the controller identification (1) is connected to the A31 to A27 lines of the system address bus AB, the CS signal output terminal is connected to the write start signal input terminal of the write operand pulse generation control module (3), and the operand configuration operation control Module (Ⅳ) is connected; the address value of the controller identification (1) input A31 to A27 is equal to the address value set by the controller identification (1), then the CS signal output terminal of the controller identification (1) is " 0", otherwise the CS signal output terminal is "1"; 所述写地址计数器(2)的操作数个数输入端与系统数据总线DB的D6到D0线连接,写预置脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,写计数脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲③_1输出端连接,写地址输出端与操作数存储器(Ⅱ)的写地址输入端AB_1连接,写溢出输出端和与门Ⅰ(5)的一个输入端连接; The operand number input terminal of the write address counter (2) is connected to the D6 to D0 lines of the system data bus DB, and the write preset pulse input terminal is connected to the pulse ①_1 output terminal of the write operand pulse generation control module (3) , the write count pulse input terminal is connected to the pulse ③_1 output terminal of the write operand pulse generation control module (3), the write address output terminal is connected to the write address input terminal AB_1 of the operand memory (II), the write overflow output terminal and the AND gate One input terminal of Ⅰ(5) is connected; 所述写操作数脉冲发生控制模块(3)的写同步脉冲输入端与系统写信号WR线连接,复位输入端和与门Ⅰ(5)的输出端连接,脉冲①_1输出端还与方式类型寄存器(4)锁存信号输入端连接,作为读预置脉冲与浮点操作数读时序控制模块(Ⅲ)连接,脉冲②_1输出端与操作数存储器(Ⅱ)写端口的WR_1输入端连接,作为读启动脉冲与浮点操作数读时序控制模块(Ⅲ)连接; The write synchronization pulse input terminal of the write operand pulse generation control module (3) is connected to the system write signal WR line, the reset input terminal is connected to the output terminal of AND gate I (5), and the pulse ①_1 output terminal is also connected to the mode type register (4) The input terminal of the latch signal is connected as a read preset pulse to the floating-point operand read timing control module (Ⅲ), and the output terminal of pulse ②_1 is connected to the WR_1 input terminal of the write port of the operand memory (II) as a read The start pulse is connected to the floating-point operand read timing control module (Ⅲ); 当CS为“0”时,所述写操作数脉冲发生控制模块(3)在系统第1个WR信号的作用下启动工作,按照顺序输出脉冲①_1、脉冲②_1、脉冲③_1,直到复位信号输入端由“1”→“0”才停止工作,置脉冲①_1、脉冲②_1和脉冲③_1输出端为“1”状态; When CS is "0", the write operand pulse generation control module (3) starts working under the action of the first WR signal of the system, and outputs pulse ①_1, pulse ②_1, pulse ③_1 in sequence until the reset signal input terminal Stop working from "1"→"0", set the output terminals of pulse ①_1, pulse ②_1 and pulse ③_1 to "1" state; 所述方式类型寄存器(4)的输入端与系统数据总线DB的D8和D7线连接,方式输出端与操作数配置运算控制模块(Ⅳ)连接,类型输出端与浮点操作数读时序控制模块(Ⅲ)连接;  The input end of the mode type register (4) is connected to the D8 and D7 lines of the system data bus DB, the mode output end is connected to the operand configuration operation control module (IV), and the type output end is connected to the floating-point operand read timing control module (Ⅲ) connection; 所述与门Ⅰ(5)的另二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块(Ⅳ)连接; The other two input terminals of the AND gate I (5) are respectively connected to the system reset signal Rst line and the operand configuration operation control module (IV); 当控制器识别(1)输出的CS信号由“1”→“0”时,所述命令字及其操作数写时序控制模块(Ⅰ)启动写操作数脉冲发生控制模块(3)工作写操作数脉冲发生控制模块(3)发出与系统WR信号同步的时序脉冲序列信号,在脉冲①_1下降沿的作用下,将指令的命令字的第1个操作数的除法方式和类型锁存在方式类型寄存器(4)中,将操作数个数值预置给写地址计数器(2),作为写地址计数器(2)的计数初值和操作数存储器(Ⅱ)写端口的写地址初值,并置写溢出输出端为“1”状态;脉冲②_1作为操作数存储器(Ⅱ)写端口的WR_1信号,将操作数写入操作数存储器(Ⅱ)中;脉冲③_1作为写地址计数器(2)的写计数脉冲,这样每写入一个操作数,产生1个计数脉冲,写地址输出端输出的地址值-1指向操作数存储器(Ⅱ)写端口的下一个存储单元的地址,当写地址输出端输出的地址值由预置值减至“0”时,写溢出输出端由“1”→“0”,复位写操作数脉冲发生控制模块(3),置所有的脉冲输出端为“1”状态。 When the controller recognizes (1) that the output CS signal changes from "1" to "0", the command word and its operand write timing control module (I) starts the write operand pulse generation control module (3) to work , write The operand pulse generation control module (3) sends out a timing pulse sequence signal synchronized with the system WR signal, and under the action of the falling edge of pulse ①_1, the division mode and type of the first operand of the command word of the instruction are latched in the mode type In the register (4), the value of the operand is preset to the write address counter (2) as the initial count value of the write address counter (2) and the write address initial value of the write port of the operand memory (II), and write The overflow output terminal is in the "1"state; pulse ②_1 is used as the WR_1 signal of the write port of the operand memory (II), and the operand is written into the operand memory (II); pulse ③_1 is used as the write count pulse of the write address counter (2) , so that every time an operand is written, a count pulse is generated, and the address value -1 output by the write address output terminal points to the address of the next storage unit of the operand memory (II) write port. When the address output by the write address output terminal When the value is reduced from the preset value to "0", the write overflow output terminal changes from "1" to "0", resets the write operand pulse generation control module (3), and sets all pulse output terminals to the "1" state. 3. 如权利要求1所述的多浮点操作数除运算控制器,其特征在于:所述浮点操作数读时序控制模块(Ⅲ)包括读地址计数器(6)、读操作数脉冲发生控制模块(7)、与门Ⅱ(8)、与门Ⅲ(9)和与门Ⅳ(10); 3. The multi-floating-point operand division controller according to claim 1, characterized in that: the floating-point operand read timing control module (Ⅲ) includes a read address counter (6), a read operand pulse generation control Module (7), AND gate II (8), AND gate III (9) and AND gate IV (10); 所述读地址计数器(6)的操作数个数输入端与系统数据总线DB的D6到D0线连接,读预置脉冲输入端与写操作数脉冲发生控制模块(3)的脉冲①_1输出端连接,读计数脉冲输入端和与门Ⅳ(10)的输出端连接,读地址输出端与操作数存储器(Ⅱ)的读地址输入端AB_2连接,读溢出输出端与读操作数脉冲发生控制模块(7)的读溢出输入端连接; The operand number input terminal of the read address counter (6) is connected to the D6 to D0 lines of the system data bus DB, and the read preset pulse input terminal is connected to the pulse ①_1 output terminal of the write operand pulse generation control module (3) , the read count pulse input terminal is connected to the output terminal of AND gate IV (10), the read address output terminal is connected to the read address input terminal AB_2 of the operand memory (II), and the read overflow output terminal is connected to the read operand pulse generation control module ( 7) The read overflow input terminal connection; 所述读地址计数器(6)在读预置脉冲的作用下将输入命令的操作数个数作为计数初值、操作数存储器(Ⅱ)读端口的读地址初值,并置读溢出输出端信号为“1”状态;每来一个读计数脉冲,读地址计数器(6)的读地址值-1,修改操作数存储器(Ⅱ)读端口存储单元地址值,当读地址计数器(6)输出的读地址值由预置值减至“0”时,读溢出输出端由“1”→“0”,读溢出输出信号是操作数读出过程结束的标志; The read address counter (6) uses the number of operands of the input command as the initial value of the count and the initial value of the read address of the read port of the operand memory (II) under the action of the read preset pulse, and sets the read overflow output terminal signal as "1" state; each time a read count pulse comes, the read address value of the read address counter (6) is -1, and the address value of the read port storage unit in the operand memory (II) is modified, when the read address output by the read address counter (6) When the value is reduced from the preset value to "0", the read overflow output terminal changes from "1" to "0", and the read overflow output signal is a sign of the end of the operand read process; 所述读操作数脉冲发生控制模块(7)的读同步脉冲输入端与系统时钟Clock线连接,复位输入端和与门Ⅲ(9)的输出端连接,读启动输入端与写操作数脉冲发生控制模块(3)的脉冲②_1输出端连接,读时序控制输入端与方式类型寄存器(4)的类型输出端连接;脉冲①_2输出端和与门Ⅱ(8)的一个输入端、操作数配置运算控制模块(Ⅳ)连接;脉冲②_2输出端和与门Ⅳ(10)的一个输入端、操作数配置运算控制模块(Ⅳ)连接,脉冲③_2输出端和与门Ⅱ(8)的另一个输入端连接;脉冲④_2输出端和与门Ⅳ(10)的另一个输入端连接;脉冲⑤_2输出端、脉冲⑥_2输出端与操作数配置运算控制模块(Ⅳ)连接;Busy输出端向系统输出Busy忙信号; The read synchronization pulse input terminal of the read operand pulse generation control module (7) is connected to the system clock Clock line, the reset input terminal is connected to the output terminal of AND gate III (9), and the read start input terminal is connected to the write operand pulse generation The pulse ②_1 output terminal of the control module (3) is connected, the read timing control input terminal is connected to the type output terminal of the mode type register (4); the pulse ①_2 output terminal is connected to an input terminal of the AND gate II (8), and the operand configuration operation The control module (IV) is connected; the pulse ②_2 output terminal is connected with one input terminal of the AND gate IV (10), the operand configuration operation control module (IV) is connected, the pulse ③_2 output terminal is connected with the other input terminal of the AND gate II (8) Connection; the pulse ④_2 output terminal is connected to the other input terminal of the AND gate IV (10); the pulse ⑤_2 output terminal and the pulse ⑥_2 output terminal are connected to the operand configuration operation control module (IV); the Busy output terminal outputs a Busy busy signal to the system ; 所述与门Ⅱ(8)的输出端与操作数存储器(Ⅱ)的读信号输入端RD_2连接; The output end of the AND gate II (8) is connected to the read signal input end RD_2 of the operand memory (II); 所述与门Ⅲ(9)的二个输入端分别与系统复位信号Rst线、操作数配置运算控制模块(Ⅳ)连接; The two input terminals of the AND gate III (9) are respectively connected to the system reset signal Rst line and the operand configuration operation control module (IV); 当复位输入端为“1”时,所述浮点操作数读时序控制模块(Ⅲ)在脉冲①_1的读预置脉冲作用下将操作数个数值预置给读地址计数器(6),操作数存储器(Ⅱ)读端口的地址初值为操作数个数值;在第一个脉冲②_1的读启动脉冲作用下启动读操作数脉冲发生控制模块(7)的工作,Busy输出端由“1”→“0”; When the reset input terminal is "1", the floating-point operand read timing control module (Ⅲ) presets the value of the operand to the read address counter (6) under the action of the read preset pulse of pulse ①_1, and the operand The initial value of the address of the read port of the memory (II) is the number of operands; under the action of the read start pulse of the first pulse ②_1, the work of the read operand pulse generation control module (7) is started, and the Busy output terminal changes from "1" to "0"; 当读操作数脉冲发生控制模块(7)的读时序控制输入端输入的类型信号为“0”时,按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2,以及发出一个脉冲⑥_2,当读溢出输入端信号由“1”→“0”时,置脉冲③_2、脉冲④_2输出端为“1”,停止脉冲③_2和脉冲④_2产生,经过一个运算周期时间,Busy输出端由“0”→“1”状态,输出一个时钟周期Clock的锁存结果脉冲⑤_2,然后置脉冲⑤_2输出端为“1”,浮点操作数读时序控制模块(Ⅲ)停止工作; When the input type signal of the read timing control input terminal of the read operand pulse generation control module (7) is "0", pulses ③_2, pulse ④_2, pulse ⑤_2, and a pulse ⑥_2 are sent out in sequence, and when the read overflow input When the terminal signal changes from "1" to "0", set the output terminals of pulse ③_2 and pulse ④_2 to "1", stop the generation of pulse ③_2 and pulse ④_2, and after one calculation cycle time, the Busy output terminal changes from "0" to "1" state, output the latch result pulse ⑤_2 of a clock cycle Clock, and then set the output terminal of pulse ⑤_2 to "1", and the floating-point operand read timing control module (Ⅲ) stops working; 当读操作数脉冲发生控制模块(7)的读时序控制输入端输入的类型信号为“1”时,按照顺序发出脉冲①_2和脉冲②_2,再按照顺序循环发出脉冲③_2、脉冲④_2、脉冲⑤_2,脉冲③_2、脉冲④_2、脉冲⑤_2产生过程与类型信号为“0”时相同。 When the input type signal of the read timing control input terminal of the read operand pulse generation control module (7) is "1", pulse ①_2 and pulse ②_2 are sent out in sequence, and then pulse ③_2, pulse ④_2, and pulse ⑤_2 are sent out in sequence, The generation process of pulse ③_2, pulse ④_2 and pulse ⑤_2 is the same as when the type signal is "0". 4. 如权利要求1所述的多浮点操作数除运算控制器,其特征在于:所述操作数配置运算控制模块(Ⅳ)包括选通器(11)、结果寄存器(12)、操作数交换器(13)、浮点数除法运算器(14)、运算异常标志控制(15)、32位三态门组(16)、与门Ⅴ(17)、与门Ⅵ(18)、或门Ⅰ(19)和或门Ⅱ(20); 4. The multi-floating-point operand division operation controller according to claim 1, characterized in that: the operand configuration operation control module (IV) includes a gate (11), a result register (12), an operand Switcher (13), floating-point number division operator (14), operation exception flag control (15), 32-bit tri-state gate group (16), AND gate V (17), AND gate VI (18), or gate I (19) and OR gate II (20); 所述选通器(11)的二个输入端分别和操作数存储器(Ⅱ)的操作数输出端DB_2、浮点数除法运算器(14)的运算结果输出端连接,输出端和结果寄存器(12)的输入端连接;选通控制输入端和与门Ⅴ(17)的输出端连接; The two input terminals of the strobe (11) are respectively connected with the operand output terminal DB_2 of the operand memory (II) and the operation result output terminal of the floating-point number division operator (14), and the output terminal is connected with the result register (12 ) is connected to the input terminal; the gating control input terminal is connected to the output terminal of AND gate V (17); 所述结果寄存器(12)的输出端和操作数交换器(13)的交换数1输入端、32位三态门组(16)输入端连接;结果锁存信号输入端和与门Ⅵ(18)的输出端连接; The output terminal of the result register (12) is connected to the input terminal of the exchange number 1 of the operand switch (13) and the input terminal of the 32-bit tri-state gate group (16); the input terminal of the result latch signal is connected to the AND gate VI (18 ) output connection; 所述操作数交换器(13)的交换数2输入端与操作数存储器(Ⅱ)的操作数输出端DB_2连接,交换控制端和或门Ⅰ(19)的输出端连接,二个输出端分别与浮点数除法运算器(14)的操作数1输入端、操作数2输入端连接; The exchange number 2 input terminal of the operand switch (13) is connected to the operand output terminal DB_2 of the operand memory (II), the exchange control terminal is connected to the output terminal of the OR gate I (19), and the two output terminals are respectively It is connected with the operand 1 input terminal and the operand 2 input terminal of the floating-point number division operator (14); 所述浮点数除法运算器(14)的运算结果输出端还与运算异常标志控制(15)的运算结果输入端连接; The operation result output terminal of the floating-point number division operator (14) is also connected to the operation result input terminal of the abnormal operation flag control (15); 所述运算异常标志控制(15)的锁存结果脉冲输入端与读操作数脉冲发生控制模块(7)的锁存结果脉冲⑤_2输出端连接;IRQ输出端和与门Ⅰ(5)的另一个输入端、与门Ⅲ(9)的另一个输入端连接,IRQ输出端还向系统输出中断请求信号IRQ;当中间运算结果或最终运算结果出现异常时,所述运算异常标志控制(15)向系统发出中断请求信号IRQ,并复位写操作数脉冲发生控制模块(3)和读操作数脉冲发生控制模块(7); The latch result pulse input terminal of the abnormal operation flag control (15) is connected to the latch result pulse ⑤_2 output terminal of the read operand pulse generation control module (7); the IRQ output terminal is connected to the other of the AND gate I (5) The input terminal is connected to the other input terminal of gate III (9), and the IRQ output terminal also outputs an interrupt request signal IRQ to the system; when the intermediate operation result or the final operation result is abnormal, the operation abnormal flag control (15) sends The system sends an interrupt request signal IRQ, and resets the write operand pulse generation control module (3) and the read operand pulse generation control module (7); 所述32位三态门组(16)的输出端和系统数据总线DB连接,控制输入端和或门Ⅱ(20)的输出端连接; The output end of the 32-bit tri-state gate group (16) is connected to the system data bus DB, and the control input end is connected to the output end of the OR gate II (20); 所述与门Ⅴ(17)的二个输入端分别与读操作数脉冲发生控制模块(7)的脉冲①_2、脉冲②_2的输出端连接; The two input terminals of the AND gate V (17) are respectively connected to the output terminals of pulse ①_2 and pulse ②_2 of the read operand pulse generation control module (7); 所述与门Ⅵ(18)的二个输入端分别与读操作数脉冲发生控制模块(7)的脉冲②_2、脉冲⑤_2的输出端连接; The two input ends of the AND gate VI (18) are respectively connected to the output ends of pulse ②_2 and pulse ⑤_2 of the read operand pulse generation control module (7); 所述或门Ⅰ(19)的一个输入端与方式类型寄存器(4)的方式输出端连接,另一个输入端与读操作数脉冲发生控制模块(7)的脉冲⑥_2输出端连接; One input terminal of the OR gate I (19) is connected to the mode output terminal of the mode type register (4), and the other input terminal is connected to the pulse ⑥_2 output terminal of the read operand pulse generation control module (7); 所述或门Ⅱ(20)的二个输入端分别与控制器识别(1)的CS信号输出端、系统读信号RD线连接;当CS为“0”时,在系统RD信号的作用下,读出中间运算结果或命令执行的最终运算结果。 The two input terminals of the OR gate II (20) are respectively connected to the CS signal output terminal of the controller identification (1) and the system read signal RD line; when CS is "0", under the action of the system RD signal, Read out the intermediate operation result or the final operation result of command execution. 5. 如权利要求1所述的多浮点操作数除运算控制器,其特征在于:所述浮点操作数读时序控制模块(Ⅲ)与方式类型寄存器(4)的类型输出端连接;所述操作数配置运算控制模块(Ⅳ)与方式类型寄存器(4)的方式输出端连接;类型的定义是从操作数存储器(Ⅱ)读出的第1个操作数的类型,方式的定义是当类型为“0”时,第1个操作数参加除法运算的处理方式; 5. multi-floating-point operand division operation controller as claimed in claim 1, is characterized in that: described floating-point operand read timing control module (Ⅲ) is connected with the type output terminal of mode type register (4); The operand configuration operation control module (Ⅳ) is connected to the mode output terminal of the mode type register (4); the definition of the type is the type of the first operand read from the operand memory (II), and the definition of the mode is when When the type is "0", the first operand participates in the processing method of the division operation; 当操作数类型为“0”时:选通器(1)输出结果输出寄存器(16)输出的运算结果,在脉冲发生器(9)输出的脉冲①下降沿的作用下,运算结果寄存器(2)锁存结果输出寄存器(16)输出的运算结果,或门Ⅱ(7)的输出端由“1”→“0”,与门Ⅰ(8)的输出端由“1”→“0”, 操作数寄存器(3)锁存来自系统总线DB的操作数,则从操作数存储器(Ⅱ)读出的第1个操作数的除法运算的处理为如下两种方式: When the operand type is "0": the strobe (1) outputs the operation result output by the output register (16), and under the action of the falling edge of the pulse ① output by the pulse generator (9), the operation result register (2 ) the operation result output by the latch result output register (16), the output terminal of the OR gate II (7) changes from "1" to "0", the output terminal of the AND gate I (8) changes from "1" to "0", The operand register (3) latches the operand from the system bus DB, then the division operation of the first operand read from the operand memory (II) is processed in the following two ways: 运算方式为“0”:结果寄存器(12)输出的是运算结果,操作数交换器(13)的交换数1输入端为运算结果,操作数交换器(13)的交换数2输入端为从操作数存储器(Ⅱ)读出的第1个操作数;当读第1个操作数时,此时脉冲⑥_2为“0”有效,由于方式为“0”状态,使得操作数交换器(13)的控制端为“0”,操作数交换器(13)的交换数1输入端的运算结果作为操作数交换器(13)输出的操作数2,操作数交换器(13)的交换数2输入端的第1个操作数作为操作数交换器(13)输出的操作数1,即操作数交换器(13)的2个输入和2个输出进行交换传输,执行第1个操作数/运算结果的除法运算; The operation mode is "0": the output of the result register (12) is the operation result, the input terminal of the exchange number 1 of the operand switcher (13) is the operation result, and the input terminal of the exchange number 2 of the operand switcher (13) is the slave The first operand read from the operand memory (II); when the first operand is read, the pulse ⑥_2 is "0" valid at this time, and because the mode is "0", the operand switch (13) The control terminal of the operand switcher (13) is "0", and the operation result of the switch number 1 input terminal of the operand switcher (13) is used as the operand 2 output by the operand switcher (13), and the switch number 2 input terminal of the operand switcher (13) is The first operand is used as operand 1 output by the operand switch (13), that is, the two inputs and two outputs of the operand switch (13) are exchanged and transmitted, and the division of the first operand/operation result is performed operation; 运算方式为“1”: 当读第1个操作数时,此时虽然脉冲⑥_2为“0”有效,但方式为“1”状态,使得操作数交换器(13)的控制端为“1”,操作数交换器(13)的2个输入和2个输出不进行交换传输;运算结果作为浮点数除法运算器(14)的操作数1,第1个操作数作为操作数2,执行运算结果/第1个操作数的除法运算; The operation mode is "1": When reading the first operand, although the pulse ⑥_2 is "0" at this time, it is valid, but the mode is "1", so that the control terminal of the operand switch (13) is "1" , the 2 inputs and 2 outputs of the operand switcher (13) are not exchanged and transmitted; the operation result is used as operand 1 of the floating-point number division operator (14), the first operand is used as operand 2, and the operation result is executed / Division of the first operand; 当操作数类型为“1”时,第1个操作数的配置与输入的方式信号状态无关,读操作数脉冲发生控制模块(7)不会产生脉冲⑥_2信号,脉冲⑥_2输出端为“1”状态,使得操作数交换器(13)的控制端为“1”,操作数交换器(13)的2个输入和2个输出不进行交换传输;第1个操作数作为浮点数除法运算器(14)的操作数1,第2个操作数作为操作数2,执行第1个操作数/第2个操作数的运算。 When the operand type is "1", the configuration of the first operand has nothing to do with the signal state of the input mode, the read operand pulse generation control module (7) will not generate the pulse ⑥_2 signal, and the output of the pulse ⑥_2 is "1" state, so that the control end of the operand switch (13) is "1", and the 2 inputs and 2 outputs of the operand switch (13) do not exchange and transmit; the first operand is used as a floating-point number division operator ( 14) For operand 1, the second operand is used as operand 2, and the operation of the first operand/second operand is performed.
CN201310681578.3A 2013-12-13 2013-12-13 Division operation control unit for multiple floating-point operands Expired - Fee Related CN103645877B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310681578.3A CN103645877B (en) 2013-12-13 2013-12-13 Division operation control unit for multiple floating-point operands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310681578.3A CN103645877B (en) 2013-12-13 2013-12-13 Division operation control unit for multiple floating-point operands

Publications (2)

Publication Number Publication Date
CN103645877A true CN103645877A (en) 2014-03-19
CN103645877B CN103645877B (en) 2017-01-11

Family

ID=50251102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310681578.3A Expired - Fee Related CN103645877B (en) 2013-12-13 2013-12-13 Division operation control unit for multiple floating-point operands

Country Status (1)

Country Link
CN (1) CN103645877B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206826A (en) * 1990-11-07 1993-04-27 Kabushiki Kaisha Toshiba Floating-point division cell
CN1149734A (en) * 1995-10-31 1997-05-14 三星电子株式会社 Parallel treatment dividing circuit
CN201311633Y (en) * 2008-11-07 2009-09-16 中国北车股份有限公司大连电力牵引研发中心 Function module realized by floating point divider based on FPGA
CN102063284A (en) * 2010-12-13 2011-05-18 青岛海信信芯科技有限公司 Division operation method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206826A (en) * 1990-11-07 1993-04-27 Kabushiki Kaisha Toshiba Floating-point division cell
CN1149734A (en) * 1995-10-31 1997-05-14 三星电子株式会社 Parallel treatment dividing circuit
CN201311633Y (en) * 2008-11-07 2009-09-16 中国北车股份有限公司大连电力牵引研发中心 Function module realized by floating point divider based on FPGA
CN102063284A (en) * 2010-12-13 2011-05-18 青岛海信信芯科技有限公司 Division operation method and device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
R.V.K. PILLAI ET AL: "A Low Power Approach to Floating Point Adder Design for DSP Applications", 《JOURNAL OF VLSI SIGNAL PROCESSING SYSTEMS FOR SIGNAL,IMAGE AND VIDEO TECHNOLOGY》 *
张小妍 等: "高速浮点运算单元的FPGA实现", 《信息化研究》 *
张素萍 等: "单精度浮点运算单元的FPGA设计与实现", 《计算机测量与控制》 *
王松: "基于FPGA的浮点协处理器IP核设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN103645877B (en) 2017-01-11

Similar Documents

Publication Publication Date Title
CN104317770B (en) Data store organisation for many-core processing system and data access method
CN103927219A (en) Accurate-period simulation model for reconfigurable special processor core and hardware architecture thereof
CN102306141B (en) Method for describing configuration information of dynamic reconfigurable array
CN107562549A (en) Isomery many-core ASIP frameworks based on on-chip bus and shared drive
CN103677742B (en) Many floating-point operations number plus/minus arithmetic and control unit
CN203689501U (en) Multi-floating-point operand addition/subtraction operation controller
CN103645886B (en) Many floating-point operations number plus/minus, multiplication and division arithmetic and control unit
CN105718396B (en) A kind of I of big data master transmissions2C bus units and its means of communication
CN103645887B (en) Two instruction many floating-points operand plus/minus, multiplication and division operation control device
CN102708079B (en) Be applied to the method and system of the control data transmission of microcontroller
CN203746056U (en) Multi-operand four-arithmetic mixed fixed-point arithmetic operation controller
CN103645877B (en) Division operation control unit for multiple floating-point operands
CN203812229U (en) Multi-floating-point operand addition/subtraction, multiplication, and division operation controller
CN103631559B (en) Double-instruction multi-floating-point operand division operation controller
CN103677740B (en) Floating number plus/minus, multiplication and division computing perform controller
CN103645880B (en) Double instruction many floating-point operations number plus/minus arithmetic and control units
CN104238412B (en) Optoelectronic isolation type SPI-like channel based on DSP driving
CN203812228U (en) Floating-point division execution controller
CN103645881B (en) Execution controller for floating-point number addition/subtractionoperation operation
CN203689500U (en) Multi-floating-point operand division operation controller
CN203746055U (en) Floating-point addition/subtraction, multiplication, and division execution controller
CN103645879B (en) Execution controller for floating-point number division operation
CN203746058U (en) Floating-point addition/subtraction execution controller
JP2009527816A5 (en)
CN102033733A (en) Novel micro controller unit (MCU) structure

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170111

Termination date: 20211213