JPH07191844A - Microprocessor with programmable logic - Google Patents
Microprocessor with programmable logicInfo
- Publication number
- JPH07191844A JPH07191844A JP33288093A JP33288093A JPH07191844A JP H07191844 A JPH07191844 A JP H07191844A JP 33288093 A JP33288093 A JP 33288093A JP 33288093 A JP33288093 A JP 33288093A JP H07191844 A JPH07191844 A JP H07191844A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- logic
- microprocessor
- undefined
- programmable logic
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、実行可能な機能が固
定的に決まっている標準的なマイクロプロセッサにおい
て、システム未定義命令の少なくとも一部をユーザ定義
命令として実行するのに好適なプログラマブル・ロジッ
ク付きマイクロプロセッサに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a programmable microprocessor suitable for executing at least a part of system-undefined instructions as user-defined instructions in a standard microprocessor whose executable functions are fixedly determined. Regarding a microprocessor with logic.
【0002】[0002]
【従来の技術】一般に、RISC(縮小命令セットコン
ピュータ)プロセッサのように、マイクロプログラム方
式を採らないマイクロプロセッサでは、それが実行でき
る機能は全て固定的に決定されている。このため、ユー
ザ毎に必要な機能を実現するには、外部ロジックを設
け、この外部ロジックを制御する必要があった。2. Description of the Related Art Generally, in a microprocessor such as a RISC (reduced instruction set computer) processor which does not adopt a microprogram system, all the functions that it can execute are fixedly determined. Therefore, in order to realize the required function for each user, it is necessary to provide an external logic and control the external logic.
【0003】ところが、外部ロジックを制御するのに使
用可能な命令は、入出力命令(ロード命令/ストア命
令)だけである。このため、例えばマイクロプロセッサ
で行った或る演算結果を外部ロジックに出力するには、
演算命令の実行と、その演算命令の実行により得られた
結果を入出力命令により外部ロジックに出力するという
ように、多くの命令処理が必要となり、ユーザが必要な
機能を実行するのに多大な時間を必要としていた。However, the only instructions that can be used to control the external logic are input / output instructions (load instructions / store instructions). Therefore, for example, to output the result of a certain operation performed by the microprocessor to the external logic,
A lot of instruction processing is required, such as executing an arithmetic instruction and outputting the result obtained by executing the arithmetic instruction to an external logic by an input / output instruction, which is very difficult for a user to execute a required function. I needed time.
【0004】また、この種のマイクロプロセッサでは、
命令語コードに未定義のものがある。例えば、8ビット
の命令語コードであれば256種の命令が定義可能であ
るが、標準的なマイクロプロセッサで80種程度しか定
義されておらず、残りは未定義である。この未定義の命
令語コードがプログラム中に出現すると、従来のマイク
ロプロセッサでは(当該未定義命令の実行時に)未定義
信号が生成されて内部例外割り込みが発生し、ソフトウ
ェア(オペレーティングシステム)によって、当該未定
義命令が処理されていた。このため、システムで未定義
の命令をユーザ毎に定義して実行させようとすると、処
理が遅くなるという問題があった。Further, in this type of microprocessor,
Some instruction code is undefined. For example, 256 types of instructions can be defined with an 8-bit instruction word code, but only about 80 types are defined by a standard microprocessor, and the rest are undefined. When this undefined instruction word code appears in the program, an undefined signal is generated in the conventional microprocessor (at the time of execution of the undefined instruction), an internal exception interrupt occurs, and the software (operating system) An undefined instruction was being processed. For this reason, there is a problem that the processing becomes slow if an undefined instruction is defined for each user and executed by the system.
【0005】[0005]
【発明が解決しようとする課題】上記したように、マイ
クロプログラム方式を採らないマイクロプロセッサ、即
ち実行可能な命令が固定的に定義されているマイクロプ
ロセッサでは、従来は、当該マイクロプロセッサで実行
できない機能をユーザ毎に実現しようとすると、入出力
命令を用いて外部ロジックを制御するとか、未定義の命
令の実行時に発生する内部例外割り込みに応じてソフト
ウェアにより処理するしかなく、処理が遅くなるという
問題があった。As described above, in a microprocessor that does not adopt the microprogram system, that is, in the microprocessor in which executable instructions are fixedly defined, conventionally, the functions that cannot be executed by the microprocessor. If you try to realize the above for each user, you will have to control the external logic using input / output instructions, or process it by software in response to an internal exception interrupt that occurs when an undefined instruction is executed, which slows down processing. was there.
【0006】この発明は上記事情を考慮してなされたも
のでその目的は、実行可能な命令が固定的に定義されて
いる標準的なマイクロプロセッサに、構成制御データの
書き換えにより任意の機能が実現できるプログラマブル
・ロジックを内蔵することで、システム未定義命令の少
なくとも一部をユーザ定義命令として任意に定義でき、
しかも当該ユーザ定義命令を処理の遅延を招くことなく
実行できるプログラマブル・ロジック付きマイクロプロ
セッサを提供することにある。The present invention has been made in consideration of the above circumstances, and an object thereof is to realize an arbitrary function by rewriting configuration control data in a standard microprocessor in which executable instructions are fixedly defined. By including programmable logic that can be built, at least part of system undefined instructions can be arbitrarily defined as user-defined instructions.
Moreover, it is to provide a microprocessor with a programmable logic capable of executing the user-defined instruction without causing a delay in processing.
【0007】この発明の他の目的は、マイクロプロセッ
サ機能を利用者毎にカスタマイズすることが簡単に行え
るプログラマブル・ロジック付きマイクロプロセッサを
提供することにある。Another object of the present invention is to provide a microprocessor with programmable logic in which the microprocessor function can be easily customized for each user.
【0008】この発明の更に他の目的は、利用者が仕様
を決定するプロセッサ外部のロジックを直接制御できる
プログラマブル・ロジック付きマイクロプロセッサを提
供することにある。Still another object of the present invention is to provide a microprocessor with programmable logic, which allows a user to directly control logic outside the processor for determining specifications.
【0009】[0009]
【課題を解決するための手段および作用】この発明は、
実行可能な命令が固定的に定義されている標準的なマイ
クロプロセッサに、プログラマブル・ロジックを内蔵
し、当該プログラマブル・ロジックに任意の構成制御デ
ータを書き込むことにより、上記マイクロプロセッサで
実行不可能なシステム未定義命令の少なくとも一部をユ
ーザ定義命令として解釈・実行するための制御ロジック
であって、実行すべき命令がユーザ定義命令の場合には
マイクロプロセッサにて生成される未定義信号に応じて
内部例外割り込みが発生するのを抑止させるための制御
ロジックを構築するようにしたことを特徴とするもので
ある。Means and Actions for Solving the Problems
A system that cannot be executed by the microprocessor by incorporating programmable logic into a standard microprocessor in which executable instructions are fixedly defined and by writing arbitrary configuration control data to the programmable logic. Control logic for interpreting / executing at least a part of undefined instructions as user-defined instructions. If the instruction to be executed is a user-defined instruction, internal control is performed according to an undefined signal generated by the microprocessor. It is characterized in that the control logic for suppressing the occurrence of the exception interrupt is constructed.
【0010】このような構成においては、プログラマブ
ル・ロジックのメモリ部に書き込まれる構成制御データ
を選ぶことにより、システム未定義命令の少なくとも一
部をユーザ定義命令として解釈・実行する制御ロジック
が実現できることから、利用者が要求するユーザ定義命
令を処理の遅延を招くことなく実行できる。しかも、こ
のようにして実現される制御ロジックにより、実行すべ
き命令がユーザ定義命令の場合にはマイクロプロセッサ
にて生成される未定義信号に応じて内部例外割り込みが
発生するのを抑止させることもできるため、制御ロジッ
ク(を構築するプログラマブル・ロジック)でのユーザ
定義命令実行が無駄になる虞はない。In such a configuration, by selecting the configuration control data written in the memory part of the programmable logic, it is possible to realize a control logic that interprets and executes at least a part of the system undefined instruction as a user-defined instruction. The user-defined instruction requested by the user can be executed without causing a delay in processing. Moreover, the control logic realized in this manner can prevent the internal exception interrupt from being generated in response to the undefined signal generated by the microprocessor when the instruction to be executed is the user-defined instruction. Therefore, the execution of the user-defined instruction in the control logic (the programmable logic that constructs the control logic) is not wasted.
【0011】また、この発明は、プログラマブル・ロジ
ックに対する構成制御データの書き込みを、固定的に定
義されている命令(システム定義命令)の列からなる初
期化プログラムの実行により行うことをも特徴とする。The present invention is also characterized in that the configuration control data is written to the programmable logic by executing an initialization program consisting of a sequence of fixedly defined instructions (system-defined instructions). .
【0012】このようにすることにより、利用者が必要
とする機能を実現するための任意の構成制御データを、
システム立ち上げ時の初期化処理で、プログラマブル・
ロジックのメモリ部に書き込めるため、マイクロプロセ
ッサ機能を利用者毎にカスタマイズすることが簡単に行
える。By doing so, arbitrary configuration control data for realizing the function required by the user can be
Programmable by initialization processing at system startup
Since the data can be written in the memory part of the logic, the microprocessor function can be easily customized for each user.
【0013】また、この発明は、任意に仕様が決定可能
なプロセッサ外部のロジックからプログラマブル・ロジ
ックに情報を伝達するための第1の信号線と、プログラ
マブル・ロジックから外部ロジックに制御情報を伝達す
るための第2の信号線とを備え、プログラマブル・ロジ
ックに書き込まれる構成制御データにより、実行すべき
ユーザ定義命令が外部ロジックを制御することを定義し
たシステム未定義命令の場合に、当該命令を、当該命令
および上記第1の信号線を介して外部ロジックから伝達
される情報をもとに解釈して実行し、その実行結果を上
記第2の信号線を介して前記外部ロジックに出力して制
御する制御ロジックを構築することをも特徴とする。Further, according to the present invention, a first signal line for transmitting information from a logic external to the processor whose specifications can be arbitrarily determined to a programmable logic, and control information from the programmable logic to the external logic. And a second signal line for controlling the external logic when the user-defined instruction to be executed is defined by the configuration control data written in the programmable logic. The instruction and the information transmitted from the external logic via the first signal line are interpreted and executed, and the execution result is output to the external logic via the second signal line for control. It is also characterized by constructing a control logic to do so.
【0014】このようにすることにより、制御ロジック
(を構築するプログラマブル・ロジック)で外部ロジッ
クを制御するためのユーザ定義命令を実行させて、その
実行結果をもとに外部ロジックを直接制御することが可
能となる。By doing so, the control logic (programmable logic that constructs the) executes a user-defined instruction for controlling the external logic, and the external logic is directly controlled based on the execution result. Is possible.
【0015】[0015]
【実施例】図1はこの発明の一実施例に係るプログラマ
ブル・ロジック付きマイクロプロセッサの構成を示すブ
ロック図である。図1に示すマイクロプロセッサは、R
ISCプロセッサに代表される、マイクロプログラム方
式を採らない例えば1チップマイクロプロセッサであ
る。1 is a block diagram showing the structure of a microprocessor with programmable logic according to an embodiment of the present invention. The microprocessor shown in FIG.
It is, for example, a one-chip microprocessor that does not adopt a microprogram system, which is represented by an ISC processor.
【0016】本マイクロプロセッサは、プロセッサ外の
システムバス(図示せず)とのインタフェースを制御す
るバスコントローラ(BC)1と、バスコントローラ1
を通してメモリ(図示せず)から読み込まれた命令をそ
の読み込み順に一時保持するための命令バッファ2と、
命令バッファ2に保持された命令が指示する処理内容を
順に解析(デコード)し、その処理に必要な各種制御信
号をプロセッサ内の各部に出力する命令解析部3とを有
している。この命令解析部3は、解析した命令がシステ
ムで未定義の命令(システム未定義命令)の場合には、
未定義信号を出力するようになっている。The present microprocessor includes a bus controller (BC) 1 for controlling an interface with a system bus (not shown) outside the processor, and a bus controller 1.
An instruction buffer 2 for temporarily holding the instructions read from a memory (not shown) through the reading order,
The instruction analysis unit 3 analyzes (decodes) the processing contents designated by the instructions held in the instruction buffer 2 in order and outputs various control signals necessary for the processing to each unit in the processor. When the analyzed instruction is an undefined instruction in the system (system undefined instruction), the instruction analysis unit 3
It outputs an undefined signal.
【0017】本マイクロプロセッサはまた、命令解析部
3により解析された命令(システム定義命令)が指示す
る処理を、当該命令解析部3の解析結果をもとに実行す
る命令実行部4を有している。この命令実行部4は、命
令解析部3により解析された命令がシステム未定義命令
の場合には、後述する制御線15上のステータス情報が
有効でない限り、当該命令解析部3から出力される未定
義信号をもとに内部例外割り込みを発生するようになっ
ている。また、命令実行部4は、初期化時には、初期化
プログラム(中のシステム定義命令列)に従い、後述す
るFPGA10のRAM部20への構成制御データ書き
込みを行うようにもなっている。The present microprocessor also has an instruction execution unit 4 for executing the processing instructed by the instruction (system-defined instruction) analyzed by the instruction analysis unit 3 based on the analysis result of the instruction analysis unit 3. ing. When the instruction analyzed by the instruction analysis unit 3 is a system undefined instruction, the instruction execution unit 4 outputs the instruction output from the instruction analysis unit 3 unless status information on the control line 15 described later is valid. An internal exception interrupt is generated based on the definition signal. In addition, the instruction execution unit 4 also writes the configuration control data to the RAM unit 20 of the FPGA 10 described later according to the initialization program (system definition instruction sequence therein) at the time of initialization.
【0018】本マイクロプロセッサは更に、命令実行部
4の実行結果(命令処理結果)であるオペランド・デー
タを一時保持するためのオペランドバッファ5と、この
オペランドバッファ5に保持されたオペランド・データ
を保持するためのレジスタ群からなるレジスタファイル
(RF)6とを有している。The present microprocessor further holds an operand buffer 5 for temporarily holding the operand data which is the execution result (instruction processing result) of the instruction execution section 4, and the operand data held in this operand buffer 5. A register file (RF) 6 composed of a register group for
【0019】また本マイクロプロセッサには、以上のバ
スコントローラ1、命令バッファ2、命令解析部3、命
令実行部4、オペランドバッファ5およびレジスタファ
イル6の他、システム未定義命令の一部または全部をユ
ーザ定義命令として解釈・実行するための任意の制御ロ
ジックを実現するプログラマブル・ロジック、例えばF
PGA(Field Programmable Gate Array )10が内蔵
されている。In addition to the bus controller 1, the instruction buffer 2, the instruction analysis unit 3, the instruction execution unit 4, the operand buffer 5 and the register file 6 described above, a part or all of the system undefined instructions are included in the present microprocessor. Programmable logic that realizes an arbitrary control logic for interpretation / execution as a user-defined instruction, such as F
A PGA (Field Programmable Gate Array) 10 is built in.
【0020】FPGA10は、周知のように、構成制御
データが設定されるRAM部20と、RAM部20に設
定されている構成制御データで決まる機能を実現するロ
ジック部30とから構成される。As is well known, the FPGA 10 is composed of a RAM section 20 in which configuration control data is set, and a logic section 30 which realizes a function determined by the configuration control data set in the RAM section 20.
【0021】FPGA10は、内部バス11により命令
解析部3と、内部バス12により命令実行部4と、そし
て内部バス13によりオペランドバッファ5と、それぞ
れ接続されている。The FPGA 10 is connected to the instruction analysis unit 3 by the internal bus 11, the instruction execution unit 4 by the internal bus 12, and the operand buffer 5 by the internal bus 13.
【0022】内部バス11は、命令解析部3により解析
された命令をFPGA10のロジック部30に伝達する
ためのものである。内部バス12は、命令実行部4での
実行結果をFPGA10のRAM部20またはロジック
部30に伝達するためのものである。内部バス13は、
FPGA10のロジック部30で実現される後述の命令
実行部32のユーザ定義命令実行結果をオペランドバッ
ファ5に伝達するためのものである。The internal bus 11 is for transmitting the instruction analyzed by the instruction analysis unit 3 to the logic unit 30 of the FPGA 10. The internal bus 12 is for transmitting the execution result of the instruction execution unit 4 to the RAM unit 20 or the logic unit 30 of the FPGA 10. The internal bus 13
It is for transmitting a user-defined instruction execution result of an instruction execution unit 32, which will be described later, realized in the logic unit 30 of the FPGA 10 to the operand buffer 5.
【0023】FPGA10はまた、制御線14により命
令解析部3と、制御線15により命令実行部4と、そし
て制御線16,17によりプロセッサ外部のロジック
(図示せず)と、それぞれ接続されている。この外部ロ
ジックは、ユーザが仕様を決定することができるもの
で、例えばオーディオ装置などである。The FPGA 10 is also connected to the instruction analysis unit 3 by the control line 14, the instruction execution unit 4 by the control line 15, and the logic (not shown) outside the processor by the control lines 16 and 17. . The external logic allows the user to determine the specifications, and is, for example, an audio device.
【0024】制御線14は、命令解析部3でシステム未
定義命令を解析した際に生成される未定義信号をFPG
A10のロジック部30に伝達するためのものである。
制御線15はFPGA10のロジック部30で実現され
る命令実行部32でのユーザ定義命令実行状態を示すス
テータス情報を命令実行部4に伝達するためのものであ
る。制御線16は、外部ロジックからの情報(ステータ
ス情報)をFPGA10のロジック部30に伝達し、制
御線17は、当該ロジック部30内の命令実行部32か
ら上記外部ロジックを制御するための制御信号を伝達す
るためのものである。The control line 14 sends an undefined signal generated when the instruction analysis unit 3 analyzes the system undefined instruction to the FPG.
It is for transmission to the logic unit 30 of A10.
The control line 15 is for transmitting status information indicating a user-defined instruction execution state in the instruction execution unit 32 realized by the logic unit 30 of the FPGA 10 to the instruction execution unit 4. The control line 16 transmits information (status information) from the external logic to the logic unit 30 of the FPGA 10, and the control line 17 is a control signal for controlling the external logic from the instruction execution unit 32 in the logic unit 30. It is for transmitting.
【0025】FPGA10のロジック部30は、RAM
部20に設定される構成制御データにより、命令解析部
31、命令実行部32およびゲート(G)33を含む制
御ロジックを実現する。The logic unit 30 of the FPGA 10 is a RAM
The control logic including the instruction analysis unit 31, the instruction execution unit 32, and the gate (G) 33 is realized by the configuration control data set in the unit 20.
【0026】命令解析部31は、内部バス11を介して
伝達される命令のうち、RAM部20に設定される構成
制御データによりユーザ定義命令として定められたシス
テム未定義命令、更には制御線16を介して伝達される
外部ロジックからのステータス情報をもとに、当該命令
の指示する処理内容を解析するように構成されている。
命令解析部31は、例えば制御線14を介して有効な未
定義信号が伝達された場合だけイネーブル(動作可能)
状態となる。The command analysis unit 31 selects a system undefined command defined as a user-defined command by the configuration control data set in the RAM unit 20 among the commands transmitted via the internal bus 11, and further controls the control line 16. It is configured to analyze the processing content designated by the instruction based on the status information from the external logic transmitted via the.
The instruction analysis unit 31 is enabled (operable) only when a valid undefined signal is transmitted via the control line 14, for example.
It becomes a state.
【0027】命令実行部32は、命令解析部31により
解析された命令(ユーザ定義命令)が指示する処理を実
行するように構成されている。ゲート33は、制御線1
4を介して命令解析部31に伝達された未定義信号が有
効な場合に、命令実行部32でのユーザ定義命令実行状
態を示すステータス情報を制御線15に出力するように
なっている。The instruction execution section 32 is configured to execute the processing instructed by the instruction (user-defined instruction) analyzed by the instruction analysis section 31. Gate 33 is control line 1
When the undefined signal transmitted to the instruction analysis unit 31 via 4 is valid, status information indicating a user-defined instruction execution state in the instruction execution unit 32 is output to the control line 15.
【0028】次に、図1の構成の動作を説明する。まず
システム立ち上げ時には、図1のマイクロプロセッサに
おいて初期化プログラムが実行され、以下に述べるよう
に、当該プログラムにより任意に決定される構成制御デ
ータをFPGA10のRAM部20に書き込む処理が行
われる。なお、システム立ち上げ時には、図示せぬコン
トロールレジスタの特定ビットの状態により、FPGA
10内のRAM部20およびロジック部30のうち、R
AM部20がイネーブル状態に設定され、システム立ち
上げ後は、逆にロジック部30がイネーブル状態に設定
されるようになっている。Next, the operation of the configuration shown in FIG. 1 will be described. First, when the system is started up, an initialization program is executed in the microprocessor of FIG. 1, and as described below, a process of writing configuration control data arbitrarily determined by the program into the RAM section 20 of the FPGA 10 is performed. At system startup, depending on the status of a specific bit in the control register (not shown), the FPGA
R of the RAM section 20 and the logic section 30 in 10
The AM section 20 is set to the enabled state, and after the system is started up, the logic section 30 is set to the enabled state.
【0029】今、システム立ち上げ時に、初期化プログ
ラムを構成する命令列がバスコントローラ(BC)1を
通してメモリからマイクロプロセッサ内部に読み込ま
れ、命令バッファ2に保持されたものとする。この命令
バッファ2に保持された命令列は、例えば1命令ずつ順
に命令解析部3に転送される。Now, at the time of system startup, it is assumed that an instruction sequence forming an initialization program is read from the memory into the microprocessor through the bus controller (BC) 1 and held in the instruction buffer 2. The instruction sequence held in the instruction buffer 2 is transferred to the instruction analysis unit 3 one instruction at a time, for example.
【0030】命令解析部3は、命令バッファ2から転送
された命令の指示する処理内容を解析する。また命令解
析部3は、解析した処理の実行に必要な各種制御信号を
命令実行部4等に出力する。更に命令解析部3は、解析
した処理に用いられるオペランドデータをレジスタファ
イル(RF)6から読み出し、命令実行部4に出力す
る。The instruction analysis unit 3 analyzes the processing content designated by the instruction transferred from the instruction buffer 2. The instruction analysis unit 3 also outputs various control signals necessary for executing the analyzed processing to the instruction execution unit 4 and the like. Further, the instruction analysis unit 3 reads the operand data used for the analyzed processing from the register file (RF) 6 and outputs it to the instruction execution unit 4.
【0031】命令実行部4は、命令解析部3からの制御
信号により起動され、当該命令解析部3から出力された
オペランドデータを用いて、対応する命令の指示する処
理を実行する。もし、この命令が、FPGA10のRA
M部20に構成制御データを書き込むための命令であっ
たなら、命令実行部4の実行により、その命令の指定す
るオペランドデータが構成制御データとして、その命令
の指定するRAM部20のアドレスに内部バス12を介
して書き込まれる。The instruction execution unit 4 is activated by a control signal from the instruction analysis unit 3 and uses the operand data output from the instruction analysis unit 3 to execute the processing instructed by the corresponding instruction. If this instruction is RA of FPGA10
If the instruction is to write the configuration control data to the M unit 20, the instruction execution unit 4 executes the operation so that the operand data designated by the instruction is internally stored at the address of the RAM unit 20 designated by the instruction as the configuration control data. Written via bus 12.
【0032】以上の繰り返しにより、FPGA10のR
AM部20に、初期化プログラムにより決定される構成
制御データが書き込まれる。したがって、ユーザ毎に、
任意の初期化プログラムを用意して、システム立ち上げ
時の初期化処理で任意の構成制御データをRAM部20
に書き込むことにより、FPGA10のロジック部30
上にユーザが望む機能(制御ロジック)を実現すること
ができる。図3中のロジック部30内は、この状態を示
すもので、RAM部20に書き込まれている構成制御デ
ータにより、命令解析部31、命令実行部32およびゲ
ート(G)33を含む制御ロジックが実現されている。
また、命令解析部31の解析機能も、構成制御データに
より任意に実現できる。ここでは、命令解析部3で未定
義命令として扱われる命令の一部または全部をユーザ定
義命令として解析する機能が付与されている。By repeating the above, R of FPGA 10
The configuration control data determined by the initialization program is written in the AM unit 20. Therefore, for each user,
An arbitrary initialization program is prepared so that any configuration control data can be stored in the RAM section 20 in the initialization process when the system is started up.
To the logic unit 30 of the FPGA 10 by writing
The function (control logic) desired by the user can be realized on the above. The inside of the logic unit 30 in FIG. 3 shows this state, and the control logic including the instruction analysis unit 31, the instruction execution unit 32, and the gate (G) 33 is changed by the configuration control data written in the RAM unit 20. Has been realized.
Also, the analysis function of the instruction analysis unit 31 can be arbitrarily realized by the configuration control data. Here, a function of analyzing some or all of the instructions handled as undefined instructions by the instruction analysis unit 3 as user-defined instructions is added.
【0033】次に、以上の構成データ書き込み後の動
作、即ちシステム立ち上げ後の動作について説明する。
まず、図1のマイクロプロセッサが実行すべき命令がバ
スコントローラ1を通してメモリから読み込まれ、命令
バッファ2を介して命令解析部3に転送されたものとす
る。Next, the operation after writing the above configuration data, that is, the operation after the system is started up will be described.
First, it is assumed that the instruction to be executed by the microprocessor of FIG. 1 is read from the memory through the bus controller 1 and transferred to the instruction analysis unit 3 through the instruction buffer 2.
【0034】命令解析部3は、命令バッファ2から転送
された命令の指示する処理内容を解析し、解析した処理
の実行に必要な各種制御信号を命令実行部4等に出力す
る。もし、処理内容が定義されていない命令、即ちシス
テム未定義命令を解析した場合には、命令解析部3は命
令実行部4に未定義信号を出力する。この場合でも、命
令実行部4等には命令解析の結果として何らかの制御信
号が出力され、何らかの実行処理が行われる。The instruction analysis unit 3 analyzes the processing content designated by the instruction transferred from the instruction buffer 2 and outputs various control signals necessary for executing the analyzed processing to the instruction execution unit 4 and the like. If an instruction whose processing content is not defined, that is, a system undefined instruction is analyzed, the instruction analysis unit 3 outputs an undefined signal to the instruction execution unit 4. Even in this case, some control signal is output to the instruction execution unit 4 or the like as a result of instruction analysis, and some execution processing is performed.
【0035】命令解析部3は同時に、この未定義信号を
制御線14上に、対応するシステム未定義命令を内部バ
ス11上に、それぞれ出力する。FPGA10のロジッ
ク部30上に実現されている命令解析部31は、制御線
14上の未定義信号が有効な場合にイネーブル状態とな
り、内部バス11を介して伝達される命令(ここではシ
ステムで未定義のユーザ定義命令)の指示する処理内容
を解析する。この際、ユーザ定義命令によっては、当該
命令と、制御線16を介して伝達される外部ロジックの
ステータス情報とをもとに、処理内容の解析が行われ
る。At the same time, the instruction analysis unit 3 outputs this undefined signal on the control line 14 and the corresponding system undefined instruction on the internal bus 11, respectively. The instruction analysis unit 31 implemented on the logic unit 30 of the FPGA 10 is enabled when an undefined signal on the control line 14 is valid, and an instruction transmitted via the internal bus 11 (here, it is not in the system). Analyze the processing contents instructed by the definition user-defined instruction). At this time, depending on the user-defined instruction, the processing content is analyzed based on the instruction and the status information of the external logic transmitted via the control line 16.
【0036】命令解析部31は、解析した命令(システ
ム未定義命令)がユーザ定義命令であった場合には、解
析した処理の実行に必要な各種制御信号を命令実行部3
2等に出力する。また命令解析部31は、制御線14上
の有効な未定義信号をそのままゲート33に出力する。When the analyzed instruction (system undefined instruction) is a user-defined instruction, the instruction analysis unit 31 outputs various control signals necessary for executing the analyzed processing to the instruction execution unit 3
Output to 2 etc. The instruction analysis unit 31 also outputs the valid undefined signal on the control line 14 to the gate 33 as it is.
【0037】一方、解析したシステム未定義命令がユー
ザ定義命令でなかった場合、或いは制御線16上のステ
ータス情報も含めて解析すべきユーザ定義命令の場合
で、しかも当該ステータス情報が(外部ロジックが接続
されていないなどの要因で)無効状態にある場合には、
ゲート33への有効な未定義信号の出力を抑止する。こ
の場合、ゲート33は閉じられるため、制御線15を介
して命令実行部4に有効なステータス情報が伝達される
ことはない。On the other hand, if the analyzed system undefined instruction is not a user-defined instruction, or if it is a user-defined instruction to be analyzed including the status information on the control line 16, the status information (external logic If it is in the disabled state (because it is not connected),
The output of a valid undefined signal to the gate 33 is suppressed. In this case, since the gate 33 is closed, valid status information is not transmitted to the instruction execution unit 4 via the control line 15.
【0038】命令実行部4は、命令解析部3でシステム
未定義命令が判別されたか否かに無関係に、命令解析部
3からの制御信号に応じて何らかの実行処理を行う。但
し、システム未定義命令が判別された場合(即ち命令解
析部3から未定義信号が出力された場合)で、しかも制
御線15から正常実行を示す有効なステータス情報が伝
達されない場合には、命令実行部4は、従来と同様に内
部例外割り込みを発生し、その未定義命令の処理をソフ
トウェア(オペレーティングシステム)に任せる。この
場合、命令実行部4の実行結果は無効となる。The instruction execution section 4 performs some execution processing according to the control signal from the instruction analysis section 3 regardless of whether or not the system undefined instruction is discriminated by the instruction analysis section 3. However, when the system undefined command is determined (that is, when the command analysis unit 3 outputs an undefined signal), and when valid status information indicating normal execution is not transmitted from the control line 15, the command The execution unit 4 generates an internal exception interrupt as in the conventional case, and leaves the processing of the undefined instruction to software (operating system). In this case, the execution result of the instruction execution unit 4 becomes invalid.
【0039】さて、命令実行部32は、命令解析部31
からの制御信号により起動され、当該命令解析部31に
より解析された処理内容を実行する。そして命令実行部
32は、正常に実行できたならば、その旨を示す有効な
ステータス情報をゲート33に出力する。この時、上記
したように命令解析部3から当該ゲート33に未定義信
号が出力されているならば、命令実行部32からの有効
なステータス情報はゲート33から制御線15を介して
命令実行部4に伝達される。Now, the instruction executing section 32 has the instruction analyzing section 31.
It is activated by the control signal from and executes the processing content analyzed by the instruction analysis unit 31. Then, if the instruction execution unit 32 can be normally executed, it outputs valid status information indicating that to the gate 33. At this time, if the undefined signal is output from the instruction analysis unit 3 to the gate 33 as described above, the valid status information from the instruction execution unit 32 is transferred from the gate 33 to the instruction execution unit via the control line 15. 4 is transmitted.
【0040】命令実行部32はまた、ユーザ定義命令の
実行結果をオペランドバッファ5に書き込む。このオペ
ランドバッファ5に格納された実行結果は、適当なタイ
ミング、例えば次のサイクルで、レジスタファイル(R
F)6に書き戻される。The instruction executing section 32 also writes the execution result of the user-defined instruction in the operand buffer 5. The execution result stored in the operand buffer 5 is transferred to the register file (R
F) It is written back to 6.
【0041】もし、外部ロジックを制御することが定義
されたユーザ定義命令の場合には、命令実行部32は当
該ユーザ定義命令の実行結果を制御線17を介して外部
ロジックに出力し、当該外部ロジックを直接制御する。If the user-defined instruction is defined to control the external logic, the instruction execution section 32 outputs the execution result of the user-defined instruction to the external logic via the control line 17, and the external logic is executed. Control the logic directly.
【0042】また、命令実行部4の演算機能(演算結
果)を利用することが定義されたユーザ定義命令の場合
には、命令実行部32は、命令実行部4の演算結果を内
部バス12を介して受け取って必要な処理を行う。これ
は、システムで未定義のユーザ定義命令であっても、命
令実行部4では、命令解析部3での解析結果に従って何
らかの実行処理が行われることから、命令によっては、
この命令実行部4での実行結果を無効にせずに利用する
ことが可能となることによる。In the case of a user-defined instruction defined to utilize the arithmetic function (calculation result) of the instruction execution unit 4, the instruction execution unit 32 transfers the calculation result of the instruction execution unit 4 to the internal bus 12. And receive the necessary processing. Even if this is a user-defined instruction that is undefined in the system, the instruction execution unit 4 performs some execution processing according to the analysis result of the instruction analysis unit 3. Therefore, depending on the instruction,
This is because it is possible to use the execution result of the instruction execution unit 4 without invalidating it.
【0043】命令実行部4は、命令解析部3でシステム
未定義命令が判別されて当該命令解析部3から未定義信
号が出力されている場合であっても、制御線15を介し
て正常実行を示す有効なステータス情報が伝達されてい
る場合には、(この未定義命令がユーザ定義命令として
FPGA10側で正常に実行されているものとして)内
部例外割り込みの発生を抑止する。これにより、FPG
A10のロジック部30上に実現されている命令実行部
32での実行結果が有効となり、また、命令実行部4で
の実行結果を上記した如く命令実行部32で利用するこ
ともできる。The instruction executing section 4 executes normally via the control line 15 even when the instruction analyzing section 3 determines a system undefined instruction and the instruction analyzing section 3 outputs an undefined signal. When the valid status information indicating the is transmitted, the occurrence of the internal exception interrupt is suppressed (assuming that the undefined instruction is normally executed on the FPGA 10 side as the user-defined instruction). This allows the FPG
The execution result in the instruction execution unit 32 realized on the logic unit 30 of A10 becomes valid, and the execution result in the instruction execution unit 4 can be used in the instruction execution unit 32 as described above.
【0044】なお、前記実施例では、FPGA10のロ
ジック部30上の命令解析部31は命令実行部4を制御
するようにはなっていないが、ユーザ定義命令の場合に
は、命令解析部3から出力される制御信号を無効とし
て、命令解析部31自身が命令実行部32に対するのと
同様に当該命令実行部4を制御するようにしても構わな
い。また、命令解析部31が、命令解析部3と同様にレ
ジスタファイル16を利用できるようにしても構わな
い。In the above embodiment, the instruction analysis unit 31 on the logic unit 30 of the FPGA 10 is not designed to control the instruction execution unit 4, but in the case of a user-defined instruction, the instruction analysis unit 3 outputs The output control signal may be invalidated, and the instruction analysis unit 31 itself may control the instruction execution unit 4 in the same manner as the instruction execution unit 32. Further, the instruction analysis unit 31 may use the register file 16 similarly to the instruction analysis unit 3.
【0045】[0045]
【発明の効果】以上詳述したようにこの発明によれば、
実行可能な命令が固定的に定義されている標準的なマイ
クロプロセッサに、プログラマブル・ロジックを内蔵
し、当該プログラマブル・ロジックに任意の構成制御デ
ータを書き込むことにより、上記マイクロプロセッサで
実行不可能なシステム未定義命令の少なくとも一部をユ
ーザ定義命令として解釈・実行するための制御ロジック
を構築する構成としたので、システム未定義命令であっ
ても利用者が定義した命令(ユーザ定義命令)であるな
らば、処理の遅延を招くことなく実行することができ
る。しかも、このようにして構築された制御ロジックに
より、実行すべき命令がユーザ定義命令の場合にはマイ
クロプロセッサにて生成される未定義信号に応じて内部
例外割り込みが発生するのを抑止させることもできるた
め、制御ロジック(を構築するプログラマブル・ロジッ
ク)でのユーザ定義命令実行が無駄になる虞はない。As described above in detail, according to the present invention,
A system that cannot be executed by the microprocessor by incorporating programmable logic into a standard microprocessor in which executable instructions are fixedly defined and by writing arbitrary configuration control data to the programmable logic. Since the control logic for interpreting and executing at least a part of the undefined instruction as a user-defined instruction is constructed, if the instruction is a user-defined instruction even if it is a system undefined instruction, In this case, the processing can be executed without delaying the processing. Moreover, the control logic constructed in this way can prevent the internal exception interrupt from being generated in response to an undefined signal generated by the microprocessor when the instruction to be executed is a user-defined instruction. Therefore, the execution of the user-defined instruction in the control logic (the programmable logic that constructs the control logic) is not wasted.
【0046】また、この発明によれば、プログラマブル
・ロジックに対する構成制御データの書き込みを、固定
的に定義されている命令(システム定義命令)の列から
なる初期化プログラムの実行により行うことにより、マ
イクロプロセッサ機能を利用者毎にカスタマイズするこ
とが簡単に行える。Further, according to the present invention, by writing the configuration control data to the programmable logic by executing an initialization program consisting of a sequence of fixedly defined instructions (system-defined instructions), The processor function can be easily customized for each user.
【0047】また、この発明によれば、任意に仕様が決
定可能なプロセッサ外部のロジックとプログラマブル・
ロジックとの間に入出力信号線を設け、プログラマブル
・ロジックに書き込まれる構成制御データにより、実行
すべきユーザ定義命令が外部ロジックを制御することを
定義したシステム未定義命令の場合に、当該命令を、当
該命令および外部ロジックから与えられる情報をもとに
解釈して実行し、その実行結果を外部ロジックに出力し
て制御する制御ロジックを構築する構成としたので、制
御ロジック(を構築するプログラマブル・ロジック)で
外部ロジックを制御するためのユーザ定義命令を実行さ
せることにより、その実行結果をもとに外部ロジックを
直接制御することができる。Further, according to the present invention, the logic outside the processor and the programmable
If the user-defined instruction to be executed is a system undefined instruction that controls the external logic by the configuration control data written in the programmable logic by providing the input / output signal line with the logic, , The instruction logic and the information given from the external logic are interpreted and executed, and the execution result is output to the external logic to construct the control logic. By executing a user-defined instruction for controlling the external logic with (logic), the external logic can be directly controlled based on the execution result.
【図1】この発明の一実施例に係るプログラマブル・ロ
ジック付きマイクロプロセッサの構成を示すブロック
図。FIG. 1 is a block diagram showing the configuration of a microprocessor with programmable logic according to an embodiment of the present invention.
1…バスコントローラ(BC)、2…命令バッファ、3
…命令解析部、4…命令実行部、5…オペランドバッフ
ァ、6…レジスタファイル(RF)、10…FPGA
(プログラマブル・ロジック)、20…RAM部(メモ
リ部)、30…ロジック部、31…命令解析部、32…
命令実行部、33…ゲート(G)、11…内部バス、1
2…内部バス、13…内部バス、14…制御線、15…
制御線、16…制御線(第1の信号線)、17…制御線
(第2の信号線)。1 ... Bus controller (BC), 2 ... Instruction buffer, 3
... instruction analysis unit, 4 ... instruction execution unit, 5 ... operand buffer, 6 ... register file (RF), 10 ... FPGA
(Programmable logic), 20 ... RAM section (memory section), 30 ... Logic section, 31 ... Instruction analysis section, 32 ...
Instruction execution unit, 33 ... Gate (G), 11 ... Internal bus, 1
2 ... internal bus, 13 ... internal bus, 14 ... control line, 15 ...
Control line, 16 ... Control line (first signal line), 17 ... Control line (second signal line).
Claims (3)
り、実行すべき命令がシステムで未定義の命令の場合に
は、内部例外割り込みを発生させるための未定義信号を
生成するマイクロプロセッサに、 設定される構成制御データに応じて任意の制御ロジック
が実現されるプログラマブル・ロジックを内蔵し、 前記プログラマブル・ロジックに任意の構成制御データ
を書き込むことにより、前記システム未定義命令の少な
くとも一部をユーザ定義命令として解釈・実行するため
の制御ロジックであって、実行すべき命令が前記ユーザ
定義命令の場合には前記マイクロプロセッサでの前記未
定義信号生成に伴う前記内部例外割り込みの発生を抑止
させるための制御ロジックを構築するようにしたことを
特徴とするプログラマブル・ロジック付きマイクロプロ
セッサ。1. A microprocessor for generating an undefined signal for generating an internal exception interrupt when an executable instruction is fixedly defined and the instruction to be executed is an undefined instruction in the system. A programmable logic that realizes an arbitrary control logic according to the set configuration control data, and by writing the arbitrary configuration control data in the programmable logic, at least part of the system undefined instruction Is a control logic for interpreting and executing as a user-defined instruction, and when the instruction to be executed is the user-defined instruction, the generation of the internal exception interrupt due to the generation of the undefined signal in the microprocessor is suppressed. A programmable logic controller with a programmable logic Black processor.
成制御データの書き込みを、前記固定的に定義されてい
る命令の列からなる初期化プログラムの実行により行う
ことを特徴とする請求項1記載のプログラマブル・ロジ
ック付きマイクロプロセッサ。2. The programmable logic according to claim 1, wherein the configuration control data is written to the programmable logic by executing an initialization program consisting of the fixedly defined sequence of instructions. With microprocessor.
ロジックから前記プログラマブル・ロジックに情報を伝
達するための第1の信号線と、前記プログラマブル・ロ
ジックから前記外部ロジックに制御情報を伝達するため
の第2の信号線とを備え、 前記プログラマブル・ロジックに書き込まれる構成制御
データにより、実行すべき前記ユーザ定義命令が前記外
部ロジックを制御することを定義したシステム未定義命
令の場合に、当該命令を、当該命令および前記第1の信
号線を介して前記外部ロジックから伝達される情報をも
とに解釈して実行し、その実行結果を前記第2の信号線
を介して前記外部ロジックに出力して制御する制御ロジ
ックを構築することを特徴とする請求項1記載のプログ
ラマブル・ロジック付きマイクロプロセッサ。3. A first signal line for transmitting information from a logic external to the processor, the specification of which can be arbitrarily determined, to the programmable logic, and for transmitting control information from the programmable logic to the external logic. And a second signal line of the above, the instruction is executed when the user-defined instruction to be executed is a system undefined instruction defined by the configuration control data written in the programmable logic to control the external logic. Is executed based on the instruction and the information transmitted from the external logic via the first signal line, and the execution result is output to the external logic via the second signal line. 2. The microprocessor with programmable logic according to claim 1, wherein the control logic for controlling the microprocessor is constructed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33288093A JPH07191844A (en) | 1993-12-27 | 1993-12-27 | Microprocessor with programmable logic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33288093A JPH07191844A (en) | 1993-12-27 | 1993-12-27 | Microprocessor with programmable logic |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07191844A true JPH07191844A (en) | 1995-07-28 |
Family
ID=18259834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33288093A Pending JPH07191844A (en) | 1993-12-27 | 1993-12-27 | Microprocessor with programmable logic |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07191844A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424595B2 (en) | 2000-06-06 | 2008-09-09 | Tadahiro Ohmi | System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit |
-
1993
- 1993-12-27 JP JP33288093A patent/JPH07191844A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424595B2 (en) | 2000-06-06 | 2008-09-09 | Tadahiro Ohmi | System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930018378A (en) | Method and device for performance optimization of cache memory system | |
EP0267613B1 (en) | Micro processor capable of being connected with coprocessor | |
US4972317A (en) | Microprocessor implemented data processing system capable of emulating execution of special instructions not within the established microprocessor instruction set by switching access from a main store portion of a memory | |
JPH0316660B2 (en) | ||
JPH02284258A (en) | Writable logic controller comrising function block processor and bit processor | |
US4814977A (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfers | |
JPH07191844A (en) | Microprocessor with programmable logic | |
KR900015014A (en) | Data processor | |
JP3328867B2 (en) | Multiprocessor arithmetic device and programmable controller having the device | |
JP2731618B2 (en) | emulator | |
JP2002541582A (en) | Method and system for updating user memory in an emulator system | |
JP2906958B2 (en) | User program loading method | |
JPH05204416A (en) | Programable controller | |
JPH0667896A (en) | Single chip microcomputer | |
JP2000029508A (en) | Programmable controller | |
JPH0683986A (en) | Single chip microcomputer | |
JPS6316350A (en) | Microprocessor control system | |
JP2622026B2 (en) | Register writing control method in central processing unit | |
JP2883489B2 (en) | Instruction processing unit | |
JPS59106048A (en) | Microprocessor system | |
JPH04305783A (en) | Microcomputer | |
JPH03113659A (en) | Cache memory testing method | |
EP0263286A2 (en) | Data processing system for emulating the execution of instructions | |
JPH0259829A (en) | Microcomputer | |
JPH0752402B2 (en) | Data processing device |