JP2003288204A - Arithmetic processing unit, method of constructing it, and method of arithmetic processing - Google Patents

Arithmetic processing unit, method of constructing it, and method of arithmetic processing

Info

Publication number
JP2003288204A
JP2003288204A JP2002088916A JP2002088916A JP2003288204A JP 2003288204 A JP2003288204 A JP 2003288204A JP 2002088916 A JP2002088916 A JP 2002088916A JP 2002088916 A JP2002088916 A JP 2002088916A JP 2003288204 A JP2003288204 A JP 2003288204A
Authority
JP
Japan
Prior art keywords
register
arithmetic
instruction
read
value
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.)
Pending
Application number
JP2002088916A
Other languages
Japanese (ja)
Other versions
JP2003288204A5 (en
Inventor
Tomohisa Shiga
知久 志賀
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002088916A priority Critical patent/JP2003288204A/en
Priority to EP03715417A priority patent/EP1489493A1/en
Priority to KR10-2004-7015082A priority patent/KR20040097212A/en
Priority to PCT/JP2003/003716 priority patent/WO2003081422A1/en
Priority to US10/508,802 priority patent/US7581083B2/en
Publication of JP2003288204A publication Critical patent/JP2003288204A/en
Publication of JP2003288204A5 publication Critical patent/JP2003288204A5/ja
Priority to US11/821,424 priority patent/US20070250685A1/en
Priority to US11/821,447 priority patent/US20080046470A1/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To operate an assembly of registers like RAMs when the functions of a CPU, RAMs, ROMs and the like are assembled onto one chip, while also making these functional components occupy less substrate area than if they are separately positioned on substrates. <P>SOLUTION: This arithmetic processing unit includes a register array 11 having a plurality of registers for retaining certain values according to a write address Aw and a write control signal Sw and outputting the values according to a read address Ar; an ALU 12 for computing the values; a decoder 13 for decoding arithmetic instructions from an arithmetic program AP intended for operating the ALU 12; and an instruction execution control part 50 which controls the register array 11 and the ALU 12 to execute the arithmetic instructions. The instruction execution control part 50 executes a register-to- register addressing process for selecting one register according to the arithmetic instructions and selecting the other register according to the value retained by the one register. <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、各種電子機器に内
蔵可能でプログラム可能な1チップマイクロコンピュー
タ等に適用して好適な演算処理装置、その構築方法及び
演算処理方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing unit suitable for application to a programmable one-chip microcomputer or the like that can be incorporated in various electronic devices, a construction method thereof, and an arithmetic processing method.

【0002】詳しくは、演算命令を実行するためのレジ
スタアレイ及び演算部を制御する命令実行制御部を備
え、演算命令に基づいて一のレジスタを選択すると共
に、このレジスタが保持する値によって他のレジスタを
選択するレジスタ相対レジスタアドレッシング処理を実
行して、レジスタアレイをデータの随時書込み及び読出
し可能なメモリのように動作できるようにすると共に、
CPUや、RAM、ROM等を個々に基板に配置する場
合に比べて基板占有面積を低減できるようにしたもので
ある。
More specifically, a register array for executing an operation instruction and an instruction execution control section for controlling the operation section are provided, and one register is selected based on the operation instruction, and another value is held by the other register. Performs register-relative register addressing to select registers, allowing the register array to operate like a memory that can write and read data at any time.
The board occupying area can be reduced as compared with the case where the CPU, the RAM, the ROM and the like are individually arranged on the board.

【0003】[0003]

【従来の技術】近年、携帯端末装置や、電子カード、情
報処理装置等の各種電子機器にCPU(中央演算処理装
置)を含むマイクロプロセッサが使用される場合が多く
なってきた。この種のプロセッサで記憶装置にアクセス
しようとした場合、アクセス先がレジスタである場合と
外部メモリである場合とで別々のアクセス方法が採られ
る。
2. Description of the Related Art In recent years, a microprocessor including a central processing unit (CPU) is often used in various electronic devices such as portable terminal devices, electronic cards, and information processing devices. When an attempt is made to access a storage device with this type of processor, different access methods are used depending on whether the access destination is a register or an external memory.

【0004】アクセス先がレジスタである場合、例え
ば、ALU(Arithmetic LogicUnit:算術論理演算
ユニット)の周辺にはコピーレジスタやテンポラリレジ
スタ等が配置され、演算処理を行う場合、コピーレジス
タにデータを複写したり、演算処理後のデータをテンポ
ラリレジスタに一時記憶するようになされる。ALUが
レジスタ対レジスタの演算処理に適しているためであ
る。
When the access destination is a register, for example, a copy register, a temporary register, etc. are arranged around an ALU (Arithmetic Logic Unit), and when the arithmetic processing is performed, the data is copied to the copy register. Alternatively, the processed data is temporarily stored in the temporary register. This is because the ALU is suitable for register-to-register arithmetic processing.

【0005】アクセス先が外部メモリである場合、例え
ば、当該レジスタ番号が示す外部メモリの番地に情報を
書込む場合、CPUが当該外部メモリに対して、その格
納番地を指定する書込みアドレスと、書き込み信号とを
出力する。当該レジスタ番号が示す外部メモリの番地か
ら情報を読み出す場合は、CPUが当該外部メモリに対
して、その格納番地を指定する読出しアドレスと、読出
し信号を出力するようになされる。
When the access destination is an external memory, for example, when information is written to the address of the external memory indicated by the register number, the CPU writes to the external memory a write address that specifies the storage address and a write address. And output signals. When reading information from the address of the external memory indicated by the register number, the CPU outputs a read address designating the storage address and a read signal to the external memory.

【0006】このように、当該レジスタ番号が示す外部
メモリの番地に情報を格納したり、当該レジスタ番号が
示す外部メモリの番地から情報を読み出す際に、CPU
が当該外部メモリの格納番地(書込みアドレス又は読出
しアドレス)を指定する。このような処理はレジスタ相
対メモリアドレッシングと呼ばれる場合が多い。これ
は、通常、外部メモリがプロセッサと異なるデバイスに
実装されているためである。
In this way, when storing information in the address of the external memory indicated by the register number or reading information from the address of the external memory indicated by the register number, the CPU
Specifies the storage address (write address or read address) of the external memory. Such processing is often called register-relative memory addressing. This is because the external memory is usually implemented in a device different from the processor.

【0007】[0007]

【発明が解決しようとする課題】ところで、従来方式の
演算処理装置によれば、以下の二つの理由により、処理
速度の低下を招いていた。
By the way, according to the conventional processing unit, the processing speed is lowered due to the following two reasons.

【0008】 外部メモリにアクセスするためのアク
セス時間がかかることである。これは一般的に記憶装置
は特定のプロセッサに特化して作られていることは希で
あることから、プロセッサ側で、アクセスをしたい記憶
装置に合わせたインターフェースを用意しなければなら
ない。従って、記憶装置にアクセスする度にこのインタ
ーフェースを経由するため、アクセス時間がかかり、演
算処理速度が低下する。
That is, it takes access time to access the external memory. In general, a storage device is rarely made specifically for a specific processor, so that the processor side must prepare an interface according to the storage device to be accessed. Therefore, each time the storage device is accessed, it goes through this interface, so that it takes access time and the processing speed decreases.

【0009】 外部メモリからALUへ、またALU
から外部メモリへデータを転送する際の時間がかかる。
これは一般的にALUがレジスタ対レジスタの演算処理
に対応しているため、外部メモリ上に演算したいデータ
がある場合、一旦、外部メモリからコピーレジスタへデ
ータが複写され、その後、コピーレジスタからALUへ
データが転送されて演算処理を行うようになされる(レ
ジスタ相対メモリアドレッシング)。従って、演算処理
速度が低下する原因となる。
External memory to ALU, ALU
It takes time to transfer data from the memory to the external memory.
This is because the ALU generally corresponds to register-to-register arithmetic processing. Therefore, if there is data to be arithmetically operated on the external memory, the data is once copied from the external memory to the copy register, and then the ALU is copied from the copy register. Data is transferred to and arithmetic processing is performed (register-relative memory addressing). Therefore, it causes a decrease in the calculation processing speed.

【0010】 CPUや、RAM、ROM等の機能を
1チップに集合化して1チップマイクロコンピュータ等
を構成しようとした場合に、同一半導体チップ上にCP
Uを配置し、その周辺部にRAMやROM等を配置する
方法が考えられる。この方法は、レジスタ相対メモリア
ドレッシング処理に依存することとなって、演算処理速
度の向上が見込めない。
When the functions of CPU, RAM, ROM, etc. are integrated into one chip to configure a one-chip microcomputer or the like, CP is formed on the same semiconductor chip.
A method of arranging U and arranging a RAM, a ROM, and the like on the periphery thereof can be considered. This method depends on the register-relative memory addressing process, and cannot expect an improvement in the operation processing speed.

【0011】そこで、この発明はこのような従来の課題
を解決したものであって、CPUや、RAM、ROM等
の機能を1チップに集合化する場合に、レジスタの集合
体をデータの随時書込み及び読出し可能なメモリのよう
に動作できるようにすると共に、これらの機能部品等を
個々に基板に配置する場合に比べて基板占有面積を低減
できるようにした演算処理装置、その構築方法及び演算
処理方法を提供することを目的とする。
Therefore, the present invention has solved such a conventional problem, and when the functions of the CPU, RAM, ROM and the like are integrated into one chip, the aggregate of registers is written with data at any time. And an arithmetic processing unit capable of operating like a readable memory and capable of reducing the board occupying area as compared with the case where these functional components are individually arranged on the substrate, its construction method and arithmetic processing The purpose is to provide a method.

【0012】[0012]

【課題を解決するための手段】上述した課題は、任意の
演算プログラムに基づいて演算処理をする装置であっ
て、書込みアドレス及び書込み制御信号に基づいて任意
の値を保持し、及び、読出しアドレスに基づいて当該値
を出力するレジスタを複数有したレジスタアレイと、こ
のレジスタアレイから読み出された値を演算する演算部
と、この演算部を動作させるための演算プログラムから
演算命令を解読する命令解読部と、この命令解読部によ
って解読された演算命令を実行するためにレジスタアレ
イ及び演算部を制御する命令実行制御部とを備え、この
命令実行制御部は演算命令に基づいて一のレジスタを選
択し、ここで選択されたレジスタが保持する値によって
他のレジスタを選択するレジスタ相対レジスタアドレッ
シング処理を実行することを特徴とする演算処理装置に
よって解決される。
SUMMARY OF THE INVENTION The above-mentioned problem is an apparatus for performing arithmetic processing based on an arbitrary arithmetic program, which holds an arbitrary value based on a write address and a write control signal, and a read address. A register array having a plurality of registers for outputting the value based on the above, an arithmetic unit for operating the value read from the register array, and an instruction for decoding an arithmetic instruction from an arithmetic program for operating the arithmetic unit The instruction execution control unit includes a decoding unit and an instruction execution control unit that controls the register array and the operation unit to execute the operation instruction decoded by the instruction decoding unit. The instruction execution control unit stores one register based on the operation instruction. Select and select another register according to the value held in the register selected here Performs register-relative register addressing It is solved by the processing unit, characterized in that.

【0013】本発明に係る演算処理装置によれば、任意
の演算プログラムに基づいて演算処理をする場合に、命
令解読部では演算部を動作させるための演算プログラム
から演算命令が解読される。命令解読部によって解読さ
れた演算命令を実行するために命令実行制御部ではレジ
スタアレイ及び演算部を制御する。これを前提にして、
命令実行制御部では、演算命令に基づいて一のレジスタ
を選択し、ここで選択されたレジスタが保持する値によ
って他のレジスタを選択するレジスタ相対レジスタアド
レッシング処理を実行するようになされる。
According to the arithmetic processing apparatus of the present invention, when the arithmetic processing is performed based on an arbitrary arithmetic program, the instruction decoding section decodes the arithmetic instruction from the arithmetic program for operating the arithmetic section. The instruction execution control unit controls the register array and the arithmetic unit to execute the arithmetic instruction decoded by the instruction decoding unit. Assuming this,
The instruction execution control unit executes a register relative register addressing process of selecting one register based on the operation instruction and selecting another register according to the value held in the selected register.

【0014】レジスタアレイの個々のレジスタではレジ
スタ相対レジスタアドレッシング処理によって指定され
る書込みアドレス及び書込み制御信号に基づいて任意の
値を保持し、及び、読出しアドレスに基づいて当該値を
出力するようになされる。演算部ではレジスタアレイか
ら読み出された値を演算するようになされる。
Each register of the register array holds an arbitrary value based on the write address and the write control signal designated by the register relative register addressing process, and outputs the value based on the read address. It The arithmetic unit operates the value read from the register array.

【0015】従って、レジスタアレイをデータの随時書
込み及び読出し可能なメモリ(RAM)のように取り扱
うことができるので、従来方式の中央演算処理装置(C
PU)に比べて外部メモリの格納番地を指定するレジス
タ相対メモリアドレッシング処理に依存しなくなる。
Therefore, since the register array can be treated like a memory (RAM) in which data can be written and read at any time, a conventional central processing unit (C) can be used.
Compared to PU), it becomes independent of the register-relative memory addressing process that specifies the storage address of the external memory.

【0016】従来方式のCPUの中にRAMやROMの
機能を取り込むことができるので、高速演算処理を実行
すること、及び、CPUや、RAM、ROM等を個々に
基板に配置する場合に比べて基板占有面積を低減するこ
とができる。当該演算処理装置が適用される応用装置の
コンパクト化を図ることができる。
Since the functions of RAM and ROM can be incorporated in a conventional CPU, high-speed arithmetic processing can be performed, and in comparison with the case where the CPU, RAM, ROM, etc. are individually arranged on the substrate. The area occupied by the substrate can be reduced. The application device to which the arithmetic processing device is applied can be made compact.

【0017】本発明に係る演算処理装置の構築方法は、
任意の演算プログラムに基づいて演算処理をする装置を
構築する方法であって、予め同一半導体チップ上に複数
のメモリセル及び算術論理演算素子を形成し、メモリセ
ルを組み合わせてレジスタアレイ及び読出し専用メモリ
を画定すると共に、算術論理演算素子を組み合わせて演
算部、命令解読部及び命令実行制御部を画定し、その
後、レジスタアレイ、読出し専用メモリ、演算部、命令
解読部及び命令実行制御部を予め設定された配線情報に
基づいて結線すると共に、読出し専用メモリに任意の演
算プログラムを書込むことを特徴とするものである。
The construction method of the arithmetic processing unit according to the present invention is as follows:
A method of constructing an apparatus for performing arithmetic processing based on an arbitrary arithmetic program, which comprises previously forming a plurality of memory cells and arithmetic logic operation elements on the same semiconductor chip and combining the memory cells to form a register array and a read-only memory. And an arithmetic unit, an instruction decoding unit, and an instruction execution control unit are defined by combining arithmetic logic operation elements, and then a register array, a read-only memory, an arithmetic unit, an instruction decoding unit, and an instruction execution control unit are preset. It is characterized in that wiring is performed on the basis of the wired information and an arbitrary arithmetic program is written in the read-only memory.

【0018】本発明に係る演算処理装置の構築方法によ
れば、例えば、電源オンと共に不揮発性の記憶装置から
読み出された配線情報に基づいてレジスタアレイ、読出
し専用メモリ、演算部、命令解読部及び命令実行制御部
を結線するようになされる。
According to the method for constructing the arithmetic processing unit of the present invention, for example, the register array, the read-only memory, the arithmetic unit, and the instruction decoding unit are based on the wiring information read from the nonvolatile storage device when the power is turned on. Also, the instruction execution control unit is connected.

【0019】従って、命令実行制御部で演算命令に基づ
いて一のレジスタを選択し、このレジスタが保持する値
によって他のレジスタを選択するレジスタ相対レジスタ
アドレッシング処理を実行するようなプログラム可能な
演算処理装置を電源オンと共に構築することができる。
Therefore, the instruction execution control unit selects a register based on the operation instruction and selects the other register according to the value held in this register. The device can be built with power on.

【0020】しかも、従来方式のCPUの中にRAMや
ROMの機能を取り込んだ演算処理装置を構築すること
ができ、高速演算処理を実行すること、及び、CPU
や、RAM、ROM等を個々に基板に配置する場合に比
べて基板占有面積を低減することができる。当該演算処
理装置が適用される応用装置のコンパクト化を図ること
ができる。
Moreover, it is possible to construct an arithmetic processing unit in which the functions of RAM and ROM are incorporated in the CPU of the conventional system, and to execute high-speed arithmetic processing.
Alternatively, the area occupied by the substrate can be reduced as compared with the case where the RAM, the ROM and the like are individually arranged on the substrate. The application device to which the arithmetic processing device is applied can be made compact.

【0021】本発明に係る演算処理方法は演算プログラ
ムに基づいて任意の演算処理をする方法であって、書込
みアドレス及び書込み制御信号に基づいて任意の値を保
持し、及び、読出しアドレスに基づいて当該値を出力す
るレジスタを複数準備し、その後、演算プログラムから
演算命令を解読し、演算命令に基づいて一のレジスタを
選択し、ここで選択されたレジスタが保持する値によっ
て他のレジスタを選択するレジスタ相対レジスタアドレ
ッシング処理を実行すると共に、演算命令に基づいて他
のレジスタを選択し、ここで選択された他のレジスタが
保持する値とレジスタ相対レジスタアドレッシング処理
によって選択されたレジスタの値とを演算することを特
徴とするものである。
The arithmetic processing method according to the present invention is a method for performing arbitrary arithmetic processing based on an arithmetic program, which holds an arbitrary value based on a write address and a write control signal, and based on a read address. Prepare multiple registers that output the value, then decode the operation instruction from the operation program, select one register based on the operation instruction, and select another register according to the value held by the register selected here. The register-relative register addressing process is executed, and other registers are selected based on the operation instruction.The values held by the other registers selected here and the register values selected by the register-relative register addressing process are selected. It is characterized by being calculated.

【0022】本発明に係る演算処理方法によれば、演算
プログラムに基づいて任意の演算処理をする場合に、複
数のレジスタをデータの随時書込み及び読出し可能なメ
モリのように取り扱うことができるので、従来方式の中
央演算処理装置と外部メモリと組み合わせた演算処理方
法に比べてレジスタ相対メモリアドレッシング処理に依
存しなくなる。これにより、従来方式に比べて高速演算
処理を実行できるようになる。
According to the arithmetic processing method of the present invention, when arbitrary arithmetic processing is performed on the basis of an arithmetic program, a plurality of registers can be treated like a memory in which data can be written and read at any time. Compared to a conventional central processing unit and an external memory, a register-relative memory addressing process is not required. As a result, it becomes possible to execute high-speed arithmetic processing as compared with the conventional method.

【0023】[0023]

【発明の実施の形態】続いて、この発明に係る演算処理
装置、その構築方法及び演算処理方法の一実施の形態に
ついて、図面を参照しながら説明をする。 (1)実施形態 図1は本発明に係る実施形態としての演算処理装置10
0の構成例を示すブロック図である。
BEST MODE FOR CARRYING OUT THE INVENTION Next, an embodiment of an arithmetic processing device, a construction method thereof and an arithmetic processing method according to the present invention will be described with reference to the drawings. (1) Embodiment FIG. 1 shows an arithmetic processing unit 10 as an embodiment according to the present invention.
It is a block diagram which shows the structural example of 0.

【0024】この実施形態では演算命令を実行するため
のレジスタアレイ及び演算部を制御する命令実行制御部
を備え、演算命令に基づいて一のレジスタを選択すると
共に、このレジスタが保持する値によって他のレジスタ
を選択するレジスタ相対レジスタアドレッシング処理を
実行して、レジスタアレイをデータの随時書込み及び読
出し可能なメモリ(RAM)のように動作できるように
すると共に、CPUや、RAM、ROM等を個々に基板
に配置する場合に比べて基板占有面積を低減できるよう
にしたものである。
In this embodiment, a register array for executing an operation instruction and an instruction execution control section for controlling the operation section are provided, and one register is selected based on the operation instruction, and another value is held by the value held by this register. The register relative register addressing process for selecting the register is performed so that the register array can operate like a memory (RAM) in which data can be written and read at any time, and the CPU, RAM, ROM, etc. are individually The area occupied by the substrate can be reduced as compared with the case where the substrate is arranged on the substrate.

【0025】図1に示す演算処理装置100はプログラ
ム可能な1チップマイクロコンピュータ等に適用して好
適なプロセッサであり、任意の演算プログラムに基づい
て演算処理をするものである。この例で演算処理装置1
00はプログラマブル・ロジック・デバイスを構成し、
同一半導体チップ上に形成されたメモリセル及び算術論
理演算素子を配線情報に基づいて結線し、複数のメモリ
セルによりレジスタアレイ11、及びROMセル14を
構成し、複数の算術論理演算素子によりALU12、デ
コーダ13及び命令実行制御部50を構成したものであ
る。演算処理装置100はインタフェース60を通じて
外部のシステムバス等に接続される。
The arithmetic processing unit 100 shown in FIG. 1 is a processor suitable for application to a programmable one-chip microcomputer or the like, and performs arithmetic processing based on an arbitrary arithmetic program. In this example, the arithmetic processing unit 1
00 constitutes a programmable logic device,
A memory cell and an arithmetic logic operation element formed on the same semiconductor chip are connected based on wiring information, a register array 11 and a ROM cell 14 are constituted by a plurality of memory cells, and an ALU 12 is constituted by a plurality of arithmetic logic operation elements. The decoder 13 and the instruction execution control unit 50 are configured. The arithmetic processing unit 100 is connected to an external system bus or the like through the interface 60.

【0026】演算処理装置100はレジスタアレイ11
を有している。レジスタアレイ11は複数のレジスタを
有しており、各々のレジスタは書込みアドレスAw及び
書込み制御信号Swに基づいて任意の値を保持し、及
び、読出しアドレスArに基づいて被数Xや加数Y等の
値を出力するようになされる。レジスタアレイ11には
例えば、8192個×32bitのレジスタが設けられ
る。
The arithmetic processing unit 100 includes a register array 11
have. The register array 11 has a plurality of registers, each register holds an arbitrary value based on the write address Aw and the write control signal Sw, and based on the read address Ar, the augend X or the addend Y is obtained. Is output. The register array 11 is provided with, for example, 8192 × 32-bit registers.

【0027】このレジスタアレイ11には演算部の一例
となる算術論理演算ユニット(Arithmetic and Log
ic Unit:以下でALUという)12がデータ信号線
L20を通じて接続されており、レジスタアレイ11の
中で指定されたレジスタから読み出されたXやY等の値
を演算するようになされる。演算結果の値はZである。
演算種目は足し算、かけ算、引き算、わり算等である。
演算種目は命令実行制御部50から出力されるALU制
御信号S35に基づいて設定される。
The register array 11 has an arithmetic and logic unit (arithmetic and log) as an example of an arithmetic unit.
ic Unit: ALU (hereinafter referred to as ALU) 12 is connected through a data signal line L20, and calculates values such as X and Y read from a register designated in the register array 11. The value of the calculation result is Z.
The calculation items are addition, multiplication, subtraction, and division.
The operation type is set based on the ALU control signal S35 output from the instruction execution control unit 50.

【0028】データ信号線L20には、ALU12の他
にラッチ回路58、511、セレクタ56、57、59
等が接続されている。データ信号線L20にはDAT
A、被数X値、加数Y値等が伝送される。
In addition to the ALU 12, the data signal line L20 includes latch circuits 58, 511 and selectors 56, 57, 59.
Etc. are connected. DAT for the data signal line L20
A, augend X value, addend Y value, etc. are transmitted.

【0029】この演算処理装置100にはALU12を
動作させるために命令解読部(以下でデコーダという)
13が備えられている。デコーダ13には読出し専用メ
モリ(ROMセル)14が接続されており、ALU12
の演算動作に必要な演算プログラムAPが機械語の命令
(Instruction)で格納される。ROMセル14はプロ
グラムカウンタ54からのカウント出力信号S5に基づ
いて演算プログラムAPを出力するようになされる。R
OMセル14もプロセッサ内部に実装される。
The arithmetic processing unit 100 has an instruction decoding unit (hereinafter referred to as a decoder) for operating the ALU 12.
13 are provided. A read-only memory (ROM cell) 14 is connected to the decoder 13, and the ALU 12
An arithmetic program AP necessary for the arithmetic operation of is stored in a machine language instruction (Instruction). The ROM cell 14 outputs the arithmetic program AP based on the count output signal S5 from the program counter 54. R
The OM cell 14 is also mounted inside the processor.

【0030】デコーダ13では、予め準備された演算プ
ログラムAPから演算命令を解読するようになされる。
例えば、デコーダ13はROMセル14から読み出され
た機械語の命令を解読して命令制御信号S4、命令信号
S9及び各引数信号S10を発生するようになされる。
命令信号S9にはload命令、add命令、cmp命
令、jump命令が含まれる。各引数信号S10にはア
クセス方法#1,アクセス方法#2,レジスタ番号r
0,r1・・・等、フラグ状態(flag condi
tion)及びジャンプアドレス等が含まれる。命令制
御信号S4は命令読出しステートマシーン52に出力さ
れる。
The decoder 13 decodes the operation instruction from the operation program AP prepared in advance.
For example, the decoder 13 decodes a machine language instruction read from the ROM cell 14 to generate an instruction control signal S4, an instruction signal S9 and each argument signal S10.
The command signal S9 includes a load command, an add command, a cmp command, and a jump command. For each argument signal S10, access method # 1, access method # 2, register number r
0, r1, ..., etc., flag states (flag condi
section) and jump address. The instruction control signal S4 is output to the instruction read state machine 52.

【0031】この演算プログラムAPには、レジスタ相
対レジスタアドレッシング処理を実行するための演算命
令を含んでいる。レジスタ相対レジスタアドレッシング
処理とは演算命令に基づいて一のレジスタを選択し、こ
こで選択されたレジスタが保持する値によって他のレジ
スタを選択する処理をいう。この処理はアクセス方法#
1によって実行される。
The arithmetic program AP includes arithmetic instructions for executing register-relative register addressing processing. The register-relative register addressing process is a process of selecting one register based on an operation instruction and selecting another register according to the value held by the register selected here. This process is the access method #
Executed by 1.

【0032】デコーダ13には命令実行制御部50が接
続されており、デコーダ13によって解読された演算命
令を実行するためにレジスタアレイ11及びALU12
を制御するようになされる。命令実行制御部50は実行
ステートマシーン51、命令読出しステートマシーン5
2、セレクタ53、プログラムカウンタ(PC)54、
+1インクリメンタ55、第1のセレクタ56、第2の
セレクタ57、入力用のセレクタ59、ラッチ回路5
8、510、511を有しており、レジスタ相対レジス
タアドレッシング処理を実行するようになされる。
An instruction execution control unit 50 is connected to the decoder 13, and the register array 11 and the ALU 12 for executing the operation instruction decoded by the decoder 13.
Is controlled. The instruction execution control unit 50 includes an execution state machine 51 and an instruction read state machine 5.
2, selector 53, program counter (PC) 54,
+1 incrementer 55, first selector 56, second selector 57, input selector 59, latch circuit 5
8, 510, 511, and performs register relative register addressing processing.

【0033】命令読出しステートマシーン52ではデコ
ーダ13から出力される命令制御信号S4に基づいてプ
ログラムカウンタ54及び実行ステートマシーン51を
制御する。例えば、当該マシーン52はデコーダ13か
ら命令信号S9及び各引数信号S10が実行ステートマ
シーン51へ出力されると共に命令実行開始信号S29
を出力する。
The instruction read state machine 52 controls the program counter 54 and the execution state machine 51 based on the instruction control signal S4 output from the decoder 13. For example, the machine 52 outputs the instruction signal S9 and each argument signal S10 from the decoder 13 to the execution state machine 51 and the instruction execution start signal S29.
Is output.

【0034】実行ステートマシーン51にはALU1
2、セレクタ56、57、59、ラッチ回路58,51
0、511が接続されている。セレクタ56の出力は読
出しアドレス線L14を介在してレジスタアレイ11に
接続され、その入力はデータ信号線L20及びアドレス
信号線L33に各々接続されている。読出しアドレスA
r又は読出し実行アドレスArのいずれかを選択するた
めである。セレクタ57の出力は書込みアドレス線L1
3を介在してレジスタアレイ11に接続され、その入力
はデータ信号線L20及びアドレス信号線L34に各々
接続されている。書込みアドレスAw又は書込み実行ア
ドレスAwのいずれかを選択するためである。
The execution state machine 51 has an ALU1
2, selectors 56, 57 and 59, latch circuits 58 and 51
0 and 511 are connected. The output of the selector 56 is connected to the register array 11 via the read address line L14, and its input is connected to the data signal line L20 and the address signal line L33, respectively. Read address A
This is for selecting either r or the read execution address Ar. The output of the selector 57 is the write address line L1.
3 is connected to the register array 11 with its input connected to the data signal line L20 and the address signal line L34. This is to select either the write address Aw or the write execution address Aw.

【0035】当該マシーン51では命令実行開始信号S
29に基づいて命令の実行を開始する。例えば、データ
の書込み時には、書込み制御信号Swがレジスタアレイ
11に出力され、セレクタ59には選択制御信号S24
が出力される。データの読出し時には、選択制御信号S
32がセレクタ56に出力されると共に、読出しアドレ
スArが出力される。
In the machine 51, the instruction execution start signal S
Based on 29, execution of the instruction is started. For example, when writing data, the write control signal Sw is output to the register array 11, and the selector 59 outputs the selection control signal S24.
Is output. When reading data, the selection control signal S
32 is output to the selector 56 and the read address Ar is output.

【0036】演算時には、ラッチ制御信号S34がラッ
チ回路58に出力され、ラッチ回路510にはラッチ制
御信号S38が出力される。当該プロセッサ外部には外
部制御信号S16が出力される。命令の実行が終了する
と、実行ステートマシーン51は命令読み出しステート
マシーン52へ実行終了信号S26を出力し、プログラ
ムカウンタ54の値を進めるようになされる。
At the time of calculation, the latch control signal S34 is output to the latch circuit 58, and the latch control signal S38 is output to the latch circuit 510. An external control signal S16 is output to the outside of the processor. When the execution of the instruction is completed, the execution state machine 51 outputs the execution end signal S26 to the instruction read state machine 52 and advances the value of the program counter 54.

【0037】この実行ステートマシーン51及び命令読
み出しステートマシーン52にはセレクタ53が接続さ
れており、選択制御信号S28に基づいてインクリメン
ト出力信号S7又は分岐制御信号S27のいずれか一方
を選択し、これをセレクタ出力としてプログラムカウン
タ54に出力するようになされる。選択制御信号S28
は実行ステートマシーン51から供給される。インクリ
メント出力信号S7はインクリメンタ55からセレクタ
53へ出力される。
A selector 53 is connected to the execution state machine 51 and the instruction read state machine 52, and either the increment output signal S7 or the branch control signal S27 is selected based on the selection control signal S28, and this is selected. The output is made to the program counter 54 as a selector output. Selection control signal S28
Is supplied from the execution state machine 51. The increment output signal S7 is output from the incrementer 55 to the selector 53.

【0038】プログラムカウンタ54ではカウント制御
信号S30に基づいてROMセル14から演算プログラ
ムAPを読み出す場所が指定される。+1インクリメン
タ55はプログラムカウンタ54のカウント出力信号S
5を「+1」してインクリメンとするようになされる。
カウント制御信号S30は命令解読ステートマシーン5
2から供給される。
In the program counter 54, the location where the arithmetic program AP is read from the ROM cell 14 is designated based on the count control signal S30. The +1 incrementer 55 outputs the count output signal S of the program counter 54.
5 is incremented by "+1" to be incremented.
The count control signal S30 is the instruction decoding state machine 5
Supplied from 2.

【0039】この例で実行ステートマシーン51に接続
されたセレクタ56では、一のレジスタを選択するため
の読出し実行アドレスAr又は当該レジスタを再度選択
するための読出しアドレスArのいずれか一方を選択す
るようになされる。セレクタ56は実行ステートマシー
ン51からの選択制御信号S32によっていずれか一方
のアドレスを選択するようになされる。読出し実行アド
レスArは実行ステートマシーン51からセレクタ57
に出力される。読出しアドレスArはレジスタアレイ1
1から出力される。
In this example, the selector 56 connected to the execution state machine 51 selects either the read execution address Ar for selecting one register or the read address Ar for selecting the register again. Done The selector 56 is adapted to select either one of the addresses according to the selection control signal S32 from the execution state machine 51. The read execution address Ar is selected from the execution state machine 51 by the selector 57.
Is output to. The read address Ar is the register array 1
It is output from 1.

【0040】セレクタ56の他に実行ステートマシーン
51にはセレクタ57が接続されており、一のレジスタ
を選択するための書込み実行アドレスAw又は当該レジ
スタを再度選択するための書込みアドレスAwのいずれ
か一方を選択するようになされる。セレクタ57は実行
ステートマシーン51からの選択制御信号S31によっ
ていずれか一方のアドレスを選択するようになされる。
書込み実行アドレスAwは実行ステートマシーン51か
らセレクタ57に出力される。書込みアドレスAwはレ
ジスタアレイ11から出力される。
A selector 57 is connected to the execution state machine 51 in addition to the selector 56, and either the write execution address Aw for selecting one register or the write address Aw for selecting the register again is selected. Will be selected. The selector 57 is adapted to select either one of the addresses by the selection control signal S31 from the execution state machine 51.
The write execution address Aw is output from the execution state machine 51 to the selector 57. The write address Aw is output from the register array 11.

【0041】セレクタ59はデータバス19A、レジス
タアレイ11及びALU12に接続されており、データ
バス19Aから取り込んだデータ(DATA)、レジス
タアレイ11から出力される被数X値(加数Y値)又は
ALU12から出力される演算結果値Zのいずれかを選
択制御信号S24に基づいて入力制御するようになされ
る。
The selector 59 is connected to the data bus 19A, the register array 11 and the ALU 12, and the data (DATA) fetched from the data bus 19A, the augend X value (addend Y value) output from the register array 11 or Any one of the calculation result values Z output from the ALU 12 is input-controlled based on the selection control signal S24.

【0042】ラッチ回路58はレジスタアレイ11の読
出しポートとALU12の間に接続されており、ラッチ
制御信号S34に基づいてレジスタriの出力値Xをラ
ッチするようになされる。ラッチ回路510はALU1
2の比較出力部等に接続されており、ラッチ制御信号S
38に基づいて一致検出信号S22をラッチして、フラ
グ状態(flag condition)信号S23を
出力するようになされる。ラッチ回路511はレジスタ
アレイ11の読出しポートとアドレスバス19Bとの間
に接続されており、ラッチ制御信号S17に基づいて外
部アドレス(address)をラッチするようになさ
れる。
The latch circuit 58 is connected between the read port of the register array 11 and the ALU 12, and latches the output value X of the register ri based on the latch control signal S34. The latch circuit 510 is ALU1
The latch control signal S
Based on 38, the coincidence detection signal S22 is latched and a flag condition signal S23 is output. The latch circuit 511 is connected between the read port of the register array 11 and the address bus 19B, and latches an external address (address) based on the latch control signal S17.

【0043】なお、実行された命令によってジャンプ
(命令分岐)が発生した場合は、ジャンプ先のアドレス
を示す分岐制御信号S27を実行ステートマシン51か
らセレクタ53へ出力される。セレクタ53では選択制
御信号S28に基づいてその分岐制御信号S27を選択
し、この分岐制御信号S27をプログラムカウンタ54
へ書き込むようになされる。また、実行ステートマシー
ン51にはコントロールバス19Cが接続され、外部制
御信号S16を外部へ出力するようになされる。外部周
辺機器を制御するためである。
When a jump (instruction branch) occurs due to the executed instruction, a branch control signal S27 indicating the address of the jump destination is output from the execution state machine 51 to the selector 53. The selector 53 selects the branch control signal S27 based on the selection control signal S28, and outputs the branch control signal S27 to the program counter 54.
It is made to write to. Further, the control bus 19C is connected to the execution state machine 51 to output the external control signal S16 to the outside. This is for controlling external peripheral devices.

【0044】図2はレジスタアレイ11の内部構成例を
示すブロック図である。図2に示すレジスタアレイ11
によれば、例えば、8192個の32bitのレジスタ
r0〜rn(i=0〜n;8191)が備えられ、各々
のレジスタr0〜rnの入力には書込みポート15が接
続されている。1bitのレジスタはD型のフリップ・
フロップ回路等から構成される。
FIG. 2 is a block diagram showing an internal configuration example of the register array 11. Register array 11 shown in FIG.
According to the above, for example, 8192 32-bit registers r0 to rn (i = 0 to n; 8191) are provided, and the write port 15 is connected to the input of each register r0 to rn. 1-bit register is a D-type flip
It is composed of a flop circuit and the like.

【0045】書込みポート15は図1に示したセレクタ
59に接続されており、書込み制御信号Sw及び書込み
アドレスAwに基づいて、データバス19Aから取り込
んだデータ(DATA)、レジスタアレイ11から出力
される被数X値(加数Y値)又はALU12から出力さ
れる演算結果値Zのいずれかをレジスタr0〜rnに書
き込むようになされる。書込みポート15は書込みアド
レス線L13を介在して図1に示したセレクタ57に接
続されている。書込み実行アドレスAw又は書込みアド
レスAwを供給するためである。
The write port 15 is connected to the selector 59 shown in FIG. 1. Based on the write control signal Sw and the write address Aw, the data (DATA) fetched from the data bus 19A and the register array 11 output the data. Either the augend X value (addend Y value) or the operation result value Z output from the ALU 12 is written in the registers r0 to rn. The write port 15 is connected to the selector 57 shown in FIG. 1 via the write address line L13. This is for supplying the write execution address Aw or the write address Aw.

【0046】各々のレジスタr0〜rnの出力には読出
しポート16が接続されている。読出しポート16はデ
ータ信号線L20を通じて図1に示したALU12、ラ
ッチ回路58、511、セレクタ56、57、59等に
接続されており、読出しアドレスArに基づいて指定さ
れたレジスタriからデータ(DATA)を読み出すよ
うになされる。
A read port 16 is connected to the outputs of the registers r0 to rn. The read port 16 is connected to the ALU 12, the latch circuits 58, 511, the selectors 56, 57, 59 shown in FIG. 1 through the data signal line L20, and the data (DATA ) Is read out.

【0047】読出しポート16は読出しアドレス線L1
4を介在して図1に示したセレクタ56に接続されてい
る。読出し実行アドレスAr又は読出しアドレスArを
供給するためである。書込みアドレス線L13を介在し
て図1に示したセレクタ57に接続されている。書込み
実行アドレスAw又は書込みアドレスAwを供給するた
めである。
The read port 16 has a read address line L1.
4 is connected to the selector 56 shown in FIG. This is for supplying the read execution address Ar or the read address Ar. It is connected to the selector 57 shown in FIG. 1 through the write address line L13. This is for supplying the write execution address Aw or the write address Aw.

【0048】図3A〜Eは演算処理装置100で取り扱
う命令の構造例を示すフォーマット等である。図3Aに
示すフォーマットによれば、命令は32ビットの固定長
であり、大きく分けてload命令や、add命令、c
mp命令等とjump命令とによって取り扱われる。l
oad、add及びcmp命令においては、最初の2ビ
ットが命令の種類を表している。命令は図3Cに示すよ
うに4種類である。
3A to 3E are formats and the like showing an example of the structure of an instruction handled by the arithmetic processing unit 100. According to the format shown in FIG. 3A, the instructions have a fixed length of 32 bits, and are roughly classified into load instructions, add instructions, and c.
It is handled by the mp instruction and the jump instruction. l
In the oad, add, and cmp instructions, the first 2 bits represent the type of instruction. There are four types of instructions as shown in FIG. 3C.

【0049】命令は図3Cにおいて、コード「0」でl
oadを示し転送命令、コード「1」でaddを示し加
算命令、コード「2」でcmpを示し比較命令である。
コード「3」はjumpで分岐命令を示している。cm
p命令に関しては比較結果が同じであった場合は、図1
に示したラッチ回路510のフラグ状態信号S23に基
づいてzero flagが1にセットされ、同じでな
かった場合は0がセットされる。
The instruction is l with code "0" in FIG. 3C.
od is a transfer instruction, code “1” is an add instruction, and code “2” is a cmp comparison instruction.
The code “3” is a jump and indicates a branch instruction. cm
If the comparison result is the same for the p instruction,
The zero flag is set to 1 based on the flag state signal S23 of the latch circuit 510 shown in (1), and 0 is set if they are not the same.

【0050】図3Aに示す命令に続く2ビットにはアク
セス方法#1が記述され、それに続く2bitにはアク
セス方法#2が記述される。Operandは左がアク
セス方法#1、レジスタ番号1で表され、右がアクセス
方法#2、レジスタ番号2で表される。つまり、アクセ
ス方法#1はレジスタ番号1で示されるレジスタriの
アクセス方法を示しており、アクセス方法#2はレジス
タ番号2で示されるレジスタriのアクセス方法を示し
ている。アクセス方法#1とアクセス方法#2はそれぞ
れレジスタ番号No.1、レジスタ番号No.2に対応
し、これらの間で処理が行われる。いずれも、図3Dに
示すようにアクセス方法は4種類が準備されている。
The access method # 1 is described in the 2 bits following the instruction shown in FIG. 3A, and the access method # 2 is described in the following 2 bits. The left side of the operand is represented by access method # 1 and register number 1, and the right side is represented by access method # 2 and register number 2. That is, the access method # 1 indicates the access method of the register ri indicated by the register number 1, and the access method # 2 indicates the access method of the register ri indicated by the register number 2. The access method # 1 and the access method # 2 are register number No. respectively. 1, register number No. 2 and processing is performed between them. In each case, four types of access methods are prepared as shown in FIG. 3D.

【0051】図3Dにおいて、コード「0」は「レジス
タ直接」でレジスタ番号で示されるレジスタriの値を
直接用いることを示している。コード「1」は「レジス
タ相対レジスタ」でレジスタ番号で示されるレジスタの
値を再度レジスタ番号と解釈し、そのレジスタ番号で示
されるレジスタの値を用いることを示している。
In FIG. 3D, the code "0" indicates that "register direct" directly uses the value of the register ri indicated by the register number. The code "1" indicates that the value of the register indicated by the register number in the "register relative register" is interpreted again as the register number and the value of the register indicated by the register number is used.

【0052】コード「2」は「レジスタ相対外部」でレ
ジスタ番号で示されるレジスタ値を外部アドレスとして
扱い、当該演算処理装置100の外部に対してアクセス
をすることを示している。コード「3」は未使用であ
る。アクセス方法#1とアクセス方法#2はそれぞれレ
ジスタ番号1、レジスタ番号2に対応し、これらの間で
処理が行われる。例えば、レジスタ番号1は被数を保持
するレジスタriを示し、レジスタ番号2は加数を保持
するレジスタriを示す。
The code "2" indicates that the register value indicated by the register number in "register relative outside" is treated as an external address and the outside of the arithmetic processing unit 100 is accessed. Code "3" is unused. Access method # 1 and access method # 2 correspond to register number 1 and register number 2, respectively, and processing is performed between them. For example, the register number 1 indicates the register ri holding the augend, and the register number 2 indicates the register ri holding the addend.

【0053】また、図3Bに示すjump命令のフォー
マットによれば、最初の2bitに命令が記述され、続
く2bitにはフラグ状態(flag conditi
on)が記述される。続く28bitにはジャンプアド
レスが記述される。フラグ状態は図3Eに示すように、
命令実行制御を移すかどうかの判断をするための条件で
ある。コード「0」は「無条件」で常に制御を移す。コ
ード「1」は「zero flag」でzero fl
agが「1」である場合に、制御を移す。コード「2」
は「non−zero flag」でzero fla
gが「0」である場合に制御を移すようになされる。コ
ード「3」は未使用である。
Further, according to the format of the jump instruction shown in FIG. 3B, the instruction is described in the first 2 bits and the flag state (flag condition) is described in the following 2 bits.
on) is described. A jump address is described in the following 28 bits. The flag state is as shown in FIG. 3E.
This is a condition for determining whether to transfer the instruction execution control. Code "0" is "unconditional" and always transfers control. Code "1" is "zero flag" and is zero fl
If ag is "1", control is transferred. Code "2"
Is "non-zero flag"
When g is "0", the control is transferred. Code "3" is unused.

【0054】図4はROMセル14の演算プログラムA
Pによる演算命令の例を示す表図である。図5はレジス
タr0〜r12等の状態例を示すイメージ図である。こ
の例ではレジスタアレイ11の13個のレジスタri
(i=0〜12)のいずれかを使用して、そのレジスタ
riに格納された値に「1」を加算し、そのレジスタr
iの値が示す任意のレジスタに演算結果を格納する場合
を想定する。図4に示す演算命令(Instruction)#I
1〜#I4はROMセル14の演算プログラムAPに記
述されたものである。
FIG. 4 shows the arithmetic program A of the ROM cell 14.
It is a table figure which shows the example of the arithmetic instruction by P. FIG. 5 is an image diagram showing a state example of the registers r0 to r12. In this example, 13 registers ri of the register array 11 are
Any one of (i = 0 to 12) is used to add "1" to the value stored in the register ri,
It is assumed that the calculation result is stored in an arbitrary register indicated by the value of i. Operation instruction #I shown in FIG.
1 to # I4 are described in the arithmetic program AP of the ROM cell 14.

【0055】各々の演算命令#I1〜#I4には、ニー
モニックによる表現、機械語による表現及び処理の内容
が示されている。図4に示す演算命令#I1は図3Aに
示した命令構造において、機械語で5001400Bh
によって表されるadd [r10],r11であり、
レジスタアレイ11のr10で示されるレジスタ番号の
レジスタr10の値に、r10で示されるレジスタ番号
のレジスタr11の値を加算し、その結果をr10で示
されるレジスタ番号のレジスタr10に格納する内容で
ある。
In each of the operation instructions # I1 to # I4, a mnemonic expression, a machine language expression, and the contents of processing are shown. The operation instruction # I1 shown in FIG. 4 is 5001400 Bh in machine language in the instruction structure shown in FIG. 3A.
Represented by add [r10], r11,
The value of the register r11 of the register number indicated by r10 of the register array 11 is added to the value of the register r11 of the register number indicated by r10, and the result is stored in the register r10 of the register number indicated by r10. .

【0056】演算命令#I2は機械語で4001400
Bhによって表されるadd r10,r11であり、
レジスタr10の値にレジスタr11の値を加算してそ
の演算結果をレジスタr10に書き戻す内容である。演
算命令#I3は機械語で8001400Chによって表
されるcmp r10,r12であり、レジスタr10
の内容とレジスタr12の内容とを比較し、同じ値の場
合はzero flagに「1」をセットし、異なって
いる場合は「0」にセットする内容である。命令#I4
は機械語でE000000Ohによって表されるjum
p nz,LOOPであり、zero flagが
「0」の場合は、LOOPで示されるラベルへ制御を移
す内容である。
The operation instruction # I2 is 4001400 in machine language.
Add r10, r11 represented by Bh,
The contents of the register r11 are added to the value of the register r10 and the operation result is written back to the register r10. The operation instruction # I3 is cmp r10, r12 represented by 8001400Ch in the machine language, and the register r10
Is compared with the content of the register r12, and if the values are the same, the zero flag is set to "1", and if they are different, the content is set to "0". Instruction # I4
Is a jump represented by E000000Oh in machine language
It is p nz, LOOP, and when the zero flag is “0”, the control is transferred to the label indicated by LOOP.

【0057】図5に示すレジスタアレイ11の13個の
レジスタ状態例によれば、レジスタr0〜r10の初期
値はいずれも「0」であり、レジスタr11の初期値は
「1」、レジスタr12の初期値は「10」である。
According to the example of 13 register states of the register array 11 shown in FIG. 5, the initial values of the registers r0 to r10 are all "0", the initial value of the register r11 is "1", and the initial value of the register r12 is "1". The initial value is "10".

【0058】図4に示した命令#I1を実行する場合、
図5に示すレジスタr10の値は「0」であるので、レ
ジスタr0が選択される。そのレジスタr0の値である
「0」が読出しポート16に読み出され、続いてレジス
タr11の値である「1」が読出しポート16に読み出
され、これらの値が加算され、その演算結果である
「1」がレジスタr0に格納される。これにより、レジ
スタr0の値が「1」ずつ増加するようになされる。こ
の例ではレジスタr12の値である10回まで加算処理
が繰り返される。
When the instruction # I1 shown in FIG. 4 is executed,
Since the value of the register r10 shown in FIG. 5 is "0", the register r0 is selected. The value “0” of the register r0 is read to the read port 16, the value “1” of the register r11 is subsequently read to the read port 16, these values are added, and the operation result is obtained. A certain "1" is stored in the register r0. As a result, the value of the register r0 is increased by "1". In this example, the addition process is repeated up to 10 times, which is the value of the register r12.

【0059】図4に示した命令#I2を実行する場合
は、図5に示すレジスタr10の値である「0」にレジ
スタr11の値である「1」が加算され、その演算結果
の「1」がレジスタr10に格納される。これにより、
次のレジスタへ処理が移るようになされる。
When the instruction # I2 shown in FIG. 4 is executed, the value "1" which is the value of the register r11 is added to the value "0" which is the value of the register r10 which is shown in FIG. Is stored in the register r10. This allows
The processing is moved to the next register.

【0060】図4に示した命令#I3を実行する場合、
zero flagの値がラッチ回路510によって保
持され、以降の命令によって参照される。これを前提に
してレジスタr10の値「0」とレジスタr12の値で
ある「10」とが比較される。この例では、レジスタr
10の値「0」とレジスタr12の値「10」とが異な
るので、zero flagには「0」がセットされ
る。zero flagに「1」がセットされるのは、
レジスタr10の値「10」とレジスタr12の値「1
0」とが一致した場合である。
When the instruction # I3 shown in FIG. 4 is executed,
The value of zero flag is held by the latch circuit 510 and is referred to by the subsequent instructions. On the premise of this, the value “0” of the register r10 is compared with the value “10” of the register r12. In this example, register r
Since the value “0” of 10 and the value “10” of the register r12 are different, “0” is set in the zero flag. "1" is set to the zero flag,
The value “10” in the register r10 and the value “1” in the register r12
This is the case where "0" matches.

【0061】図4に示した命令#I4を実行する場合、
zero flagが「0」なので制御を命令#I1に
移す(LOOP)。上記の動作が10回、繰り返される
とレジスタr10の値が「10」になり、レジスタr1
0の値「10」とレジスタr12の値「10」とが一致
するので、命令#I3によりzero flagが
「1」にセットされ、命令#I4で制御が命令#I1に
移らなくなり、演算処理が終了する。
When the instruction # I4 shown in FIG. 4 is executed,
Since the zero flag is "0", the control is transferred to the instruction # I1 (LOOP). When the above operation is repeated 10 times, the value of the register r10 becomes "10", and the register r1
Since the value “0” of 0 and the value “10” of the register r12 match, the zero flag is set to “1” by the instruction # I3, the control does not shift to the instruction # I1 by the instruction # I4, and the arithmetic processing is performed. finish.

【0062】(2)演算処理方法続いて、本発明に係る
演算処理方法について当該演算処理装置100の動作例
を説明する。図6は本発明に係る実施形態としての演算
処理装置100の動作例を示すフローチャートである。
(2) Arithmetic Processing Method Next, an example of the operation of the arithmetic processing device 100 will be described regarding the arithmetic processing method according to the present invention. FIG. 6 is a flowchart showing an operation example of the arithmetic processing unit 100 as the embodiment according to the present invention.

【0063】この実施形態では、図4に示した演算命令
#I1〜#I4を形成する演算プログラムAPに基づい
て加算処理を実行する場合を想定する。もちろん、演算
処理装置100には書込みアドレスAw及び書込み制御
信号Swに基づいて任意の値を保持し、及び、読出しア
ドレスArに基づいて当該値を出力するレジスタアレイ
11が予め準備されている場合を前提とする。
In this embodiment, it is assumed that the addition processing is executed based on the arithmetic program AP forming the arithmetic instructions # I1 to # I4 shown in FIG. Of course, in the case where the arithmetic processing unit 100 is prepared in advance with the register array 11 that holds an arbitrary value based on the write address Aw and the write control signal Sw and outputs the value based on the read address Ar. Assumption.

【0064】レジスタアレイ11のレジスタ状態につい
ては、図5に示したように、例えば、13個のレジスタ
r0〜r10の初期値がいずれも「0」であり、レジス
タr11の初期値が「1」、レジスタr12の初期値が
「10」である。これらの初期値を書き込む場合は、実
行ステートマシーン51ではアドレス信号線L34に書
き込みアドレスAwが出力され、セレクタ57が選択制
御信号S31に基づいてレジスタr10、レジスタr1
1及びレジスタr12を選択することで、その初期値
「0」、「1」、「10」が設定される。
Regarding the register state of the register array 11, as shown in FIG. 5, for example, the initial values of the 13 registers r0 to r10 are all "0", and the initial value of the register r11 is "1". The initial value of the register r12 is “10”. When writing these initial values, the write address Aw is output to the address signal line L34 in the execution state machine 51, and the selector 57 outputs the register r10 and the register r1 based on the selection control signal S31.
By selecting 1 and the register r12, the initial values "0", "1", and "10" are set.

【0065】これを動作条件にして、図6に示すフロー
チャートのステップA1で、まず、デコーダ13はRO
Mセル14から演算プログラム(機械語命令)APを受
け取り、演算プログラムAPを解読して演算命令#I1
〜#I4を検出する。
With this as an operating condition, in step A1 of the flowchart shown in FIG.
The arithmetic program (machine language instruction) AP is received from the M cell 14, the arithmetic program AP is decoded, and the arithmetic instruction # I1 is received.
~ # I4 is detected.

【0066】このとき、デコーダ13では図4で説明し
た機械語の5001400Bhによって示されるadd
[r10],r11に係る演算命令#I1や、機械語
で4001400Bhによって表されるadd r1
0,r11に係る演算命令#I2、機械語で80014
00Chによって表されるcmp r10,r12に係
る演算命令#I3、機械語でE000000Ohによっ
て表されるjump nz、LOOPに係る演算命令#
I4を検出し、これらの演算命令#I1〜#I4から、
命令制御信号S4、命令信号S9及び各引数信号S10
が生成され、これらの信号S9及びS10が実行ステー
トマシーン51に出力するようになされる。
At this time, in the decoder 13, add indicated by the machine language 5001400Bh described in FIG. 4 is added.
[R10], operation instruction # I1 related to r11, and add r1 represented by 4001400Bh in machine language
Operation instruction # I2 related to 0 and r11, 80014 in machine language
Operation instruction # I3 relating to cmp r10, r12 represented by 00Ch, jump nz represented by E000000Oh in machine language, arithmetic instruction relating to LOOP #
I4 is detected, and from these operation instructions # I1 to # I4,
Command control signal S4, command signal S9 and each argument signal S10
Is generated and these signals S9 and S10 are output to the execution state machine 51.

【0067】命令信号S9にはload命令、add命
令、cmp命令、jump命令が含まれる。各引数信号
S10にはアクセス方法#1,アクセス方法#2,レジ
スタ番号r0,r1・・・等、フラグ状態(flag
condition)及びジャンプアドレス等が含まれ
る。命令制御信号S4はデコーダ13から命令読出しス
テートマシーン52に出力される。
The command signal S9 includes a load command, an add command, a cmp command, and a jump command. For each argument signal S10, access method # 1, access method # 2, register numbers r0, r1, ...
condition) and jump address. The instruction control signal S4 is output from the decoder 13 to the instruction read state machine 52.

【0068】その後、ステップA2で実行ステートマシ
ーン51は命令読出しステートマシーン52の命令読出
し制御を受けて演算命令#I1を受け取り、50014
00Bhによって示されるadd [r10],r11
に基づいて一のレジスタr10を選択する。このとき、
アドレス信号線L33にレジスタの番号「10」を出力
する。選択制御信号S32を用いてセレクタ56がアド
レス信号線L33を選択するようにする。これにより、
読出しアドレス線L14にレジスタ番号「10」が出力
される。この値「10」はレジスタアレイ11でレジス
タ番号10のレジスタr10を読み出すアドレスArと
して用いられる。レジスタアレイ11ではレジスタr1
0が選択される。レジスタr10の値は「0」である。
Thereafter, in step A2, the execution state machine 51 receives the operation instruction # I1 under the instruction read control of the instruction read state machine 52 and receives 50014.
Add [r10], r11 indicated by 00Bh
One register r10 is selected based on At this time,
The register number "10" is output to the address signal line L33. The selector 56 uses the selection control signal S32 to select the address signal line L33. This allows
The register number "10" is output to the read address line L14. This value “10” is used as the address Ar for reading the register r10 having the register number 10 in the register array 11. Register r1 in register array 11
0 is selected. The value of the register r10 is “0”.

【0069】そして、ステップA3でレジスタr10が
保持する値「0」によってレジスタ相対レジスタアドレ
ッシング処理を実行する。このとき、レジスタr10の
値「0」は読出しポート16からデータ信号線L20に
出力するようになされる。他のレジスタr0を選択する
ためである。これにより、レジスタアレイ11からデー
タ信号線L20に出力されたレジスタr0の値「0」は
ラッチ回路58で保持される。
Then, in step A3, the register relative register addressing process is executed with the value "0" held by the register r10. At this time, the value "0" of the register r10 is output from the read port 16 to the data signal line L20. This is for selecting another register r0. As a result, the value “0” of the register r0 output from the register array 11 to the data signal line L20 is held by the latch circuit 58.

【0070】これと共に、実行ステートマシーン51は
選択制御信号S32に基づいてデータ信号線L20を選
択するようなされる。これにより、セレクタ56は読み
出しアドレス線L14にレジスタr10の値「0」を出
力するようになる。レジスタアレイ11ではレジスタr
0が選択される。
At the same time, the execution state machine 51 selects the data signal line L20 based on the selection control signal S32. As a result, the selector 56 outputs the value “0” of the register r10 to the read address line L14. Register r in register array 11
0 is selected.

【0071】そして、ステップA4に移行して演算命令
#I1に基づいて他のレジスタr11を選択する。この
とき、実行ステートマシーン51は選択制御信号S32
をセレクタ56に出力してセレクタ56により読出し実
行アドレスArを選択するようにする。これ共に、アド
レス信号線L33に読出し実行アドレスArとして値
「11」を出力する。この値「11」はレジスタアレイ
11でレジスタ番号「11」のレジスタr11を読み出
すアドレスとして用いられる。レジスタr11の値は
「1」である。
Then, the process proceeds to step A4 to select another register r11 based on the operation instruction # I1. At this time, the execution state machine 51 selects the selection control signal S32.
Is output to the selector 56 so that the read execution address Ar is selected by the selector 56. At the same time, the value "11" is output to the address signal line L33 as the read execution address Ar. This value “11” is used as an address for reading the register r11 having the register number “11” in the register array 11. The value of the register r11 is "1".

【0072】これにより、読出しアドレスArに基づい
てレジスタr11が選択される。この選択によって読出
しポート16からデータ信号線L20へレジスタr11
の出力値であるY値=「1」を出力するようになされ
る。これらの操作により、データ信号線L20に出力さ
れたレジスタr11のY値=「1」と、ラッチ回路58
の出力であるX値=「0」とがALU12に入力され
る。つまり、レジスタr10が保持する値「0」によっ
て指定されたレジスタr0のX値=「0」(レジスタ相
対レジスタアドレッシング処理によって選択されたレジ
スタr0の値)とレジスタr11のY値=「1」とがA
LU12に入力される。
As a result, the register r11 is selected based on the read address Ar. By this selection, the register r11 is transferred from the read port 16 to the data signal line L20.
The Y value, which is the output value of, is output as "1". By these operations, the Y value of the register r11 output to the data signal line L20 = “1” and the latch circuit 58.
The X value = “0”, which is the output of, is input to the ALU 12. That is, the X value of the register r0 designated by the value “0” held by the register r10 = “0” (the value of the register r0 selected by the register relative register addressing process) and the Y value of the register r11 = “1”. Is A
Input to LU12.

【0073】そして、ステップA5でレジスタr11が
保持するY値=「1」とレジスタ相対レジスタアドレッ
シング処理によって選択されたレジスタr0のX値=
「0」とがALU12によって加算するようになされ
る。このとき、ALU12には加算命令を示す演算命令
信号S35が入力されている。これにより、ALU12
ではX=「0」値にY値=「1」を加算し、その加算結
果値Z=「1」を演算結果信号S21としてセレクタ5
9に出力するようになされる。
Then, in step A5, the Y value held in the register r11 = “1” and the X value of the register r0 selected by the register relative register addressing process =
"0" is added by the ALU 12. At this time, the arithmetic instruction signal S35 indicating the addition instruction is input to the ALU 12. As a result, the ALU12
Then, the Y value = “1” is added to the X = “0” value, and the addition result value Z = “1” is used as the calculation result signal S21.
9 is output.

【0074】そして、ステップA6で機械語で4001
400Bhによって表される演算命令#I2に基づいて
演算結果値Zがセレクタ59によって選択される。この
とき、セレクタ59では選択制御信号S24により演算
結果値Zを選択するようにセットされる。演算結果値Z
がレジスタアレイ11に入力される。レジスタアレイ1
1ではレジスタ相対レジスタアドレッシング処理によっ
て指定されるレジスタr0に、書込みアドレスAw及び
書込み制御信号Swに基づいて演算結果値Zを格納する
ようになされる。
Then, in step A6, 4001 in machine language
The operation result value Z is selected by the selector 59 based on the operation instruction # I2 represented by 400Bh. At this time, the selector 59 is set to select the operation result value Z by the selection control signal S24. Calculation result value Z
Are input to the register array 11. Register array 1
In 1, the operation result value Z is stored in the register r0 designated by the register relative register addressing process based on the write address Aw and the write control signal Sw.

【0075】つまり、レジスタr10が指定するレジス
タr0にALU12の演算結果値Zを書き戻す場合は、
まず、実行ステートマシーン51はアドレス信号線L3
3には書込み実行アドレスAwとして値「10」を出力
する。このとき、読出し用のセレクタ56には選択制御
信号S32を出力してアドレス信号線L33を選択する
ようにされる。
That is, when the operation result value Z of the ALU 12 is written back to the register r0 designated by the register r10,
First, the execution state machine 51 uses the address signal line L3.
The value "10" is output to 3 as the write execution address Aw. At this time, the selection control signal S32 is output to the read selector 56 to select the address signal line L33.

【0076】そして、レジスタアレイ11の読出しポー
ト16にはレジスタr10の値「0」が出力されるの
で、今度は、書込み用のセレクタ57には選択制御信号
S31を出力してデータ信号線20を選択するようにさ
れる。この選択によってレジスタアレイ11の読出しポ
ート16からセレクタ57を通じてレジスタr0を選択
する値「0」が書き込みアドレスAwとしてレジスタア
レイ11に入力される。
Since the value "0" of the register r10 is output to the read port 16 of the register array 11, this time, the selection control signal S31 is output to the write selector 57 to output the data signal line 20. You will be asked to choose. By this selection, the value "0" for selecting the register r0 from the read port 16 of the register array 11 through the selector 57 is input to the register array 11 as the write address Aw.

【0077】ここまででレジスタアレイ11には書き込
みアドレスAwと書き込む内容が入力される。その後、
実行ステートマシーン51は書き込み信号SWを用いて
実際に値の書き込みを指示する。このようにして、演算
命令#I1のadd [r10],r11を演算するこ
とができる。
Up to this point, the write address Aw and the contents to be written are input to the register array 11. afterwards,
The execution state machine 51 uses the write signal SW to actually instruct writing of a value. In this way, add [r10], r11 of the operation instruction # I1 can be operated.

【0078】この例では、ステップA7でレジスタr1
2が示す値=10回に至ったかが判別される。この際の
判別では演算命令#I3に基づいてラッチ回路510に
保持されているzero flagの値が参照される。
zero flagの値はレジスタr10の値とレジス
タr12の値「10」とが比較され、両方の値が異なる
場合はzero flagに「0」がセットされる。
In this example, in step A7 the register r1
It is determined whether the value indicated by 2 has reached 10 times. In the determination at this time, the value of the zero flag held in the latch circuit 510 is referred to based on the operation instruction # I3.
The value of the zero flag is compared with the value of the register r10 and the value "10" of the register r12, and if both values are different, "0" is set to the zero flag.

【0079】両方の値が一致する場合はzero fl
agに「1」がセットされる。従って、レジスタr12
が示す値=10回に至っていない場合はzero fl
agに「0」がセットされることから、演算命令#I4
に基づいてステップA5に戻って(LOOPして)レジ
スタr11の値である「1」が読出しポート16に読み
出される。
If both values match, zero fl
“1” is set in ag. Therefore, register r12
Value is less than 10 times, zero fl
Since "0" is set in ag, the operation instruction # I4
Then, the process returns to step A5 (LOOP) and the value "1" of the register r11 is read out to the read port 16.

【0080】この値「1」が繰り返し加算処理がなさ
れ、レジスタr0の値が「1」ずつ増加するようになさ
れ、その演算結果である「1」、「2」、「3」・・・
がレジスタr0に格納される。これにより、書込みアド
レスAw及び書込み制御信号Swに基づいて演算結果値
Zをレジスタr0に格納することができる。
This value "1" is repeatedly added so that the value of the register r0 is incremented by "1", and the operation results "1", "2", "3" ...
Is stored in the register r0. Thereby, the calculation result value Z can be stored in the register r0 based on the write address Aw and the write control signal Sw.

【0081】そして、ステップA7でレジスタr12が
示す値=10回に至った場合は、レジスタr10の値
「10」とレジスタr12の値「10」とが一致するの
で、命令#I3によりzero flagが「1」にセ
ットされ、命令#I4で制御が命令#I1に移行されな
くなくなるので、ステップA5にLOOPすることなく
演算処理が終了する。
When the value indicated by the register r12 reaches 10 times in step A7, the value "10" of the register r10 and the value "10" of the register r12 match, so the instruction # I3 causes the zero flag to be changed. Since it is set to "1" and control is not transferred to the instruction # I1 by the instruction # I4, the arithmetic processing is completed without looping to the step A5.

【0082】このように、本発明に係る実施形態として
の演算処理装置及び演算処理方法によれば、図6に示し
たフローチャートのステップA1でデコーダ13によっ
て解読された演算命令#I1〜#I4等は命令信号S9
及び各引数信号S10となって実行ステートマシーン5
1へ出力される。実行ステートマシーン51ではステッ
プA2で演算命令#I1〜#I4に基づいて一のレジス
タr10を選択し、ステップA3でレジスタr10が保
持する値「0」によってレジスタ相対レジスタアドレッ
シング処理を実行するようになされる。
As described above, according to the arithmetic processing apparatus and the arithmetic processing method as the embodiment of the present invention, the arithmetic instructions # I1 to # I4 etc. decoded by the decoder 13 in step A1 of the flowchart shown in FIG. Is the command signal S9
And each argument signal S10 becomes the execution state machine 5
It is output to 1. In the execution state machine 51, one register r10 is selected based on the operation instructions # I1 to # I4 in step A2, and the register relative register addressing process is executed by the value “0” held in the register r10 in step A3. It

【0083】ステップA4で他のレジスタr0が選択さ
れると、ステップA5でX値とY値とがALU12によ
って加算され、レジスタアレイ11のレジスタr0では
レジスタ相対レジスタアドレッシング処理によって指定
される書込みアドレスAw及び書込み制御信号Swに基
づいて演算結果値Zを保持し、及び、ステップA5で読
出しアドレスArに基づいて当該演算結果値Zを次の演
算の加数X値として出力するようになされる。ALU1
2ではレジスタアレイ11から読み出されたX値及びY
値を加算するようになされる。
When another register r0 is selected in step A4, the X value and the Y value are added by the ALU 12 in step A5, and the register r0 of the register array 11 writes the write address Aw specified by the register relative register addressing process. The operation result value Z is held based on the write control signal Sw, and the operation result value Z is output as the addend X value of the next operation based on the read address Ar in step A5. ALU1
2, the X value and Y read from the register array 11
The value is added.

【0084】従って、レジスタアレイ11をデータの随
時書込み及び読出し可能なメモリ(RAM)のように取
り扱うことができるので、レジスタr0〜r12等を通
常のプロセッサのRAM(メモリ)のように扱いなが
ら、レジスタアレイ11(レジスタ)にアクセスをする
ことが可能となる。
Therefore, since the register array 11 can be treated like a memory (RAM) in which data can be written and read at any time, the registers r0 to r12, etc. can be treated like a RAM (memory) of a normal processor. It becomes possible to access the register array 11 (register).

【0085】これにより、従来方式の中央演算処理装置
(CPU)に比べて外部メモリの格納番地を指定するレ
ジスタ相対メモリアドレッシング処理に依存しなくな
る。従来方式のCPUの中にRAMやROMの機能を取
り込むことができるので、高速演算処理を実行するこ
と、及び、CPUや、RAM、ROM等を個々に基板に
配置する場合に比べて基板占有面積を低減することがで
きる。当該演算処理装置100が適用される応用装置の
コンパクト化を図ることができる。
As a result, as compared with the conventional central processing unit (CPU), the register-relative memory addressing process for designating the storage address of the external memory can be eliminated. Since the functions of RAM and ROM can be incorporated into the conventional CPU, high-speed arithmetic processing can be executed, and the board occupying area can be increased as compared with the case where the CPU, RAM, and ROM are individually arranged on the board. Can be reduced. The application device to which the arithmetic processing device 100 is applied can be made compact.

【0086】(3)演算処理装置の構築方法 図7は本発明に係る実施形態としての演算処理装置10
0の構築例(その1)を示す平面図である。この実施形
態では図1に示した演算処理装置100を構築する場合
に、予め同一半導体チップ上に複数のメモリセル及び算
術論理演算素子を形成し、このメモリセルを組み合わせ
てレジスタアレイ11及びROMセル14を画定すると
共に、算術論理演算素子を組み合わせてALU12、デ
コーダ13及び命令実行制御部50を画定する。その
後、レジスタアレイ11、ROMセル24、ALU1
2、デコーダ13及び命令実行制御部50を予め設定さ
れた配線情報に基づいて結線すると共に、ROMセル1
4に上述した演算プログラムAPを書込むようになされ
る。
(3) Method for Constructing Arithmetic Processing Device FIG. 7 shows an arithmetic processing device 10 as an embodiment according to the present invention.
It is a top view which shows the construction example (the 1) of 0. In this embodiment, when the arithmetic processing unit 100 shown in FIG. 1 is constructed, a plurality of memory cells and arithmetic logic operation elements are formed in advance on the same semiconductor chip, and the memory cells are combined to form the register array 11 and the ROM cell. 14 is defined, and the ALU 12, the decoder 13 and the instruction execution control unit 50 are defined by combining arithmetic logic operation elements. Then, register array 11, ROM cell 24, ALU1
2, the decoder 13 and the instruction execution control unit 50 are connected based on preset wiring information, and the ROM cell 1
The above-mentioned arithmetic program AP is written in 4.

【0087】図7に示す演算処理装置100は予め同一
半導体チップ上に複数のメモリセルMSE及び算術論理
演算素子LAYを形成したプログラム可能な半導体デバ
イス(PLD;Programmable Logic Device)であ
る。この半導体デバイスの行方向には例えばN=7本
(i=1,2,i・・・N)の配線パターン(以下で行
配線CO1〜CO7という)が配置される。
The arithmetic processing unit 100 shown in FIG. 7 is a programmable semiconductor device (PLD; Programmable Logic Device) in which a plurality of memory cells MSE and arithmetic logic operation elements LAY are previously formed on the same semiconductor chip. In the row direction of this semiconductor device, for example, N = 7 (i = 1, 2, i ... N) wiring patterns (hereinafter referred to as row wirings CO1 to CO7) are arranged.

【0088】列方向には同様にしてM=7本(j=1,
2,j・・・M)の配線パターン(以下で列配線RO1
〜RO7という)が配置される。この行配線CO1〜C
O7と直交するように配置された列配線RO1〜RO7
によってPLDが格子状を構成するようになされてい
る。各々の格子内には複数のメモリセルMSE及び算術
論理演算素子LAYを一単位とするメモリセル/算術論
理演算素子ブロック(以下で単にセルブロックという)
SEij(i=1〜8、j=1〜8)が設けられてい
る。
Similarly, in the column direction, M = 7 lines (j = 1,
2, j ... M) wiring patterns (hereinafter column wiring RO1
~ RO7) is arranged. This row wiring CO1-C
Column wirings RO1 to RO7 arranged so as to be orthogonal to O7
The PLD has a lattice structure. A memory cell / arithmetic logic operation element block (hereinafter simply referred to as a cell block) having a plurality of memory cells MSE and arithmetic logic operation element LAY as one unit in each lattice.
SEij (i = 1 to 8, j = 1 to 8) is provided.

【0089】この例では8×8=64個のセルブロック
SE11〜SE88が同一半導体チップ上に形成されて
いる。1つのセルブロックSEijの上半分には複数の
メモリセルMSEが配置され、その下半分には複数の算
術論理演算素子LAYが配置されている。また、レジス
タアレイ11及びROMセル14はセルブロックSEi
j内のメモリセルを組み合わせて画定する場合と、他の
セルブロックSEij内のメモリセルをも組み合わせて
レジスタアレイ11及びROMセル14を画定する場合
とを想定している。
In this example, 8 × 8 = 64 cell blocks SE11 to SE88 are formed on the same semiconductor chip. A plurality of memory cells MSE are arranged in the upper half of one cell block SEij, and a plurality of arithmetic logic operation elements LAY are arranged in the lower half thereof. The register array 11 and the ROM cell 14 are cell blocks SEi.
It is assumed that the memory cells in j are combined and defined, and that the memory cells in other cell blocks SEij are also combined to define the register array 11 and the ROM cell 14.

【0090】各々の行配線CO1〜CO7の両終端側及
び列配線RO1〜RO7の両終端側にはI/Oインタフ
ェース60〜63が設けられ、I/Oインタフェース6
1には行配線CO1〜CO7の一端側が接続され、その
他端側にはI/Oインタフェース63が接続されてい
る。I/Oインタフェース60には列配線RO1〜RO
7の一端側が接続され、その他端側にはI/Oインタフ
ェース62が接続されている。セルブロックSE11に
最も近い行配線CO1や、列配線RO1等を使用してI
/Oインタフェース60又はI/Oインタフェース63
に配線をプログラムすることが可能となされている。も
ちろん、他の行配線CO2〜CO7や、列配線RO2〜
RO8等を使用して他のセルブロックSEij1に配線
をプログラムすることが可能となされている。
I / O interfaces 60 to 63 are provided at both end sides of the row wirings CO1 to CO7 and both end sides of the column wirings RO1 to RO7, and the I / O interface 6 is provided.
One end side of the row wirings CO1 to CO7 is connected to 1, and the I / O interface 63 is connected to the other end side. The I / O interface 60 has column wirings RO1 to RO
One end side of 7 is connected, and the I / O interface 62 is connected to the other end side. The row wiring CO1 closest to the cell block SE11, the column wiring RO1 and the like are used for I
I / O interface 60 or I / O interface 63
It is possible to program the wiring. Of course, the other row wirings CO2-CO7 and the column wiring RO2-
It is possible to program the wiring in another cell block SEij1 using RO8 or the like.

【0091】4つのI/Oインタフェース60〜63は
例えば、格子内の64個のセルブロックSEijの内、
外周縁部を構成するセルブロックSE11,SE12・
・・SE18、SE11,SE21・・・SE81、S
E81、SE82・・・SE88、及びSE18,SE
28・・・SE88に沿ってこれらを取り囲むように配
置されている。
The four I / O interfaces 60 to 63 are, for example, of the 64 cell blocks SEij in the grid,
Cell blocks SE11, SE12 forming the outer peripheral portion
..SE18, SE11, SE21 ... SE81, S
E81, SE82 ... SE88, and SE18, SE
28 ... It is arrange | positioned so that these may be surrounded along SE88.

【0092】各セルブロックSEij内のメモリセル
間、算術論理演算素子間の配線や、セルブロックSE1
1〜SE88間の配線、これらの間を結線する列配線R
O1〜RO7とI/Oインタフェース間には複数のスイ
ッチ素子(トランジスタ)が至る所に配置され、配線情
報に基づいてスイッチ素子をONすることで、回路要素
間を自在に接続できるようになされている。
Wiring between memory cells in each cell block SEij, between arithmetic logic operation elements, and cell block SE1
1 to SE88 wiring, column wiring R connecting between these
A plurality of switch elements (transistors) are arranged everywhere between the O1 to RO7 and the I / O interface, and by turning on the switch elements based on the wiring information, the circuit elements can be freely connected. There is.

【0093】なお、この段階ではレジスタアレイ11、
ALU12、デコーダ13、ROMセル14及び命令実
行制御部50等が画定されておらず、汎用性を有したプ
ログラマブル・ロジック・デバイスを成している。この
例では、プログラマブル・ロジック・デバイスを電子機
器にCPUとして組み込む場合に、各機能回路にセルブ
ロックSE11〜SE88を割り当てたり、これらの間
を列配線RO1〜RO7や、行配線CO1〜CO7等を
使用して結線し、当該電子機器で要求される演算機能に
対して自在にプログラムしてユーザの希望に合ったCP
U機能等を構築するようになされる。
At this stage, the register array 11,
The ALU 12, the decoder 13, the ROM cell 14, the instruction execution control unit 50, etc. are not defined, and form a versatile programmable logic device. In this example, when a programmable logic device is incorporated in an electronic device as a CPU, cell blocks SE11 to SE88 are assigned to the respective functional circuits, and column wirings RO1 to RO7, row wirings CO1 to CO7, etc. are provided between them. CP that matches the user's wishes by connecting and using the wires and freely programming the calculation functions required by the electronic device
The U function and the like are constructed.

【0094】図8は、演算処理装置100の構築例(そ
の2)を示す平面図である。図8においては、図7で準
備された半導体チップ上に、図8に示す波線で囲むよう
なレジスタアレイ11、ALU12、デコーダ13、R
OMセル14、実行ステートマシーン51、命令読出し
ステートマシーン52、セレクタ53、プログラムカウ
ンタ54、インクリメンタ55、セレクタ56、セレク
タ57、入力用のセレクタ59、ラッチ回路58、51
0、511を画定して演算処理装置100をレイアウト
する。
FIG. 8 is a plan view showing a construction example (No. 2) of the arithmetic processing unit 100. In FIG. 8, on the semiconductor chip prepared in FIG. 7, the register array 11, the ALU 12, the decoder 13, and the R, which are surrounded by the broken line shown in FIG.
OM cell 14, execution state machine 51, instruction read state machine 52, selector 53, program counter 54, incrementer 55, selector 56, selector 57, input selector 59, latch circuits 58, 51.
The processor 100 is laid out by demarcating 0 and 511.

【0095】なお、実行ステートマシーン51、命令読
出しステートマシーン52、セレクタ53、プログラム
カウンタ54、インクリメンタ55、セレクタ56、セ
レクタ57、入力用のセレクタ59及びラッチ回路5
8、510、511は図1に示した命令実行制御部50
を構成する。
The execution state machine 51, the instruction read state machine 52, the selector 53, the program counter 54, the incrementer 55, the selector 56, the selector 57, the input selector 59, and the latch circuit 5 are included.
Reference numerals 8, 510 and 511 denote the instruction execution control unit 50 shown in FIG.
Make up.

【0096】この例で、レジスタアレイ11には例え
ば、セルブロックSE1、SE14,SE23及びSE
43を割り当てて構成する。8192個のレジスタr0
〜rnにはこれらのセルブロックSE1、SE14,S
E23及びSE43のメモリセルMSEを使用する。レ
ジスタアレイ11は書込みアドレスAw及び書込み制御
信号Swに基づいて任意の値を保持し、及び、読出しア
ドレスArに基づいて当該値を出力する複数のレジスタ
r0〜rnを備えるようにメモリセルMSEを割り当て
る。
In this example, the register array 11 has, for example, cell blocks SE1, SE14, SE23 and SE.
43 is allocated and configured. 8192 registers r0
To rn, these cell blocks SE1, SE14, S
The memory cells MSE of E23 and SE43 are used. The register array 11 allocates a memory cell MSE so as to hold an arbitrary value based on the write address Aw and the write control signal Sw and to have a plurality of registers r0 to rn that output the value based on the read address Ar. .

【0097】図2に示した書込みポート15及び読出し
ポート16には例えば、セルブロックSE1、SE1
4,SE23及びSE43の算術論理演算素子LAYの
入力バッファ回路や、出力バッファ回路を使用するとよ
い。これらの間の配線には列配線RO1、RO2及び行
配線CO2,CO3,CO4を使用して結線するように
なされる。
The write port 15 and the read port 16 shown in FIG. 2 have, for example, cell blocks SE1 and SE1.
4, it is preferable to use the input buffer circuit or the output buffer circuit of the arithmetic logic operation element LAY of SE23 and SE43. Column wirings RO1, RO2 and row wirings CO2, CO3, CO4 are used to connect the wirings between them.

【0098】ALU12にはセルブロックSE26及び
SE36等を割り当てて構成する。セルブロックSE2
6及びSE36の算術論理演算素子LAYを使用してA
LU12を構築する。これらの間の配線には列配線RO
1、RO2及び行配線CO5,CO6等を使用して結線
するようになされる。
The ALU 12 is constructed by allocating cell blocks SE26 and SE36. Cell block SE2
6 and SE36 using arithmetic logic element LAY
Build LU12. Column wiring RO is used for wiring between these.
1, RO2 and row wirings CO5 and CO6 are used for connection.

【0099】デコーダ13にはセルブロックSE54及
びSE64等を割り当てて構成する。セルブロックSE
54及びSE64等の算術論理演算素子LAYを使用し
てデコーダ13を構築する。これらの間の配線には列配
線RO5及び行配線CO3,CO4等を使用して結線す
るようになされる。
The decoder 13 is configured by allocating cell blocks SE54, SE64 and the like. Cell block SE
The decoder 13 is constructed using arithmetic logic operation elements LAY such as 54 and SE64. The wiring between them is connected by using the column wiring RO5 and the row wirings CO3, CO4 and the like.

【0100】ROMセル14にはセルブロックSE52
及びSE62等を割り当てて構成する。セルブロックS
E52及びSE62等のメモリセルMSEを使用して読
出し専用メモリを構築する。算術論理演算素子LAYの
入力バッファ回路や、出力バッファ回路を使用して演算
プログラムAPの書込み/読出し回路を構成するように
なされる。これらの間の配線には列配線RO5及び行配
線CO1、CO2等を使用して結線するようになされ
る。
The ROM cell 14 has a cell block SE52.
, SE62, etc. are allocated and configured. Cell block S
A read-only memory is constructed using memory cells MSE such as E52 and SE62. The write / read circuit of the arithmetic program AP is configured by using the input buffer circuit of the arithmetic logic operation element LAY and the output buffer circuit. The wiring between these is connected using the column wiring RO5 and the row wirings CO1 and CO2.

【0101】実行ステートマシーン51にはセルブロッ
クSE56、SE57、SE58、SE66、SE67
及びSE68等を割り当てて構成する。これらの間の配
線には列配線RO5及び行配線CO5,CO6,CO7
等を使用して結線するようになされる。実行ステートマ
シーン51は演算命令#I1〜#I4に基づいて一のレ
ジスタriを選択し、ここで選択されたレジスタriが
保持する値によって他のレジスタを選択するレジスタ相
対レジスタアドレッシング処理を実行するものである。
The execution state machine 51 includes cell blocks SE56, SE57, SE58, SE66 and SE67.
And SE68, etc. are allocated and configured. Column wiring RO5 and row wirings CO5, CO6, CO7 are provided between the wirings.
It is designed to be connected using a cable. The execution state machine 51 selects one register ri based on the operation instructions # I1 to # I4, and executes register relative register addressing processing for selecting another register according to the value held by the register ri selected here. Is.

【0102】命令読出しステートマシーン52にはセル
ブロックSE85及びSE86等を割り当てて構成す
る。これらの間の配線には列配線RO7及び行配線CO
4,CO5,CO6等を使用して結線するようになされ
る。セレクタ53及びプログラムカウンタ54には、セ
ルブロックSE73等を割り当てて構成する。他の回路
との間の配線には列配線RO7及び行配線CO2等を使
用して結線するようになされる。インクリメンタ55に
はセルブロックSE83等を割り当てて構成する。他の
回路との間の配線には列配線RO7及び行配線CO2、
CO3等を使用して結線するようになされる。
The instruction read state machine 52 is configured by allocating cell blocks SE85 and SE86. The wiring between these is the column wiring RO7 and the row wiring CO.
4, CO5, CO6, etc. are used for connection. A cell block SE73 or the like is assigned to the selector 53 and the program counter 54. A column wiring RO7, a row wiring CO2, and the like are used for wiring to other circuits. The incrementer 55 is configured by allocating a cell block SE83 or the like. A column wiring RO7 and a row wiring CO2 are provided for wiring to other circuits.
The connection is made using CO3 or the like.

【0103】セレクタ56にはセルブロックSE33等
を割り当てて構成する。他の回路との間の配線には行配
線CO3及びCO4等を使用して結線するようになされ
る。セレクタ56は一のレジスタを選択するための読出
し実行アドレスAr又は当該レジスタを再度選択するた
めの読出しアドレスArのいずれか一方を選択するもの
である。
The selector 56 is configured by allocating a cell block SE33 or the like. The wirings to other circuits are connected by using row wirings CO3 and CO4. The selector 56 selects either the read execution address Ar for selecting one register or the read address Ar for selecting the register again.

【0104】セレクタ57にはセルブロックSE34等
を割り当てて構成する。他の回路との間の配線には行配
線CO2及びCO3等を使用して結線するようになされ
る。セレクタ57は一のレジスタriを選択するための
書込み実行アドレス又は当該レジスタを再度選択するた
めの書込みアドレスAwのいずれか一方を選択するもの
である。
A cell block SE34 or the like is assigned to the selector 57. Rows CO2, CO3, etc. are used to connect with other circuits. The selector 57 selects either the write execution address for selecting one register ri or the write address Aw for selecting the register again.

【0105】入力用のセレクタ59にはセルブロックS
E12、SE22等を割り当てて構成する。他の回路と
の間の配線には列配線RO1及び行配線CO1等を使用
して結線するようになされる。ラッチ回路58にはセル
ブロックSE35等を割り当てて構成する。他の回路と
の間の配線には列配線RO2及び行配線CO5等を使用
して結線するようになされる。
The input selector 59 has a cell block S
It is configured by allocating E12, SE22 and the like. The column wiring RO1 and the row wiring CO1 and the like are used to connect with other circuits. The latch circuit 58 is configured by allocating a cell block SE35 or the like. A column wiring RO2, a row wiring CO5, and the like are used for wiring to other circuits.

【0106】ラッチ回路510にはセルブロックSE3
7等を割り当てて構成する。他の回路との間の配線には
列配線RO2及び行配線CO6,CO7等を使用して結
線するようになされる。ラッチ回路511にはセルブロ
ックSE41等を割り当てて構成する。他の回路との間
の配線には列配線RO3及び行配線CO1等を使用して
結線するようになされる。
The latch circuit 510 includes a cell block SE3.
7 etc. are allocated and configured. The column wiring RO2 and the row wirings CO6 and CO7 are used to connect with other circuits. The latch circuit 511 is configured by allocating a cell block SE41 or the like. A column wiring RO3, a row wiring CO1, and the like are used for wiring to other circuits.

【0107】図9は演算処理装置100の構築例(その
3)を示すイメージ図である。図9においては、図8で
画定されたレジスタアレイ11、ALU12、デコーダ
13、ROMセル14、実行ステートマシーン51、命
令読出しステートマシーン52、セレクタ53、プログ
ラムカウンタ54、インクリメンタ55、セレクタ5
6、セレクタ57、入力用のセレクタ59、ラッチ回路
58、510、511間を配線情報により結線して演算
処理装置100を構築するようになされる。
FIG. 9 is an image diagram showing an example (part 3) of construction of the arithmetic processing unit 100. In FIG. 9, the register array 11, ALU 12, decoder 13, ROM cell 14, execution state machine 51, instruction read state machine 52, selector 53, program counter 54, incrementer 55, and selector 5 defined in FIG.
6, the selector 57, the input selector 59, and the latch circuits 58, 510, and 511 are connected by wiring information to construct the arithmetic processing unit 100.

【0108】この例では電子機器の例えば、プリント配
線基板に、演算処理装置100を構築するプログラマブ
ル・ロジック・デバイスを取り付けると共に、書き換え
可能な不揮発性の記憶装置の一例となるフラッシュメモ
リ70が取り付けられる。
In this example, a programmable logic device for constructing the arithmetic processing unit 100 is attached to a printed wiring board of an electronic device, and a flash memory 70, which is an example of a rewritable nonvolatile storage device, is attached. .

【0109】このフラッシュメモリ70には、各セルブ
ロックSEij内のメモリセル間、算術論理演算素子間
の配線や、セルブロックSE11〜SE88間の配線、
これらの間を結線する列配線RO1〜RO7とI/Oイ
ンタフェース間等の至る所に配置されたスイッチ素子を
ONするための配線情報が格納されている。
In this flash memory 70, wiring between memory cells in each cell block SEij, wiring between arithmetic logic operation elements, wiring between cell blocks SE11 to SE88,
The wiring information for turning on the switch elements arranged everywhere such as between the column wirings RO1 to RO7 connecting these and the I / O interface is stored.

【0110】図10はフラッシュメモリ70による配線
情報例を示す表図である。図10に示す配線情報例では
配線情報D1〜D38・・・に対する信号線L1〜L3
8・・・と共に、当該信号線L1〜L38に伝送される
信号又はDATA等の用途を示している。配線情報D1
〜D38・・・は回路技術言語により作成され、ネット
リスト(結線情報)として準備される。この例でフラッ
シュメモリ70に格納される配線情報D1〜D38・・
・は当該演算処理装置100の機能に応じて随時書き換
えられるものである。
FIG. 10 is a table showing an example of wiring information by the flash memory 70. In the wiring information example shown in FIG. 10, the signal lines L1 to L3 for the wiring information D1 to D38 ...
8 and the like, the signals transmitted to the signal lines L1 to L38 or the uses of DATA or the like are shown. Wiring information D1
... D38 ... Are created in a circuit technology language and are prepared as a netlist (connection information). In this example, the wiring information D1 to D38 stored in the flash memory 70 ...
Is rewritten at any time according to the function of the arithmetic processing device 100.

【0111】なお、演算プログラムAPはROMセル1
4に書込むようになされる。この例で演算プログラムA
Pには、レジスタ相対レジスタアドレッシング処理を実
行するための演算命令#I1〜#I4が含まれている。
この演算プログラムAPを配線情報D1〜D38・・・
とリンクさせてデコーダ13に出力するようにしてもよ
い。フラッシュメモリ70によってROMセル14の機
能を兼用できるようになる。
The arithmetic program AP is the ROM cell 1
It is made to write in 4. Calculation program A in this example
P includes arithmetic instructions # I1 to # I4 for executing register-relative register addressing processing.
This calculation program AP is used as wiring information D1 to D38 ...
You may make it output to the decoder 13 by linking with. The flash memory 70 can also function as the ROM cell 14.

【0112】図11は演算処理装置100における結線
例を示すイメージ図である。図11に示す結線例によれ
ば、例えば、セルブロックSE22と、セルブロックS
E66とを信号線L24で接続する場合、セルブロック
SE22と列配線R03との間に配置されたスイッチン
グ用のトランジスタT23と、列配線R03と行配線C
O6との間に配置されたトランジスタT63と、行配線
CO6とセルブロックSE66との間に配置されたトラ
ンジスタT66とを使用する。各々のトランジスタT2
3,T63,T66はゲート制御可能になされている。
FIG. 11 is an image diagram showing an example of connection in the arithmetic processing unit 100. According to the connection example shown in FIG. 11, for example, the cell block SE22 and the cell block S
When connecting E66 with the signal line L24, the switching transistor T23 arranged between the cell block SE22 and the column wiring R03, the column wiring R03, and the row wiring C.
The transistor T63 arranged between O6 and the transistor T66 arranged between the row wiring CO6 and the cell block SE66 are used. Each transistor T2
Gate control is possible for 3, T63 and T66.

【0113】これを前提にして、電源オンと共にフラッ
シュメモリ70から、例えば図11に示した表図の配線
情報D24が読み出される。配線情報D24はトランジ
スタT23,T63,T66の各々のゲートに設定され
る。これにより、各々のトランジスタT23,T63,
T66がONする。これらのトランジスタT23,T6
3,T66のONにより、セルブロックSE22と列配
線R03との間、列配線R03と行配線CO6との間及
び行配線CO6とセルブロックSE66との間が電気的
に接続され、信号線L24を構築することができる。
On this assumption, the wiring information D24 of the table shown in FIG. 11 is read from the flash memory 70 when the power is turned on. The wiring information D24 is set to the gates of the transistors T23, T63, and T66. As a result, each of the transistors T23, T63,
T66 turns on. These transistors T23 and T6
By turning on T3 and T66, the cell block SE22 and the column wiring R03, the column wiring R03 and the row wiring CO6, and the row wiring CO6 and the cell block SE66 are electrically connected, and the signal line L24 is connected. Can be built.

【0114】この例でセルブロックSE22はセレクタ
59に割り当てられ、セルブロックSE66は実行ステ
ートマシーン51に割り当てられており、信号線L24
は当該セレクタ59の選択制御信号S24を伝送する際
に使用される。
In this example, the cell block SE22 is assigned to the selector 59, the cell block SE66 is assigned to the execution state machine 51, and the signal line L24.
Is used when transmitting the selection control signal S24 of the selector 59.

【0115】このように、各セルブロックSEij内の
メモリセル間等の至る所に配置されたスイッチング用の
トランジスタに配線情報D1〜D38・・・等が設定さ
れ、この配線情報D1〜D38・・・等に基づいて当該
トランジスタにより回路要素間を自在に接続する。これ
により、レジスタアレイ11、ALU12、デコーダ1
3、ROMセル14及び命令実行制御部50等を結線す
るようになされる。この設定によりROMセル14に格
納される演算プログラムAPのサイズを小さくすること
ができる。
In this way, the wiring information D1 to D38 ... Is set in the switching transistors arranged everywhere between the memory cells in each cell block SEij, and the wiring information D1 to D38 ... -Based on the above, the circuit elements are freely connected by the transistor. As a result, the register array 11, ALU 12, decoder 1
3, the ROM cell 14, the instruction execution control unit 50, etc. are connected. With this setting, the size of the arithmetic program AP stored in the ROM cell 14 can be reduced.

【0116】図12は演算処理装置100の構築例(そ
の4)を示す回路接続図である。図12は電源オンと共
に結線された演算処理装置100の回路図を示してい
る。図1に示した演算処理装置100の構成図に関して
複数の信号線等を記述したものである。ここで記述した
信号線はフラッシュメモリ70に記録される配線情報D
1〜D38等に基づくものである。配線情報D1〜D3
8等は信号線毎に準備される。
FIG. 12 is a circuit connection diagram showing a construction example (part 4) of the arithmetic processing unit 100. FIG. 12 shows a circuit diagram of the arithmetic processing unit 100 connected when the power is turned on. A plurality of signal lines and the like are described in the configuration diagram of the arithmetic processing unit 100 shown in FIG. The signal line described here is the wiring information D recorded in the flash memory 70.
1 to D38 and the like. Wiring information D1 to D3
8 and the like are prepared for each signal line.

【0117】この例では配線情報D3に基づいて図11
に示したようなスイッチング用のトランジスタがONす
ることで、信号線L3がデコーダ13とROMセル14
を接続する。信号線L3には演算プログラムAPが伝送
される。同様にして信号線L4は配線情報D4に基づい
てデコーダ13と命令読出しステートマシーン52とを
接続する。信号線L4には命令制御信号S4が伝送され
る。
In this example, the wiring information D3 shown in FIG.
By turning on the switching transistor as shown in FIG. 3, the signal line L3 is connected to the decoder 13 and the ROM cell 14
Connect. The arithmetic program AP is transmitted to the signal line L3. Similarly, the signal line L4 connects the decoder 13 and the instruction read state machine 52 based on the wiring information D4. The command control signal S4 is transmitted to the signal line L4.

【0118】信号線L5は配線情報D5に基づいてRO
Mセル14と命令読出しステートマシーン52とプログ
ラムカウンタ54とを接続する。信号線L5にはカウン
ト出力信号S5が伝送される。信号線L6は配線情報D
6に基づいてセレクタ53とプログラムカウンタ54と
を接続する。信号線L6にはセレクタ出力として分岐制
御信号S27又はインクリメント出力信号S7のいずれ
かが伝送される。
The signal line L5 is RO based on the wiring information D5.
The M cell 14, the instruction read state machine 52 and the program counter 54 are connected. The count output signal S5 is transmitted to the signal line L5. Signal line L6 is wiring information D
6, the selector 53 and the program counter 54 are connected. Either the branch control signal S27 or the increment output signal S7 is transmitted to the signal line L6 as a selector output.

【0119】信号線L7は配線情報D7に基づいてイン
クリメンタ55とセレクタ53とを接続する。信号線L
7にはインクリメント出力信号S7が伝送される。信号
線L9、信号線L10は配線情報D10に基づいてデコ
ーダ13と実行ステートマシーン51とを接続する。信
号線L9には命令信号S9が伝送され、信号線L10に
は各引数信号S10が伝送される。
The signal line L7 connects the incrementer 55 and the selector 53 based on the wiring information D7. Signal line L
Increment output signal S7 is transmitted to 7. The signal line L9 and the signal line L10 connect the decoder 13 and the execution state machine 51 based on the wiring information D10. The command signal S9 is transmitted to the signal line L9, and each argument signal S10 is transmitted to the signal line L10.

【0120】信号線L11は配線情報D11に基づいて
データバス19Aと入力用のセレクタ59とを接続す
る。信号線L11にはデータ(DATA)が伝送され
る。信号線L12は配線情報D12に基づいてレジスタ
アレイ11と実行ステートマシーン51とを接続する。
信号線L12には書込み制御信号Swが伝送される。
The signal line L11 connects the data bus 19A to the input selector 59 based on the wiring information D11. Data (DATA) is transmitted to the signal line L11. The signal line L12 connects the register array 11 and the execution state machine 51 based on the wiring information D12.
The write control signal Sw is transmitted to the signal line L12.

【0121】書込みアドレス線L13は配線情報D13
に基づいてレジスタアレイ11とセレクタ57とを接続
する。書込みアドレス線L13には書込みアドレスAw
が伝送される。読出しアドレス線L14は配線情報D1
4に基づいてレジスタアレイ11とセレクタ56とを接
続する。読出しアドレス線L14には読出しアドレスA
rが伝送される。
The write address line L13 is the wiring information D13.
The register array 11 and the selector 57 are connected based on The write address Aw is assigned to the write address line L13.
Is transmitted. The read address line L14 is the wiring information D1.
4 to connect the register array 11 and the selector 56. The read address A is connected to the read address line L14.
r is transmitted.

【0122】信号線L15は配線情報D15に基づいて
ラッチ回路511とアドレスバス19Bとを接続する。
信号線L15には外部アドレスが伝送される。信号線L
16は配線情報D16に基づいて実行ステートマシーン
51とコントロールバス19Cとを接続する。信号線L
16には外部制御信号S16が伝送される。信号線L1
7は配線情報D17に基づいてラッチ回路511と実行
ステートマシーン51とを接続する。信号線L17には
ラッチ制御信号S17が伝送される。
The signal line L15 connects the latch circuit 511 and the address bus 19B based on the wiring information D15.
An external address is transmitted to the signal line L15. Signal line L
Reference numeral 16 connects the execution state machine 51 and the control bus 19C based on the wiring information D16. Signal line L
An external control signal S16 is transmitted to 16. Signal line L1
Reference numeral 7 connects the latch circuit 511 and the execution state machine 51 based on the wiring information D17. The latch control signal S17 is transmitted to the signal line L17.

【0123】データ信号線L20は配線情報D20に基
づいてレジスタアレイ11と、ALU12と、データバ
ス19Aと、セレクタ57と、セレクタ56と、58
と、入力用のセレクタ59とを接続する。データ信号線
L20にはデータ(DATA)、X値、Y値等が伝送さ
れる。
The data signal line L20 is based on the wiring information D20, the register array 11, the ALU 12, the data bus 19A, the selector 57, the selectors 56 and 58.
And the selector 59 for input are connected. Data (DATA), X value, Y value and the like are transmitted to the data signal line L20.

【0124】信号線L21は配線情報D21に基づいて
ALU12と入力用のセレクタ59とを接続する。信号
線L21には演算結果値Zが伝送される。信号線L22
は配線情報D22に基づいてALU12とラッチ回路5
10とを接続する。信号線L22には一致検出信号S2
2が伝送される。
The signal line L21 connects the ALU 12 and the input selector 59 based on the wiring information D21. The calculation result value Z is transmitted to the signal line L21. Signal line L22
Represents the ALU 12 and the latch circuit 5 based on the wiring information D22.
Connect with 10. The coincidence detection signal S2 is provided on the signal line L22.
2 is transmitted.

【0125】信号線L23は配線情報D23に基づいて
実行ステートマシーン51とラッチ回路510とを接続
する。信号線L23にはフラグ状態信号S23が伝送さ
れる。信号線L24は配線情報D24に基づいて入力用
のセレクタ59と実行ステートマシーン51とを接続す
る。信号線L24には選択制御信号S24が伝送され
る。
The signal line L23 connects the execution state machine 51 and the latch circuit 510 based on the wiring information D23. The flag state signal S23 is transmitted to the signal line L23. The signal line L24 connects the selector 59 for input and the execution state machine 51 based on the wiring information D24. The selection control signal S24 is transmitted to the signal line L24.

【0126】信号線L25は配線情報D25に基づいて
入力用のセレクタ59とレジスタアレイ11とを接続す
る。信号線L25にはデータ、演算結果値Z、被数X値
等が伝送される。信号線L26は配線情報D26に基づ
いて実行ステートマシーン51と命令読出しステートマ
シーン52とを接続する。信号線L26には実行終了信
号S26が伝送される。
The signal line L25 connects the selector 59 for input and the register array 11 based on the wiring information D25. Data, the operation result value Z, the augend X value, and the like are transmitted to the signal line L25. The signal line L26 connects the execution state machine 51 and the instruction read state machine 52 based on the wiring information D26. The execution end signal S26 is transmitted to the signal line L26.

【0127】信号線L27は配線情報D27に基づいて
実行ステートマシーン51とセレクタ53とを接続す
る。信号線L27には分岐制御信号S27が伝送され
る。信号線L28は配線情報D28に基づいて実行ステ
ートマシーン51とセレクタ53とを接続する。信号線
L28には選択制御信号S28が伝送される。
The signal line L27 connects the execution state machine 51 and the selector 53 based on the wiring information D27. The branch control signal S27 is transmitted to the signal line L27. The signal line L28 connects the execution state machine 51 and the selector 53 based on the wiring information D28. The selection control signal S28 is transmitted to the signal line L28.

【0128】信号線L29は配線情報D29に基づいて
命令読出しステートマシーン52と実行ステートマシー
ン51とを接続する。信号線L29には命令実行開始信
号S29が伝送される。信号線L30は配線情報D30
に基づいて命令読出しステートマシーン52とプログラ
ムカウンタ54とを接続する。信号線L30にはカウン
ト制御信号S30が伝送される。
The signal line L29 connects the instruction read state machine 52 and the execution state machine 51 based on the wiring information D29. The command execution start signal S29 is transmitted to the signal line L29. The signal line L30 is the wiring information D30.
The instruction read state machine 52 and the program counter 54 are connected based on the above. The count control signal S30 is transmitted to the signal line L30.

【0129】信号線L31は配線情報D31に基づいて
セレクタ57と実行ステートマシーン51とを接続す
る。信号線L31には選択制御信号S31が伝送され
る。信号線L32は配線情報D32に基づいてセレクタ
56と実行ステートマシーン51とを接続する。信号線
L32には選択制御信号S32が伝送される。
The signal line L31 connects the selector 57 and the execution state machine 51 based on the wiring information D31. The selection control signal S31 is transmitted to the signal line L31. The signal line L32 connects the selector 56 and the execution state machine 51 based on the wiring information D32. The selection control signal S32 is transmitted to the signal line L32.

【0130】アドレス信号線L33は配線情報D33に
基づいてセレクタ56と実行ステートマシーン51とを
接続する。アドレス信号線L33には読出しアドレスA
rが伝送される。信号線L34は配線情報D34に基づ
いてラッチ回路58と実行ステートマシーン51とを接
続する。信号線L34にはラッチ制御信号S58が伝送
される。
The address signal line L33 connects the selector 56 and the execution state machine 51 based on the wiring information D33. The read address A is provided on the address signal line L33.
r is transmitted. The signal line L34 connects the latch circuit 58 and the execution state machine 51 based on the wiring information D34. The latch control signal S58 is transmitted to the signal line L34.

【0131】信号線L35は配線情報D35に基づいて
ALU12と実行ステートマシーン51とを接続する。
信号線L35にはALU制御信号S35が伝送される。
信号線L36は配線情報D36に基づいてラッチ回路5
8とALU12とを接続する。信号線L36にはラッチ
出力としてX値「0」等が伝送される。
The signal line L35 connects the ALU 12 and the execution state machine 51 based on the wiring information D35.
The ALU control signal S35 is transmitted to the signal line L35.
The signal line L36 is connected to the latch circuit 5 based on the wiring information D36.
8 and the ALU 12 are connected. The X value "0" or the like is transmitted as a latch output to the signal line L36.

【0132】アドレス信号線L37は配線情報D37に
基づいてセレクタ57と実行ステートマシーン51とを
接続する。アドレス信号線L37には書込みアドレスA
wが伝送される。信号線L38は配線情報D38に基づ
いて実行ステートマシーン51とラッチ回路510とを
接続する。信号線L38にはラッチ制御信号S38が伝
送される。
The address signal line L37 connects the selector 57 and the execution state machine 51 based on the wiring information D37. A write address A is supplied to the address signal line L37.
w is transmitted. The signal line L38 connects the execution state machine 51 and the latch circuit 510 based on the wiring information D38. The latch control signal S38 is transmitted to the signal line L38.

【0133】このように、本発明に係る実施形態として
の演算処理装置100の構築方法によれば、電源オンと
共にフラッシュメモリ70から読み出された配線情報D
1〜D38・・・等に基づいてレジスタアレイ11、A
LU12、デコーダ13、ROMセル14、実行ステー
トマシーン51、命令読出しステートマシーン52、セ
レクタ53、プログラムカウンタ54、インクリメンタ
55、セレクタ56、セレクタ57、入力用のセレクタ
59及びラッチ回路58、510、511を結線するよ
うになされる。
As described above, according to the method of constructing the arithmetic processing unit 100 as the embodiment according to the present invention, the wiring information D read from the flash memory 70 when the power is turned on.
1 to D38 ... and the like based on the register array 11, A
LU 12, decoder 13, ROM cell 14, execution state machine 51, instruction read state machine 52, selector 53, program counter 54, incrementer 55, selector 56, selector 57, input selector 59 and latch circuits 58, 510, 511. Is to be connected.

【0134】従って、実行ステートマシーン51で演算
命令#I1〜#I4に基づいて一のレジスタr10を選
択し、このレジスタr10が保持する値「0」によって
他のレジスタr0を選択するレジスタ相対レジスタアド
レッシング処理を実行するようなプログラム可能な演算
処理装置100を電源オンと共に構築することができ
る。1チップでメモリセルを含むプロセッサを効率良く
構築することが可能となる。
Therefore, in the execution state machine 51, one register r10 is selected based on the operation instructions # I1 to # I4, and another register r0 is selected by the value "0" held by the register r10. A programmable processor 100 for performing processing can be built with power on. It is possible to efficiently construct a processor including memory cells with one chip.

【0135】構築後のデコーダ13ではALU12を動
作させるための演算プログラムAPから演算命令#I1
〜#I4が解読され、命令実行制御部50ではデコーダ
13によって解読された演算命令#I1〜#I4を実行
するためにレジスタアレイ11及びALU12が制御さ
れる。ALU12ではレジスタアレイ11から読み出さ
れたX値、Y値が演算される。そのレジスタr10が示
す値「0」のレジスタr0にその演算結果値Zを格納す
ることができる。
In the decoder 13 after construction, the operation instruction # I1 is sent from the operation program AP for operating the ALU 12.
~ # I4 is decoded, and the instruction execution control unit 50 controls the register array 11 and the ALU 12 to execute the operation commands # I1 to # I4 decoded by the decoder 13. In the ALU 12, the X value and Y value read from the register array 11 are calculated. The operation result value Z can be stored in the register r0 having the value "0" indicated by the register r10.

【0136】また、命令実行制御部50ではPLD内部
のメモリ機能を持つ部分の全てをレジスタとして扱うこ
とができるので、メモリセルとレジスタを区別してアク
セスする種類のプロセッサと比べて、高速な動作が可能
になる。しかも、CPUや、RAM、ROM等を個々に
基板に配置する場合に比べて基板占有面積を低減するこ
とができる。当該演算処理装置100が適用される携帯
端末装置等の電子機器のコンパクト化を図ることができ
る。
Further, since the instruction execution control unit 50 can handle all the portions having the memory function inside the PLD as registers, the operation speed is higher than that of the processor of the type in which the memory cells and the registers are distinguished and accessed. It will be possible. Moreover, the area occupied by the substrate can be reduced as compared with the case where the CPU, RAM, ROM, etc. are individually arranged on the substrate. An electronic device such as a mobile terminal device to which the arithmetic processing device 100 is applied can be made compact.

【0137】[0137]

【発明の効果】以上説明したように、本発明に係る演算
処理装置によれば、演算命令を実行するためにレジスタ
アレイ及び演算部を制御する命令実行制御部を備え、こ
の命令実行制御部は演算命令に基づいて一のレジスタを
選択すると共に、このレジスタが保持する値によって他
のレジスタを選択するレジスタ相対レジスタアドレッシ
ング処理を実行するものである。
As described above, according to the arithmetic processing unit of the present invention, the instruction execution control unit for controlling the register array and the arithmetic unit for executing the arithmetic instruction is provided. A register-relative register addressing process is performed in which one register is selected based on an arithmetic instruction, and another register is selected according to the value held in this register.

【0138】この構成によって、レジスタアレイをデー
タの随時書込み及び読出し可能なメモリのように取り扱
うことができるので、従来方式の中央演算処理装置に比
べて外部メモリの格納番地を指定するレジスタ相対メモ
リアドレッシング処理に依存しなくなる。
With this configuration, the register array can be treated like a memory in which data can be written and read at any time, and therefore register relative memory addressing for designating the storage address of the external memory as compared with the conventional central processing unit. It becomes independent of processing.

【0139】従来方式のCPUの中にRAMやROMの
機能を取り込むことができるので、高速演算処理を実行
すること、及び、CPUや、RAM、ROM等を個々に
基板に配置する場合に比べて基板占有面積を低減するこ
とができる。当該演算処理装置が適用される応用装置の
コンパクト化を図ることができる。
Since the functions of RAM and ROM can be incorporated in the CPU of the conventional system, high-speed arithmetic processing can be performed, and compared to the case where the CPU, RAM, ROM, etc. are individually arranged on the substrate. The area occupied by the substrate can be reduced. The application device to which the arithmetic processing device is applied can be made compact.

【0140】しかも、同一半導体チップ上に、レジスタ
アレイや読出し専用メモリをメモリセルにより構成し、
演算部、命令解読部及び命令実行制御部を算術論理演算
素子により構成することで、当該演算処理装置をプログ
ラマブル・ロジック・デバイスによって構成することが
できる。
Moreover, a register array and a read-only memory are formed by memory cells on the same semiconductor chip,
By configuring the arithmetic unit, the instruction decoding unit, and the instruction execution control unit with arithmetic logic operation elements, the arithmetic processing device can be configured with a programmable logic device.

【0141】本発明に係る演算処理装置の構築方法によ
れば、任意の演算プログラムに基づいて演算処理をする
装置を構築する場合に、予め同一半導体チップ上に複数
のメモリセル及び算術論理演算素子を形成し、このメモ
リセルを組み合わせてレジスタアレイ及び読出し専用メ
モリを画定すると共に、算術論理演算素子を組み合わせ
て演算部、命令解読部及び命令実行制御部を画定し、そ
の後、レジスタアレイ、読出し専用メモリ、演算部、命
令解読部及び命令実行制御部を予め設定された配線情報
に基づいて結線すると共に、読出し専用メモリに任意の
演算プログラムを書込むようになされる。
According to the method of constructing an arithmetic processing device according to the present invention, when constructing a device that performs arithmetic processing based on an arbitrary arithmetic program, a plurality of memory cells and arithmetic logic operation elements are previously formed on the same semiconductor chip. To form a register array and a read-only memory by combining these memory cells, and to define an arithmetic unit, an instruction decoding unit, and an instruction execution control unit by combining arithmetic logic operation elements, and then to form a register array and a read-only memory. The memory, arithmetic unit, instruction decoding unit and instruction execution control unit are connected based on preset wiring information, and an arbitrary arithmetic program is written in the read-only memory.

【0142】この構成によって、命令実行制御部で演算
命令に基づいて一のレジスタを選択し、このレジスタが
保持する値によって他のレジスタを選択するレジスタ相
対レジスタアドレッシング処理を実行するようなプログ
ラム可能な演算処理装置を構築することができる。
With this configuration, the instruction execution control unit is programmable such that one register is selected based on the operation instruction and the other register is selected according to the value held by this register. An arithmetic processing unit can be constructed.

【0143】しかも、従来方式のCPUの中にRAMや
ROMの機能を取り込んだ演算処理装置を構築すること
ができ、高速演算処理を実行すること、及び、CPU
や、RAM、ROM等を個々に基板に配置する場合に比
べて基板占有面積を低減することができる。当該演算処
理装置が適用される応用装置のコンパクト化を図ること
ができる。
Moreover, it is possible to construct an arithmetic processing unit in which the functions of RAM and ROM are incorporated in the CPU of the conventional system, and to execute high-speed arithmetic processing.
Alternatively, the area occupied by the substrate can be reduced as compared with the case where the RAM, the ROM and the like are individually arranged on the substrate. The application device to which the arithmetic processing device is applied can be made compact.

【0144】本発明に係る演算処理方法によれば、演算
プログラムに基づいて任意の演算処理をする場合に、書
込みアドレス及び書込み制御信号に基づいて任意の値を
保持し、及び、読出しアドレスに基づいて当該値を出力
するレジスタを予め複数準備し、その後、演算プログラ
ムから演算命令を解読し、この演算命令に基づいて一の
レジスタを選択し、ここで選択されたレジスタが保持す
る値によって他のレジスタを選択するレジスタ相対レジ
スタアドレッシング処理を実行すると共に、演算命令に
基づいて他のレジスタを選択し、ここで選択された他の
レジスタが保持する値とレジスタ相対レジスタアドレッ
シング処理によって選択されたレジスタの値とを演算す
るようになされる。
According to the arithmetic processing method of the present invention, when arbitrary arithmetic processing is performed based on the arithmetic program, an arbitrary value is held based on the write address and the write control signal, and based on the read address. Prepare a plurality of registers to output the value in advance, then decode the operation instruction from the operation program, select one register based on this operation instruction, and select another register according to the value held by the register selected here. Performs register-relative register addressing to select a register, selects another register based on an arithmetic instruction, and holds the value held by the other register selected here and the register selected by the register-relative register addressing process. The values and are calculated.

【0145】この構成によって、複数のレジスタをデー
タの随時書込み及び読出し可能なメモリのように取り扱
うことができるので、従来方式の中央演算処理装置と外
部メモリと組み合わせた演算処理方法に比べてレジスタ
相対メモリアドレッシング処理に依存しなくなる。これ
により、従来方式に比べて高速演算処理を実行できるよ
うになる。
With this configuration, a plurality of registers can be treated like a memory in which data can be written and read at any time, so that the register relative to the conventional central processing unit and the external memory can be compared. It becomes independent of the memory addressing process. As a result, it becomes possible to execute high-speed arithmetic processing as compared with the conventional method.

【0146】この発明は各種電子機器に内蔵可能でプロ
グラム可能な1チップマイクロコンピュータ等に適用し
て極めて好適である。
The present invention is extremely suitable when applied to a programmable one-chip microcomputer or the like that can be incorporated in various electronic devices.

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

【図1】本発明に係る実施形態としての演算処理装置1
00の構成例を示すブロック図である。
FIG. 1 is an arithmetic processing device 1 as an embodiment according to the present invention.
It is a block diagram which shows the structural example of 00.

【図2】レジスタアレイ11の内部構成例を示すブロッ
ク図である。
FIG. 2 is a block diagram showing an internal configuration example of a register array 11.

【図3】A〜Eは演算処理装置100で取り扱う命令の
構造例を示すフォーマット等である。
3A to 3E are formats and the like showing a structural example of an instruction handled by the arithmetic processing unit 100. FIG.

【図4】ROMセル14の演算プログラムによる演算命
令の例を示す表図である。
FIG. 4 is a table showing an example of operation instructions by an operation program of a ROM cell 14.

【図5】レジスタr0〜r12等の状態例を示すイメー
ジ図である。
FIG. 5 is an image diagram showing a state example of registers r0 to r12 and the like.

【図6】本発明に係る実施形態としての演算処理装置1
00の動作例を示すフローチャートである。
FIG. 6 is an arithmetic processing device 1 as an embodiment according to the present invention.
It is a flowchart which shows the operation example of 00.

【図7】本発明に係る実施形態としての演算処理装置1
00の構築例(その1)を示す平面図である。
FIG. 7 is an arithmetic processing device 1 as an embodiment according to the present invention.
It is a top view which shows the construction example (the 1) of 00.

【図8】演算処理装置100の構築例(その2)を示す
平面図である。
FIG. 8 is a plan view showing a construction example (No. 2) of the arithmetic processing device 100.

【図9】演算処理装置100の構築例(その3)を示す
イメージ図である。
9 is an image diagram showing a construction example (part 3) of the arithmetic processing apparatus 100. FIG.

【図10】フラッシュメモリ70による配線情報例を示
す表図である。
10 is a table showing an example of wiring information by the flash memory 70. FIG.

【図11】演算処理装置100における結線例を示すイ
メージ図である。
11 is an image diagram showing a connection example in the arithmetic processing device 100. FIG.

【図12】演算処理装置100の構築例(その4)を示
す回路接続図である。
FIG. 12 is a circuit connection diagram showing a construction example (part 4) of the arithmetic processing device 100.

【符号の説明】[Explanation of symbols]

11・・・レジスタアレイ、12・・・ALU(演算
部)、13・・・デコーダ(命令解読部)、14・・・
ROMセル(読出し専用メモリセル)、50・・・命令
実行制御部、51・・・実行ステートマシーン(命令実
行制御部)、52・・・命令解読ステートマシーン(命
令実行制御部)、53,59・・・セレクタ、54・・
・プログラムカウンタ、55・・・インクリメンタ、5
8,510,511・・・ラッチ回路、56・・・第1
のセレクタ(命令実行制御部)、57・・・第2のセレ
クタ(命令実行制御部)、70・・・フラッシュメモリ
(記憶装置)、100・・・演算処理装置、r0〜rn
・・・レジスタ
11 ... Register array, 12 ... ALU (arithmetic unit), 13 ... Decoder (instruction decoding unit), 14 ...
ROM cell (read-only memory cell), 50 ... Instruction execution control section, 51 ... Execution state machine (instruction execution control section), 52 ... Instruction decoding state machine (instruction execution control section), 53, 59 ... Selectors, 54 ...
・ Program counter, 55 ... Incrementer, 5
8, 510, 511 ... Latch circuit, 56 ... First
No. selector (instruction execution control unit), 57 ... Second selector (instruction execution control unit), 70 ... Flash memory (storage device), 100 ... Arithmetic processing device, r0 to rn
···register

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 任意の演算プログラムに基づいて演算処
理をする装置であって、 書込みアドレス及び書込み制御信号に基づいて任意の値
を保持し、及び、読出しアドレスに基づいて当該値を出
力するレジスタを複数有したレジスタアレイと、 前記レジスタアレイから読み出された値を演算する演算
部と、 前記演算部を動作させるための演算プログラムから演算
命令を解読する命令解読部と、 前記命令解読部によって解読された演算命令を実行する
ために前記レジスタアレイ及び演算部を制御する命令実
行制御部とを備え、 前記命令実行制御部は、 前記演算命令に基づいて一の前記レジスタを選択し、 選択された前記レジスタが保持する値によって他のレジ
スタを選択するレジスタ相対レジスタアドレッシング処
理を実行することを特徴とする演算処理装置。
1. A device for performing arithmetic processing based on an arbitrary arithmetic program, the register holding an arbitrary value based on a write address and a write control signal, and outputting the value based on a read address. A register array having a plurality of units, an arithmetic unit for arithmetically operating a value read from the register array, an instruction decoding unit for decoding an arithmetic instruction from an arithmetic program for operating the arithmetic unit, and the instruction decoding unit. An instruction execution control unit that controls the register array and the arithmetic unit to execute the decoded arithmetic instruction, wherein the instruction execution control unit selects one of the registers based on the arithmetic instruction and is selected. Register relative register addressing processing for selecting another register according to the value held by the register That processing unit.
【請求項2】 前記演算プログラムを格納した読出し専
用メモリセルを備えることを特徴とする請求項1に記載
の演算処理装置。
2. The arithmetic processing device according to claim 1, further comprising a read-only memory cell storing the arithmetic program.
【請求項3】 前記演算プログラムには、 前記レジスタ相対レジスタアドレッシング処理を実行す
るための演算命令を含むことを特徴とする請求項1に記
載の演算処理装置。
3. The arithmetic processing device according to claim 1, wherein the arithmetic program includes an arithmetic instruction for executing the register relative register addressing processing.
【請求項4】 前記レジスタアレイ及び読出し専用メモ
リが複数のメモリセルにより構成され、 前記演算部、命令解読部及び命令実行制御部が複数の算
術論理演算素子により構成され、 前記メモリセル及び算術論理演算素子を同一半導体チッ
プ上に備えたプログラマブル・ロジック・デバイスによ
って構成されることを特徴とする請求項1に記載の演算
処理装置。
4. The register array and the read-only memory are composed of a plurality of memory cells, the arithmetic unit, the instruction decoding unit and the instruction execution control unit are composed of a plurality of arithmetic logic operation elements, and the memory cell and arithmetic logic. The arithmetic processing device according to claim 1, wherein the arithmetic processing device is constituted by a programmable logic device provided on the same semiconductor chip.
【請求項5】 前記命令実行制御部には、 前記一のレジスタを選択するための読出し実行アドレス
又は当該レジスタを再度選択するための読出しアドレス
のいずれか一方を選択する第1のセレクタと、 前記一のレジスタを選択するための書込み実行アドレス
又は当該レジスタを再度選択するための書込みアドレス
のいずれか一方を選択する第2のセレクタとを有するこ
とを特徴とする請求項1に記載の演算処理装置。
5. The instruction execution control section includes a first selector that selects either a read execution address for selecting the one register or a read address for reselecting the register. The arithmetic processing unit according to claim 1, further comprising a second selector that selects either a write execution address for selecting one register or a write address for selecting the register again. .
【請求項6】 任意の演算プログラムに基づいて演算処
理をする装置を構築する方法であって、 予め同一半導体チップ上に複数のメモリセル及び算術論
理演算素子を形成し、 前記メモリセルを組み合わせてレジスタアレイ及び読出
し専用メモリを画定すると共に、前記算術論理演算素子
を組み合わせて演算部、命令解読部及び命令実行制御部
を画定し、その後、前記レジスタアレイ、読出し専用メ
モリ、演算部、命令解読部及び命令実行制御部を予め設
定された配線情報に基づいて結線すると共に、前記読出
し専用メモリに任意の演算プログラムを書込むことを特
徴とする演算処理装置の構築方法。
6. A method of constructing an apparatus for performing arithmetic processing based on an arbitrary arithmetic program, comprising forming a plurality of memory cells and arithmetic logic operation elements in advance on the same semiconductor chip, and combining the memory cells. A register array and a read-only memory are defined, and an arithmetic unit, an instruction decoding unit, and an instruction execution control unit are defined by combining the arithmetic logic operation elements, and then the register array, the read-only memory, an arithmetic unit, and an instruction decoding unit. And a method for constructing an arithmetic processing device, characterized in that the instruction execution control unit is connected based on preset wiring information and an arbitrary arithmetic program is written in the read-only memory.
【請求項7】 前記演算プログラムには、 前記レジスタ相対レジスタアドレッシング処理を実行す
るための演算命令を含むことを特徴とする請求項6に記
載の演算処理装置の構築方法。
7. The method for constructing an arithmetic processing device according to claim 6, wherein the arithmetic program includes an arithmetic instruction for executing the register relative register addressing processing.
【請求項8】 前記配線情報を格納する書き換え可能な
不揮発性の記憶装置が設けられ、 電源オンと共に前記記憶装置から配線情報を読み出して
設定し、 設定された前記配線情報に基づいて前記レジスタアレ
イ、読出し専用メモリ、演算部、命令解読部及び命令実
行制御部間を結線することを特徴とする請求項6に記載
の演算処理装置の構築方法。
8. A rewritable non-volatile storage device for storing the wiring information is provided, the wiring information is read from the storage device when the power is turned on and set, and the register array is set based on the set wiring information. The method for constructing an arithmetic processing device according to claim 6, wherein the read-only memory, the arithmetic unit, the instruction decoding unit, and the instruction execution control unit are connected to each other.
【請求項9】 前記記憶装置に格納される配線情報は当
該演算処理装置の機能に応じて随時書き換えられること
を特徴とする請求項6に記載の演算処理装置の構築方
法。
9. The method for constructing an arithmetic processing device according to claim 6, wherein the wiring information stored in the storage device is rewritten at any time according to the function of the arithmetic processing device.
【請求項10】 前記レジスタアレイは、 書込みアドレス及び書込み制御信号に基づいて任意の値
を保持し、及び、読出しアドレスに基づいて当該値を出
力する複数のレジスタを有することを特徴とする請求項
6に記載の演算処理装置の構築方法。
10. The register array has a plurality of registers for holding an arbitrary value based on a write address and a write control signal, and outputting the value based on a read address. 6. The method for constructing an arithmetic processing unit according to 6.
【請求項11】 前記命令実行制御部は、 前記演算命令に基づいて一の前記レジスタを選択し、 選択された前記レジスタが保持する値によって他のレジ
スタを選択するレジスタ相対レジスタアドレッシング処
理を実行することを特徴とする請求項6に記載の演算処
理装置の構築方法。
11. The instruction execution control unit executes a register relative register addressing process of selecting one of the registers based on the operation instruction and selecting another register according to a value held by the selected register. 7. The method for constructing an arithmetic processing device according to claim 6, wherein:
【請求項12】 前記命令実行制御部には、 前記一のレジスタを選択するための読出し実行アドレス
又は当該レジスタを再度選択するための読出しアドレス
のいずれか一方を選択する第1のセレクタと、 前記一のレジスタを選択するための書込み実行アドレス
又は当該レジスタを再度選択するための書込みアドレス
のいずれか一方を選択する第2のセレクタとが備えられ
ることを特徴とする請求項6に記載の演算処理装置の構
築方法。
12. The instruction execution control unit includes a first selector that selects either a read execution address for selecting the one register or a read address for selecting the register again, The arithmetic processing according to claim 6, further comprising: a second selector that selects either a write execution address for selecting one register or a write address for selecting the register again. How to build a device.
【請求項13】 前記演算部では前記レジスタアレイか
ら読み出された値が演算され、 前記命令解読部では前記演算部を動作させるための演算
プログラムから演算命令が解読され、 前記命令実行制御部では前記命令解読部によって解読さ
れた演算命令を実行するために前記レジスタアレイ及び
演算部が制御されることを特徴とする請求項6に記載の
演算処理装置の構築方法。
13. The arithmetic unit operates the value read from the register array, the instruction decoding unit decodes an arithmetic instruction from an arithmetic program for operating the arithmetic unit, and the instruction execution control unit 7. The method according to claim 6, wherein the register array and the arithmetic unit are controlled to execute the arithmetic instruction decoded by the instruction decoding unit.
【請求項14】 演算プログラムに基づいて任意の演算
処理をする方法であって、 書込みアドレス及び書込み制御信号に基づいて任意の値
を保持し、及び、読出しアドレスに基づいて当該値を出
力するレジスタを予め複数準備し、その後、 前記演算プログラムから演算命令を解読し、 前記演算命令に基づいて一の前記レジスタを選択し、 選択された前記レジスタが保持する値によって他のレジ
スタを選択するレジスタ相対レジスタアドレッシング処
理を実行すると共に、前記演算命令に基づいて他の前記
レジスタを選択し、 選択された他の前記レジスタが保持する値と前記レジス
タ相対レジスタアドレッシング処理によって選択された
レジスタの値とを演算することを特徴とする演算処理方
法。
14. A method for performing an arbitrary arithmetic process based on an arithmetic program, which holds an arbitrary value based on a write address and a write control signal and outputs the value based on a read address. A plurality of registers are prepared in advance, then an arithmetic instruction is decoded from the arithmetic program, one of the registers is selected based on the arithmetic instruction, and another register is selected according to the value held by the selected register. The register addressing process is executed, the other register is selected based on the operation instruction, and the value held by the other selected register and the value of the register selected by the register relative register addressing process are calculated. An arithmetic processing method characterized by:
【請求項15】 前記レジスタが保持する値によって選
択されているレジスタに前記演算の結果を格納すること
を特徴とする請求項14に記載の演算処理方法。
15. The operation processing method according to claim 14, wherein the result of the operation is stored in a register selected by a value held by the register.
【請求項16】 前記演算プログラムには、 前記レジスタ相対レジスタアドレッシング処理を実行す
るための演算命令を含むことを特徴とする請求項14に
記載の演算処理方法。
16. The arithmetic processing method according to claim 14, wherein the arithmetic program includes an arithmetic instruction for executing the register relative register addressing processing.
JP2002088916A 2002-03-27 2002-03-27 Arithmetic processing unit, method of constructing it, and method of arithmetic processing Pending JP2003288204A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2002088916A JP2003288204A (en) 2002-03-27 2002-03-27 Arithmetic processing unit, method of constructing it, and method of arithmetic processing
EP03715417A EP1489493A1 (en) 2002-03-27 2003-03-26 Operation processor, building method, operation processing system, and operation processing method
KR10-2004-7015082A KR20040097212A (en) 2002-03-27 2003-03-26 Operation processor, building method, operation processing system, and operation processing method
PCT/JP2003/003716 WO2003081422A1 (en) 2002-03-27 2003-03-26 Operation processor, building method, operation processing system, and operation processing method
US10/508,802 US7581083B2 (en) 2002-03-27 2003-03-26 Operation processing device, system and method having register-to-register addressing
US11/821,424 US20070250685A1 (en) 2002-03-27 2007-06-22 Operation-processing device, method for constructing the same, and operation-processing system and method
US11/821,447 US20080046470A1 (en) 2002-03-27 2007-06-22 Operation-processing device, method for constructing the same, and operation-processing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002088916A JP2003288204A (en) 2002-03-27 2002-03-27 Arithmetic processing unit, method of constructing it, and method of arithmetic processing

Publications (2)

Publication Number Publication Date
JP2003288204A true JP2003288204A (en) 2003-10-10
JP2003288204A5 JP2003288204A5 (en) 2005-03-17

Family

ID=29234646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002088916A Pending JP2003288204A (en) 2002-03-27 2002-03-27 Arithmetic processing unit, method of constructing it, and method of arithmetic processing

Country Status (1)

Country Link
JP (1) JP2003288204A (en)

Similar Documents

Publication Publication Date Title
US5970254A (en) Integrated processor and programmable data path chip for reconfigurable computing
US6282627B1 (en) Integrated processor and programmable data path chip for reconfigurable computing
JP4657455B2 (en) Data processor
US4954943A (en) Data processing system
JPH06332792A (en) Data processor, data reading control circuit thereof and data writing control circuit
US6029242A (en) Data processing system using a shared register bank and a plurality of processors
JP3203401B2 (en) Data processing device
JP2001504959A (en) 8-bit microcontroller with RISC architecture
JPH03216776A (en) Integrated circuit device and microprocessor consisting of this circuit device
EP0447685B1 (en) Programmable controller
JPH01119828A (en) Microprocessor
US20080046470A1 (en) Operation-processing device, method for constructing the same, and operation-processing system and method
JPH01271838A (en) Microprogram branching method
JP3705811B2 (en) Microcontroller with reconfigurable program status word
JP2002063025A (en) Variable length data processing processor
JP2003288204A (en) Arithmetic processing unit, method of constructing it, and method of arithmetic processing
US20130212362A1 (en) Image processing device and data processor
US20080313428A1 (en) Microprocessor
JPH03204030A (en) Processor for computor
JPH023821A (en) High speed arithmetic unit
US5893928A (en) Data movement apparatus and method
JP2002535749A (en) Processor and method for executing instructions from multiple instruction sources
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
JP2883489B2 (en) Instruction processing unit
JPH0535472A (en) Microcomputer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051115

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424