JP2001256104A - Information processor - Google Patents

Information processor

Info

Publication number
JP2001256104A
JP2001256104A JP2000070346A JP2000070346A JP2001256104A JP 2001256104 A JP2001256104 A JP 2001256104A JP 2000070346 A JP2000070346 A JP 2000070346A JP 2000070346 A JP2000070346 A JP 2000070346A JP 2001256104 A JP2001256104 A JP 2001256104A
Authority
JP
Japan
Prior art keywords
address
transfer
register
data
information processing
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
JP2000070346A
Other languages
Japanese (ja)
Inventor
Takashi Sakamoto
貴 坂本
Reiko Tagami
玲子 田上
Kazuhito Konno
和仁 今野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2000070346A priority Critical patent/JP2001256104A/en
Publication of JP2001256104A publication Critical patent/JP2001256104A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processor capable of being applied even to a general purpose bus system, reducing the processing loads of a CPU, improving the using efficiency of a bus and effectively accessing access non-continuous addresses. SOLUTION: In a conversion table 14, the actual addresses of registers in a register group 9 are made to correspond to continuous rearrangement addresses. Whether or not the DMA transferred address inside an address buffer 12 is the rearrangement address is judged in a high-order address decoder 13, and when it is the rearrangement address, the conversion table 14 is referred to and the actual address of the register made to correspond to the address is outputted. The actual address is converted to a register selection signal in an address decoder 15 and the register in the register group 9 selected by the register selection signal is accessed. When DMA transfer is performed to the continuous rearrangement addresses, even the non-continuous registers can be continuously accessed.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、外部よりアドレス
及びデータを受け取り、アドレスに従ってデータ転送を
行う情報処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus which receives an address and data from the outside and transfers data according to the address.

【0002】[0002]

【従来の技術】近年、半導体デバイスの高集積化が進む
とともに、1つのデバイスに実装される機能も増加し、
それに伴って内部レジスタ等の数も増加する傾向にあ
る。一般に、デバイスの設計は内部の機能モジュールご
とに行われる。そのため、複数の内部レジスタは、通
常、各機能ごとにまとめられてアドレスが割り当てられ
る。図6は、デバイスの内部レジスタのアドレスマップ
の一例の説明図である。図6に示す例では、I/O、D
MA等の機能ごとに、その機能を制御するためのI/O
コントロールレジスタ群、DMAコントロールレジスタ
群、…といったレジスタ群が設けられている。そして、
各機能ごとのレジスタ群に対して、連続したアドレス領
域が割り当てられている。デバイスを使用する場合は、
デバイスを動作させるのに必要な複数のレジスタに対し
て、ソフトウェアによって必要な設定を行う。これによ
って、デバイスは所定の動作が可能となる。
2. Description of the Related Art In recent years, as the degree of integration of semiconductor devices has increased, the functions mounted on one device have also increased.
Accordingly, the number of internal registers and the like tends to increase. Generally, a device is designed for each internal functional module. Therefore, a plurality of internal registers are usually assigned addresses collectively for each function. FIG. 6 is an explanatory diagram of an example of an address map of an internal register of the device. In the example shown in FIG. 6, I / O, D
I / O for controlling each function such as MA
Register groups such as a control register group, a DMA control register group,... Are provided. And
A continuous address area is assigned to a register group for each function. If you use a device,
Necessary settings are made by software for a plurality of registers necessary for operating the device. Thus, the device can perform a predetermined operation.

【0003】しかし、デバイスを動作させるために設定
しなければならないレジスタは、必ずしもすべてのレジ
スタではなく、また設定順序が規定されるレジスタも存
在する。そのため、例えばレジスタ1、レジスタ4を設
定し、レジスタ3を二度設定し、レジスタ5を設定し…
というように、飛び飛びの不連続なアドレスに対して設
定を行わなければならない場合が発生する。このような
不連続のアドレスに配置されたレジスタに対して設定を
行う場合、従来はCPUを使用して、1つ1つ設定を行
っていた。
However, the registers that must be set to operate the device are not necessarily all registers, and there are also registers whose setting order is defined. Therefore, for example, register 1 and register 4 are set, register 3 is set twice, register 5 is set, and so on.
As described above, there is a case where setting must be performed for discrete addresses which are discrete. Conventionally, when setting is performed on registers arranged at such discontinuous addresses, each setting is performed one by one using a CPU.

【0004】図7は、従来の情報処理装置を含むシステ
ム構成の一例を示すブロック図である。図中、1はCP
U、2はメモリ、3はホストバス、4はバスブリッジ、
7はシステムバス、8は情報処理装置、9はレジスタ群
である。CPU1およびメモリ2がホストバス3に接続
され、さらにバスブリッジ4を介してシステムバス7に
情報処理装置8が接続されている。
FIG. 7 is a block diagram showing an example of a system configuration including a conventional information processing apparatus. In the figure, 1 is CP
U, 2 is a memory, 3 is a host bus, 4 is a bus bridge,
Reference numeral 7 denotes a system bus, 8 denotes an information processing device, and 9 denotes a register group. The CPU 1 and the memory 2 are connected to a host bus 3, and an information processing device 8 is connected to a system bus 7 via a bus bridge 4.

【0005】このような構成のシステムにおいて、一般
的にはCPU1やメモリ2などの高速性が必要なデバイ
スは動作周波数の高いホストバス3に接続され、情報処
理装置8のような周辺デバイスなどは動作周波数の低い
システムバス7に接続される。情報処理装置8には各種
の設定を行うためのレジスタ群9を有しており、これら
のレジスタ群9の設定を行わないと情報処理装置8に所
望の動作を行わせることはできない。
In a system having such a configuration, generally, devices requiring high speed, such as the CPU 1 and the memory 2, are connected to the host bus 3 having a high operating frequency, and peripheral devices such as the information processing device 8 are not used. It is connected to a system bus 7 having a low operating frequency. The information processing device 8 has a register group 9 for performing various settings. Unless these register groups 9 are set, the information processing device 8 cannot perform a desired operation.

【0006】従来のように、CPU1を使用して低速な
システムバス7上に接続されている情報処理装置8等の
レジスタ群9に対してリードあるいはライトを行うとい
ったアクセスは、CPU1の処理占有時間が長くなる。
そのため、CPU1およびホストバス3の処理能力を低
下させる。その上、例えばある処理サイクルごとに毎回
設定が必要なレジスタの数が増すほどCPU1の負荷が
増大し、スループットの低下、およびバスの使用効率の
低下を招き、その影響が無視できなくなってきている。
As in the prior art, an access such as reading or writing to the register group 9 of the information processing device 8 or the like connected to the low-speed system bus 7 using the CPU 1 requires the processing occupation time of the CPU 1. Becomes longer.
Therefore, the processing capabilities of the CPU 1 and the host bus 3 are reduced. In addition, for example, as the number of registers that need to be set every time in a certain processing cycle increases, the load on the CPU 1 increases, leading to a decrease in throughput and a decrease in bus use efficiency, and the effects thereof cannot be ignored. .

【0007】この問題を改善する方法として、まずシス
テムバス7の動作周波数の向上がある。システムバス7
の動作周波数を向上させることにより、システムバス7
上のデバイスにアクセスしたときのCPU1の占有時間
は減少する。しかし、同時にクロストークなどの実装ノ
イズの問題が生じ、改善が困難となってしまう。
As a method of solving this problem, there is a method of increasing the operating frequency of the system bus 7 first. System bus 7
By increasing the operating frequency of the
The occupation time of the CPU 1 when accessing the above device is reduced. However, at the same time, there is a problem of mounting noise such as crosstalk, which makes it difficult to improve.

【0008】また、別の改善方法として、バースト転送
やDMA(ダイレクトメモリアクセス)転送の利用が知
られている。バースト転送とは、データの読み出しおよ
び書き込みにおいて、1つの先頭アドレスを指定するこ
とでそのアドレス以降のアドレスに連続的にアクセスを
行う転送方式である。図8は、CPUによるアクセスサ
イクルとバースト転送によるアクセスサイクルの一例の
説明図である。図中、‘A’はアドレスフェーズ、
‘D’はデータフェーズを示す。CPU1にる通常のア
クセスサイクルは、図8(a)に示すように、CPU1
からホストバス3に対して、1つのアドレスと、それに
対応する1つのデータが出力される。すると、出力され
たアドレス及びデータがバスブリッジ4を介して、シス
テムバス7に対して1つのアドレスと対応する1つのデ
ータが出力され、情報処理装置8に転送される。このよ
うなアクセスサイクルが繰り返される。
As another improvement method, use of burst transfer or DMA (direct memory access) transfer is known. The burst transfer is a transfer method in which, in data reading and writing, one head address is designated to continuously access addresses subsequent to that address. FIG. 8 is an explanatory diagram of an example of an access cycle by the CPU and an access cycle by the burst transfer. In the figure, 'A' is an address phase,
'D' indicates a data phase. As shown in FIG. 8A, the normal access cycle of the CPU 1
Outputs one address and one corresponding data to the host bus 3. Then, the output address and data are output to the system bus 7 via the bus bridge 4, and one data corresponding to one address is output to the information processing device 8. Such an access cycle is repeated.

【0009】バースト転送では、マスタ(この場合はC
PU1)は先頭アドレスを指定するのみで、後はスレー
ブ(ターゲット)側でアドレスを自動的にインクリメン
トさせながらデータを取り込み、アクセスを行うもので
ある。図8(b)に示すように、CPU1からは先頭ア
ドレスと、それに続く4つのデータを出力している。バ
スブリッジ4を介してシステムバス7に出力される場合
にも、1つの先頭アドレスと4つのデータを続けて出力
する。データを受け取る例えば情報処理装置8では、先
頭アドレスを受け取り、そのアドレスから連続するアド
レスに4つのデータを格納することになる。
In the burst transfer, the master (in this case, C
PU1) merely designates the start address, and the slave (target) side fetches data while automatically incrementing the address to access the data. As shown in FIG. 8B, the CPU 1 outputs the head address and the following four data. Also when the data is output to the system bus 7 via the bus bridge 4, one head address and four data are continuously output. For example, the information processing device 8 that receives the data receives the head address and stores four data in consecutive addresses from that address.

【0010】図8(a)と(b)を比較して分かるよう
に、バースト転送では複数のアドレスフェーズが省略さ
れるため、同じデータ転送数でもバースト転送の方がバ
スを効率的に使用できる。最近は高速化のためにバース
ト転送が可能なデバイスが多くなってきている。しかし
このバースト転送は連続したアドレスに対してのみ有効
であり、アドレスが連続していない場合には、バースト
転送方式自体を使用することができない。
As can be seen by comparing FIGS. 8A and 8B, since a plurality of address phases are omitted in the burst transfer, the bus can be used more efficiently in the burst transfer even with the same number of data transfers. . Recently, devices capable of burst transfer have been increasing for speeding up. However, this burst transfer is effective only for continuous addresses, and when addresses are not continuous, the burst transfer method itself cannot be used.

【0011】DMA転送とは、CPUを介在させずに転
送を行う方法である。図9は、従来のDMA転送を用い
たシステムの一例を示すブロック図、図10は、同じく
動作の一例を示すフローチャートである。また、図11
は、DMA転送を用いた場合のバスサイクルの一例の説
明図である。図中、図6と同様の部分には同じ符号を付
してある。6はDMAコントローラ、41は転送元アド
レスレジスタ、42は転送先アドレスレジスタ、43は
転送サイズレジスタ、44は転送元記憶領域、45,4
7は転送領域、46は転送先記憶領域である。この例で
は、ホストバス3に接続されている転送元記憶領域44
内の転送領域45を、システムバス7に接続されている
転送先記憶領域46内の転送領域47へ転送するものと
する。
[0011] DMA transfer is a method of performing transfer without the intervention of a CPU. FIG. 9 is a block diagram showing an example of a system using the conventional DMA transfer, and FIG. 10 is a flowchart showing an example of the same operation. FIG.
FIG. 3 is an explanatory diagram of an example of a bus cycle when DMA transfer is used. In the figure, the same parts as those in FIG. 6 are denoted by the same reference numerals. 6 is a DMA controller, 41 is a transfer source address register, 42 is a transfer destination address register, 43 is a transfer size register, 44 is a transfer source storage area, and 45 and 4
7 is a transfer area, and 46 is a transfer destination storage area. In this example, the transfer source storage area 44 connected to the host bus 3
Is transferred to a transfer area 47 in a transfer destination storage area 46 connected to the system bus 7.

【0012】DMAコントローラ6内には、転送元アド
レスレジスタ41、転送先アドレスレジスタ42、転送
サイズレジスタ43が設けられている。転送元アドレス
レジスタ41は、転送元記憶領域44内の転送領域45
のアドレスを保持する。また転送先アドレスレジスタ4
2は、転送先記憶領域46内の転送領域47のアドレス
を保持する。さらに転送サイズレジスタ43は、転送す
るデータ量を保持する。
The DMA controller 6 has a transfer source address register 41, a transfer destination address register 42, and a transfer size register 43. The transfer source address register 41 stores a transfer area 45 in the transfer source storage area 44.
Holds the address of The transfer destination address register 4
2 holds the address of the transfer area 47 in the transfer destination storage area 46. Further, the transfer size register 43 holds the amount of data to be transferred.

【0013】最初に、CPU1を用いて、S101にお
いてDMAコントローラ6に設けられた転送元アドレス
レジスタ41に転送元記憶領域44内の転送領域45の
先頭アドレスを設定する。またS102において、転送
先アドレスレジスタ42に転送先記憶領域46内の転送
領域47の先頭アドレスを設定する。さらに、S103
において、転送サイズレジスタ43に転送すべき転送デ
ータ量を設定する。3つのレジスタへのデータの設定が
終了した後、S104においてDMAコントローラ6に
起動をかけると、DMAコントローラ6は転送を開始す
る。S105においてデータを転送すると、S106に
おいて、転送サイズレジスタ43に設定されている転送
データ量だけ転送し終えたか否かを判定し、設定されて
いる転送データ量に達していなければアドレスをインク
リメントし、S105へ戻ってデータの転送を繰り返
す。転送サイズレジスタ43に設定された転送量を転送
し終えればDMA転送は終了する。
First, the CPU 1 sets the start address of the transfer area 45 in the transfer source storage area 44 in the transfer source address register 41 provided in the DMA controller 6 in S101. In S102, the start address of the transfer area 47 in the transfer destination storage area 46 is set in the transfer destination address register 42. Further, S103
In, the transfer data amount to be transferred is set in the transfer size register 43. After the setting of the data in the three registers is completed, when the DMA controller 6 is activated in S104, the DMA controller 6 starts the transfer. When the data is transferred in S105, it is determined in S106 whether or not the transfer has been completed by the transfer data amount set in the transfer size register 43. If the transfer data amount has not reached the set transfer data amount, the address is incremented. Returning to S105, the data transfer is repeated. When the transfer amount set in the transfer size register 43 has been transferred, the DMA transfer ends.

【0014】上述のような動作により、バスサイクルは
図11に示すようになる。すなわち、まずCPU1によ
るDMAコントローラ6内のレジスタへの設定によるア
クセス(ここでは3つのレジスタにデータを設定するた
めの3回のアクセス)が発生した後、DMAコントロー
ラ6により1データずつの転送が行われる。このよう
に、DMA転送を用いることによって、データの転送は
DMAコントローラ6が行うため、その分CPU1の負
荷が軽くなり、CPU1は他の処理を行うことができ
る。
By the above operation, the bus cycle becomes as shown in FIG. That is, first, after an access by setting to a register in the DMA controller 6 by the CPU 1 (here, three accesses for setting data to three registers) occurs, the DMA controller 6 transfers data one by one. Will be As described above, by using the DMA transfer, the data transfer is performed by the DMA controller 6, so that the load on the CPU 1 is reduced correspondingly, and the CPU 1 can perform other processing.

【0015】また、バースト転送とDMA転送を組み合
わせた、DMAバースト転送方式という方式もある。図
12は、DMAバースト転送方式におけるバスサイクル
の一例の説明図である。CPU1によるDMAコントロ
ーラ6への設定の後、この例では1つのアドレスに続け
て4つのデータを連続して転送している。この方式を用
いれば、CPU1の負担が軽減され、なおかつ、バスの
使用効率も向上する。
There is also a method called a DMA burst transfer method in which burst transfer and DMA transfer are combined. FIG. 12 is an explanatory diagram of an example of a bus cycle in the DMA burst transfer method. After setting in the DMA controller 6 by the CPU 1, in this example, four data are successively transferred following one address. With this method, the load on the CPU 1 is reduced, and the bus use efficiency is improved.

【0016】このようなDMA転送あるいはDMAバー
スト転送では、指定した先頭アドレスから順次転送が行
われるため、連続したアドレス領域における大量のデー
タを連続したアドレス領域に転送する場合は非常に効果
的である。しかし、アドレスが不連続でかつ1回の転送
量が少ない場合には、アドレスが不連続な境界でDMA
動作が終了し、その境界ごとにDMAコントローラのレ
ジスタへの設定や再起動処理を行わなければならない。
図13は、従来のDMA転送を用いたシステムの一例に
おいて、不連続領域へのDMA転送を行う場合の動作の
一例を示すフローチャートである。なお、図10と同様
の部分には同じ符号を付してある。103において転送
サイズレジスタ43に設定する転送データ量は、転送す
るデータのうち、アドレスが連続している部分のデータ
量であり、S106では、連続しているデータの転送が
終了したか否かを判定することになる。アドレスが連続
した転送領域についてデータの転送が終了したら、S1
11において、全転送領域について転送が終了したか否
かを判定する。未転送の領域が残っている場合には、S
101へ戻る。この場合、次の転送領域についての転送
を行うためには、転送元のアドレス、転送先のアドレ
ス、アドレスが連続しているデータ量の設定からやり直
すことになる。そのため、アドレスが不連続な境界が多
数存在すると、その度にCPU1による設定をやり直す
ことになり、DMAを利用してもその効果があまり発揮
されなくなる。
In such a DMA transfer or a DMA burst transfer, transfer is sequentially performed from a designated head address, so that it is very effective to transfer a large amount of data in a continuous address area to a continuous address area. . However, if the address is discontinuous and the amount of transfer at one time is small, the DMA at the boundary where the address is discontinuous is used.
The operation is completed, and the setting to the register of the DMA controller and the restart processing must be performed for each boundary.
FIG. 13 is a flowchart showing an example of an operation when performing a DMA transfer to a discontinuous area in an example of a conventional system using the DMA transfer. The same parts as those in FIG. 10 are denoted by the same reference numerals. The transfer data amount set in the transfer size register 43 in 103 is the data amount of a portion where addresses are continuous among the data to be transferred. In S106, it is determined whether or not the transfer of the continuous data has been completed. It will be determined. When the data transfer is completed for the transfer area where the addresses are continuous, S1
At 11, it is determined whether the transfer has been completed for all the transfer areas. If an untransferred area remains, S
Return to 101. In this case, in order to perform the transfer for the next transfer area, the transfer source address, the transfer destination address, and the data amount in which the addresses are continuous must be set again. Therefore, if there are many boundaries where addresses are discontinuous, the setting by the CPU 1 is redone each time, and even if DMA is used, the effect is not sufficiently exhibited.

【0017】そこで、上述のような従来のDMA転送の
問題を解決するため、例えば特開平7−6116号に
は、アドレスが不連続な領域に対して効率的にDMA転
送を行うDMA制御回路が示されている。図14は、従
来のDMA転送を用いたシステムの別の例を示すブロッ
ク図、図15は、同じく動作の一例を示すフローチャー
トである。図中、図9と同様の部分、及び図10と同様
の動作を行うステップには同じ符号を付してある。42
−1〜42−nは転送先アドレスレジスタ、47−1〜
47−nは転送領域である。この構成では、複数の不連
続な転送先記憶領域46中の転送領域47−1〜nの先
頭アドレスを、DMAコントローラ6に設けられた複数
の転送先アドレスレジスタ42−1〜nに設定しておく
ものである。
In order to solve the above-mentioned problem of the conventional DMA transfer, for example, Japanese Patent Application Laid-Open No. 7-6116 discloses a DMA control circuit for efficiently performing a DMA transfer to an area where addresses are discontinuous. It is shown. FIG. 14 is a block diagram showing another example of a system using the conventional DMA transfer, and FIG. 15 is a flowchart showing an example of the same operation. In the figure, the same parts as those in FIG. 9 and the steps performing the same operations as in FIG. 10 are denoted by the same reference numerals. 42
-1 to 42-n are transfer destination address registers;
47-n is a transfer area. In this configuration, the start addresses of the transfer areas 47-1 to n in the plurality of discontinuous transfer destination storage areas 46 are set in the transfer destination address registers 42-1 to n provided in the DMA controller 6. It is something to keep.

【0018】この構成における動作は、図15に示すよ
うに、S101で転送元アドレスを転送元アドレスレジ
スタ41に設定した後、S102−1〜nにおいて、転
送先記憶領域46中の転送領域47−1〜nの先頭アド
レスを転送先アドレスレジスタ42−1〜nに順次設定
する。さらにS103で転送データ量を設定した後、S
104でDMAを起動する。これによって、転送データ
量に達するまでDMAを止めることなく、S105にお
けるDMA転送が行われる。
As shown in FIG. 15, the operation in this configuration is as follows. After the transfer source address is set in the transfer source address register 41 in S101, the transfer area 47-in the transfer destination storage area 46 is set in S102-1 to S102-n. The head addresses 1 to n are sequentially set in the transfer destination address registers 42-1 to 42-n. Further, after setting the transfer data amount in S103,
At 104, the DMA is started. Thus, the DMA transfer in S105 is performed without stopping the DMA until the transfer data amount is reached.

【0019】このように、図14に示す構成によれば、
不連続領域に対するDMA転送でも、最初に複数の転送
先アドレスの設定を行っておくことができるので、転送
先アドレスの不連続境界においてもDMA転送動作を止
めることなく転送することが可能となる。しかしなが
ら、すべての転送先アドレスを設定してから起動をかけ
なければならず、CPU1での設定のオーバーヘッドが
大きいという問題がある。また、DMAコントローラ6
に設けることのできる転送先アドレスレジスタの数は限
られており、不連続領域が多数になった場合には、やは
りCPU1を介して再設定および再起動を行う必要があ
る。さらに、特殊なDMAコントローラを必要とし、汎
用的ではないという問題もある。
As described above, according to the configuration shown in FIG.
Even in a DMA transfer to a discontinuous area, a plurality of transfer destination addresses can be set first, so that a transfer can be performed without stopping the DMA transfer operation even at a discontinuous boundary between transfer destination addresses. However, it is necessary to start after setting all the transfer destination addresses, and there is a problem that setting overhead in the CPU 1 is large. Also, the DMA controller 6
The number of transfer destination address registers that can be provided in the CPU is limited, and when the discontinuous area becomes large, it is necessary to reset and restart the CPU via the CPU 1 as well. Further, there is a problem that a special DMA controller is required and the DMA controller is not general-purpose.

【0020】また、上述の技術はいずれも、ある程度の
サイズをもった不連続な領域に対して有効であり、レジ
スタのようにバイト単位あるいはワード単位でアドレス
が不連続なものに対しての転送には全く効果がない。
All of the above-mentioned techniques are effective for discontinuous areas having a certain size, and are used for transferring data of discontinuous addresses such as registers in byte units or word units. Has no effect at all.

【0021】また別の技術として、例えば特開平3―2
60750号公報には、転送元および転送先のいずれの
アドレスが不連続であってもDMA転送を行うことがで
きるDMA転送方式が開示されている。図16は、従来
のDMA転送を用いたシステムのさらに別の例を示すブ
ロック図である。図中、51はMPU、52はCPU、
53はDMAコントローラ、54はROM、55はRA
M、56はアドレス変換部、57はセレクタ回路、58
は内部バス、59は共通バス、60〜62はメモリ、6
3,64は変換テーブルである。主制御部は、CPU5
2とDMAコントローラ53(DMACと示す)とより
なるMPU51と、ROM54とRAM55と、アドレ
ス変換部56と、セレクタ回路57とにより構成されて
おり、これらは内部バス58で相互に接続されている。
As another technique, for example, Japanese Patent Laid-Open No.
Japanese Patent No. 60750 discloses a DMA transfer method capable of performing a DMA transfer even if the addresses of a transfer source and a transfer destination are discontinuous. FIG. 16 is a block diagram showing still another example of the system using the conventional DMA transfer. In the figure, 51 is an MPU, 52 is a CPU,
53 is a DMA controller, 54 is a ROM, 55 is RA
M and 56 are address converters, 57 is a selector circuit, 58
Is an internal bus, 59 is a common bus, 60 to 62 are memories, 6
Reference numerals 3 and 64 are conversion tables. The main control unit is a CPU 5
2 and a DMA controller 53 (denoted as DMAC), an MPU 51, a ROM 54, a RAM 55, an address converter 56, and a selector circuit 57, which are interconnected by an internal bus 58.

【0022】テーブル格納部としてのROM54には、
変換テーブル63及び64が少なくとも格納されてい
る。変換テーブル63には、DMAコントローラ53に
より供給される連続した転送先アドレスを、複数のメモ
リ60〜62をアクセスする不連続な実アドレスに変換
する第一転送パターンが格納されている。また、変換テ
ーブル64には、DMAコントローラ53より供給され
る連続した転送元アドレスを、複数のメモリ60〜62
をアクセスする不連続な実アドレスに変換する第二転送
パターンが格納されている。
In the ROM 54 as a table storage,
Conversion tables 63 and 64 are stored at least. The conversion table 63 stores a first transfer pattern for converting continuous transfer destination addresses supplied by the DMA controller 53 into discontinuous real addresses for accessing the memories 60 to 62. The conversion table 64 stores continuous transfer source addresses supplied from the DMA controller 53 in a plurality of memories 60 to 62.
Is stored in a second transfer pattern for converting a non-consecutive real address to be accessed.

【0023】アドレス変換部56は、ROM54より設
定された単一の変換テーブル63または64を用いて、
DMAコントローラ53より供給される転送先アドレス
および転送元アドレスを実アドレスに変換する。セレク
タ回路57は、CPU52がメモリ60〜62をアクセ
スするとき、内部バス58より供給されるCPU52の
出力するアドレスを共通バス59に供給し、DMA転送
時にはアドレス変換部56より供給される実アドレスに
切り替えて共通バス59に供給する。
The address conversion unit 56 uses a single conversion table 63 or 64 set from the ROM 54 to
The transfer destination address and the transfer source address supplied from the DMA controller 53 are converted into real addresses. When the CPU 52 accesses the memories 60 to 62, the selector circuit 57 supplies the address output from the CPU 52 supplied from the internal bus 58 to the common bus 59, and supplies the real address supplied from the address conversion unit 56 during DMA transfer. Switch to supply to common bus 59.

【0024】これらの構成によって、DMAコントロー
ラ53から連続したアドレスが出力されると、そのアド
レスをアドレス変換部56で実アドレスに変換するの
で、例えば実アドレスが不連続であってもDMA転送を
行うことができる。
With these configurations, when a continuous address is output from the DMA controller 53, the address is converted into a real address by the address conversion unit 56. Therefore, even if the real address is discontinuous, for example, DMA transfer is performed. be able to.

【0025】しかしながらこの方式を用いたとしても、
図16における主制御部のような特殊なハードウエア構
成を必要とし、例えば汎用のバスシステムには適用でき
ない。その上、バスに接続されるデバイス構成が異なる
と変換テーブルを書き換えなければならない。さらに、
共通バス59上に出力されるアドレスは不連続なアドレ
スのため、共通バス59上のデバイスに対してバースト
転送の技術を適用することができず、バスの使用効率が
悪いという問題があった。
However, even if this method is used,
A special hardware configuration such as the main control unit in FIG. 16 is required and cannot be applied to, for example, a general-purpose bus system. In addition, if the device configuration connected to the bus is different, the conversion table must be rewritten. further,
Since the addresses output on the common bus 59 are discontinuous addresses, it is not possible to apply the burst transfer technique to the devices on the common bus 59, and there is a problem that the bus use efficiency is low.

【0026】[0026]

【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、汎用的なバスシステムにも
適用することが可能であり、CPUの処理負荷を低減さ
せ、バスの使用効率を向上させるとともに、不連続なア
ドレスに対するアクセスを効果的に行うことができる情
報処理装置を提供することを目的とするものである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and can be applied to a general-purpose bus system. It is an object of the present invention to provide an information processing apparatus capable of improving efficiency and effectively accessing discontinuous addresses.

【0027】[0027]

【課題を解決するための手段】本発明は、レジスタなど
の記憶手段の実アドレスとは異なる連続した複数の再配
置アドレスに対して、それぞれ、記憶手段の実アドレス
を対応付けてアドレス管理手段が管理している。そし
て、外部より受け取った再配置アドレスに対応する実ア
ドレスあるいは受け取った再配置アドレスから連続する
再配置アドレスに対応する実アドレスにより記憶手段を
順次アクセスする。これによって、例えばDMA転送な
どによって連続した再配置アドレスを受け取った場合
に、実アドレスとしては不連続なアドレスでも記憶手段
をアクセスすることができる。またバースト転送を行う
場合にも、受け取った再配置アドレスから連続する再配
置アドレスに対応する実アドレスを順次アクセスする。
再配置アドレスは連続していても、対応付けられている
実アドレスは不連続でよく、バースト転送時にも不連続
なアドレスの記憶手段をアクセスすることができる。
According to the present invention, the address management means associates the real addresses of the storage means with a plurality of consecutive relocation addresses different from the real addresses of the storage means such as registers. Managing. Then, the storage unit is sequentially accessed by a real address corresponding to a relocation address received from the outside or a real address corresponding to a relocation address continuous from the received relocation address. Thus, for example, when a continuous relocation address is received by DMA transfer or the like, the storage unit can be accessed even with a discontinuous address as a real address. Also, when performing burst transfer, real addresses corresponding to successive relocation addresses are sequentially accessed from the received relocation addresses.
Even though the relocation addresses are continuous, the associated real addresses may be discontinuous, and the storage means of the discontinuous addresses can be accessed even during burst transfer.

【0028】このような構成によって、例えば1バイト
あるいは1ワード単位といった単位の不連続なアドレス
のレジスタに対してアクセスする場合にも、アクセスす
る順に連続した再配置アドレスに対応付けておけばよ
い。これによって、不連続な実アドレスであっても連続
した再配置アドレスによって扱うことができるようにな
り、DMA転送やバースト転送することが可能になる。
このようなDMA転送やバースト転送により、CPUの
処理負荷を軽減し、また、バスの使用効率が向上するこ
とは明らかである。なお、DMA転送やバースト転送を
行う場合に、DMAコントローラやバスシステムはその
ままでよいため、これらの汎用性を損なうことはない。
With such a configuration, even when accessing a register having a discontinuous address in a unit of, for example, one byte or one word, the register may be associated with a continuous relocation address in the order of access. As a result, even a discontinuous real address can be handled by a continuous relocation address, and DMA transfer and burst transfer can be performed.
It is clear that such a DMA transfer or burst transfer reduces the processing load on the CPU and improves the bus use efficiency. Note that when performing DMA transfer or burst transfer, the DMA controller and the bus system may be left as they are, so that their versatility is not impaired.

【0029】アドレス管理手段が管理している再配置ア
ドレスと実アドレスの対応は、例えばルックアップテー
ブルで管理することができる。さらに実アドレスから前
記複数の記憶手段のいずれかを選択する選択信号に変換
するアドレスデコーダを設け、選択信号を用いて実際の
記憶手段へのアクセスを行うように構成することができ
る。また、このような再配置アドレスから選択信号への
変換を複数のデコード手段によって行うこともできる。
ルックアップテーブルによる再配置アドレスと実アドレ
スの対応の設定や、デコード手段から出力される選択信
号に対応する再配置アドレスの設定は、外部より行うこ
とができるように構成しておくことができる。
The correspondence between the reallocation address and the real address managed by the address management means can be managed by, for example, a look-up table. Further, it is possible to provide an address decoder for converting a real address into a selection signal for selecting any of the plurality of storage units, and to access the actual storage unit using the selection signal. Further, such conversion from the relocation address to the selection signal can be performed by a plurality of decoding means.
The setting of the correspondence between the reallocation address and the real address using the look-up table and the setting of the reallocation address corresponding to the selection signal output from the decoding means can be configured to be externally performed.

【0030】[0030]

【発明の実施の形態】図1は、本発明の情報処理装置の
第1の実施の形態を含むシステムの一例を示すブロック
図である。図中、図7と同様の部分には同じ符号を付し
てある。5はラインバッファ、6はDMAコントロー
ラ、11はデータバッファ、12はアドレスバッファ、
13は上位アドレスデコーダ、14は変換テーブル、1
5はアドレスデコーダである。図1に示すシステムで
は、ホストバス3にCPU1およびメモリ2が接続され
ており、ホストバス3からバスブリッジ4を介してシス
テムバス7上に情報処理装置8が接続されている。ここ
でバスブリッジ4は、DMAコントローラ6(DMAC
と記してある)およびラインバッファ5を備えている。
FIG. 1 is a block diagram showing an example of a system including a first embodiment of an information processing apparatus according to the present invention. In the figure, the same parts as those in FIG. 7 are denoted by the same reference numerals. 5 is a line buffer, 6 is a DMA controller, 11 is a data buffer, 12 is an address buffer,
13 is an upper address decoder, 14 is a conversion table, 1
5 is an address decoder. In the system shown in FIG. 1, a CPU 1 and a memory 2 are connected to a host bus 3, and an information processing device 8 is connected from the host bus 3 to a system bus 7 via a bus bridge 4. Here, the bus bridge 4 is connected to a DMA controller 6 (DMAC).
) And a line buffer 5.

【0031】情報処理装置8は、データバッファ11及
びアドレスバッファ12と、アドレス管理手段を構成す
る上位アドレスデコーダ13、変換テーブル14、アド
レスデコーダ15と、レジスタ群9を備えている。デー
タバッファ11は、システムバス7を介して送られてく
るデータを保持し、あるいは、レジスタ群9から読み出
されたデータを保持する。またアドレスバッファ12
は、システムバス7を介して送られてくるアドレスを保
持する。
The information processing device 8 includes a data buffer 11 and an address buffer 12, an upper address decoder 13, a conversion table 14, an address decoder 15, and a register group 9 which constitute address management means. The data buffer 11 holds data sent via the system bus 7 or holds data read from the register group 9. The address buffer 12
Holds the address sent via the system bus 7.

【0032】上位アドレスデコーダ13は、システムバ
ス7を介して転送され、アドレスバッファ12に格納さ
れたアドレスの上位ビットをデコードし、実アドレスで
あるか再配置アドレスであるかを判断する。なおこの例
では、後述するように、実アドレスと再配置アドレスと
は、アドレスの上位ビットが異なる別々のアドレス空間
にマッピングされているものとしている。
The upper address decoder 13 decodes the upper bits of the address transferred through the system bus 7 and stored in the address buffer 12, and determines whether the address is a real address or a relocation address. In this example, as will be described later, it is assumed that the real address and the relocation address are mapped to different address spaces in which the upper bits of the address are different.

【0033】変換テーブル14は、再配置アドレスと実
アドレスを対応付けて保持している。この例ではルック
アップテーブル(LUT)により構成されており、例え
ばCPU1からのアクセスによりダイナミックに書き換
えが可能である。図2は、変換テーブルの一例の説明図
である。図中の‘h’は16進数であることを示してい
る。ここではレジスタ群9内のレジスタの数を8として
示している。もちろん、レジスタ数は任意である。上述
のように実アドレスと再配置アドレスとは、アドレスの
上位ビットが異なる別々のアドレス空間にマッピングさ
れており、例えば図2(A)に示すようにマッピングし
ておくことができる。この例では、16進数で5桁目が
‘0’であるアドレスが実アドレス、‘1’であるアド
レスが再配置アドレスとしている。もちろん、両者のア
ドレス空間におけるマッピングは任意に決めることがで
きる。実アドレスには、レジスタ群9におけるそれぞれ
のレジスタが割り付けられている。なお、この例では各
レジスタは4バイトのデータ長を有しているものとし、
各レジスタには4番地ごとに実アドレスが割り付けられ
ている。
The conversion table 14 holds a relocation address and a real address in association with each other. In this example, it is constituted by a look-up table (LUT), and can be dynamically rewritten by access from the CPU 1, for example. FIG. 2 is an explanatory diagram of an example of the conversion table. 'H' in the figure indicates a hexadecimal number. Here, the number of registers in the register group 9 is shown as eight. Of course, the number of registers is arbitrary. As described above, the real address and the relocation address are mapped to different address spaces in which the upper bits of the address are different, and can be mapped, for example, as shown in FIG. In this example, the address whose fifth digit is “0” in hexadecimal is the real address, and the address which is “1” is the relocation address. Of course, the mapping in both address spaces can be determined arbitrarily. Each register in the register group 9 is assigned to a real address. In this example, each register has a data length of 4 bytes,
A real address is assigned to each register for every four addresses.

【0034】再配置アドレスには、レジスタ群9のレジ
スタのいずれかをそれぞれ対応付けておくことができ
る。このとき、例えばソフトウェアのレジスタアクセス
を行う順序にしたがってレジスタを配置しておくことが
できる。例えばレジスタ2にアクセスした後にレジスタ
1にアクセスし、再びレジスタ2にアクセスしてからレ
ジスタ7にアクセスするといった、アクセス順にレジス
タを再配置しておくことができる。図2(A)に示す例
ではこの順序を実現するようにレジスタを再配置した例
を示しており、再配置アドレスの空間に、レジスタ2,
レジスタ1,レジスタ2、レジスタ7,…の順でレジス
タを再配置している。再配置するレジスタは、この例の
ように順番は任意であるし、同じレジスタを異なる再配
置アドレスに再配置することもできる。
One of the registers of the register group 9 can be associated with the relocation address. At this time, for example, the registers can be arranged according to the order in which the software accesses the registers. For example, registers can be rearranged in the order of access, such as accessing register 1 after accessing register 2, accessing register 2 again, and then accessing register 7. The example shown in FIG. 2A shows an example in which registers are rearranged so as to realize this order.
The registers are rearranged in the order of register 1, register 2, register 7,... The order of the registers to be relocated is arbitrary, as in this example, and the same register can be relocated to a different relocation address.

【0035】図2(A)における再配置アドレスの空間
におけるレジスタ配置を実現するため、例えば図2
(B)に示すような対応表を設けておけばよい。この対
応表では、再配置アドレスと、そのアドレスに再配置さ
れたレジスタの実アドレスを対にして登録してある。変
換テーブル14は、この対応表を実現したものである。
例えば再配置アドレスを入力として、実アドレスを出力
するLUTや連想メモリなどによって構成することが可
能である。
In order to realize the register arrangement in the relocation address space in FIG.
A correspondence table as shown in FIG. In this correspondence table, the relocation address and the real address of the register relocated to the address are registered as a pair. The conversion table 14 implements this correspondence table.
For example, it can be configured by an LUT or an associative memory that outputs a real address with a relocation address as an input.

【0036】このような変換テーブル14を用いること
によって、ソフトウェアは再配置アドレスを利用し、連
続した再配置アドレスをアクセスすれば、不連続な実ア
ドレスに割り当てられているレジスタに対してアクセス
することができる。例えば図2に示す例では、再配置ア
ドレス‘10000h’から順にアクセスすれば、実ア
ドレス‘00004h’、‘00000h’、‘000
04h’、‘00018h’、…といった実アドレスが
出力され、レジスタ2,レジスタ1,レジスタ2,レジ
スタ7、…の順でレジスタがアクセスされることにな
る。このように連続した再配置アドレスをアクセスする
ことによって、任意のレジスタをアクセスできるので、
例えばDMA転送やバースト転送により任意の順番でレ
ジスタをアクセスすることが可能である。
By using such a conversion table 14, software can use a relocation address and, if a continuous relocation address is accessed, access to a register assigned to a discontinuous real address. Can be. For example, in the example shown in FIG. 2, if the access is made sequentially from the relocation address' 10000h ', the real addresses'00004h','00000h','000
.. real addresses such as 04h ',' 00018h ',... Are output, and the registers are accessed in the order of register 2, register 1, register 2, register 7,. By accessing consecutive relocation addresses in this way, any register can be accessed,
For example, registers can be accessed in an arbitrary order by DMA transfer or burst transfer.

【0037】アドレスデコーダ15は、変換テーブル1
4で変換された実アドレス、あるいは、システムバス7
を介して転送されてアドレスバッファ12に格納された
アドレスのうち、上位アドレスデコーダ13で選択され
たアドレスをデコードし、レジスタ選択信号を出力す
る。このレジスタ選択信号によって、レジスタ群9内の
レジスタが選択され、データバッファ11内のデータを
選択されたレジスタに書き込み、あるいは選択されたレ
ジスタからデータをデータバッファ11に読み出すこと
ができる。なお、レジスタ群9内のレジスタを実アドレ
スのままでアクセス可能である場合には、このアドレス
デコーダ15によるレジスタ選択信号への変換は不要で
あり、変換テーブル14で変換された実アドレス、ある
いは、システムバス7を介して転送されてアドレスバッ
ファ12に格納されたアドレスのうちのいずれかを、上
位アドレスデコーダ13からの指示に従って選択して出
力すればよい。
The address decoder 15 converts the conversion table 1
4 converted to the real address or the system bus 7
And decodes the address selected by the upper address decoder 13 out of the addresses transferred through the address buffer 12 and stored in the address buffer 12, and outputs a register selection signal. The register in the register group 9 is selected by the register selection signal, and the data in the data buffer 11 can be written to the selected register or the data can be read from the selected register to the data buffer 11. If the registers in the register group 9 can be accessed with the real addresses unchanged, the conversion to the register selection signal by the address decoder 15 is unnecessary, and the real addresses converted by the conversion table 14 or Any of the addresses transferred via the system bus 7 and stored in the address buffer 12 may be selected and output according to an instruction from the upper address decoder 13.

【0038】次に、本発明の情報処理装置の第1の実施
の形態に対してDMA転送を用いてレジスタ群9にデー
タを書き込む場合の動作を説明する。CPU1は、転送
元となるメモリ2内のある連続した領域に対して、レジ
スタ設定に必要なデータをレジスタ設定順に書き込んで
おく。その後、図10で説明した動作と同様に、DMA
コントローラ6に対してデータ転送元となるメモリ2の
先頭アドレスを設定し、転送先となる再配置アドレスの
先頭アドレスを設定し、転送サイズを設定する。そし
て、DMAコントローラ6に起動をかけることによっ
て、DMA転送が起動する。
Next, the operation of the first embodiment of the information processing apparatus of the present invention when data is written to the register group 9 using DMA transfer will be described. The CPU 1 writes data necessary for register setting in a certain continuous area in the memory 2 as a transfer source in the register setting order. Thereafter, similarly to the operation described with reference to FIG.
The start address of the data transfer source memory 2 is set for the controller 6, the start address of the transfer destination relocation address is set, and the transfer size is set. Then, by activating the DMA controller 6, the DMA transfer is activated.

【0039】DMA転送が起動した後、最初にまずDM
Aコントローラ6はメモリ2に対してホストバス3のリ
ードサイクルを発行し、バスブリッジ4のラインバッフ
ァ5にデータを取り込む。その後、DMAコントローラ
6はシステムバス7のライトサイクルを発生させ、ライ
ンバッファ5内のデータを情報処理装置8のレジスタに
転送を行う動作に入る。
After the start of the DMA transfer, first the DM transfer
The A controller 6 issues a read cycle of the host bus 3 to the memory 2 and fetches data into the line buffer 5 of the bus bridge 4. Thereafter, the DMA controller 6 generates a write cycle of the system bus 7 and enters an operation of transferring data in the line buffer 5 to a register of the information processing device 8.

【0040】情報処理装置8では、システムバス7のラ
イトサイクルによって転送されてくるデータとアドレス
を、内部のデータバッファ11とアドレスバッファ12
に保持する。上位アドレスデコーダ13は、アドレスバ
ッファ12に保持されたアドレスの上位ビットをもと
に、転送されてきたアドレスが実アドレス領域か再配置
アドレス領域かを判断する。再配置アドレス領域のアド
レスであれば、変換テーブル14を参照し、当該アドレ
スに対応付けられている実アドレスを内部アドレスバス
に出力する。また、転送されてきたアドレスが実アドレ
ス領域のアドレスであれば、変換テーブル14は参照せ
ず、そのまま内部アドレスバスに転送されてきたアドレ
スを出力する。
In the information processing device 8, data and addresses transferred by a write cycle of the system bus 7 are stored in an internal data buffer 11 and an address buffer 12.
To hold. The upper address decoder 13 determines whether the transferred address is a real address area or a relocation address area based on the upper bits of the address held in the address buffer 12. If the address is in the relocation address area, the real address associated with the address is output to the internal address bus by referring to the conversion table 14. If the transferred address is an address in the real address area, the transferred address is output to the internal address bus without referring to the conversion table 14.

【0041】内部アドレスバスに出力されたアドレス
は、アドレスデコーダ15でデコードされ、レジスタ選
択信号が出力される。このレジスタ選択信号によって選
択されたレジスタ群9中のレジスタに、データバッファ
11に保持されているデータが書き込まれる。
The address output to the internal address bus is decoded by the address decoder 15 and a register selection signal is output. The data held in the data buffer 11 is written to the register in the register group 9 selected by the register selection signal.

【0042】これら一連の動作が、CPU1を介在させ
ることなく、DMAコントローラ6に設定した転送デー
タ量分だけ繰り返され、レジスタへの書き込みが連続し
て行われる。もちろん、DMAコントローラ6も通常の
DMA転送の動作を行うのみである。上述のDMA転送
を行うときのバスサイクルは、上述の図11と同様にな
る。
These series of operations are repeated by the amount of transfer data set in the DMA controller 6 without the intervention of the CPU 1, and writing to the register is performed continuously. Of course, the DMA controller 6 also only performs a normal DMA transfer operation. The bus cycle when performing the above-described DMA transfer is the same as that in FIG. 11 described above.

【0043】なお、再度レジスタに同様の設定を行う場
合は、DMAコントローラ6を再設定し、起動をかけれ
ばよい。また、設定値を変更する場合はメモリ2内の所
定のアドレスに格納されている値のみを変更するだけで
よく、CPU1は直接レジスタにアクセスすることはな
い。そのため、CPU1を効率よく動作させることがで
きる。
When the same setting is performed on the register again, the DMA controller 6 needs to be reset and activated. Further, when changing the set value, only the value stored at a predetermined address in the memory 2 needs to be changed, and the CPU 1 does not directly access the register. Therefore, the CPU 1 can operate efficiently.

【0044】図3は、本発明の情報処理装置の第1の実
施の形態においてDMA転送を用いてレジスタ群9にデ
ータを書き込む場合の動作の具体例の説明図である。こ
こでは、変換テーブル14には、図2(B)に示す内容
が格納されているものとする。CPU1は、図3(A)
に示すように、メモリ2に対してレジスタのアクセス順
にデータを格納しておく。この例では、レジスタ2、レ
ジスタ1,レジスタ2,レジスタ7、…の順にレジスタ
をアクセスするものとし、各アクセス時に書き込むデー
タをアクセス順にメモリ2に格納しておく。
FIG. 3 is an explanatory diagram of a specific example of an operation when data is written to the register group 9 using DMA transfer in the first embodiment of the information processing apparatus of the present invention. Here, it is assumed that the content shown in FIG. 2B is stored in the conversion table 14. The CPU 1 is configured as shown in FIG.
As shown in (1), data is stored in the memory 2 in the order of register access. In this example, the registers are accessed in the order of the register 2, the register 1, the register 2, the register 7,..., And the data to be written at each access is stored in the memory 2 in the access order.

【0045】そして、DMAコントローラ6に対して、
図3(A)に示したデータの先頭アドレスを転送元アド
レスとして設定し、再配置アドレス‘10000h’を
転送先アドレスとして設定し、転送データ量を設定し
て、起動をかける。するとDMAコントローラ6は、あ
たかも図3(B)に示すような再配置アドレス空間の連
続したアドレスに対してデータ転送を行うように動作す
る。しかし実際には、情報処理装置8内において変換テ
ーブル14により再配置アドレスは実アドレスに変換さ
れ、対応するレジスタが選択される。従って図3(B)
から図3(C)への矢線で示すように、レジスタへのア
クセスが発生してデータが書き込まれることになる。こ
の例では所望した通り、レジスタ2、レジスタ1,レジ
スタ2,レジスタ7、…の順にレジスタがアクセスさ
れ、データが書き込まれる。
Then, for the DMA controller 6,
The start address of the data shown in FIG. 3A is set as the transfer source address, the relocation address '10000h' is set as the transfer destination address, the transfer data amount is set, and activation is performed. Then, the DMA controller 6 operates to transfer data to continuous addresses in the relocation address space as shown in FIG. However, in practice, the relocation address is converted into a real address by the conversion table 14 in the information processing device 8, and the corresponding register is selected. Therefore, FIG.
3C, an access to the register occurs and data is written. In this example, as desired, the registers are accessed in the order of register 2, register 1, register 2, register 7,..., And data is written.

【0046】次に、本発明の情報処理装置の第1の実施
の形態に対してバースト転送を用いてレジスタ群9にデ
ータを書き込む場合の動作を説明する。バースト転送と
は、データの読み出しおよび書き込みにおいて、1つの
先頭アドレスを指定することでそのアドレス以降のアド
レスに連続的にアクセスを行う方式である。ここでは、
DMAコントローラ6及び情報処理装置8がバースト転
送機能を有しているものとする。情報処理装置8では、
バースト転送機能を実現するため、アドレスバッファ1
2内のアドレスを自動更新する機能を有している。例え
ば1ワード4バイト単位でデータ転送を行う場合、1デ
ータ転送毎にアドレスバッファ12内のアドレスを4だ
けインクリメントする機能を有しているものとする。
Next, the operation of the first embodiment of the information processing apparatus according to the present invention when data is written to the register group 9 using burst transfer will be described. The burst transfer is a method in which, in reading and writing data, one head address is designated to continuously access addresses subsequent to that address. here,
It is assumed that the DMA controller 6 and the information processing device 8 have a burst transfer function. In the information processing device 8,
To realize the burst transfer function, the address buffer 1
2 has a function of automatically updating the address in 2. For example, when performing data transfer in units of 4 bytes per word, it is assumed that a function of incrementing the address in the address buffer 12 by 4 for each data transfer is provided.

【0047】CPU1は、転送元となるメモリ2中のあ
る連続した領域に対して、レジスタ設定に必要なデータ
をレジスタ設定順に書き込んでおく。その後、図10で
説明した動作と同様に、DMAコントローラ6に対して
データ転送元となるメモリ2の先頭アドレスを設定し、
転送先となる再配置アドレスの先頭アドレスを設定し、
転送サイズを設定する。そして、DMAコントローラ6
に起動をかけることによって、DMA転送が起動する。
The CPU 1 writes data necessary for register setting in a certain continuous area in the memory 2 serving as a transfer source in the register setting order. Thereafter, as in the operation described with reference to FIG. 10, the start address of the memory 2 serving as the data transfer source is set for the DMA controller 6, and
Set the start address of the relocation address to be the transfer destination,
Set the transfer size. Then, the DMA controller 6
, The DMA transfer is activated.

【0048】DMA転送が起動した後、最初にまずDM
Aコントローラ6はメモリ2に対してホストバス3のバ
ーストリードサイクルを発行し、バスブリッジ4のライ
ンバッファ5にバーストサイズ分のデータを取り込む。
その後、DMAコントローラ6はシステムバス7のバー
ストライトサイクルを発生させ、ラインバッファ5内の
データを情報処理装置8のレジスタに転送を行う動作に
入る。
After the DMA transfer is started, first the DM transfer
The A controller 6 issues a burst read cycle of the host bus 3 to the memory 2 and fetches data of a burst size into the line buffer 5 of the bus bridge 4.
Thereafter, the DMA controller 6 generates a burst write cycle of the system bus 7 and enters an operation of transferring data in the line buffer 5 to a register of the information processing device 8.

【0049】情報処理装置8では、システムバス7のバ
ーストライトサイクルによって先頭アドレスと最初のデ
ータを、内部のアドレスバッファ12とデータバッファ
11に保持する。そしてアドレスバッファ12に格納し
たアドレスの上位ビットをもとに、そのアドレスが実ア
ドレス領域のアドレスか再配置アドレス領域のアドレス
かを上位アドレスデコーダ13で判断する。アドレスバ
ッファ12に格納したアドレスが再配置アドレス領域の
アドレスであれば、変換テーブル14を参照し、再配置
アドレスに対応付けられている実アドレスを内部アドレ
スバスに出力する。また、転送されてきたアドレスが実
アドレス領域のアドレスであれば、変換テーブル14は
参照せず、そのまま内部アドレスバスに対して転送され
てきたアドレスを出力する。
In the information processing device 8, the start address and the first data are held in the internal address buffer 12 and data buffer 11 by the burst write cycle of the system bus 7. Then, based on the upper bits of the address stored in the address buffer 12, the upper address decoder 13 determines whether the address is in the real address area or in the relocation address area. If the address stored in the address buffer 12 is an address in the relocation address area, the real address associated with the relocation address is output to the internal address bus with reference to the conversion table 14. If the transferred address is an address in the real address area, the transferred address is output to the internal address bus without referring to the conversion table 14.

【0050】内部アドレスバスに出力されたアドレス
は、アドレスデコーダ15でデコードされ、レジスタ選
択信号が出力される。このレジスタ選択信号によって選
択されたレジスタ群9中のレジスタに、データバッファ
11に保持されているデータが書き込まれる。
The address output to the internal address bus is decoded by the address decoder 15 and a register selection signal is output. The data held in the data buffer 11 is written to the register in the register group 9 selected by the register selection signal.

【0051】その後、アドレスバッファ12のアドレス
を更新する。例えば1ワード4バイト単位でデータ転送
を行う場合、アドレスバッファ12のアドレスを4つイ
ンクリメントする。また、次の書き込みデータをデータ
バッファ11に取り込み、同様な動作をパイプライン方
式で繰り返す。このようにしてバーストサイズ分のデー
タについて、アドレスバッファ12のアドレスを更新し
ながら、再配置アドレスに対応した実アドレスのレジス
タにデータを書き込んでゆくことができる。
Thereafter, the address of the address buffer 12 is updated. For example, when performing data transfer in units of one word and four bytes, the address of the address buffer 12 is incremented by four. Further, the next write data is fetched into the data buffer 11, and the same operation is repeated by a pipeline method. In this way, for the data of the burst size, the data can be written to the register of the real address corresponding to the relocation address while updating the address of the address buffer 12.

【0052】バーストサイズ以上のデータを転送する場
合には、再びDMAコントローラ6が次のバースト転送
するデータの転送先の先頭アドレスを転送するととも
に、バーストサイズ分のデータを転送すればよい。この
ようにして、バーストサイズ毎のデータ転送を繰り返し
行ってゆくことができる。
When transferring data larger than the burst size, the DMA controller 6 only needs to transfer the first address of the transfer destination of the next data to be burst-transferred and transfer the data of the burst size again. In this manner, data transfer for each burst size can be repeatedly performed.

【0053】これら一連の動作は、CPU1を介在させ
ることなく、DMAコントローラ6に設定した転送デー
タ量分だけ繰り返され、レジスタ群9中のレジスタへの
書き込みが行われる。もちろん、DMAコントローラ6
も通常のDMAバースト転送の動作を行うのみである。
上述のDMA転送を行うときのバスサイクルは、上述の
図12と同様になる。
These series of operations are repeated by the amount of transfer data set in the DMA controller 6 without the intervention of the CPU 1, and writing to the registers in the register group 9 is performed. Of course, the DMA controller 6
Also performs only the normal DMA burst transfer operation.
The bus cycle when performing the above-described DMA transfer is the same as that in FIG.

【0054】再度、レジスタに同様の設定を行う場合
は、DMAコントローラ6を再設定し、起動をかければ
よい。また、設定値を変更する場合はメモリ2内の所定
のアドレスに格納されている値のみを変更するだけでよ
い。そのため、CPU1は直接レジスタにアクセスする
ことはなく、CPU1を効率よく動作させることができ
る。また、再配置アドレスによって、アクセスする必要
があるレジスタアドレスが不連続であっても連続的なア
ドレスで扱えるため、バースト転送が使用可能となり、
バスを効率よく使用することができる。
When the same setting is again performed on the register, the DMA controller 6 may be reset and activated. When changing the set value, only the value stored at a predetermined address in the memory 2 needs to be changed. Therefore, the CPU 1 does not directly access the register, and can operate the CPU 1 efficiently. In addition, by using the relocation address, even if the register address that needs to be accessed is discontinuous, it can be handled with a continuous address, so that burst transfer can be used,
The bus can be used efficiently.

【0055】図4は、本発明の情報処理装置の第2の実
施の形態を含むシステムの一例を示すブロック図であ
る。図中、図1と同様の部分には同じ符号を付して説明
を省略する。21はデコード部、22はデコードブロッ
クである。この第2の実施の形態では、アドレス管理手
段として上述の第1の実施の形態におけるLUT形式の
変換テーブル14及びアドレスデコーダ15に代えて、
デコード部21を設けた例を示している。
FIG. 4 is a block diagram showing an example of a system including an information processing apparatus according to a second embodiment of the present invention. In the figure, the same parts as those in FIG. 21 is a decoding unit, and 22 is a decoding block. In the second embodiment, as the address management means, instead of the LUT format conversion table 14 and the address decoder 15 in the first embodiment described above,
An example in which a decoding unit 21 is provided is shown.

【0056】図4に示すシステムにおいても、上述の図
1に示したシステムと同様に、ホストバス3にCPU1
およびメモリ2が接続されており、ホストバス3からバ
スブリッジ4を介してシステムバス7上に情報処理装置
8が接続されている。ここでバスブリッジ4は、DMA
コントローラ6(DMACと記してある)およびライン
バッファ5を備えている。
In the system shown in FIG. 4, the CPU 1 is connected to the host bus 3 similarly to the system shown in FIG.
And a memory 2, and an information processing device 8 is connected from the host bus 3 to the system bus 7 via the bus bridge 4. Here, the bus bridge 4 is a DMA
A controller 6 (denoted as DMAC) and a line buffer 5 are provided.

【0057】情報処理装置8は、データバッファ11及
びアドレスバッファ12と、アドレス管理手段を構成す
るデコード部21と、レジスタ群9を備えている。デー
タバッファ11は、システムバス7を介して送られてく
るデータを保持し、あるいは、レジスタ群9から読み出
されたデータを保持する。またアドレスバッファ12
は、システムバス7を介して送られてくるアドレスを保
持する。
The information processing device 8 includes a data buffer 11 and an address buffer 12, a decoding unit 21 constituting address management means, and a register group 9. The data buffer 11 holds data sent via the system bus 7 or holds data read from the register group 9. The address buffer 12
Holds the address sent via the system bus 7.

【0058】デコード部21は、レジスタ群9中のそれ
ぞれのレジスタに対応したデコードブロック22を有し
ている。図5は、デコードブロックの一構成例を示すブ
ロック図である。図中、31は実アドレスデコーダ、3
2は再配置アドレスデコーダである。デコードブロック
22は、1個の実アドレスデコーダ31と、1ないし複
数の再配置アドレスデコーダ32を備えている。再配置
アドレスが必要なければ再配置アドレスデコーダ32は
なくてもかまわない。再配置アドレスデコーダ32の数
は、対応するレジスタに対するレジスタ設定時のアクセ
ス回数による。すなわち、レジスタ設定時に同じレジス
タを再配置アドレスでm回アクセスする場合には、m個
の再配置アドレスデコーダ32を備える。1つのデコー
ドブロック22内の実アドレスデコーダ31及び再配置
アドレスデコーダ32は、そのデコードブロック22に
対応するレジスタを選択するためのレジスタ選択信号を
出力する。従って、実アドレスデコーダ31あるいはい
ずれかの再配置アドレスデコーダ32において、デコー
ドされたアドレスが、対応するレジスタに対応付けられ
ているものであると判断されれば、対応するレジスタを
選択するレジスタ選択信号が出力される。このようなデ
コードブロック22により、1つのレジスタにつき、実
アドレスと1ないし複数の再配置アドレスを管理し、レ
ジスタ選択信号を生成している。
The decoding section 21 has a decoding block 22 corresponding to each register in the register group 9. FIG. 5 is a block diagram illustrating a configuration example of a decoding block. In the figure, 31 is a real address decoder, 3
2 is a relocation address decoder. The decode block 22 includes one real address decoder 31 and one or more rearranged address decoders 32. If no relocation address is required, the relocation address decoder 32 may be omitted. The number of relocation address decoders 32 depends on the number of times of access to the corresponding register when setting the register. That is, when the same register is accessed m times by the relocation address at the time of register setting, m relocation address decoders 32 are provided. The real address decoder 31 and the rearranged address decoder 32 in one decoding block 22 output a register selection signal for selecting a register corresponding to the decoding block 22. Therefore, if the real address decoder 31 or any of the relocation address decoders 32 determines that the decoded address is associated with the corresponding register, the register selection signal for selecting the corresponding register Is output. With such a decoding block 22, a real address and one or a plurality of relocation addresses are managed for one register, and a register selection signal is generated.

【0059】デコード部21は、このようなデコードブ
ロック22をレジスタの個数分だけ備えている。この第
2の実施の形態では、実アドレスおよび再配置アドレス
はデコード部21にて管理される。このデコード部21
によって、レジスタ群9中の各レジスタに対して、実ア
ドレスおよび連続的な再配置アドレスにてアクセスする
ことが可能である。
The decoding section 21 has such decoding blocks 22 as many as the number of registers. In the second embodiment, the real address and the relocation address are managed by the decoding unit 21. This decoding unit 21
Thus, each register in the register group 9 can be accessed with a real address and a continuous relocation address.

【0060】なお、このデコード部21は固定式であっ
ても書き換え可能に構成されていてもよい。また、変更
可能に構成する場合は、例えばデコードブロック22を
複数用意し、レジスタ設定等によって切り替えるように
構成することもできる。
The decoding section 21 may be fixed or rewritable. Further, in the case of a changeable configuration, for example, a plurality of decode blocks 22 may be prepared and switched by register setting or the like.

【0061】次に、本発明の情報処理装置の第2の実施
の形態を含むシステムの一例における動作について説明
する。ここでは、情報処理装置8内のレジスタ群9の実
アドレスマップおよび再配置アドレスマップは、上述の
図2に示した例と同様であるものとして説明する。
Next, the operation of an example of a system including the information processing apparatus according to the second embodiment of the present invention will be described. Here, a description will be given assuming that the real address map and the relocation address map of the register group 9 in the information processing device 8 are the same as those in the example shown in FIG.

【0062】はじめにDMA転送を用いてレジスタにデ
ータを書き込む場合の動作の一例について説明する。な
お、DMAコントローラ6の設定から起動までは上述の
第1の実施の形態と同様のため、説明を省略する。DM
A起動後、DMAコントローラ6はメモリに対してホス
トバス3のリードサイクルを発行し、バスブリッジ4の
ラインバッファ5にデータを取り込む。その後、DMA
コントローラ6はシステムバス7のライトサイクルを発
生させ、ラインバッファ5内のデータを情報処理装置8
のレジスタに転送する動作に入る。
First, an example of the operation when data is written to a register using DMA transfer will be described. Note that the process from setting to activation of the DMA controller 6 is the same as in the first embodiment, and a description thereof will be omitted. DM
After the start-up A, the DMA controller 6 issues a read cycle of the host bus 3 to the memory and takes in the data into the line buffer 5 of the bus bridge 4. After that, DMA
The controller 6 generates a write cycle of the system bus 7 and transfers the data in the line buffer 5 to the information processing device 8.
The operation to transfer to the register is started.

【0063】情報処理装置8では、システムバス7のラ
イトサイクルによってアドレスとデータを内部のアドレ
スバッファ12とデータバッファ11に保持する。その
アドレスバッファ12に保持したアドレスをもとに、デ
コード部21は実アドレスもしくは再配置アドレスのデ
コードを行い、レジスタ選択信号を発生させる。すなわ
ち、アドレスバッファ12に保持されているアドレス
は、デコード部21内のデコードブロック22にそれぞ
れ入力され、各デコードブロック22内の実アドレスデ
コーダ31及び1ないし複数の再配置アドレスデコーダ
32に供給される。そして、デコードできた実アドレス
デコーダ31あるいは再配置アドレスデコーダ32が存
在するデコードブロック22から、対応するレジスタに
対するレジスタ選択信号が出力される。そして、レジス
タ選択信号によって選択されたレジスタに、データバッ
ファ11に保持されているデータが書き込まれることに
なる。
In the information processing device 8, addresses and data are held in the internal address buffer 12 and data buffer 11 by a write cycle of the system bus 7. Based on the address held in the address buffer 12, the decoding unit 21 decodes the real address or the relocated address, and generates a register selection signal. That is, the address held in the address buffer 12 is input to each of the decode blocks 22 in the decode unit 21 and supplied to the real address decoder 31 and one or a plurality of rearranged address decoders 32 in each of the decode blocks 22. . Then, a register selection signal for a corresponding register is output from the decoding block 22 in which the decoded real address decoder 31 or the relocation address decoder 32 exists. Then, the data held in the data buffer 11 is written to the register selected by the register selection signal.

【0064】これら一連の動作がCPU1を介在させる
ことなく、DMAコントローラ6に設定した転送データ
量分だけ繰り返され、レジスタへの書き込みが連続して
行われる。もちろん、DMAコントローラ6も通常のD
MA転送の動作を行うのみである。上述のDMA転送を
行うときのバスサイクルは、上述の図11と同様にな
る。
These series of operations are repeated by the amount of transfer data set in the DMA controller 6 without the intervention of the CPU 1, and writing to the register is performed continuously. Of course, the DMA controller 6 also has a normal D
Only the operation of MA transfer is performed. The bus cycle when performing the above-described DMA transfer is the same as that in FIG. 11 described above.

【0065】なお、再度レジスタに同様の設定を行う場
合は、DMAコントローラ6を再設定し、起動をかけれ
ばよい。また、設定値を変更する場合はメモリ2内の所
定のアドレスに格納されている値のみを変更するだけで
よく、CPU1は直接レジスタにアクセスすることはな
い。そのため、CPU1を効率よく動作させることがで
きる。
When the same setting is performed on the register again, the DMA controller 6 may be reset and the DMA controller 6 may be started. Further, when changing the set value, only the value stored at a predetermined address in the memory 2 needs to be changed, and the CPU 1 does not directly access the register. Therefore, the CPU 1 can operate efficiently.

【0066】次に、バースト転送を用いた場合の動作の
一例について説明する。ここでは、DMAコントローラ
6及び情報処理装置8がバースト転送機能を有している
ものとする。情報処理装置8では、バースト転送機能を
実現するため、アドレスバッファ12内のアドレスを自
動更新する機能を有している。例えば1ワード4バイト
単位でデータ転送を行う場合、1データ転送毎にアドレ
スバッファ12内のアドレスを4だけインクリメントす
る機能を有しているものとする。なお、このバースト転
送を行う場合も、DMAコントローラ6の設定から起動
までは上述の第1の実施の形態と同様のため、説明を省
略する。
Next, an example of the operation when the burst transfer is used will be described. Here, it is assumed that the DMA controller 6 and the information processing device 8 have a burst transfer function. The information processing device 8 has a function of automatically updating the address in the address buffer 12 in order to realize the burst transfer function. For example, when performing data transfer in units of 4 bytes per word, it is assumed that a function of incrementing the address in the address buffer 12 by 4 for each data transfer is provided. When this burst transfer is performed, the process from setting to activation of the DMA controller 6 is the same as that in the first embodiment, and a description thereof will be omitted.

【0067】DMA起動後、DMAコントローラ6はメ
モリ2に対してホストバス3のバーストリードサイクル
を発行し、バスブリッジ4のラインバッファ5にデータ
バーストサイズ分のデータを取り込む。その後、DMA
コントローラ6は、システムバス7のバーストライトサ
イクルを発生させ、そのデータを情報処理装置8のレジ
スタに転送する動作に入る。
After the DMA is started, the DMA controller 6 issues a burst read cycle of the host bus 3 to the memory 2 and fetches data of the data burst size into the line buffer 5 of the bus bridge 4. After that, DMA
The controller 6 generates a burst write cycle of the system bus 7 and starts an operation of transferring the data to a register of the information processing device 8.

【0068】情報処理装置8では、システムバス7のバ
ーストライトサイクルによって先頭アドレスと最初のデ
ータを内部のアドレスバッファ12とデータバッファ1
1に保持する。そして、アドレスレジスタ12に保持し
たアドレスをデコード部21でデコードする。このデコ
ードの動作は、DMA転送の場合と同様である。アドレ
スバッファ12に保持されているアドレスをデコードで
きた実アドレスデコーダ31あるいは再配置アドレスデ
コーダ32が存在するデコードブロック22から、対応
するレジスタに対するレジスタ選択信号が出力される。
そして、レジスタ選択信号によって選択されたレジスタ
に、データバッファ11に保持されているデータが書き
込まれることになる。
In the information processing device 8, the start address and the first data are stored in the internal address buffer 12 and the data buffer 1 by the burst write cycle of the system bus 7.
Hold at 1. Then, the address held in the address register 12 is decoded by the decoding unit 21. This decoding operation is the same as in the case of the DMA transfer. A register selection signal for a corresponding register is output from the decode block 22 in which the real address decoder 31 or the rearranged address decoder 32 which can decode the address held in the address buffer 12 exists.
Then, the data held in the data buffer 11 is written to the register selected by the register selection signal.

【0069】その後、アドレスバッファ12のアドレス
を更新する。例えば1ワード4バイト単位でデータ転送
を行う場合、アドレスバッファ12のアドレスを4つイ
ンクリメントする。また、次の書き込みデータをデータ
バッファ11に取り込み、同様な動作をパイプライン方
式で繰り返す。このようにしてバーストサイズ分のデー
タについて、アドレスバッファ12のアドレスを更新し
ながら、再配置アドレスに対応した実アドレス(レジス
タ選択信号)のレジスタにデータを書き込んでゆくこと
ができる。
Thereafter, the address of the address buffer 12 is updated. For example, when performing data transfer in units of one word and four bytes, the address of the address buffer 12 is incremented by four. Further, the next write data is fetched into the data buffer 11, and the same operation is repeated by a pipeline method. In this manner, for the data of the burst size, the data can be written to the register of the real address (register selection signal) corresponding to the relocation address while updating the address of the address buffer 12.

【0070】バーストサイズ以上のデータを転送する場
合には、再びDMAコントローラ6が次のバースト転送
するデータの転送先の先頭アドレスを転送するととも
に、バーストサイズ分のデータを転送すればよい。この
ようにして、バーストサイズ毎のデータ転送を繰り返し
行ってゆくことができる。
When transferring data larger than the burst size, the DMA controller 6 only needs to transfer the first address of the transfer destination of the next data to be burst-transferred and transfer the data of the burst size again. In this manner, data transfer for each burst size can be repeatedly performed.

【0071】これら一連の動作は、CPU1を介在させ
ることなく、DMAコントローラ6に設定した転送デー
タ量分だけ繰り返され、レジスタ群9中のレジスタへの
書き込みが行われる。もちろん、DMAコントローラ6
も通常のDMAバースト転送の動作を行うのみである。
上述のDMA転送を行うときのバスサイクルは、上述の
図12と同様になる。
These series of operations are repeated by the amount of transfer data set in the DMA controller 6 without the intervention of the CPU 1, and writing to the registers in the register group 9 is performed. Of course, the DMA controller 6
Also performs only the normal DMA burst transfer operation.
The bus cycle when performing the above-described DMA transfer is the same as that in FIG.

【0072】再度、レジスタに同様の設定を行う場合
は、DMAコントローラ6を再設定し、起動をかければ
よい。また、設定値を変更する場合はメモリ2内の所定
のアドレスに格納されている値のみを変更するだけでよ
い。そのため、CPU1は直接レジスタにアクセスする
ことはなく、CPU1を効率よく動作させることができ
る。また、再配置アドレスによって、アクセスする必要
があるレジスタアドレスが不連続であっても連続的なア
ドレスで扱えるため、バースト転送が使用可能となり、
バスを効率よく使用することができる。
When the same setting is performed on the register again, the DMA controller 6 needs to be reset and activated. When changing the set value, only the value stored at a predetermined address in the memory 2 needs to be changed. Therefore, the CPU 1 does not directly access the register, and can operate the CPU 1 efficiently. In addition, by using the relocation address, even if the register address that needs to be accessed is discontinuous, it can be handled with a continuous address, so that burst transfer can be used,
The bus can be used efficiently.

【0073】上述の各実施の形態において、動作例とし
てレジスタ群9にデータを書き込む場合について述べて
いるが、レジスタ群9からデータを読み出す場合につい
ても、同様にしてアクセスを行うことができる。もちろ
ん、再配置アドレスを用いてバースト転送、DMA転送
により読み出したデータを外部へ転送することも可能で
ある。
In each of the above-described embodiments, the case where data is written to the register group 9 is described as an operation example. However, when data is read from the register group 9, access can be similarly performed. Of course, data read out by burst transfer or DMA transfer using the relocation address can be transferred to the outside.

【0074】また、上述の各実施の形態において、レジ
スタ群9を実際にアクセスする際にはレジスタ選択信号
によって行っているが、これに限らず、実アドレスのま
までアクセス可能に構成してもよい。
In each of the above embodiments, the register group 9 is actually accessed by the register selection signal. However, the present invention is not limited to this. Good.

【0075】なお、上述の各実施の形態では、複数の記
憶手段としてレジスタ群9を示したが、本発明はこれに
限られるものではない。複数の記憶手段とは、複数のア
ドレス(あるいは選択信号)によって個別にアクセス可
能な記憶領域が存在していればよく、レジスタに限ら
ず、例えばDRAMやSRAMなどのような記憶装置で
構成してもよい。このような場合、複数の記憶手段とい
っても実体として1つであったり、あるいは、他の各部
とともに1チップにまとめられていてもよく、その構成
は任意である。
In each of the above embodiments, the register group 9 is shown as a plurality of storage means, but the present invention is not limited to this. The plurality of storage means may include a storage area that can be individually accessed by a plurality of addresses (or selection signals), and is not limited to a register, and may be configured by a storage device such as a DRAM or an SRAM. Is also good. In such a case, the plurality of storage means may be one entity, or may be integrated into one chip together with other units, and the configuration is arbitrary.

【0076】[0076]

【発明の効果】以上の説明から明らかなように、本発明
によれば、情報処理装置側にアドレス変換テーブル(及
びアドレスデコーダ)もしくはデコード部を備えたアド
レス管理手段を設けることにより、再配置アドレスを用
いて、情報処理装置内の記憶手段のアドレスを、ソフト
ウェアで行うレジスタの設定順にアドレスが連続的にな
るように再配置することができる。これによって、離散
的なアドレスに配置されたレジスタに対して連続的なア
ドレスでアクセスを行うことができ、CPUやバスを効
率的に動作させることができる。また、このようなアド
レス管理手段は、情報処理装置に平易に追加でき、回路
変更や回路リソースの増加を少なく抑えることができ
る。また、バスに接続される情報処理装置に変更を加え
るのみであるため、従来のバスシステムやDMAコント
ローラに変更を加えることなく、汎用的なバスシステム
やDMAコントローラを用いたシステムにも導入するこ
とができる。
As is apparent from the above description, according to the present invention, by providing an address management means having an address conversion table (and an address decoder) or a decoding unit on the information processing apparatus side, the rearranged address can be obtained. The address of the storage means in the information processing apparatus can be rearranged so that the addresses are continuous in the order of register setting performed by software. This makes it possible to access the registers arranged at discrete addresses with continuous addresses, and to operate the CPU and bus efficiently. Further, such an address management unit can be easily added to the information processing apparatus, and a circuit change and an increase in circuit resources can be suppressed. In addition, since only a change is made to the information processing device connected to the bus, it is also necessary to introduce a general-purpose bus system or a system using a DMA controller without changing the conventional bus system or DMA controller. Can be.

【0077】また、アドレス管理手段によって内部の記
憶手段のアドレスを、ソフトウェアで行うレジスタの設
定順などに従ってアドレスが連続的になるように再配置
できるので、特殊なDMA制御装置など必要とせず、従
来のシステムでバースト転送やDMA転送といった転送
方式が使用できる。例えばバースト転送を利用すれば、
バスのオーバーヘッドが減少するため、バスを効率よく
使用できる。また、DMA転送を利用すれば、転送にC
PUが介在する必要がなくなるため、CPUの負荷が低
減される。さらにDMAバースト転送を利用すれば、バ
スの使用効率の向上とCPUの負荷の低減を図ることが
できる。また、DMA転送を利用すれば、例えばレジス
タの設定を行うような場合、CPUはキャッシュが利用
可能なメモリに対してのみアクセスを行えばよいため、
CPUは高速に動作することができ、またCPUの占有
時間も短縮することができる。
Further, since the address of the internal storage means can be rearranged by the address management means in accordance with the order of register setting performed by software or the like, a special DMA controller or the like is not required. In such a system, a transfer method such as burst transfer or DMA transfer can be used. For example, if you use burst transfer,
Since the bus overhead is reduced, the bus can be used efficiently. If DMA transfer is used, C
Since the PU does not need to be interposed, the load on the CPU is reduced. Further, by using the DMA burst transfer, it is possible to improve the bus use efficiency and reduce the load on the CPU. Also, if DMA transfer is used, for example, when setting a register, the CPU only needs to access a memory available for the cache.
The CPU can operate at high speed, and the occupation time of the CPU can be reduced.

【0078】以上のように、本発明は従来のバスシステ
ムに変更を加えることなく実現可能であり、かつCPU
の負荷を低減させ、バスの使用効率を向上させることが
できるという効果がある。
As described above, the present invention can be realized without changing the conventional bus system, and
And the bus utilization efficiency can be improved.

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

【図1】 本発明の情報処理装置の第1の実施の形態を
含むシステムの一例を示すブロック図である。
FIG. 1 is a block diagram illustrating an example of a system including an information processing apparatus according to a first embodiment of the present invention.

【図2】 変換テーブルの一例の説明図である。FIG. 2 is an explanatory diagram of an example of a conversion table.

【図3】 本発明の情報処理装置の第1の実施の形態に
おいてDMA転送を用いてレジスタ群9にデータを書き
込む場合の動作の具体例の説明図である。
FIG. 3 is an explanatory diagram of a specific example of an operation when writing data to a register group 9 using DMA transfer in the first embodiment of the information processing apparatus of the present invention.

【図4】 本発明の情報処理装置の第2の実施の形態を
含むシステムの一例を示すブロック図である。
FIG. 4 is a block diagram showing an example of a system including an information processing apparatus according to a second embodiment of the present invention.

【図5】 デコードブロックの一構成例を示すブロック
図である。
FIG. 5 is a block diagram illustrating a configuration example of a decoding block.

【図6】 デバイスの内部レジスタのアドレスマップの
一例の説明図である。
FIG. 6 is an explanatory diagram of an example of an address map of an internal register of a device.

【図7】 従来の情報処理装置を含むシステム構成の一
例を示すブロック図である。
FIG. 7 is a block diagram illustrating an example of a system configuration including a conventional information processing apparatus.

【図8】 CPUによるアクセスサイクルとバースト転
送によるアクセスサイクルの一例の説明図である。
FIG. 8 is an explanatory diagram of an example of an access cycle by a CPU and an access cycle by burst transfer.

【図9】 従来のDMA転送を用いたシステムの一例を
示すブロック図である。
FIG. 9 is a block diagram illustrating an example of a system using a conventional DMA transfer.

【図10】 従来のDMA転送を用いたシステムの一例
における動作の一例を示すフローチャートである。
FIG. 10 is a flowchart illustrating an example of an operation in an example of a conventional system using DMA transfer.

【図11】 DMA転送を用いた場合のバスサイクルの
一例の説明図である。
FIG. 11 is an explanatory diagram of an example of a bus cycle when DMA transfer is used.

【図12】 DMAバースト転送方式におけるバスサイ
クルの一例の説明図である。
FIG. 12 is an explanatory diagram of an example of a bus cycle in a DMA burst transfer method.

【図13】 従来のDMA転送を用いたシステムの一例
において、不連続領域へのDMA転送を行う場合の動作
の一例を示すフローチャートである。
FIG. 13 is a flowchart showing an example of an operation when performing a DMA transfer to a discontinuous area in an example of a conventional system using a DMA transfer.

【図14】 従来のDMA転送を用いたシステムの別の
例を示すブロック図である。
FIG. 14 is a block diagram showing another example of a system using the conventional DMA transfer.

【図15】 従来のDMA転送を用いたシステムの別の
例における動作の一例を示すフローチャートである。
FIG. 15 is a flowchart showing an example of an operation in another example of the system using the conventional DMA transfer.

【図16】 従来のDMA転送を用いたシステムのさら
に別の例を示すブロック図である。
FIG. 16 is a block diagram showing still another example of a system using the conventional DMA transfer.

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

1…CPU、2…メモリ、3…ホストバス、4…バスブ
リッジ、5…ラインバッファ、6…DMAコントロー
ラ、7…システムバス、8…情報処理装置、9…レジス
タ群、11…データバッファ、12…アドレスバッフ
ァ、13…上位アドレスデコーダ、14…変換テーブ
ル、15…アドレスデコーダ、21…デコード部、22
…デコードブロック、31…実アドレスデコーダ、32
…再配置アドレスデコーダ、41…転送元アドレスレジ
スタ、42,42−1〜42−n…転送先アドレスレジ
スタ、43…転送サイズレジスタ、44…転送元記憶領
域、45,47,47−1〜47−n…転送領域、46
…転送先記憶領域、51…MPU、52…CPU、53
…DMAコントローラ、54…ROM、55…RAM、
56…アドレス変換部、57…セレクタ回路、58…内
部バス、59…共通バス、60〜62…メモリ、63,
64…変換テーブル。
DESCRIPTION OF SYMBOLS 1 ... CPU, 2 ... memory, 3 ... host bus, 4 ... bus bridge, 5 ... line buffer, 6 ... DMA controller, 7 ... system bus, 8 ... information processing apparatus, 9 ... register group, 11 ... data buffer, 12 ... Address buffer, 13 upper address decoder, 14 conversion table, 15 address decoder, 21 decoding unit, 22
... Decode block, 31 ... Real address decoder, 32
... Relocation address decoder, 41 ... Transfer source address register, 42, 42-1 to 42-n ... Transfer destination address register, 43 ... Transfer size register, 44 ... Transfer source storage area, 45, 47, 47-1 to 47 −n: transfer area, 46
... Transfer destination storage area, 51 ... MPU, 52 ... CPU, 53
... DMA controller, 54 ... ROM, 55 ... RAM,
56 ... address converter, 57 ... selector circuit, 58 ... internal bus, 59 ... common bus, 60-62 ... memory, 63,
64 conversion table.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 今野 和仁 神奈川県海老名市本郷2274番地 富士ゼロ ックス株式会社内 Fターム(参考) 5B060 AB04 AB09 AB17 5B061 DD01 FF05 RR02 RR03  ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Kazuhito Konno 2274 Hongo, Ebina-shi, Kanagawa Prefecture F-Xerox Co., Ltd. F-term (reference) 5B060 AB04 AB09 AB17 5B061 DD01 FF05 RR02 RR03

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 外部よりアドレスを受け取りデータ転送
を行う情報処理装置において、実アドレスが付され外部
より受け取ったデータを格納可能な複数の記憶手段と、
該記憶手段の実アドレスとは異なる連続した複数の再配
置アドレスに対してそれぞれ前記記憶手段の実アドレス
を対応付けて管理し外部より受け取った再配置アドレス
に対応する実アドレスあるいは受け取った再配置アドレ
スから連続する再配置アドレスに対応する実アドレスを
順次アクセスするアドレス管理手段を備えていることを
特徴とする情報処理装置。
1. An information processing apparatus for receiving an address from outside and performing data transfer, comprising: a plurality of storage units each having a real address and capable of storing data received from outside;
A real address corresponding to a reallocation address received from the outside or a reallocation address received is managed by associating a real address of the storage means with a plurality of continuous reallocation addresses different from the real address of the storage means. An information processing apparatus comprising address management means for sequentially accessing real addresses corresponding to successive relocation addresses from the first address.
【請求項2】 前記アドレス管理手段は、前記再配置ア
ドレスと前記実アドレスを対応付けたルックアップテー
ブルを有することを特徴とする請求項1に記載の情報処
理装置。
2. The information processing apparatus according to claim 1, wherein said address management means has a look-up table in which said reallocation address is associated with said real address.
【請求項3】 前記アドレス管理手段は、前記実アドレ
スから前記複数の記憶手段のいずれかを選択する選択信
号に変換するアドレスデコーダを有しており、該選択信
号を用いて前記記憶手段をアクセスすることを特徴とす
る請求項1または請求項2に記載の情報処理装置。
3. The address management means includes an address decoder for converting the real address into a selection signal for selecting one of the plurality of storage means, and accessing the storage means using the selection signal. The information processing apparatus according to claim 1, wherein the information processing apparatus performs the processing.
【請求項4】 前記アドレス管理手段は、前記再配置ア
ドレスと前記実アドレスとの対応を外部より設定可能に
構成されていることを特徴とする請求項1ないし請求項
3のいずれか1項に記載の情報処理装置。
4. The apparatus according to claim 1, wherein said address management means is configured to be able to externally set a correspondence between said relocation address and said real address. An information processing apparatus according to claim 1.
【請求項5】 前記アドレス管理手段は、前記再配置ア
ドレスを入力として前記複数の記憶手段のいずれかを選
択する選択信号を出力する複数のデコード手段を有して
おり、前記実アドレスに対応する前記選択信号を用いて
前記記憶手段をアクセスすることを特徴とする請求項1
に記載の情報処理装置。
5. The address management means includes a plurality of decoding means for receiving the relocation address as input and outputting a selection signal for selecting one of the plurality of storage means, and corresponding to the real address. 2. The storage unit is accessed by using the selection signal.
An information processing apparatus according to claim 1.
【請求項6】 前記アドレス管理手段は、前記選択信号
に対応する前記再配置アドレスを外部より設定可能に構
成されていることを特徴とする請求項5に記載の情報処
理装置。
6. The information processing apparatus according to claim 5, wherein the address management unit is configured to be able to externally set the relocation address corresponding to the selection signal.
【請求項7】 外部とのデータ転送は、バースト転送に
より連続して転送を行うものであり、前記アドレス管理
手段は、バースト転送のアドレスとして再配置アドレス
を受け取った場合に該再配置アドレスから始まる連続し
た再配置アドレスに対応付けられている実アドレスを順
次アクセスし、前記記憶手段との間のデータ転送を行う
ことを特徴とする請求項1ないし請求項6のいずれか1
項に記載の情報処理装置。
7. A data transfer to and from the outside is carried out continuously by burst transfer, and when receiving a relocation address as an address of burst transfer, the address management means starts from the relocation address. 7. The data transfer method according to claim 1, wherein real addresses associated with successive relocation addresses are sequentially accessed to transfer data to and from said storage means.
The information processing device according to item.
【請求項8】 外部とのデータ転送は、DMA転送によ
り連続して転送を行うものであり、前記アドレス管理手
段は、DMA転送のアドレスとして再配置アドレスを受
け取った場合に該再配置アドレスに対応付けられている
実アドレスをアクセスし、前記記憶手段との間のデータ
転送を行うことを特徴とする請求項1ないし請求項7の
いずれか1項に記載の情報処理装置。
8. The data transfer with the outside is performed continuously by DMA transfer, and when the address management means receives a relocation address as a DMA transfer address, the address management means responds to the relocation address. 8. The information processing apparatus according to claim 1, wherein an access is made to the assigned real address, and data transfer with the storage unit is performed.
JP2000070346A 2000-03-14 2000-03-14 Information processor Pending JP2001256104A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000070346A JP2001256104A (en) 2000-03-14 2000-03-14 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000070346A JP2001256104A (en) 2000-03-14 2000-03-14 Information processor

Publications (1)

Publication Number Publication Date
JP2001256104A true JP2001256104A (en) 2001-09-21

Family

ID=18589091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070346A Pending JP2001256104A (en) 2000-03-14 2000-03-14 Information processor

Country Status (1)

Country Link
JP (1) JP2001256104A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006251916A (en) * 2005-03-08 2006-09-21 Fujitsu Ltd Dma transfer system and dma transfer method
JP2007164303A (en) * 2005-12-09 2007-06-28 Megachips Lsi Solutions Inc Information processor, controller and file reading method
JP2007179286A (en) * 2005-12-27 2007-07-12 Megachips Lsi Solutions Inc Storage device and information processor
KR100876537B1 (en) 2007-05-04 2008-12-31 (주)씨앤에스 테크놀로지 DM controller device and control method using multi parameter set
JP2009205521A (en) * 2008-02-28 2009-09-10 Fujitsu Ltd Data transfer unit
WO2015133028A1 (en) * 2014-03-07 2015-09-11 三菱電機株式会社 Information processing device and information processing method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006251916A (en) * 2005-03-08 2006-09-21 Fujitsu Ltd Dma transfer system and dma transfer method
US7634593B2 (en) 2005-03-08 2009-12-15 Fujitsu Microelectronics Limited System and method for DMA transfer
JP2007164303A (en) * 2005-12-09 2007-06-28 Megachips Lsi Solutions Inc Information processor, controller and file reading method
JP2007179286A (en) * 2005-12-27 2007-07-12 Megachips Lsi Solutions Inc Storage device and information processor
KR100876537B1 (en) 2007-05-04 2008-12-31 (주)씨앤에스 테크놀로지 DM controller device and control method using multi parameter set
JP2009205521A (en) * 2008-02-28 2009-09-10 Fujitsu Ltd Data transfer unit
WO2015133028A1 (en) * 2014-03-07 2015-09-11 三菱電機株式会社 Information processing device and information processing method
GB2538191A (en) * 2014-03-07 2016-11-09 Mitsubishi Electric Corp Information processing device and information processing method
JP6038384B2 (en) * 2014-03-07 2016-12-07 三菱電機株式会社 Information processing apparatus and information processing method
US20160357690A1 (en) * 2014-03-07 2016-12-08 Mitsubishi Electric Corporation Information processing device and information processing method
GB2538191B (en) * 2014-03-07 2021-03-17 Mitsubishi Electric Corp Information processing device and information processing method

Similar Documents

Publication Publication Date Title
JP4712706B2 (en) Memory reallocation and sharing in electronic systems
JP4820566B2 (en) Memory access control circuit
JP2005050324A (en) Interface conversion system and its method
WO1998030969A2 (en) Dma device with local page table
JP2001297036A (en) Cache with multiple-embedding mode
JPH05210570A (en) Method and means extending address
JP2001256104A (en) Information processor
JP2001075866A (en) Method for operating storage device, and storage device
JP2007018222A (en) Memory access control circuit
KR100463205B1 (en) Computer system embedded sequantial buffer for improving DSP data access performance and data access method thereof
JP2002366425A (en) Data processor having address conversion circuit
CN1731371A (en) Method of storage unit access in digital signal processing system and processing system therefor
US5566312A (en) Processimg unit with programmable mis-aligned byte addressing
JPH0447349A (en) Data storage device
JPH05189360A (en) Data transfer and storage system
JP4015867B2 (en) Address signal output device
JP3322993B2 (en) Information processing device
JP2000181854A (en) Method for transmitting address to memory, and memory
KR100329768B1 (en) Memory addressing device for micro-controller unit
JP2003296105A (en) Data processor
WO2001067271A1 (en) Information processing device
JP2692180B2 (en) Microcomputer
JP2008003867A (en) Microcomputer
JP2000276398A (en) Data reading controlled for cpu
JP2002318779A (en) Device, and access method for its register