JPH0439745A - Microprocessor - Google Patents
MicroprocessorInfo
- Publication number
- JPH0439745A JPH0439745A JP2148189A JP14818990A JPH0439745A JP H0439745 A JPH0439745 A JP H0439745A JP 2148189 A JP2148189 A JP 2148189A JP 14818990 A JP14818990 A JP 14818990A JP H0439745 A JPH0439745 A JP H0439745A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- instruction
- register
- program
- 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
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は命令ROMを内蔵したマイクロプロセッサに関
し、更に詳述すれば、演算器のセルフテスト機能を有し
、装置のリセットにより初期化されてしまう内部記憶手
段の記憶内容をセルフテストの実行途中に外部へ読出す
ことを可能としたマイクロプロセッサに関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a microprocessor with a built-in instruction ROM, and more specifically, it has a self-test function of the arithmetic unit and is initialized by resetting the device. The present invention relates to a microprocessor capable of reading the stored contents of an internal storage means to the outside during execution of a self-test.
従来のセルフテスト機能を有するマイクロプロセッサと
して、本願発明者らは先に、特願昭63332250号
の発明において、疑似乱数発生器とシグネチャ圧縮レジ
スタとを備え、予め内蔵1?OMに載せられているテス
トプログラムを実行する際に、疑似乱数発生器から出力
されるテストデータを得てテストデータ数を増加させて
、テストプログラムのステップ数の減少を図ったマイク
ロプロセッサを提案している。As a conventional microprocessor having a self-test function, the inventors of the present invention previously proposed the invention of Japanese Patent Application No. 63332250, which is equipped with a pseudo-random number generator and a signature compression register, and has a pre-built-in 1? We proposed a microprocessor that increases the number of test data by obtaining test data output from a pseudo-random number generator when executing a test program included in OM, thereby reducing the number of steps in the test program. ing.
この特願昭63−332250号の発明のマイクロプロ
セッサによれば、外部からテストデータを与えることな
く、マイクロプロセッサを容易に多(のデータの組合せ
によりテストできるようになった。According to the microprocessor of the invention disclosed in Japanese Patent Application No. 63-332250, the microprocessor can be easily tested using multiple combinations of data without providing test data from the outside.
以下、上述の特願昭63−332250号の発明につい
て、その実施例を示す図面を参照して説明する。The invention of the above-mentioned Japanese Patent Application No. 63-332250 will be described below with reference to drawings showing embodiments thereof.
第5図において、参照符号1はアドレス演算部(AAU
)であり、詳細は後述するが入力側はPバス23に接続
されている。In FIG. 5, reference numeral 1 indicates an address calculation unit (AAU
), and the input side is connected to the P bus 23, although details will be described later.
2はビット長24.ワード長512(24ビツト×51
2ワード)の内蔵2ポートデータRAMであり、データ
読出しのためのボートを2系統備えている他、上述のア
ドレス演算部(AAU)1及びDバス24と接続されて
いる。2 is the bit length 24. Word length 512 (24 bits x 51
It is a built-in 2-port data RAM (2 words), and is equipped with two systems of ports for reading data, and is connected to the above-mentioned address arithmetic unit (AAU) 1 and D bus 24.
3は第1の演算部入力レジスタ(RO)、 4は第2
の演算部入力レジスタ(R1)であり、データRAM2
の各データ読出しボートがそれぞれの入力側に接続され
ている他、Dバス24とも接続されている。3 is the first operation unit input register (RO), 4 is the second
It is an input register (R1) for the calculation unit of the data RAM2.
Each data read port is connected to its respective input side, and is also connected to the D bus 24.
5は乗算器(FMPL)であり詳細は後述するが、演算
部入力レジスタ(RO) 3及び(Ill) 4の出力
を入力して乗算する。A multiplier (FMPL) 5 inputs and multiplies the outputs of the operation section input registers (RO) 3 and (Ill) 4, the details of which will be described later.
6は乗算器出力レジスタ(MR)であり、乗算器5の乗
算結果を保持する。A multiplier output register (MR) 6 holds the multiplication result of the multiplier 5.
7は演算器(FALU)であり詳細は後述するが、演算
部入力レジスタ(1110) 3 、 (R1) 4及
び乗算器出力レジスタ(MR) 6の出力が入力される
他、Dバス24とも接続されている。7 is an arithmetic unit (FALU) whose details will be described later, but in addition to receiving the outputs of the arithmetic unit input registers (1110) 3, (R1) 4 and multiplier output register (MR) 6, it is also connected to the D bus 24. has been done.
8はアキュムレータ(八CC)であり、主として演算器
7による演算結果を保持する。8 is an accumulator (8CC), which mainly holds the calculation result by the calculation unit 7.
9は8レベルのスタックであり、プログラムカウンタ(
PC)toの値(プログラムカウンタ値)を必要に応じ
て保持する。9 is an 8-level stack with a program counter (
PC) to value (program counter value) is held as necessary.
プログラムカウンタ(PC) 10は、次にフェッチす
べき命令の命令メモリ、具体的には後述する内蔵命令R
OMIIにおけるアドレスを順次計数する。A program counter (PC) 10 is an instruction memory for the next instruction to be fetched, specifically a built-in instruction R to be described later.
Sequentially count addresses in OMII.
内蔵命令ROMIIは32ビツトX4にワードの容量で
あり、プログラムカウンタ10から与えられるプログラ
ムカウンタ値に対応するアドレスに記憶している命令を
出力する。The built-in instruction ROM II has a capacity of 32 bits x 4 words, and outputs the instruction stored at the address corresponding to the program counter value given from the program counter 10.
12は32ビツト×64ワードの命令とデータとの内蔵
共有メモリ(CRAM)である、この共有メモリ12に
格納されている値はデータワードとしても命令ワードと
しても使用することが可能である。Reference numeral 12 denotes a built-in shared memory (CRAM) for instructions and data of 32 bits x 64 words. The values stored in this shared memory 12 can be used both as data words and as instruction words.
13は命令レジスタ(IR)であり、命令ROMII又
は共有メモリ12から読出された次に実行されるべき命
令ワードを保持する。Reference numeral 13 denotes an instruction register (IR), which holds the instruction ROMII or the instruction word read from the shared memory 12 and to be executed next.
14は命令デコーダであり、命令レジスタ13が保持し
ている命令ワードをデコードし、そのデコード結果に基
づいてこのマイクロプロセッサ各部の動作を制御する。Reference numeral 14 denotes an instruction decoder, which decodes the instruction word held in the instruction register 13 and controls the operations of each part of this microprocessor based on the decoding result.
15はこのマイクロプロセッサ内部の動作モードを設定
するコントロールレジスタであり、リセット処理により
初期化される。このコントロールレジスタ15は入力側
がPバス23に、出力側がDバス24にそれぞれ接続さ
れている。Reference numeral 15 denotes a control register for setting the internal operation mode of this microprocessor, and is initialized by reset processing. This control register 15 is connected to the P bus 23 on the input side and to the D bus 24 on the output side.
16はダイレクトメモリアクセスコントローラ(DMA
)、 17はシリアルI10インタフェイス(S11
0)。16 is a direct memory access controller (DMA
), 17 is the serial I10 interface (S11
0).
18はデータレジスタ(OR)、 19はシグネチャレ
ジスタである。18 is a data register (OR), and 19 is a signature register.
20は割込みコントローラ、21はクロック/リセット
信号発生回路(CLK/RST) 、 22はクロンク
プリスケーラ(CPR)である。20 is an interrupt controller, 21 is a clock/reset signal generation circuit (CLK/RST), and 22 is a clock prescaler (CPR).
23は命令によりレジスタに即値を入力するPバス、2
4は各レジスタ (参照符号3.4.8.17. ’1
8゜19)等の間、あるいは内蔵RAM(参照符号2.
12)間でデータの送受を行うDバス、25はダイレク
トメモリアクセス時にダイレクトメモリアクセスコント
ローラ16により制御されてシリアルI10インクフェ
イス17と外部メモリとの間でのデータ転送を制御する
Sバスである。23 is a P bus that inputs an immediate value into a register according to a command;
4 is each register (reference number 3.4.8.17. '1
8°19) etc. or built-in RAM (reference number 2.
12) is a D bus for transmitting and receiving data between the two, and 25 is an S bus that is controlled by the direct memory access controller 16 during direct memory access to control data transfer between the serial I10 ink face 17 and external memory.
26は第1割込み入力ピン(INTI)、 27は第2
割込み入力ピン(INT2)、 28はテストモード設
定のためのテストピン(TEST)、 29は後述する
II^モード設定のためのIrAピンである。26 is the first interrupt input pin (INTI), 27 is the second
An interrupt input pin (INT2), 28 a test pin (TEST) for setting a test mode, and 29 an IrA pin for setting an II mode which will be described later.
30は24ビツト長のデータ入出力端子であり、前述の
レジスタ18.19、Dバス24及びSバス25と外部
データメモリ (図示せず)との間でのデータ転送に使
用される。Reference numeral 30 is a 24-bit data input/output terminal, which is used for data transfer between the registers 18, 19, D bus 24, and S bus 25 described above and an external data memory (not shown).
31はリセット信号(NRESET)入力端子であり、
このマイクロプロセッサ全体をリセットするためのリセ
ット信号(NRESET)の入力に使用される。31 is a reset signal (NRESET) input terminal;
It is used to input a reset signal (NRESET) for resetting the entire microprocessor.
32はフラグレジスタ(PR)であり、演算器7の演算
結果、各入力端子のレベルあるいはこのマイクロプロセ
ッサの内部動作モードを示す。このフラグレジスタ(P
R) 32は上述のリセット信号(NRESET)が入
力された際のリセット信号により初期化される。Reference numeral 32 denotes a flag register (PR), which indicates the calculation result of the arithmetic unit 7, the level of each input terminal, or the internal operation mode of this microprocessor. This flag register (P
R) 32 is initialized by the reset signal when the above-mentioned reset signal (NRESET) is input.
次に上述の第2図に示した従来のマイクロプロセッサの
動作について説明する。Next, the operation of the conventional microprocessor shown in FIG. 2 mentioned above will be explained.
このマイクロプロセッサは、命令ワードのビ。This microprocessor uses bits of instruction words.
ト長32ビット、データワードのビット長24ビツトで
あり、大きくはアドレス演夏部、演真部、メモリ部、ク
ロック生成部にて構成されている。The bit length of the data word is 32 bits, and the bit length of the data word is 24 bits, and is mainly composed of an address processing section, a coding section, a memory section, and a clock generation section.
まずアドレス演算部1は予め命令によりアドレスモード
が設定されており(以下、レジデュアル制御と称す)、
この設定されたモードに従って内蔵データRAM2ある
いは図示されていない外部データRAM等に対するアド
レスを生成する。First, the address calculation unit 1 has an address mode set in advance by a command (hereinafter referred to as residual control).
According to this set mode, an address for the built-in data RAM 2 or an external data RAM (not shown) is generated.
以下、このアドレス演算部1によるアドレス生成につい
て説明する。Address generation by the address calculation unit 1 will be explained below.
レジデュアル制御に関するレジスタとして、アドレス演
算部1内にはアドレスをデータメモリに与えるアドレス
レジスタ、アドレスを生成するための基値を与えるベー
スアドレスレジスタ、アドレスの加算値を与えるインク
リメント値レジスタ。As registers related to residual control, the address calculation unit 1 includes an address register that provides an address to the data memory, a base address register that provides a base value for generating an address, and an increment value register that provides an added value of addresses.
モジュロ値あるいはピントリバース幅を与えるモジュロ
−ビットリバース幅レジスタ、ループ命令時にベースア
ドレス値を修飾するためのデルタベースアドレスレジス
タ、ループ命令時にインクリメント値を修飾するための
デルタインクリメント値レジスタが含まれており、これ
らの各レジスタは基本的には次に述べるモード命令で値
が設定されるが、オペレーション命令による変更も可能
である。It includes a modulo-bit reverse width register that provides the modulo value or focus reverse width, a delta base address register that modifies the base address value during loop instructions, and a delta increment value register that modifies the increment value during loop instructions. , the values of each of these registers are basically set by a mode instruction described below, but they can also be changed by an operation instruction.
アドレス演算部1はアドレスレジスタとしてARO。The address calculation unit 1 uses ARO as an address register.
^R1,AR2の三つのレジスタを有し、それぞれアド
レス演算回路により制御される。そして、内蔵データR
AM2の一方の続出しポート0に対するアドレスをレジ
スタAROまたはAl11により指定し、他方の読出し
ポート1に対してはレジスタAR2がアドレスを供給す
る。It has three registers, R1 and AR2, each controlled by an address calculation circuit. And built-in data R
The address for one readout port 0 of AM2 is designated by register ARO or Al11, and the address is supplied by register AR2 for the other readout port 1.
レジスタAROに関しては、先に述べたレジデュアル制
御に関するレジスタの内容に従って、インクリメント、
モジュロ、ビットリバース及びリピートの4モードによ
るアドレッシングが可能で、更に、ベースアドレス値、
インクリメント値、モジュロ値及びビットリバース幅を
独立に設定することが可能である。Regarding register ARO, increment,
Addressing is possible in four modes: modulo, bit reverse, and repeat, and base address value,
It is possible to set the increment value, modulo value and bit reverse width independently.
また、レジスタARI、 AR2ではインクリメントモ
ジュロの2モードによるアドレッシングが可能でレジス
タAPIと同様にベースアドレス値、インクリメント値
、モジュロ幅が独立に設定できる。Furthermore, the registers ARI and AR2 can be addressed in two modes, increment modulo, and the base address value, increment value, and modulo width can be set independently, similar to the register API.
更に、ポート1についてはダイレクトアドレッシングも
可能である。Furthermore, direct addressing is also possible for port 1.
次に、演算部の構成について説明する。Next, the configuration of the calculation section will be explained.
演算部は、第5図において参照符号3.4.5.6゜7
及び8にて示される演算部入力レジスタRO,R1゜乗
夏器1乗算器出力しジスタ、演算器及びアキュムレータ
にて構成される。The arithmetic unit is designated by reference numeral 3.4.5.6゜7 in Fig. 5.
The arithmetic unit input registers RO and R1, indicated by 8 and 8, are composed of a multiplier output register, arithmetic unit, and an accumulator.
演算データの形式としては、仮数部16ビツト。The format of the calculation data is 16 bits for the mantissa.
指数部8ビツトの24ピント浮動小数点データと、24
ビット固定小数点データと、24ビツト論理データとの
3種類のデータに対して31種類の演算を行う。24-pin floating point data with 8-bit exponent and 24
Thirty-one types of operations are performed on three types of data: bit fixed-point data and 24-bit logic data.
乗算器5は演算部入力レジスタ(IiO)3. (R1
)4へ入力された値により、命令に関係なく毎サイクル
浮動小数点乗算結果を乗算器出力レジスタ6へ出力して
いる。但し、固定小数点であるデータに対する演算をオ
ペレーション命令のALUフィールドが指定している場
合には、量演夏部入力レジスタ(RO) 3と演算部入
力レジスタ(R1) 4との上位または下位の16ビツ
トの乗算結果(32ビツト)の上位又は下位の24ビツ
トを乗算器出力レジスタ6へ出力する。The multiplier 5 includes an operation section input register (IiO) 3. (R1
) 4, the floating point multiplication result is output to the multiplier output register 6 every cycle regardless of the instruction. However, if the ALU field of the operation instruction specifies an operation on fixed-point data, the upper or lower 16 of the operation unit input register (RO) 3 and operation unit input register (R1) 4 The upper or lower 24 bits of the bit multiplication result (32 bits) are output to the multiplier output register 6.
演算器7では、入力レジスタとして、X入力には演算部
入力レジスタ(RO) 3またはアキュムレータ8が、
y入力には演算部入力レジスタ(Ill) 4または乗
算器出力レジスタ6がそれぞれ用意されており、オペレ
ーション命令の内容に従って1マシンサイクルで演算を
実行し、演算結果をアキュムレータ8へ出力する。In the arithmetic unit 7, an arithmetic unit input register (RO) 3 or an accumulator 8 is connected to the X input as an input register.
An arithmetic unit input register (Ill) 4 or a multiplier output register 6 is provided for the y input, and the arithmetic operation is executed in one machine cycle according to the contents of the operation instruction, and the arithmetic result is output to the accumulator 8.
次にメモリ部の概要について述べる。Next, an overview of the memory section will be described.
第5図において、メモリ部は参照符号2,11及び12
にて示される2ボ一トデータRAM、 命令ROM。In FIG. 5, the memory sections are designated by reference numbers 2, 11 and 12
2-bit data RAM and instruction ROM shown in .
共有RA?Iにて構成されている。また、内部に命令R
OMIIとして4にワードの命令メモリ空間が割当てら
れている。Shared RA? It is composed of I. Also, there is an instruction R inside.
An instruction memory space of 4 words is allocated as OMII.
データメモリ空間としては、マイクロプロセッサ内部に
512ワードの2ポ一トRAM2が、同外部に拡張デー
タメモリ空間として60にワードの領域が割当てられて
いる。更に、命令メモリとデータメモリとの共有メモリ
空間12として4にワードが割当てられている。As a data memory space, a 512-word 2-point RAM 2 is allocated inside the microprocessor, and a 60-word area is allocated outside the microprocessor as an extended data memory space. Further, four words are allocated as a shared memory space 12 between the instruction memory and the data memory.
次に、クロック生成部について説明する。Next, the clock generation section will be explained.
クロ、り生成部は、第5図において参照符号21及び2
2にて示されるクロック/リセット信号発生回路及びク
ロックプリスケーラにて構成されている。The black and white generators are designated by reference numerals 21 and 2 in FIG.
It is composed of a clock/reset signal generation circuit and a clock prescaler shown at 2.
このクロック生成部は、命令で設定されたクロックプリ
スケーラ値に従って外部クロックをクロックプリスケー
ラ22により分周し、非重複4相クロツクを生成してい
る。This clock generation section divides the frequency of an external clock using a clock prescaler 22 according to a clock prescaler value set by an instruction, thereby generating a non-overlapping four-phase clock.
クロック/リセット信号発生回路21はリセット信号N
RESETがアクティブに転じた際に通常はプログラム
カウンタ10を所定の固定アドレスにリセットするが、
リセット信号NRESETがノンアクティブに転じた際
に、第1剖込み入力ビン(INTI)26.第2割込み
入力ピン(INT2)27がアクティブであればプログ
ラムカウンタ10にデータレジスタ18の内容を転送す
る。この機能を用いることにより、予めデータレジスタ
18に外部から任意のデータを書込んでおけば、任意の
アドレスからプログラムをスタートさせるリセット処理
が可能である。The clock/reset signal generation circuit 21 generates a reset signal N.
When RESET becomes active, the program counter 10 is normally reset to a predetermined fixed address.
When the reset signal NRESET becomes inactive, the first input input bin (INTI) 26. If the second interrupt input pin (INT2) 27 is active, the contents of the data register 18 are transferred to the program counter 10. By using this function, by writing arbitrary data into the data register 18 from the outside in advance, it is possible to perform a reset process to start a program from an arbitrary address.
次に、上述の如く構成されたマイクロプロセッサにおけ
る命令フォーマントについて述べる。Next, the instruction formant in the microprocessor configured as described above will be described.
命令ワード長は32ビツトであり、命令としては大きく
はシーケンス命令グループ、モード命令グループ、オペ
レーション命令グループ及びロード命令グループの4種
類に分類される。The instruction word length is 32 bits, and the instructions are broadly classified into four types: sequence instruction group, mode instruction group, operation instruction group, and load instruction group.
シーケンス命令グループでは主に分岐に関する命令が8
種類、モード命令グループでは各レジスタへのデータ設
定を行う命令が7種類、オペレーション命令グループで
は演算に関する命令が7種類、ロード命令グループでは
FIp値をレジスタへ設定する命令が2種類ある。ロー
ド命令グループ以外では、上位5ビツト (第27ビツ
ト〜第31ビツト)のデコード結果でグループ中の各命
令を判別し、残りの27ビツトを以下に示す各フィール
ドに割付けている。In the sequence instruction group, there are 8 instructions mainly related to branching.
In the type and mode instruction group, there are seven types of instructions that set data to each register, in the operation instruction group, there are seven types of instructions related to calculations, and in the load instruction group, there are two types of instructions that set FIp values to registers. Except for the load instruction group, each instruction in the group is determined based on the decoding result of the upper 5 bits (27th to 31st bits), and the remaining 27 bits are allocated to each field shown below.
まずシーケンス命令グループでは、第6図fa+に示す
ようにフィールドが割付けられている。First, in the sequence instruction group, fields are allocated as shown in fa+ in FIG.
第6図(a−1)はシーケンス命令のビット配列を示し
ている。FIG. 6(a-1) shows the bit arrangement of the sequence instruction.
第23ビツト〜第26ビツトは、第6図(a−5,6,
78)に示す如く、ループ時におけるループカウンタの
初期値の変更あるいはアドレッシングの修飾の変更を指
定するフィールドである。第19ビ、トル第23ビット
は、第6図(a−4)に示す如く、条件ジャンプのブラ
ンチ条件を設定するフィールドである。第4ビツト〜第
6ビツトは飛先アドレスを指定するフィールドであり、
その内の第4ビツト〜第6ビツトは、第6図(a−3)
に示す如く、レジスタが保持している内容を飛先アドレ
スとする間接ジャンプのレジスタを指定するフィールド
でもある。The 23rd bit to the 26th bit are as shown in Fig. 6 (a-5, 6,
As shown in 78), this is a field for specifying a change in the initial value of a loop counter or a change in addressing modification during a loop. The 19th bit and the 23rd bit are fields for setting branch conditions for conditional jumps, as shown in FIG. 6(a-4). The 4th to 6th bits are fields that specify the destination address.
The 4th to 6th bits are shown in Figure 6 (a-3).
As shown in , this is also a field that specifies a register for an indirect jump whose destination address is the contents held in the register.
モード命令グループでは、第6図(blに示すようにフ
ィールドが割付けられている。In the mode command group, fields are allocated as shown in FIG. 6 (bl).
第6図(b−1)はモード命令のビット配列を示してい
る。FIG. 6(b-1) shows the bit arrangement of the mode command.
第26ビントは、第6図(b−3)に示す如く、レジデ
ュアル!11mによる内部2ボートRAM2のボート0
のアドレスとしてレジスタAROを用いるかレジスタA
RIを用いるかを示すフィールドである。第25ビツト
は、第6図(b−4)に示す如く、外部データRAMの
下位9ビツトのアドレスとしてレジスタAROを用いる
かレジスタARIを用いるかを示すフィールドである。The 26th bint is Residual!, as shown in Figure 6 (b-3). Internal 2 boat RAM2 boat 0 by 11m
Use register ARO as the address of register A
This field indicates whether RI is used. The 25th bit is a field indicating whether register ARO or register ARI is used as the address of the lower 9 bits of the external data RAM, as shown in FIG. 6(b-4).
第4ビツト〜第22ビツトは、第6図(b−5)に示す
如く、モード設定のための値を書込むフィールドである
。第0ビフト〜第3ビツトはいずれのレジスタに対して
値を設定するかを指定するフィールドである。The 4th bit to the 22nd bit are fields in which values for mode setting are written, as shown in FIG. 6(b-5). The 0th to 3rd bits are fields for specifying to which register a value is to be set.
オペレーシッン命令グループでは、第6図tc+に示す
様にフィールドが割付けられている。In the operation instruction group, fields are allocated as shown in FIG. 6 tc+.
第6図(c−1)はオペレーシッン命令のビット配列を
示している。FIG. 6(c-1) shows the bit arrangement of the operating instruction.
第26ビツトはダイレクトアドレッシングを行うか否か
を示すフィールドである。第23ビツト〜第25ビツト
はそれぞれレジスタARO,ARI、AR2をレジデュ
アル制御により更新するか否かを示すフィールドである
。第22ピントはデータレジスタの内容を外部データR
AMへ書込むか否かを、第21ビツトは外部データRA
Mからデータレジスタヘデータを読込むか否かを制御す
るフィールドである。第1920ビツトはアドレスレジ
スタが示すアドレスに書かれている内蔵RAM2の内容
を演算部入力レジスタ(RO)3. (R1)4へ書込
むか否かを制御するフィールドである。第17.18ビ
ツトは演算器7への入力レジスタを選択するフィールド
である。第12ビツト〜第16と7)は、第6図(c−
8)に示す如く、演算器7の演算を指定するフィールド
であり、特にALUフィールドと称する。第10.11
ビツトは、第6図(c−4)に示す如く、演算器7の演
算結果を入力するアキュムレータを指定するフィールド
である。The 26th bit is a field indicating whether direct addressing is to be performed. The 23rd bit to the 25th bit are fields each indicating whether or not registers ARO, ARI, and AR2 are updated by residual control. The 22nd pinpoint converts the contents of the data register into external data R.
The 21st bit indicates whether to write to AM or not.
This field controls whether or not to read data from M to the data register. The 1920th bit transfers the contents of the built-in RAM 2 written at the address indicated by the address register to the arithmetic section input register (RO) 3. (R1) This field controls whether to write to 4 or not. The 17th and 18th bits are a field for selecting the input register to the arithmetic unit 7. 12th bit to 16th and 7) are shown in Fig. 6 (c-
As shown in 8), this field specifies the operation of the arithmetic unit 7, and is particularly called the ALU field. Chapter 10.11
The bit is a field for specifying an accumulator into which the calculation result of the calculation unit 7 is input, as shown in FIG. 6(c-4).
第8.9ビツトは、第6図(c−5)に示す如く、出力
アキエムレータを指定するフィールドである。第4ビツ
ト〜第7ピントは、第6図(c−6)に示す如く、Dバ
ス24を介して行われるデータ転送のソースレジスタを
示すフィールドである。第9ビツト〜第3ビツトは、第
6図(c−7)に示す如く、Dバス24を介して行われ
るデータ転送のデスティネイシッンレジスタを指定する
フィールドである。The 8.9th bit is a field for specifying the output achievator, as shown in FIG. 6(c-5). The fourth bit to the seventh pin are fields indicating the source register for data transfer performed via the D bus 24, as shown in FIG. 6 (c-6). The 9th to 3rd bits are fields for specifying the destination register for data transfer via the D bus 24, as shown in FIG. 6(c-7).
第6図(c−8)に示されているALIIフィールドに
ついて更に詳しく説明する。なお、演算器7への2人力
をそれぞれX入力、X入力とし、出力を2出力とする。The ALII field shown in FIG. 6(c-8) will be explained in more detail. Note that the two human inputs to the computing unit 7 are assumed to be X input and X input, respectively, and the outputs are assumed to be two outputs.
NOPは、演算器7では何も演算しないという命令であ
り、X入力、X入力とも演算器7には入力されず、従っ
て2出力も行われない。NOP is an instruction that causes the arithmetic unit 7 to perform no calculation, and neither the X input nor the X input is input to the arithmetic unit 7, and therefore, no two outputs are performed.
INVは、X入力のデータを浮動小数点データと見なし
符号反転して2出力する命令である。INV is an instruction that regards the X input data as floating point data, inverts the sign, and outputs two.
ABSは、X入力のデータを浮動小数点データと見なし
てその絶対値を2出力する命令である。ABS is an instruction that treats the X input data as floating point data and outputs two of its absolute values.
SGNは、X入力のデータとX入力のデータとを浮動小
数点データと見なしてXの絶対値にyの符号(正の数な
ら1、負の数なら−1)を乗算してZ出力する命令であ
る。SGN is an instruction that treats the X input data and the X input data as floating point data, multiplies the absolute value of X by the sign of y (1 for a positive number, -1 for a negative number), and outputs the result in Z. It is.
八〇〇は、X入力のデータとX入力のデータとを浮動小
数点データと見なして加算し、2出力する命令である。800 is an instruction that treats the X input data and the X input data as floating point data, adds them, and outputs two.
SUBは、X入力のデータとX入力のデータとを浮動小
数点データと見なして減算し、2出力する命令である。SUB is an instruction that treats the X input data and the X input data as floating point data, subtracts them, and outputs two.
MAXは、X入力のデータとX入力のデータとを浮動小
数点データと見なして比較し、大きい方を2出力する命
令である。MAX is an instruction that treats and compares the data of the X input and the data of the X input as floating point data, and outputs the larger one as two outputs.
MINは、X入力のデータとX入力のデータとを浮動小
数点データと見なして比較し、小さい方を2出力する命
令である。MIN is an instruction that treats the X input data and the X input data as floating point data, compares them, and outputs the smaller one as two outputs.
T)IRは、X入力のデータをそのまま2出力する命令
である。T) IR is an instruction that outputs two data from the X input as is.
XFTは、X入力のデータを固定小数点データと見なし
てコントロールレジスタ15に設定したモードに従って
浮動小数点データに変換し、2出力する命令である。XFT is an instruction that treats X input data as fixed-point data, converts it into floating-point data according to the mode set in the control register 15, and outputs two.
PXTは、X入力のデータを浮動小数点データと見なし
てコントロールレジスタ15に設定したモードに従って
固定小数点データに変換し、2出力する命令である。PXT is an instruction that treats the X input data as floating point data, converts it into fixed point data according to the mode set in the control register 15, and outputs two.
SRIは、X入力のデータを論理データと見なして1ビ
ツト右シフトし、2出力する命令である。SRI is an instruction that regards the data at the X input as logical data, shifts it to the right by 1 bit, and outputs 2.
SLIは、X入力のデータを論理データと見なして1ビ
ツト左シフトし、2出力する命令である。SLI is an instruction that regards the data at the X input as logical data, shifts it to the left by 1 bit, and outputs 2.
SL2は、X入力のデータを論理データと見なして2ビ
ツト左シフトし、2出力する命令である。SL2 is an instruction that regards the data at the X input as logical data, shifts it to the left by 2 bits, and outputs 2.
SL4は、X入力のデータを論理データと見なして4ピ
ント左シフトし、2出力する命令である。SL4 is an instruction that regards the data of the X input as logical data, shifts it by 4 points to the left, and outputs 2.
SL8は、X入力のデータを論理データと見なして8ビ
ツト左シフトし、2出力する命令である。SL8 is an instruction that regards the data at the X input as logical data, shifts it to the left by 8 bits, and outputs 2.
これら<7)SRI、 SLI、 SL2. SL4.
SL8 ?は、シフトインされるデータは総て0であ
る。These<7) SRI, SLI, SL2. SL4.
SL8? The data shifted in is all 0.
ANDは、X入力のデータとX入力のデータとを論理デ
ータと見なして論理積をとり、2出力する命令である。AND is an instruction that regards the data of the X input and the data of the X input as logical data, performs a logical product, and outputs two.
ORは、X入力のデータとy人カのデータとを論理デー
タと見なして論理和をとり、2出力する命令である。OR is an instruction that treats the data of X input and the data of y people as logical data, performs a logical sum, and outputs two.
EORは、X入力のデータとX入力のデータとを論理デ
ータと見なして排他的論理和をとり、2出力する命令で
ある。EOR is an instruction that regards the data of the X input and the data of the X input as logical data, performs an exclusive OR, and outputs two.
NOTは、X入力のデータを論理データと見なして論理
否定をとり、2出力する命令である。NOT is an instruction that regards the data of the X input as logical data, performs a logical negation, and outputs two outputs.
MADは、X入力のデータとX入力のデータとの下位1
6ビツトを固定小数点加算を行って2出力する命令であ
るが、入力データの指数部は無視され、2出力の上位8
ビツトには“0”が出力される。MAD is the lower 1 of the X input data and the X input data.
This instruction performs fixed-point addition on 6 bits and outputs 2 outputs, but the exponent part of the input data is ignored and the upper 8 of the 2 outputs are
“0” is output to the bit.
ESBは、X入力のデータとX入力のデータとの上位8
ビツトを固定小数点減算を行い2出力する命令であるが
、入力データの仮数部は無視され、2出力の下位16ビ
ツトには°8000K” (wは16進数を表す)が出
力される。The ESB is the top 8 of the X input data and the X input data.
This instruction performs fixed-point subtraction on bits and outputs 2 bits, but the mantissa part of the input data is ignored, and the lower 16 bits of the 2 outputs are output as 8000K'' (w represents a hexadecimal number).
IMULは、演算器7に対しては何も行わず、乗算器5
に固定小数点乗算を行わせる命令である。IMUL does nothing to the arithmetic unit 7, and the multiplier 5
This is an instruction to perform fixed-point multiplication on .
IADDは、X入力のデータとX入力のデータとを固定
小数点データと見なして加算し、2出力する命令である
。IADD is an instruction that treats X input data and X input data as fixed point data, adds them, and outputs two.
l5UBは、X入力のデータとX入力のデータとを固定
小数点データと見なしてX入力データからX入力データ
を減算し、2出力する命令である。l5UB is an instruction to subtract the X input data from the X input data and output two by regarding the X input data and the X input data as fixed point data.
IADCは、X入力のデータとX入力のデータとを固定
小数点データと見なしてこの2つの数とフラグレジスタ
(PR)32内のキャリービットとの加算を行い、2出
力する命令である。IADC is an instruction that treats the X input data and the X input data as fixed point data, adds these two numbers to the carry bit in the flag register (PR) 32, and outputs two.
l5BBは、X入力のデータとX入力のデータとを固定
小数点データと見なし、X入力データがらX入力データ
を減算し、更にフラグレジスタ(PR)32内のキャリ
ーピントの減算を行い、2出力する命令である。l5BB regards the X input data and the X input data as fixed point data, subtracts the X input data from the X input data, further subtracts the carry pinto in the flag register (PR) 32, and outputs 2. It is a command.
ASRIは、X入力のデータを固定小数点データと見な
して1ビツト右シフトを行い、2出力する命令である。ASRI is an instruction that treats the X input data as fixed point data, shifts it to the right by 1 bit, and outputs 2.
ASR2は、X入力のデータを固定小数点データと見な
して2ビツト右シフトを行い、2出力する命令である。ASR2 is an instruction that treats the X input data as fixed point data, shifts it to the right by 2 bits, and outputs 2.
ASR4は、X入力のデータを固定小数点データと見な
して4ビツト右シフトを行い、2出力する命令である。ASR4 is an instruction that treats the X input data as fixed-point data, shifts it to the right by 4 bits, and outputs 2.
ASR8は、X入力のデータを固定小数点データと見な
して8ピント□右シフトを行堕z出カする命令である。ASR8 is an instruction for outputting 8 points □ right shift by regarding the data of the X input as fixed point data.
これら(7)ASlil、 ASR2,ASR4,AS
R8ニおけるシフトインデータはサインビット(X入力
の最上位ピント)である。These (7) ASlil, ASR2, ASR4, AS
The shift-in data in R8 is the sign bit (the most significant focus of the X input).
ロード命令グループでは、最上位の3ビツトによりロー
ド命令とロングロード命令とに分けられる。The load instruction group is divided into load instructions and long load instructions by the most significant three bits.
ロード命令では、第6図(dlに示す如くフィールドが
割付けられている。In the load instruction, fields are allocated as shown in FIG. 6 (dl).
第6図(d−1)はロード命令のビット配列を示してい
る。FIG. 6(d-1) shows the bit arrangement of the load instruction.
第28ビ7トは、第6図(d−2)に示す如く、外部デ
ータRAMへの書込みを制御するフィールドである。第
26.27ビントは、第6図(d−3)に示す如(、即
値を書込むレジスタがアキュムレータ(ACC) 8で
ある場合に、アキュムレータ(ACC) 8中の図示さ
れていない^CCO〜ACC3のいずれのアキュムレー
タであるかを指定するフィールドである。第23ビツト
〜第25ビツトは、第6図(d−3)に示す如く、レジ
デュアル制御によるアドレスレジスタの内容の更新を制
御するフィールドである。第22ピントは、第6図(d
−5)に示す如く、Dバス24の24ビツトの内のMS
B側の18ビア)をレジスタに書込むかまたはLSB側
の18ピントをレジスタに書込むかを制御するフィール
ドである。第4ビツト〜第21ピントはレジスタへ書込
む即値を指定するフィールドである。第0ビツト〜第3
ビツトは、第6図(d−6)に示す如く、即値を書込む
レジスタを指定するフィールドである。The 28th bit 7 is a field for controlling writing to the external data RAM, as shown in FIG. 6(d-2). The 26th and 27th bits are as shown in FIG. 6(d-3) (if the register to which the immediate value is written is accumulator (ACC) 8, then the unillustrated ^CCO ~ This is a field that specifies which accumulator in ACC3 it is.The 23rd to 25th bits are fields that control updating of the contents of the address register by residual control, as shown in Figure 6 (d-3). The 22nd focus is shown in Figure 6 (d
-5), the MS of the 24 bits of the D bus 24
This field controls whether the 18 vias on the B side are written to the register or the 18 pins on the LSB side are written to the register. The 4th bit to the 21st pin are fields for specifying the immediate value to be written into the register. 0th bit to 3rd bit
The bit is a field that specifies the register into which an immediate value is written, as shown in FIG. 6 (d-6).
ロングロード命令は、第6図(e)に示すようにフィー
ルドが割付けられている。The long load instruction has fields allocated as shown in FIG. 6(e).
第6図(e−1)はロングロード命令のビット配列を示
している。FIG. 6(e-1) shows the bit arrangement of the long load instruction.
第28ピントはデータレジスタの内容を外部データRA
Mへ書込むか否かの制御を行うフィールドであり、第4
ビツト〜第27ビツトは即値を指定するフィールドであ
る。第0ビツト〜第3ビツトは、第6図(e−2)に示
す如く、即値を書込むレジスタ次に、上述のような従来
のマイクロプロセッサの動作モードについて説明する。The 28th pin transfers the contents of the data register to external data RA.
This is a field that controls whether or not to write to M.
The bit to 27th bit is a field for specifying an immediate value. The 0th to 3rd bits are registers into which immediate values are written, as shown in FIG. 6(e-2).Next, the operating modes of the conventional microprocessor as described above will be explained.
このマイクロプロセッサの動作モードとしては通常モー
ドの他に以下のようなテストモードがある。In addition to the normal mode, the microprocessor has the following test modes as operating modes.
まず、内蔵命令ROMIIと内蔵共有メモリ12との内
容を読出すことが可能なIIA(Internal T
nstruction ROM/RAM Access
)モード。First, the IIA (Internal T
structure ROM/RAM Access
)mode.
データ入出力端子305図示されていない出力端子及び
他の入出力端子の出力状態あるい出力レベルをマイクロ
プロセッサの内部動作とは無関係に設定可能なピンテス
トモード。A pin test mode in which the output state or output level of the data input/output terminal 305 (not shown) and other input/output terminals can be set independently of the internal operation of the microprocessor.
通常モードでは観測することが困難なりバス24及びプ
ログラムカウンタ10の値をデータ入出力端子30及び
図示されていない他の入出力端子から外部へ出力するP
EEPモード。Since it is difficult to observe in the normal mode, the values of the bus 24 and the program counter 10 are output to the outside from the data input/output terminal 30 and other input/output terminals not shown.
EEP mode.
命令の実行によりデータレジスタ18又はシリアルI1
0インタフェイス17中の図示しないシリアル入力レジ
スタをDバス24を用いたバス転送のソースレジスタと
して用いた場合にこれらの代わりにシグネチャレジスタ
19中の図示されていない擬似乱数発生器をバス転送の
ソースレジスタとして、またデータレジスタ18又はシ
リアルI10インクフェイス17中の図示されていない
シリアル出力レジスタをDバス24を用いたバス転送の
デスティネーションレジスタとして用いた場合にこれら
の代わりにシダネチャレジスタ19中の図示しないデー
タ圧縮器をバス転送のデスティネーションレジスタとし
て用いるセルフテストモード。Data register 18 or serial I1 by executing the instruction.
When a serial input register (not shown) in the 0 interface 17 is used as a source register for bus transfer using the D bus 24, a pseudorandom number generator (not shown) in the signature register 19 is used instead as a source register for bus transfer using the D bus 24. When the data register 18 or the serial output register (not shown) in the serial I10 ink face 17 is used as a destination register for bus transfer using the D bus 24, the data register 19 in the fern nature register 19 can be used instead. A self-test mode in which a data compressor (not shown) is used as a destination register for bus transfer.
なお、シグネチャレジスタ19中の図示されていない擬
似乱数発生器及びデータ圧縮器はそれぞれ独立しており
、リセット処理により初期化される。Note that a pseudo-random number generator and a data compressor (not shown) in the signature register 19 are independent from each other, and are initialized by reset processing.
また、擬似乱数発生器はソースレジスタとしてアクセス
される都度、新たに乱数を出力し、データ圧縮器はデス
ティネーションレジスタとしてアクセスされる都度、ソ
ースレジスタから出力されるデータのシグネチャ圧縮を
行う。Further, the pseudorandom number generator outputs a new random number each time it is accessed as a source register, and the data compressor performs signature compression of data output from the source register each time it is accessed as a destination register.
また、上述のモードの切換えはτESTモード設定信号
入力端子28とIIAモード設定端子29とへの入力信
号の論理レベルの組合わせにて行われる。Furthermore, the above-mentioned mode switching is performed by a combination of the logic levels of the input signals to the τEST mode setting signal input terminal 28 and the IIA mode setting terminal 29.
次に、上述の各テストモードの中でセルフテストモード
を使用した演算器7のテスト方法について説明する。Next, a method of testing the arithmetic unit 7 using the self-test mode among the above-mentioned test modes will be described.
演算器7のテストは、各演算に対して種々の入力値で演
算を実行し、その結果を調べることにより行われる。ま
た、ある種の演算(たとえば[ADC演算等)に対して
はその前に実行された演算により設定されたフラグレジ
スタ(PR)32の値を用いることになるため、演算実
行の履歴が問題になる。The test of the calculator 7 is performed by executing each calculation with various input values and examining the results. In addition, for certain types of calculations (for example, ADC calculations, etc.), the value of the flag register (PR) 32 set by the previously executed calculation is used, so the history of calculation execution becomes a problem. Become.
このため、演算器7の入力値に擬似乱数発生器から出力
された乱数を使用し、演算結果をデータ圧縮器で圧縮す
る場合について考える。For this reason, a case will be considered in which a random number output from a pseudo-random number generator is used as the input value of the arithmetic unit 7, and the result of the calculation is compressed by a data compressor.
Dバス24を使用したバス転送のソースレジスタとして
たとえばデータレジスタ18を命令により指定する都度
、新たな擬似乱数データが得られる。Each time a command specifies, for example, the data register 18 as a source register for bus transfer using the D bus 24, new pseudo-random number data is obtained.
この擬似乱数データを演算器7の演算部入力レジスタ(
110)3. (R1)4へ転送することにより種々の
演算人力値が得られる。This pseudo-random number data is input to the arithmetic unit input register of the arithmetic unit 7 (
110)3. By transferring the data to (R1)4, various calculation manual values can be obtained.
また、演算結果をDバス24を用いてバス転送し、その
デスティネーションレジスタとしてたとえばデータレジ
スタ18を指定すれば、演算結果が圧縮される。Furthermore, by bus-transferring the calculation results using the D bus 24 and specifying, for example, the data register 18 as the destination register, the calculation results can be compressed.
上述のような操作は数個の命令にて実現可能であり、多
重ループを用いると小数の命令で多数の擬似乱数を利用
した演算器のテストを行うことが可能である。テストの
実行結果は、テスト終了後の最終結果を、正常に動作す
ることが確認されているマイクロプロセッサが出力する
最終シグネチャと比較することにより、正常であるか否
かの判断が可能である。The operations described above can be realized with a few instructions, and by using multiple loops, it is possible to test an arithmetic unit using a large number of pseudo-random numbers with a small number of instructions. It is possible to determine whether the test execution result is normal or not by comparing the final result after the test with the final signature output by a microprocessor that has been confirmed to operate normally.
次に、このようなテスト回路を持ったマイクロプロセッ
サの演算器7のセルフテストプログラムの一例を第7図
に、その処理手順を示すフローチャートを第8図に示す
。Next, FIG. 7 shows an example of a self-test program for the arithmetic unit 7 of a microprocessor having such a test circuit, and FIG. 8 shows a flowchart showing its processing procedure.
このセルフテストプログラムは、第8図(alに示す如
く、二重ループを使用することにより、より小数の命令
にて多くのテストが行えるように構成されている。As shown in FIG. 8 (al), this self-test program is structured so that a large number of tests can be performed with a smaller number of instructions by using a double loop.
第8回出)はモジュール1の処理手順を示すフローチャ
ートである。8th issue) is a flowchart showing the processing procedure of module 1.
まず最初に、ングネチ中レジスタ19中の擬似乱数発生
器から演算部入力レジスタ(RO)3. (R1)4へ
疑似乱数をセントして演算を実行し、その演算結果をシ
グネチャレジスタ19中のデータ圧縮器へ転送し圧縮を
行うと同時に、−演算毎にフラグレジスタ(PR)32
の内容をチエツクし、またフラグレジスタ(FR) 3
2の内容に応じた条件ジャンプのテストも第8図(d)
に示すモジュール3にて行っている。First of all, from the pseudo-random number generator in the middle register 19 to the arithmetic unit input register (RO) 3. (R1) 4, performs an operation, transfers the result of the operation to the data compressor in the signature register 19, and performs compression. At the same time, for each - operation, the flag register (PR) 32
Check the contents of flag register (FR) 3.
The conditional jump test according to the contents of 2 is also shown in Figure 8 (d).
This is done in module 3 shown below.
このルーチンでは、−人力演算と二人力演算とを組合わ
せる事によりテストプログラムステップ数の削減を図っ
ている。This routine attempts to reduce the number of test program steps by combining -manual and two-manpower calculations.
第8図(C1はモジュール2の処理手順を示すフローチ
ャートである。FIG. 8 (C1 is a flowchart showing the processing procedure of module 2.
このモジュール2はモジュール1の変形であって、フラ
グレジスタ(PR)32中に格納されている前命令のキ
ャリーを受けて演算を行い、シグネチャレジスタ19中
のデータ圧縮器へデータを転送するルーチンである。This module 2 is a modification of module 1, and is a routine that receives the carry of the previous instruction stored in the flag register (PR) 32, performs an operation, and transfers the data to the data compressor in the signature register 19. be.
第8図では3種類の演算という表現で演算命令を代表さ
せたが、第5図における演算部7で実行可能な総ての演
算に対して、つまり第8図tc+に示されているAL、
IJフィールドの各演算NOP、 [NV、 ABSS
GN ADD SOB、 MAX、 MIN、 T
HR,XFT、 FXT、 5RISLI SL2
. SL4. SL8 AND、 OR,E
OR,NOT、 MADESB IMUL、 IA
DD、 l5UB、 IADC,l5BB、 ASRl
、 ASR2ASR4,ASR8の総てを行っている。In FIG. 8, three types of operations are used to represent operation instructions, but for all operations that can be executed by the operation unit 7 in FIG.
IJ field operations NOP, [NV, ABSS
GN ADD SOB, MAX, MIN, T
HR, XFT, FXT, 5RISLI SL2
.. SL4. SL8 AND, OR, E
OR, NOT, MADESB IMUL, IA
DD, l5UB, IADC, l5BB, ASRl
, ASR2ASR4, ASR8.
これらのモジュールを組合せて一つのプログラムとして
表現したものが第7図に示されているプログラムである
。このプログラムは約120ワードという少ないワード
数で構成されている。The program shown in FIG. 7 is a combination of these modules expressed as one program. This program consists of a small number of words, approximately 120 words.
第9図は、第7図に示すセルフテストプログラムが第5
図の内蔵命令ROMIIのメモリ空間上にどの様に構成
されているかを示す模式図である。FIG. 9 shows that the self-test program shown in FIG.
FIG. 2 is a schematic diagram showing how the built-in instruction ROMII shown in the figure is configured on the memory space.
このようなメモリ空間の構成を採ることにより、通常モ
ードでは“oooo、”番地をスタートアドレスとする
ユーザプログラムが実行される。しかし、セルフテスト
を実行する場合にはセルフテストモードとしてのリセッ
ト機能を用いて上述の任意のアドレスからリセントスタ
ート可能なりセント処理を利用することにより、上述の
ようなセルフテストが実行される。By adopting such a memory space configuration, in the normal mode, a user program whose start address is the address "oooo" is executed. However, when executing a self-test, the above-described self-test is executed by using the reset function as the self-test mode and using the above-mentioned recent start processing that allows a recent start from any address.
上述のような従来のマイクロプロセッサでは、セルフテ
ストによりシグネチャ圧縮した最終結果のみにてテスト
結果を判断しているので、テストを実行したマイクロプ
ロセッサの演算器が正常であるか否かの判断のみ可能で
あり、マイクロプロセッサの演算器のいずれの部分が不
良であるのかの特定が出来ないという問題がある。In conventional microprocessors such as those mentioned above, test results are determined only based on the final result of signature compression through self-testing, so it is only possible to determine whether or not the arithmetic unit of the microprocessor that executed the test is normal. Therefore, there is a problem in that it is not possible to specify which part of the arithmetic unit of the microprocessor is defective.
本発明はこのような事情に鑑みてなされたものであり、
セルフテストの実行を任意のタイミングにおいて中断し
てデバッグプログラムを実行し、レジスタあるいはリセ
ット機能により初期化されるフラグ等の内容をマイクロ
プロセッサ外部へ読出すことにより、テストの途中結果
を特定し、マイクロプロセッサのセルフテスト実行中の
動作状態を把握可能としたマイクロプロセッサの提供を
目的とする。The present invention was made in view of these circumstances, and
By interrupting self-test execution at any timing, executing the debug program, and reading the contents of registers or flags initialized by the reset function to the outside of the microprocessor, the mid-test results can be identified and the microprocessor The purpose of the present invention is to provide a microprocessor that is capable of grasping the operating state of the processor during self-test execution.
本発明のマイクロプロセッサは、内蔵されている命令1
10Mと、この命令1?OMに格納されているテストプ
ログラムの実行に伴って値を記憶し、全体のリセット時
には初期化される記憶手段とを備え、テストプログラム
実行中に記憶手段に記憶されている値を外部へ読出すた
めの別のプログラムを命令ROMに格納し、このプログ
ラムを実行させるための信号を入力する信号入力端子を
備えている。The microprocessor of the present invention has built-in instructions 1
10M and this command 1? A storage means that stores values as the test program stored in the OM is executed and is initialized when the entire system is reset, and reads out the values stored in the storage means while the test program is being executed. A separate program for this purpose is stored in the instruction ROM, and a signal input terminal is provided for inputting a signal for executing this program.
本発明のマイクロプロセッサでは、命令ROMに格納さ
れているテストプログラムの実行中の任意の時点の記憶
手段の記憶値が外部へ読出されるので、この値に基づい
てデバッグが容易に行える。In the microprocessor of the present invention, the stored value of the storage means at any time during execution of the test program stored in the instruction ROM is read out to the outside, so debugging can be easily performed based on this value.
以下、本発明をその実施例を示す図面を参照して詳述す
る。Hereinafter, the present invention will be explained in detail with reference to the drawings showing embodiments thereof.
第1図において、参照符号1はアドレス演算部(AAU
)であり、詳細は後述するが入力側はPバス23に接続
されている。In FIG. 1, reference numeral 1 is an address calculation unit (AAU
), and the input side is connected to the P bus 23, although details will be described later.
2はピント長24.ワード長512(24ビツト×51
2ワード)の内R2ポートデータRA−であり、データ
読出しのためのボートを2系統備えている他、上述のア
ドレス演算部(AAU)1及びDバス24と接続されて
いる。2 is the focus length 24. Word length 512 (24 bits x 51
2 words), the R2 port data RA- is provided with two systems of ports for reading data, and is connected to the address arithmetic unit (AAU) 1 and the D bus 24 described above.
3は第1の演夏部入力レジスタ(RO)、 4は第2
の演算部入力レジスタ(R1)であり、データRAM2
の各データ読出しボートがそれぞれの入力側に接続され
ている他、Dバス24とも接続されている。3 is the first summer part input register (RO), 4 is the second
It is an input register (R1) for the calculation unit of the data RAM2.
Each data read port is connected to its respective input side, and is also connected to the D bus 24.
5は乗算器(IMPI、)であり詳細は後述するが、演
算部入力レジスタ(RO) 3及び(R1) 4の出力
を入力して乗算する。Reference numeral 5 denotes a multiplier (IMPI), which will be described in detail later, but which inputs and multiplies the outputs of operation section input registers (RO) 3 and (R1) 4.
6は乗算器出力レジスタ(MR)であり、乗算器5の乗
算結果を保持する。A multiplier output register (MR) 6 holds the multiplication result of the multiplier 5.
7は演算器(FALU)であり詳細は後述するが、演算
部入力レジスタ(RO) 3 、 (R1) 4及び乗
算器出力レジスタCMR) 6の出力が入力される他、
Dバス24とも接続されている。7 is an arithmetic unit (FALU) whose details will be described later, but in addition to inputting the outputs of the arithmetic unit input registers (RO) 3, (R1) 4 and multiplier output register CMR) 6,
It is also connected to the D bus 24.
8はアキュムレータ(ACC)であり、主として演算器
7による演夏結果を保持する。8 is an accumulator (ACC), which mainly holds the result of calculation by the arithmetic unit 7;
9は8レベルのスタックであり、プログラムカウンタ(
PC)10の値(プログラムカウンタ値)を必要に応し
て保持する。9 is an 8-level stack with a program counter (
PC) 10 (program counter value) is held as necessary.
プログラムカウンタ(PC) IQは、次にフヱソチす
べき命令の命令メモリ、具体的には後述する内蔵命令R
OMIIにおけるアドレスを順次計数する。Program counter (PC) IQ is the instruction memory of the next instruction to be executed, specifically the built-in instruction R described later.
Sequentially count addresses in OMII.
内蔵命令ROMII は32ピントx4にワードの容量
であり、プログラムカウンタ10から与えられるプログ
ラムカウンタ値に対応するアドレスに記憶している命令
を出力する。The built-in instruction ROM II has a capacity of 32 pins x 4 words and outputs the instruction stored at the address corresponding to the program counter value given from the program counter 10.
12は32ピント×64ワードの命令とデータとの内蔵
共有メモリ(CRAM)である、この共有メモリ12に
格納されている値はデータワードとしても命令ワードと
しても使用することが可能である。Reference numeral 12 denotes a built-in shared memory (CRAM) for instructions and data of 32 pins x 64 words. The values stored in this shared memory 12 can be used both as data words and instruction words.
13は命令レジスタ(IR)であり、命令ROMII又
は共有メモリ12から読出された次に実行されるべき命
令ワードを保持する。Reference numeral 13 denotes an instruction register (IR), which holds the instruction ROMII or the instruction word read from the shared memory 12 and to be executed next.
14は命令デコーダであり、命令レジスタ13が保持し
ている命令ワードをデコードし、そのデコード結果に基
づいてこのマイクロプロセッサ各部の動作を制御する。Reference numeral 14 denotes an instruction decoder, which decodes the instruction word held in the instruction register 13 and controls the operations of each part of this microprocessor based on the decoding result.
15はこのマイクロプロセッサ内部の動作モードを設定
するコントロールレジスタであす、リセ。Reference numeral 15 is a control register for setting the internal operating mode of this microprocessor.
ト処理により初期化される。このコントロールレジスタ
15は入力側がPバス23に、出力側がDバス24にそ
れぞれ接続されている。Initialized by default processing. This control register 15 is connected to the P bus 23 on the input side and to the D bus 24 on the output side.
I6はダイレクトメモリアクセスコントローラ(DMA
)、 17はシリアルI10インク7zイ、2. (
Stlo)18はデータレジスタ(DR)、 19はシ
グネチャレジスタである。I6 is a direct memory access controller (DMA)
), 17 is serial I10 ink 7z i, 2. (
Stro) 18 is a data register (DR), and 19 is a signature register.
20は割込みコントローラ、21はクロック/リセット
信号発生回路(CLK/R5T) 、 22はクロ、ク
ブリスケーラ(CPR)である。20 is an interrupt controller, 21 is a clock/reset signal generation circuit (CLK/R5T), and 22 is a cross scaler (CPR).
23は命令によりレジスタに即値を入力するPバス、2
4は各レジスタ(参照符号3.4.8.17.18゜1
9)等の間、あるいは内蔵RAM (参照符号2.12
)間でデータの送受を行うDバス、25はダイレクトメ
モリアクセス時にダイレクトメモリアクセスコントロー
ラ16により制御されてシリアルI10インタフェイス
17と外部メモリとの間でのデータ転送を制御するSバ
スである。23 is a P bus that inputs an immediate value into a register according to a command;
4 is each register (reference number 3.4.8.17.18゜1
9) etc. or built-in RAM (reference number 2.12
), and 25 is an S bus that is controlled by the direct memory access controller 16 during direct memory access to control data transfer between the serial I10 interface 17 and external memory.
26は第1割込み入力ビン(INTI)、 27は第2
割込み入力ピン(INT2)、 28はテストモード設
定のためのテストピン(TEST)、 29は後述する
IIAモード設定のためのIIAピンである。26 is the first interrupt input bin (INTI), 27 is the second
An interrupt input pin (INT2), 28 a test pin (TEST) for setting a test mode, and 29 an IIA pin for setting an IIA mode, which will be described later.
30は24ピント長のデータ入出力端子であり、前述の
レジスタ18.19、Dバス24及びSバス25と外部
データメモリ (図示せず)との間でのデータ転送に使
用される。30 is a 24-pin data input/output terminal, which is used for data transfer between the registers 18, 19, D bus 24, and S bus 25 and an external data memory (not shown).
31はリセット信号(NRESET)入力端子であり、
このマイクロプロセッサ全体をリセットするためのリセ
ット信号(NRESET)の入力に使用される。31 is a reset signal (NRESET) input terminal;
It is used to input a reset signal (NRESET) for resetting the entire microprocessor.
32はフラグレジスタ(PR)であり、演算器7の演算
結果、各入力端子のレベルあるいはこのマイクロプロセ
ッサの内部動作モードを示す、このフラグレジスタ(P
R)32は上述のリセット信号(NRESET)が入力
された際のリセット処理により初期化される。32 is a flag register (PR), which indicates the calculation result of the arithmetic unit 7, the level of each input terminal, or the internal operation mode of this microprocessor.
R) 32 is initialized by the reset process when the above-mentioned reset signal (NRESET) is input.
以上の構成は基本的には従来例として前述した本願発明
者らの出願に係る特願昭63−332250号の発明と
同一である。The above configuration is basically the same as the invention of Japanese Patent Application No. 63-332250 filed by the inventors of the present invention, which was previously described as a conventional example.
参照符号33はクロック信号(CLK)入力端子であり
、本発明のマイクロプロセッサはこのクロック信号入力
端子33から入力されるクロック信号CLKに同期して
動作する。Reference numeral 33 is a clock signal (CLK) input terminal, and the microprocessor of the present invention operates in synchronization with the clock signal CLK input from this clock signal input terminal 33.
参照符号34はマスク不可割込み信号(NMI)入力端
子であり、本発明のマイクロプロセッサがリセット処理
中以外の状態においてこのマスク不可割込み信号入力端
子34への入力信号であるマスク不可割込み信号NMI
がアクティブになると、命令空間の特定番地がサブルー
チンコールされる。Reference numeral 34 is a non-maskable interrupt signal (NMI) input terminal, and the non-maskable interrupt signal NMI is an input signal to this non-maskable interrupt signal input terminal 34 when the microprocessor of the present invention is in a state other than during reset processing.
When becomes active, a subroutine is called at a specific address in the instruction space.
なお本発明のマイクロプロセッサにおいては、上述の各
構成部分の内の前述の従来と同一の参照符号を有する各
部分の構成、動作、命令フォーマント及び演算器7のセ
ルフテストプログラム等は従来例と全く同一であるので
説明を省略する。In the microprocessor of the present invention, the structure, operation, instruction form, self-test program of the arithmetic unit 7, etc. of each of the above-mentioned components having the same reference numerals as in the conventional example are the same as in the conventional example. Since they are exactly the same, their explanation will be omitted.
第2図は、第1図に示されたマイクロプロセッサのセル
フテストの実行中においてセルフテストを中断し、中断
時点のフラグレジスタ(FR)32の内容をマイクロプ
ロセッサ外部へ読出すために必要な処理手順を示すフロ
ーチャートである。FIG. 2 shows the processing necessary to interrupt the self-test during execution of the microprocessor shown in FIG. 1 and read out the contents of the flag register (FR) 32 at the time of interruption to the outside of the microprocessor. It is a flowchart showing a procedure.
まずステップSlにおいて、任意のアドレスからプログ
ラムの実行を開始するためのリセット処理を利用してセ
ルフテストプログラムをリセットスタートさせる。First, in step Sl, the self-test program is reset-started using a reset process for starting program execution from an arbitrary address.
次にステップS2において、マイクロプロセッサの動作
モードをセルフテストモードに設定し、シグネチャレジ
スタ19を用いたセルフテストの実行を開始させる。Next, in step S2, the operating mode of the microprocessor is set to self-test mode, and execution of a self-test using signature register 19 is started.
ステップS3においては、セルフテストを中断する条件
になるまでセルフテストの実行を継続させる。In step S3, execution of the self-test is continued until a condition for interrupting the self-test is met.
ステップS4において、セルフテストを中断させるため
に、マスク不可割込み信号入力端子34へ入力されてい
るマスク不可割込み信号NMIをアクティブに設定して
デバッグプログラムを起動する。In step S4, in order to interrupt the self-test, the non-maskable interrupt signal NMI input to the non-maskable interrupt signal input terminal 34 is set active and the debug program is started.
ステップS5において、マイクロプロセッサの動作モー
ドをPEEPモードに設定してDバス24を用いた転送
のデータがそのままデータ入出力端子30から出力され
るようにする。In step S5, the operating mode of the microprocessor is set to PEEP mode so that the data transferred using the D bus 24 is outputted from the data input/output terminal 30 as is.
ステップS6において、デバッグプログラムの実行によ
りフラグレジスタ(PR)32をDバス24を用いたバ
ス転送のソースレジスタに設定する命令を実行し、フラ
グレジスタ(PR) 32の値をマイクロプロセッサの
外部へ読出す。In step S6, the debug program executes an instruction to set the flag register (PR) 32 as a source register for bus transfer using the D bus 24, and reads the value of the flag register (PR) 32 to the outside of the microprocessor. put out.
このような操作を行うためのデバッグプログラムの例を
第3図に、またその処理手順を示すフローチャートを第
4図にそれぞれ示す。An example of a debug program for performing such operations is shown in FIG. 3, and a flowchart showing the processing procedure is shown in FIG. 4.
第4図のステップ311において、マスク不可割込み実
行時のサブルーチンコールアドレスにあるデバッグプロ
グラムへのジャンプ命令が実行される。そしてステップ
S12において、Dバス24を使用したバス転送のソー
スレジスタとしてデータレジスタ18を使用した命令が
実行される。At step 311 in FIG. 4, a jump instruction to the debug program located at the subroutine call address at the time of execution of the non-maskable interrupt is executed. Then, in step S12, an instruction using the data register 18 as a source register for bus transfer using the D bus 24 is executed.
第3図において、ラベル“NMIADD:”はマスク不
可割込み実行時のサブルーチンコールアドレスヲ示し、
またラベル“DEBAG :”はデバッグプログラムの
スタートアドレスを示す。In FIG. 3, the label "NMIADD:" indicates the subroutine call address when a non-maskable interrupt is executed.
Further, the label "DEBAG:" indicates the start address of the debug program.
なお、上述のデバッグプログラムにおいて、フラグレジ
スタ(PR) 32の他にマイクロプロセッサの他の記
憶手段の内容をマイクロプロセッサ外部へ出力するため
の命令を付加してもよいことは言うまでもない。It goes without saying that in the above-described debug program, an instruction for outputting the contents of other storage means of the microprocessor to the outside of the microprocessor may be added in addition to the flag register (PR) 32.
また、上述のデバッグプログラムを、マイクロプロセッ
サのリセット処理において初期化される記憶手段の内容
を初期化されないマイクロプロセッサ内部の記憶手段に
転送する命令にて構成し、またその初期化されない記憶
手段の内容をマイクロプロセッサ外部へ読出すプログラ
ムを更に内蔵命令ROM中に備え、そのプログラムを任
意のアドレスから実行開始するリセット処理を用いて実
行するようにしてもよい。Further, the above-mentioned debug program is configured with an instruction to transfer the contents of the storage means initialized in the reset processing of the microprocessor to the storage means inside the microprocessor that is not initialized, and the contents of the storage means that are not initialized are A program for reading out the microprocessor to the outside of the microprocessor may be further provided in the built-in instruction ROM, and the program may be executed using a reset process that starts execution from an arbitrary address.
更にまた、セルフテストプログラムの中断のタイミング
を決定するために、セルフテストの実行時にデータ入出
力端子30から出力されているシグネチャ圧縮の中間結
果を利用することも可能である。Furthermore, in order to determine the timing of interrupting the self-test program, it is also possible to use the intermediate result of signature compression output from the data input/output terminal 30 during execution of the self-test.
また更に、マスク不可割込み信号NMI以外の制御信号
の内でセルフテストプログラムにおいては用いられてい
ない制御信号を用いてセルフテストを中断するような構
成も可能である。Furthermore, a configuration is also possible in which a control signal other than the non-maskable interrupt signal NMI that is not used in the self-test program is used to interrupt the self-test.
以上に詳述した如く本発明によれば、数ワード程度の小
数のデバッグプログラムによりマイクロプロセッサのセ
ルフテストの結果に異常があった場合の原因究明に必要
な内部記憶手段が保持しているデータをマイクロプロセ
ッサの外部へ容易に読出すことが可能になるので、マイ
クロプロセッサの開発段階における不良原因の特定が迅
速且つ容易に行え、マイクロプロセンサの開発に要する
時間を短縮することが可能になる。As described in detail above, according to the present invention, data held in the internal storage means necessary for investigating the cause of an abnormality in the self-test result of a microprocessor using a small number of debugging programs of about a few words can be stored. Since the information can be easily read out from the microprocessor, the cause of a defect can be quickly and easily identified during the development stage of the microprocessor, and the time required to develop the microprocessor can be shortened.
第1図は本発明に係るマイクロプロセッサの構成を示す
ブロック図、第2図はその演算器のセルフテスト中にデ
バッグプログラムを動作させるための手順を示すフロー
チャート、第3図は本発明のマイクロプロセッサの内蔵
命令ROMに格納されているデバッグプログラムのリス
トの一例を示す模式図、第4図はその動作手順を示すフ
ローチャート、第5図はセルフテスト機能を有する従来
のマイクロプロセッサの一構成例を示すブロック図、第
6図は第1図にその構成を示した本発明のマイクロプロ
セッサ及び第5図にその構成を示した従来のマイクロプ
ロセッサに共通して備えられている命令フォーマントを
示す模式図、第7図は第1図にその構成を示した本発明
のマイクロプロセッサ及び第5図にその構成を示した従
来のマイクロプロセッサに共通して備えられている内蔵
命令RO門に格納されているセルフテストプログラムの
リストの一例を示す模式図、第8図はその動作手順を示
すフローチャート、第9図は第1図にその構成を示した
本発明のマイクロプロセッサ及び第5図にその構成を示
した従来のマイクロプロセッサに共通して備えられてい
る内蔵命令ROMの命令メモリ空間を示す模式図である
。
2・・・内蔵データRA?I 7・・・演算器 1
1・・・内蔵命令ROM 19・・・シグネチャレジ
スタ 20・・・割込みコントローラ 26・・・
第1割込み入力ピン27・・・第2割込み人力ピン
28・・・TESTモード設定信号入力端子 30・
・・データ入出力端子 31・・・リセット信号入力
端子 32・・・フラグレジスタ34・・・マスク不
可割込み信号入力端子なお、図中、同一符号は同一、又
は相当部分を示す。FIG. 1 is a block diagram showing the configuration of a microprocessor according to the present invention, FIG. 2 is a flowchart showing a procedure for operating a debug program during a self-test of the arithmetic unit, and FIG. 3 is a block diagram showing the configuration of a microprocessor according to the present invention. A schematic diagram showing an example of a list of debug programs stored in the built-in instruction ROM of the microprocessor, FIG. 4 is a flowchart showing its operating procedure, and FIG. 5 shows an example of the configuration of a conventional microprocessor having a self-test function. The block diagram and FIG. 6 are schematic diagrams showing instruction formants commonly provided in the microprocessor of the present invention whose configuration is shown in FIG. 1 and the conventional microprocessor whose configuration is shown in FIG. , FIG. 7 shows the built-in instruction RO gate stored in the built-in instruction RO gate which is commonly provided in the microprocessor of the present invention whose structure is shown in FIG. 1 and the conventional microprocessor whose structure is shown in FIG. FIG. 8 is a schematic diagram showing an example of a self-test program list, FIG. 8 is a flowchart showing its operating procedure, FIG. 9 is a microprocessor of the present invention whose structure is shown in FIG. 1, and FIG. 5 whose structure is shown. 1 is a schematic diagram showing an instruction memory space of a built-in instruction ROM commonly provided in conventional microprocessors; FIG. 2...Built-in data RA? I 7...Arithmetic unit 1
1...Built-in instruction ROM 19...Signature register 20...Interrupt controller 26...
1st interrupt input pin 27... 2nd interrupt manual pin
28...TEST mode setting signal input terminal 30.
. . . Data input/output terminal 31 . . . Reset signal input terminal 32 . . . Flag register 34 .
Claims (1)
するための第1入力端子と、 前記モードが設定されている場合に、前記 データ圧縮器の出力を又は前記データ圧縮器の出力とそ
の期待値との比較結果を外部へ出力する第1出力端子と
を備え、 前記モード下において、特定のデータ又は 前記擬似乱数発生器から出力される擬似乱数を前記演算
器へ入力し、その演算結果を前記データ圧縮器へ入力す
る一連の処理を実行する第1プログラムを前記命令RO
Mに格納してあるマイクロプロセッサにおいて、 リセット処理により初期化され、前記第1 プログラムの実行に伴って値を記憶する記憶手段と、 該記憶手段の記憶内容を外部へ出力するた めの第2出力端子と、 第2入力端子とを備え、 前記第1プログラム実行中に前記第2入力 端子から所定の信号が入力された場合に前記第1プログ
ラムの実行を中断して前記記憶手段の記憶内容を前記第
2出力端子を介して外部へ出力させる第2プログラムを
前記命令ROMに格納してあることを特徴とするマイク
ロプロセッサ。(1) an arithmetic unit, a pseudo-random number generator and a data compressor for testing the arithmetic unit, an instruction ROM storing a plurality of instructions constituting a program, and the pseudo-random number generator and data compressor. a first input terminal for inputting a signal for setting a mode that can be used, and when the mode is set, the output of the data compressor or the output of the data compressor and the output of the data compressor; and a first output terminal for outputting a comparison result with an expected value to the outside, and in the mode, inputs specific data or a pseudorandom number output from the pseudorandom number generator to the arithmetic unit, and outputs the calculation result. The first program that executes a series of processes for inputting
In the microprocessor stored in M, a storage means is initialized by a reset process and stores values as the first program is executed, and a second output is used to output the stored contents of the storage means to the outside. a terminal, and a second input terminal, and when a predetermined signal is input from the second input terminal during execution of the first program, the execution of the first program is interrupted and the contents stored in the storage means are saved. A microprocessor characterized in that a second program to be output to the outside via the second output terminal is stored in the instruction ROM.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2148189A JPH0439745A (en) | 1990-06-05 | 1990-06-05 | Microprocessor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2148189A JPH0439745A (en) | 1990-06-05 | 1990-06-05 | Microprocessor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0439745A true JPH0439745A (en) | 1992-02-10 |
Family
ID=15447239
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2148189A Pending JPH0439745A (en) | 1990-06-05 | 1990-06-05 | Microprocessor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0439745A (en) |
-
1990
- 1990-06-05 JP JP2148189A patent/JPH0439745A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4511461B2 (en) | Processing action masking in data processing system | |
| JP4996654B2 (en) | Processor | |
| JPH035835A (en) | Microprocessor | |
| JPH0431931A (en) | Test facilitating circuit for information processor | |
| JPH08305605A (en) | Method and apparatus for scanning inspection using extended inspection vector storage part | |
| Kranitis et al. | Effective software self-test methodology for processor cores | |
| JP2019521445A (en) | Shuffler circuit for lane shuffle in SIMD architecture | |
| CN117313595B (en) | Random instruction generation method, equipment and system for function verification | |
| JP2581018B2 (en) | Data processing device | |
| US8484520B2 (en) | Processor capable of determining ECC errors | |
| US8805903B2 (en) | Extended-width shifter for arithmetic logic unit | |
| JPH04320981A (en) | Self-diagnosis circuit and self-diagnosis method for information processing device | |
| US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
| JPH0439745A (en) | Microprocessor | |
| JP2806075B2 (en) | Microcomputer | |
| CN111913097B (en) | Test circuit and test method for testing SoC function and SoC | |
| JPH02213938A (en) | Arithmetic unit | |
| JP3019818B2 (en) | Data processing method | |
| JPH0540703A (en) | Microprocessor | |
| JP2872117B2 (en) | Microprocessor | |
| KR100240108B1 (en) | How to execute conditional branch instruction in digital signal processor | |
| JPH02176943A (en) | Microprocessor | |
| JP2003216416A (en) | Logical operation circuit | |
| JP3759742B2 (en) | Data processing device | |
| KR100298552B1 (en) | Command decoding device |