JP2003296105A - Data processor - Google Patents

Data processor

Info

Publication number
JP2003296105A
JP2003296105A JP2002099014A JP2002099014A JP2003296105A JP 2003296105 A JP2003296105 A JP 2003296105A JP 2002099014 A JP2002099014 A JP 2002099014A JP 2002099014 A JP2002099014 A JP 2002099014A JP 2003296105 A JP2003296105 A JP 2003296105A
Authority
JP
Japan
Prior art keywords
address
unit
memory
signal
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002099014A
Other languages
Japanese (ja)
Inventor
Chisui Nakagawa
智水 中川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002099014A priority Critical patent/JP2003296105A/en
Publication of JP2003296105A publication Critical patent/JP2003296105A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the efficiency when loading non-placed words on a large number of contiguous addresses. <P>SOLUTION: A selector 8 selects the address of the address signal or the address with 2 added thereto based on the access number. Based on the address of the selected result, two placed words allocated to addresses are read from memories 16 and 17, and one of the two words is stored in a register 20 or 21. Selectors 22 and 23 select two non-placed words not allocated to addresses from the words stored in the register 20 or 21 in the previous access and the two placed words presently read from the memories 16 and 17. <P>COPYRIGHT: (C)2004,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、デジタル信号処
理を行うデータ処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device for digital signal processing.

【0002】[0002]

【従来の技術】デジタル信号処理を行うデータ処理装置
であるデジタルシグナルプロセッサ(DSP)の基本的
な処理は、係数とデータの積和演算である。従って、係
数とデータのためにそれぞれ別々にメモリやバスを備え
るDSPが考えられている。また別のアプローチとし
て、係数とデータのメモリやバスを共通化して、その代
わり一度に2ワードずつメモリからロードできるように
するDSPによって、平均的な処理速度において複数の
メモリとバスを備えるDSPとほぼ同等の性能を実現す
ることが考えられる。
2. Description of the Related Art The basic processing of a digital signal processor (DSP), which is a data processing device for performing digital signal processing, is a product-sum operation of coefficients and data. Therefore, a DSP having a memory and a bus for coefficients and data is considered. Another approach is to use a common memory and bus for coefficients and data so that two words can be loaded from the memory at a time, instead of a DSP having multiple memories and buses at an average processing speed. It is possible to achieve almost the same performance.

【0003】DSPのメモリには、各ワードに一つのア
ドレスが割り当てられており、連続する複数ワードは連
続する複数アドレスに格納されている。同時に2ワード
をメモリからロードするDSPでは、単純に考えれば、
連続する2つのアドレスに同時にアクセスすればよい。
In the memory of the DSP, one address is assigned to each word, and a plurality of consecutive words are stored at a plurality of consecutive addresses. With a DSP that loads two words from memory at the same time,
It is sufficient to access two consecutive addresses at the same time.

【0004】連続する2つのワードのうち、一方のワー
ドに割り当てられた小さい方のアドレス(ビット表示)
が偶数(つまり最下位ビットが0)であるような2つの
ワードに同時にアクセスする場合には問題はない。同時
にロードすべき他方のワードのアドレスは、その番号に
1を加えた番号を有するが、最下位ビットを1に変更す
るだけでそのワードを指定することができる。従って、
最下位ビットより上位のビットが共通する2アドレス上
の2ワードを同時にロードするという効率的な方法を採
用することができる。このようなワードのアドレスへの
割り当て方を以下「整置」という。
Smaller address (bit indication) assigned to one of two consecutive words
There is no problem when accessing two words at the same time such that is even (that is, the least significant bit is 0). The address of the other word to be loaded at the same time has the number added to that number, but that word can be specified simply by changing the least significant bit to 1. Therefore,
It is possible to employ an efficient method of simultaneously loading two words on two addresses in which higher bits than the least significant bit are common. The method of assigning such a word to an address is hereinafter referred to as "alignment".

【0005】しかし、連続する2つのアドレスのうち、
一方のワードに割り当てられた小さい方のアドレス(ビ
ット表示)が奇数(つまり最下位ビットが1)であるよ
うな2つのワードにアクセスする場合には問題がある。
他方のワードのアドレスは、その番号に1を加えた番号
を有するが、奇数を示すビット表示の番号に1を加える
と、最下位ビットだけでなく、より上位の一つ以上のビ
ットも変更しなければならない。このようなワードのア
ドレスへの割り当て方を以下「非整置」という。
However, of two consecutive addresses,
There is a problem in accessing two words where the smaller address (bit representation) assigned to one word is odd (ie the least significant bit is 1).
The address of the other word has a number that is one more than that number, but adding one to the number in the bit representation of an odd number changes not only the least significant bit, but also one or more of the higher bits. There must be. The method of assigning such a word to an address is hereinafter referred to as "non-alignment".

【0006】一方、一般的な形式のアドレスバスでは、
一度に一つのアドレスしか指定することができない。
On the other hand, in a general type address bus,
You can only specify one address at a time.

【0007】[0007]

【発明が解決しようとする課題】従来のデータ処理装置
は以上のように構成されているので、非整置の2ワード
を同時にロードするためには、かなりビット構成が異な
る2つのアドレスを指定するために2本のアドレスバス
が必要になるなどの課題があった。
Since the conventional data processing apparatus is configured as described above, in order to load two unaligned words at the same time, two addresses having considerably different bit configurations are designated. Therefore, there is a problem that two address buses are required.

【0008】そこで、非整置の2ワードのロードについ
ては、その非整置の2ワードを包含するような連続する
4ワードを、2回の整置2ワードロードによって獲得す
る技術が考えられる。すなわち、この技術によれば、指
定されたアドレスの1つ前のアドレス(偶数)から始ま
る連続する4ワードを2回のロードでメモリから読み出
し、そのうちの必要な2ワードを選択して、データレジ
スタに格納する。
Therefore, as for non-aligned two-word loading, a technique is conceivable in which four consecutive words including the non-aligned two words are acquired by two aligned two-word loads. That is, according to this technique, four consecutive words starting from the address (even number) immediately before the designated address are read from the memory by two times of loading, and the necessary two words of them are selected to select the data register. To store.

【0009】しかし、かかる技術では、連続した多数の
アドレス上の多数の非整置のワードをロードする場合に
は、非整置の各2ワードを獲得するために2回ロードし
なければならないので、スループットが増加し、処理時
間が長くなる。結局、同じサイズの整置のワードをロー
ドする場合に比べて、スループットおよび処理時間は約
2倍になる。これでは、一度に1ワードずつロードする
のと同じことであり、2ワードロード命令の利点が活か
されない。
However, in such a technique, when a large number of unaligned words on a large number of consecutive addresses are to be loaded, two unaligned words must be loaded twice in order to obtain each word. , The throughput increases and the processing time increases. In the end, throughput and processing time are approximately doubled compared to loading aligned words of the same size. This is the same as loading one word at a time and does not take advantage of the two word load instruction.

【0010】連続するワードが常に整置となるように、
メモリに格納することが可能であれば、上記の課題は解
決するようにみえるが、メモリをサーキュラバッファと
して用いるなど動的にワードの境界が変化する場合に
は、非整置となることを避けられないことがある。
So that successive words are always aligned
The above problem seems to be solved if it can be stored in memory, but avoids misalignment when word boundaries change dynamically, such as when memory is used as a circular buffer. Sometimes I can't.

【0011】この発明は上記のような課題を解決するた
めになされたもので、連続した多数のアドレス上の多数
の非整置のワードをロードする場合に、ロードの効率を
向上させることが可能なデータ処理装置を得ることを目
的とする。
The present invention has been made to solve the above problems, and can improve the loading efficiency when loading a large number of unaligned words on a large number of consecutive addresses. The purpose is to obtain a new data processing device.

【0012】[0012]

【課題を解決するための手段】この発明に係るデータ処
理装置は、二進数で指定される複数のアドレスを有して
おり、各アドレスに対応づけられて情報部分が格納され
たメモリ部と、メモリ部内のアクセスすべきアドレスを
一度に一つ指定することができ、以前のアクセスで指定
したアドレスに2を加算または減算したアドレスを次の
アクセスで指定することができるアドレス指定部と、ア
ドレス指定部で指定されたアドレスに2を加算する第1
の加算部と、メモリ部へのアクセスの回数に基づいて、
アドレス指定部で指定されたアドレスまたは第1の加算
部で加算された結果のアドレスを選択して、選択された
アドレスの値を出力することが可能な第1の選択部と、
第1の選択部で出力されたアドレスの値に基づいて、メ
モリ部内の2つのアドレスから整置の2つの情報部分を
読み出す読み出し部と、読み出し部により読み出された
2つの情報部分の一方を格納する第1の格納部と、メモ
リ部への以前のアクセスで第1の格納部に既に格納され
た情報部分と、読み出し部により現在読み出された整置
の2つの情報部分とから、非整置の2つの情報部分を選
択することが可能な第2の選択部とを備えたものであ
る。
A data processing apparatus according to the present invention has a plurality of addresses designated by binary numbers, and a memory section in which an information portion is stored in association with each address, An address specification part that can specify one address to access in the memory part at a time, and can specify the address obtained by adding or subtracting 2 to the address specified in the previous access in the next access First to add 2 to the address specified by the division
Based on the number of accesses to the adder and memory of
A first selection unit capable of selecting an address designated by the address designation unit or an address obtained as a result of addition by the first addition unit and outputting the value of the selected address;
Based on the value of the address output by the first selection unit, a read unit that reads two aligned information sections from two addresses in the memory section and one of the two information sections read by the read section From the first storage part to store, the information part already stored in the first storage part by the previous access to the memory part, and the two information parts of the alignment currently read by the reading part, And a second selection unit capable of selecting two information parts of alignment.

【0013】この発明に係るデータ処理装置は、メモリ
部、第1の加算部、第1の選択部、読み出し部、第1の
格納部および第2の選択部が単一の回路に設けられてお
り、メモリ部は、偶数のアドレスが割り当てられた第1
のメモリと、奇数のアドレスが割り当てられた第2のメ
モリを備えており、読み出し部は、入力された一つのア
ドレスの最下位のビットよりも上位のビットに対応する
二つの情報部分を第1のメモリおよび第2のメモリから
それぞれ読み出すものである。
In the data processing device according to the present invention, the memory section, the first adding section, the first selecting section, the reading section, the first storing section and the second selecting section are provided in a single circuit. And the memory part is the first
Memory and a second memory to which an odd number of addresses are assigned, and the reading unit first writes two information parts corresponding to bits higher than the least significant bit of the input one address. And the second memory.

【0014】この発明に係るデータ処理装置は、非整置
の2つの情報部分をメモリ部からロードする場合に、第
1の格納部とメモリの値の同一性を監視する回路あるい
はソフトウェアによって変動する非整置ロード信号を生
成する命令部を備え、非整置ロード信号2wに基づい
て、第1の選択部が、アドレス指定部で指定されたアド
レスまたは第1の加算部で加算された結果のアドレスを
選択して、選択されたアドレスの値を出力するものであ
る。
In the data processing device according to the present invention, when the two non-aligned information parts are loaded from the memory part, the data processing device varies depending on the circuit or software that monitors the identity of the values of the first storage part and the memory. An instruction unit that generates a non-aligned load signal is provided, and the first selection unit is based on the non-aligned load signal 2w, and the result of addition of the address designated by the address designation unit or the first addition unit is obtained. An address is selected and the value of the selected address is output.

【0015】この発明に係るデータ処理装置は、非整置
の2つの情報部分をメモリ部からロードする場合に、ア
ドレス指定部で指定されたアドレスに+2または−2を
加算する第2の加算部と、第2の加算部で加算された結
果のアドレスを格納する第2の格納部と、メモリ部への
以前のアクセスで第2の格納部に既に格納されたアドレ
スと、アドレス指定部で現在指定されたアドレスとを比
較する比較部とを備え、比較部による比較結果が一致し
たときに、第2の選択部が、メモリ部への以前のアクセ
スで第1の格納部に既に格納された情報部分と、読み出
し部により現在読み出された整置の2つの情報部分とか
ら、非整置の2つの情報部分を選択するものである。
In the data processing device according to the present invention, when the two non-aligned information portions are loaded from the memory portion, the second addition portion adds +2 or -2 to the address designated by the address designation portion. A second storage for storing the address of the result added by the second adder, the address already stored in the second storage by a previous access to the memory, and the current address in the addressing unit. A second comparison unit that has already been stored in the first storage unit by a previous access to the memory unit when the comparison result by the comparison unit matches. Two non-aligned information portions are selected from the information portion and two aligned information portions currently read by the reading unit.

【0016】この発明に係るデータ処理装置は、非整置
の2つの情報部分をメモリ部からロードする場合に、第
1の格納部とメモリの値の同一性を監視する回路あるい
はソフトウェアによって変動するフラグを設定するフラ
グ設定部と、フラグに基づいて、第2の選択部を有効ま
たは無効に切り替える切替部とを備えるものである。
In the data processing device according to the present invention, when the two non-aligned information portions are loaded from the memory portion, the data processing device varies depending on the circuit or software that monitors the identity of the values of the first storage portion and the memory. A flag setting unit that sets a flag and a switching unit that switches the second selection unit between valid and invalid based on the flag are provided.

【0017】[0017]

【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この発明の実施の形態1に係る
データ処理装置であるデジタルシグナルプロセッサを示
す。図において、30は命令デコーダ(命令部、フラグ
設定部)、31はアドレス生成部(アドレス指定部)、
32はメモリロード制御回路、33はレジスタファイ
ル、34,35はデータバスを示す。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below. Embodiment 1. FIG. 1 shows a digital signal processor which is a data processing device according to the first embodiment of the present invention. In the figure, 30 is an instruction decoder (instruction section, flag setting section), 31 is an address generation section (address designation section),
32 is a memory load control circuit, 33 is a register file, and 34 and 35 are data buses.

【0018】命令デコーダ30は、図示しない中央演算
処理装置または外部装置から命令ビット列を受信して、
受信した命令ビット列から中央演算処理装置または外部
装置が要求した命令の種類を判断し、命令ビット列に基
づいて動作する。受信した命令ビット列がメモリアクセ
ス命令の場合には、メモリアクセス命令に基づいて、ア
ドレス生成部31は各種の信号をメモリロード制御回路
32に供給する。
The instruction decoder 30 receives an instruction bit string from a central processing unit (not shown) or an external device,
The type of instruction requested by the central processing unit or the external device is determined from the received instruction bit string, and the operation is performed based on the instruction bit string. When the received instruction bit string is a memory access instruction, the address generator 31 supplies various signals to the memory load control circuit 32 based on the memory access instruction.

【0019】後述するように、メモリロード制御回路3
2は2つのメモリを有しており、命令デコーダ30から
受信した各種の信号に基づいて、これらのメモリから一
つまたは複数のワードをデータバス34,35のいずれ
かまたは両方に出力する。命令デコーダ30は、データ
バス34,35上の出力を監視し、ロードすべきワード
を選択してレジスタファイル33に格納する。レジスタ
ファイル33は、例えば汎用レジスタである。レジスタ
ファイル33には、選択されたワードがそのアドレスと
関連づけられて格納される。
As will be described later, the memory load control circuit 3
2 has two memories and outputs one or a plurality of words from these memories to one or both of the data buses 34 and 35 based on various signals received from the instruction decoder 30. The instruction decoder 30 monitors outputs on the data buses 34 and 35, selects a word to be loaded, and stores it in the register file 33. The register file 33 is, for example, a general-purpose register. The selected word is stored in the register file 33 in association with its address.

【0020】命令デコーダ30に供給されるメモリアク
セス命令の命令ビット列は、例えば、ロードすべき2つ
のワードの小さい方のアドレス、およびポストインクリ
メントまたはポストデクリメントの必要性の有無を指定
する。
The instruction bit string of the memory access instruction supplied to the instruction decoder 30 specifies, for example, the address of the smaller of the two words to be loaded and the necessity of post-increment or post-decrement.

【0021】命令デコーダ30のアドレス生成部31
は、ワードのロードのポインタとなるアドレスを指定す
るアドレス信号を生成する。
Address generation unit 31 of instruction decoder 30
Generates an address signal that specifies the address that will be the pointer to load the word.

【0022】また命令デコーダ30は、メモリアクセス
命令の命令ビット列で指定された最初のアドレスの最下
位ビットに基づいて、非整置2ワードアクセスをしなけ
ればならないか否か判断する。具体的には、指定された
最初のアドレスの最下位ビットが1であれば、非整置2
ワードアクセスをする必要がある。この場合には、命令
デコーダ30は、1ワード目にはL(ローレベル)、第
2ワードにはH(ハイレベル)となる非整置ロード信号
2wを出力する。
Further, the instruction decoder 30 determines whether or not non-aligned two-word access must be performed based on the least significant bit of the first address designated by the instruction bit string of the memory access instruction. Specifically, if the least significant bit of the specified first address is 1, then non-aligned 2
Need word access. In this case, the instruction decoder 30 outputs the non-aligned load signal 2w which becomes L (low level) in the first word and H (high level) in the second word.

【0023】指定された最初のアドレスの最下位ビット
が0であれば、整置2ワードアクセスをすればよい。こ
の場合には、命令デコーダ30は、非整置ロード信号2
wをLにする。また、一つのアドレスしか指定されてい
ない場合には、1ワードアクセスをすればよいので、命
令デコーダ30は、非整置ロード信号2wをLにする。
If the least significant bit of the designated first address is 0, aligned 2 word access may be performed. In this case, the instruction decoder 30 outputs the unaligned load signal 2
Set w to L. Further, when only one address is designated, it is sufficient to access one word, so the instruction decoder 30 sets the non-aligned load signal 2w to L.

【0024】連続した非整置の3個以上のワードのロー
ドに関して、このデジタルシグナルプロセッサは、ポス
トインクリメントまたはポストデクリメント方式のレジ
スタ間接アドレッシングを行うことが可能である。ポス
トインクリメント方式では、連続した3個以上のアドレ
ス上のワードをロードする場合に、メモリロード制御回
路32からワードをロードする間に、次の工程でロード
すべき、より大きいアドレスのワードがメモリロード制
御回路32によって自動的に準備される。ポストデクリ
メント方式では、連続した3個以上のアドレス上のワー
ドをロードする場合に、メモリロード制御回路32から
ワードをロードする間に、次の工程でロードすべき、よ
り小さいアドレスのワードがメモリロード制御回路32
によって自動的に準備される。
For loading more than two consecutive non-aligned words, the digital signal processor is capable of post-increment or post-decrement register indirect addressing. In the post-increment method, when loading a word on three or more consecutive addresses, while loading the word from the memory load control circuit 32, the word at the higher address that should be loaded in the next step is loaded into the memory. It is automatically prepared by the control circuit 32. In the post-decrement method, when loading a word on three or more consecutive addresses, while loading a word from the memory load control circuit 32, the word with a smaller address that should be loaded in the next step is loaded into the memory. Control circuit 32
Automatically prepared by.

【0025】また、メモリアクセス命令に、ポストイン
クリメントまたはポストデクリメントが必要であること
が指定されており、かつ非整置2ワードアクセスをする
必要がある場合には、命令デコーダ30は、インクリメ
ント信号incまたはデクリメント信号decをHにす
る。非整置2ワードアクセスにおいてポストインクリメ
ントを行う場合には、命令デコーダ30は、インクリメ
ント信号incをHにし、デクリメント信号decをL
にする。非整置2ワードアクセスにおいてポストデクリ
メントを行う場合には、命令デコーダ30は、デクリメ
ント信号decをHにし、インクリメント信号incを
Lにする。
If the memory access instruction specifies that post-increment or post-decrement is necessary and non-aligned two-word access is required, the instruction decoder 30 outputs the increment signal inc. Alternatively, the decrement signal dec is set to H. When performing post-increment in non-aligned 2-word access, the instruction decoder 30 sets the increment signal inc to H and the decrement signal dec to L.
To When performing post-decrement in non-aligned 2-word access, the instruction decoder 30 sets the decrement signal dec to H and the increment signal inc to L.

【0026】また、非整置ワードのロードでのポストイ
ンクリメントまたはポストデクリメント方式のレジスタ
間接アドレッシングに関して、このデジタルシグナルプ
ロセッサは、連続するアドレス上の2ワードを同時に
(1サイクルで)ロードする同時2ワードロードモード
と、連続するアドレス上の2ワードを連続して(2サイ
クルで)ロードする連続2ワードロードモードを実施で
きる。
With regard to post-increment or post-decrement type register indirect addressing in non-aligned word loading, this digital signal processor loads two words on consecutive addresses at the same time (in one cycle). It is possible to implement a load mode and a continuous 2-word load mode in which two words on consecutive addresses are continuously (in two cycles) loaded.

【0027】命令デコーダ30は、状況に応じて、上記
の同時2ワードロードモードと連続2ワードロードモー
ドのいずれかを指定するモード信号moをメモリロード
制御回路32に供給する。同時2ワードロードモードで
はモード信号moはHであり、連続2ワードロードモー
ドではモード信号moはLである。後の説明から明らか
なように、モード信号moはレジスタ20とメモリ1
6、あるいはレジスタ21とメモリ17の値のコヒーレ
ンシを監視する回路あるいはソフトウェア(命令ビット
列を生成する)によって変動するフラグとみなすことが
できる。
The instruction decoder 30 supplies to the memory load control circuit 32 a mode signal mo which specifies either the simultaneous 2-word load mode or the continuous 2-word load mode, depending on the situation. In the simultaneous 2-word load mode, the mode signal mo is H, and in the continuous 2-word load mode, the mode signal mo is L. As will be apparent from the following description, the mode signal mo is stored in the register 20 and the memory 1
6 or a circuit that monitors the coherency between the values of the register 21 and the memory 17 or a flag that fluctuates depending on software (generates an instruction bit string).

【0028】1ワードのロード命令および整置2ワード
ロード命令の場合は、上記の非整置ロード信号2w、イ
ンクリメント信号inc、デクリメント信号dec、モ
ード信号moは全てLである。
In the case of the 1-word load instruction and the aligned 2-word load instruction, the non-aligned load signal 2w, the increment signal inc, the decrement signal dec, and the mode signal mo are all L.

【0029】図2は、図1中のメモリロード制御回路3
2を示す。図において、1〜3はANDゲート、4〜6
はORゲート、7,9,18,19,24はセレクタ、
8はセレクタ(第1の選択部)、10はレジスタ(第2
の格納部)、11は比較器(比較部)、12,13はA
NDゲート(切替部)、14は加算器(第2の加算
部)、15は加算器(第1の加算部)、16はメモリ
(メモリ部、読み出し部、第1のメモリ)、17はメモ
リ(メモリ部、読み出し部、第2のメモリ)、20,2
1はレジスタ(第1の格納部)、22,23はセレクタ
(第2の選択部)を示す。
FIG. 2 shows the memory load control circuit 3 in FIG.
2 is shown. In the figure, 1 to 3 are AND gates and 4 to 6
Is an OR gate, 7, 9, 18, 19, 24 are selectors,
8 is a selector (first selection unit), 10 is a register (second selection unit)
Storage unit), 11 is a comparator (comparison unit), and 12 and 13 are A
ND gate (switching unit), 14 adder (second adding unit), 15 adder (first adding unit), 16 memory (memory unit, reading unit, first memory), 17 memory (Memory unit, reading unit, second memory), 20, 2
Reference numeral 1 denotes a register (first storage unit), and 22 and 23 denote selectors (second selection unit).

【0030】ANDゲート1は、非整置ロード信号2w
とアドレス信号の最下位ビットの論理積をとる。すなわ
ち、非整置ロード信号2wがHで、アドレス信号の最下
位ビットがH(メモリの奇数アドレスにアクセスしよう
とする場合)に、ANDゲート1の出力はHとなる。他
の場合には、ANDゲート1の出力はLとなる。AND
ゲート1の出力はセレクタ8に供給される。
The AND gate 1 has a non-aligned load signal 2w.
AND the least significant bit of the address signal. That is, when the unaligned load signal 2w is H and the least significant bit of the address signal is H (when trying to access an odd address of the memory), the output of the AND gate 1 becomes H. Otherwise, the output of AND gate 1 will be L. AND
The output of the gate 1 is supplied to the selector 8.

【0031】ANDゲート2は、三つの入力端子を持
ち、インクリメント信号incと、ORゲート4の出力
と、アドレス信号の最下位ビットの全てがHのとき、A
NDゲート2の出力はHとなる。他の場合には、AND
ゲート2の出力はLとなる。ANDゲート2の出力はセ
レクタ19、ANDゲート12、およびORゲート6に
供給される。
The AND gate 2 has three input terminals, and when all of the increment signal inc, the output of the OR gate 4 and the least significant bit of the address signal are H, A
The output of the ND gate 2 becomes H. Otherwise, AND
The output of the gate 2 becomes L. The output of the AND gate 2 is supplied to the selector 19, the AND gate 12, and the OR gate 6.

【0032】ANDゲート3は、三つの入力端子を持
ち、デクリメント信号decと、ORゲート5の出力
と、アドレス信号の最下位ビットの全てがHのとき、A
NDゲート3の出力はHとなる。他の場合には、AND
ゲート3の出力はLとなる。ANDゲート3の出力はセ
レクタ18、ANDゲート13、およびORゲート6に
供給される。
The AND gate 3 has three input terminals, and when all of the decrement signal dec, the output of the OR gate 5 and the least significant bit of the address signal are H, A
The output of the ND gate 3 becomes H. Otherwise, AND
The output of the gate 3 becomes L. The output of the AND gate 3 is supplied to the selector 18, the AND gate 13, and the OR gate 6.

【0033】ORゲート4は、モード信号moと、非整
置ロード信号2wとの論理和をとる。すなわち、モード
信号moと非整置ロード信号2wのいずれかまたは両方
がHであれば、ORゲート4の出力はHとなる。モード
信号moおよび非整置ロード信号2wの両方がLであれ
ば、ORゲート4の出力はLとなる。ORゲート4の出
力はANDゲート2に供給される。
The OR gate 4 takes the logical sum of the mode signal mo and the non-aligned load signal 2w. That is, if either or both of the mode signal mo and the non-aligned load signal 2w are H, the output of the OR gate 4 becomes H. If both the mode signal mo and the non-aligned load signal 2w are L, the output of the OR gate 4 becomes L. The output of the OR gate 4 is supplied to the AND gate 2.

【0034】ORゲート5は、モード信号moと、非整
置ロード信号2wの反転信号との論理和をとる。すなわ
ち、モード信号moがH、および/または非整置ロード
信号2wがLである場合、ORゲート5の出力はHとな
る。モード信号moがLで、かつ非整置ロード信号2w
がHである場合には、ORゲート5の出力はLとなる。
ORゲート5の出力はANDゲート3に供給される。
The OR gate 5 takes the logical sum of the mode signal mo and the inverted signal of the non-aligned load signal 2w. That is, when the mode signal mo is H and / or the non-aligned load signal 2w is L, the output of the OR gate 5 is H. Mode signal mo is L and non-aligned load signal 2w
Is H, the output of the OR gate 5 is L.
The output of the OR gate 5 is supplied to the AND gate 3.

【0035】ORゲート6は、ANDゲート3の出力と
ANDゲート2の出力との論理和をとる。すなわち、A
NDゲート3の出力とANDゲート2の出力のいずれか
または両方がHであれば、ORゲート6の出力はHとな
る。ANDゲート3の出力とANDゲート2の出力の両
方がLであれば、ORゲート6の出力はLとなる。
The OR gate 6 takes the logical sum of the output of the AND gate 3 and the output of the AND gate 2. That is, A
If either or both of the output of the ND gate 3 and the output of the AND gate 2 are H, the output of the OR gate 6 becomes H. If both the output of the AND gate 3 and the output of the AND gate 2 are L, the output of the OR gate 6 is L.

【0036】加算器15は、アドレス信号に+2を加算
して、加算した値をセレクタ8に供給する。
The adder 15 adds +2 to the address signal and supplies the added value to the selector 8.

【0037】セレクタ8は、ANDゲート1の出力がH
のとき加算器15の出力を出力し、ANDゲート1の出
力がLのときアドレス信号を出力する。セレクタ8の出
力は、メモリ16,17の両方に供給される。セレクタ
8の出力は、メモリ16,17のいずれかまたは両方か
らワードをロードするために参照されるアドレスを指定
する。
In the selector 8, the output of the AND gate 1 is H
When, the output of the adder 15 is output, and when the output of the AND gate 1 is L, the address signal is output. The output of the selector 8 is supplied to both the memories 16 and 17. The output of selector 8 specifies the address referenced to load the word from either or both memories 16,17.

【0038】メモリ16は偶数アドレス(最下位ビット
が0(L)であるアドレス)上のワードを格納する。一
方、メモリ17は奇数アドレス(最下位ビットが1
(H)であるアドレス)上のワードを格納する。これら
のメモリ16,17内のアドレスは、セレクタ8の出力
によって識別される。
The memory 16 stores a word at an even address (the address whose least significant bit is 0 (L)). On the other hand, the memory 17 has an odd address (the least significant bit is 1
The word on the address ((H)) is stored. The addresses in these memories 16 and 17 are identified by the output of the selector 8.

【0039】図3は、メモリ16,17におけるアドレ
スの並び方を示す。図において、addrは奇数アドレ
スであり、奇数アドレス用のメモリ17においては、奇
数アドレスが規則的に並び、偶数アドレス用のメモリ1
6においては、偶数アドレスが規則的に並んでいる。ま
た、メモリ17における奇数アドレスaddrは、偶数
アドレスaddr−1と等位にある。奇数アドレスad
drと偶数アドレスaddr−1の最下位ビットはそれ
ぞれ1,0であるが、等位にある奇数アドレスaddr
と偶数アドレスaddr−1については、最下位ビット
より上位のビットが全て共通する。
FIG. 3 shows how the addresses are arranged in the memories 16 and 17. In the figure, addr is an odd address, and in the memory 17 for odd addresses, the odd addresses are regularly arranged, and the memory 1 for even addresses is
In No. 6, even addresses are regularly arranged. The odd address addr in the memory 17 is at the same position as the even address addr-1. Odd address ad
The least significant bits of dr and the even address addr-1 are 1 and 0, respectively, but the odd address addr in the same place is
And the even-numbered address addr-1, all the bits higher than the least significant bit are common.

【0040】この実施の形態では、メモリ16,17の
各々は、自身の読み出しのための読み出し部(図示せ
ず)を有しており、読み出し部は、セレクタ8の出力の
うち最下位ビットより上位のビットを参照し、該当する
アドレス上のワードを読み出す。従って、セレクタ8の
一つの出力値に基づいて、2つのメモリ16,17から
2つのワードが読み出される。例えば、セレクタ8の出
力値が奇数アドレスaddrまたは偶数アドレスadd
r−1のとき、点線で囲まれた奇数アドレスaddrお
よび偶数アドレスaddr−1上の2ワードがアクセス
される。
In this embodiment, each of the memories 16 and 17 has a read-out unit (not shown) for reading itself, and the read-out unit outputs the least significant bit from the output of the selector 8. Read the word at the corresponding address by referring to the upper bits. Therefore, two words are read from the two memories 16 and 17 based on one output value of the selector 8. For example, if the output value of the selector 8 is an odd address addr or an even address add
At r-1, two words on the odd address addr and the even address addr-1 surrounded by the dotted line are accessed.

【0041】セレクタ7は、インクリメント信号inc
がHのときポストインリメントのために+2を出力し、
インクリメント信号incがLのときポストデクリメン
トのために−2を出力する。セレクタ7の出力は加算器
14に供給される。
The selector 7 has an increment signal inc.
When is H, it outputs +2 for post-increment,
When the increment signal inc is L, -2 is output for post-decrement. The output of the selector 7 is supplied to the adder 14.

【0042】加算器14は、ポストインクリメントまた
はポストデクリメントのために、セレクタ7の出力とア
ドレス信号を加算する。加算器14の出力はセレクタ9
に供給される。
The adder 14 adds the output of the selector 7 and the address signal for post increment or post decrement. The output of the adder 14 is the selector 9
Is supplied to.

【0043】セレクタ9は、ORゲート6の出力がHの
とき加算器14の出力をレジスタ10に供給し、ORゲ
ート6の出力がLのときレジスタ10の出力を再度レジ
スタ10に供給する。レジスタ10は、セレクタ9の出
力を保持し、保持した値を比較器11に供給する。
The selector 9 supplies the output of the adder 14 to the register 10 when the output of the OR gate 6 is H, and supplies the output of the register 10 to the register 10 again when the output of the OR gate 6 is L. The register 10 holds the output of the selector 9 and supplies the held value to the comparator 11.

【0044】比較器11は、レジスタ10の出力とアド
レス信号の値を比較する。レジスタ10の出力とアドレ
ス信号の値が一致しているとき、比較器11の出力はH
であり、一致していないとき比較器11の出力はLであ
る。
The comparator 11 compares the output of the register 10 with the value of the address signal. When the output of the register 10 and the value of the address signal match, the output of the comparator 11 is H
And when they do not match, the output of the comparator 11 is L.

【0045】ANDゲート12は、三つの入力端子を持
ち、モード信号moとANDゲート2の出力と比較器1
1の出力の全てがHのとき、ANDゲート12の出力は
Hとなる。他の場合には、ANDゲート12の出力はL
となる。ANDゲート12の出力はセレクタ23に供給
される。
The AND gate 12 has three input terminals, the mode signal mo, the output of the AND gate 2 and the comparator 1.
When all the outputs of 1 are H, the output of the AND gate 12 becomes H. Otherwise, the output of AND gate 12 is L
Becomes The output of the AND gate 12 is supplied to the selector 23.

【0046】ANDゲート13は、三つの入力端子を持
ち、モード信号moとANDゲート3の出力と比較器1
1の出力の全てがHのとき、ANDゲート13の出力は
Hとなる。他の場合には、ANDゲート13の出力はL
となる。ANDゲート13の出力はセレクタ22に供給
される。
The AND gate 13 has three input terminals, the mode signal mo, the output of the AND gate 3 and the comparator 1.
When all the outputs of 1 are H, the output of the AND gate 13 becomes H. In other cases, the output of the AND gate 13 is L
Becomes The output of the AND gate 13 is supplied to the selector 22.

【0047】セレクタ18は、ANDゲート3の出力が
Hのときメモリ16の出力(偶数アドレス上のワード)
をレジスタ20に供給し、ANDゲート3の出力がLの
ときレジスタ20の出力を再度レジスタ20に供給す
る。レジスタ20は、セレクタ18の出力を保持し、保
持した値をセレクタ22に供給する。
When the output of the AND gate 3 is H, the selector 18 outputs the memory 16 (word on even address).
Is supplied to the register 20, and when the output of the AND gate 3 is L, the output of the register 20 is supplied to the register 20 again. The register 20 holds the output of the selector 18 and supplies the held value to the selector 22.

【0048】セレクタ19は、ANDゲート2の出力が
Hのときメモリ17の出力(奇数アドレス上のワード)
をレジスタ21に供給し、ANDゲート2の出力がLの
ときレジスタ21の出力を再度レジスタ21に供給す
る。レジスタ21は、セレクタ19の出力を保持し、保
持した値をセレクタ23に供給する。
The selector 19 outputs the output of the memory 17 (the word on the odd address) when the output of the AND gate 2 is H.
Is supplied to the register 21, and when the output of the AND gate 2 is L, the output of the register 21 is supplied to the register 21 again. The register 21 holds the output of the selector 19 and supplies the held value to the selector 23.

【0049】セレクタ22は、ANDゲート13の出力
がHのときレジスタ20の出力を出力し、ANDゲート
13の出力がLのときメモリ16の出力(該当アドレス
のワード)を出力する。
The selector 22 outputs the output of the register 20 when the output of the AND gate 13 is H, and outputs the output of the memory 16 (word of the corresponding address) when the output of the AND gate 13 is L.

【0050】セレクタ23は、ANDゲート12の出力
がHのときレジスタ21の出力を出力し、ANDゲート
12の出力がLのときメモリ17の出力(該当アドレス
のワード)を出力する。
The selector 23 outputs the output of the register 21 when the output of the AND gate 12 is H, and outputs the output of the memory 17 (word of the corresponding address) when the output of the AND gate 12 is L.

【0051】セレクタ24は、アドレス信号の最下位ビ
ットがH(1すなわち奇数)のときセレクタ22および
セレクタ23の出力をそれぞれデータ信号d1およびデ
ータ信号d0として出力する。逆に、アドレス信号の最
下位ビットがL(0すなわち偶数)のとき、セレクタ2
4はセレクタ22およびセレクタ23の出力をそれぞれ
データ信号d0およびデータ信号d1として出力する。
The selector 24 outputs the outputs of the selector 22 and the selector 23 as the data signal d1 and the data signal d0, respectively, when the least significant bit of the address signal is H (1 or an odd number). Conversely, when the least significant bit of the address signal is L (0, that is, even number), the selector 2
Reference numeral 4 outputs the outputs of the selector 22 and the selector 23 as a data signal d0 and a data signal d1, respectively.

【0052】次に動作について説明する。1ワードのロ
ード命令および整置2ワードロード命令を受信した場合
は、命令デコーダ30(図1)は、非整置ロード信号2
w、インクリメント信号inc、デクリメント信号de
cおよびモード信号moをLとする。
Next, the operation will be described. When a 1-word load instruction and an aligned 2-word load instruction are received, the instruction decoder 30 (FIG. 1) causes the unaligned load signal 2
w, increment signal inc, decrement signal de
c and the mode signal mo are set to L.

【0053】そして、命令デコーダ30とメモリロード
制御回路32との間のアドレスバスに、命令デコーダ3
0は、必要なワードに対応するアドレスを示すアドレス
信号を送出する。整置2ワードロード命令の場合には、
一方のワードのアドレス(小さい方の偶数アドレス)だ
けを指定するアドレス信号を送出する。
The instruction decoder 3 is connected to the address bus between the instruction decoder 30 and the memory load control circuit 32.
0 sends out an address signal indicating the address corresponding to the required word. In the case of an alignment 2 word load instruction,
An address signal designating only the address of one word (the smaller even address) is transmitted.

【0054】1ワードのロード命令および整置2ワード
ロード命令の場合、インクリメント信号incおよびデ
クリメント信号decがLであるので、図2に示された
メモリロード制御回路32では、ANDゲート2,3,
12,13およびORゲート6の出力はLとなる。ま
た、非整置ロード信号2wがLであって、ANDゲート
1の出力がLとなるので、セレクタ8はアドレス信号を
メモリ16,17の両方に供給する。セレクタ8からア
ドレス信号を受信したメモリ16,17の各々は、アド
レス信号の最下位ビット以外のビットを参照し、該当す
るアドレスのワードを読み出す。この結果、2つのメモ
リ16,17から整置の2ワードが読み出される。
In the case of the 1-word load instruction and the aligned 2-word load instruction, since the increment signal inc and the decrement signal dec are L, the memory load control circuit 32 shown in FIG.
The outputs of 12 and 13 and the OR gate 6 are L. Further, since the non-aligned load signal 2w is L and the output of the AND gate 1 is L, the selector 8 supplies the address signal to both the memories 16 and 17. Each of the memories 16 and 17 that has received the address signal from the selector 8 refers to bits other than the least significant bit of the address signal and reads the word of the corresponding address. As a result, two aligned words are read from the two memories 16 and 17.

【0055】また、ORゲート6の出力がLであるか
ら、セレクタ9はレジスタ10からの読取り値をレジス
タ10に再度供給する。また、ANDゲート3の出力が
Lであるから、セレクタ18はレジスタ20からの読取
り値をレジスタ20に再度供給する。さらに、ANDゲ
ート2の出力がLであるから、セレクタ19はレジスタ
21からの読取り値をレジスタ21に再度供給する。つ
まり、レジスタ10,20,21の値は変化しない。
Since the output of the OR gate 6 is L, the selector 9 supplies the read value from the register 10 to the register 10 again. Since the output of the AND gate 3 is L, the selector 18 supplies the read value from the register 20 to the register 20 again. Further, since the output of the AND gate 2 is L, the selector 19 supplies the read value from the register 21 to the register 21 again. That is, the values of the registers 10, 20, and 21 do not change.

【0056】さらに、ANDゲート12の出力がLであ
るから、セレクタ23はメモリ17からの出力をセレク
タ24に供給する。ANDゲート13の出力がLである
から、セレクタ22はメモリ16からの出力をセレクタ
24に供給する。
Further, since the output of the AND gate 12 is L, the selector 23 supplies the output from the memory 17 to the selector 24. Since the output of the AND gate 13 is L, the selector 22 supplies the output from the memory 16 to the selector 24.

【0057】整置2ワードロード命令のとき、アドレス
バス上のアドレス信号の最下位ビットはL(0すなわち
偶数)である。このとき、セレクタ24はセレクタ22
およびセレクタ23の出力をそれぞれデータ信号d0お
よびデータ信号d1として出力する。従って、偶数アド
レス用のメモリ16および奇数アドレス用のメモリ17
から読み出された2ワードが、それぞれデータ信号d0
およびデータ信号d1として出力される。この場合、デ
ータ信号d0は偶数アドレス上のワードであり、データ
信号d1は奇数アドレス上のワードである。
In the case of the aligned 2-word load instruction, the least significant bit of the address signal on the address bus is L (0, that is, even number). At this time, the selector 24 changes to the selector 22.
And the output of the selector 23 is output as the data signal d0 and the data signal d1, respectively. Therefore, the memory 16 for even addresses and the memory 17 for odd addresses are
2 words read from the data signal d0
And is output as a data signal d1. In this case, the data signal d0 is a word on an even address and the data signal d1 is a word on an odd address.

【0058】図1に示された命令デコーダ30は、デー
タバス34,35上のデータ信号d0,d1の両方をレ
ジスタファイル33に格納する。従って、整置の2ワー
ドが同時にロードされる。なお、連続した整置の3以上
のワードをロードする場合には、アドレス生成部31は
アドレス信号(最下位ビットは0)に2を加えるか引い
て、その結果のアドレス信号をアドレスバスに送出して
メモリロード制御回路32に供給すればよい。このよう
に、命令デコーダ30の内部のインクリメントまたはデ
クリメント(増分または減分は2)によって、多数のア
ドレスに効率的にアクセスできる。
The instruction decoder 30 shown in FIG. 1 stores both of the data signals d0 and d1 on the data buses 34 and 35 in the register file 33. Therefore, two aligned words are loaded simultaneously. When loading three or more consecutive aligned words, the address generator 31 adds or subtracts 2 to the address signal (the least significant bit is 0) and sends the resulting address signal to the address bus. Then, it may be supplied to the memory load control circuit 32. In this way, a large number of addresses can be efficiently accessed by the increment or decrement (the increment or decrement is 2) inside the instruction decoder 30.

【0059】奇数アドレスが指定された1ワードロード
命令においては、アドレスバス上の奇数のアドレス信号
は最下位ビットがH(1)なので、セレクタ24は、セ
レクタ22およびセレクタ23の出力をそれぞれデータ
信号d1およびデータ信号d0として出力する。この場
合、データ信号d0はメモリ17からの奇数アドレス上
のワードであり、データ信号d1はメモリ16からの偶
数アドレス上のワードである。図1に示された命令デコ
ーダ30は、データバス34上のデータ信号d0だけを
レジスタファイル33に格納する。従って、2つのメモ
リ16,17から読み出された2ワードの一つが選択的
に獲得される。
In the one-word load instruction in which an odd address is designated, the least significant bit of the odd address signal on the address bus is H (1), so that the selector 24 outputs the outputs of the selector 22 and the selector 23 to the data signal, respectively. It is output as d1 and the data signal d0. In this case, the data signal d0 is the word on the odd address from the memory 17, and the data signal d1 is the word on the even address from the memory 16. The instruction decoder 30 shown in FIG. 1 stores only the data signal d0 on the data bus 34 in the register file 33. Therefore, one of the two words read from the two memories 16 and 17 is selectively acquired.

【0060】一方、偶数アドレスが指定された1ワード
ロード命令においては、アドレスバス上の偶数のアドレ
ス信号は最下位ビットがL(0)なので、セレクタ24
は、セレクタ22およびセレクタ23の出力をそれぞれ
データ信号d0およびデータ信号d1として出力する。
この場合、データ信号d0はメモリ16からの偶数アド
レス上のワードであり、データ信号d1はメモリ17か
らの奇数アドレス上のワードである。図1に示された命
令デコーダ30は、データバス34上のデータ信号d0
だけをレジスタファイル33に格納する。つまり、1ワ
ードロード命令のときには、奇数アドレスか偶数アドレ
スかにかかわらず、データ信号d0として必要なワード
が出力され、命令デコーダ30はそのワードをレジスタ
ファイル33に格納する。
On the other hand, in the one-word load instruction in which an even address is designated, the least significant bit of the even address signal on the address bus is L (0), so the selector 24
Outputs the outputs of the selector 22 and the selector 23 as a data signal d0 and a data signal d1, respectively.
In this case, the data signal d0 is the word on the even address from the memory 16 and the data signal d1 is the word on the odd address from the memory 17. The instruction decoder 30 shown in FIG. 1 has a data signal d0 on the data bus 34.
Are stored in the register file 33. That is, in the case of a 1-word load instruction, the word required as the data signal d0 is output regardless of whether it is an odd address or an even address, and the instruction decoder 30 stores the word in the register file 33.

【0061】次に、ポストインクリメントまたはポスト
デクリメントの指定のない非整置2ワードロード命令を
受信した場合の動作を説明する。この場合は、命令デコ
ーダ30(図1)は、インクリメント信号inc、デク
リメント信号decおよびモード信号moをLとする。
また、非整置2ワードロードにあたっては、命令デコー
ダ30は非整置ロード信号2wを使用する。先に第1ワ
ードをロードする第1サイクルでは、命令デコーダ30
は非整置ロード信号2wをLとし、次に第2ワードをロ
ードする第2サイクルでは、命令デコーダ30は非整置
ロード信号2wをHとする。
Next, the operation when a non-aligned two-word load instruction without designation of post-increment or post-decrement is received will be described. In this case, the instruction decoder 30 (FIG. 1) sets the increment signal inc, the decrement signal dec and the mode signal mo to L.
The instruction decoder 30 uses the non-aligned load signal 2w to load the non-aligned word. In the first cycle of loading the first word first, the instruction decoder 30
Sets the non-aligned load signal 2w to L, and in the second cycle in which the second word is loaded next, the instruction decoder 30 sets the non-aligned load signal 2w to H.

【0062】また、非整置2ワードロードにあたって
は、命令デコーダ30のアドレス生成部31は、非整置
の2つのワードのうち、第1ワードに係る小さい方のア
ドレスを指定するアドレス信号をアドレスバスに送出し
てメモリロード制御回路32に供給する。第2サイクル
でも、アドレス生成部31は、アドレス信号を変化させ
ない。非整置なので、第1ワードに係るアドレス信号は
奇数(例えばaddr)であり、最下位ビットは1
(H)である。
In addition, in the non-aligned two-word load, the address generator 31 of the instruction decoder 30 addresses the address signal designating the smaller address of the first word of the two non-aligned words. It is sent to the bus and supplied to the memory load control circuit 32. Even in the second cycle, the address generator 31 does not change the address signal. Since it is not aligned, the address signal related to the first word is an odd number (eg addr), and the least significant bit is 1.
(H).

【0063】この場合、第1サイクルでは、非整置ロー
ド信号2w、インクリメント信号inc、デクリメント
信号decおよびモード信号moがLであるから、図2
に示されたメモリロード制御回路32では、1ワードロ
ード命令と同様に動作する。つまり、第1サイクルでは
非整置ロード信号2wがLなので、ANDゲート1の出
力はLになって、セレクタ8はアドレス信号をメモリ1
6,17の両方に供給する。セレクタ8からアドレス信
号を受信したメモリ16,17の各々は、アドレス信号
の最下位ビット以外のビットを参照し、該当するアドレ
ス(addr−1,addr)のワードを読み出す。こ
の結果、2つのメモリ16,17から整置の2ワードが
読み出される。
In this case, in the first cycle, the non-aligned load signal 2w, the increment signal inc, the decrement signal dec and the mode signal mo are L.
The memory load control circuit 32 shown in (1) operates similarly to the one-word load instruction. That is, since the non-aligned load signal 2w is L in the first cycle, the output of the AND gate 1 becomes L, and the selector 8 outputs the address signal to the memory 1
Supply to both 6 and 17. Receiving the address signal from the selector 8, each of the memories 16 and 17 refers to bits other than the least significant bit of the address signal and reads the word of the corresponding address (addr-1, addr). As a result, two aligned words are read from the two memories 16 and 17.

【0064】また、アドレスバス上のアドレス信号の最
下位ビットがH(1)なので、セレクタ24は、セレク
タ23の出力(メモリ17から読み出された奇数アドレ
スaddr上のワード)をデータ信号d0として出力
し、セレクタ22の出力(メモリ16から読み出された
偶数アドレスaddr−1上のワード)をデータ信号d
1として出力する。図1に示された命令デコーダ30
は、第1サイクルでは、整置の2ワードのうち、データ
バス34上のデータ信号d0(奇数アドレスaddr上
の第1ワード)だけをレジスタファイル33に格納す
る。
Since the least significant bit of the address signal on the address bus is H (1), the selector 24 uses the output of the selector 23 (the word on the odd address addr read from the memory 17) as the data signal d0. And outputs the output of the selector 22 (the word on the even address addr-1 read from the memory 16) to the data signal d.
Output as 1. The instruction decoder 30 shown in FIG.
In the first cycle, of the two aligned words, only the data signal d0 on the data bus 34 (the first word on the odd address addr) is stored in the register file 33.

【0065】次に、第2サイクル(第2ワードのロー
ド)では、非整置ロード信号2wがHとなり、アドレス
バス上のアドレス信号は変化せずその最下位ビットは1
(H)なので、ANDゲート1の出力はHになる。従っ
て、セレクタ8は、加算器15の出力である奇数アドレ
スaddr+2をメモリ16,17の両方に供給する。
セレクタ8から奇数アドレスaddr+2を受信したメ
モリ16,17の各々は、アドレス信号の最下位ビット
以外のビットを参照し、該当するアドレスのワードを読
み出す。この結果、2つのメモリ16,17から整置の
2ワード(アドレスaddr+1,addr+2上の2
ワード)が読み出される。第2サイクルでロードすべき
第2ワードはメモリ16内の偶数アドレスaddr+1
上にあるが、偶数アドレスaddr+1の最下位ビット
より上位のビットは奇数アドレスaddr+2のそれら
と同じである。
Next, in the second cycle (load of the second word), the non-aligned load signal 2w becomes H, the address signal on the address bus does not change, and the least significant bit is 1.
Since it is (H), the output of the AND gate 1 becomes H. Therefore, the selector 8 supplies the odd address addr + 2, which is the output of the adder 15, to both the memories 16 and 17.
Each of the memories 16 and 17 that has received the odd address addr + 2 from the selector 8 refers to bits other than the least significant bit of the address signal and reads the word of the corresponding address. As a result, two aligned words from the two memories 16 and 17 (2 on the addresses addr + 1 and addr + 2)
(Word) is read. The second word to be loaded in the second cycle is the even address addr + 1 in the memory 16.
Bits above but above the least significant bit of the even address addr + 1 are the same as those of the odd address addr + 2.

【0066】また、アドレスバス上のアドレス信号の最
下位ビットがH(1)なので、セレクタ24は、セレク
タ23の出力(メモリ17から読み出された奇数アドレ
スaddr+2上のワード)をデータ信号d0として出
力し、セレクタ22の出力(メモリ16から読み出され
た偶数アドレスaddr+1上のワード)をデータ信号
d1として出力する。図1に示された命令デコーダ30
は、第2サイクルでは、整置の2ワードのうち、データ
バス35上のデータ信号d1(偶数アドレスaddr+
1上の第2ワード)だけをレジスタファイル33に格納
する。この結果、連続する奇数アドレスaddrおよび
偶数アドレスaddr+1上の2ワードが2サイクルで
ロードされる。
Since the least significant bit of the address signal on the address bus is H (1), the selector 24 uses the output of the selector 23 (the word on the odd address addr + 2 read from the memory 17) as the data signal d0. Then, the output of the selector 22 (the word on the even address addr + 1 read from the memory 16) is output as the data signal d1. The instruction decoder 30 shown in FIG.
In the second cycle, among the two aligned words, the data signal d1 (even address addr +
Only the second word above 1) is stored in the register file 33. As a result, two words on the consecutive odd address addr and even address addr + 1 are loaded in two cycles.

【0067】次に、ポストインクリメントの指定のある
非整置2ワードロード命令を受信した場合の動作を説明
する。この場合は、命令デコーダ30(図1)は、イン
クリメント信号incをHとして、デクリメント信号d
ecをLとする。
Next, the operation when a non-aligned 2-word load instruction with post-increment designation is received will be described. In this case, the instruction decoder 30 (FIG. 1) sets the increment signal inc to H and decrements the signal d.
Let ec be L.

【0068】最初の2ワードをロードする際には、2サ
イクルで2ワードをロードする連続2ワードロードモー
ドを実施する。このため、命令デコーダ30はモード信
号moをLにする。
When loading the first two words, a continuous two-word load mode of loading two words in two cycles is carried out. Therefore, the instruction decoder 30 sets the mode signal mo to L.

【0069】また、命令デコーダ30は非整置ロード信
号2wを使用する。上述と同様に、先に第1ワードをロ
ードする第1サイクルでは、命令デコーダ30は非整置
ロード信号2wをLとし、次に第2ワードをロードする
第2サイクルでは、命令デコーダ30は非整置ロード信
号2wをHとする。それ以降のサイクルでは、命令デコ
ーダ30は非整置ロード信号2wをHとする。
The instruction decoder 30 also uses the unaligned load signal 2w. Similarly to the above, in the first cycle in which the first word is loaded first, the instruction decoder 30 sets the non-aligned load signal 2w to L, and in the second cycle in which the second word is loaded next, the instruction decoder 30 does not The alignment load signal 2w is set to H. In the subsequent cycles, the instruction decoder 30 sets the non-aligned load signal 2w to H.

【0070】また、非整置2ワードロードにあたって
は、命令デコーダ30のアドレス生成部31は、非整置
の2つのワードのうち、第1ワードに係る小さい方のア
ドレスを指定するアドレス信号をアドレスバスに送出し
てメモリロード制御回路32に供給する。第2サイクル
でも、アドレス生成部31は、アドレス信号を変化させ
ない。
In addition, in the non-aligned two-word load, the address generation unit 31 of the instruction decoder 30 addresses the address signal designating the smaller one of the first word of the two non-aligned words. It is sent to the bus and supplied to the memory load control circuit 32. Even in the second cycle, the address generator 31 does not change the address signal.

【0071】この場合、第1サイクルでは、非整置ロー
ド信号2wがLであるから、図2に示されたメモリロー
ド制御回路32では、ANDゲート1の出力はLになっ
て、セレクタ8はアドレス信号をメモリ16,17の両
方に供給する。セレクタ8からアドレス信号を受信した
メモリ16,17の各々は、アドレス信号の最下位ビッ
ト以外のビットを参照し、該当するアドレス(addr
−1,addr)のワードを読み出す。この結果、2つ
のメモリ16,17から整置の2ワードが読み出され
る。
In this case, since the non-aligned load signal 2w is L in the first cycle, the output of the AND gate 1 becomes L in the memory load control circuit 32 shown in FIG. The address signal is supplied to both the memories 16 and 17. Each of the memories 16 and 17 that have received the address signal from the selector 8 refers to bits other than the least significant bit of the address signal, and applies the corresponding address (addr
Read the word (-1, addr). As a result, two aligned words are read from the two memories 16 and 17.

【0072】また、モード信号moおよびデクリメント
信号decがLであるから、ANDゲート2,3,1
2,13およびORゲート4,6の出力はLとなり、1
ワードのロード命令の場合と同様の動作となって、アド
レスaddr上の第1ワードがデータ信号d0として出
力され、アドレスaddr−1上のワードがデータ信号
d1として出力される。図1に示された命令デコーダ3
0は、第1サイクルでは、データバス34上のデータ信
号d0だけをレジスタファイル33に格納する。
Since the mode signal mo and the decrement signal dec are L, the AND gates 2, 3, 1
2 and 13 and the outputs of the OR gates 4 and 6 become L and 1
In the same operation as the case of the word load instruction, the first word on the address addr is output as the data signal d0, and the word on the address addr-1 is output as the data signal d1. Instruction decoder 3 shown in FIG.
0 stores only the data signal d0 on the data bus 34 in the register file 33 in the first cycle.

【0073】次に、第2サイクル(第2ワードのロー
ド)では、非整置ロード信号2wがHとなることから、
ORゲート4、ANDゲート2およびORゲート6の出
力はHに変わる。また、インクリメント信号incがH
であるので、セレクタ7は、ポストインリメントのため
に+2を出力し、セレクタ9に加算器14の出力値ad
dr+2が供給される。ORゲート6の出力がHである
ので、セレクタ9は加算器14の出力値をaddr+2
をレジスタ10に格納する。
Next, in the second cycle (loading of the second word), the non-aligned load signal 2w becomes H,
The outputs of OR gate 4, AND gate 2 and OR gate 6 change to H. In addition, the increment signal inc is H
Therefore, the selector 7 outputs +2 for the post increment and the selector 9 outputs the output value ad of the adder 14.
dr + 2 is supplied. Since the output of the OR gate 6 is H, the selector 9 sets the output value of the adder 14 to addr + 2.
Are stored in the register 10.

【0074】また、第2サイクルでは、非整置ロード信
号2wがHとなり、アドレスバス上のアドレス信号は変
化せずその最下位ビットは1(H)なので、ANDゲー
ト1の出力はHになる。従って、セレクタ8は、加算器
15の出力である奇数アドレスaddr+2をメモリ1
6,17の両方に供給する。セレクタ8から奇数アドレ
スaddr+2を受信したメモリ16,17の各々は、
アドレス信号の最下位ビット以外のビットを参照し、該
当するアドレスのワードを読み出す。この結果、2つの
メモリ16,17から整置の2ワード(アドレスadd
r+1,addr+2上の2ワード)が読み出される。
In the second cycle, the non-aligned load signal 2w becomes H, the address signal on the address bus does not change, and the least significant bit is 1 (H). Therefore, the output of the AND gate 1 becomes H. . Therefore, the selector 8 outputs the odd address addr + 2 output from the adder 15 to the memory 1
Supply to both 6 and 17. Each of the memories 16 and 17 receiving the odd address addr + 2 from the selector 8
By referring to bits other than the least significant bit of the address signal, the word of the corresponding address is read. As a result, two aligned words (address add
2 words on r + 1 and addr + 2) are read.

【0075】上述のようにANDゲート2の出力がHな
ので、セレクタ19はメモリ17から出力された奇数ア
ドレスaddr+2上のワードをレジスタ21に格納す
る。一方、デクリメント信号decがLであって、AN
Dゲート3の出力はLのままなので、セレクタ18はレ
ジスタ20からの読取り値をレジスタ20に再度供給す
る。従って、レジスタ20の値は変化しない。
As described above, since the output of the AND gate 2 is H, the selector 19 stores the word on the odd address addr + 2 output from the memory 17 in the register 21. On the other hand, when the decrement signal dec is L and AN
Since the output of the D gate 3 remains L, the selector 18 supplies the read value from the register 20 to the register 20 again. Therefore, the value of the register 20 does not change.

【0076】モード信号moがLであることから、AN
Dゲート12およびANDゲート13の出力はLとなる
ので、セレクタ22,23からの出力はそれぞれメモリ
16,17の出力である。非整置アクセスであるので、
アドレスバス上のアドレス信号の最下位ビットがH(1
すなわち奇数)であるから、セレクタ24は、セレクタ
22の出力(偶数アドレスaddr+1上のワード)お
よびセレクタ23の出力(奇数アドレスaddr+2上
のワード)をそれぞれデータ信号d1およびデータ信号
d0として出力する。図1に示された命令デコーダ30
は、第2サイクルでは、データバス35上のデータ信号
d1だけをレジスタファイル33に格納する。この結
果、連続する奇数アドレスaddrおよび偶数アドレス
addr+1上の2ワードが2サイクルでロードされ
る。
Since the mode signal mo is L, AN
Since the outputs of the D gate 12 and the AND gate 13 are L, the outputs from the selectors 22 and 23 are the outputs of the memories 16 and 17, respectively. Since it is non-aligned access,
The least significant bit of the address signal on the address bus is H (1
That is, since it is an odd number, the selector 24 outputs the output of the selector 22 (the word at the even address addr + 1) and the output of the selector 23 (the word at the odd address addr + 2) as the data signal d1 and the data signal d0, respectively. The instruction decoder 30 shown in FIG.
Stores only the data signal d1 on the data bus 35 in the register file 33 in the second cycle. As a result, two words on the consecutive odd address addr and even address addr + 1 are loaded in two cycles.

【0077】第2サイクル終了時点で、レジスタ21の
保持値はアドレスaddr+2上のワードに更新されて
おり、レジスタ10の保持値は、奇数アドレスaddr
+2に更新されている。
At the end of the second cycle, the value held in the register 21 is updated to the word on the address addr + 2, and the value held in the register 10 is changed to the odd address addr.
It has been updated to +2.

【0078】第2サイクル終了後、命令デコーダ30
は、1サイクルで2ワードをロードする同時2ワードロ
ードモードを実施する。このため、命令デコーダ30は
モード信号moをHにする。また、第2サイクル終了
後、命令デコーダ30は非整置ロード信号2wをHとす
る。インクリメント信号incはHのまま、デクリメン
ト信号decはLのままとする。そして、命令デコーダ
30は、奇数アドレスaddr+2を示すアドレス信号
をアドレスバスに送出してメモリロード制御回路32に
供給する。
After the end of the second cycle, the instruction decoder 30
Implements a simultaneous two-word load mode that loads two words in one cycle. Therefore, the instruction decoder 30 sets the mode signal mo to H. After the end of the second cycle, the instruction decoder 30 sets the non-aligned load signal 2w to H. The increment signal inc remains H and the decrement signal dec remains L. Then, the instruction decoder 30 sends an address signal indicating the odd address addr + 2 to the address bus and supplies it to the memory load control circuit 32.

【0079】モード信号moおよびインクリメント信号
incがHであることから、図2のメモリロード制御回
路32では、ORゲート4、ANDゲート2およびOR
ゲート6の出力はHとなる。従って、セレクタ9が加算
器14の出力値addr+4をレジスタ10に保持させ
る。
Since the mode signal mo and the increment signal inc are H, in the memory load control circuit 32 of FIG. 2, the OR gate 4, the AND gate 2 and the OR gate 4 are connected.
The output of the gate 6 becomes H. Therefore, the selector 9 causes the register 10 to hold the output value addr + 4 of the adder 14.

【0080】非整置ロード信号2wがHであるので、A
NDゲート1の出力はHとなり、セレクタ8は、加算器
15の出力値addr+4をメモリ16,17の両方に
供給する。セレクタ8から出力値addr+4を受信し
たメモリ16,17の各々は、アドレス信号の最下位ビ
ット以外のビットを参照し、該当するアドレス(add
r+3,addr+4)のワードを読み出す。
Since the non-aligned load signal 2w is H, A
The output of the ND gate 1 becomes H, and the selector 8 supplies the output value addr + 4 of the adder 15 to both the memories 16 and 17. Receiving the output value addr + 4 from the selector 8, each of the memories 16 and 17 refers to a bit other than the least significant bit of the address signal, and applies the corresponding address (add
Read the word at r + 3, addr + 4).

【0081】また、比較器11に供給されるレジスタ1
0の出力は既に格納されていたaddr+2であり、こ
れはアドレスバス上のアドレス信号が示す値に等しいの
で比較器11の出力はHとなる。ただし、デクリメント
信号decがLであることから、ANDゲート3および
ANDゲート13の出力はLのままである。一方、モー
ド信号mo、ANDゲート2の出力および比較器11の
出力がHであるから、ANDゲート12の出力はHとな
る。
Further, the register 1 supplied to the comparator 11
The output of 0 is the already stored addr + 2, which is equal to the value indicated by the address signal on the address bus, so that the output of the comparator 11 becomes H. However, since the decrement signal dec is L, the outputs of the AND gate 3 and the AND gate 13 remain L. On the other hand, since the mode signal mo, the output of the AND gate 2 and the output of the comparator 11 are H, the output of the AND gate 12 is H.

【0082】従って、セレクタ22および23の出力は
それぞれメモリ16の出力(アドレスaddr+3上の
ワード)およびレジスタ21に格納されていたアドレス
addr+2上のワードである。アドレスバス上のアド
レス信号の最下位ビットがH(1)なので、セレクタ2
4は、データ信号d0としてアドレスaddr+2上の
ワード、データ信号d1としてアドレスaddr+3上
のワードを出力する。図1に示された命令デコーダ30
は、データバス34,35上のデータ信号d0,d1の
両方をレジスタファイル33に格納する。従って、1サ
イクルで非整置の2ワードをロードすることができる。
Therefore, the outputs of the selectors 22 and 23 are the output of the memory 16 (word at address addr + 3) and the word at address addr + 2 stored in the register 21, respectively. Since the least significant bit of the address signal on the address bus is H (1), the selector 2
4 outputs the word at address addr + 2 as the data signal d0 and the word at address addr + 3 as the data signal d1. The instruction decoder 30 shown in FIG.
Stores both of the data signals d0 and d1 on the data buses 34 and 35 in the register file 33. Therefore, two unaligned words can be loaded in one cycle.

【0083】上述の通り、ANDゲート3の出力はLな
ので、セレクタ18はレジスタ20からの読取り値をレ
ジスタ20に再度供給する。一方、ANDゲート2の出
力はHなので、セレクタ19はメモリ17の出力(アド
レスaddr+4上のワード)をレジスタ21に供給す
る。従って、レジスタ20の値は変化せず、レジスタ2
1の値はアドレスaddr+4上のワードに更新され
る。
As described above, since the output of the AND gate 3 is L, the selector 18 supplies the read value from the register 20 to the register 20 again. On the other hand, since the output of the AND gate 2 is H, the selector 19 supplies the output of the memory 17 (word on the address addr + 4) to the register 21. Therefore, the value of register 20 does not change, and register 2
The value of 1 is updated to the word on address addr + 4.

【0084】この第3サイクル終了時点で、レジスタ2
1の保持値はアドレスaddr+4上のワードに更新さ
れており、レジスタ10の保持値は、奇数アドレスad
dr+4に更新されている。
At the end of this third cycle, register 2
The held value of 1 is updated to the word on the address addr + 4, and the held value of the register 10 is the odd address addr.
It has been updated to dr + 4.

【0085】次のサイクルでは、奇数アドレスaddr
+4がアドレスバス上のアドレス信号で示される。メモ
リ16,17からはアドレス(addr+5,addr
+6)のワードが読み出されるが、セレクタ24は、デ
ータ信号d0としてアドレスaddr+4上のワード、
データ信号d1としてアドレスaddr+5上のワード
を出力する。図1に示された命令デコーダ30は、デー
タバス34,35上のデータ信号d0,d1の両方をレ
ジスタファイル33に格納する。
In the next cycle, the odd address addr
+4 is indicated by an address signal on the address bus. Addresses (addr + 5, addr) from memories 16 and 17
+6) word is read, but the selector 24 uses the word on the address addr + 4 as the data signal d0,
The word on the address addr + 5 is output as the data signal d1. The instruction decoder 30 shown in FIG. 1 stores both of the data signals d0 and d1 on the data buses 34 and 35 in the register file 33.

【0086】この第4サイクル終了時点で、レジスタ2
1の保持値はアドレスaddr+6上のワードに更新さ
れており、レジスタ10の保持値は、奇数アドレスad
dr+6に更新されている。従って、命令デコーダ30
の内部のインクリメント(増分は2)によって、多数の
アドレスに効率的にアクセスできる。以上のようにし
て、非整置の2ワードを同時に効率的にロードすること
ができる。
At the end of this fourth cycle, register 2
The held value of 1 is updated to the word on the address addr + 6, and the held value of the register 10 is the odd address addr.
It has been updated to dr + 6. Therefore, the instruction decoder 30
An internal increment of 2 (the increment is 2) allows efficient access to multiple addresses. As described above, two unaligned words can be efficiently loaded simultaneously.

【0087】次に、ポストデクリメントの指定のある非
整置2ワードロード命令を受信した場合の動作を説明す
る。この場合は、命令デコーダ30(図1)は、デクリ
メント信号decをHとして、インクリメント信号in
cをLとする。
Next, the operation when a non-aligned two-word load instruction with post decrement designation is received will be described. In this case, the instruction decoder 30 (FIG. 1) sets the decrement signal dec to H and increments the increment signal in
Let c be L.

【0088】最初の2ワードをロードする際には、2サ
イクルで2ワードをロードする連続2ワードロードモー
ドを実施する。このため、命令デコーダ30はモード信
号moをLにする。
When loading the first two words, a continuous two-word load mode of loading two words in two cycles is carried out. Therefore, the instruction decoder 30 sets the mode signal mo to L.

【0089】また、命令デコーダ30は非整置ロード信
号2wを使用する。上述と同様に、先に第1ワードをロ
ードする第1サイクルでは、命令デコーダ30は非整置
ロード信号2wをLとし、次に第2ワードをロードする
第2サイクルでは、命令デコーダ30は非整置ロード信
号2wをHとする。それ以降のサイクルでは、命令デコ
ーダ30は非整置ロード信号2wをLとする。
The instruction decoder 30 also uses the non-aligned load signal 2w. Similarly to the above, in the first cycle in which the first word is loaded first, the instruction decoder 30 sets the non-aligned load signal 2w to L, and in the second cycle in which the second word is loaded next, the instruction decoder 30 does not The alignment load signal 2w is set to H. In the subsequent cycles, the instruction decoder 30 sets the non-aligned load signal 2w to L.

【0090】また、非整置2ワードロードにあたって
は、命令デコーダ30のアドレス生成部31は、非整置
の2つのワードのうち、第1ワードに係る小さい方のア
ドレスを指定するアドレス信号をアドレスバスに送出し
てメモリロード制御回路32に供給する。第2サイクル
でも、アドレス生成部31は、アドレス信号を変化させ
ない。
In addition, in the non-aligned two-word load, the address generator 31 of the instruction decoder 30 addresses the address signal designating the smaller one of the first words of the two non-aligned words. It is sent to the bus and supplied to the memory load control circuit 32. Even in the second cycle, the address generator 31 does not change the address signal.

【0091】この場合、第1サイクルでは、非整置ロー
ド信号2w、モード信号moおよびインクリメント信号
incがLであるから、図2に示されたメモリロード制
御回路32では、ORゲート4、ANDゲート2、AN
Dゲート12、ANDゲート13の出力がLとなる。ま
た、モード信号moがLであるから、ORゲート5の出
力がHになり、さらにデクリメント信号decがHであ
ることから、ANDゲート3およびORゲート6の出力
はHとなる。
In this case, since the non-aligned load signal 2w, the mode signal mo and the increment signal inc are L in the first cycle, the memory load control circuit 32 shown in FIG. 2, AN
The outputs of the D gate 12 and the AND gate 13 become L. Further, since the mode signal mo is L, the output of the OR gate 5 becomes H, and since the decrement signal dec is H, the outputs of the AND gate 3 and the OR gate 6 become H.

【0092】また、インクリメント信号incがLであ
るため、セレクタ7はポストデクリメントのために−2
を出力し、加算器14の出力値はaddr−2になる。
上述のようにORゲート6の出力がHなので、セレクタ
9は、レジスタ10に加算器14の出力値addr−2
を格納させる。
Further, since the increment signal inc is L, the selector 7 is -2 for post-decrement.
And the output value of the adder 14 becomes addr-2.
Since the output of the OR gate 6 is H as described above, the selector 9 causes the register 10 to output the output value addr-2 of the adder 14.
To be stored.

【0093】また、第1サイクルでは、非整置ロード信
号2wがLであるから、図2に示されたメモリロード制
御回路32では、ANDゲート1の出力はLになって、
セレクタ8はアドレス信号をメモリ16,17の両方に
供給する。セレクタ8からアドレス信号を受信したメモ
リ16,17の各々は、アドレス信号の最下位ビット以
外のビットを参照し、該当するアドレス(addr−
1,addr)のワードを読み出す。この結果、2つの
メモリ16,17から整置の2ワードが読み出される。
In the first cycle, since the non-aligned load signal 2w is L, the output of the AND gate 1 becomes L in the memory load control circuit 32 shown in FIG.
The selector 8 supplies the address signal to both the memories 16 and 17. Each of the memories 16 and 17 that have received the address signal from the selector 8 refers to bits other than the least significant bit of the address signal, and applies the corresponding address (addr-
(1, addr) word is read. As a result, two aligned words are read from the two memories 16 and 17.

【0094】上述のようにANDゲート2の出力がLな
ので、セレクタ19はレジスタ21からの読み取り値を
レジスタ21に再度供給する。従って、レジスタ21の
値は変化しない。一方、ANDゲート3の出力はHなの
で、セレクタ18はメモリ16から出力された偶数アド
レスaddr−1上のワードをレジスタ20に格納す
る。
Since the output of the AND gate 2 is L as described above, the selector 19 supplies the read value from the register 21 to the register 21 again. Therefore, the value of the register 21 does not change. On the other hand, since the output of the AND gate 3 is H, the selector 18 stores the word on the even address addr−1 output from the memory 16 in the register 20.

【0095】モード信号moがLであることから、AN
Dゲート12およびANDゲート13の出力はLとなる
ので、セレクタ22,23からの出力はそれぞれメモリ
16,17の出力である。非整置アクセスであるので、
アドレスバス上のアドレス信号の最下位ビットがH(1
すなわち奇数)であるから、セレクタ24は、セレクタ
22の出力(偶数アドレスaddr−1上のワード)お
よびセレクタ23の出力(奇数アドレスaddr上のワ
ード)をそれぞれデータ信号d1およびデータ信号d0
として出力する。図1に示された命令デコーダ30は、
第1サイクルでは、データバス34上のデータ信号d0
だけをレジスタファイル33に格納する。
Since the mode signal mo is L, AN
Since the outputs of the D gate 12 and the AND gate 13 are L, the outputs from the selectors 22 and 23 are the outputs of the memories 16 and 17, respectively. Since it is non-aligned access,
The least significant bit of the address signal on the address bus is H (1
That is, since it is an odd number, the selector 24 outputs the output of the selector 22 (word on the even address addr-1) and the output of the selector 23 (word on the odd address addr) to the data signal d1 and the data signal d0, respectively.
Output as. The instruction decoder 30 shown in FIG.
In the first cycle, the data signal d0 on the data bus 34
Are stored in the register file 33.

【0096】次に、第2サイクル(第2ワードのロー
ド)では、非整置ロード信号2wがHとなることから、
ANDゲート1およびORゲート4の出力はHに変わ
り、ORゲート5およびANDゲート3の出力はLに変
わる。インクリメント信号incはLであるので、AN
Dゲート2の出力はLのままである。従って、ORゲー
ト6、ANDゲート12およびANDゲート13の出力
はLである。
Next, in the second cycle (loading of the second word), the non-aligned load signal 2w becomes H,
The outputs of AND gate 1 and OR gate 4 change to H, and the outputs of OR gate 5 and AND gate 3 change to L. Since the increment signal inc is L, AN
The output of D gate 2 remains L. Therefore, the outputs of the OR gate 6, the AND gate 12, and the AND gate 13 are L.

【0097】また、第2サイクルでは、非整置ロード信
号2wがHとなり、アドレスバス上のアドレス信号は変
化せずその最下位ビットは1(H)なので、ANDゲー
ト1の出力はHになる。従って、セレクタ8は、加算器
15の出力である奇数アドレスaddr+2をメモリ1
6,17の両方に供給する。セレクタ8から奇数アドレ
スaddr+2を受信したメモリ16,17の各々は、
アドレス信号の最下位ビット以外のビットを参照し、該
当するアドレスのワードを読み出す。この結果、2つの
メモリ16,17から整置の2ワード(アドレスadd
r+1,addr+2上の2ワード)が読み出される。
In the second cycle, the non-aligned load signal 2w becomes H, the address signal on the address bus does not change, and the least significant bit is 1 (H). Therefore, the output of the AND gate 1 becomes H. . Therefore, the selector 8 outputs the odd address addr + 2 output from the adder 15 to the memory 1
Supply to both 6 and 17. Each of the memories 16 and 17 receiving the odd address addr + 2 from the selector 8
By referring to bits other than the least significant bit of the address signal, the word of the corresponding address is read. As a result, two aligned words (address add
2 words on r + 1 and addr + 2) are read.

【0098】上述のように、ORゲート6、ANDゲー
ト3,2の出力がLなので、セレクタ9,18,19に
よって、レジスタ10,20および21の値は変化しな
い。また、ANDゲート12,13の出力がLなので、
セレクタ22および23の出力は、それぞれメモリ16
および17の出力である。非整置アクセスであるので、
非整置アクセスであるので、アドレスバス上のアドレス
信号の最下位ビットがH(1すなわち奇数)であるか
ら、セレクタ24は、セレクタ22の出力(偶数アドレ
スaddr+1上のワード)およびセレクタ23の出力
(奇数アドレスaddr+2上のワード)をそれぞれデ
ータ信号d1およびデータ信号d0として出力する。図
1に示された命令デコーダ30は、第2サイクルでは、
データバス35上のデータ信号d1だけをレジスタファ
イル33に格納する。この結果、連続する奇数アドレス
addrおよび偶数アドレスaddr+1上の2ワード
が2サイクルでロードされる。
As described above, since the outputs of the OR gate 6 and the AND gates 3 and 2 are L, the values of the registers 10, 20 and 21 are not changed by the selectors 9, 18 and 19. Moreover, since the outputs of the AND gates 12 and 13 are L,
The outputs of the selectors 22 and 23 are the memory 16 respectively.
And 17 outputs. Since it is non-aligned access,
Since the access is non-aligned access, the least significant bit of the address signal on the address bus is H (1 or an odd number), so that the selector 24 outputs the selector 22 (the word on the even address addr + 1) and the output of the selector 23. (Word on odd address addr + 2) is output as data signal d1 and data signal d0, respectively. The instruction decoder 30 shown in FIG.
Only the data signal d1 on the data bus 35 is stored in the register file 33. As a result, two words on the consecutive odd address addr and even address addr + 1 are loaded in two cycles.

【0099】第1サイクル終了時点および第2サイクル
終了時点で、レジスタ20の保持値は偶数アドレスad
dr−1上のワードに更新されており、レジスタ10の
保持値は、奇数アドレスaddr−2に更新されてい
る。
At the end of the first cycle and the end of the second cycle, the value held in register 20 is an even address ad.
The word on dr-1 has been updated, and the value held in register 10 has been updated to odd address addr-2.

【0100】第2サイクル終了後、命令デコーダ30
は、1サイクルで2ワードをロードする同時2ワードロ
ードモードを実施する。このため、命令デコーダ30は
モード信号moをHにする。また、第2サイクル終了
後、命令デコーダ30は非整置ロード信号2wをLとす
る。デクリメント信号decはHのまま、インクリメン
ト信号incはLのままとする。そして、命令デコーダ
30は、奇数アドレスaddr−2を示すアドレス信号
をアドレスバスに送出してメモリロード制御回路32に
供給する。
After the end of the second cycle, the instruction decoder 30
Implements a simultaneous two-word load mode that loads two words in one cycle. Therefore, the instruction decoder 30 sets the mode signal mo to H. After the end of the second cycle, the instruction decoder 30 sets the non-aligned load signal 2w to L. The decrement signal dec remains H and the increment signal inc remains L. Then, the instruction decoder 30 sends an address signal indicating the odd address addr-2 to the address bus and supplies it to the memory load control circuit 32.

【0101】モード信号mo、インクリメント信号in
cがHであることから、図2のメモリロード制御回路3
2では、ORゲート5、ANDゲート3、ORゲート6
の出力はHとなる。従って、セレクタ9が加算器14の
出力値addr−4をレジスタ10に保持させる。
Mode signal mo, increment signal in
Since c is H, the memory load control circuit 3 of FIG.
2, the OR gate 5, the AND gate 3, and the OR gate 6
Output becomes H. Therefore, the selector 9 causes the register 10 to hold the output value addr-4 of the adder 14.

【0102】非整置ロード信号2wがLであるので、A
NDゲート1の出力はLとなり、セレクタ8はアドレス
バス上のアドレス信号が示すアドレス値addr−2を
メモリ16,17の両方に供給する。セレクタ8から出
力値addr−2を受信したメモリ16,17の各々
は、アドレス信号の最下位ビット以外のビットを参照
し、該当するアドレス(addr−3,addr−2)
のワードを読み出す。
Since the non-aligned load signal 2w is L, A
The output of the ND gate 1 becomes L, and the selector 8 supplies the address value addr-2 indicated by the address signal on the address bus to both the memories 16 and 17. Receiving the output value addr-2 from the selector 8, each of the memories 16 and 17 refers to a bit other than the least significant bit of the address signal to find the corresponding address (addr-3, addr-2).
Read the word.

【0103】また、比較器11に供給されるレジスタ1
0の出力は既に格納されていたaddr−2であり、こ
れはアドレスバス上のアドレス信号が示す値に等しいの
で、比較器11の出力はHとなる。ただし、インクリメ
ント信号incがLであることから、ANDゲート2お
よびANDゲート12の出力はLのままである。一方、
モード信号mo、ANDゲート3の出力および比較器1
1の出力がHであるから、ANDゲート13の出力はH
となる。
In addition, the register 1 supplied to the comparator 11
The output of 0 is the already stored addr-2, which is equal to the value indicated by the address signal on the address bus, so the output of the comparator 11 becomes H. However, since the increment signal inc is L, the outputs of the AND gate 2 and the AND gate 12 remain L. on the other hand,
Mode signal mo, output of AND gate 3 and comparator 1
Since the output of 1 is H, the output of the AND gate 13 is H
Becomes

【0104】従って、セレクタ22および23の出力は
それぞれレジスタ20に格納されていたアドレスadd
r−1上のワードおよびメモリ17の出力(アドレスa
ddr−2上のワード)である。アドレスバス上のアド
レス信号の最下位ビットがH(1)なので、セレクタ2
4は、データ信号d0としてアドレスaddr−2上の
ワード、データ信号d1としてアドレスaddr−1上
のワードを出力する。図1に示された命令デコーダ30
は、データバス34,35上のデータ信号d0,d1の
両方をレジスタファイル33に格納する。従って、1サ
イクルで非整置の2ワードをロードすることができる。
Therefore, the outputs of the selectors 22 and 23 are the addresses add stored in the register 20, respectively.
The word on r-1 and the output of memory 17 (address a
The word on ddr-2). Since the least significant bit of the address signal on the address bus is H (1), the selector 2
4 outputs the word on address addr-2 as the data signal d0 and the word on address addr-1 as the data signal d1. The instruction decoder 30 shown in FIG.
Stores both of the data signals d0 and d1 on the data buses 34 and 35 in the register file 33. Therefore, two unaligned words can be loaded in one cycle.

【0105】上述の通り、ANDゲート2の出力はLな
ので、セレクタ19はレジスタ21からの読取り値をレ
ジスタ21に再度供給する。一方、ANDゲート3の出
力はHなので、セレクタ18はメモリ16の出力(アド
レスaddr−3上のワード)をレジスタ20に供給す
る。従って、レジスタ21の値は変化せず、レジスタ2
0の値はアドレスaddr−3上のワードに更新され
る。
As described above, since the output of the AND gate 2 is L, the selector 19 supplies the read value from the register 21 to the register 21 again. On the other hand, since the output of the AND gate 3 is H, the selector 18 supplies the output of the memory 16 (word on the address addr-3) to the register 20. Therefore, the value of register 21 does not change, and register 2
The value of 0 is updated to the word at address addr-3.

【0106】この第3サイクル終了時点で、レジスタ2
0の保持値はアドレスaddr−3上のワードに更新さ
れており、レジスタ10の保持値は、奇数アドレスad
dr−4に更新されている。
At the end of this third cycle, register 2
The held value of 0 is updated to the word on the address addr-3, and the held value of the register 10 is the odd address addr-3.
It has been updated to dr-4.

【0107】次のサイクルでは、奇数アドレスaddr
−4がアドレスバス上のアドレス信号で示される。メモ
リ16,17からはアドレス(addr−5,addr
−4)のワードが読み出されるが、セレクタ24は、デ
ータ信号d0としてアドレスaddr−4上のワード、
データ信号d1としてアドレスaddr−3上のワード
を出力する。図1に示された命令デコーダ30は、デー
タバス34,35上のデータ信号d0,d1の両方をレ
ジスタファイル33に格納する。
In the next cycle, the odd address addr
-4 is indicated by the address signal on the address bus. From the memories 16 and 17, addresses (addr-5, addr
-4) word is read, but the selector 24 uses the word on the address addr-4 as the data signal d0,
The word at the address addr-3 is output as the data signal d1. The instruction decoder 30 shown in FIG. 1 stores both of the data signals d0 and d1 on the data buses 34 and 35 in the register file 33.

【0108】この第4サイクル終了時点で、レジスタ2
1の保持値はアドレスaddr−5上のワードに更新さ
れており、レジスタ10の保持値は、奇数アドレスad
dr−6に更新されている。従って、命令デコーダ30
の内部のデクリメント(減分は2)によって、多数のア
ドレスに効率的にアクセスできる。以上のようにして、
非整置の2ワードを同時に効率的にロードすることがで
きる。
At the end of this fourth cycle, register 2
The held value of 1 is updated to the word on the address addr-5, and the held value of the register 10 is the odd address addr-5.
It has been updated to dr-6. Therefore, the instruction decoder 30
The decrement (decrement is 2) inside of allows efficient access to many addresses. As described above,
Two non-aligned words can be loaded efficiently at the same time.

【0109】以上のように、この実施の形態1によれ
ば、連続する非整置ワードをポストインクリメントある
いはポストデクリメント方式のレジスタ間接アドレッシ
ングによってロードする際、メモリの内容とレジスタ2
0および21のコヒーレンシが保たれる場合において、
モード信号moをHにすることによって、通常2サイク
ルかかる非整置2ワードロードを1サイクルで行うこと
ができる。また、非整置の2ワードをロードするため
に、それぞれのアドレスを指定する必要がない。従っ
て、連続した多数のアドレス上の多数の非整置のワード
をロードする場合に、ロードの効率を向上させることが
可能であるなどの効果が得られる。
As described above, according to the first embodiment, when the consecutive non-aligned words are loaded by the register indirect addressing of the post-increment or post-decrement method, the contents of the memory and the register 2 are stored.
In the case where the coherency of 0 and 21 is maintained,
By setting the mode signal mo to H, non-aligned 2-word loading which normally takes 2 cycles can be performed in 1 cycle. Also, it is not necessary to specify each address in order to load two unaligned words. Therefore, when loading a large number of non-aligned words on a large number of consecutive addresses, it is possible to improve the loading efficiency.

【0110】また、多数の部品が単一の回路に設けられ
ており、回路が各種の信号に応じて適切かつ自動的に動
作するので、単純な制御であっても、回路の自動的な動
作によって非整置の2ワードを同時に効率的にロードす
ることが可能である。さらに、メモリ部は、偶数のアド
レスが割り当てられた第1のメモリ16と、奇数のアド
レスが割り当てられた第2のメモリ17を備えており、
入力された一つのアドレスの最下位のビットよりも上位
のビットに対応する二つのワードをメモリ16,17か
らそれぞれ読み出すので、メモリ16,17からのワー
ドの読み出しも効率的に行うことができ、読み出しの方
式を変えなくても、セレクタ22,23が協働して自動
的に非整置の2つのワードを選択するので、制御方式を
複雑にしなくてもよい。
Since a large number of parts are provided in a single circuit and the circuit operates properly and automatically in response to various signals, automatic operation of the circuit is possible even with simple control. It is possible to efficiently load two non-aligned words simultaneously. Further, the memory unit includes a first memory 16 to which even addresses are assigned and a second memory 17 to which odd addresses are assigned,
Since the two words corresponding to the bits higher than the least significant bit of one input address are read from the memories 16 and 17, respectively, the words can be efficiently read from the memories 16 and 17, Even if the reading method is not changed, the selectors 22 and 23 automatically select two non-aligned words in cooperation with each other, so that the control method does not have to be complicated.

【0111】さらに、この実施の形態では、非整置の2
つのワードをメモリからロードする場合に、メモリへの
アクセスの回数に基づいて変動する非整置ロード信号2
wを命令デコーダ30が生成し、非整置ロード信号2w
に基づいて、セレクタ8が、アドレス生成部31で指定
されたアドレスまたは加算器15で加算された結果のア
ドレスを選択して、選択されたアドレスの値を出力す
る。従って、アクセスの回数に応じて確実かつ自動的に
セレクタ8はアドレスを選択でき、セレクタ8で出力さ
れたアドレスの値に基づいて、適切な整置の2つのワー
ドを自動的に読み出すことが可能である。
Further, in this embodiment, the non-aligned 2
When loading one word from memory, a non-aligned load signal that fluctuates based on the number of times the memory is accessed.
The instruction decoder 30 generates w, and the non-aligned load signal 2w
Based on the above, the selector 8 selects the address designated by the address generator 31 or the address resulting from the addition by the adder 15, and outputs the value of the selected address. Therefore, the selector 8 can reliably and automatically select an address according to the number of times of access, and it is possible to automatically read two properly aligned words based on the value of the address output by the selector 8. Is.

【0112】さらにこの実施の形態では、非整置の2つ
のワードをロードする場合に、アドレス生成部31で指
定されたアドレスに+2または−2を加算するセレクタ
7と、セレクタ7で加算された結果のアドレスを格納す
るレジスタ10と、以前のアクセスでレジスタ10に既
に格納されたアドレスと、アドレス生成部31で現在指
定されたアドレスとを比較する比較器11とを備え、比
較器11による比較結果が一致したときに、セレクタ2
2,23が協働して、以前のアクセスでレジスタ20ま
たはレジスタ21に既に格納されたワードと、現在読み
出された整置の2つのワードとから、非整置の2つのワ
ードを選択する。従って、比較器11による比較結果に
基づいて、セレクタ22,23は、レジスタ20または
レジスタ21に既に格納されたワードと現在読み出され
た整置の2つのワードを適切に処理することが可能であ
る。
Further, in this embodiment, when two unaligned words are loaded, the selector 7 for adding +2 or −2 to the address designated by the address generator 31 and the selector 7 for adding are added. The register 10 for storing the resulting address, the comparator 11 for comparing the address already stored in the register 10 by the previous access, and the address currently designated by the address generator 31 are provided, and the comparison by the comparator 11 is performed. Selector 2 when the results match
2 and 23 cooperate to select two unaligned words from the words already stored in the register 20 or the register 21 in the previous access and the two words of the aligned read currently read. . Therefore, based on the comparison result by the comparator 11, the selectors 22 and 23 can appropriately process the word already stored in the register 20 or the register 21 and the currently read two words of the alignment. is there.

【0113】さらにこの実施の形態によれば、非整置の
2つのワードをロードする場合に、レジスタ20とメモ
リ16、あるいはレジスタ21とメモリ17の値のコヒ
ーレンシを監視する回路あるいはソフトウェア(命令ビ
ット列を生成する)によって変動するフラグ(モード信
号)を設定するフラグ設定部と、フラグに基づいて、セ
レクタ22,23を有効または無効に切り替えるAND
ゲート12,13とを備える。従って、非整置の2つの
ワードをロードする場合に、レジスタ20とメモリ1
6、あるいはレジスタ21とメモリ17の値のコヒーレ
ンシを監視する回路あるいはソフトウェア(命令ビット
列を生成する)に応じて、適切にセレクタ22,23を
有効または無効に切り替えることが可能である。
Further, according to this embodiment, a circuit or software (instruction bit string) for monitoring the coherency of the values of the register 20 and the memory 16 or the register 21 and the memory 17 when two unaligned words are loaded. And a flag setting unit that sets a flag (mode signal) that fluctuates according to the flag, and that switches the selectors 22 and 23 between valid and invalid based on the flag.
Gates 12 and 13 are provided. Therefore, when loading two unaligned words, register 20 and memory 1
6, or the selectors 22 and 23 can be appropriately switched to valid or invalid according to a circuit or software (which generates an instruction bit string) that monitors the coherency between the values of the register 21 and the memory 17.

【0114】なお、上述した実施の形態では、単一の命
令デコーダ30が、アドレス信号、モード信号mo、非
整置ロード信号2w、インクリメント信号incおよび
デクリメント信号decの全てを生成し、これらをメモ
リロード制御回路32に供給する。しかし、これらの信
号は、複数の装置で生成されるか、複数の装置からメモ
リロード制御回路32に供給されてもよい。例えば、フ
ラグすなわちモード信号moは特別なレジスタに格納
し、特別なレジスタからメモリロード制御回路32に供
給してもよい。この場合、レジスタにおけるモード信号
moのセットおよびクリアは、ソフトウェアによる制御
に基づいて、命令デコーダ30または他の装置が行って
もよいし、他の回路の動作に基づいて行ってもよい。
In the above-described embodiment, the single instruction decoder 30 generates all of the address signal, the mode signal mo, the unaligned load signal 2w, the increment signal inc and the decrement signal dec, and stores them in the memory. It is supplied to the load control circuit 32. However, these signals may be generated by a plurality of devices or supplied to the memory load control circuit 32 from a plurality of devices. For example, the flag or mode signal mo may be stored in a special register and supplied to the memory load control circuit 32 from the special register. In this case, the setting and clearing of the mode signal mo in the register may be performed by the instruction decoder 30 or another device under the control of software, or may be performed based on the operation of another circuit.

【0115】また、上述した実施の形態では、メモリロ
ード制御回路32からデータ信号d0,d1が出力され
る2本のデータバス34,35が設けられているが、デ
ータ信号d0,d1を識別できるようにして、1本のデ
ータバスだけを設けてもよい。
Further, in the above-described embodiment, the two data buses 34 and 35 for outputting the data signals d0 and d1 from the memory load control circuit 32 are provided, but the data signals d0 and d1 can be identified. Thus, only one data bus may be provided.

【0116】上述したように、ロードされたワードは例
えば汎用レジスタなどのレジスタファイル33に格納さ
れる。ただし、この発明を実施の形態に限定する意図で
はなく、ロードされたワードを他の種類の格納装置、例
えばデータメモリに格納してもよい。
As described above, the loaded word is stored in the register file 33 such as a general-purpose register. However, without intending to limit the present invention to the embodiment, the loaded word may be stored in another type of storage device, for example, a data memory.

【0117】[0117]

【発明の効果】以上のように、この発明によれば、アド
レス指定部で指定されたアドレスに2を加算する第1の
加算部と、メモリ部へのアクセスの回数に基づいて、ア
ドレス指定部で指定されたアドレスまたは第1の加算部
で加算された結果のアドレスを選択して、選択されたア
ドレスの値を出力することが可能な第1の選択部と、第
1の選択部で出力されたアドレスの値に基づいて、メモ
リ部内の2つのアドレスから整置の2つの情報部分を読
み出す読み出し部と、読み出し部により読み出された2
つの情報部分の一方を格納する第1の格納部と、メモリ
部への以前のアクセスで第1の格納部に既に格納された
情報部分と、読み出し部により現在読み出された整置の
2つの情報部分とから、非整置の2つの情報部分を選択
することが可能な第2の選択部とを備えたデータ処理装
置のように構成したので、連続した多数のアドレス上の
多数の非整置のワードをロードする場合に、ロードの効
率を向上させることが可能であるなどの効果がある。
As described above, according to the present invention, the address designating unit is based on the first adding unit for adding 2 to the address designated by the address designating unit and the number of accesses to the memory unit. Output by the first selection unit capable of selecting the address specified by or the address resulting from the addition by the first addition unit and outputting the value of the selected address, and the first selection unit. Based on the value of the read address, the reading unit that reads out two aligned information portions from the two addresses in the memory unit, and the reading unit that reads 2
A first storage for storing one of the two information parts; an information part already stored in the first storage by a previous access to the memory part; and an alignment currently read by the reading part. Since it is configured as a data processing device having a second selection section capable of selecting two non-aligned information sections from the information section, a large number of non-aligned sections on a number of consecutive addresses are arranged. When loading a fixed word, it is possible to improve the loading efficiency.

【0118】この発明によれば、メモリ部、第1の加算
部、第1の選択部、読み出し部、第1の格納部および第
2の選択部が単一の回路に設けられており、メモリ部
は、偶数のアドレスが割り当てられた第1のメモリと、
奇数のアドレスが割り当てられた第2のメモリを備えて
おり、読み出し部は、入力された一つのアドレスの最下
位のビットよりも上位のビットに対応する二つの情報部
分を第1のメモリおよび第2のメモリからそれぞれ読み
出すように構成したので、単純な制御であっても、回路
の自動的な動作によって非整置の2ワードを同時に効率
的にロードすることが可能である。また、第1のメモリ
および第2のメモリからの情報部分の読み出しも効率的
に行うことができ、読み出しの方式を変えなくても、第
2の選択部が自動的に非整置の2つの情報部分を選択す
るので、制御方式を複雑にしなくてもよいなどの効果が
ある。
According to the present invention, the memory section, the first adding section, the first selecting section, the reading section, the first storing section and the second selecting section are provided in a single circuit, and the memory The section has a first memory assigned an even number of addresses,
The reading unit is provided with a second memory to which an odd number of addresses is assigned, and the reading unit stores two information portions corresponding to bits higher than the least significant bit of one input address in the first memory and the first information. Since it is configured to read from each of the two memories, even with simple control, it is possible to efficiently load two non-aligned words simultaneously by the automatic operation of the circuit. In addition, the information portion can be efficiently read from the first memory and the second memory, and the second selection unit automatically performs two non-alignment operations without changing the reading method. Since the information part is selected, there is an effect that the control method does not have to be complicated.

【0119】この発明によれば、非整置の2つの情報部
分をメモリ部からロードする場合に、第1の格納部とメ
モリの値の同一性を監視する回路あるいはソフトウェア
によって変動する非整置ロード信号を生成する命令部を
備え、非整置ロード信号に基づいて、第1の選択部が、
アドレス指定部で指定されたアドレスまたは第1の加算
部で加算された結果のアドレスを選択して、選択された
アドレスの値を出力するように構成したので、アクセス
の回数に応じて確実かつ自動的に第1の選択部はアドレ
スを選択でき、第1の選択部で出力されたアドレスの値
に基づいて、読み出し部は適切な整置の2つの情報部分
を自動的に読み出すことが可能であるなどの効果があ
る。
According to the present invention, when the two non-aligned information portions are loaded from the memory unit, the non-alignment that varies depending on the circuit or software that monitors the identity of the values in the first storage unit and the memory. A first selection unit based on the non-aligned load signal.
Since the address designated by the address designating unit or the address obtained as the result of addition by the first adding unit is selected and the value of the selected address is outputted, it can be performed reliably and automatically according to the number of accesses. First, the first selection unit can select the address, and the reading unit can automatically read the two properly aligned information portions based on the value of the address output by the first selection unit. There are some effects.

【0120】この発明によれば、非整置の2つの情報部
分をメモリ部からロードする場合に、アドレス指定部で
指定されたアドレスに+2または−2を加算する第2の
加算部と、第2の加算部で加算された結果のアドレスを
格納する第2の格納部と、メモリ部への以前のアクセス
で第2の格納部に既に格納されたアドレスと、アドレス
指定部で現在指定されたアドレスとを比較する比較部と
を備え、比較部による比較結果が一致したときに、第2
の選択部が、メモリ部への以前のアクセスで第1の格納
部に既に格納された情報部分と、読み出し部により現在
読み出された整置の2つの情報部分とから、非整置の2
つの情報部分を選択するように構成したので、比較部に
よる比較結果に基づいて、第2の選択部は、第1の格納
部に既に格納された情報部分と読み出し部により現在読
み出された整置の2つの情報部分を適切に処理すること
が可能であるなどの効果がある。
According to the present invention, when the two non-aligned information portions are loaded from the memory portion, the second addition portion for adding +2 or -2 to the address designated by the address designation portion, The second storage unit that stores the address of the result added by the second addition unit, the address that has already been stored in the second storage unit by the previous access to the memory unit, and the address currently designated by the address designation unit. A comparing unit that compares the address with the address, and when the comparison result by the comparing unit matches, the second
The selection unit of the non-alignment 2 from the information portion already stored in the first storage unit by the previous access to the memory unit and the two information portions of the alignment currently read by the reading unit.
Since the two information parts are configured to be selected, the second selection part, based on the comparison result by the comparison part, the information part already stored in the first storage part and the alignment currently read by the reading part. It is possible to appropriately process the two information parts of the storage device.

【0121】この発明によれば、非整置の2つの情報部
分をメモリ部からロードする場合に、第1の格納部とメ
モリの値の同一性を監視する回路あるいはソフトウェア
によって変動するフラグを設定するフラグ設定部と、フ
ラグに基づいて、第2の選択部を有効または無効に切り
替える切替部とを備えるように構成したので、非整置の
2つの情報部分をメモリ部からロードする場合にアクセ
ス回数に応じて、適切に第2の選択部を有効または無効
に切り替えることが可能であるなどの効果がある。
According to the present invention, when two non-aligned information portions are loaded from the memory unit, a circuit that monitors the sameness of the values in the first storage unit and the memory or a flag that varies depending on software is set. Since it is configured to include a flag setting unit for switching and a switching unit for switching the second selection unit between valid and invalid based on the flag, access is performed when two unaligned information portions are loaded from the memory unit. According to the number of times, there is an effect that the second selection unit can be appropriately switched to valid or invalid.

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

【図1】 この発明の実施の形態1に係るデータ処理装
置であるデジタルシグナルプロセッサを示すブロック図
である。
FIG. 1 is a block diagram showing a digital signal processor which is a data processing device according to a first embodiment of the present invention.

【図2】 図1中のメモリロード制御回路の詳細を示す
回路図である。
FIG. 2 is a circuit diagram showing details of a memory load control circuit in FIG.

【図3】 図2中のメモリへのアドレスの割り当て概念
を示す略図である。
FIG. 3 is a schematic diagram showing the concept of address allocation to the memory in FIG.

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

1〜3 ANDゲート、4〜6 ORゲート、7,9,
18,19,24 セレクタ、8 セレクタ(第1の選
択部)、10 レジスタ(第2の格納部)、11 比較
器(比較部)、12,13 ANDゲート(切替部)、
14 加算器(第2の加算部)、15 加算器(第1の
加算部)、16 メモリ(メモリ部、読み出し部、第1
のメモリ)、17 メモリ(メモリ部、読み出し部、第
2のメモリ)、20,21 レジスタ(第1の格納
部)、22,23 セレクタ(第2の選択部)、30
命令デコーダ(命令部、フラグ設定部)、31 アドレ
ス生成部(アドレス指定部)、32 メモリロード制御
回路、33 レジスタファイル、34,35 データバ
ス。
1-3 AND gates, 4-6 OR gates, 7, 9,
18, 19, 24 selectors, 8 selectors (first selection unit), 10 registers (second storage unit), 11 comparators (comparison unit), 12, 13 AND gates (switching unit),
14 adder (second adding section), 15 adder (first adding section), 16 memory (memory section, reading section, first
Memory, 17 memory (memory unit, reading unit, second memory), 20, 21 registers (first storage unit), 22, 23 selector (second selection unit), 30
Instruction decoder (instruction section, flag setting section), 31 address generation section (address designation section), 32 memory load control circuit, 33 register file, 34, 35 data buses.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 二進数で指定される複数のアドレスを有
しており、各アドレスに対応づけられて情報部分が格納
されたメモリ部と、 前記メモリ部内のアクセスすべきアドレスを一度に一つ
指定することができ、以前のアクセスで指定したアドレ
スに2を加算または減算したアドレスを次のアクセスで
指定することができるアドレス指定部と、 前記アドレス指定部で指定されたアドレスに2を加算す
る第1の加算部と、 前記メモリ部へのアクセスの回数に基づいて、前記アド
レス指定部で指定されたアドレスまたは前記第1の加算
部で加算された結果のアドレスを選択して、選択された
アドレスの値を出力することが可能な第1の選択部と、 前記第1の選択部で出力されたアドレスの値に基づい
て、前記メモリ部内の2つのアドレスから整置の2つの
情報部分を読み出す読み出し部と、 前記読み出し部により読み出された2つの情報部分の一
方を格納する第1の格納部と、 前記メモリ部への以前のアクセスで前記第1の格納部に
既に格納された情報部分と、前記読み出し部により現在
読み出された整置の2つの情報部分とから、非整置の2
つの情報部分を選択することが可能な第2の選択部とを
備えたデータ処理装置。
1. A memory unit having a plurality of addresses designated by a binary number and storing an information part in association with each address, and an address to be accessed in the memory unit, one at a time. An address designation unit that can be designated and that can add or subtract 2 to the address designated in the previous access and that can be designated in the next access; and add 2 to the address designated by the address designation unit Based on the number of accesses to the first adding unit and the memory unit, the address designated by the address designating unit or the address resulting from the addition by the first adding unit is selected and selected. A first selection unit capable of outputting an address value; and an arrangement from two addresses in the memory unit based on the address value output by the first selection unit. A reading unit that reads two information portions, a first storage unit that stores one of the two information portions read by the reading unit, and a first storage unit that has been accessed by a previous access to the memory unit. From the already stored information part and the two information parts of the alignment that are currently read by the reading unit, the non-alignment of 2
And a second selection unit capable of selecting one information section.
【請求項2】 メモリ部、第1の加算部、第1の選択
部、読み出し部、第1の格納部および第2の選択部が単
一の回路に設けられており、 前記メモリ部は、偶数のアドレスが割り当てられた第1
のメモリと、奇数のアドレスが割り当てられた第2のメ
モリを備えており、 前記読み出し部は、入力された一つのアドレスの最下位
のビットよりも上位のビットに対応する二つの情報部分
を前記第1のメモリおよび前記第2のメモリからそれぞ
れ読み出すことを特徴とする請求項1記載のデータ処理
装置。
2. A memory section, a first adding section, a first selecting section, a reading section, a first storing section, and a second selecting section are provided in a single circuit, and the memory section comprises: First assigned an even address
Memory and a second memory to which an odd number of addresses are assigned, and the reading unit stores two information parts corresponding to bits higher than the least significant bit of one input address. The data processing device according to claim 1, wherein the data is read from each of the first memory and the second memory.
【請求項3】 非整置の2つの情報部分をメモリ部から
ロードする場合に、第1の格納部とメモリの値の同一性
を監視する回路あるいはソフトウェアによって変動する
非整置ロード信号を生成する命令部を備え、 前記非整置ロード信号2wに基づいて、第1の選択部
が、アドレス指定部で指定されたアドレスまたは第1の
加算部で加算された結果のアドレスを選択して、選択さ
れたアドレスの値を出力することを特徴とする請求項1
または請求項2記載のデータ処理装置。
3. When loading two non-aligned information portions from a memory unit, a non-aligned load signal that fluctuates by a circuit or software that monitors the identity of the values of the first storage unit and the memory is generated. And a first selecting unit selects an address designated by the address designating unit or an address resulting from addition by the first adding unit based on the non-aligned load signal 2w, 2. The value of the selected address is output.
Alternatively, the data processing device according to claim 2.
【請求項4】 非整置の2つの情報部分をメモリ部から
ロードする場合に、アドレス指定部で指定されたアドレ
スに+2または−2を加算する第2の加算部と、 前記第2の加算部で加算された結果のアドレスを格納す
る第2の格納部と、 前記メモリ部への以前のアクセスで前記第2の格納部に
既に格納されたアドレスと、アドレス指定部で現在指定
されたアドレスとを比較する比較部とを備え、 前記比較部による比較結果が一致したときに、第2の選
択部が、前記メモリ部への以前のアクセスで第1の格納
部に既に格納された情報部分と、読み出し部により現在
読み出された整置の2つの情報部分とから、非整置の2
つの情報部分を選択することを特徴とする請求項1から
請求項3のうちいずれか1項記載のデータ処理装置。
4. A second adder unit for adding +2 or −2 to the address designated by the address designation unit when the two non-aligned information portions are loaded from the memory unit, and the second addition unit. A second storage unit for storing an address of a result added by the unit, an address already stored in the second storage unit by a previous access to the memory unit, and an address currently designated by the address designating unit. And a second comparison unit that compares the comparison result of the comparison unit with each other, the second selection unit stores the information portion already stored in the first storage unit by the previous access to the memory unit. And the two information parts of the alignment that are currently read by the reading unit,
4. The data processing device according to claim 1, wherein one information part is selected.
【請求項5】 非整置の2つの情報部分をメモリ部から
ロードする場合に、第1の格納部とメモリの値の同一性
を監視する回路あるいはソフトウェアによって変動する
フラグを設定するフラグ設定部と、前記フラグに基づい
て、第2の選択部を有効または無効に切り替える切替部
とを備えることを特徴とする請求項4記載のデータ処理
装置。
5. A flag setting unit for setting a flag that is changed by a circuit or software that monitors the sameness of the values of the first storage unit and the memory when the two non-aligned information portions are loaded from the memory unit. 5. The data processing device according to claim 4, further comprising: a switching unit that switches the second selection unit between valid and invalid based on the flag.
JP2002099014A 2002-04-01 2002-04-01 Data processor Pending JP2003296105A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002099014A JP2003296105A (en) 2002-04-01 2002-04-01 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002099014A JP2003296105A (en) 2002-04-01 2002-04-01 Data processor

Publications (1)

Publication Number Publication Date
JP2003296105A true JP2003296105A (en) 2003-10-17

Family

ID=29388059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002099014A Pending JP2003296105A (en) 2002-04-01 2002-04-01 Data processor

Country Status (1)

Country Link
JP (1) JP2003296105A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530714A (en) * 2005-02-17 2008-08-07 クゥアルコム・インコーポレイテッド Unaligned memory access prediction

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530714A (en) * 2005-02-17 2008-08-07 クゥアルコム・インコーポレイテッド Unaligned memory access prediction
JP2011150712A (en) * 2005-02-17 2011-08-04 Qualcomm Inc Unaligned memory access prediction
JP4856100B2 (en) * 2005-02-17 2012-01-18 クゥアルコム・インコーポレイテッド Non-aligned memory access prediction

Similar Documents

Publication Publication Date Title
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
US7782683B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US20060218315A1 (en) Memory access control circuit
US20090313402A1 (en) FIFO device and method of storing data in FIFO buffer
JP2007133456A (en) Semiconductor device
CN113900974B (en) Storage device, data storage method and related equipment
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US6253290B1 (en) Multiprocessor system capable of circumventing write monitoring of cache memories
JP2001075866A (en) Method for operating storage device, and storage device
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
JP2003296105A (en) Data processor
JP4431492B2 (en) Data transfer unit that supports multiple coherency granules
JP2001256104A (en) Information processor
JP2007140858A (en) Method for accessing memory, and device for accessing memory
JPH04324194A (en) Rom circuit
JP4549073B2 (en) Memory control circuit
JP3222647B2 (en) Automatic memory bank switching system
JP3322993B2 (en) Information processing device
JPS6014435B2 (en) Storage device
JP2004145446A (en) Storage device and its control method
WO2001067271A1 (en) Information processing device
JPS61138352A (en) Data transfer control system
KR950003883B1 (en) Memory logic controller
KR100294639B1 (en) A cache apparatus for multi-access
JP2762797B2 (en) Information processing apparatus of pipeline configuration having instruction cache