KR0126106B1 - Fuzzy arithemetic apparatus - Google Patents

Fuzzy arithemetic apparatus

Info

Publication number
KR0126106B1
KR0126106B1 KR1019940012597A KR19940012597A KR0126106B1 KR 0126106 B1 KR0126106 B1 KR 0126106B1 KR 1019940012597 A KR1019940012597 A KR 1019940012597A KR 19940012597 A KR19940012597 A KR 19940012597A KR 0126106 B1 KR0126106 B1 KR 0126106B1
Authority
KR
South Korea
Prior art keywords
fuzzy
register
microprocessor
operator
result
Prior art date
Application number
KR1019940012597A
Other languages
Korean (ko)
Other versions
KR960002043A (en
Inventor
이광형
박규호
김영달
Original Assignee
조백제
한국전기통신공사
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 조백제, 한국전기통신공사 filed Critical 조백제
Priority to KR1019940012597A priority Critical patent/KR0126106B1/en
Priority to JP7138330A priority patent/JP3014618B2/en
Publication of KR960002043A publication Critical patent/KR960002043A/en
Priority to US08/908,124 priority patent/US5822496A/en
Application granted granted Critical
Publication of KR0126106B1 publication Critical patent/KR0126106B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/043Architecture, e.g. interconnection topology based on fuzzy logic, fuzzy membership or fuzzy inference, e.g. adaptive neuro-fuzzy inference systems [ANFIS]

Abstract

A fuzzy operating apparatus is provided to simplify its hardware configuration and to provide various operators. The fuzzy operating apparatus comprises a register(20) for temporarily storing interim result of the operation; a multiplexer(31, 32) for selectively outputting one of the output signals of the register(20) in response to a control signal; a fuzzy operating device(40) for performing operation relative to the output of the multiplexer in accordance with the operation command; a state flag(50) for representing the state of the fuzzy operating device; and a microprocessor(10) for providing various operators produced by a micro-program with commands applied to the register(20), the multiplexer (31, 32), and the fuzzy operating device(40).

Description

퍼지연산장치Fuzzy Computing Equipment

제1도는 본 발명에 따른 퍼지연산장치의 구성도.1 is a block diagram of a fuzzy operation device according to the present invention.

제2도는 본 발명에 따른 퍼지연산장치에서 제공하는 기본적인 명령어를 나타낸 표.2 is a table showing the basic instructions provided by the fuzzy computing device according to the present invention.

제3도는 제2도의 기본 연산 명령어를 조합하여 생성한 연산식을 나타낸 예시도.3 is an exemplary diagram showing an expression generated by combining the basic operation instructions of FIG.

제4도는 제3도의 퍼지연산자를 마이크로 프로그램으로 나타낸 예시도.4 is an exemplary diagram illustrating a microprogram of a fuzzy operator of FIG. 3.

제5도는 마이크로 프로세서에서 제공하는 퍼지연산자의 처리 동작을 나타낸 흐름도.5 is a flowchart showing the processing operation of a fuzzy operator provided by a microprocessor.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : 마이크로 프로세서20 : 레지스터10 microprocessor 20 register

31, 32 : 멀티플렉서40 : 퍼지연산기31, 32: multiplexer 40: fuzzy operator

50 : 상태 레지스터50: status register

본 발명은 퍼지연산장치에 관한 것으로, 특히 다양한 퍼지연산자를 마이크로 프로그램으로 작성하여 제공하는 퍼지연산장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a fuzzy computing device, and more particularly, to a fuzzy computing device for preparing and providing various purge operators with a micro program.

일반적으로, 퍼지정보를 처리하는 퍼지 하드웨어는 내부에 퍼지연산을 수행하는 퍼지연산장치를 갖는데, 종래의 퍼지연산장치는 특정 퍼지연산자만을 제공하는 제한된 기능을 수행하였다.In general, the fuzzy hardware for processing fuzzy information has a fuzzy operation device for performing a fuzzy operation therein, the conventional fuzzy operation device performs a limited function to provide only a specific fuzzy operator.

즉, 종래의 대부분의 퍼지연산장치는 퍼지연산자중 논리연산자(MIN, MAX)만을 처리할 수 있도록 구성되어 있고, 상기와 같은 논리연산자로 구성된 퍼지 추론칩의 형태로 사용되어 맴다니(Mamdani)의 퍼지추론을 수해하였다.That is, most conventional fuzzy computing devices are configured to process only logical operators (MIN and MAX) among fuzzy operators, and are used in the form of a fuzzy inference chip composed of the above logical operators. Fuzzy reasoning was done.

그러나, 퍼지연산자의 종류는 매우 다양하고, 각각의 연산자는 고유의 특성을 갖는다. 또한, 퍼지의 응용 분야가 확대됨에 따라 다양한 기능을 가진 퍼지연산을 위한 하드웨어가 요구되기 때문에 퍼지연산장치에 다양한 퍼지연산자를 제공하기 위한 하드웨어의 부가가 필요하게 되었다.However, there are many types of fuzzy operators, and each operator has its own characteristics. In addition, as the field of application of the purge is expanded, hardware for the fuzzy operation with various functions is required, and therefore, the addition of hardware for providing various fuzzy operators to the fuzzy computing device is required.

그러므로, 상기와 같이 다양한 퍼지연산자를 제공하기 위해 하드웨어를 부가하는 경우에는 이로 인한 비용 상승의 문제가 발생되고, 또한 하드웨어의 크기가 증가한다는 문제점이 있다.Therefore, in the case of adding hardware to provide various fuzzy operators as described above, there is a problem of a cost increase due to this, and there is a problem that the size of the hardware increases.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 다양한 퍼지연산자를 마이크로 프로그램으로 제공하는 퍼지연산장치를 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a fuzzy computing device that provides various fuzzy operators as a micro program.

상기 목적을 달성하기 위한 본 발명은, 연산의 중간 결과를 일시 저장하는 레지스트 ; 선택제어신호에 따라 각각 상기 레지스터로부터 출력된 다수개의 출력중 하나를 선택하는 적어도 2개의 멀티플렉서 ; 상기 멀티플렉서들로부터 입력된 값을 연산명령에 따라 연산을 수행하는 퍼지연산기 ; 상기 퍼지연산기에 의해 계산된 결과중 캐리가 발생되는 경우 이 상태를 저장하기 위한 상태 레지스터 ; 및 상기 레지스터와 멀티플렉서 및 퍼지연산기를 제어하는 마이크로 프로세서를 구비하되, 상기 마이크로 프로세서는 다양한 퍼지연산자를 제공할 수 있도록 구성되며, 상기 퍼지연산기는 상기 마이크로 프로세서로부터 제공된 연산명령에 따라 연산을 수행할 경우에 두개의 입력값의 합산 결과를 왼쪽 방향으로 쉬프트시켜 그 결과에 따라 캐리의 발생 여부를 판단하여, 캐리 발생시 마지막 유계 연산시(MAX) 1값을 사용하여 연산 결과가 항상 1이 되도록 한 것을 특징으로 한다.The present invention for achieving the above object is a resist for temporarily storing the intermediate result of the operation; At least two multiplexers for selecting one of a plurality of outputs respectively output from the registers according to a selection control signal; A fuzzy operator which performs arithmetic on values input from the multiplexers according to arithmetic instructions; A status register for storing this state when a carry occurs in the result calculated by the fuzzy operator; And a microprocessor for controlling the register, the multiplexer, and the fuzzy operator, wherein the microprocessor is configured to provide various fuzzy operators, and wherein the fuzzy operator performs an operation according to an operation instruction provided from the microprocessor. The result of the sum of the two input values is shifted to the left to determine whether the carry is generated according to the result, and when the carry occurs, the calculation result is always 1 by using the MAX value of 1 at the last calculation operation. It is done.

이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

제1도는 본 발명에 따른 퍼지연산장치의 구성도로서, 도면에서 10은 마이크로 프로세서, 20은 레지스터, 31, 32는 멀티플렉서(MUX), 40은 퍼지연산기, 50은 상태 레지스터를 각각 나타낸다.1 is a configuration diagram of a fuzzy computing device according to the present invention, in which 10 represents a microprocessor, 20 represents a register, 31 represents a multiplexer (MUX), 40 represents a fuzzy operator, and 50 represents a state register.

본 발명에 따른 퍼지연산장치는, 연산의 중간 결과를 일시 지정하기 위한 레지스터(20)와, 상기 레지스터(20)의 출력을 인가받아 선택 제어신호에 따라 하나의 신호를 선택적으로 출력하는 멀티플렉서(MUX)(31, 32)와, 상기 멀티플렉서(31, 32)의 출력을 인가받아 연산 제어명령에 따라 연산을 수행하는 퍼지연산기(40)와, 상기 퍼지연산기(40)에 의해 계산된 값의 캐리 상태를 나타내는 플래그 값을 저장하는 상태 레지스터(40)와, 상기 레지스터(20)와 멀티플렉서(31, 32) 및 퍼지연산기(40)에 제어명령을 제공하며, 마이크로 프로그램으로 작성된 다양한 퍼지연산자를 제공하는 마이크로 프로세서(10)를 구비한다.The fuzzy arithmetic apparatus according to the present invention includes a register 20 for temporarily specifying an intermediate result of an operation, and a multiplexer (MUX) for selectively outputting one signal according to a selection control signal by receiving an output of the register 20. (31, 32), the fuzzy operator 40 to receive the output of the multiplexer (31, 32) to perform the operation according to the operation control command, and the carry state of the value calculated by the fuzzy operator (40) A microprocessor that provides control instructions to the state register 40, which stores a flag value indicating a symbol, and to the register 20, the multiplexers 31 and 32, and the fuzzy operator 40, and provides various fuzzy operators created by a microprogram. It has a processor 10.

다음, 상기와 같은 구성을 갖는 본 발명의 작용 및 효과를 첨부된 제2도 이하를 참조하여 상세히 설명한다.Next, the operation and effects of the present invention having the configuration as described above will be described in detail with reference to FIG.

제2도는 본 발명에 따른 퍼지연산장치에서 제공하는 기본적인 퍼지연산자를 나타낸 것이고, 제3도는 상기 기본연산자를 조합하여 생성한 퍼지연산자를 나타낸 것이며, 제4도는 제3도의 퍼지연산자를 마이크로 프로그램으로 나타낸 것이다.2 shows a basic fuzzy operator provided by the fuzzy operator according to the present invention, FIG. 3 shows a fuzzy operator generated by combining the basic operators, and FIG. 4 shows the fuzzy operator of FIG. will be.

여기에서는, 마이크로 프로그램으로 작성된 퍼지연산자중 비교적 복잡한 유계 연산자(bounded product)(MAX(x+y-1,0))의 경우를 예로 들어 설명하기로 한다.Here, the case of a relatively complex bounded product (MAX (x + y-1,0)) among the fuzzy operators created by the microprogram will be described as an example.

제5도에 도시된 바와 같이 마이크로 프로세서(10)의 입력 선택 명령에 따라 입력값 x, y가 퍼지연산기(40)로 입력되면 상기 입력값은 논리적으로 0과 1사이의 값을 가지지만, 퍼지연산기(40)에서는 이를 128등급으로 구분하여 8비트로 표현된 0×00-0×80사이의 값으로 입력된 값을 처리한다.As shown in FIG. 5, when the input values x and y are input to the fuzzy operator 40 according to the input selection command of the microprocessor 10, the input values are logically between 0 and 1, but the fuzzy The operator 40 divides this into 128 classes and processes the input value as a value between 0x00-0x80 represented by 8 bits.

퍼지연산기에 의한 연산의 수행 결과는, 입력값 x, y의 합이 1보다 큰 경우에는 1을 뺀 나머지가 되며, 입력값 x, y의 합이 1보다 작은 경우에는 0이 된다.The result of the calculation performed by the fuzzy operator is 1 minus 1 when the sum of the input values x and y is greater than 1, and 0 when the sum of the input values x and y is less than 1.

이를 수행하기 위해 입력값 x, y의 값을 더한 다음, 1보다 큰지 아닌지를 검사하게 되는데, 연산을 수행하는 과정에서 중간 결과치인 x, y의 합인 0×00-0×100즉, 0에서 2사이의 값을 가진다.To do this, we add the values of input values x and y, and then check whether they are greater than or equal to 1. In the process of performing the operation, 0 × 00-0 × 100, which is the sum of intermediate values x and y, that is, 0 to 2 Has a value between

그러나, 퍼지연산장치의 내부 레지스터(20)는 8비트의 크기를 가지므로, 2의 값인 0×100은 바로 표현될 수 없으므로, 0×00의 값으로 레지스터(20)에는 저장되고, 이때 캐리가 발생되어 상태 레지스터(50)의 플레그는 캐리의 발생 상태를 알리기 위해 설정된다.However, since the internal register 20 of the fuzzy arithmetic unit has a size of 8 bits, 0 × 100, which is a value of 2, cannot be directly expressed, and thus, the carry 20 is stored in the register 20 with a value of 0 × 00. The flag generated in the status register 50 is set to inform the carry status of the carry.

따라서, 퍼지연산기(40)는 상태 레지스터(50)의 캐리 플래그를 검사하여 그 결과 캐리 플래그가 설정된 결과치가 2인 경우에는 별도로 연산처리를 수행하여야만 한다.Therefore, the fuzzy operator 40 must check the carry flag of the status register 50, and if the result value of which the carry flag is set is 2, the arithmetic operation must be performed separately.

본 발명에서는 결과치가 2인 경우 마지막 MAX 연산에서 0의 값을 사용하지 않고, 1의 값을 사용하여 그 결과가 항상 1이 되게 하였다.In the present invention, when the result value is 2, the result is always 1 by using a value of 1 instead of using a value of 0 in the last MAX operation.

또한, 입력값 x, y의 합산값이 1보다 큰지 아닌지를 검사하는 방법은 합산된 값을 왼쪽으로 쉬프트시켜 상태 레지스터(50)의 캐리 플래그에 최상위 비트를 설정하고, 이를 검사하여 1이면 입력값 x, y의 합산값이 1보다 큰 경우이고, 0이면 합산값이 1보다 작은 경우이다.In addition, the method of checking whether the sum of the input values x and y is greater than 1 sets the most significant bit in the carry flag of the status register 50 by shifting the sum to the left, and if the value is 1, the input value is checked. The sum of x and y is greater than 1, and the sum of x and y is less than 1.

그리고, 합산값이 1보다 클 경우 다시 오른쪽으로 쉬프트시켜 그 값에서 1을 뺀 값을 저장시키고, 그렇지 않고, 1보다 작을 경우에는 0을 저장시켜 이 저장된 값과 위에서 2일 때를 검사한 값을 MAX 연산하여 최종 결과를 얻는다.If the sum is greater than 1, it is shifted to the right again to store the value obtained by subtracting 1 from the value. Otherwise, if the sum is less than 1, 0 is stored to store this value and the value checked when it is 2 above. The MAX operation yields the final result.

따라서, 상기와 같은 본 발명은 다양한 퍼지연산자를 마이크로 프로그램으로 작성하여 제공함에 따라 하드웨어의 구성이 단순하면서도 다양한 연산자를 제공할 수 있는 효과가 있다.Therefore, the present invention as described above has the effect of providing a variety of operators with a simple hardware configuration by providing a variety of fuzzy operators in a micro program.

Claims (1)

연산의 중간 결과를 일시 저장하는 레지스터 ; 선택 제어신호에 따라 각각 상기 레지스터로부터 출력된 다수개의 출력중 하나를 선택하는 적어도 2개의 멀티플렉서 ; 상기 멀티플렉서들로부터 입력된 값을 연산명령에 따라 연산을 수행하는 퍼지연산기 ; 상기 퍼지연산기에 의해 계산된 결과중 캐리가 발생되는 경우 이 상태를 저장하기 위한 상태 레지스터 ; 및 상기 레지스터와 멀티플렉서 및 퍼지연산기를 제어하는 마이크로 프로세서를 구비하되, 상기 마이크로 프로세서는 다양한 퍼지연산자를 제공할 수 있도록 구성되며, 상기 퍼지연산기는 상기 마이크로 프로세서로부터 제공된 연산명령에 따라 연산을 수행할 경우에는 두개의 입력값의 합산 결과를 왼쪽 방향으로 쉬프트시켜 그 결과에 따라 캐리의 발생여부를 판단하며, 캐리 발생시 마지막 유계 연산시(MAX) 1의 값을 사용한 연산결과가 항상 1이 되도록 한 것을 특징으로 하는 퍼지연산장치.A register that temporarily stores the intermediate result of the operation; At least two multiplexers for selecting one of a plurality of outputs respectively output from the registers according to a selection control signal; A fuzzy operator which performs arithmetic on values input from the multiplexers according to arithmetic instructions; A status register for storing this state when a carry occurs in the result calculated by the fuzzy operator; And a microprocessor for controlling the register, the multiplexer, and the fuzzy operator, wherein the microprocessor is configured to provide various fuzzy operators, and wherein the fuzzy operator performs an operation according to an operation instruction provided from the microprocessor. In this case, the sum of two input values is shifted to the left to determine whether a carry is generated according to the result, and the calculation result using the value of MAX 1 at the time of the last bound calculation when carry occurs is always 1 Fuzzy computing device.
KR1019940012597A 1994-06-03 1994-06-03 Fuzzy arithemetic apparatus KR0126106B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019940012597A KR0126106B1 (en) 1994-06-03 1994-06-03 Fuzzy arithemetic apparatus
JP7138330A JP3014618B2 (en) 1994-06-03 1995-06-05 Fuzzy arithmetic unit
US08/908,124 US5822496A (en) 1994-06-03 1997-08-11 Fuzzy operation and defuzzification network apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940012597A KR0126106B1 (en) 1994-06-03 1994-06-03 Fuzzy arithemetic apparatus

Publications (2)

Publication Number Publication Date
KR960002043A KR960002043A (en) 1996-01-26
KR0126106B1 true KR0126106B1 (en) 1997-12-22

Family

ID=19384684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012597A KR0126106B1 (en) 1994-06-03 1994-06-03 Fuzzy arithemetic apparatus

Country Status (1)

Country Link
KR (1) KR0126106B1 (en)

Also Published As

Publication number Publication date
KR960002043A (en) 1996-01-26

Similar Documents

Publication Publication Date Title
US9383999B2 (en) Conditional compare instruction
US5859789A (en) Arithmetic unit
KR890005608A (en) Data processing device
EP1267258A2 (en) Setting up predicates in a processor with multiple data paths
US6470440B1 (en) Vector compare and maximum/minimum generation apparatus and method therefor
US6052522A (en) Method and apparatus for extracting data stored in concatenated registers
EP0869432A1 (en) Multiplication method and multiplication circuit
JPH0773156A (en) Data driving-type information processor
US6499046B1 (en) Saturation detection apparatus and method therefor
KR0126106B1 (en) Fuzzy arithemetic apparatus
JPH034936B2 (en)
US5801977A (en) System and method for clipping integers
JP2557629B2 (en) Interrupt method
JP3332606B2 (en) Microprocessor
US6122730A (en) "Test under mask high" instruction and "Test under mask low" instruction executing method and apparatus
JP2793357B2 (en) Parallel processing unit
JPH0869448A (en) Data driven information processor
GB1593136A (en) Data processing
GB2300054A (en) Clipping integers
JPH0460719A (en) Electronic computer
KR100257502B1 (en) Shifter operated without cluck
JP3137636B2 (en) Data processing device
JPH0895781A (en) Arithmetic and logic unit of processor
JPH02213937A (en) Data processor
JPH0553759A (en) Fixed decimal point arithmetic unit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071008

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee