JPH0329048A - Data transfer system - Google Patents

Data transfer system

Info

Publication number
JPH0329048A
JPH0329048A JP1164635A JP16463589A JPH0329048A JP H0329048 A JPH0329048 A JP H0329048A JP 1164635 A JP1164635 A JP 1164635A JP 16463589 A JP16463589 A JP 16463589A JP H0329048 A JPH0329048 A JP H0329048A
Authority
JP
Japan
Prior art keywords
data
transfer
block
transferred
boundary
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
JP1164635A
Other languages
Japanese (ja)
Inventor
Yoshinori Kishimoto
岸本 美紀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1164635A priority Critical patent/JPH0329048A/en
Publication of JPH0329048A publication Critical patent/JPH0329048A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To transfer data at a high speed by turning the data into a block to transfer it via a block transfer part if the quantity of data to be transferred is larger than the quantity of boundary data and then transferring the due data and the remaining data via a non-block transfer part if the quantity of data to be transferred is smaller than that of boundary data. CONSTITUTION:A transfer data quantity deciding part 11 decides whether the quantity of data to be transferred is larger than a prescribed quantity of boundary data or not. A block forming part 12 divides the transfer data larger than the boundary data into a block of a prescribed quantity of data and the remaining data. A block transfer part 13 transfers the block data while deciding whether the number of blocks to be transferred one by one are through or not. Then a non-block transfer part 14 transfers the data less than a block while deciding whether the quantity of data to be transferred for each piece is through or not. As a result, the deciding frequency is reduced and the data transfer time is shortened.

Description

【発明の詳細な説明】 〔概 要] 先入れ先出し記憶装置(F I FO)を通じて行うプ
ロセッサ間のデータ転送に関し、 転送処理の高速化を目的とし、 二つのプロセッサ間に接続された先入れ先出し記憶装置
(FIF○)を通じて行うブロセンサ間データ転送のた
め、一つのプロセンサから該先入れ先出し記憶装置への
データ転送において、転送すべきデータ数が予め定めた
境界データ数より大きいか否かの判定を行う転送データ
数判定部と、前記境界データ数より多い転送データを予
め定めたデータ数のブロックと残余データに分割するブ
ロック化部と、前記ブロックデータを1ブロック毎に転
送すべきブロック数を終了しているかを判定しつつ転送
するブロック転送部と、前記ブロック未満のデータを1
データ毎に転送すべきデータ数を終了しているかを判定
しつつ転送する非ブロック転送部と、を備え、転送すべ
きデータ数が境界データ数より大きい場合はブロック化
し、ブロノク転送部により転送し、転送すべきデータ数
が境界データ数より小さい場合、ならびに前記残余デー
タは、非ブロック転送部によって転送するように構威す
る。
[Detailed Description of the Invention] [Summary] Regarding data transfer between processors via a first-in, first-out memory (FIFO), a first-in, first-out memory (FIF) connected between two processors is used for the purpose of speeding up the transfer process. ○) Transfer data number determination that determines whether the number of data to be transferred is larger than a predetermined boundary data number in data transfer from one pro sensor to the first-in, first-out storage device for data transfer between pro sensors. a blocking unit that divides the transferred data exceeding the number of boundary data into blocks of a predetermined number of data and residual data; and a blocking unit that determines whether the number of blocks to be transferred for each block of the block data has been completed. A block transfer unit that transfers data while
A non-block transfer unit that transfers each data while determining whether the number of data to be transferred has been completed, and if the number of data to be transferred is larger than the number of boundary data, it is made into blocks and transferred by the block transfer unit. , if the number of data to be transferred is smaller than the number of boundary data, the remaining data is arranged to be transferred by the non-block transfer unit.

〔産業−Lの利用分野〕[Industry-L usage field]

本発明は情報処理装置におけるデータ転送に係り、特に
先入れ先出し記憶装置(以下、FIFOと略記する)を
通じてのデータ転送方式に関する.近年、図形処理の分
野においては、複雑な図形を高速に処理できる装置が要
求されている.それを実現するために、複雑な処理を処
理種類ごとに高速の専用ブロセンサで行う装置が増えて
きており、そのプロセッサ間のデータの受け渡しはFI
FOを使用して行うのが一般である。
The present invention relates to data transfer in an information processing device, and particularly to a data transfer method through a first-in, first-out storage device (hereinafter abbreviated as FIFO). In recent years, in the field of graphic processing, there has been a demand for devices that can process complex graphics at high speed. In order to achieve this, the number of devices that perform complex processing using high-speed dedicated processors for each type of processing is increasing, and data exchange between these processors is performed using FI.
This is generally done using FO.

ここで、図形処理装置の処理性能のネックになるのがプ
ロセッサ間のデータ転送時間であり、この時間をできる
だけ少なくすることが装置全体の性能を−ヒげる大きな
鍵となる。
Here, the bottleneck in the processing performance of a graphics processing device is the data transfer time between processors, and reducing this time as much as possible is a key to improving the performance of the entire device.

〔従宋の技術] ブロセンサが、連続するデータをFIFOへ転送する場
合には、通常、以下の情報を基にデータを転送する。
[Technology from the Congregational Song Dynasty] When a block sensor transfers continuous data to a FIFO, it usually transfers the data based on the following information.

(a)転送データ量 (b)連続するデータの格納されている先頭アドレス プロセッサは通常一度に1データずつしか転送できず、
従来の転送方式では、連続するデータをFIFOへ転送
する場合、1データ毎に上記転送データ量を満たしたか
どうかを判定しながら処理を行っていた。
(a) Amount of data to be transferred (b) Start address where continuous data is stored A processor can usually only transfer one data at a time,
In the conventional transfer method, when transferring continuous data to the FIFO, processing is performed while determining whether or not the above transfer data amount is satisfied for each piece of data.

第4図は、従来のデータ転送方式を示すフローチャート
である。転送処理は、上記(a)転送データ看と(b)
先頭アドレスがレジスタにセットされたとき開始される
。以下、処理ステンプを追って動作を説明する。
FIG. 4 is a flowchart showing a conventional data transfer method. The transfer process consists of the above (a) transfer data viewing and (b)
Starts when the start address is set in the register. The operation will be explained below, following the processing steps.

■レジスタにセッ1・されている転送データ数が0より
多い(転送すべきデータが未だある)かを判定する。0
より多ければステップ■へ進み、Oであれば転送処理を
終了する。
(2) Determine whether the number of transfer data set in the register is greater than 0 (there is still data to be transferred). 0
If the number is greater, the process proceeds to step (2), and if the number is O, the transfer process is ended.

■セットされているアドレスからFIFOへ、1データ
転送する。
■Transfer one data from the set address to FIFO.

■セットされている転送データ量から1を減算して転送
データ数(これから転送すべきデータ数)とし、セット
されているアドレスに1を加算してステップ■へ戻る。
(2) Subtract 1 from the set amount of transfer data to obtain the number of transfer data (number of data to be transferred from now on), add 1 to the set address, and return to step (2).

[発明が解決しようとする課B] 複雑な処理を高速の専用プロセッサで行うような装置に
おいて、FIF○を通じてデータの受け渡しを行う際に
、例えば、転送元データを転送する時間と、転送先が1
データを取り出して、そのデータに対して処理する時間
かほ\′同しか、またはそれ以上であるような装置の場
合には、専用プロセッサにおいてアイドル時間を生ずる
可能性がる。そのことは装置全体でみると、性能低下に
つながることになる。従って、FIFOへのデータ転送
時間は、できる限り短縮することが要求される。例えば
、ベクトルデータを処理する高速プロセッサにFIFO
を通じて多数のベクトルデータを転送する場合、一つの
へクトルデータ(例えばx,y,z座標およびフラグデ
ータの4語からなる)のFIFOへの転送に要する時間
が、高速プロセッサがFIFOから1データを取り出し
それに関する処理を行うに要する時間より長くては、高
速プロセッサにアイドル時間を生ずることになる。
[Problem B to be solved by the invention] When transferring data through FIF○ in a device that performs complex processing using a high-speed dedicated processor, for example, the time to transfer source data and the transfer destination are 1
For devices where it takes about the same or more time to retrieve data and process that data, idle time can occur in the dedicated processor. This leads to a decrease in performance of the entire device. Therefore, it is required to shorten the data transfer time to the FIFO as much as possible. For example, a FIFO is used in a high-speed processor that processes vector data.
When transferring a large number of vector data through the FIFO, the time required to transfer one vector data (for example, consisting of four words of x, y, z coordinates and flag data) to the FIFO is reduced by the time required for a high-speed processor to transfer one data from the FIFO. Any longer than the time required to retrieve and perform the associated processing will result in idle time for the high speed processor.

しかし、前述のような従来の転送方式では、■データ毎
に転送データ量を満たしているかどうかを判定しながら
行っており、判定処理は時間がかかる処理であるという
問題点がある。
However, in the conventional transfer method as described above, it is determined whether or not the amount of data to be transferred is satisfied for each data item, and there is a problem in that the determination process is a time-consuming process.

本発明が解決しようとする課題は、このような従来の問
題点を解消した転送方弐を提供することにある。
The problem to be solved by the present invention is to provide a second transfer method that solves these conventional problems.

(課題を解決するための手段〕 第1図は、本発明の構戒を示すブロノク図である。(Means for solving problems) FIG. 1 is a Bronok diagram showing the structure of the present invention.

図において、1.3はブIコセッサであり、2は先入れ
先出し記憶装J (F I FO)である.l1は転送
データ数判定部であり、転送すべきデータ数が予め定め
た境界データ数より大きいか否かの判定を行う。
In the figure, 1.3 is a processor, and 2 is a first-in, first-out storage device (F I FO). Reference numeral 11 denotes a transfer data number determining unit, which determines whether the number of data to be transferred is larger than a predetermined boundary data number.

l2はブロック化部であり、前記境界データ数より多い
転送データを予め定めたデータ数のブロンクと残余デー
タに分割する。
Reference numeral 12 denotes a blocking unit, which divides the transferred data that is larger than the number of boundary data into a predetermined number of blocks of data and residual data.

13はブロソク転送部であり、前記ブロックデータを1
ブロンク毎に転送すべきブロック数を終了しているかを
判定しつつ転送する. 14は非ブロック転送部であり、前記ブロック未満のデ
ータを1データ毎に転送すべきデータ数を終了している
かを判定しつつ転送する。
13 is a block transfer unit, which transfers the block data to 1
Transfer each bronc while determining whether the number of blocks to be transferred has been completed. Reference numeral 14 denotes a non-block transfer unit, which transfers data smaller than the block while determining for each piece of data whether the number of data to be transferred has been completed.

〔作 用〕[For production]

本発明では、転送データを一定数毎にブロック化し、転
送量のチェック(転送すべきデータ遺を終了しているか
の判定)を、■データ毎には行わず、1ブロンク毎に行
うようにする。
In the present invention, the transfer data is divided into blocks of a certain number, and the transfer amount is checked (determining whether the data to be transferred has been completed) is not performed for each data, but for each block. .

ただし、転送すべきデータ数が、予め定めた境界数以上
であるかどうかの判定を行い、それ以下である場合には
ブロンク化は行わない。境界数以下でブロック化を行わ
ないデータ、およびブロック化部12においてブロック
数に満たない残余データについては、非ブロンク転送部
14により、従来とおり1データ毎に転送データ量を満
たしているかどうかを判定しながら転送する。
However, it is determined whether the number of data to be transferred is equal to or greater than a predetermined boundary number, and if it is less than that, no broncization is performed. For data that is less than the boundary number and is not blocked, and for remaining data that is less than the number of blocks in the blocking unit 12, the non-bronch transfer unit 14 determines whether the amount of data to be transferred is satisfied for each piece of data as before. Transfer while doing so.

これによって、判定の回数はデータ毎からブロック毎に
削減されることになり、単純には、下記の時間の分だけ
転送処理時間が短縮され、転送元では他の処理を行うこ
とができ、転送先でのアイドル時間が減ることにより、
装置全体の性能向上につながる。
As a result, the number of determinations will be reduced from each data block to each block. Simply put, the transfer processing time will be shortened by the amount of time shown below, and the transfer source will be able to perform other processing. By reducing idle time at the
This leads to improved performance of the entire device.

(データ数一ブロック数)×(1回の判定に要する時間
) しかし、転送データ数が少ない場合には、プロ・ノク化
に要する時間がブロノク化してブロック転送することに
より減少する時間より大きくなる可能性があり、これが
等しくなるのが効果の分かれ岡となる。前記のブロック
化を行うか否かを判定する境界数は、この効果の分かれ
目のデータ数を選ぶもので、プロセッサにより予め計算
しておいて設定する。
(Number of data - Number of blocks) x (Time required for one judgment) However, if the number of data to be transferred is small, the time required to convert it to a professional block will be greater than the time reduced by converting it to a block and transferring the block. There is a possibility, and being equal is the difference between effects. The boundary number for determining whether or not to perform the above-mentioned blocking is to select the number of data at the dividing point of this effect, and is calculated and set in advance by the processor.

また、ブロック化の基準となるブロック数は、シフl・
命令により求めることができるようにするため、2の倍
数の適当な数から選び設定する。
In addition, the number of blocks, which is the standard for blocking, is
In order to be able to obtain it by command, it is selected and set from an appropriate number that is a multiple of 2.

〔実施例〕〔Example〕

第2図は、本発明の一実施例のシステムlI戒を示す図
である.本システムは、図形データを高速処理する図形
処理システムである。
FIG. 2 is a diagram showing a system II command according to an embodiment of the present invention. This system is a graphic processing system that processes graphic data at high speed.

図において、二重線で示したのはデータの;″flLれ
を示す。
In the figure, the double line indicates the difference in data.

10はプリブロセッザであり、図示省略のホス1・計算
機から送られてきた図形データ(ヘクトル座標データ)
のデータ形式が所定の形式を満たしているかどうかを調
べ、高速専用プロセッサ20が処理し易いように変形し
、第一の高速専用プロセンサ20へ転送すべ(FIFO
30に転送する。本発明によるデータ転送処理は、この
ブリプロセッサ10内のプログラムによって行われる。
10 is a pre-brosesza, which is graphic data (hectoral coordinate data) sent from a computer (not shown)
Check whether the data format of the data satisfies a predetermined format, transform it so that it can be easily processed by the high-speed dedicated processor 20, and transfer it to the first high-speed dedicated processor 20 (FIFO).
Transfer to 30. The data transfer process according to the present invention is performed by a program within this briprocessor 10.

20は第一の高速専用プロセッサであり、F I F0
30に入れられた図形データ(ベクトル座標データ)を
lデータずつ取り出し、座標変換・クリ2・プ処理(表
示画面上に見えない線を消去する処理)等を行い、結果
の図形データを第二の高速専用プロセッサ40に転送す
べ<FIFO50に転送する。
20 is the first high-speed dedicated processor, F I F0
The graphic data (vector coordinate data) entered in 30 is extracted one data at a time, coordinate conversion, clip processing (processing to erase invisible lines on the display screen), etc. are performed, and the resulting graphic data is The data should be transferred to the high-speed dedicated processor 40 of the FIFO 50.

40は第二の高速専用プロセッサであり、FIF○50
に入れられた図形データを取り出し、図示省略のフレー
ムメモリ上に描画する。
40 is the second high-speed dedicated processor, FIF○50
The graphic data stored in the image data is extracted and drawn on a frame memory (not shown).

第3図は、本発明の一実施例による処理を示すフローチ
ャートである。
FIG. 3 is a flowchart showing processing according to an embodiment of the present invention.

以下、フローチャートの処理ステップに従ってその動作
を説明する。
The operation will be described below according to the processing steps in the flowchart.

■転送すべきデータ数が、予め設定してある境界数八よ
り大きいかどうかを判定する。大きければステップ■に
進み、そうでなければレジスタに転送データ数をセット
してステップ■へ飛ぶ。
(2) Determine whether the number of data to be transferred is larger than a preset boundary number of eight. If it is larger, proceed to step ■; otherwise, set the number of transfer data in the register and jump to step ■.

■転送すべきデータ数を予め設定してあるブロック内デ
ータ数Bで割った値を「ブロック数」とし、割った余り
データ数を「転送データ数」としてレジスタにセットす
る。
(2) The value obtained by dividing the number of data to be transferred by the preset number of data in a block B is set as the "number of blocks", and the number of remaining data after the division is set in the register as the "number of data to be transferred".

■レジスタにセットされている「ブロック数」が0より
大きい、即ち転送すべきブロックが未だあるかを判定す
る.大きければステップ■へ進み、0であればステップ
■へ飛ぶ。
■Determine whether the "number of blocks" set in the register is greater than 0, that is, there are still blocks to be transferred. If it is larger, proceed to step ■; if it is 0, jump to step ■.

■FIFOへ1データ転送する。■Transfer one data to FIFO.

■FIFOへの1データずつの転送をB回行う。■Transfer each piece of data to the FIFO B times.

■レジスタにセットしてあるブロック数から1を減算し
て、ステップ■へ戻る. ■レジスタにセントされている転送データ数がOより大
きい、即ち転送すべきデータが未だあるかを判定し、大
きければステップ■へ進み、0であればこのデータ転送
処理を終了する。
■Subtract 1 from the number of blocks set in the register and return to step ■. (2) It is determined whether the number of transfer data that has been sent to the register is greater than O, that is, there is still data to be transferred. If it is larger, proceed to step (2); if it is 0, this data transfer process is terminated.

■FIF○へ1データ転送する。■Transfer 1 data to FIF○.

■レジスタにセントされているデータ数から1を減算し
て、ステンブ■へ戻る。
■Subtract 1 from the number of data stored in the register and return to step ■.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかなように本発明によれば、FIF
Oによるデータ転送を高速化し、高速プロセッサのアイ
ドル時間を最小限に止めることにより、システム全体の
処理能力の向上に寄与するという著しい工業的効果があ
る。
As is clear from the above description, according to the present invention, FIF
By speeding up data transfer by O and minimizing idle time of high-speed processors, there is a significant industrial effect in that it contributes to improving the processing power of the entire system.

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

第1図は本発明の構成を示すブロック図、第2図は本発
明の一実施例のシステム構成を示す図、 第3図は本発明の一実施例による処理を示すフローチャ
ート、 第4図は従来のデータ転送方式を示すフローチャートで
ある。 図において、 1,  2. 10, 20. 40はプロセッサ、3
, 30. 50はFIF0, 11は転送データ数判定部、 12はブロンク化部、    13はブロック転送部、
14は非ブロック転送部、 を示す。 本涜卯pオ城を斤4ブロンク図 第   1   図 本発明の−実施例のンステム構吸を示す図第    2
     IA 第 3 図
FIG. 1 is a block diagram showing the configuration of the present invention, FIG. 2 is a diagram showing the system configuration of an embodiment of the present invention, FIG. 3 is a flowchart showing processing according to an embodiment of the present invention, and FIG. 2 is a flowchart showing a conventional data transfer method. In the figure, 1, 2. 10, 20. 40 is a processor, 3
, 30. 50 is FIF0, 11 is a transfer data number determination unit, 12 is a broncization unit, 13 is a block transfer unit,
14 indicates a non-block transfer section. Fig. 1 shows the system structure of the embodiment of the present invention Fig. 2
IA Figure 3

Claims (1)

【特許請求の範囲】 二つのプロセッサ(1)、(2)間に接続された先入れ
先出し記憶装置(3)を通じて行うプロセッサ間データ
転送のため、一つのプロセッサ(1)から該先入れ先出
し記憶装置(3)へのデータ転送において、 転送すべきデータ数が予め定めた境界データ数より大き
いか否かの判定を行う転送データ数判定部(11)と、 前記境界データ数より多い転送データを予め定めたデー
タ数のブロックと残余データに分割するブロック化部(
12)と、 前記ブロックデータを1ブロック毎に転送すべきブロッ
ク数を終了しているかを判定しつつ転送するブロック転
送部(13)と、 前記ブロック未満のデータを1データ毎に転送すべきデ
ータ数を終了しているかを判定しつつ転送する非ブロッ
ク転送部(14)と、を備え、転送すべきデータ数が境
界データ数より大きい場合はブロック化し、ブロック転
送部(13)により転送し、転送すべきデータ数が境界
データ数より小さい場合、ならびに前記残余データは、
非ブロック転送部(14)によって転送するよう構成し
たことを特徴とするデータ転送方式。
[Claims] A first-in-first-out storage device (3) from one processor (1) for inter-processor data transfer through the first-in-first-out storage device (3) connected between two processors (1), (2). a transfer data number determination unit (11) that determines whether the number of data to be transferred is larger than a predetermined number of boundary data; Blocking unit that divides into several blocks and residual data (
12); a block transfer unit (13) that transfers the block data while determining whether the number of blocks to be transferred has been completed for each block; a non-block transfer unit (14) that transfers the data while determining whether the number of data has been completed; If the number of data to be transferred is smaller than the boundary data number, and the remaining data is
A data transfer method characterized in that data transfer is performed by a non-block transfer unit (14).
JP1164635A 1989-06-27 1989-06-27 Data transfer system Pending JPH0329048A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1164635A JPH0329048A (en) 1989-06-27 1989-06-27 Data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1164635A JPH0329048A (en) 1989-06-27 1989-06-27 Data transfer system

Publications (1)

Publication Number Publication Date
JPH0329048A true JPH0329048A (en) 1991-02-07

Family

ID=15796948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1164635A Pending JPH0329048A (en) 1989-06-27 1989-06-27 Data transfer system

Country Status (1)

Country Link
JP (1) JPH0329048A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617424A (en) * 1993-09-08 1997-04-01 Hitachi, Ltd. Method of communication between network computers by dividing packet data into parts for transfer to respective regions
US5835492A (en) * 1993-09-08 1998-11-10 Hitachi, Ltd. Network for mutually connecting computers and communicating method using such network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617424A (en) * 1993-09-08 1997-04-01 Hitachi, Ltd. Method of communication between network computers by dividing packet data into parts for transfer to respective regions
US5835492A (en) * 1993-09-08 1998-11-10 Hitachi, Ltd. Network for mutually connecting computers and communicating method using such network
US5936955A (en) * 1993-09-08 1999-08-10 Hitachi, Ltd. Network for mutually connecting computers and communicating method using such network

Similar Documents

Publication Publication Date Title
JP3224782B2 (en) Process sharing dynamic change method and computer
US4967375A (en) Fast architecture for graphics processor
US6184908B1 (en) Method and apparatus for co-processing video graphics data
US7079146B2 (en) Image producing device
US7760205B2 (en) Information processing apparatus for efficient image processing
CN111858038A (en) Method, device and medium for reading memory data of FPGA (field programmable Gate array) board card
JP2006323760A (en) Information processing device, system and method, and processor
JP2001134752A (en) Graphic processor and data processing method for the same
US6771271B2 (en) Apparatus and method of processing image data
JPH0329048A (en) Data transfer system
US8593465B2 (en) Handling of extra contexts for shader constants
JP3468985B2 (en) Graphic drawing apparatus and graphic drawing method
JPH10171766A (en) Graphic accelerator
JPH1185455A (en) Graphic drawing and processing system
JP3216556B2 (en) Window information transfer method and window information transfer method
JPS61233869A (en) Picture processor
JP2830239B2 (en) Input display control device
JPH06187312A (en) Processing method and its device in multi-cpu system
JPH0198073A (en) Structure of work station processor
JPH02158884A (en) Image memory device and multiprocessor image processor
CN117555465A (en) Graphic display method and graphic display device for display equipment
JP2003186666A (en) Microcomputer and dma control circuit
CN117893415A (en) Multi-core-based large-resolution image processing acceleration method
JPS58115552A (en) Interrupt controlling system
JPH0661039B2 (en) Memory access control circuit