JP3117096B2 - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP3117096B2
JP3117096B2 JP04015568A JP1556892A JP3117096B2 JP 3117096 B2 JP3117096 B2 JP 3117096B2 JP 04015568 A JP04015568 A JP 04015568A JP 1556892 A JP1556892 A JP 1556892A JP 3117096 B2 JP3117096 B2 JP 3117096B2
Authority
JP
Japan
Prior art keywords
data
bit
output
pipeline
input
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.)
Expired - Fee Related
Application number
JP04015568A
Other languages
Japanese (ja)
Other versions
JPH05204748A (en
Inventor
功一 黒岩
秀之 飯野
博之 藤山
謙二 白沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP04015568A priority Critical patent/JP3117096B2/en
Publication of JPH05204748A publication Critical patent/JPH05204748A/en
Priority to US08/705,562 priority patent/US5809552A/en
Application granted granted Critical
Publication of JP3117096B2 publication Critical patent/JP3117096B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサに
係り、詳しくは、例えば、マイクロプロセッサのデータ
入出力処理の分野に用いて好適な、マイクロプロセッサ
にデータをロード、あるいはマイクロプロセッサからの
データをストアする際に、データを加工するマイクロプ
ロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor, and more particularly to, for example, loading data into a microprocessor or data from the microprocessor, which is suitable for use in the field of data input / output processing of a microprocessor. The present invention relates to a microprocessor that processes data when storing data.

【0002】近年、マイクロプロセッサの処理できるデ
ータ量は飛躍的に増加しており、また、外部記憶装置も
大容量化・高速化が実現されている。例えば、DSP
(Digital Signal Proceser )のようなLSI(Large
ScaleIntegrated circuit)でのデータのロードまたは
ストアは、他のLSIからのアドレスに合わせるための
ラッチが複数段用意されてタイミング調整を行うだけで
あり、これはマイクロプロセッサにおいても同様であ
る。
In recent years, the amount of data that can be processed by a microprocessor has been dramatically increased, and the capacity and speed of an external storage device have been increased. For example, DSP
LSI (Large) such as (Digital Signal Proceser)
When data is loaded or stored in a Scale Integrated circuit, only a plurality of latches for adjusting to an address from another LSI are prepared and timing adjustment is performed, and the same applies to a microprocessor.

【0003】すなわち、ベクトル処理を行うマイクロプ
ロセッサの場合、データが処理しやすいように並んでい
れば処理性能は向上するが、データをそのまま入力する
ような構成であると、命令によっては処理速度低下を招
くこともある。そこで、マイクロプロセッサがLSI内
部にデータレジスタを内蔵し、そのデータを用いて処理
を行うタイプのプロセッサである場合、外部記憶装置か
らデータレジスタに大量のデータを高速にロードすると
ともに、そのデータを高速に処理し、外部記憶装置に大
量のデータを高速ストアすることが必要となり、また、
外部記憶装置の高速化と高周波数においても1クロック
アクセスが容易となってきた今日では、プロセッサ内部
の処理スピードの向上が要求される。
[0003] That is, in the case of a microprocessor that performs vector processing, the processing performance is improved if the data is arranged so as to be easily processed. However, if the data is input as it is, the processing speed may be reduced depending on the instruction. May be invited. Therefore, when a microprocessor is a type of processor in which a data register is built in an LSI and performs processing using the data, a large amount of data is loaded into the data register from an external storage device at a high speed, and the data is transferred at a high speed. It is necessary to process a large amount of data in an external storage device at high speed.
Today, with the speeding up of external storage devices and the ease of accessing one clock even at high frequencies, it is required to improve the processing speed inside the processor.

【0004】さらに、この場合、複数段のラッチで構成
される回路の故障をすぐに検出することが必要となる。
Further, in this case, it is necessary to immediately detect a failure of a circuit composed of a plurality of stages of latches.

【0005】[0005]

【従来の技術】従来のこの種のマイクロプロセッサとし
ては、例えば、図15に示すような入出力装置を備えた
ものがある。このマイクロプロセッサの入出力装置3
は、外部記憶装置1とデータレジスタ2との間に設けら
れたロードパイプラインLPと、ストアパイプラインS
Pとからなり、各パイプラインLP,SPはそれぞれ複
数のラッチLから構成されている。
2. Description of the Related Art As a conventional microprocessor of this kind, for example, there is a microprocessor having an input / output device as shown in FIG. I / O device 3 of this microprocessor
Are a load pipeline LP provided between the external storage device 1 and the data register 2, and a store pipeline S
P, and each of the pipelines LP and SP is composed of a plurality of latches L.

【0006】以上の構成において、ロードを行う場合、
例えば、アドレスと同期をとるため、適切なロードタイ
ミングとなるように、外部記憶装置1から出力されるデ
ータがロードパイプラインLP中の複数段のラッチLで
遅延され、マイクロプロセッサ内部のデータレジスタ2
に入力されることによりデータロードがなされる。ま
た、ストアの場合も同様に、ストアパイプラインSP中
の複数段のラッチLによりデータ出力のタイミングが調
整され、データストアがなされる。
In the above configuration, when loading,
For example, in order to synchronize with an address, data output from the external storage device 1 is delayed by a plurality of stages of latches L in the load pipeline LP so that appropriate load timing is obtained.
, Data loading is performed. Similarly, in the case of store, the data output timing is adjusted by a plurality of stages of latches L in the store pipeline SP, and data storage is performed.

【0007】以下、その動作例を詳しく説明する。図1
6は従来マイクロプロセッサの入出力装置の動作例を説
明するための図であり、図17に示すように、4つのパ
イプライン(MLT,ADD,DIV,L/Sパイプラ
イン)を並列に作動させるためにデータレジスタ2を4
バンク構成としたものである。なお、図16中、V0〜
V7のデータとしては、64ビットデータを想定してい
る。
Hereinafter, the operation example will be described in detail. FIG.
FIG. 6 is a diagram for explaining an operation example of the input / output device of the conventional microprocessor. As shown in FIG. 17, four pipelines (MLT, ADD, DIV, L / S pipeline) are operated in parallel. Data register 2 to 4
This is a bank configuration. In addition, in FIG.
It is assumed that 64-bit data is used as V7 data.

【0008】この場合、データレジスタ2は、各バンク
の競合を回避するために4つのバンクスロット信号a,
b,c,dに対して各パイプラインのリード/ライトの
スロットを固定しており、すなわち、バンクスロットは
各パイプラインがベクトルオペランドの最初のエレメン
トをアクセスするタイミングと一致している。図17は
バンクスロット及びデータレジスタのバンク上の動作と
各パイプラインのアクセスするバンクの関係とを示し、
表1及び図18は各パイプラインと使用できるバンクス
ロットとの関係を示す。
In this case, the data register 2 has four bank slot signals a,
The read / write slot of each pipeline is fixed for b, c, and d, that is, the bank slot coincides with the timing at which each pipeline accesses the first element of the vector operand. FIG. 17 shows the operation of the bank slot and the data register on the bank and the relationship between the banks accessed by each pipeline,
Table 1 and FIG. 18 show the relationship between each pipeline and available bank slots.

【0009】[0009]

【表1】 [Table 1]

【0010】すなわち、例えば、MLTパイプラインの
リードポートとしては、aスロットが使用されるため、
aスロットがデータレジスタのバンク0にあるタイミン
グで動作が開始され、0→1→2→3の順でデータレジ
スタのバンクアクセスが行われる。このように、バンク
アクセスの開始点が固定の場合(この場合、バンク
0)、図16に示すように、バンクが4つあるためにア
クセスの開始から4バンク分は連続にアクセスされる。
That is, for example, as a read port of the MLT pipeline, a slot is used,
The operation starts when the slot a is in the bank 0 of the data register, and the bank access of the data register is performed in the order of 0 → 1 → 2 → 3. As described above, when the starting point of the bank access is fixed (in this case, bank 0), as shown in FIG. 16, since there are four banks, four banks are continuously accessed from the start of the access.

【0011】このように、所定のバンクスロット信号が
バンク0にあるタイミングで、ラッチ0からアドレスが
出力されるようにアドレス生成部により制御され、1サ
イクル毎にラッチ1,ラッチ2,ラッチ3にラッチさ
れ、4バンクのデータが1サイクル毎にV0,V1,V
2,V3と出力される。読み出すデータ長が4より多い
場合には、アドレスはインクリメントされて、V4,V
5,V6,V7が順次出力され、以下前述した動作と同
様の動作が行われる。
As described above, at the timing when a predetermined bank slot signal is in bank 0, the address generation unit controls so that the address is output from latch 0, and latch 1 is supplied to latch 1, latch 2 and latch 3 every cycle. Latched, and the data of 4 banks are stored in V0, V1, V
2 and V3 are output. If the data length to be read is greater than 4, the address is incremented and V4, V
5, V6, and V7 are sequentially output, and the same operation as that described above is performed.

【0012】このように、アドレスを与えてバンク分け
されたデータレジスタをアクセスする場合、固定バンク
アクセス開始点からバンク数分のデータが出力されるわ
けであるが、なぜ、任意のアクセス(例えば、1つや2
つのアクセス)を行わないかというと、例えば、バンク
0からアクセスを行い、バンク1までアクセスし、次回
のアクセスでバンク2からアクセスを開始しようとした
場合、並列動作を行っている他のパイプラインがバンク
2を使用していないかどうかを確認しながらバンク2の
データを出力しなくては、データの競合が起きてしまう
ためであり、どのパイプラインがどのバンクを使用して
いるか常に監視する必要性から回路が複雑になるととも
に、制御が困難となるためである。
As described above, when accessing a data register divided into banks by giving an address, data corresponding to the number of banks is output from the fixed bank access start point. One or two
For example, if access is performed from bank 0, access to bank 1 is attempted, and access is to be started from bank 2 in the next access, other pipelines operating in parallel Since it is necessary to output data of bank 2 while checking whether or not bank 2 is using bank 2, data conflict occurs. Therefore, it always monitors which pipeline is using which bank. This is because the necessity complicates the circuit and makes the control difficult.

【0013】ここで、マイクロプロセッサにデータ変換
命令として、例えば、32ビット浮動小数点データを6
4ビット浮動小数点データに変換する命令があるものと
する。すると、外部記憶装置1からデータレジスタ2に
データを格納する場合、例えば、図19に示すように、
D0,D1のペアで格納されているデータがD0,D4
に、D2,D3のペアで格納されているデータがD1,
D5に、・・・といったように並び換えられてロードが
行われる。
Here, as a data conversion instruction to the microprocessor, for example, 32-bit floating-point data
It is assumed that there is an instruction for converting to 4-bit floating point data. Then, when data is stored in the data register 2 from the external storage device 1, for example, as shown in FIG.
Data stored as a pair of D0 and D1 is D0, D4
The data stored in the pair of D2 and D3 is D1,
Loading is performed by rearranging the data into D5 and so on.

【0014】次に、どうして32ビット浮動小数点デー
タが並び換えられるかを図20に基づいて説明する。な
お、図16のデータレジスタ2の構成では、V0〜V7
を64ビットと想定して説明したが、図20の入出力装
置では、データ変換命令に対する説明の便宜のため、6
4ビット幅のレジスタ長を持つデータレジスタ2に32
ビット浮動小数点データが2つずつ、計8個格納されて
いるものとする。
Next, the reason why the 32-bit floating point data is rearranged will be described with reference to FIG. Incidentally, in the configuration of the data register 2 in FIG.
Is assumed to be 64 bits. However, in the input / output device of FIG.
32 in data register 2 having a register length of 4 bits
It is assumed that a total of eight pieces of bit floating point data are stored, two each.

【0015】すなわち、図20は、図19に示す外部記
憶装置1に格納された32ビットの連続データをそのま
まデータレジスタ2に格納するのと同等な図であり、つ
まりは格納データをそのままロードした例である。ま
ず、図19に示す格納データを用いて32ビット浮動小
数点データを64ビット浮動小数点データに変換するデ
ータ変換命令を実行した場合、データ変換命令は図17
に示すADDパイプラインにより実行される。
FIG. 20 is a diagram equivalent to storing the 32-bit continuous data stored in the external storage device 1 shown in FIG. 19 in the data register 2 as it is, that is, the stored data is loaded as it is. It is an example. First, when a data conversion instruction for converting 32-bit floating point data to 64-bit floating point data is executed using the stored data shown in FIG.
Is executed by the ADD pipeline shown in FIG.

【0016】ADDパイプラインでは、表1、及び図1
8に示すように、bスロットのタイミングでバンク0か
ら順次データが読み出され、図21に示すタイミング
で、最初にS0のデータが、次にS2,S4,S6の順
にS0のデータから4バンク分のデータが読み出されて
ADDパイプラインにデータが入力され、64ビットに
変換されたデータがADDパイプラインから出力され
る。
In the ADD pipeline, Table 1 and FIG.
As shown in FIG. 8, data is sequentially read from the bank 0 at the timing of the slot b. At the timing shown in FIG. 21, the data of S0 is first, then S2, S4, and S6. The minute data is read, the data is input to the ADD pipeline, and the 64-bit converted data is output from the ADD pipeline.

【0017】なお、ADDパイプラインでは、1サイク
ルで1つの変換しか行われないため、64ビット幅のデ
ータの半分、すなわち32ビット分しか一度に処理しな
い。つまり、64ビット幅に32ビットデータを2つ格
納するのは、データレジスタの有効利用のためである。
Since only one conversion is performed in one cycle in the ADD pipeline, only half of the 64-bit width data, that is, 32 bits are processed at a time. That is, the reason why two 32-bit data are stored in the 64-bit width is to effectively use the data register.

【0018】このように変換命令で処理されたデータ
は、バンクの読み出し時と同様な理由で、書き込みにお
いてもバンクアクセスを行う開始点は固定であり、4バ
ンク分は1サイクル毎に連続で書き込まれ、図22に示
すように、データレジスタ2に格納されるため、変換処
理されたデータはS0,S2,S4,S6の順序でデー
タレジスタ2に書き込まれる。
For the data processed by the conversion instruction as described above, the starting point of the bank access is fixed also in the writing for the same reason as in the reading of the bank, and the data for four banks are written continuously every cycle. Then, as shown in FIG. 22, since the data is stored in the data register 2, the converted data is written to the data register 2 in the order of S0, S2, S4, and S6.

【0019】また、図23は従来マイクロプロセッサの
入出力装置における試験構成を示すブロック図であり、
従来、マイクロプロセッサ内の複数のレジスタを試験す
る場合、通常、各パイプラインLP,SP内のラッチL
をそれぞれスキャンパスでつないでデータを読み出すこ
とによりレジスタの内容をチェックしていた。
FIG. 23 is a block diagram showing a test configuration in an input / output device of a conventional microprocessor.
Conventionally, when testing a plurality of registers in a microprocessor, a latch L in each pipeline LP, SP is usually used.
Are connected to each other by a scan path to read the data, thereby checking the contents of the register.

【0020】[0020]

【発明が解決しようとする課題】しかしながら、このよ
うな従来のマイクロプロセッサにあっては、外部記憶装
置1からデータレジスタ2内にデータを格納する場合、
データ変換処理後の処理結果をそのままデータレジスタ
2に書き込むという構成となっていたため、以下に述べ
るような問題点があった。
However, in such a conventional microprocessor, when data is stored in the data register 2 from the external storage device 1,
Since the processing result after the data conversion processing is written in the data register 2 as it is, there are the following problems.

【0021】すなわち、処理結果がそのままデータレジ
スタ2に書き込まれてしまうと、データレジスタ2のデ
ータ値を外部記憶装置1にストアする際、処理したデー
タの順番と外部記憶装置1に並んでいるデータの順番と
が異なるため、ストアのためにバンクの読み出しを行う
と、1サイクル毎にS0,S2,S4,S6の順に読み
出され、その後にS1,S3,S5,S7が読み出され
る。
That is, if the processing result is written to the data register 2 as it is, when the data value of the data register 2 is stored in the external storage device 1, the order of the processed data and the data arranged in the external storage device 1 Is different from the order, when the bank is read for storage, S0, S2, S4, and S6 are read in every cycle, and S1, S3, S5, and S7 are read thereafter.

【0022】ここで、外部記憶装置1にS0,S1,S
2,・・・,S7とストアを行おうとすると、ストアパ
イプラインで複雑に順番を組み換える必要性があり、組
み換えのために無駄な処理時間を費やすという問題点が
あった。また、データ変換命令をADDパイプラインで
実行する際、処理するデータを外部記憶装置1内のデー
タ並びと同じ順番で行おうとすると、まず、バンク0か
らアクセスを開始してバンク0にあるS0を読み出し、
次にS1を処理する場合は、ADDパイプラインに入力
されるデータは1サイクルで1つであるという限定条件
があるため、S1をS0と同時に読み出してもADDパ
イプラインには入力できず、4バンクアクセスを行って
からアドレスを更新しないで再度同じバンクアクセスを
行ってS1を読み出してADDパイプラインに入力すれ
ば、外部記憶装置1と同じ順序で処理を実現することが
できる。
Here, S0, S1, and S are stored in the external storage device 1.
If the store is to be performed with S2,..., S7, it is necessary to rearrange the order in a store pipeline in a complicated manner, and there is a problem that wasteful processing time is spent for the rearrangement. Further, when executing a data conversion instruction in the ADD pipeline, if data to be processed is to be executed in the same order as the data arrangement in the external storage device 1, first, access is started from the bank 0 and S0 in the bank 0 is started. reading,
Next, when S1 is processed, there is a limited condition that one data is input to the ADD pipeline in one cycle. Therefore, even if S1 is read simultaneously with S0, it cannot be input to the ADD pipeline. If the same bank access is performed again without updating the address after performing the bank access and S1 is read and input to the ADD pipeline, the processing can be realized in the same order as the external storage device 1.

【0023】しかし、S0の処理を行ってS1の処理を
行うまでの間、バンク1,2,3からそれぞれデータが
読み出されているものの、その間の処理は行われておら
ず、プロセッサの処理性能の低下を招くという新たな問
題点が生じることになる。また、従来の試験方法にあっ
ては、スキャンパスを用いて全てのレジスタのチェック
を行うという構成となっており、試験時間はレジスタの
ビット長に比例して長くなるため、マイクロプロセッサ
の取り扱うビット長が長くなってきている今日において
は、ますます試験時間が長くなり、試験コストが上昇す
るという問題点があった。
However, while data is read from the banks 1, 2, and 3 until the processing of S0 is performed until the processing of S1, the processing is not performed during that time. There is a new problem of deteriorating the performance. Further, in the conventional test method, all registers are checked using a scan path, and the test time becomes longer in proportion to the bit length of the register. In today's growing length, there has been a problem that the test time has become longer and the test cost has increased.

【0024】 [目的] そこで本発明は、データレジスタにロードまたはストア
するデータを並び換えてあらゆる命令に対して処理手順
を最適化するとともに、試験時間の短縮化を図ったマイ
クロプロセッサを提供することを目的としている。
[Object] Accordingly, the present invention provides a microprocessor that rearranges data to be loaded or stored in a data register to optimize a processing procedure for all instructions and to shorten a test time. It is an object.

【0025】[0025]

【課題を解決するための手段】本発明によるマイクロプ
ロセッサは上記目的達成のため、請求項1に記載の発明
は、外部記憶装置とデータのやり取りを行うマイクロプ
ロセッサにおいて、前記外部記憶装置からのデータを保
持するm(mは正の整数)ビット幅のデータ保持手段
と、前記外部記憶装置からのデータを前記データ保持手
段へロードするデータ入力手段と、前記データ保持手段
からのデータを前記外部記憶装置へストアするデータ出
力手段とを備え、前記データ入力手段が、前記外部記憶
装置からのm/n(nは正の整数、かつ、m≧n)ビッ
ト幅のデータを、前記データ保持手段のk個(kは正の
整数)の各mビット幅のmビット側から又は0ビット側
から の各m/nビット部分にk個のデータを連続して格
納し、次に該k個の各mビット幅のmビット側から又は
0ビット側からの2番目の各m/nビット部分にk個の
データを連続して格納し、同様なデータの格納を繰り返
して該k個の各mビット幅のmビット側から又は0ビッ
ト側からの最後の各m/nビット部分にk個のデータを
連続して格納した後は、次のk個の各mビット幅に同様
にデータを格納することによってデータをロードすると
ともに、前記データ出力手段が、前記データ保持手段に
所定の順序で連続して格納されたデータを、該データが
前記外部記憶装置に格納されていた順序で該外部記憶装
置にストアすることを特徴としている。
SUMMARY OF THE INVENTION A microprocessor according to the present invention achieves the above object and has the features as set forth in claim 1.
Is a microprocessor for exchanging data with an external storage device, comprising: a data holding unit having m (m is a positive integer) bit width for holding data from the external storage device; Data input means for loading data into the data storage means; and data output means for storing data from the data storage means into the external storage device, wherein the data input means includes m / n (n Is a positive integer, and m ≧ n) bits of data is stored in k data storage units (k is a positive integer) .
Integer) from the m-bit side of each m-bit width or the 0-bit side
K data are successively stored in each m / n bit part from
And then from the m-bit side of each of the k m-bit widths or
In each of the second m / n bits from the 0-bit side, k
Stores data continuously and repeats storing similar data
From the m-bit side of each of the k m-bit widths or 0 bits
K data in the last m / n bits from the
After successive storage, the same applies to each of the next k m-bit widths.
When loading data by storing the data in
In both cases, the data output means is connected to the data holding means.
Data stored continuously in a predetermined order is
The external storage devices are stored in the order stored in the external storage device.
It is characterized in that it is stored in a store.

【0026】また、請求項2に記載の発明は、請求項1
記載のマイクロプロセッサにおいて、前記データ入力手
段と前記データ出力手段の各々が、データの上位側又は
下位側を選択する複数のセレクタを有することを特徴と
している。 また、請求項3に記載の発明は、請求項1記
載のマイクロプロセッサにおいて、LSI外部ピンを設
けるとともに、前記データ入力手段の入力と前記データ
出力手段の出力とが接続されるラッチを設け、該外部ピ
ンに入出力切り換え信号を与えることにより、該ラッチ
への試験用データの入出力を制御することを特徴として
いる。 また、請求項4に記載の発明は、請求項3記載の
マイクロプロセッサにおいて、前記データ入力手段と前
記データ出力手段の各々が、セレクタを介して演算器及
び前記データ保持手段と接続されることを特徴としてい
る。
The invention described in claim 2 is the first invention.
The microprocessor of any of the preceding claims, wherein said data entry means is
Each of the stage and the data output means is provided with an upper side of data or
Characterized by having a plurality of selectors for selecting the lower side
are doing. The invention described in claim 3 is the same as the invention described in claim 1.
LSI external pins are set in the microprocessor
The data input means and the data
A latch connected to the output of the output means;
By providing an input / output switching signal to the
Control input and output of test data to
I have. The invention described in claim 4 is the same as the invention described in claim 3.
In the microprocessor, the data input means and the
Each of the data output means is connected to an arithmetic unit and a selector via a selector.
And connected to the data holding means.
You.

【0027】また、請求項5に記載の発明は、請求項3
記載のマイクロプロセッサにおいて、前記データ入力手
段の出力と前記データ出力手段の入力が、セレクタを介
して接続されることを特徴としている。 また、請求項6
に記載の発明は、請求項3記載のマイクロプロセッサに
おいて、前記データ入力手段の最終段にラッチを設け、
該入力手段に入力される最初のデータを該ラッチに第1
の演算用データとして固定して演算器へ出力し、前記デ
ータ入力手段に入力される以後のデータを第2の演算用
データとして順次演算器 へ出力することを特徴としてい
る。 また、請求項7に記載の発明は、請求項3記載のマ
イクロプロセッサにおいて、前記データ入力手段におい
て、試験コードに基づいてセレクタにおけるデータのス
ワップ処理を行うことにより、該セレクタの動作を試験
することを特徴としている。
The invention described in claim 5 is the same as the invention described in claim 3.
The microprocessor of any of the preceding claims, wherein said data entry means is
The output of the stage and the input of the data output means are connected via a selector.
It is characterized by being connected. Claim 6
The invention described in (3) provides the microprocessor according to claim 3
Wherein a latch is provided at the last stage of the data input means,
The first data input to the input means is stored in the latch as the first data.
The data is fixed and output to the computing unit as
Data input to the data input means for the second operation
It is characterized in that it is sequentially output as data to the arithmetic unit .
You. Further, the invention according to claim 7 is a method according to claim 3.
In the microprocessor, the data input means
Of the data in the selector based on the test code
Test the operation of the selector by performing a wap process
It is characterized by doing.

【0028】[0028]

【作用】本発明では、データ入力手段及びデータ出力手
により、外部記憶装置からデータ保持手段へデータを
ロードする際には、外部記憶装置からのm/nビット幅
のデータをパイプライン処理に適した所定の順序で連続
してロードし、データ保持手段から外部記憶装置へデー
タをストアする際には、パイプライン処理に適した所定
の順序で連続して格納されたデータを外部記憶装置に格
納されていた順序でストアされ、データ並びの組み換え
が行われる。
According to the present invention, data input means and data output means are provided.
The stage, when loading data from the external storage device to the data holding means, and load continuously in a predetermined order suitable data of m / n-bit width from the external storage device in pipeline processing, data retention When storing data from the means to the external storage device, data stored continuously in a predetermined order suitable for pipeline processing is stored in the order stored in the external storage device, and rearrangement of the data arrangement is performed. Done.

【0029】すなわち、マイクロプロセッサの命令に対
して最適となるデータ配列が得られるため、プロセッサ
の性能が充分に発揮され、あらゆる命令に対して処理手
順が最適化される。また、試験時においては、データ入
力手段の入力とデータ出力手段の出力とを接続するラッ
チを設け、外部ピンを介して与えられる切り換え信号に
よりラッチへの試験用データの入出力が制御されるた
め、短サイクルで容易にプロセッサ内部の試験が行わ
れ、試験時間の短縮化が図られる。
That is, since a data array that is optimal for the instructions of the microprocessor is obtained, the performance of the processor is sufficiently exhibited, and the processing procedure is optimized for every instruction. Also, at the time of testing, a latch is provided for connecting the input of the data input means and the output of the data output means, and the input / output of test data to / from the latch is controlled by a switching signal provided via an external pin. The test inside the processor is easily performed in a short cycle, and the test time is shortened.

【0030】[0030]

【実施例】以下、本発明を図面に基づいて説明する。図
1〜3は本発明に係るマイクロプロセッサの一実施例を
示す図であり、図1は本実施例の要部構成を示すブロッ
ク図である。まず、構成を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings. 1 to 3 are diagrams showing an embodiment of a microprocessor according to the present invention, and FIG. 1 is a block diagram showing a main part configuration of the present embodiment. First, the configuration will be described.

【0031】なお、図1において、図15に示した従来
例に付された番号と同一番号は同一部分を示す。本実施
例のマイクロプロセッサは、大別して、外部記憶装置
1、データ保持手段であるデータレジスタ2、データ入
力手段及びデータ出力手段である入出力装置3、端子4
からなり、入出力装置3は、ロードパイプラインLP、
ストアパイプラインSP、制御回路CCから構成されて
いる。
In FIG. 1, the same reference numerals as those of the conventional example shown in FIG. 15 indicate the same parts. The microprocessor of this embodiment is roughly divided into an external storage device 1, a data register 2 as data holding means, and a data input / output device.
Input / output device 3 as input means and data output means , terminal 4
The input / output device 3 includes a load pipeline LP,
It comprises a store pipeline SP and a control circuit CC.

【0032】図2は図1のロードパイプラインの概略構
成を示す図である。ロードパイプラインLPは、図2に
示すように、複数のラッチR1,R2,R3U,R3
L,R4U,R4L,R5U,R5L,R6と、複数の
セレクタS1〜S8とから構成されている。なお、図
中、LLはI/O部のラッチであり、DIはラッチLL
から出力されたデータ、DIUはその上位側(MSB)
の32ビットデータ、DILはその下位側(LSB)の
32ビットデータである。
FIG. 2 is a diagram showing a schematic configuration of the load pipeline of FIG. As shown in FIG. 2, the load pipeline LP includes a plurality of latches R1, R2, R3U, R3.
L, R4U, R4L, R5U, R5L, R6 and a plurality of selectors S1 to S8. In the figure, LL is a latch of the I / O unit, and DI is a latch LL.
The data output from the DIU is the upper side (MSB)
, And DIL is the lower-order (LSB) 32-bit data.

【0033】また、DはS1,S2から出力した64ビ
ットデータであり、DUはその上位側(MSB,S1の
出力)の32ビットデータで、DLは下位側(LSB,
S2の出力)の32ビットデータである。ロードパイプ
ラインLPにおけるセレクタのセレクト条件を表2に示
す。なお、以下に記載されるロードストアフラグとは、
データのロード又はストアの際に、データの並べ換えを
行うための内部信号を意味する。例えば、本実施例のよ
うに、マイクロプロセッサの内部レジスタが4つにバン
ク分けされていた場合には、4個の連続したデータを一
のバンクに割り当てるため、データを4個ずつまとめて
取り扱う必要がある。このため、この4個のデータの第
一番目のデータをA、第二番目のデータをB、第三番目
のデータをC、そして第四番目のデータをDとフラグ付
けすることによって、4個のデータを区別するととも
に、4個のずつのまとまったデータ間の区別を行うもの
である。このようにロードストアフラグは、ストライド
の方向、データの始まりの形態(本実施例ではアライ
ン、ミスアラインとして表現している)などの諸条件と
ともに、ロードパイプラインLP又はストアパイプライ
ンSP内のセレクタの選択条件の一つとなる。
D is 64-bit data output from S1 and S2, DU is 32-bit data on the upper side (output of MSB and S1), and DL is lower side (LSB and LSB).
S2 output) 32-bit data. Table 2 shows the selection conditions of the selector in the load pipeline LP. The load store flag described below is
Sort data when loading or storing data
Means an internal signal to perform. For example, in this embodiment,
As shown, the internal registers of the microprocessor
If the data is divided into four groups, four consecutive data
Data is grouped into 4
Need to be handled. For this reason, the fourth data
The first data is A, the second data is B, the third data
Data with C and the fourth data with D
To distinguish between the four data
For distinguishing between four sets of data
It is. Thus the load store flag stride
Direction, the form of the beginning of data (in this embodiment,
And misalignment).
In both cases, load pipeline LP or store pipeline
This is one of the selection conditions of the selector in the SP.

【0034】[0034]

【表2】 [Table 2]

【0035】すなわち、セレクタS1がDILを選択す
る条件は、32ビットストライド=−1の場合、また
は、32ビット幅のデータが64ビット幅の下位側に非
連続的に存在して、その下位側のデータが有効である場
合、または、ロードパイプライン試験コード‘1’の場
合であり、それ以外は、DIUを選択する。同様に、セ
レクタS2がDIUを選択する条件は、32ビットスト
ライド=−1の場合、または、32ビット幅のデータが
64ビット幅の上位側に非連続的に存在して、その上位
側のデータが有効である場合、または、ロードパイプラ
イン試験コード‘1’の場合であり、それ以外は、DI
Lを選択する。
That is, the condition that the selector S1 selects the DIL is that the 32-bit stride = −1, or that the 32-bit width data exists discontinuously at the lower side of the 64-bit width and that the lower side Is valid, or the load pipeline test code is “1”, otherwise the DIU is selected. Similarly, the condition for the selector S2 to select the DIU is that the 32-bit stride = −1, or that the 32-bit width data exists discontinuously on the upper side of the 64-bit width and that the data on the upper side Is valid, or when the load pipeline test code is “1”; otherwise, DI
Select L.

【0036】以下、セレクタS3がDUを選択する条件
は、32ビットストライド=±1、かつ、32ビットア
ライン、かつ、ロードストアフラグ=Bの場合、また
は、32ビットストライド=±1、かつ、32ビットミ
スアライン、かつ、ロードストアフラグ=Cの場合、ま
たは、ロードパイプライン試験コード‘8’の場合であ
り、一方、DLを選択する条件は、32ビットストライ
ド=±1、かつ、32ビットアライン、かつ、ロードス
トアフラグ=Aの場合、または、32ビットストライド
=±1、かつ、32ビットミスアライン、かつ、ロード
ストアフラグ=Bの場合、または、ロードパイプライン
試験コード‘9’の場合であり、それ以外は、前段ラッ
チの出力を選択する。ここで、ロードストアフラグ信号
は、ロードパイプラインLPを制御する信号であって、
詳しくは後述するが、マイクロプロセッサのデータロー
ド命令が起動されてロードパイプラインがスタートする
と、マイクロプロセッサ内部のクロックに基づいて4つ
の条件を表す信号A,B,C,Dが生成され、ロードパ
イプラインの制御に用いられるものである。
Hereinafter, the conditions for selecting DU by the selector S3 are as follows: 32-bit stride = ± 1, 32-bit aligned and load / store flag = B, or 32-bit stride = ± 1, and 32 Bit misalignment and load store flag = C or load pipeline test code '8'. On the other hand, the conditions for selecting DL are 32 bit stride = ± 1 and 32 bit alignment. And when the load store flag = A, or when the 32-bit stride = ± 1 and the 32-bit misalignment and the load store flag = B, or when the load pipeline test code is “9”. Yes, otherwise select the output of the previous stage latch. Here, the load store flag signal is a signal for controlling the load pipeline LP,
As will be described in detail later, when a data load instruction of the microprocessor is activated and the load pipeline starts, signals A, B, C, and D representing four conditions are generated based on a clock inside the microprocessor, and the load pipe is generated. This is used for line control.

【0037】セレクタS4がDUを選択する条件は、6
4ビットデータの場合、または、32ビット非連続の場
合、または、32ビットストライド=±1、かつ、32
ビットアライン、かつ、ロードストアフラグ=Aの場
合、または、32ビットストライド=±1、かつ、32
ビットミスアライン、かつ、ロードストアフラグ=Bの
場合、または、ロードパイプライン試験コード‘6’の
場合であり、一方、DLを選択する条件は、32ビット
ストライド=±1、かつ、32ビットミスアライン、か
つ、ロードストアフラグ=Aの場合、または、ロードパ
イプライン試験コード‘7’の場合であり、それ以外
は、前段ラッチの出力を選択する。
The condition for selecting the DU by the selector S4 is 6
In the case of 4-bit data, in the case of non-consecutive 32 bits, or in the case of 32 bits stride = ± 1 and 32
If bit-aligned and load-store flag = A, or 32-bit stride = ± 1 and 32
Bit misalignment and load store flag = B, or load pipeline test code '6'. On the other hand, the condition for selecting DL is that 32 bit stride = ± 1 and 32 bit miss Alignment and load store flag = A, or load pipeline test code '7', otherwise select output of previous latch.

【0038】セレクタS5がDUを選択する条件は、間
接ロード(32,64ビット)の場合、または、ロード
パイプライン試験コード‘4’または‘5’の場合であ
り、それ以外は、前段ラッチの出力を選択する。なお、
間接ロードとは、指定されたアドレスのデータに実のデ
ータのあるアドレスが格納されている場合をいう。セレ
クタS6がDUを選択する条件は、32ビットストライ
ド=±1、かつ、32ビットアライン、かつ、ロードス
トアフラグ=Dの場合、または、32ビットストライド
=±1、かつ、32ビットミスアライン、かつ、ロード
ストアフラグ=Bの場合、または、ロードパイプライン
試験コード‘5’の場合であり、一方、DLを選択する
条件は、32ビットストライド=±1、かつ、32ビッ
トアライン、かつ、ロードストアフラグ=Cの場合、ま
たは、32ビットストライド=±1、かつ、32ビット
ミスアライン、かつ、ロードストアフラグ=Dの場合、
または、ロードパイプライン試験コード‘4’の場合で
あり、それ以外は、前段ラッチの出力を選択する。
The condition that the selector S5 selects the DU is the case of indirect load (32, 64 bits) or the case of the load pipeline test code '4' or '5'. Select output. In addition,
Indirect loading refers to a case where an address having actual data is stored in data at a specified address. The conditions for selecting DU by the selector S6 are as follows: 32-bit stride = ± 1 and 32-bit aligned and load store flag = D, or 32-bit stride = ± 1 and 32-bit misaligned and , Load store flag = B, or load pipeline test code '5'. On the other hand, the conditions for selecting DL are as follows: 32-bit stride = ± 1, 32-bit aligned, and load store When the flag = C, or when the 32-bit stride = ± 1 and the 32-bit misalignment and the load / store flag = D,
Or, it is the case of the load pipeline test code '4', otherwise, the output of the preceding stage latch is selected.

【0039】セレクタS7がDUを選択する条件は、デ
ータレジスタ試験の場合、または、演算パイプライン試
験の場合、または、ロードパイプライン試験コード
‘0’,‘1’,‘2’,‘3’のいずれかの場合、ま
たは、ストアパイプライン試験コード全ての場合であ
り、それ以外は、前段ラッチの出力を選択する。セレク
タS8がDUを選択する条件は、32ビットストライド
=±1、かつ、32ビットアライン、かつ、ロードスト
アフラグ=Cの場合、または、32ビットストライド=
±1、かつ、32ビットミスアライン、かつ、ロードス
トアフラグ=Dの場合、または、ロードパイプライン試
験コード‘3’の場合であり、一方、DLを選択する条
件は、32ビットストライド=±1、かつ、32ビット
ミスアライン、かつ、ロードストアフラグ=Cの場合、
または、データレジスタ試験の場合、または、演算パイ
プライン試験の場合、または、ロードパイプライン試験
コード‘0’,‘1’,‘2’のいずれかの場合、また
は、ストアパイプライン試験コード全ての場合であり、
それ以外は、前段ラッチの出力を選択する。
The condition for selecting the DU by the selector S7 is the data register test, the operation pipeline test, or the load pipeline test codes '0', '1', '2', '3'. Or the case of all of the store pipeline test codes, and otherwise, selects the output of the pre-stage latch. The conditions under which the selector S8 selects a DU are as follows: 32-bit stride = ± 1, 32-bit aligned and load store flag = C, or 32-bit stride =
± 1 and 32-bit misalignment and load store flag = D or load pipeline test code '3'. On the other hand, the condition for selecting DL is 32-bit stride = ± 1. , And a 32-bit misalignment and the load store flag = C,
Or, in the case of a data register test, in the case of an arithmetic pipeline test, in the case of any of the load pipeline test codes '0', '1', '2', or in the case of all store pipeline test codes Is the case,
Otherwise, select the output of the preceding latch.

【0040】ロードパイプラインLPのセレクタS*
は、以上の条件で機能し、また、ロードパイプラインL
PのラッチR*は、全てインターロック付のクロックで
動作する。ここで、インターロック付のクロックとは、
外部から供給されるクロックとは別にマイクロプロセッ
サ内部で生成されるクロックである。図12に示すよう
に、インターロック付のクロックは、メモリからのデー
タアクセス終了信号(DC#X)に基づいて生成され
る。すなわち、データアクセス終了信号(DC#X)が
戻ってこない場合(図12においてDC#XがHigh
の場合)には、インターロック付のクロックは生成され
ない。図3は図1のストアパイプラインの概略構成を示
す図である。ストアパイプラインSPは、図3に示すよ
うに、複数のラッチR11,R12U,R12L,R1
3U,R13L,R14U,R14L,R15U,R1
5L,R16,R17と、複数のセレクタS11〜S2
2とから構成されている。
Selector S * of load pipeline LP
Works under the above conditions, and the load pipeline L
All the P latches R * operate with an interlocked clock. Here, the clock with an interlock is
Microprocessor separately from clock supplied from outside
This is a clock generated inside the server. As shown in FIG.
In addition, the interlocked clock
Data access end signal (DC # X)
You. That is, the data access end signal (DC # X)
When not returning (in FIG. 12, DC # X is High)
), An interlocked clock is generated
Absent. FIG. 3 is a diagram showing a schematic configuration of the store pipeline of FIG. The store pipeline SP includes a plurality of latches R11, R12U, R12L, R1 as shown in FIG.
3U, R13L, R14U, R14L, R15U, R1
5L, R16, R17 and a plurality of selectors S11-S2
And 2.

【0041】なお、図中、DSはデータレジスタ2から
の64ビットデータであり、DSUはその上位側(MS
B)の32ビットデータ、DSLはその下位側(LS
B)の32ビットデータである。また、DS5Uはラッ
チR15Uの出力、DS5LはラッチR15Lの出力、
DSIはセレクタS19の出力、DSJはセレクタS2
0の出力、DS7はラッチR17の出力であり、いずれ
も32ビットデータである。
In the figure, DS is 64-bit data from the data register 2, and DSU is on the upper side (MS
B) 32-bit data, DSL is the lower side (LS
B) is 32-bit data. DS5U is the output of latch R15U, DS5L is the output of latch R15L,
DSI is the output of the selector S19, DSJ is the selector S2
The output of 0 and DS7 are the outputs of the latch R17, each of which is 32-bit data.

【0042】ストアパイプラインSPにおけるセレクタ
のセレクト条件を表3に示す。
Table 3 shows the selection conditions of the selector in the store pipeline SP.

【0043】[0043]

【表3】 [Table 3]

【0044】すなわち、セレクタS11がDSLを選択
する条件は、32ビットデータ(間接ロード以外)、か
つ、ロードストアフラグ=Cの場合、または、ストアパ
イプライン試験コード‘8’の場合であり、それ以外
は、前段ラッチの出力を選択する。以下、S12がDS
Uを選択する条件は、32ビットデータ(間接ロード以
外)、かつ、ロードストアフラグ=Aの場合、または、
間接ストアの場合、または、ストアパイプライン試験コ
ード‘7’の場合であり、それ以外は、前段ラッチの出
力を選択する。
That is, the condition that the selector S11 selects the DSL is a case where the 32-bit data (other than the indirect load) and the load / store flag = C or a case where the store pipeline test code is “8”. Otherwise, select the output of the pre-stage latch. Hereinafter, S12 is DS
The condition for selecting U is when 32-bit data (other than indirect load) and load store flag = A, or
This is the case of the indirect store or the case of the store pipeline test code '7'. In other cases, the output of the preceding stage latch is selected.

【0045】S13がDSLを選択する条件は、32ビ
ットデータ(間接ロード以外)、かつ、ロードストアフ
ラグ=Dの場合、または、間接ストアの場合、または、
ハードパイプライン試験コード‘7’の場合であり、そ
れ以外は、前段ラッチの出力を選択する。S14がDS
Uを選択する条件は、32ビットデータ(間接ロード以
外)、かつ、ロードストアフラグ=Cの場合、または、
64ビットデータ(間接ロード以外)の場合、または、
ストアパイプライン試験コード‘5’または‘6’の場
合であり、それ以外は、前段ラッチの出力を選択する。
The condition for selecting DSL in S13 is that 32-bit data (other than indirect load) and load store flag = D, or indirect store, or
This is the case of the hard pipeline test code '7', and otherwise, the output of the preceding stage latch is selected. S14 is DS
The condition for selecting U is when 32-bit data (other than indirect load) and load store flag = C, or
For 64-bit data (other than indirect load), or
This is the case of the store pipeline test code '5' or '6'; otherwise, the output of the previous stage latch is selected.

【0046】S15がDSUを選択する条件は、32ビ
ットデータ(間接ロード以外)、かつ、ロードストアフ
ラグ=Bの場合、または、ストアパイプライン試験コー
ド‘6’の場合であり、一方、DSLを選択する条件
は、64ビットデータ(間接ロード以外)、または、ス
トアパイプライン試験コード‘5’の場合であり、それ
以外は、前段ラッチの出力を選択する。
The condition for selecting DSU in S15 is a case where 32-bit data (other than indirect load) and the load / store flag = B or a case where the store pipeline test code is “6”. The condition to be selected is the case of 64-bit data (other than indirect load) or the store pipeline test code '5'. Otherwise, the output of the preceding latch is selected.

【0047】S16がDSUを選択する条件は、ストア
パイプライン試験コード‘3’または‘4’の場合であ
り、それ以外は、前段ラッチの出力を選択する。S17
がDSLを選択する条件は、32ビットデータ(間接ロ
ード以外)、かつ、ロードストアフラグ=Dの場合、ま
たは、ストアパイプライン試験コード‘3’または
‘4’の場合であり、それ以外は、前段ラッチの出力を
選択する。
The condition for selecting the DSU in S16 is the case of the store pipeline test code '3' or '4', and otherwise selects the output of the preceding latch. S17
Selects DSL when 32-bit data (other than indirect load) and the load / store flag = D, or when the store pipeline test code is “3” or “4”. Select the output of the preceding latch.

【0048】S18がDSを選択する条件は、1クロッ
ク動作信号(DC#X信号(メモリからのデータアクセ
スの終了信号)の遅れによって発生する信号)による動
作の場合、または、32ビット非連続の場合、または、
ストアパイプライン試験コード‘0’,‘1’,‘2’
のいずれかの場合、ロードパイプライン試験コード全て
の場合であり、それ以外は、前段ラッチの出力を選択す
る。S19がDS5Uを選択する条件は、1クロック動
作信号による動作の場合、または、ストアパイプライン
試験コード‘4’の場合であり、それ以外は、前段ラッ
チの出力を選択する。
The condition for selecting DS in S18 is the case of operation by one clock operation signal (signal generated due to delay of DC # X signal (end signal of data access from memory)) or the non-continuous operation of 32 bits. Or
Store pipeline test code '0', '1', '2'
Is the case of all of the load pipeline test codes, and otherwise selects the output of the preceding stage latch. The condition for selecting DS5U in S19 is the case of the operation based on the one-clock operation signal or the case of the store pipeline test code '4'. In other cases, the output of the pre-stage latch is selected.

【0049】S20がDS5Lを選択する条件は、1ク
ロック動作信号による動作の場合、または、ストアパイ
プライン試験コード‘4’の場合であり、それ以外は、
前段ラッチの出力を選択する。S21がDSJを選択す
る条件は、32ビットストライド=−1、かつ、32ビ
ットアラインの場合、または、ストアパイプライン試験
コード‘1’の場合であり、一方、DS7を選択する条
件は、32ビットストライド=+1、かつ、32ビット
ミスアラインの場合、または、ストアパイプライン試験
コード‘2’の場合であり、それ以外は、前段ラッチの
出力を選択する。
The condition for selecting DS5L in S20 is the case of operation by one clock operation signal or the case of store pipeline test code '4'.
Select the output of the preceding latch. The condition for selecting DSJ in S21 is the case of 32-bit stride = −1 and 32-bit alignment, or the case of store pipeline test code '1'. On the other hand, the condition for selecting DS7 is 32 bits. This is the case of stride = + 1 and 32-bit misalignment, or the case of store pipeline test code '2'. Otherwise, the output of the preceding latch is selected.

【0050】S22がDSJを選択する条件は、32ビ
ット非連続の場合、または、32ビットストライド=+
1、かつ、32ビットミスアラインの場合、または、3
2ビットストライド=−1、かつ、32ビットアライン
の場合、または、ストアパイプライン試験コード‘1’
の場合であり、一方、DS7を選択する条件は、32ビ
ットストライド=+1、かつ、32ビットミスアライン
の場合、または、ストアパイプライン試験コード‘2’
の場合であり、それ以外は、前段ラッチの出力を選択す
る。
The condition for selecting DSJ in S22 is that the condition is non-consecutive 32 bits, or that the condition of 32 bits stride = +
1 and 32-bit misalignment, or 3
In the case of 2-bit stride = −1 and 32-bit alignment, or store pipeline test code “1”
On the other hand, the condition for selecting DS7 is a condition in which 32-bit stride = + 1 and 32-bit misalignment, or store pipeline test code '2'
Otherwise, the output of the preceding latch is selected.

【0051】ストアパイプラインのセレクタは、以上の
ような条件で機能し、また、ラッチR17を除くストア
パイプラインSPのラッチR**は全てインターロック
付クロックで動作し、ラッチR17だけがマスタークロ
ックで動作する。次に作用を説明する。
The selector of the store pipeline functions under the above conditions, and all the latches R ** of the store pipeline SP except the latch R17 operate with the interlocked clock, and only the latch R17 operates as the master clock. Works with Next, the operation will be described.

【0052】本実施例のマイクロプロセッサの基本動作
は、外部記憶装置1からデータレジスタ2にデータをロ
ードする場合、予めデータを図19に示すイメージでロ
ードしておくと、図4のようになる。図4に示すような
データ格納でバンクアクセスが行われてADDパイプラ
インにより処理が行われる動作を図5に示す。
The basic operation of the microprocessor according to the present embodiment is as shown in FIG. 4 when data is loaded from the external storage device 1 to the data register 2 in advance by loading the data with the image shown in FIG. . FIG. 5 shows an operation in which bank access is performed by data storage as shown in FIG. 4 and processing is performed by the ADD pipeline.

【0053】データレジスタには、図6に示すように、
外部記憶装置1にそのままストアできる順序でデータが
格納され、データを外部記憶装置1からマイクロプロセ
ッサのデータレジスタ2にロードする場合、全ての命令
で性能が向上するように32ビットデータは、必ず並び
換えられてロードされ、データレジスタ2に格納される
ことが望ましく、これがプロセッサの性能向上につなが
ると考えられる。
In the data register, as shown in FIG.
Data is stored in the external storage device 1 in an order that can be stored as it is. When data is loaded from the external storage device 1 to the data register 2 of the microprocessor, 32-bit data must be arranged so that the performance is improved for all instructions. It is desirable that the data is replaced and loaded and stored in the data register 2, which is considered to lead to an improvement in the performance of the processor.

【0054】また、処理後のデータレジスタ2のデータ
を外部記憶装置1にストアする場合、前述のデータ変換
命令では64ビットデータがそのままストアされればよ
いわけだが、32ビットデータは、必ず並び換えてスト
アされ、ロード時に並び換えられたデータを元に戻す動
作が行われる。したがって本実施例では、図19に示す
ように、外部記憶装置1からマイクロプロセッサのデー
タレジスタ2にデータを組み換えてロード、またはスト
アするものである。
When the data of the data register 2 after processing is stored in the external storage device 1, the 64-bit data need only be stored as it is in the above-described data conversion instruction. However, the 32-bit data must be rearranged. Then, an operation of restoring the data sorted and rearranged at the time of loading is performed. Therefore, in the present embodiment, as shown in FIG. 19, data is recombined and loaded or stored from the external storage device 1 to the data register 2 of the microprocessor.

【0055】まず、データの並び換えの動作を32ビッ
トデータ連続ロード(データ数8)を例に取って説明す
る。外部記憶装置1に格納されるデータの格納方法は種
々様々であり、外部記憶装置1に格納されるデータ配列
が、例えば、図7のような配列となっている場合も考え
られる。
First, the operation of rearranging data will be described with reference to an example of continuous loading of 32-bit data (8 data items). There are various methods for storing data stored in the external storage device 1, and the data array stored in the external storage device 1 may be, for example, an array as shown in FIG.

【0056】しかし、本実施例では32ビット連続のデ
ータは、いかなるデータ配列であっても、図8で示すマ
イクロプロセッサ内のデータレジスタ2のイメージよう
にデータが格納される。なお、32ビットデータの非連
続データ配列や64ビットデータ配列のロードは、32
ビットミスアラインのデータを除いてマイクロプロセッ
サ内のデータレジスタ2にそのままロードされる。
However, in this embodiment, data of 32 bits continuous data is stored as shown in the image of the data register 2 in the microprocessor shown in FIG. 8 regardless of the data arrangement. Note that loading of a non-continuous data array of 32-bit data or a 64-bit data array requires
The data is directly loaded into the data register 2 in the microprocessor except for the bit misaligned data.

【0057】以下、データのロード時の動作例を詳しく
説明する。なお、ロードするデータは、図7のに示
す、32ビット,ストライド+1,ミスアラインのデー
タを例とし、外部記憶装置1は、0ウエイト(ノーウエ
イト)のアクセスが可能な装置とし、マイクロプロセッ
サのバスタイミング方式は基本サイクル2クロックを実
行した後に1クロックでデータアクセスが可能な方式を
用いたものとする。
Hereinafter, an operation example at the time of loading data will be described in detail. The data to be loaded is, for example, data of 32 bits, stride + 1, and misalignment as shown in FIG. 7, the external storage device 1 is a device capable of accessing 0 wait (no wait), and a bus of the microprocessor. The timing method employs a method in which data can be accessed in one clock after executing two clocks in the basic cycle.

【0058】まず、図1に示すように、ロードパイプラ
インLPにおいてデータの並び換えが行われ、データレ
ジスタ2に出力される。制御には入出力装置3の制御回
路CCからの信号が用いられる。図9はロードパイプラ
インでのデータの流れを示すタイミングチャートであ
る。
First, as shown in FIG. 1, the data is rearranged in the load pipeline LP and output to the data register 2. A signal from the control circuit CC of the input / output device 3 is used for control. FIG. 9 is a timing chart showing a data flow in the load pipeline.

【0059】ロードパイプラインLPを制御する主な信
号としてはロードストアフラグ信号がある。 ロードス
トアフラグ信号は、図9に示すように、マイクロプロセ
ッサの命令のデータロード命令が起動されてロードパイ
プラインLPにスタート信号がアサートされたクロック
の立ち上がりを検出することにより、そのクロックの立
ち上がりのサイクルからA,B,C,D,A,B,C,
D,・・・とマイクロプロセッサ内部のインターロック
付クロックから、データのロードの際に、データの並べ
替えを行うための内部信号として、4つの条件を表す信
号A,B,C,Dが生成され、ロードパイプラインLP
の制御に用いられるものである。
A main signal for controlling the load pipeline LP is a load store flag signal. As shown in FIG. 9, the load store flag signal is generated by detecting the rising edge of the clock at which the data load instruction of the microprocessor is activated and the start signal is asserted to the load pipeline LP. A, B, C, D, A, B, C,
.., And signals A, B, C, and D representing four conditions are generated as internal signals for rearranging data at the time of data loading from the clock with an interlock inside the microprocessor. And load pipeline LP
Is used for the control of

【0060】なお、セレクト信号の制御に用いたデータ
のアライン・ミスアラインの情報や、32ビットでスト
ライドがいくつか等の情報はマイクロプロセッサ内の他
のユニットから提供してもらう。したがって、ロードパ
イプラインLPに入力されるX−0,1−2,3−4,
5−6,7−Xのデータは32ビット幅の各ラッチR
1,R2,R3U,R3L,R4U,R4L,R5U,
R5L,R6を介して0−4,1−5,2−6,3−7
という並びに変換され、マイクロプロセッサの命令に対
して最適となるデータ配列が得られる。
Note that information on the alignment / misalignment of the data used for control of the select signal and information on 32 bits and some stride are received from other units in the microprocessor. Therefore, X-0, 1-2, 3-4, which are input to the load pipeline LP,
The data of 5-6 and 7-X are latches R of 32 bits width.
1, R2, R3U, R3L, R4U, R4L, R5U,
0-4,1-5,2-6,3-7 via R5L, R6
In other words, a data arrangement that is converted and is optimal for the instructions of the microprocessor is obtained.

【0061】次に、データのストア時の動作例を詳しく
説明する。なお、ストアするデータは、前述のロード時
の動作説明で用いたデータをそのまま同じ条件でストア
するものとし、データレジスタ2から外部記憶装置1に
データストアする場合、図10に示すイメージとなる。
図11はストアパイプラインでのデータの流れを示すタ
イミングチャートである。
Next, an operation example when data is stored will be described in detail. The data to be stored is the same as the data used in the description of the operation at the time of loading, and is stored under the same conditions. When the data is stored from the data register 2 to the external storage device 1, the image shown in FIG. 10 is obtained.
FIG. 11 is a timing chart showing a data flow in the store pipeline.

【0062】データレジスタ2から出力された0−4,
1−5,2−6,3−7の各データはストアパイプライ
ンSPのラッチR11,R12U,R12L,R13
U,R13L,R14U,R14L,R15U,R15
L,R16,R17と、セレクタS11〜S22とで制
御され、外部記憶装置1にストアされるフォーマットで
出力される。
0-4 output from the data register 2,
The data of 1-5, 2-6, and 3-7 are stored in latches R11, R12U, R12L, and R13 of the store pipeline SP.
U, R13L, R14U, R14L, R15U, R15
It is controlled by L, R16, R17 and selectors S11 to S22, and is output in a format stored in the external storage device 1.

【0063】すなわち、ロード時と同様に、ストアパイ
プラインSPにスタート信号がアサートされたクロック
の立ち上がりを検出することにより、データのストアの
際に、データの並べ替えを行うための内部信号として、
4つの条件を表す信号A,B,C,Dが生成され、スト
アパイプラインSPの制御に用いられるものである。な
お、例えば、データの型等の情報はロードパイプライン
LPの制御と同様に、他のユニットから提供してもらう
が、データストア時には、1クロック動作信号が生成さ
れ、ストアパイプラインSPの制御に用いられる。
That is, as in the case of loading, by detecting the rising edge of the clock in which the start signal is asserted in the store pipeline SP, the data is stored as an internal signal for rearranging the data when storing the data.
Signals A, B, C, and D representing four conditions are generated and used for controlling the store pipeline SP. Note that, for example, information such as the type of data is provided from another unit in the same manner as the control of the load pipeline LP. However, at the time of data storage, a one-clock operation signal is generated, and the control of the store pipeline SP is performed. Used.

【0064】このデータストア時の1クロック動作信号
は、DC#X信号(メモリからのデータアクセスの終了
信号)の遅れによる外部記憶装置へのデータ供給の遅れ
を防止するために使用される。
The one-clock operation signal at the time of data storage is used to prevent a delay in data supply to the external storage device due to a delay in the DC # X signal (end signal of data access from the memory).

【0065】図12は1クロック動作を説明するための
タイミングチャートである。 なお、図12中、ラッチ2
は図3中のR15U,R15Lを示し、ラッチ3は図3
中のR16を示す。
FIG . 12 illustrates one clock operation.
It is a timing chart. Note that in FIG.
3 shows R15U and R15L in FIG.
R16 in the middle is shown.

【0066】図12では64ビットデータの0ウエイト
(ノーウエイト)記憶装置を想定したストアの様子であ
るが、データは、基本サイクルT 1 ,T 2 P1が実行され
てからパイプラインモード(1クロックアクセス)に入
り、アドレスとデータとは1クロック毎にマイクロプロ
セッサから出力される。
In FIG . 12, zero wait of 64-bit data
(No weight) A store that assumes a storage device
However, as for the data, the basic cycles T 1 and T 2 P1 are executed.
Before entering pipeline mode (1 clock access)
Address and data are transferred to the microprocessor every clock.
Output from Sessa.

【0067】次にロードパイプラインLP、及びストア
パイプラインSPの試験について説明する。 セレクタや
ラッチを含むLSI試験の場合、スキャンパスの読み出
しによる故障解析がよく行われるが、セレクタやラッチ
の数が多くなってくると試験時間が長くなるため、短時
間で故障が検出できる試験が望まれている。
Next, load pipeline LP and store
The test of the pipeline SP will be described. Selector and
In case of LSI test including latch, read scan path
Failure analysis is often performed by using a selector or latch.
As the number of test items increases, the test time becomes longer.
There is a need for a test that can detect a failure between the two.

【0068】本発明の入出力装置は、試験コードをレジ
スタに設定し、その値をデコードすることにより、通常
パスのセレクタの開閉を行い、レジスタに通常通りラッ
チさせてデータバスを介して試験データを直ぐに読み出
せるようにしている。
The input / output device of the present invention stores a test code in a cash register.
By setting the value and decoding the value
Opens and closes the path selector and stores it in the register as usual.
And read the test data immediately via the data bus.
I try to make it.

【0069】また、与えるデータは、LSI外部ピンに
入出力切換信号を印加する専用の端子4を設け、端子4
をアサートすると、データがロード時と同じ状態、すな
わち、外部からデータを与えることが可能となり、ネゲ
ート状態である場合、データはストア時と同じ状態、す
なわち、データがプロセッサから出力されるように機能
する。
For the data to be provided, a dedicated terminal 4 for applying an input / output switching signal to an external pin of the LSI is provided.
When asserted, data can be given the same state as when loading, that is, externally given data, and if it is negated, data can be given the same state as when storing, that is, data can be output from the processor. I do.

【0070】図13は本実施例での試験時の動作を説明
するためのブロック図である。具体的にロードパイプラ
インLPを例に取り、図2及び表2(ロードパイプライ
ンLPのセレクト条件)を参考にして試験時の動作を説
明する。まず、ロードパイプラインLPの試験コード
‘0’が設定されると、ロードパイプラインLPの最も
出力側のラッチR5U,R5Lのデータが入力され、ス
トアパイプラインSPの最も出力側のラッチR16を介
して入出力ラッチ5からデータが読み出される。
FIG. 13 is a block diagram for explaining the operation at the time of testing in this embodiment. Specifically, taking the load pipeline LP as an example, the operation during the test will be described with reference to FIG. 2 and Table 2 (selection conditions of the load pipeline LP). First, when the test code “0” of the load pipeline LP is set, the data of the latches R5U and R5L on the most output side of the load pipeline LP are input, and are transmitted via the latch R16 on the most output side of the store pipeline SP. Thus, data is read from the input / output latch 5.

【0071】次に、ロードパイプラインLPの試験コー
ド‘1’が設定されると、ロードパイプラインLPのセ
レクタS1でデータのスワップが行われ、試験コード
‘0’の場合と同様に、最も出力側のラッチR5U,R
5Lでデータが入力され、ストアパイプラインSPのラ
ッチR16で一段ラッチされて入出力ラッチ5から読み
出される。
Next, when the test code "1" of the load pipeline LP is set, the data is swapped by the selector S1 of the load pipeline LP, and the output signal is output as in the case of the test code "0". Side latch R5U, R
Data is input at 5L, latched one stage by latch R16 of store pipeline SP, and read from input / output latch 5.

【0072】すなわち、試験コード‘1’によりロード
パイプラインLPのセレクタS1が故障していないかど
うかがチェックされる。このように、ロードパイプライ
ンLPの全てのセレクタS1〜S8のセレクト条件に試
験コードがからんでいるので、試験コードを変化させる
ことで任意のデータを入力するとともに、このデータを
読み出すことによってロードパイプラインLPの全ての
ラッチ及びセレクタのチェックをすることが可能とな
る。
That is, whether or not the selector S1 of the load pipeline LP has failed is checked by the test code '1'. As described above, since the test code is entangled in the selection conditions of all the selectors S1 to S8 of the load pipeline LP, arbitrary data is input by changing the test code, and the load pipe is read by reading this data. It is possible to check all the latches and selectors of the line LP.

【0073】これはロードパイプラインLPだけに限ら
ず、ストアパイプラインSPについても同様であり、ス
トアパイプラインSPの試験コードを設定し、ロードパ
イプラインLPを一段通ってストアパイプラインSPの
各ラッチ及びセレクタを試験することが可能である。ま
た、本発明の入出力装置に、図13に示すように、TL
セレクタ6とTSセレクタ7とが設けてあり、これら2
つのセレクタ6,7は、ロードパイプラインLP及びス
トアパイプラインSPの試験の際、ロードパイプライン
LPとストアパイプラインSPとを選択的に結合するた
めのものである。
The same is true not only for the load pipeline LP but also for the store pipeline SP. The test code of the store pipeline SP is set, and the latches of the store pipeline SP are passed through the load pipeline LP one stage. And selectors can be tested. In addition, as shown in FIG.
A selector 6 and a TS selector 7 are provided.
The two selectors 6 and 7 are for selectively coupling the load pipeline LP and the store pipeline SP when testing the load pipeline LP and the store pipeline SP.

【0074】すなわち、通常時は、ロードパイプライン
LPからデータレジスタ2へのパスが選択されて、スト
アパイプラインSPに入力されてくるデータはデータレ
ジスタからのパスが選択されている。また、マイクロプ
ロセッサ内の各演算器(図示せず)の試験を行う場合
は、ロードパイプラインLPから直接演算器に試験用の
演算データを供給するパスをTLセレクタに設け、各演
算器の試験演算結果をストアパイプラインSPから読み
出せるパスも設けてある。
That is, normally, the path from the load pipeline LP to the data register 2 is selected, and the data input to the store pipeline SP is selected from the data register. When a test is performed on each operation unit (not shown) in the microprocessor, a path for directly supplying operation data for testing from the load pipeline LP to the operation unit is provided in the TL selector, and a test of each operation unit is performed. A path through which the operation result can be read from the store pipeline SP is also provided.

【0075】このように演算器に直接データを供給し、
かつ、直接ストアする理由は、通常の動作時のように、
所定のデータがロードされたデータレジスタ2からデー
タを供給されることにより演算器によって演算が行わ
れ、この演算結果が再度データレジスタ2に格納されて
データレジスタ2の結果がストアされるパスであると、
試験時間に多大な時間がかかるとともに、もし、データ
レジスタ2に故障があった場合、演算器の試験は全く不
可能になってしまうからである。
As described above, data is directly supplied to the arithmetic unit,
And the reason for storing directly, as in normal operation,
The arithmetic unit performs an operation by supplying data from the data register 2 loaded with predetermined data, and the operation result is stored again in the data register 2 and the result of the data register 2 is stored. When,
This is because a long time is required for the test time, and if a failure occurs in the data register 2, the test of the arithmetic unit becomes impossible at all.

【0076】よって本実施例では試験時に、入出力切換
信号によりデータが入力され、演算用のデータとして被
演算データと演算データとが2つ生成されて演算パイプ
ラインに供給される。そして、演算器で演算したデータ
はTSセレクタ7を介した後、ストアパイプラインSP
を一段通って外部に出力される。
Therefore, in this embodiment, at the time of testing, data is input by an input / output switching signal, and two pieces of data to be operated and operation data are generated as operation data and supplied to the operation pipeline. After the data calculated by the arithmetic unit passes through the TS selector 7, the data is stored in the store pipeline SP.
Is output to the outside through one step.

【0077】ちなみに、図2のラッチR6は、演算器試
験時にのみ使用されるラッチであり、入出力切換信号が
入力されてデータがラッチR5U,R5Lで一段ラッチ
された後、データの第1番目がラッチR6にラッチされ
るように制御され、第一番目のデータより後に入力され
たデータはラッチR5U,R5Lにラッチされ、通常の
データレジスタ2に向かうパスに出力されてくる。した
がって、演算パイプラインの試験の場合、TLセレクタ
6において、前述の2つのパスが被演算データ及び演算
データとしてセレクトされて演算パイプラインに供給す
ることが可能である。なお、ここでいうデータは、64
ビット幅のデータであり、64ビットデータでも32ビ
ットデータが2つのデータでも構わない。
Incidentally, the latch R6 in FIG. 2 is a latch used only at the time of the operation unit test. After the input / output switching signal is input and the data is latched one stage by the latches R5U and R5L, the latch R6 is the first data. Is latched by the latch R6 , and the data input after the first data is latched by the latches R5U and R5L and output to the normal data register 2 path. Therefore, in the case of the test of the operation pipeline, it is possible for the TL selector 6 to select the two paths described above as the data to be operated and the operation data and supply the data to the operation pipeline. The data referred to here is 64
The data has a bit width, and may be two data of 64-bit data or 32-bit data.

【0078】また、演算試験結果をTSセレクタ7を介
してストアパイプラインSPにより外部に出力する手段
については、TSセレクタで選択するデータが異なる以
外、ロードパイプラインLPの試験時と同様である。図
14はパイプライン段数2段のADDパイプラインを試
験する場合の入出力装置の動作を示すタイミングチャー
トである。
The means for outputting the operation test result to the outside by the store pipeline SP via the TS selector 7 is the same as that at the time of testing the load pipeline LP, except that the data selected by the TS selector is different. FIG. 14 is a timing chart showing the operation of the input / output device when testing an ADD pipeline having two pipeline stages.

【0079】ここでは被演算データがラッチR6で1回
ラッチされて固定となっているが、ラッチR5と同様に
毎サイクル切り換えてもよい。これによって演算器は、
通常通りの動作をしていてストアされたデータで結果を
確認することができる。このように本実施例では、マイ
クロプロセッサにおける全ての命令でプロセッサの発揮
できる性能を無駄にすることなく、マイクロプロセッサ
のデータレジスタ2にデータがロードまたはデータレジ
スタ2のデータがストアされる。
Here, the data to be operated is latched once by the latch R6 and fixed, but may be switched every cycle similarly to the latch R5. This allows the arithmetic unit to:
You can check the result with the stored data that is operating normally. As described above, in the present embodiment, data is loaded into the data register 2 or stored in the data register 2 without wasting the performance of the processor with all instructions in the microprocessor.

【0080】また、試験時において短サイクルで故障箇
所が検出可能となり、プロセッサ内部の試験であっても
短いサイクルで結果を読み出せるパスが設けられること
で容易に試験が行われる。
Further, a fault location can be detected in a short cycle at the time of a test, and a test can be easily performed by providing a path through which a result can be read in a short cycle even in a test inside the processor.

【0081】[0081]

【発明の効果】本発明では、データ入力手段及びデータ
出力手段により、外部記憶装置からデータ保持手段へデ
ータをロードする際には、外部記憶装置からのm/nビ
ット幅のデータをパイプライン処理に適した所定の順序
で連続してロードし、データ保持手段から外部記憶装置
へデータをストアする際には、パイプライン処理に適し
た所定の順序で連続して格納されたデータを外部記憶装
置に格納されていた順序でストアされ、データ並びの組
み換えを行うことができる。
According to the present invention, data input means and data
When data is loaded from the external storage device to the data holding device by the output unit , m / n-bit-width data from the external storage device is continuously loaded in a predetermined order suitable for pipeline processing. When storing data from the holding unit to the external storage device, data stored continuously in a predetermined order suitable for pipeline processing is stored in the order stored in the external storage device, and rearrangement of the data arrangement is performed. It can be performed.

【0082】したがって、データレジスタにロードまた
はストアするデータを並び換えることで、マイクロプロ
セッサの命令に対して最適となるデータ配列を得ること
ができるため、あらゆる命令に対して処理手順を最適化
することができ、プロセッサの性能を充分に発揮させる
ことができる。また、試験時においては、データ入出力
装置のロードパイプラインLP及びストアパイプライン
SPを介して試験データを入出力するため、短サイクル
で容易にプロセッサ内部の試験ができ、試験時間を短縮
化できる。
Therefore, by rearranging the data to be loaded or stored in the data register, it is possible to obtain a data arrangement that is optimal for the instructions of the microprocessor. Thus, the performance of the processor can be sufficiently exhibited. Further, at the time of testing, since test data is input / output via the load pipeline LP and the store pipeline SP of the data input / output device, the internal test of the processor can be easily performed in a short cycle, and the test time can be reduced. .

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

【図1】本実施例の要部構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a main part of the present embodiment.

【図2】図1のロードパイプラインの概略構成を示す図
である。
FIG. 2 is a diagram showing a schematic configuration of a load pipeline of FIG. 1;

【図3】図1のストアパイプラインの概略構成を示す図
である。
FIG. 3 is a diagram showing a schematic configuration of a store pipeline of FIG. 1;

【図4】本実施例におけるデータレジスタへの書き込み
を説明するための図である。
FIG. 4 is a diagram for explaining writing to a data register in the embodiment.

【図5】本実施例における読み込み及び書き込みのタイ
ミングを示す図である。
FIG. 5 is a diagram showing read and write timings in the embodiment.

【図6】本実施例のデータレジスタに格納されるデータ
配列を示す図である。
FIG. 6 is a diagram illustrating a data array stored in a data register according to the present embodiment.

【図7】各種データ配列を示す図である。FIG. 7 is a diagram showing various data arrays.

【図8】本実施例のデータレジスタに格納されるデータ
イメージを示す図である。
FIG. 8 is a diagram illustrating a data image stored in a data register according to the present embodiment.

【図9】ロードパイプラインでのデータの流れを示すタ
イミングチャートである。
FIG. 9 is a timing chart showing a data flow in the load pipeline.

【図10】データレジスタから外部記憶装置にデータス
トアする場合のイメージを示す図である。
FIG. 10 is a diagram illustrating an image when data is stored from a data register to an external storage device.

【図11】ストアパイプラインでのデータの流れを示す
タイミングチャートである。
FIG. 11 is a timing chart showing a flow of data in a store pipeline.

【図12】1クロック動作を説明するためのタイミング
チャートである。
FIG. 12 is a timing chart for explaining one-clock operation.

【図13】本実施例での試験時の動作を説明するための
ブロック図である。
FIG. 13 is a block diagram for explaining an operation at the time of a test in this embodiment.

【図14】パイプライン段数2段のADDパイプライン
を試験する場合の入出力装置の動作を示すタイミングチ
ャートである。
FIG. 14 is a timing chart showing the operation of the input / output device when testing an ADD pipeline having two pipeline stages.

【図15】従来マイクロプロセッサの入出力装置を示す
ブロック図である。
FIG. 15 is a block diagram showing an input / output device of a conventional microprocessor.

【図16】従来マイクロプロセッサの入出力装置の動作
例を示す図である。
FIG. 16 is a diagram illustrating an operation example of an input / output device of a conventional microprocessor.

【図17】バンクスロットと演算パイプラインとにおけ
る動作例を示す図である。
FIG. 17 is a diagram illustrating an operation example in a bank slot and an operation pipeline.

【図18】データレジスタへのアクセスタイミングを説
明するための図である。
FIG. 18 is a diagram for explaining access timing to a data register.

【図19】外部記憶装置からデータレジスタにデータロ
ードする場合のイメージを示す図である。
FIG. 19 is a diagram showing an image when data is loaded from an external storage device to a data register.

【図20】従来例におけるデータレジスタへの書き込み
を説明するための図である。
FIG. 20 is a diagram for explaining writing to a data register in a conventional example.

【図21】従来例における読み込み及び書き込みのタイ
ミングを示す図である。
FIG. 21 is a diagram showing read and write timings in a conventional example.

【図22】従来例のデータレジスタに格納されるデータ
配列を示す図である。
FIG. 22 is a diagram showing a data array stored in a conventional data register.

【図23】従来マイクロプロセッサの入出力装置におけ
る試験構成を示すブロック図である。
FIG. 23 is a block diagram showing a test configuration in an input / output device of a conventional microprocessor.

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

1 外部記憶装置 2 データレジスタ(データ保持手段) 3 入出力装置(データ入力手段、データ出力手段) 4 端子 5 入出力ラッチ 6 TLセレクタ 7 TSセレクタ LP ロードパイプラインLP SP ストアパイプラインSP CC 制御回路 LL ラッチ L ラッチ Reference Signs List 1 external storage device 2 data register (data holding means) 3 input / output device (data input means, data output means) 4 terminal 5 input / output latch 6 TL selector 7 TS selector LP load pipeline LP SP store pipeline SP CC control circuit LL latch L latch

───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤山 博之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 白沢 謙二 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭59−75365(JP,A) 特開 平3−28962(JP,A) 特開 平1−84339(JP,A) 特開 昭58−145233(JP,A) 特開 昭63−250738(JP,A) 特開 平1−1050(JP,A) 実開 平3−34138(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 12/04 G06F 9/38 G06F 15/78 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Hiroyuki Fujiyama 1015 Uedanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Kenji Shirasawa 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Fujitsu Limited ( 56) References JP-A-59-75365 (JP, A) JP-A-3-28962 (JP, A) JP-A-1-84339 (JP, A) JP-A-58-145233 (JP, A) 63-650738 (JP, A) JP-A-1-1050 (JP, A) JP-A-3-34138 (JP, U) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 12 / 04 G06F 9/38 G06F 15/78

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】外部記憶装置とデータのやり取りを行うマ
イクロプロセッサにおいて、 前記外部記憶装置からのデータを保持するm(mは正の
整数)ビット幅のデータ保持手段と、 前記外部記憶装置からのデータを前記データ保持手段へ
ロードするデータ入力手段と、 前記データ保持手段からのデータを前記外部記憶装置へ
ストアするデータ出力手段とを備え、 前記データ入力手段が、前記外部記憶装置からのm/n
(nは正の整数、かつ、m≧n)ビット幅のデータを、
前記データ保持手段のk個(kは正の整数)の各mビッ
ト幅のmビット側から又は0ビット側からの各m/nビ
ット部分にk個のデータを連続して格納し、次に該k個
の各mビット幅のmビット側から又は0ビット側からの
2番目の各m/nビット部分にk個のデータを連続して
格納し、同様なデータの格納を繰り返して該k個の各m
ビット幅のmビット側から又は0ビット側からの最後の
各m/nビット部分にk個のデータを連続して格納した
後は、次のk個の各mビット幅に同様にデータを格納す
ることによってデータをロードするとともに、 前記データ出力手段が、前記データ保持手段に所定の順
序で連続して格納されたデータを、該データが前記外部
記憶装置に格納されていた順序で該外部記憶装置にスト
アすることを特徴とするマイクロプロセッサ。
1. A microprocessor for exchanging data with an external storage device, comprising: a data holding means having an m (m is a positive integer) bit width for holding data from the external storage device; Data input means for loading data into the data holding means; and data output means for storing data from the data holding means in the external storage device, wherein the data input means includes an m / m from the external storage device. n
(N is a positive integer and m ≧ n) bit width data
Each of the k (k is a positive integer) m bit
M / n bits from the m-bit side or 0-bit side of the
K data are successively stored in the
From the m-bit side or 0-bit side of each m-bit width
K data are successively provided in each second m / n bit portion
And repeats storage of the same data to obtain the k
Last bit from the m-bit side or 0-bit side of the bit width
K data are continuously stored in each m / n bit portion
Thereafter, data is similarly stored in the next k m-bit widths.
Data loading means, and the data output means transmits the data to the data holding means in a predetermined order.
Data stored consecutively in the order
The external storage device is stored in the order stored in the storage device.
A microprocessor.
【請求項2】前記データ入力手段と前記データ出力手段
の各々が、データの上位側又は下位側を選択する複数の
セレクタを有することを特徴とする請求項1記載のマイ
クロプロセッサ。
2. The microprocessor according to claim 1, wherein each of said data input means and said data output means has a plurality of selectors for selecting an upper side or a lower side of data.
【請求項3】LSI外部ピンを設けるとともに、前記デ
ータ入力手段の入力と前記データ出 力手段の出力とが接
続されるラッチを設け、該外部ピンに入出力切り換え信
号を与えることにより、該ラッチへの試験用データの入
出力を制御することを特徴とする請求項1記載のマイク
ロプロセッサ。
3. An LSI external pin is provided.
Output and the contact of the input and the data output means over data input means
Connected to input / output switching signals
Input of test data to the latch.
2. The microphone according to claim 1, wherein output is controlled.
Processor.
【請求項4】前記データ入力手段と前記データ出力手段
の各々が、セレクタを介して演算器及び前記データ保持
手段と接続されることを特徴とする請求項3記載のマイ
クロプロセッサ。
4. The data input means and the data output means
Are each provided with an arithmetic unit and the data holding through a selector.
4. The microphone according to claim 3, wherein the microphone is connected to a device.
Cloprocessor.
【請求項5】前記データ入力手段の出力と前記データ出
力手段の入力が、セレクタを介して接続されることを特
徴とする請求項3記載のマイクロプロセッサ。
5. An output of said data input means and said data output.
The input of the force means is connected via a selector.
4. The microprocessor according to claim 3, wherein
【請求項6】前記データ入力手段の最終段にラッチを設
け、該入力手段に入力される最初のデータを該ラッチに
第1の演算用データとして固定して演算器へ出力し、 前記データ入力手段に入力される以後のデータを第2の
演算用データとして順次演算器へ出力することを特徴と
する請求項3記載のマイクロプロセッサ。
6. A latch is provided at the last stage of said data input means.
The first data input to the input means to the latch.
The data is fixedly output as the first operation data and output to the operation unit, and the subsequent data input to the data input means is output as the second data.
It is characterized in that it is sequentially output to the arithmetic unit as arithmetic data
4. The microprocessor according to claim 3, wherein:
【請求項7】前記データ入力手段において、試験コード
に基づいてセレクタにおけるデータのスワップ処理を行
うことにより、該セレクタの動作を試験することを特徴
とする請求項3記載のマイクロプロセッサ。
7. The method according to claim 7, wherein said data input means includes a test code.
Swaps data in the selector based on the
Test the operation of the selector.
4. The microprocessor according to claim 3, wherein
JP04015568A 1992-01-29 1992-01-30 Microprocessor Expired - Fee Related JP3117096B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04015568A JP3117096B2 (en) 1992-01-30 1992-01-30 Microprocessor
US08/705,562 US5809552A (en) 1992-01-29 1996-08-29 Data processing system, memory access device and method including selecting the number of pipeline stages based on pipeline conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04015568A JP3117096B2 (en) 1992-01-30 1992-01-30 Microprocessor

Publications (2)

Publication Number Publication Date
JPH05204748A JPH05204748A (en) 1993-08-13
JP3117096B2 true JP3117096B2 (en) 2000-12-11

Family

ID=11892351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04015568A Expired - Fee Related JP3117096B2 (en) 1992-01-29 1992-01-30 Microprocessor

Country Status (1)

Country Link
JP (1) JP3117096B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58145233A (en) * 1982-02-24 1983-08-30 Hitachi Ltd Logical circuit provided with diagnosing circuit
JPS5975365A (en) * 1982-10-22 1984-04-28 Hitachi Ltd Vector processing device
JPS6484339A (en) * 1987-09-28 1989-03-29 Nec Corp Lsi testing circuit
JPH0328962A (en) * 1989-06-26 1991-02-07 Fujitsu Ltd Alignment control system using scoreboard

Also Published As

Publication number Publication date
JPH05204748A (en) 1993-08-13

Similar Documents

Publication Publication Date Title
US5896529A (en) Branch prediction based on correlation between sets of bunches of branch instructions
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
JP2539974B2 (en) Register read control method in information processing apparatus
EP0240032A2 (en) Vector processor with vector data compression/expansion capability
US6343337B1 (en) Wide shifting in the vector permute unit
JPH0778738B2 (en) Digital computer system
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPH0553803A (en) Processor
US4967350A (en) Pipelined vector processor for executing recursive instructions
JPH063584B2 (en) Information processing equipment
US20020049578A1 (en) Hardware-assisted disign verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
US5283890A (en) Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
US6507928B1 (en) Processor cache system with parity protection and method of operation
JP2933027B2 (en) Multiple instruction parallel issue / execution management device
US4969117A (en) Chaining and hazard apparatus and method
JP3117096B2 (en) Microprocessor
JP2006527436A (en) Data processing apparatus and method for transferring data values between register file and memory
US4737908A (en) Buffer memory control system
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US7779236B1 (en) Symbolic store-load bypass
US5925122A (en) Data processing unit which pre-fetches instructions of different lengths to conduct processing
JPH0746323B2 (en) Main memory for compressing partial write access
US6879523B1 (en) Random access memory (RAM) method of operation and device for search engine systems
US5396640A (en) Boosting method and apparatus in a parallel computer
EP1050800A1 (en) A pipelined execution unit

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971021

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071006

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081006

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081006

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees