JP2005275473A - Memory control adapter - Google Patents

Memory control adapter Download PDF

Info

Publication number
JP2005275473A
JP2005275473A JP2004083685A JP2004083685A JP2005275473A JP 2005275473 A JP2005275473 A JP 2005275473A JP 2004083685 A JP2004083685 A JP 2004083685A JP 2004083685 A JP2004083685 A JP 2004083685A JP 2005275473 A JP2005275473 A JP 2005275473A
Authority
JP
Japan
Prior art keywords
buffer
read
data
control
storage device
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
JP2004083685A
Other languages
Japanese (ja)
Inventor
Yoshinori Shiraishi
嘉則 白石
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 JP2004083685A priority Critical patent/JP2005275473A/en
Publication of JP2005275473A publication Critical patent/JP2005275473A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory control adapter that can suppress an increase in access latency. <P>SOLUTION: At the start of uploading direct memory access, a CPU sets a read pointer register for designing from which location of a buffer memory 14 data should be taken. The read pointer register, which is set in a register group 16 via an I/F conversion/analysis part 22 from a PCI bus, is stored also in a buffer control part 24 by the I/F conversion/analysis part 22. According to the read pointer register, data are read ahead from the buffer memory 14 to a read buffer 26. As the CPU later sets a control register in the register group, the read buffer 26 passes the data to an interface controller 12. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、メモリコントロールアダプタにかかり、特に、CPU(Central Processing Unit)等の中央処理装置、CPUに接続される外部装置、及びメモリバッファ等の外部記憶装置等のそれぞれに対するインタフェース機能を備えたインタフェースコントローラとCPU間に接続され、外部記憶装置が接続されるメモリコントロールアダプタに関する。   The present invention relates to a memory control adapter, and in particular, an interface having an interface function for a central processing unit such as a CPU (Central Processing Unit), an external device connected to the CPU, and an external storage device such as a memory buffer. The present invention relates to a memory control adapter connected between a controller and a CPU and connected to an external storage device.

一般的に、DRAM等のメモリへのデータ書き込みやデータ読み出しは、非特許文献1に記載のように、DRAMコントローラ等のインタフェースコントローラで行われるようになっている。   In general, data writing to and reading from a memory such as a DRAM is performed by an interface controller such as a DRAM controller, as described in Non-Patent Document 1.

インタフェースコントローラは、それを制御するCPUのバスに直接接続されることが多かった。例として、MC68030を用いたシステムの一例を図6に示す。   In many cases, the interface controller is directly connected to the bus of the CPU that controls the interface controller. As an example, FIG. 6 shows an example of a system using MC68030.

図6のインタフェースコントローラ(IFC)42は、ダイレクトメモリアクセス(DMA)等の機能を備えた外部装置40のインタフェースコントローラであり、インタフェースコントローラ42にはバッファメモリ(例えばSRAM:Static Random Access MemoryやDRAM:Dynamic Random Access Memory等)14が接続され、ダイレクトメモリアクセスを行ったデータの一次保管などに使用される。   An interface controller (IFC) 42 in FIG. 6 is an interface controller of the external device 40 having a function such as direct memory access (DMA). The interface controller 42 includes a buffer memory (for example, SRAM: Static Random Access Memory or DRAM: Dynamic Random Access Memory etc.) 14 is connected and used for the primary storage of the data that has undergone direct memory access.

インタフェースコントローラ42のCPUインタフェースは、MC68030のCPUバスプロトコルに準拠しており、MC68030バスにて直接制御される。   The CPU interface of the interface controller 42 conforms to the MC68030 CPU bus protocol and is directly controlled by the MC68030 bus.

CPU44は、インタフェースコントローラ42内のレジスタ設定にて、バッファメモリ内のアドレスにデータを格納するかを指定し、ダイレクトメモリアクセスの制御を行う。また、バッファメモリに格納されたデータは、インタフェースコントローラ42のCPUインタフェースを経由して読み出しや書き込みを行う。   The CPU 44 controls whether to store data at an address in the buffer memory by register setting in the interface controller 42 and controls direct memory access. Data stored in the buffer memory is read and written via the CPU interface of the interface controller 42.

近年では、CPUバスの高速化に伴い、CPUバスに直接ターゲットデバイスを接続できるシステムは少なくなり、図7に示すような、ホストPCIブリッジ(Host-PCI Bridge)46を経由して、PCIバスインタフェースでターゲットデバイスを接続するシステムが一般的となってきている。図7は、ホストPCIブリッジを経由して、PCIインタフェースでターゲットデバイスを接続するシステムにおいて、CPU44としてMPC750を用いた一例を示す。   In recent years, with the increase in CPU bus speed, the number of systems that can directly connect target devices to the CPU bus has decreased, and a PCI bus interface via a host PCI bridge (Host-PCI Bridge) 46 as shown in FIG. In general, systems for connecting target devices have become common. FIG. 7 shows an example in which an MPC 750 is used as the CPU 44 in a system for connecting a target device with a PCI interface via a host PCI bridge.

この場合、インタフェースコントローラ42とPCIバス間にPCIアダプタ(PCIADP)48を接続して、インタフェース変換を行う。但し、このような構成は部品点数が多くなり、実装やコスト面で不利となるため、最終的にはインタフェースコントローラ42をPCIアダプタ48が吸収できるように、バッファメモリ14はPCIアダプタ48の方に接続するような場合がある。   In this case, a PCI adapter (PCIADP) 48 is connected between the interface controller 42 and the PCI bus to perform interface conversion. However, such a configuration requires a large number of parts and is disadvantageous in terms of mounting and cost. Therefore, the buffer memory 14 is moved toward the PCI adapter 48 so that the PCI adapter 48 can absorb the interface controller 42 in the end. There is a case to connect.

また、PCIアダプタ48にバッファメモリ14を接続することにより、PICバスからPCIアダプタ48を経由して、インタフェースコントローラ42を経由せずに直接バッファメモリへアクセスすることも可能となるため、バッファメモリへのアクセスが高速化が可能となる。   Further, by connecting the buffer memory 14 to the PCI adapter 48, it is possible to directly access the buffer memory from the PIC bus via the PCI adapter 48 without passing through the interface controller 42. Access can be speeded up.

特に、PCIアダプタ48のような即席の設計が必要なハードウエアは、ほとんどの場合FPGA(Field Programmable Gate Array)で設計されるため、基板を作り替えずにFPGAのデータを書き換えることによって、インタフェースコントローラ42の機能をPCIアダプタ48に統合するよう設計するのが一般的である。
大島 篤著 「見てわかるパソコン解体新書」、第1版、ソフトバンクパブリッシング株式会社、2000年7月20日、p52−53
In particular, hardware that requires immediate design, such as the PCI adapter 48, is almost always designed with an FPGA (Field Programmable Gate Array). Typically, 42 functions are designed to be integrated into the PCI adapter 48.
Atsushi Oshima “New Computer Disassembly New Book”, 1st Edition, Softbank Publishing Co., Ltd., July 20, 2000, p52-53

ところで、PCIアダプタ48にバッファメモリ14を接続した場合、CPUからのバッファメモリへのアクセスの最も簡単な構成は、インタフェースコントローラ42からのアドレス及びデータを、図8に示すように、PCIアダプタを単純にスルーする形となる。しかしながら、間に挟まるバスバッファにより、信号の遅延が増加し、リード及びライトのアクセスレイテンシの増加を招く、という問題がある。   By the way, when the buffer memory 14 is connected to the PCI adapter 48, the simplest configuration for accessing the buffer memory from the CPU is to use the address and data from the interface controller 42 as shown in FIG. It will be shaped to pass through. However, there is a problem that the delay of the signal increases due to the bus buffer sandwiched between them, leading to an increase in read and write access latency.

また、単純にスルーするだけではなく、アドレス及びデータをPCIアダプタ48の内部にて、フリップフロップ(Flip-Flop)で一段受けて、中継する構成をとることもできるが、この場合でも、ライトのアクセスレイテンシの増加は抑えられるものの、リードのアクセスレイテンシの増加を抑えることができない、という問題がある。   In addition to simply passing through, it is possible to adopt a configuration in which the address and data are received and relayed by a flip-flop inside the PCI adapter 48. Although an increase in access latency can be suppressed, there is a problem that an increase in read access latency cannot be suppressed.

このように、インタフェースコントローラとバッファメモリの間にPCIアダプタを挟む場合には、一般的にはインタフェースコントローラからバッファメモリへのリードアクセスレイテンシが増加する。あるいはインタフェースコントローラが、バッファメモリへのアクセス速度の調整ができない仕様の場合には、このリードアクセスレイテンシの増加は致命的となる。   As described above, when the PCI adapter is sandwiched between the interface controller and the buffer memory, generally, the read access latency from the interface controller to the buffer memory increases. Alternatively, when the interface controller has a specification in which the access speed to the buffer memory cannot be adjusted, the increase in the read access latency is fatal.

本発明は、上記問題を解決すべく成されたもので、アクセスレイテンシの増加を抑制することが可能なメモリコントロールアダプタを提供することを目的とする。   The present invention has been made to solve the above problem, and an object thereof is to provide a memory control adapter capable of suppressing an increase in access latency.

上記目的を達成するために請求項1に記載の発明は、各種データ処理を行う中央処理装置、外部接続される外部装置、及びデータを格納する外部記憶装置のそれぞれに対するインタフェース機能備えたインタフェースコントローラと前記中央処理装置間に接続され、前記外部記憶装置が接続されたメモリコントロールアダプタであって、前記外部記憶装置から読み出したデータを一時保管するリードバッファと、前記外部記憶装置から前記リードバッファへのデータ格納及び読み出しを制御するバッファ制御部と、前記中央処理装置から前記インタフェースに送出される情報に対する制御を行う制御手段と、を備え、前記制御手段が、前記中央処理装置から前記インタフェースコントローラに送出される、前記外部記憶装置に格納されたデータの読み出すアドレスを表すリード情報を取得し、前記バッファ制御手段が、前記リード情報に基づいて前記外部記憶装置から前記リードバッファにデータを先読みするように制御し、前記リード情報の送出後に前記中央処理装置から前記インタフェースコントローラを介して送出される、前記外部記憶装置からのデータ読み出し開始を表すコントロール情報に基づいて、前記リードバッファから前記インタフェースコントローラにデータ転送することを特徴としている。   In order to achieve the above object, an invention according to claim 1 includes an interface controller having an interface function for each of a central processing unit that performs various data processing, an external device connected externally, and an external storage device that stores data. A memory control adapter connected between the central processing units and connected to the external storage device; a read buffer for temporarily storing data read from the external storage device; and a read buffer from the external storage device to the read buffer A buffer control unit that controls data storage and reading; and a control unit that controls information transmitted from the central processing unit to the interface, and the control unit transmits the data to the interface controller from the central processing unit. Stored in the external storage device Read information representing an address to be read out from the external storage device based on the read information, and the central processing is performed after the read information is transmitted. Data is transferred from the read buffer to the interface controller on the basis of control information sent from the apparatus via the interface controller and indicating the start of data reading from the external storage device.

請求項1に記載の発明によれば、メモリコントロールアダプタは、メモリバッファ等の外部記憶装置から読み出したデータを一時保管するリードバッファと、リードバッファへのデータ格納及び読み出しを制御するバッファ制御部と、CPU等の中央処理装置からインタフェースコントローラに送出される情報に対する制御を行う制御手段と、を備えている。   According to the first aspect of the present invention, the memory control adapter includes: a read buffer that temporarily stores data read from an external storage device such as a memory buffer; and a buffer control unit that controls data storage and reading to the read buffer; Control means for controlling information sent from the central processing unit such as a CPU to the interface controller.

そして、インタフェースコントローラに中央処理装置から設定されるリードポインタレジスタ等のリード情報が制御手段によって取得される。   Then, read information such as a read pointer register set in the interface controller from the central processing unit is acquired by the control means.

また、バッファ制御手段によって、取得されたリード情報に基づいてバッファメモリからリードバッファに読み出し対象のデータが先読みされるように制御される。   Further, the buffer control unit controls the read target data from the buffer memory to the read buffer based on the acquired read information.

そして、インタフェースコントローラにリード情報の送出後にCPUから設定されるコントロールレジスタ等のコントロール情報に基づいて、リードバッファに格納されたデータがインタフェースコントローラにデータ転送される。   The data stored in the read buffer is transferred to the interface controller based on control information such as a control register set by the CPU after the read information is sent to the interface controller.

すなわち、転送対象のデータが予めリードバッファに格納されるので、インタフェースコントローラに外部記憶装置が直接接続されているようにデータ転送を行うことができる。従って、外部記憶装置からのデータリード時のアクセスレイテンシ増加を抑制することができる。   That is, since the data to be transferred is stored in advance in the read buffer, data transfer can be performed as if the external storage device is directly connected to the interface controller. Therefore, an increase in access latency when reading data from the external storage device can be suppressed.

例えば、請求項2に記載の発明のように、外部記憶装置に格納されたデータの外部装置への転送を行う際に、制御手段がリード情報を取得して、バッファ制御手段がリード情報に基づいてリードバッファにデータを先読みするように制御し、コントロール情報に基づいてリードバッファからインタフェースコントローラを介して外部装置へデータ転送するようにしてもよいし、請求項3に記載の発明のように、中央処理装置が外部記憶装置に格納されたデータの読み出しを行う際に、制御手段がリード情報を取得して、バッファ制御手段がリード情報に基づいてリードバッファにデータを先読みするように制御し、コントロール情報に基づいてリードバッファからインタフェースコントローラを介して中央処理装置にデータ転送するようにしてもよい。   For example, as in the invention described in claim 2, when transferring data stored in the external storage device to the external device, the control means obtains the read information, and the buffer control means obtains the read information based on the read information. Then, the read buffer may be controlled so that the data is prefetched, and the data may be transferred from the read buffer to the external device via the interface controller based on the control information. When the central processing unit reads the data stored in the external storage device, the control unit acquires the read information, and the buffer control unit controls the read buffer to pre-read data based on the read information, Data is transferred from the read buffer to the central processing unit via the interface controller based on the control information. It may be.

また、中央処理装置が外部記憶装置に格納されたデータの読み出しを行う際には、請求項4に記載の発明のように、制御手段がリード情報及びコントロール情報を取得して、バッファ制御手段がリード情報に基づいて外部記憶装置に格納されたデータを読み出し、コントロール情報に基づいて中央処理装置に直接データ転送するようにしてもよい。すなわち、インタフェースコントローラを介在しないでデータ転送を行うようにしてもよく、これによっても、外部記憶装置からのデータリード時のアクセスレイテンシ増加を抑制することができる。   When the central processing unit reads out the data stored in the external storage device, the control means acquires the read information and the control information, and the buffer control means Data stored in the external storage device may be read based on the read information and directly transferred to the central processing unit based on the control information. That is, data transfer may be performed without an interface controller, and this can also suppress an increase in access latency when reading data from the external storage device.

なお、制御手段は、請求項5に記載の発明のように、リードバッファへのデータ格納が完了するまで、コントロール情報のインタフェースコントローラへの送出を遅延することで、リードバッファへのデータ格納完了とリードバッファに格納されたデータの読み出し開始との同期を取ることができ、アクセス速度の違いによって発生する問題を解消することができる。   The control means delays sending the control information to the interface controller until the data storage in the read buffer is completed, as in the invention described in claim 5. Synchronization with the start of reading data stored in the read buffer can be achieved, and problems caused by differences in access speeds can be solved.

また、メモリコントロールアダプタは、請求項6に記載の発明のように、外部記憶装置に格納するデータを一時格納するライトバッファと、外部記憶装置からデータを読み出す際に、ライトバッファに転送対象のデータが格納されているか否かを判定する判定手段を更に備えて、判定手段によって転送対象のデータがライトバッファに格納されていると判定された場合に、バッファ制御手段がライトバッファに格納された転送対象のデータをリードバッファに書き込むように制御するようにしてもよい。これによってダウンロード直後等のように未だライトバッファにデータが残っている状態で、アップロード等のデータ読み出しが行われた時でも直ぐに外部記憶装置からデータを読み出すことができ、アクセスレイテンシ増加を抑制することができる。   The memory control adapter, as in the sixth aspect of the present invention, includes a write buffer for temporarily storing data to be stored in the external storage device, and data to be transferred to the write buffer when data is read from the external storage device. Is further provided with a determination unit that determines whether or not the data to be transferred is stored in the write buffer, and the buffer control unit stores the transfer stored in the write buffer when the determination unit determines that the data to be transferred is stored in the write buffer. You may make it control so that target data may be written in a read buffer. As a result, data can be read from the external storage device immediately even when data is read, such as uploading, with data still remaining in the write buffer, such as immediately after downloading, thereby suppressing an increase in access latency. Can do.

以上説明したように本発明によれば、メモリコントロールアダプタにリードバッファを設けて先読みするように制御することで、アクセスレイテンシの増加を抑制することができる、という効果がある。   As described above, according to the present invention, an increase in access latency can be suppressed by providing a read buffer in the memory control adapter and performing control so as to perform prefetching.

以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。   Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施の形態に係わるメモリコントロールアダプタとしてのPCIアダプタ及びインタフェースコントローラの構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a PCI adapter and an interface controller as a memory control adapter according to an embodiment of the present invention.

PCIアダプタ(PCIADP)10及びインタフェースコントローラ(IFC)12は、図7にしたように、CPU44に接続されたホストPCIブリッジ46を介してPCIバスに接続されている。なお、ホストPCIブリッジ46には、ROM43及びRAM45も接続されている。   The PCI adapter (PCIADP) 10 and the interface controller (IFC) 12 are connected to the PCI bus via the host PCI bridge 46 connected to the CPU 44 as shown in FIG. Note that a ROM 43 and a RAM 45 are also connected to the host PCI bridge 46.

インタフェースコントローラ12は、後段に接続されるダイレクトメモリアクセス機能等を備えた外部装置40のインタフェースコントローラとして機能し、インタフェースコントローラ12とPCIバスの間にCPUバスを介してPCIアダプタ10が接続され、PCIアダプタ10にメモリバッファ14が接続されている。   The interface controller 12 functions as an interface controller of an external device 40 having a direct memory access function or the like connected to a subsequent stage, and the PCI adapter 10 is connected between the interface controller 12 and the PCI bus via a CPU bus. A memory buffer 14 is connected to the adapter 10.

インタフェースコントローラ12は、CPU44に対するレジスタ群16を有する。レジスタ群16は、例えば、ダウンロード方向のダイレクトメモリアクセスの際に、バッファメモリ14のどの場所にデータを格納するかを指定するライトポインタレジスタ、バッファメモリ14のどの場所からデータを読み出すかを指定するリードポイントレジスタ、及びダイレクトメモリアクセスの開始や転送方向を指定するコマンドレジスタ等が設定される。   The interface controller 12 has a register group 16 for the CPU 44. The register group 16 specifies, for example, a write pointer register that specifies where data is stored in the buffer memory 14 during direct memory access in the download direction, and specifies from where the data is read out in the buffer memory 14. A read point register, a command register for specifying the start and transfer direction of direct memory access, and the like are set.

また、インタフェースコントローラ12は、I/F制御部18及びダイレクトメモリアクセス(DMA)制御部20を備えており、I/F制御部18は、後段に接続される外部装置40からのダイレクトメモリアクセス要求に対して、DMA制御部20を制御することによりPCIアダプタ10に接続されたメモリバッファ14へのダイレクトメモリアクセスを制御するようになっている。   The interface controller 12 also includes an I / F control unit 18 and a direct memory access (DMA) control unit 20, and the I / F control unit 18 requests a direct memory access from an external device 40 connected at a subsequent stage. On the other hand, the direct memory access to the memory buffer 14 connected to the PCI adapter 10 is controlled by controlling the DMA control unit 20.

なお、インタフェースコントローラ12は、CPUバスからのバッファメモリ14へのアクセス時には、メモリまたはFiFo(First in First out)ポートのように機能する。   The interface controller 12 functions like a memory or a FiFo (First in First out) port when accessing the buffer memory 14 from the CPU bus.

PCIアダプタ10は、インタフェース(I/F)変換/解析部22、バッファ制御部24、リードバッファ26、及びライトバッファ28を備えている。   The PCI adapter 10 includes an interface (I / F) conversion / analysis unit 22, a buffer control unit 24, a read buffer 26, and a write buffer 28.

I/F変換/解析部22は、CPU44からインタフェースコントローラ12のレジスタ群16へ設定される、バッファメモリ14の読み出しアドレスを指定するリードポインタレジスタの設定、バッファメモリ14の書き込みアドレスを指定するライトポイントレジスタの設定、及びバッファメモリ14からの読み出し開始及び書き込み開始等を表すコントロールレジスタの設定等を行うと共に、バッファ制御部24の制御等を行う。   The I / F converter / analyzer 22 sets the read pointer register that specifies the read address of the buffer memory 14 and the write point that specifies the write address of the buffer memory 14 set from the CPU 44 to the register group 16 of the interface controller 12. The register setting, the setting of a control register indicating the start of reading from and writing to the buffer memory 14, and the like are performed, and the control of the buffer control unit 24 is performed.

バッファ制御部24は、CPU44やDMA制御部20からのバッファメモリ14へのアクセス要求に応じてバッファメモリ14へのデータ書き込みやデータ読込みを行う。この時、バッファ制御部24は、リードバッファ26やライトバッファ28を利用してバッファメモリ14へのデータ書き込みやデータ読込みを行うようになっている。   The buffer control unit 24 writes data into or reads data from the buffer memory 14 in response to an access request to the buffer memory 14 from the CPU 44 or the DMA control unit 20. At this time, the buffer control unit 24 uses the read buffer 26 and the write buffer 28 to write data to and read data from the buffer memory 14.

リードバッファ26は、バッファメモリ14からデータを読み出す際に、リートポインタレジスタの値に対応するデータを一時格納し、ライトバッファ28は、バッファメモリ14にデータを書き込みを行う際に、ライトポインタレジスタの値に書き込むデータを一時格納する。なお、リードバッファ26は、空きができるごとに随時データを先読みするものとする。   The read buffer 26 temporarily stores data corresponding to the value of the read pointer register when reading data from the buffer memory 14, and the write buffer 28 stores data in the write pointer register when writing data to the buffer memory 14. Temporarily stores the data to be written to the value. It is assumed that the read buffer 26 prefetches data as needed whenever there is a free space.

例えば、リードバッファ24は、バッファ制御部24の制御によってリードポイントレジスタの値のデータを先読みして格納し、インタフェースコントローラ12のDMA制御部20からバッファメモリ14に読み出し要求がなされたとき、すなわち、CPU44からコントロールレジスタがレジスタ群16に設定されたときに、リードバッファ14に格納したデータを出力する。   For example, the read buffer 24 pre-reads and stores the data of the read point register value under the control of the buffer control unit 24, and when a read request is made from the DMA control unit 20 of the interface controller 12 to the buffer memory 14, that is, When the control register is set in the register group 16 from the CPU 44, the data stored in the read buffer 14 is output.

また、ライトバッファ28は、コンパレータ機能を備えており、バッファメモリ14へのダウロードが行われた直後にアップロードを行う際に、リードバッファ26が読み出すアドレスのデータが、ライトバッファ28に未だ格納された状態が否かを判定するようになっている。なお、ライトバッファ28のコンパレータ機能は、リードバッファ26側に設けるようにしてもよいし、バッファ制御部24に設けるようにしてもよい。   The write buffer 28 also has a comparator function, and the address data read by the read buffer 26 is still stored in the write buffer 28 when uploading is performed immediately after downloading to the buffer memory 14. It is determined whether or not the state is not. The comparator function of the write buffer 28 may be provided on the read buffer 26 side or may be provided in the buffer control unit 24.

続いて、上述のように構成されたPCIアダプタ及びインタフェースコントローラの動作について説明する。   Next, operations of the PCI adapter and interface controller configured as described above will be described.

図2は、PCIアダプタ10及びインタフェースコントローラ12の動作の流れの一例を示すフローチャートである。   FIG. 2 is a flowchart illustrating an example of the flow of operations of the PCI adapter 10 and the interface controller 12.

ステップ100では、I/F変換/解析部22によってCPU44からメモリバッファ14へアクセスがなされたか否か判定される。該判定は、CPU44からPCIバスを介してバッファメモリ14からのデータの読込みが指示されたか否かをI/F変換/解析部22が判定することによってなされ、該判定が否定された場合にはステップ102へ移行する。   In step 100, it is determined whether or not the CPU 44 has accessed the memory buffer 14 by the I / F conversion / analysis unit 22. The determination is made by the I / F conversion / analysis unit 22 determining whether or not the CPU 44 has instructed reading of data from the buffer memory 14 via the PCI bus. Move on to step 102.

ステップ102では、アップロードが指示されたか否か判定される。該判定は、I/F変換/解析部22によってCバッファメモリ14に格納されたデータのアップロードがCPU44によって指示されたか、またはバッファメモリ14へデータを格納するダウンロードがCPU44によって指示されたか否かを判定することによってなされ、アップロードが指示された場合に判定が肯定され、ダウンロードが指示された場合に判定が否定される。そして、該判定が肯定された場合には、ステップ104へ移行する。   In step 102, it is determined whether upload is instructed. This determination is based on whether the CPU 44 has instructed the upload of data stored in the C buffer memory 14 by the I / F conversion / analysis unit 22 or the CPU 44 has instructed download to store data in the buffer memory 14. The determination is made when the upload is instructed, and the determination is affirmed, and when the download is instructed, the determination is denied. If the determination is affirmative, the routine proceeds to step 104.

ステップ104では、CPU44からインタフェースコントローラ12のレジスタ群16に設定されるリードポインタレジスタ設定がI/F変換/解析部22によってバッファ制御部24にも格納され、ステップ106へ移行する。   In step 104, the read pointer register setting set from the CPU 44 to the register group 16 of the interface controller 12 is also stored in the buffer control unit 24 by the I / F conversion / analysis unit 22, and the process proceeds to step 106.

ステップ106では、バッファ制御部24によって、リードポインタレジスタ設定のアドレスに対応するデータが先読みされ、リードバッファ26に格納される。   In step 106, data corresponding to the address set in the read pointer register is prefetched by the buffer control unit 24 and stored in the read buffer 26.

次にステップ108では、ダウンロード直後のアップロードか否か判定され、該判定が否定された場合には、ステップ110へ移行する。   Next, in step 108, it is determined whether or not the upload is immediately after downloading. If the determination is negative, the process proceeds to step 110.

ステップ110では、CPU44からレジスタ群16にコントロールレジスタ設定がなされたか否かI/F変換/解析部22によって判定され、該判定が肯定されるまで待機してステップ112へ移行する。   In step 110, it is determined by the I / F conversion / analysis unit 22 whether or not the control register is set in the register group 16 from the CPU 44, and the process waits until the determination is affirmed and the process proceeds to step 112.

ステップ112では、CPU44から設定されるレジスタ群16へのコントロールレジスタの設定がI/F変換/解析部22によって待機(遅延)され、ステップ114へ移行して、リードバッファ26への格納完了がバッファ制御部24によって監視されて、リードバッファ26へのデータの格納が完了したところで、ステップ114の判定が肯定され、ステップ116へ移行する。   In step 112, the setting of the control register in the register group 16 set by the CPU 44 is waited (delayed) by the I / F conversion / analysis unit 22, and the process proceeds to step 114 where the completion of storage in the read buffer 26 is buffered. When the storage of data in the read buffer 26 is completed as monitored by the control unit 24, the determination in step 114 is affirmed, and the process proceeds to step 116.

そして、ステップ116では、I/F変換/解析部22によってレジスタ群16へのコントロールレジスタの設定が行われ、ステップ118へ移行する。   In step 116, the control register is set in the register group 16 by the I / F conversion / analysis unit 22, and the process proceeds to step 118.

ステップ118では、コントロールレジスタ設定がインタフェースコントローラ12のレジスタ群16に設定されることにより、リードバッファ26からのデータの読み出しが開始され、リードバッファ26に格納された先読みされたデータがDMA制御部20の制御によってインタフェースコントローラ12の後段に接続された外部装置40にアップロードされる。   In step 118, the control register setting is set in the register group 16 of the interface controller 12, whereby the reading of data from the read buffer 26 is started, and the prefetched data stored in the read buffer 26 is transferred to the DMA control unit 20. Is uploaded to the external device 40 connected to the subsequent stage of the interface controller 12.

すなわち、アップロード方向のダイレクトメモリアクセスが開始されると、CPU44によって、バッファメモリ14のどの位置からデータを取り出すか指定する、リードポインタレジスタが設定される。この時、リードポインタレジスタの設定は、PCIバスからI/F変換/解析部22を介してインタフェースコントローラ12のレジスタ群16に書き込まれるが、この値はI/F変換/解析部22によって、PCIアダプタ10のバッファ制御部24にも格納され、バッファ制御部24は、リードポインタレジスタへの書き込み値を元にバッファメモリ14からデータを先読みして、リードバッファ26に格納する。   That is, when direct memory access in the upload direction is started, the CPU 44 sets a read pointer register for designating from which position in the buffer memory 14 data is to be extracted. At this time, the setting of the read pointer register is written to the register group 16 of the interface controller 12 from the PCI bus via the I / F conversion / analysis unit 22, and this value is set by the I / F conversion / analysis unit 22. The data is also stored in the buffer control unit 24 of the adapter 10, and the buffer control unit 24 prefetches data from the buffer memory 14 based on the value written to the read pointer register and stores the data in the read buffer 26.

その後、CPU44がダイレクトメモリアクセスを起動するコントロールレジスタを設定すると、ダイレクトメモリアクセスが起動してDMA制御部20の制御によってリードポインタレジスタで指定されるバッファメモリのデータをPCIアダプタ10に対して読み取りにくるが、この時には既に指定の値がリードバッファ26に格納されているため、PCIアダプタ10は即座にデータをインタフェースコントローラ12に渡すことができる。従って、インタフェースコントローラ12とバッファメモリ14の間にPCIアダプタ10を挟むことによる遅延を解消することができる。   Thereafter, when the CPU 44 sets a control register that activates the direct memory access, the direct memory access is activated and the data in the buffer memory specified by the read pointer register is read from the PCI adapter 10 under the control of the DMA control unit 20. At this time, however, since the designated value is already stored in the read buffer 26, the PCI adapter 10 can immediately pass the data to the interface controller 12. Therefore, the delay caused by sandwiching the PCI adapter 10 between the interface controller 12 and the buffer memory 14 can be eliminated.

また、インタフェースコントローラ12がリードバッファ26からデータを受け取る際には、CPU44からのコントロールレジスタの設定によってダイレクトメモリアクセスが起動開始されてリードバッファ26からDMA制御部20がデータを受け取ってI/F制御部18を介して後段の外部装置40にデータのアップロードが行われるが、この時、リードバッファ26にデータの格納が完了するまで、PCIアダプタ10によってインタフェースコントローラ12のレジスタ群16へのコントロールレジスタの設定が遅延されるので、リードバッファ26へのデータ格納完了とインタフェースコントローラ12のデータ受け取りを同期させることができ、アクセス速度の違いによって発生する問題を解消することができる。   When the interface controller 12 receives data from the read buffer 26, the direct memory access is started by setting the control register from the CPU 44, and the DMA control unit 20 receives data from the read buffer 26 and performs I / F control. Data is uploaded to the external device 40 at the subsequent stage via the unit 18. At this time, the PCI adapter 10 stores the control register to the register group 16 of the interface controller 12 until the data is completely stored in the read buffer 26. Since the setting is delayed, the completion of data storage in the read buffer 26 and the data reception of the interface controller 12 can be synchronized, and the problem caused by the difference in access speed can be solved.

一方、ステップ102の判定が否定、すなわち、ダウンロードがCPU44によって指示された場合には、ステップ120へ移行して、CPU44によってレジスタ群16に設定されるライトポインタレジスタをDMA制御部20からバッファ制御部24が受け取り、ステップ122へ移行して、ダウンロードしたデータがDMA制御部20を介してライトバッファ28に格納される。   On the other hand, if the determination in step 102 is negative, that is, if download is instructed by the CPU 44, the process proceeds to step 120, and the write pointer register set in the register group 16 by the CPU 44 is transferred from the DMA control unit 20 to the buffer control unit. 24, the process proceeds to step 122, and the downloaded data is stored in the write buffer 28 via the DMA control unit 20.

そして、ステップ124では、ライトバッファ28にデータの格納が完了したか否かを待ってステップ126へ移行し、ダウンロード終了通知がDMA制御部20になされることで、ダウンロードを終了する。そして、ステップ128へ移行して、バッファ制御部24が受け取ったライトポインタレジスタに対応するバッファメモリ14のアドレスにライトバッファ28に格納したデータが順次格納される。   In step 124, the process waits for whether or not data storage in the write buffer 28 is completed, and then the process proceeds to step 126, where a download end notification is sent to the DMA control unit 20 to end the download. Then, the process proceeds to step 128, and the data stored in the write buffer 28 is sequentially stored at the address of the buffer memory 14 corresponding to the write pointer register received by the buffer control unit 24.

また、ステップ104の判定が肯定された場合、すなわち、ダウンロード直後のアップロードがCPU44によって指示された場合には、ステップ130へ移行して、ライトバッファ28にダウンロードしたデータがあるか否か判定される。該判定は、ライトバッファ28のコンパレータ機能により、リードバッファ26に格納された先頭アドレスポインタと末尾アドレスポインタを比較することで、リードバッファ26に読み出すデータがライトバッファ28にまだ格納された状態か否かを判定することによってなされる。すなわち、ライトバッファ28にリードバッファ26に読み出す先頭アドレスポインタと末尾アドレスポインタの範囲内のデータがあるか否かを判定し、該判定が否定された場合には、上述のステップ110へ移行して上述の処理が行われる。   If the determination in step 104 is affirmative, that is, if uploading immediately after downloading is instructed by the CPU 44, the process proceeds to step 130, where it is determined whether there is data downloaded to the write buffer 28. . This determination is made by comparing the head address pointer and the tail address pointer stored in the read buffer 26 by the comparator function of the write buffer 28 to determine whether the data read to the read buffer 26 is still stored in the write buffer 28. It is done by judging. That is, it is determined whether or not the write buffer 28 has data within the range of the start address pointer and the end address pointer to be read to the read buffer 26. If the determination is negative, the process proceeds to step 110 described above. The above processing is performed.

ステップ130の判定が肯定された場合、すなわち、ダウンロードするデータが未だライトバッファ28に格納された状態では、ステップ132へ移行して、バッファメモリ14のデータのコヒーレンシを維持するために、サブアップロード処理が行われる。   If the determination in step 130 is affirmative, that is, if the data to be downloaded is still stored in the write buffer 28, the process proceeds to step 132 and the sub-upload process is performed in order to maintain the coherency of the data in the buffer memory 14. Is done.

ここで、上述のバッファメモリ14のデータのコヒーレンシを指示するために行われるサブアップロード処理について詳細に説明する。図3は、サブアップロード処理の流れの一例を示すフローチャートである。   Here, the sub-upload process performed to instruct the coherency of the data in the buffer memory 14 will be described in detail. FIG. 3 is a flowchart illustrating an example of the flow of sub-upload processing.

ステップ200では、リードポインタレジスタに対応するデータがライトバッファ28からリードバッファ26に上書きされるようにバッファ制御部24によって制御される。   In step 200, the buffer controller 24 controls the data corresponding to the read pointer register so that the data is overwritten from the write buffer 28 to the read buffer 26.

続いて、ステップ202では、CPU44からレジスタ群16にコントロールレジスタ設定がなされたか否かI/F変換/解析部22によって判定され、該判定が肯定されるまで待機してステップ204へ移行する。   Subsequently, in step 202, it is determined by the I / F conversion / analysis unit 22 whether or not the control register is set in the register group 16 from the CPU 44, and the process waits until the determination is affirmed, and the process proceeds to step 204.

ステップ204では、CPU44から設定されるレジスタ群16へのコントロールレジスタの設定がI/F変換/解析部22によって待機され、ステップ206へ移行して、リードバッファ26への格納完了がバッファ制御部24によって監視されて、リードバッファ26へのデータの格納が完了したところで、ステップ206の判定が肯定され、ステップ208へ移行する。   In step 204, the setting of the control register in the register group 16 set by the CPU 44 is waited by the I / F conversion / analysis unit 22, and the process proceeds to step 206, where the storage in the read buffer 26 is completed by the buffer control unit 24. When the storage of data in the read buffer 26 is completed, the determination at step 206 is affirmed and the routine proceeds to step 208.

そして、ステップ208では、I/F変換/解析部22によってレジスタ群16へのコントロールレジスタの設定が行われ、ステップ210へ移行する。   In step 208, the control register is set in the register group 16 by the I / F conversion / analysis unit 22, and the process proceeds to step 210.

ステップ210では、コントロールレジスタ設定がインタフェースコントローラ12のレジスタ群16に設定されることにより、リードバッファ26からのデータの読み出しが開始され、リードバッファ26に格納された先読みされたデータがDMA制御部20の制御によってインタフェースコントローラ12の後段に接続された外部装置40にアップロードされる。   In step 210, the control register setting is set in the register group 16 of the interface controller 12, whereby reading of data from the read buffer 26 is started, and the pre-read data stored in the read buffer 26 is transferred to the DMA control unit 20. Is uploaded to the external device 40 connected to the subsequent stage of the interface controller 12.

すなわち、ダウンロード直後にアップロードが指示された場合に、ライトバッファ28にアップロード対象のデータがまだ残っている場合には、ライトバッファ28のデータをリードバッファ26に上書きするようにしているので、ダウンロード直後にまだライトバッファ28にアップロードに対応するデータが格納されていてもアップロードを直ぐに行うことが可能となり、リードアクセスレイテンシ増加を解消することができると共に、バッファメモリ14のデータのコヒーレンシを維持することができる。   That is, when upload is instructed immediately after downloading, if the data to be uploaded still remains in the write buffer 28, the data in the write buffer 28 is overwritten in the read buffer 26. Even if data corresponding to the upload is still stored in the write buffer 28, the upload can be performed immediately, the increase in read access latency can be eliminated, and the coherency of the data in the buffer memory 14 can be maintained. it can.

ここで、図1のフローチャートに戻って説明する。   Returning to the flowchart of FIG.

ステップ100の判定が肯定、すなわち、CPU44からメモリバッファ14へアクセスが行われた場合(CPU44からメモリバッファ14に格納されたデータの読み出しが行われた場合)には、ステップ134へ移行して、CPUアクセス処理が行われる。   When the determination in step 100 is affirmative, that is, when the CPU 44 accesses the memory buffer 14 (when the data stored in the memory buffer 14 is read from the CPU 44), the process proceeds to step 134. CPU access processing is performed.

ここで、CPUアクセス処理について詳細に説明する。図4は、CPUアクセス処理の流れの一例を示すフローチャートである。   Here, the CPU access process will be described in detail. FIG. 4 is a flowchart illustrating an example of the flow of CPU access processing.

ステップ300では、I/F変換/解析部22によってCPU44からのリードポインタレジスタがバッファ制御部24に設定される。   In step 300, the read pointer register from the CPU 44 is set in the buffer control unit 24 by the I / F conversion / analysis unit 22.

そして、ステップ302では、バッファ制御部24に設定されたリードポインタレジスタに対応するデータがバッファ制御部24によって読み出され、I/F変換/解析部22を介してCPU44に出力される。   In step 302, data corresponding to the read pointer register set in the buffer control unit 24 is read by the buffer control unit 24 and output to the CPU 44 via the I / F conversion / analysis unit 22.

すなわち、インタフェースコントローラ12を介さずに、CPU44からバッファメモリ14へアクセスすることができ、高速に処理を行うことができる。   That is, the CPU 44 can access the buffer memory 14 without going through the interface controller 12, and processing can be performed at high speed.

図5は、CPUアクセス処理の変形例の一例を示すフローチャートである。図4では、インタフェースコントローラ12を介さずにPCIアダプタ10から直接バッファメモリ14にアクセスするようにしたが、変形例では、インタフェースコントローラ12を介してCPU44からバッファメモリ14にアクセスする場合を示す。   FIG. 5 is a flowchart illustrating an example of a modification of the CPU access process. In FIG. 4, the buffer memory 14 is directly accessed from the PCI adapter 10 without using the interface controller 12. However, in a modified example, the buffer memory 14 is accessed from the CPU 44 through the interface controller 12.

ステップ350では、CPU44からI/F変換/解析部22を介してレジスタ群16にリードポインタレジスタが設定され、ステップ352へ移行する。   In step 350, a read pointer register is set in the register group 16 from the CPU 44 via the I / F conversion / analysis unit 22, and the process proceeds to step 352.

ステップ352では、CPU44からインタフェースコントローラ12のレジスタ群16に設定されるリードポインタレジスタ設定がI/F変換/解析部22によってバッファ制御部24にも格納され、ステップ354へ移行する。   In step 352, the read pointer register setting set from the CPU 44 to the register group 16 of the interface controller 12 is also stored in the buffer control unit 24 by the I / F conversion / analysis unit 22, and the process proceeds to step 354.

ステップ354では、バッファ制御部24によって、リードポインタレジスタ設定のアドレスに対応するデータが先読みされ、リードバッファ26に格納される。   In step 354, data corresponding to the read pointer register setting address is prefetched by the buffer control unit 24 and stored in the read buffer 26.

次に、ステップ356では、CPU44からレジスタ群16にコントロールレジスタ設定がなされたか否かI/F変換/解析部22によって判定され、該判定が肯定されるまで待機してステップ358へ移行する。   Next, in step 356, the I / F conversion / analysis unit 22 determines whether or not the control register is set in the register group 16 from the CPU 44, and waits until the determination is affirmed, and the process proceeds to step 358.

ステップ358では、CPU44から設定されるレジスタ群16へのコントロールレジスタの設定がI/F変換/解析部22によって待機(遅延)され、ステップ360へ移行して、リードバッファ26への格納完了がバッファ制御部24によって監視されて、リードバッファ26へのデータの格納が完了したところで、ステップ360の判定が肯定され、ステップ362へ移行する。   In step 358, the setting of the control register in the register group 16 set by the CPU 44 is waited (delayed) by the I / F conversion / analysis unit 22, and the process proceeds to step 360 where the storage in the read buffer 26 is completed. When the storage of the data in the read buffer 26 is completed as monitored by the control unit 24, the determination in step 360 is affirmed and the process proceeds to step 362.

ステップ362では、I/F変換/解析部22によってレジスタ群16へのコントロールレジスタの設定が行われ、ステップ364へ移行する。   In step 362, the control register is set in the register group 16 by the I / F conversion / analysis unit 22, and the process proceeds to step 364.

そして、ステップ364では、コントロールレジスタ設定がインタフェースコントローラ12のレジスタ群16に設定されることにより、リードバッファ26からのデータの読み出しが開始され、リードバッファ26に格納された先読みされたデータがDMA制御部24の制御によってCPU44に送出される。   In step 364, the control register setting is set in the register group 16 of the interface controller 12, whereby the reading of data from the read buffer 26 is started, and the pre-read data stored in the read buffer 26 is DMA-controlled. The data is sent to the CPU 44 under the control of the unit 24.

すなわち、上述したインタフェースコントローラ12の後段に接続された外部装置40にアップロードするとき(ステップ104〜118)のように、CPU44からのアクセスについても処理することもでき、これによってもリードアクセスレイテンシ増加を解消することができる。   That is, as in the case of uploading to the external device 40 connected to the subsequent stage of the interface controller 12 described above (steps 104 to 118), the access from the CPU 44 can also be processed, thereby increasing the read access latency. Can be resolved.

以上説明したように、本実施形態によれば、PCIアダプタ10にリードバッファ26を設けて、データの先読みを行うようにバッファ制御すると共に、リードバッファ26にデータが格納された時点で読み出しするようにバッファ制御することで、汎用バス(PCIバス)接続するPCIアダプタ10を設計し、インタフェースコントローラ12に接続されていたバッファメモリ14をPCIアダプタ10側に接続する際に発生する、メモリアクセスレイテンシ増加やアクセス速度制限の問題を解消することができる。   As described above, according to the present embodiment, the PCI adapter 10 is provided with the read buffer 26 to control the buffer so as to pre-read data, and to read the data when the data is stored in the read buffer 26. By designing the PCI adapter 10 to be connected to the general-purpose bus (PCI bus), the memory access latency increases when the buffer memory 14 connected to the interface controller 12 is connected to the PCI adapter 10 side. And the problem of access speed limitation can be solved.

本発明の実施の形態に係わるメモリコントロールアダプタとしてのPCIアダプタ及びインタフェースコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the PCI adapter and interface controller as a memory control adapter concerning embodiment of this invention. PCIアダプタ及びインタフェースコントローラの動作の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement flow of a PCI adapter and an interface controller. サブアップロード処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a sub upload process. CPUアクセス処理の一例を示すフローチャートである。It is a flowchart which shows an example of CPU access processing. CPUアクセス処理の変形例の一例を示すフローチャートである。It is a flowchart which shows an example of the modification of CPU access processing. インタフェースコントローラがCPUのバスに直接接続された従来例を示す図である。It is a figure which shows the prior art example in which the interface controller was directly connected to the bus | bath of CPU. ホストPCIブリッジを経由して、PCIインタフェースでターゲットデバイスを接続するシステムにおいて、CPUとしてMPC750を用いた一例を示す。An example in which an MPC 750 is used as a CPU in a system in which a target device is connected via a PCI interface via a host PCI bridge is shown. PCIアダプタにバッファメモリを接続した場合の最も簡単な従来の構成を示す図である。It is a figure which shows the simplest conventional structure at the time of connecting a buffer memory to a PCI adapter.

符号の説明Explanation of symbols

10 PCIアダプタ
12 インタフェースコントローラ
14 バッファメモリ
22 I/F変換/解析部
24 バッファ制御部
26 リードバッファ
28 ライトバッファ
10 PCI adapter 12 interface controller 14 buffer memory 22 I / F conversion / analysis unit 24 buffer control unit 26 read buffer 28 write buffer

Claims (6)

各種データ処理を行う中央処理装置、外部接続される外部装置、及びデータを格納する外部記憶装置のそれぞれに対するインタフェース機能備えたインタフェースコントローラと前記中央処理装置間に接続され、前記外部記憶装置が接続されたメモリコントロールアダプタであって、
前記外部記憶装置から読み出したデータを一時保管するリードバッファと、
前記外部記憶装置から前記リードバッファへのデータ格納及び読み出しを制御するバッファ制御部と、
前記中央処理装置から前記インタフェースに送出される情報に対する制御を行う制御手段と、
を備え、
前記制御手段が、前記中央処理装置から前記インタフェースコントローラに送出される、前記外部記憶装置に格納されたデータの読み出すアドレスを表すリード情報を取得し、
前記バッファ制御手段が、前記リード情報に基づいて前記外部記憶装置から前記リードバッファにデータを先読みするように制御し、前記リード情報の送出後に前記中央処理装置から前記インタフェースコントローラを介して送出される、前記外部記憶装置からのデータ読み出し開始を表すコントロール情報に基づいて、前記リードバッファから前記インタフェースコントローラにデータ転送することを特徴とするメモリコントロールアダプタ。
Connected between the central processing unit and an interface controller having an interface function for a central processing unit that performs various data processing, an externally connected external device, and an external storage device that stores data, and the external storage device is connected Memory control adapter,
A read buffer for temporarily storing data read from the external storage device;
A buffer control unit for controlling data storage and reading from the external storage device to the read buffer;
Control means for controlling information sent from the central processing unit to the interface;
With
The control means obtains read information representing an address to be read from the data stored in the external storage device, which is sent from the central processing unit to the interface controller;
The buffer control means controls to pre-read data from the external storage device to the read buffer based on the read information, and is sent from the central processing unit via the interface controller after the read information is sent. A memory control adapter for transferring data from the read buffer to the interface controller based on control information indicating the start of data reading from the external storage device.
外部記憶装置に格納されたデータの外部装置への転送を行う際に、前記制御手段が前記リード情報を取得し、前記バッファ制御手段が前記リード情報に基づいて前記リードバッファにデータを先読みするように制御して、前記コントロール情報に基づいて前記リードバッファから前記インタフェースコントローラを介して外部装置へデータ転送することを特徴とする請求項1に記載のメモリコントロールアダプタ。   When the data stored in the external storage device is transferred to the external device, the control means acquires the read information, and the buffer control means prefetches the data to the read buffer based on the read information. 2. The memory control adapter according to claim 1, wherein the data is transferred from the read buffer to an external device via the interface controller based on the control information. 前記中央処理装置が外部記憶装置に格納されたデータの読み出しを行う際に、前記制御手段が前記リード情報を取得し、前記バッファ制御手段が前記リード情報に基づいて前記リードバッファにデータを先読みするように制御して、前記コントロール情報に基づいて前記リードバッファから前記インタフェースコントローラを介して前記中央処理装置にデータ転送することを特徴とする請求項1又は請求項2に記載のメモリコントロールアダプタ。   When the central processing unit reads data stored in the external storage device, the control unit acquires the read information, and the buffer control unit prefetches data into the read buffer based on the read information. 3. The memory control adapter according to claim 1, wherein the memory control adapter performs control to transfer data from the read buffer to the central processing unit via the interface controller based on the control information. 前記中央処理装置が外部記憶装置に格納されたデータの読み出しを行う際に、前記制御手段が前記リード情報及び前記コントロール情報を取得し、前記バッファ制御手段が前記リード情報に基づいて前記外部記憶装置に格納されたデータを読み出して、前記コントロール情報に基づいて前記中央処理装置に直接データ転送することを特徴とする請求項1又は請求項2に記載のメモリコントロールアダプタ。   When the central processing unit reads the data stored in the external storage device, the control unit acquires the read information and the control information, and the buffer control unit acquires the external storage device based on the read information. 3. The memory control adapter according to claim 1, wherein the data stored in the memory controller is read out and directly transferred to the central processing unit based on the control information. 前記制御手段は、前記リードバッファへのデータ格納が完了するまで、前記コントロール情報の前記インタフェースコントローラへの送出を遅延することを特徴とする請求項1乃至請求項3の何れか1項に記載のメモリコントロールアダプタ。   4. The control unit according to claim 1, wherein the control unit delays transmission of the control information to the interface controller until data storage in the read buffer is completed. 5. Memory control adapter. 前記外部記憶装置に格納するデータを一時格納するライトバッファと、前記外部記憶装置からデータを読み出す際に、前記ライトバッファに転送対象のデータが格納されているか判定する判定手段と、を更に備え、前記判定手段によって転送対象のデータが格納されていると判定された場合に、前記バッファ制御部が前記ライトバッファに格納されたデータを前記リードバッファに書き込むように制御することを特徴とする請求項1乃至請求項5の何れか1項に記載のメモリコントロールアダプタ。   A write buffer that temporarily stores data to be stored in the external storage device; and a determination unit that determines whether data to be transferred is stored in the write buffer when data is read from the external storage device, The control unit controls the buffer control unit to write the data stored in the write buffer to the read buffer when the determination unit determines that the data to be transferred is stored. The memory control adapter according to any one of claims 1 to 5.
JP2004083685A 2004-03-22 2004-03-22 Memory control adapter Pending JP2005275473A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004083685A JP2005275473A (en) 2004-03-22 2004-03-22 Memory control adapter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004083685A JP2005275473A (en) 2004-03-22 2004-03-22 Memory control adapter

Publications (1)

Publication Number Publication Date
JP2005275473A true JP2005275473A (en) 2005-10-06

Family

ID=35175127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004083685A Pending JP2005275473A (en) 2004-03-22 2004-03-22 Memory control adapter

Country Status (1)

Country Link
JP (1) JP2005275473A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015512097A (en) * 2012-02-15 2015-04-23 シリコン イメージ,インコーポレイテッド Communication bridge between devices via multiple bridge elements
CN109154916A (en) * 2016-08-22 2019-01-04 惠普发展公司,有限责任合伙企业 The information of the equipment of connection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015512097A (en) * 2012-02-15 2015-04-23 シリコン イメージ,インコーポレイテッド Communication bridge between devices via multiple bridge elements
CN109154916A (en) * 2016-08-22 2019-01-04 惠普发展公司,有限责任合伙企业 The information of the equipment of connection

Similar Documents

Publication Publication Date Title
US9021146B2 (en) High priority command queue for peripheral component
US8396994B1 (en) Command queue for peripheral component
JP2004171209A (en) Shared memory data transfer device
US6782463B2 (en) Shared memory array
JP2010146084A (en) Data processor including cache memory control section
US10095640B2 (en) Multi mode address spaces for PC to device transfer optimization
JP2005275473A (en) Memory control adapter
US9128924B2 (en) Method and apparatus for wireless broadband systems direct data transfer
US6829692B2 (en) System and method for providing data to multi-function memory
JP2011070259A (en) Data transfer device and data transfer method
JP4431492B2 (en) Data transfer unit that supports multiple coherency granules
JP2005235199A (en) Method and apparatus for burst mode data transfer between cpu and fifo
JP6381270B2 (en) Information processing apparatus, information processing method, and system
WO2016070431A1 (en) Memory access method and apparatus, and computer device
JP2010140440A (en) Bus arbitration device
JP2009059155A (en) Usb host controller device
JP4560398B2 (en) Data processing circuit
JP2001229074A (en) Memory controller and information processor and memory control chip
KR20150034493A (en) Method and Apparatus for Copying Data using Cache
JP2004240520A (en) In-non cache area high speed memory access method
JP2002334053A (en) Data transfer controller
JP2005128931A (en) Dma transfer device
JP2003271547A (en) Data transfer device
JP2006293636A (en) Data processor
JP2011133993A (en) Data transfer control device, data transfer system, and data processing system