JP4901538B2 - Data transfer method, data transfer device, electronic device, and image forming apparatus - Google Patents
Data transfer method, data transfer device, electronic device, and image forming apparatus Download PDFInfo
- Publication number
- JP4901538B2 JP4901538B2 JP2007055312A JP2007055312A JP4901538B2 JP 4901538 B2 JP4901538 B2 JP 4901538B2 JP 2007055312 A JP2007055312 A JP 2007055312A JP 2007055312 A JP2007055312 A JP 2007055312A JP 4901538 B2 JP4901538 B2 JP 4901538B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- transfer
- storage means
- arbitration
- ram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
Description
本発明は、第1記憶手段に、第2記憶手段に格納されているプログラムを転送して、第1記憶手段に格納されているプログラムを制御手段が実行するデータ転送方法および装置に関する。本発明は、たとえばパソコン,ワークステーション,サーバ,プリンタ,複写機,ファクシミリ、ならびにその他の、CPU及び各種メモリを搭載した全ての電子機器及びデータ処理装置に適用できる。 The present invention relates to a data transfer method and apparatus in which a program stored in a second storage unit is transferred to a first storage unit, and a control unit executes the program stored in the first storage unit. The present invention can be applied to, for example, personal computers, workstations, servers, printers, copiers, facsimiles, and all other electronic devices and data processing devices equipped with a CPU and various memories.
近年の電子機器では、組み込み機器であってもLinuxを搭載したり、高度なアプリケーションを実行するために外販されているIP(Intelligent Peripheral:高機能周辺回路)や既開発済みのソースコードを移植する等の開発スタイルに変わってきており、プログラム量が増加する要因は着実に増加しているが、プログラム量を削減するような要因は全くなく、短期間での製品開発を迫られる現状では、プログラム量を削減するような開発工数が確保できない状況にあるため、各種電子機器が装備あるいはロードするプログラム量は増加する一方である。しかしながら、電子機器の原価は低く抑えなければいけないために使用できるCPUパワー(CPUの機能,処理速度を含む処理能力)は限られており、少ないCPUパワーで高性能を発揮したり、リアルタイム処理を行うためには、アクセス速度が相対的に速いRAMにプログラムをロードして、RAMのプログラムに基づいてハードウエアの制御あるいはデータ処理する必要がある。しかしながら、このようなRAMプログラムの実行を行うためには、大容量ROMに格納されているファームウェア(各種ハードウエア機能を実現する、入力制御,信号処理,演算(データ処理),出力制御,表示等のプログラムおよび参照データ)をRAMに一旦転送する必要がある。引用文献1には、CPUをリセットしておき、CPUがリセットされている間にファームウェアをRAM上に転送するデータ転送装置が記載されている。 In recent electronic devices, Linux is installed even for embedded devices, and IP (Intelligent Peripheral: high-performance peripheral circuits) and already developed source code are ported to run advanced applications. However, there are no factors that reduce the amount of programs, and there is no factor to reduce the amount of programs. Since development man-hours that reduce the amount cannot be secured, the amount of programs installed or loaded on various electronic devices is increasing. However, since the cost of electronic equipment must be kept low, the CPU power that can be used (CPU function and processing capacity including processing speed) is limited, and high performance can be achieved with less CPU power and real-time processing can be performed. In order to do this, it is necessary to load a program into a RAM having a relatively high access speed and to perform hardware control or data processing based on the RAM program. However, in order to execute such a RAM program, firmware stored in a large-capacity ROM (implementing various hardware functions, input control, signal processing, calculation (data processing), output control, display, etc.) The program and reference data) need to be once transferred to the RAM. Cited Document 1 describes a data transfer device that resets a CPU and transfers firmware onto a RAM while the CPU is reset.
上述の電子機器の代表的なものの1つに、MFP(Multi Function Printer)機能があるディジタル複写機がある。その一例を図10に示す。図10に示す複写機MF1は、原稿上の画像を読み込むスキャナ17,画像を用紙に書き込むプリンタ18およびこれらの制御を行うプロセスコントローラ19を含むエンジン20を有し、プロセスコントローラ19は、複写機のシステム制御および画像処理制御を行うシステムコントローラ10と、PCIバス等の汎用バスによって繋がっている。上述のデータ転送装置は例えば、システムコントローラ10に装備することができる。
One of the representative electronic devices is a digital copying machine having an MFP (Multi Function Printer) function. An example is shown in FIG. A copying machine MF1 shown in FIG. 10 includes an
システムコントローラ10には、ASIC(Application Specific IC) 2,プログラムおよび画像データを蓄積し、また複写機各部の状態情報を保持するRAM3,ブート用プログラムおよびアプリケーションプログラムを格納したROM4がある。ASIC2には、設定データ,登録データを保持するNVRAM5および主に書画情報を蓄積するHDD11が接続されている。コントローラASIC 2は、コントローラ10,エンジン20およびI/Oインターフェイス14の間の画像データ,制御データ,同期信号などのやり取りを制御する伝送制御,メモリ3〜5およびHDD11に対するデータの読み書き制御,テキストデータをイメージデータに変換するデータ変換、および、スキャナ17が出力する読み取り画像データの、プリンタ18の記録色画像データへの変換、等を行うものである。
The
複写機MF1のI/Oインターフェイス14には、操作ボード9が接続した操作ボードI/F(インターフェイス)15,USB Host I/F 6,SDカードI/F8,パソコンあるいはネットワークが接続されるMAC16およびファクシミリ通信回線に接続された回線I/F21等がある。
The I /
システムコントローラ10とI/Oインターフェイス14を含むメインコントローラ部が、複合処理システム全般の制御すなわちシステム制御を行う。システムコントローラ10のCPU1は、RAM4は勿論、I/Oインターフェイス14内の内部レジスタ等へのアクセスを容易に行える構成となっている。
A main controller unit including the
USB Host I/F 6の、USBケーブルコネクタがあるケーブル端子受け入れスロットには、外部記憶媒体の1つであるUSBメモリ12を挿入してUSB Host I/F 6に電気的に接続することができる。同様に、SDカードI/F8の外部接続コネクタにSDカードを案内するカード挿入スロットには、外部記憶媒体のもう1つであるSDカード13を挿入してSDカードI/F8に電気的に接続することができる。
A
システム制御手段であるCPU1は、ROM4から読み出してRAM3に書き込んだプログラムならびにUSBメモリ12やSDカード13から読み込みRAM3に書き込んだプログラムに基づいて、画像読み取り,印刷,複写,ファクシミリ送,受信,書画情報の蓄積,および外部に対する書画情報の送受信、を制御する。
CPU1, which is a system control means, reads out images, prints, copies, facsimile transmissions, receptions, document information based on programs read from the
ところで、データ転送装置において、全てのファームウェアをRAM(例えばRAM3)上に転送するまでCPU(例えばCPU1)をリセット状態にしておくと、転送するファームウェア容量が大きければ大きいほど、CPUが稼動開始するまでの時間が長くなるため、システムの起動が遅くなるというデメリットがある。また、引用文献1には、ファームウェアのある1部分をRAMに転送した後にCPUのリセットを解除して、CPUが転送済部分のプログラムを実行しながら、残りの部分をCPUでハードウエアを制御しながら転送するという方式も記載されている。しかし、最初にRAMに転送したプログラムの中でRAMの参照を行うようなことが行われた場合の動作保証ができていないこと、近年、電子機器に搭載するRAMの容量も日々増加しており、一刻も早くRAMの初期化処理の実行やASIC(例えばASIC2)等の初期化を行いたいが、全てのプログラムのRAMへの転送完了後でないとASICの初期化やRAMへのアクセスは行えない構造となっており、ファームウェアのRAMへの転送とCPUによる各種ブート時の初期化処理の並列化が行われていないため、高速化しきれていない。また、近年の、CPUと周辺回路を内蔵したSoC(System On Chip:チップ化又はモジュール化したシステム)や専用Chip Set(専用チップ又はモジュール)を使用したシステムでは適用できない。 By the way, in the data transfer apparatus, if the CPU (for example, CPU 1) is reset until all firmware is transferred to the RAM (for example, RAM 3), the larger the firmware capacity to be transferred, the longer the CPU starts to operate. Since this takes a long time, there is a demerit that the startup of the system is delayed. In Cited Document 1, the CPU reset is canceled after a part of the firmware is transferred to the RAM, and the CPU executes the program of the transferred part, while the remaining part controls the hardware by the CPU. The method of transferring while being described. However, the operation is not guaranteed when the RAM is referred to in the program first transferred to the RAM. In recent years, the capacity of the RAM mounted on the electronic device is increasing day by day. Execute the initialization process of the RAM and the initialization of the ASIC (for example, ASIC2) as soon as possible, but the ASIC cannot be initialized and the RAM can be accessed only after the transfer of all the programs to the RAM is completed. It has a structure, and since the transfer of firmware to the RAM and the initialization processing at the time of various boots by the CPU are not performed in parallel, the speed cannot be increased. Further, the present invention cannot be applied to a system using a SoC (System On Chip: a system made into a chip or a module) or a dedicated Chip Set (a dedicated chip or module) incorporating a CPU and peripheral circuits in recent years.
上記のように先行技術では高速起動という観点でみるとまだまだ改善の余地が残されており、近年のように巨大なOS(Operating System)を搭載している電子機器にとっては、その影響が顕著に現れてくる。 As described above, there is still room for improvement in the prior art from the viewpoint of high-speed startup, and the effect is significant for electronic devices equipped with a huge OS (Operating System) as in recent years. Appear.
また、近年の半導体テクノロジーの進歩により、従来のCPU単体品での半導体の販売よりも、CPU周辺回路やUSB(Universal Serial Bus),LAN(Local Area Network),PCI(Peripheral Component Interconnect),PCI Express等の各種標準規格に準拠したI/O(入,出力ポート),バスを搭載したSoCとしての販売が多く、低コストで比較的性能の高く、開発期間も短縮した製品を開発するためには、このようなSoC品を採用したり、特別に高速なCPUと、そのCPU専用の周辺Chip Setを核としたシステム構成とせざるを得ない。その場合には、CPUと専用Chip Setのリセットシーケンスは指定されている場合が多かったり、SoCとしてCPUとメモリコントローラが内蔵されていることが多いので、特許文献1に記載されているような技術を適用するような自由度はなく、外部調達したSoC,Chip Setを活かしながら高速起動を実現する手段を検討する必要がある。 In addition, due to advances in semiconductor technology in recent years, rather than selling semiconductors as conventional single CPU products, CPU peripheral circuits, USB (Universal Serial Bus), LAN (Local Area Network), PCI (Peripheral Component Interconnect), PCI Express In order to develop products that have many I / O (input / output ports) and buses compliant with various standards such as SoC with low cost, relatively high performance, and a short development period Such a SoC product must be adopted, or a system configuration with a particularly high-speed CPU and a peripheral chip set dedicated to the CPU as a core must be employed. In that case, the reset sequence of the CPU and the dedicated chip set is often specified, or the CPU and the memory controller are often built in as the SoC. There is no degree of freedom to apply, and it is necessary to consider means for realizing high-speed startup while utilizing SoC and Chip Set procured externally.
本発明は、上記のような課題を鑑みてなされたものであり、限られたリソース(resource)での高速起動,高速実行を達成することを第1の目的とする。また、近年の、周辺回路とCPUを集積したSoCや、特定Chip Setを使用せざるを得ないシステムであっても、高速起動,高速実行が可能なシステムを提供することを第2の目的とする。 The present invention has been made in view of the above-described problems, and has as its first object to achieve high-speed startup and high-speed execution with limited resources. A second object of the present invention is to provide a system capable of high-speed start-up and high-speed execution even in a system in which a peripheral circuit and CPU are integrated in recent years or a system in which a specific chip set must be used. To do.
本発明の実施態様の1つは、低コスト・高速動作を実現するためのデータ転送装置であり、高速動作のために、本データ転送装置を装備する電子機器のファームウェア(プログラム本体)の全部又は一部をRAM上にて実行する制御手段(CPU)に加えて、ファームウェアが格納されている不揮発性メモリ(ROM等)の一部又は全部のプログラムをシステム上に接続されている揮発性メモリ(RAM)領域の一部に転送することが可能なプログラム転送手段を持ち、該プログラム転送手段に転送元のROMアドレス,転送元のプログラム容量,転送先のRAMの先頭アドレスを設定することによって、ROMからRAMへのプログラム転送動作中にCPUからのROMのアクセスやRAMへのアクセスを許容しあるいは調停する。CPUからの転送先のRAMのアクセス領域への転送が完了していない場合にはCPUをウェイト(Wait)させることにより、すなわち転送の完了を待たせることにより、限られたリソースでの高速起動,高速実行を達成する。そのために採用する手段は、次の通りである。 One embodiment of the present invention is a data transfer device for realizing low-cost and high-speed operation. For high-speed operation, all or firmware (program body) of electronic equipment equipped with the data transfer device is provided. In addition to control means (CPU) that executes a part of the program on the RAM, a volatile memory (a part of the nonvolatile memory (ROM, etc.) in which the firmware is stored is connected to the system). RAM) having a program transfer means that can be transferred to a part of the area, and by setting the transfer source ROM address, the transfer source program capacity, and the start address of the transfer destination RAM in the program transfer means, the ROM During the program transfer operation from the RAM to the RAM, the ROM access from the CPU and the RAM access are permitted or arbitrated. When the transfer from the CPU to the access area of the RAM of the transfer destination is not completed, the CPU is waited for, that is, waiting for the completion of the transfer, so that the fast start-up with limited resources, Achieve fast execution. Means employed for this purpose are as follows.
(1)第1記憶手段(3)に、第2記憶手段(4)に格納されているプログラムを転送して、第1記憶手段(3)に格納されているプログラムを制御手段(1)が実行するデータ転送方法であって、
前記制御手段(1)が第2記憶手段(4)からプログラムの読み出しを行っている最中に第2記憶手段(4)のプログラムを第1記憶手段(3)に転送するプログラム転送ステップ(102)を設け、
前記制御手段(1)からの第1記憶手段(3)への読み書きステップを保留するための第1調停ステップ(103)を設け、
前記プログラム転送ステップ(102)による第2記憶手段(4)の読み取りを調停するための第2調停ステップ(104)を設け、
第2記憶手段にはブートプログラムと複数区分の他のプログラムが格納され、前記プログラム転送ステップは、各区分を、前記制御手段がプログラムを実行する順番と同じ順番で第1記憶手段に転送する複数のプログラム転送ステップを含み、
前記制御手段は、第2調停ステップ(104)を用いる第2記憶手段の前記ブートプログラムの実行を開始するとともに前記複数のプログラム転送ステップ(102)による前記他のプログラムの各区分の第1記憶手段への転送を開始し、前記ブートプログラムの実行が終わると、前記他のプログラムの各区分を、第2記憶手段から第1記憶手段への転送が終わると第1記憶手段から読み出して実行し、第2記憶手段から第1記憶手段への転送が終了していない場合は第1調停ステップを用いて該終了を待ってから実行する、
ことを特徴とするデータ転送方法。
(1) The program stored in the second storage means (4) is transferred to the first storage means (3), and the program stored in the first storage means (3) is transferred to the control means (1). A data transfer method to execute,
Program transfer step (102) for transferring the program in the second storage means (4) to the first storage means (3) while the control means (1) is reading the program from the second storage means (4). )
A first arbitration step (103) for deferring a read / write step from the control means (1) to the first storage means (3) ;
A second arbitration step (104) for arbitrating reading of the second storage means (4) by the program transfer step (102);
The second storage means stores a boot program and other programs in a plurality of sections, and the program transfer step transfers a plurality of sections to the first storage means in the same order as the control means executes the programs. Program transfer steps,
The control means starts the execution of the boot program in the second storage means using the second arbitration step (104), and the first storage means in each section of the other program by the plurality of program transfer steps (102) When the transfer of the boot program is finished, each section of the other program is read from the first storage means and executed after the transfer from the second storage means to the first storage means, If the transfer from the second storage means to the first storage means has not ended, execute after waiting for the end using the first arbitration step,
A data transfer method characterized by the above.
なお、理解を容易にするために括弧内には、図面に示し後述する実施例の対応又は相当要素もしくは対応,相当事項の記号を、例示として参考までに付記した。以下も同様である。 In addition, in order to facilitate understanding, symbols in parentheses are added for reference to the correspondence of the embodiment shown in the drawings or the corresponding elements or the corresponding or equivalent matters for reference. The same applies to the following.
上記(1)によれば、第2記憶手段(4)への同時アクセスが可能となる。たとえば、RAM(3)へのプログラム転送動作中にもCPU(1)からのRAMアクセスを実行可能である。 According to (1) above, simultaneous access to the second storage means (4) is possible. For example, the RAM access from the CPU (1) can be executed during the program transfer operation to the RAM (3).
プログラムの転送先を開始アドレスからプログラム転送量分転送するという方式にすることにより、プログラム転送を完了したアドレスの管理が容易となり、全てのプログラムの転送が完了していなくても、必要なアドレスの転送が完了していれば、その部分のRAM(3)上のプログラムは実行可能とでき、CPU(1)がアクセスしたアドレスが転送完了していない場合には転送が完了するまで保留すること、すなわちCPU(1)を待たせること、が可能となる。たとえば、RAM(3)へのプログラム転送動作中にもCPU(1)からのRAM(3)アクセスを実行可能とした時に、あらかじめプログラムを転送する領域にプログラムの転送が完了する前にCPU(1)がアクセスした場合には、プログラムの転送が完了する瞬間まで、CPU(1)からのRAM(3)アクセスを保留できる。 By transferring the program transfer destination from the start address by the program transfer amount, it becomes easy to manage the addresses where the program transfer has been completed, and even if the transfer of all programs is not completed, If the transfer is completed, the program on the RAM (3) of that part can be executed. If the address accessed by the CPU (1) is not completed, the program is suspended until the transfer is completed. That is, it is possible to make the CPU (1) wait. For example, when the RAM (3) access from the CPU (1) can be executed even during the program transfer operation to the RAM (3), the CPU (1) before the transfer of the program to the area to transfer the program in advance is completed. ), The RAM (3) access from the CPU (1) can be suspended until the moment when the program transfer is completed.
ROM(4)からRAM(3)へのプログラム転送中にCPU(1)からのROM(4)アクセスが不可能であると、転送完了までCPU(1)がコードフェッチ(命令コードの読み出し)ができず、ASIC(2)の初期化等の初期化処理が行えない。しかし本実施態様によれば、ROM(4)の前段に第2調停手段(104)を設けることでプログラム転送動作中にもCPU(1)によるROM(4)アクセスが可能となり、高速起動が行える。ブート処理のプログラムの実行が可能となる。 If the ROM (4) cannot be accessed from the CPU (1) during the program transfer from the ROM (4) to the RAM (3), the CPU (1) performs code fetch (reading of the instruction code) until the transfer is completed. It is not possible to perform initialization processing such as initialization of ASIC (2). However, according to this embodiment, by providing the second arbitration means (104) in the preceding stage of the ROM (4), the ROM (4) can be accessed by the CPU (1) even during the program transfer operation, and high-speed startup can be performed. . The boot process program can be executed.
複数の領域づつの第2記憶手段(4)−>第1記憶手段(3)への転送動作中に各分割された領域内での転送動作の完了,未完了による制御手段(1)の、Waitまたはアクセス許可、の判断が可能となる。この構成の場合、今、プログラム転送動作をしていない領域に関しては転送が完了しているのか、否か判断が行えないが、第2記憶手段(4)から第1記憶手段(3)へ転送する順番自体が、第1記憶手段(3)のプログラムを実行(RAM実行)する順番なので、そもそもプログラム転送をしていない領域へのアクセスが生じることはないはずであり、問題とはならない。 Second storage means of a plurality of regions at a time (4) -> completion of the transfer operation in each divided area during the transfer operation to the first memory means (3), the control means according to incomplete (1), Wait, or permission, it is possible to judgment. In the case of this configuration, it is not possible to determine whether or not the transfer is completed for the area where the program transfer operation is not currently performed, but the transfer is performed from the second storage means (4) to the first storage means (3). Since the order in which the programs are executed is the order in which the program in the first storage means (3) is executed (RAM execution), there should be no access to an area where the program is not transferred in the first place, and this is not a problem.
(2)第1記憶手段(3)に、第2記憶手段(4)に格納されているプログラムを転送して、第1記憶手段(3)に格納されているプログラムを制御手段(1)が実行するデータ転送装置であって、
第2記憶手段に格納されたブートプログラムと複数区分の他のプログラムと、
前記制御手段(1)が第2記憶手段(4)から前記ブートプログラムの読み出しを行っている最中に第2記憶手段(4)の前記他のプログラムを第1記憶手段(3)に転送するプログラム転送手段(102)と、
前記制御手段(1)からの第1記憶手段(3)への読み書きを保留するための第1調停手段(103)と、
前記プログラム転送手段(102)による第2記憶手段(4)の読み取りを調停するための第2調停手段(104)と、
を備え、
前記プログラム転送手段(102)は、前記他のプログラムの各区分を、前記制御手段がプログラムを実行する順番と同じ順番で第1記憶手段に転送する複数のプログラム転送手段を含み、
前記制御手段は、第2調停手段(104)を用いる第2記憶手段の前記ブートプログラムの実行を開始するとともに前記複数のプログラム転送手段による前記他のプログラムの各区分の第1記憶手段への転送を開始し、前記ブートプログラムの実行が終わると、前記他のプログラムの各区分を、第2記憶手段から第1記憶手段への転送が終わると第1記憶手段から読み出して実行し、第2記憶手段から第1記憶手段への転送が終了していない場合は第1調停手段を用いて該終了を待ってから実行する、
ことを特徴とするデータ転送方法。
( 2 ) The program stored in the second storage means (4) is transferred to the first storage means (3), and the control means (1) transfers the program stored in the first storage means (3). A data transfer device to execute,
A boot program stored in the second storage means and other programs in a plurality of sections;
While the control means (1) is reading the boot program from the second storage means (4), the other program in the second storage means (4) is transferred to the first storage means (3). Program transfer means (102);
A first arbitration means (103) for holding a-out first read and write to the storage means (3) from said control means (1),
Second arbitration means (104) for arbitrating reading of the second storage means (4) by the program transfer means (102);
With
The program transfer means (102) includes a plurality of program transfer means for transferring each section of the other program to the first storage means in the same order as the order in which the control means executes the program,
The control means starts execution of the boot program in the second storage means using the second arbitration means (104), and transfers the other program sections to the first storage means by the plurality of program transfer means. When the execution of the boot program is finished, each section of the other program is read from the first storage means and executed when the transfer from the second storage means to the first storage means is finished, and the second storage If the transfer from the means to the first storage means is not completed, execute after waiting for the end using the first arbitration means,
A data transfer method characterized by the above.
(3)前記プログラム転送手段(102)は、第2記憶手段(4)の転送元開始アドレス及び第1記憶手段(3)への転送先開始アドレスを入力情報とし、前記転送元開始アドレスのプログラムを前記転送先開始アドレスに転送し、第1調停手段(103)からの転送完了信号によって転送を終了する、ことを特徴とする上記(2)に記載のデータ転送装置。 ( 3 ) The program transfer means (102) uses the transfer source start address of the second storage means (4) and the transfer destination start address to the first storage means (3) as input information, and programs the transfer source start address. was transferred to the transfer destination start address, and ends the transfer by the transfer completion signal from the first arbitration means (103), the data transfer apparatus according to (2), characterized in that.
転送先開始アドレス,転送元開始アドレス,転送するプログラム量は管理しなければいけない項目ではあるが、プログラム転送手段(102),第1調停手段(103)の双方で同じものを管理していると不具合の混入の原因になったり、配線の混雑度が上がったり、回路規模が大きくなったりして消費電力が増大し、コストが上昇する方向となってしまう。本実施態様によれば、転送先開始アドレス,転送元開始アドレス,転送するプログラム量を管理する箇所を最低限とすることが可能となり、低消費電力,低コストの製品を開発するこが可能となる。 The transfer destination start address, the transfer source start address, and the amount of program to be transferred are items that must be managed, but if the same is managed by both the program transfer means (102) and the first arbitration means (103) This may cause problems, increase the degree of congestion of the wiring, increase the circuit scale, increase the power consumption, and increase the cost. According to this embodiment, it is possible to minimize the transfer destination start address, the transfer source start address, and the location for managing the amount of program to be transferred, and to develop a product with low power consumption and low cost. Become.
(4)第2調停手段(104)は、前記制御手段(1)からの読み書きと前記プログラム転送手段(102)からの読み出しを調停する、ことを特徴とする上記(2)に記載のデータ転送装置。 ( 4 ) The data transfer according to ( 2) above, wherein the second arbitration means (104) arbitrates reading / writing from the control means (1) and reading from the program transfer means (102) apparatus.
第2記憶手段(4)の前段に第2調停手段(104)を設けることにより、CPU(1)からの記憶手段(4)へのアクセスとプログラム転送手段(102)からの記憶手段(4)への同時アクセスが可能となる。たとえば、RAM(3)にアクセスして実行するプログラムと、CPU(1)が実行するブートプログラムが同一の記憶手段(4)に格納されている場合に、CPU(1)から該記憶手段(4)へのアクセスとプログラム転送手段(102)からの該記憶手段(4)への同時アクセスが可能となる。 By providing the second arbitration means (104) before the second storage means (4), the CPU (1) accesses the storage means (4) and the storage means (4) from the program transfer means (102). Simultaneous access to is possible. For example, when a program executed by accessing the RAM (3) and a boot program executed by the CPU (1) are stored in the same storage means (4), the storage means (4 ) And simultaneous access to the storage means (4) from the program transfer means (102).
(12)第1調停手段(103)は、前記制御手段(1)が、前記プログラム転送手段(102)から供給された転送完了アドレスから前記転送先開始アドレスと転送するプログラム量に基づく転送最終アドレスの範囲内に読み書きしようとしたときには、前記制御手段(1)の読み書きを保留する、ことを特徴とする上記(2)に記載のデータ転送装置。 (12) The first arbitration means (103) is a final transfer address based on a program amount that the control means (1) transfers from the transfer completion address supplied from the program transfer means (102) to the transfer destination start address. The data transfer device according to ( 2) above, wherein when the read / write is attempted within the range, the read / write of the control means (1) is suspended.
第1調停手段(103)内にアドレス比較回路を設け、CPU(1)がアクセスしているアドレスと現時点でプログラムの転送が完了しているRAM(3)上アドレスを比較することにより、CPU(1)が要求しているアドレスがプログラムの転送が完了しているアドレスでなかった場合に、CPU(1)のアクセスを待たせることが可能となる。すなわち、CPU(1)が、実行したいプログラムの転送が完了していないRAM(3)上アドレスにアクセスを行った場合には、CPUのアクセスのみを待たせることができる。 An address comparison circuit is provided in the first arbitration means (103), and the CPU (1) is compared with the address on the RAM (3) where the transfer of the program has been completed at this time. When the address requested by 1) is not the address at which the program transfer has been completed, the CPU (1) can wait for access. That is, when the CPU (1) accesses the address on the RAM (3) where the transfer of the program to be executed has not been completed, only the CPU access can be made to wait.
(6)第1調停手段(103)は、前記転送最終アドレスと前記転送完了アドレスを比較することにより、前記転送完了アドレスが前記転送最終アドレスと同じまたは前記転送最終アドレスを超えた時点で、プログラム転送完了信号を発生する、ことを特徴とする上記(2)に記載のデータ転送装置。 ( 6 ) The first arbitration means (103) compares the transfer end address with the transfer end address, and when the transfer end address is the same as the transfer end address or exceeds the transfer end address, The data transfer apparatus according to ( 2), wherein a transfer completion signal is generated.
DRAMへのデータ転送では決まったバースト長のデータ転送を行う必要があるが、プログラム転送手段(102)はDRAMのバースト長を管理していないため、どこまでデータ転送すれば、その先のデータ転送を止めて良いのか判断できない。本実施態様によれば、第1調停手段(103)にて、今まさに転送を完了した転送完了アドレスと、転送したいプログラムの転送量から得られる転送終了アドレスとを比較し、等しいまたは上回った段階で、DRAMのバースト長が丁度良いタイミングでデータ転送を停止することが可能となる。 Data transfer to the DRAM requires data transfer with a fixed burst length, but since the program transfer means (102) does not manage the burst length of the DRAM, the data transfer to the far end can be transferred to any extent. Can't judge whether to stop. According to the present embodiment, the first arbitration means (103) compares the transfer completion address that has just been transferred with the transfer end address obtained from the transfer amount of the program to be transferred, and is equal to or exceeded Thus, data transfer can be stopped at a timing when the burst length of the DRAM is just right.
(7)上記(2)乃至(6)のいずれか1つに記載のデータ転送装置を備える電子機器。CPU(1),RAM(3),ROM(4)を搭載した全ての電子機器において、上記(2)乃至(6)に記述の効果を期待できる。 ( 7) An electronic device comprising the data transfer device according to any one of (2) to (6) above . In all electronic devices equipped with the CPU (1), RAM (3), and ROM (4), the effects described in ( 2) to (6 ) can be expected.
(8)外部記憶媒体のプログラムを読み込む外部データ読み込み手段(6,8)を設け、前記プログラム転送手段(102)は前記外部記憶媒体のプログラムを第1記憶媒体(3)に転送する、上記(7)に記載の電子機器。 ( 8 ) External data reading means (6, 8) for reading the program of the external storage medium is provided, and the program transfer means (102) transfers the program of the external storage medium to the first storage medium (3). 7 ) Electronic equipment described in the above.
(9)作像手段(18);外部と通信する通信手段(14);および、上記(2)乃至(6)のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段(4)から第1記憶手段(3)に転送した、第1記憶手段(3)のプログラムに基づいて、前記通信手段(14)を制御して印刷情報を受信し前記作像手段(18)を制御して印刷するシステムコントローラ(10);を備える画像形成装置。
( 9 ) Image forming means (18); communication means (14) communicating with the outside; and the data transfer apparatus according to any one of ( 2) to (6 ) above, wherein the
(10)画像読み取り手段(17);作像手段(18);および、上記(2)乃至(6)のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段(4)から第1記憶手段(3)に転送した、第1記憶手段(3)のプログラムに基づいて、前記画像読み取り手段(17)を制御して読み取った画像を前記作像手段(18)を制御して印刷するシステムコントローラ(10);を備える画像形成装置。 ( 10 ) An image reading means (17); an image forming means (18); and the data transfer device according to any one of ( 2) to (6 ), wherein the data transfer device is a second storage means. Based on the program of the first storage means (3) transferred from (4) to the first storage means (3), the image reading means (17) is controlled to read the read image. An image forming apparatus comprising: a system controller (10) for controlling and printing.
(11)画像読み取り手段(17);作像手段(18);外部と通信する通信手段(14);および、上記(2)乃至(6)のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段(4)から第1記憶手段(3)に転送した、第1記憶手段(3)のプログラムに基づいて、前記画像読み取り手段(17)を制御して読み取った画像を前記作像手段(18)を制御して印刷し、前記通信手段(14)を制御して印刷情報を受信し前記作像手段(18)を制御して印刷するシステムコントローラ(10);を備える画像形成装置。 ( 11 ) An image reading means (17); an image forming means (18); a communication means (14) communicating with the outside; and the data transfer device according to any one of ( 2) to (6 ) above. Based on the program of the first storage means (3) transferred by the data transfer device from the second storage means (4) to the first storage means (3), the image reading means (17) is controlled and read. A system controller (10) for controlling the image forming means (18) to print, and controlling the communication means (14) to receive print information and controlling the image forming means (18) for printing. An image forming apparatus.
(12)外部記憶媒体のプログラムを読み込む外部データ読み込み手段(6,8)を設け、前記プログラム転送手段(102)は前記外部記憶媒体のプログラムを第1記憶媒体(3)に転送する、上記(9)乃至(11)のいずれか1つに記載の画像形成装置。 ( 12 ) External data reading means (6, 8) for reading the program of the external storage medium is provided, and the program transfer means (102) transfers the program of the external storage medium to the first storage medium (3). 9) The image forming apparatus according to any one of (11 ).
本発明の他の目的および特徴は、図面を参照した以下の実施例の説明より明らかになろう。 Other objects and features of the present invention will become apparent from the following description of embodiments with reference to the drawings.
図1に、本発明の第1実施例のデータ転送装置を示す。このデータ転送装置は、図10に示すシステムコントローラ10の一部をなすものである。システムコントローラ10の他部すなわちデータ転送装置以外の部分(例えばASIC 2内の、書画情報処理,転送部)の図示は、図1においては省略している。
FIG. 1 shows a data transfer apparatus according to a first embodiment of the present invention. The data transfer apparatus is to form part of the
このデータ転送装置は、汎用のChip Setを使用せず、CPU1を内蔵したASIC 101、又は、CPU1は外付けとなっているASIC 2を用いるものである。本実施例では、図1中のRAM3が第1記憶手段に、ROM4が第2記憶手段に、RAM調停103が第1調停手段に、ROM調停104が第2調停手段に、CPU1が制御手段に相当している。メモリコントローラ105,ROMコントローラ106が図示されているが、メモリコントローラ105,ROMコントローラ106が必ずしも必要な訳ではない。
This data transfer apparatus does not use a general-purpose chip set, but uses an
ブートプログラムやOS,デバイスドライバ,各種アプリケーション等の当該システムに必要なプログラムは通常ROM4等の不揮発性記憶装置に格納されている。但し、全てのプログラムがこのROM4に格納されている必要はなく、ブートプログラム部分及び、ROM4からRAM3へのプログラムの転送が完了する前にCPU1にて実行しておきたい部分のプログラムだけROM4に格納され、OS,デバイスドライバ,各種アプリケーション等はUSBメモリ12,SDカード13(図10),CD−ROMなどの外部記憶媒体に格納している形式でもよい。
Programs required for the system such as a boot program, OS, device driver, and various applications are usually stored in a nonvolatile storage device such as a
説明の容易化のため、以下すべてのプログラムはROM4に格納されており、その内のブートプログラム部分(各種ASIC等の初期化)以外はRAM3に転送してからRAM3上にて実行するシステムを想定して説明する。ROMコントローラ106の前段には、CPU1からのブートプログラムリード要求とプログラムコピー102からのブートプログラム以外のプログラムリード要求を調停するROM調停104が用意されている。説明の容易化のため、ROMアクセスについてはCPU1,プログラム転送手段であるプログラムコピー102ともにリードアクセスに限定しているが、ROM調停104としてはライトアクセスの調停も当然可能である。通常CPU1はリセット解除後にブートベクタにジャンプし、そのブートベクタはブートプログラムが格納されているROM4のアドレスを指している。
For ease of explanation, it is assumed that all programs below are stored in the
よって、ROM調停104はCPU1からのブートプログラムリード要求を受けてROM4からブートプログラムをリードしてCPU1に転送しながら、プログラムコピー102にてRAM上に転送したいRAM実行部分のプログラムのリード要求がきたら、プログラムコピー102が要求しているプログラムも同時にプログラムコピー102に転送する機能をもつ。
Therefore, when the
ここでいう同時とは、時間0という同時ではなく、時間0でCPU1とプログラムコピー102の両方からのリードアクセスが発生した場合に調停しながら、要求しているROM4上のデータを転送するという意味である。
The term “simultaneous” here means that the requested data on the
ここでいう調停とは、CPU1からのアクセス要求とプログラムコピー102が同時に発生した場合には、どちらか一方のアクセスを行い、もう一方はそのアクセスが完了するまで待ち状態とし、そのアクセスが完了したら、待ち状態とされていた方のアクセスを実施するというものである。
The arbitration here means that when an access request from the CPU 1 and the
通常、CPU1にはCPUバスがあり、該CPUバスを介して周辺装置と接続されている。図1ではCPU1が外付けの場合を考慮し、CPUバスはアドレスとデータが時分割多重で転送されるMultiplexタイプを意識しているが、CPU1を内蔵したSoC等では、アドレスバスとデータバスが分割されていることが一般的である。説明の容易化のため、CPUバスやその他のバスはMultiplexタイプを想定するが、Multiplexタイプである必然性はない。 Normally, the CPU 1 has a CPU bus, and is connected to peripheral devices via the CPU bus. In FIG. 1, considering the case where the CPU 1 is externally attached, the CPU bus is conscious of the multiplex type in which the address and data are transferred by time division multiplexing. However, in the SoC or the like incorporating the CPU 1, the address bus and the data bus are It is common that it is divided. For ease of explanation, the CPU bus and other buses are assumed to be a multiplex type, but are not necessarily a multiplex type.
ROM調停104とRAM調停103の間にプログラムコピー102が用意されている。このプログラムコピー102は、リセット解除後(CPU1のブートプログラム実行と同時のタイミング)から、外部より供給されているRAM3に転送したいプログラムが格納されているROM4上のアドレスを示す転送元アドレスと、転送したいプログラムを格納したいRAM3上のアドレスを示す転送先アドレス情報を元に、ROM調停104へ転送元アドレスを開始アドレスとしたリード要求を発生させる。ROM調停104から要求した転送元アドレスのデータが転送されてきたら、RAM調停103に対し、転送先アドレスを開始アドレスとして転送したいプログラムのデータ転送を行う。
A
説明の容易化のために、ROM調停104からデータを受けたら、即、RAM調停103へのライト要求を行っているが、通常、パフォーマンス向上のためにメモリコントローラ105は、メモリ3に対しバーストアクセスを行うので、バースト転送サイズ分のデータが確保できてから、RAM調停103へのライト要求を行うことになる。また、プログラムコピー102は、RAM調停103へのその時のライトデータ転送が完了した時点で、RAM調停103内の、転送完了判定手段であるコピー完了判定103cに対し、今転送を完了したRAM3上のアドレスを示す転送完了アドレスを渡す。
For ease of explanation, when data is received from the
転送完了アドレスはRAM3上のアドレスを示しており、転送先アドレスを転送したデータ量分増加させることで計算している。この計算処理はプログラムコピー102内にて行う。プログラムコピー102は、実際に転送するプログラムの容量(サイズ)については意識していない。転送元アドレスから転送するプログラムを読んで、転送先アドレスに転送するという動作を、RAM調停103の、転送完了判定手段であるコピー完了判定103cからの転送完了信号がActive(有意レベル;転送完了を示すレベル)になるまで繰り返す。
The transfer completion address indicates an address on the
RAM調停103の転送完了判定手段からの転送完了信号がActiveになったら、プログラムコピー102は、ROM調停104へのリード要求を速やかに停止し、プログラムコピー102内に残っていて、まだRAM調停103へ転送していない部分のデータ(プログラム)の転送は行わない。但し、転送完了信号がActiveになっている瞬間にRAM調停103に対してデータ転送をしていた場合には、そのデータ転送が完了するまでのデータ転送は行う。
When the transfer completion signal from the transfer completion determination unit of the
通常、RAM調停103へのデータ転送はバースト転送となるため、例えば64byteのバースト転送の16byte転送完了時に、転送完了信号がActiveになったからといって、その瞬間にデータ転送を中止してしまうと、調停回路103b,メモリコントローラ105共に続きのデータ転送を待った状態でHang Up(停止)してしまうので、64byteのバースト転送要求を出している場合には、例え転送完了信号がActiveになっていても、64byteのバースト転送が完了する時点までデータ転送を行い、そのデータ転送が終わった時点で、次のデータ転送は行わなくなる。また、このことはROM調停104へのアクセスにも適用される。つまり、64byteのデータ転送を完了させるために、更なるROMからのデータ転送が必要である場合には、転送完了信号がActiveになっていたとしても新たなROMリード要求をROM調停104に対して発行することがある。
Normally, the data transfer to the
メモリコントローラ105の前段にRAM調停103を用意している。RAM調停103の主な機能は、CPU1からのRAMアクセス,RAM3の特定アドレス等をZero Fill(データゼロの書込み;クリア)したり任意のデータを埋めるようなRAM初期化回路からのDMA(Direct Memory Access)要求や、USB,Ethernet(登録商標)やPCIからのDMAアクセス要求等を調停することにある。DMA要求の種類としては前記記載したものは一例であって、これが全てではないし、これらを含んでいないといけないわけではない。CPU1からのアクセスと他の回路からのアクセスを調停するという意味である。
A
本発明では、上記機能に追加で、プログラムコピー102からのメモリライト要求の調停がRAM調停103に追加され、RAM調停103の前段には、アドレス比較手段であるアドレス比較103aがある。アドレス比較103aには、RAMアクセスを要求するリソース毎にアドレス比較が用意されている。但し、プログラムコピー102からの要求にはアドレス比較は必要ない。
In the present invention, in addition to the above functions, arbitration of a memory write request from the
アドレス比較103aは、CPU1及び他の各種DMACからのRAMアクセス時のアドレスが現時点での転送完了アドレスから転送最終アドレス(プログラムの転送完了と判断できる、プログラムの最終格納アドレス)の間に入っていないか調査し、その範囲外のアドレスへのアクセスであればRAM調停103へアクセス要求を与える。しかしながら、CPU1や各種DMACがアクセスしようとしているアドレスが、現時点での転送完了アドレスから転送最終アドレスの間であれば、そのリソースからのアクセスをRAM調停103には出さずに、そのリソースからのアクセスはWaitとする。
In the
ただし、転送完了アドレスは刻々と変化して増加してくるので、そのリソースが要求しているアドレスを転送完了アドレスが超えた時点で、RAM調停103にリクエストを発行する。このアドレス比較回路を、CPU1 + 各DMACの数、の分用意することによって、いずれか一つのリソースからのRAMアクセス要求がWait状態となったとしても、他のリソースからのアクセスが、転送完了アドレスから転送最終アドレスの間でなければRAMアクセスは許可し、全てのリソースのRAMアクセスがWaitにされる状態を防ぐことが可能である。
However, since the transfer completion address changes every moment and increases, a request is issued to the
アドレス比較103aは、転送完了判定手段であるコピー完了判定103cの転送完了信号がActiveになったら、現時点でWaitにしているRAMアクセス要求のWaitを解除し、それ以降発生する各リソースからのRAMアクセス要求発生時には、要求しているアドレスの比較は行わない。
When the transfer completion signal of the
次に、コピー完了判定103cは、転送先アドレスと転送するプログラム量から転送終了アドレスを計算し、転送終了アドレスをアドレス比較103aに通知する。ここで計算された転送終了アドレスと現時点での転送完了アドレスを常に比較し、転送完了アドレス>=転送終了アドレスとなった時点で、転送完了信号をアサートし、プログラムコピー102,アドレス比較103aに通知する。転送完了信号がActiveになった時のプログラムコピー102の動作については前述の通りである。
Next, the
図2に、図1のSoC 101を、1chip SoCとした場合の構成について記載する。RAM調停103,プログラムコピー102,ROM調停104の機能や接続の詳細については、図1及びその際の説明と同じなので割愛する。CPU1を内蔵したSoC 101の内部に、プログラムコピー102,第1調停103,メモリコントローラ105、第2調停104,ROMコントローラ106を内蔵し、外部に第1記憶手段として、SDRAM,DDR SDRAM, DDR2 SDRAM等のDRAMであるRAM4、および、第2記憶手段として、Flash ROM等のROM4が接続される。ROM4とROMコントローラ106を接続するバスは、そのchip固有のlocalバスであったり、PCIであったり、USBであったり、ROM4の前段にそのバス用のchipが接続されることもある。
FIG. 2 shows a configuration when the
図3に、CPU1+周辺回路内蔵SoC(ASIC)107に対して本発明を適用する際の構成について示す。構成の詳細の細かな部分の各手段の機能については、図1に示すものと基本的に同じなので、異なる部分の構成について説明する。この場合、市販のCPU1+メモリコントローラ105+ROMコントローラ106を搭載したSoC 107を採用したシステムを想定している。プログラムコピー102,ROM調停104,RAM調停103、メモリコントローラ105、ROMコントローラ106が内蔵されたASICまたはFPGA(Field Programmable Gate Array)であるSoC 2を外部に配置し、通常のシステムと比較して、外付けのRAM3(DRAM),外付けのROM4の間に入るように配置する。
FIG. 3 shows a configuration when the present invention is applied to the CPU 1 + peripheral circuit built-in SoC (ASIC) 107. Since the function of each means in the detailed part of the configuration is basically the same as that shown in FIG. 1, the configuration of the different part will be described. In this case, a system that employs a
市販SoC107にあるCPU1がRAM3にアクセスしてくる際には、メモリコントローラ105がRAM3にアクセスするプロトコル,タイミングでアクセスしてくるので、RAM調停103は、あたかもRAM3のように振舞う必要があることが、図2の第2実施例と異なる。システムとしてみた時に無駄と見えるかもしれないが、外付けのASIC or FPGA 2からのRAM3(DRAM)へのアクセスを可能とするために外付けASIC 2のRAM調停103の後段には、メモリコントローラ105が用意されている。
When the CPU 1 in the commercially
RAM3をSDRAMとした場合、SDRAMのアクセスはCAS latency(Column Address Strobe Latency)が決まっており、決まったタイミングまでにデータを準備する必要がある。そこで、市販SoC107側のメモリコントローラ108のCAS Latencyは、外付けASIC又はFPGA 2のメモリコントローラ105に設定しているCAS latencyより大きくし、外付けASIC又はFPGA 2経由でのSDRAMからのRead Dataが間に合うようなCAS Latencyとする。例えば、SoC107 <−> ASIC2間がCAS Latency=2.5,ASIC2<−> SDRAM3間はCAS Latency=2、等とする。
When the
外付けASIC又はFPGA 2の場合には、各種DMACのアクセスもSoC107内のメモリコントローラ108経由となるので、RAM調停103は、SoC107からのアクセスとプログラムコピー102の調停を行う構成となる。市販SoC107上のCPU1がROM4にアクセスする際には、ROM4に対するプロトコル,タイミングでアクセスしてくるので、ROM調停104は、あたかもROM4のように振舞う必要があることが、図2の第2実施例とは異なる。
In the case of the external ASIC or
システムとしてみた時に無駄と見えるかもしれないが、外付けのASIC又はFPGA 2からのROM4へのアクセスを可能とするために、外付けASIC 2のROM調停104の後段には、ROMコントローラ106が用意されている。ROMアクセスについてもタイミングが決まっており、CPU1からのアクセスの際に間にASIC又はFPGA 2が入ることから、SoC107<−>ASIC又はFPGA 2のタイミングは、ASIC又はFPGA 2<−>ROM4のタイミングよりも遅いアクセスタイミングとする必要がある。
Although it may seem useless when viewed as a system, a
上記のようなRAMアクセス,ROMアクセスのタイミング関係を設定することにより、SoC107<−>RAM3間、SoC107<−>ROM4間にASIC又はFPGA 2を仲介させても、正しくROM4,RAM3にアクセスでき、しかも高速起動,高速実行が行えるようなシステムとすることが可能となる。そして、RAM3がSDRAM(DDR,DDR2も含む)の場合、RAM3へのメモリライト,リード実行前には必ず動作モードを設定する必要がある。
By setting the timing relationship between RAM access and ROM access as described above, ROM4 and RAM3 can be correctly accessed even if ASIC or
外付けのASIC 2は、CPU1がブート完了する前にはROM4からのRAM3へのプログラム転送動作を実施しているので、SDRAM(RAM3)への動作モード設定(モードレジスタ設定)は、外付けのASIC又はFPGA 2にてリセット解除後に行う。CPU1がブートした後にCPU1はSoC107内のメモリコントローラ108用からモードレジスタ設定を実行するが、そのモードレジスタ設定はRAM調停103にて無視される。CPU1がSoC107内のメモリコントローラ108であえてモードレジスタ設定を実行する理由は、モードレジスタ設定をDRAM(RAM3)の最初のアクセス前に行うことは必須であり、メモリコントローラ108はモードレジスタ設定を実行してからでないとリード,ライト動作が行えないようになっている構造になっていることが一般的だからである。SoC107のメモリコントローラ108が発行したモードレジスタ設定コマンドを、外付けのASIC又はFPGA 2にて無視しなければいけない理由は、モードレジスタ設定コマンドを発行することによって、SDRAM(RAM3)がメモリ素子自体をクリアするSDRAMであった場合に、その前にプログラムコピー102にてROM4上からRAM3上へ転送したプログラムが消去されてしまうことを避けるためである。
Since the
図4に、外付けCPU1と専用Chip Set 2個110,111(メモリコントローラ108とROMコントローラ109を別々に搭載)で、BIOS(Basic Input/Output System:基本入出力システム)が搭載されているようなシステムへの本発明の一実施例を示す。この構成の違いとしてはBIOSがシステムに搭載されていることで、BIOSが搭載されていることによる違いについて説明する。
FIG. 4 shows that a BIOS (Basic Input / Output System) is mounted on the external CPU 1 and two dedicated chip sets 110 and 111 (the
通常の電子機器であればBIOSとブートコードは分離している必然性はないため、BIOS部分はブートコードに含まれ、同じROM4に搭載するが、ある特定のCPUを使用するシステムの場合に、そのCPUの詳細仕様や周辺Chip Setの詳細仕様が開示されていないために自社でChip SetやCPUの初期設定等を行うBIOS部分の開発が行えないことがある。このような場合には、BIOS開発を専業としている会社に委託してBIOSを供給してもらうことで高性能なシステムを構築する方法が一般的である。
Since the BIOS and the boot code are not necessarily separated if they are ordinary electronic devices, the BIOS part is included in the boot code and mounted in the
しかしながらBIOSが格納されているデバイスは、LPC(Low Pin Count) I/F(Inter Face)等のアクセス速度の遅いデバイスであることが多く、BIOS実行の後にブートコードの実行もあるので、起動時間がより遅くなる傾向になる。SB(South Bridge)と記載しているChip Set111には、ROMコントローラ109が搭載されているが、説明の容易化のためにROMコントローラとしているだけであり、ROMコントローラである必然性はない。例えばPCIバス等の汎用バスであってもよい。PCI バスであればバスプロトコル的にWaitを入れることが可能なので、ROM調停104は、ROMのような振る舞いではなく、PCIデバイスとしての振る舞いを行えばよい。その他の構成については、図3に示す第3実施例と同等であるので説明は割愛する。
However, the device in which the BIOS is stored is often a device with a low access speed such as an LPC (Low Pin Count) I / F (Inter Face) and the boot code is executed after the BIOS is executed. Tends to be slower. The
次に、実施例の動作の詳細について説明する。説明の簡易化のために基本的には、図1の第1実施例の構成を前提とした説明をする。構成によって異なる部分がある場合には、追加して説明する。 Next, details of the operation of the embodiment will be described. In order to simplify the description, the description will be made on the premise of the configuration of the first embodiment of FIG. If there are different parts depending on the configuration, they will be described additionally.
図5に、プログラムコピー102の動作の概要を示し、図6にはRAM調停103の動作の概要を示す。以下の説明中の、ステップS1〜S7は図5上のもの、ステップS11〜S20は図6上のものである。まず、リセットが解除されると(S1)、プログラムコピー102は、転送先アドレス,転送元アドレス情報を元に、ROM調停104に対し、RAM3に転送したいプログラムのリード要求を発生させる(S2)。この転送先アドレス,転送元アドレス情報については、外部Pinにより、リセット期間中に取得することを前提として説明するが、ROM4上の特定アドレスにそれらの情報を格納しておいて、最初にまず、その情報を取得するという動作であっても良い。
FIG. 5 shows an outline of the operation of the
リセット解除と同時にコピー完了判定103cは、転送完了信号をInactive状態(無意状態;転送完了を示さないレベル)に設定し、転送先アドレス,転送するプログラム量から転送最終アドレス情報を計算して、転送最終アドレス,転送完了信号をアドレス比較103aに、転送完了信号をプログラムコピー102に、伝達する。並行して、CPU1は、リセットベクターにジャンプし、ROM調停104に対し、ブートコードのリード要求を発行する(S11)。
Simultaneously with the reset release, the
図1ではCPU1のリセットベクターはROM4上になるように設計されていることを前提としているが、図4のようにBIOS部分がROMでなく、別のDevice(別のROM)である場合には、BIOSが搭載されているROM等のDeviceへのアクセスが一番最初となる。この場合、BIOS部分のコード実行が終わってから、CPU1はROM4上のプログラム実行のためにROM調停104へのリード要求を発行する。この時のCPU1からのリード要求とプログラムコピー102からのリード要求が同時に発生するが、どっちのアクセスを優先するかは実装に依存すればよい話であり、調停規定(Arbitration Policy)については言及しない。ただ、CPU1からのROMアクセスとプログラムコピー102からのROMアクセスを同じように許可するように、ROM調停104は調停規定(Arbitration Policy)を設定することにより、ブートコード実行をプログラムのROM−>RAM転送の並列実行の効率化が最大限になる。
In FIG. 1, it is assumed that the reset vector of the CPU 1 is designed to be on the
メモリコントローラ105は、SDRAM 4に対してモードレジスタ設定コマンドを発行する(S12)。実際には、プリチャージコマンドやリフレッシュコマンドも必要であるが、本発明の主旨ではないので、説明は割愛する。モードレジスタ設定の前に各DRAMが要求しているプリチャージコマンドやリフレッシュコマンドも当然発行しているものとする。本説明ではモードレジスタ設定は、メモリコントローラ105で実施するとしているが、RAM調停103がきっかけとなるコマンドをメモリコントローラ105に発行し、そのコマンドを受けてメモリコントローラ105がモードレジスタ設定を行うという方式でも良い。
The
次にプログラムコピー102は、メモリコントローラ105に転送できるサイズ分のデータが揃うまで、ROM調停104へのリード要求を繰り返す(S2,S3)。この間にもCPU1は、BIOSまたはROM上のブートプログラムを実行中である。そして、プログラムコピー102は、メモリコントローラ105に転送できるサイズ分のデータが準備できた時点でRAM制御手段に対してメモリライト要求を発行する(S4)。通常、DRAMの性能を活かす為にはバースト転送を使用するので、以上のように複数回ROM4からのデータをリードしてから、RAM調停103へのデータ転送を行っているが、ROM4からのデータが一度に大量に読めたり、RAM調停103へバーストアクセスしない場合には、ROM4からデータが読めた時点でRAM調停103へのデータ転送を行っても良いし、ROM4から全てのデータを読み終わるタイミングが決まっているのであれば、全てのデータを読みきる前に、RAM調停103へのデータ転送を開始しても良い。プログラムコピー102は、RAM調停103へのデータ転送が完了すると転送完了アドレスを更新する。転送完了信号がActiveになるまでプログラムコピー102は上記動作を繰り返す(S2〜S5)。
Next, the
次にRAM調停103はRAMアクセス要求が発生していないか常にモニターしており、CPU1,各DMACまたはプログラムコピー102からのメモリアクセス要求が発生した場合には、どのリソースからのアクセス要求なのか判断し、その判断結果により、その後の処理が異なる。メモリアクセス要求元がCPU1または各DMACのどれかの場合、RAM調停103内のアドレス比較103aにてアクセス要求がでているアドレスについて許可可能か否かの判断を行う(S13〜S16)。
Next, the
要求しているアドレスがプログラムの転送結果を格納する範囲内で、プログラムがまだ転送できていない場合には、そのリソースからのアクセスを待たせることになる(S16)。各リソースからのアクセス要求があった時に許可応答しないことで、要求元リソースからのデータ転送を待たせることができるフロー制御方式を採用していることが前提となる。このアドレス比較をCPU1と各DMACの数分用意することによって、いずれかのリソースがWait状態となっても他のリソースからのメモリアクセスは行えるような構造としている。 If the requested address is within the range for storing the transfer result of the program and the program has not been transferred yet, the access from the resource is made to wait (S16). It is premised that a flow control method is adopted in which an authorization response is not made when there is an access request from each resource, so that data transfer from the request source resource can be made to wait. By preparing this address comparison for the number of CPUs 1 and each DMAC, the memory access from other resources can be performed even if any resource is in the Wait state.
Wait状態となった時には、アドレス比較103aは、適宜更新される転送完了アドレスとアクセス要求のでているアドレスを常に比較し(S15)、アクセス要求のでているアドレス<=転送完了アドレスとなった時点で、アクセス許可状態として後段の調停回路103bにメモリアクセス要求を発行する。アクセス要求がプログラムコピー102であった場合には、アドレス比較103aは経由せずに直ぐに調停回路103bへのメモリアクセス要求を発行する(S17)。メモリアクセスが完了したら、転送完了アドレスと転送終了アドレスを比較し、転送完了アドレス>=転送終了アドレスとなったら、転送完了信号をActiveにする(S19,S20)。そうでない時は次のアクセス要求を待つ(S13)。RAM調停103中の調停回路103bには、CPU1,各DMAC,プログラムコピー102からのアクセス要求が同時に発生することもあるが、調停回路103bにより、適宜調停され、滞りなく、全てのリソースからのアクセスが可能な調停規定を設定している。
In the wait state, the
このようにプログラム転送動作中であっても、CPU1または各種DMACによるメモリアクセスが可能であるので、プログラムがRAM実行に移る前に、RAM3の初期化やRAM3の検査等の時間のかかる処理を早いタイミングで実行することが可能なる。
Thus, even during the program transfer operation, memory access by the CPU 1 or various DMACs is possible, so that time-consuming processing such as initialization of the
上記動作を繰り返し、転送信号がActiveになると、プログラムコピー102は、ROMリード要求を出していたとしても、メモリライト要求を出していたとしても、そのデータ転送が完了した時点で、一切の動作を停止する(S7)。この様子を図7の(a)および(b)に示す。転送完了信号がActiveになると、それ以降に発生するCPU1や各種DMACからのメモリアクセスの際にアドレス比較103aはアドレスの比較を一切行わない。
When the above operation is repeated and the transfer signal becomes Active, the
上記のような動作をしている間もCPU1はBIOS又はブートコードを実行しており、ブートコードの実行が終わってから、RAM実行に移ることが可能である。従来技術の場合、RAM実行に移るためには、全てのプログラムがRAM上に展開された後でないと不可能であったが、本発明では、ROM実行部分のブートコードの実行が終了さえしていれば、RAM実行部分のプログラムの1部でも転送完了していればRAM実行可能である。これにより、最大限の動作特性(Performance)を発揮させるためのROM実行とRAM実行の境界部分のわずらわしい調整設定(Tuning)をしなくても、高速起動可能なシステムを実現できている。図3,図4のような、市販SoC107や、専用Chip Set 110,111にメモリコントローラ8,ROMコントローラ109が搭載されている場合には、RAM実行に入る前にそのメモリコントローラ105がDRAM4に対してモードレジスタ設定コマンドを実行してくる。RAM調停103は、そのモードレジスタ設定コマンドをDRAM4には発行せずに、そのコマンドを捨てる動きをすることで、起動時のDRAM4に対する、モードレジスタ設定コマンドの重複発行を防いでいる。
Even during the operation as described above, the CPU 1 is executing the BIOS or the boot code, and after the execution of the boot code is completed, it is possible to shift to RAM execution. In the case of the prior art, in order to move to the RAM execution, it is impossible only after all the programs are expanded on the RAM. However, in the present invention, the execution of the boot code in the ROM execution part is even finished. Thus, if even one part of the RAM execution part of the program has been transferred, the RAM can be executed. As a result, it is possible to realize a system that can be started at high speed without the need for troublesome adjustment setting (Tuning) at the boundary between ROM execution and RAM execution in order to exhibit maximum performance characteristics (Performance). 3 and 4, when the memory controller 8 and the
次にリセット解除後のCPU動作とプログラム転送動作及びRAM実行への切替えタイミングを、図7の(c),(d)および(e)に示す。 Next, the CPU operation, the program transfer operation, and the timing for switching to RAM execution after reset release are shown in FIGS. 7 (c), (d) and (e).
(c)はブートコード(BIOSという場合もある)の実行が、ROM4からのRAM3への転送より早く終わってしまって、アドレス比較103aによりCPU1が待たされた場合のRAM実行への切替えタイミングを示す。この場合には、CPU1がRAM実行に移ろうとするタイミングが早いので、ROM4のブートコードに基づくCPU処理を追加した方が良い。
(C) shows the timing of switching to RAM execution when the execution of the boot code (sometimes referred to as BIOS) ends earlier than the transfer from the
(d)はブートコードの実行よりも早くROM4からRAM3へのプログラム転送が完了したときのRAM実行への切替えタイミングを示す。この場合、ROM実行部分を少なくして、もう少し早くRAM実行に移った方が高速起動が可能となる。
(D) shows the switching timing to RAM execution when the program transfer from the
(e)は、ブートコード実行後のRAM実行とROM4からRAM3へのプログラム転送が重なるケースである。肥大化したプログラムのRAM3への転送時間が長くなったとしても、早いタイミングでのRAM実行への切り替えが可能となり、RAM3へ転送できた部分から逐次RAM実行となるので、高速起動及び高速実行が可能となる。
(E) is a case where RAM execution after boot code execution and program transfer from the
次に図3,図4のように市販SoC107や専用Chip Set 110,111にメモリコントローラ108やROMコントローラ109が搭載されている時のアクセスタイミングについて説明する。メモリコントローラ108やROMコントローラ109が汎用バス(例えば、PCI,PCI Express,USB等)で、Waitの挿入が可能(転送制御=Flow control可能)であれば、アクセスタイミングは気にする必要はないが、一般的なSDRAM,DDR SDRAM,DDR2 SDRAMやNOR Flash ROM等を使用する場合、アクセスタイミングは決まっており、メモリコントローラ108,ROMコントローラ109とSDRAM 3,ROM 4の間に、外部ASIC又はFPGA 2が入ることによるタイミングのズレによって、正しいRAM,ROMアクセスが行えなくなってしまう。
Next, the access timing when the
そこで、本発明では、SDRAM等のDRAM 4の場合には、市販SoC 107又は専用Chip Set 110,111と外部ASIC又はFPGA 2間のCAS Latencyが外部ASIC又はFPGA 2からSDRAM 4間のCAS latencyより常に大きくする。こうすることによって、市販SoC 107又は専用Chip 110,111から見た場合には、外部ASIC又はFPGA 2から先は、CAS Latencyが大きめのSDRAM 4として扱うことが可能となる。
Therefore, in the present invention, in the case of
ROMコントローラ 109についても考え方は同様である。通常Nor Flash ROM等のROM Deviceの場合、Access Speedが決まっている。よって、市販SoC 107又は専用Chip Set 110,111から、外部ASIC又はFPGA 2間は、そのDeviceのAccess Speedよりも1cycle程度遅いAccess Speedとし、外部ASIC又はFPGA 2からROM4間は、そのDeviceのAccess Speedに設定することで、市販SoC 107又は専用Chip Set 110,111からは、外部ASIC又はFPGA 2は、少し遅めのROM4として扱うことが可能となる。
The same concept applies to the
次にROM4上のプログラムを複数の領域に分けて、RAM3上に順番をつけて転送する場合について説明する。プログラムの分割の一例について図8に示す。図8の場合一番若いアドレスにブートコードが格納されており、この部分はROM実行を前提とした例となっている。一般的なプログラムの場合、実行途中でいろいろなサブルーチンを処理しながら起動してくるので、必ずしもROM4のアドレスの昇順に実行されるべきプログラムが格納されているとは限らない。そこで、ROM4上のプログラムを複数の領域に分割し、プログラムを実行する順番と同じ順番でRAM3上にプログラムを転送する。転送順序1−>2−>3−>4−>5の順で転送する。図8は一例であって、ROM空間のどこの空間が何番目であるかは自由に設定してよい。
Next, a case where the program on the
図9に、この仕組みを実現するための機能構成を示す。図1との大きな違いは転送するプログラム量データがRAM調停103に接続されずに、プログラムコピー102に接続されている点と、転送先アドレス0からn,転送元アドレス0からn,転送するプログラム量0からnが、プログラムコピー102に供給される点である。プログラム転送量0..n(0からn)がプログラムコピー102に供給されている理由は、複数の転送領域を効率よく切り替えていくためである。転送先アドレス0と転送元アドレス0と転送するプログラム量0で1セットとなる。転送するプログラムを分割した時に、それぞれのプログラムの領域を同じ大きさとなるように分割した場合には、転送するプログラム量は1つだけ供給すればよく、n個は必要としない。またその場合には、外部より直接転送するプログラム量を指定しても良い。プログラムコピー102の中の順番選択手段が0からnの転送先アドレス、転送元アドレス、転送するプログラム量の中から、添え字の小さい順に、RAM調停103に供給する。
FIG. 9 shows a functional configuration for realizing this mechanism. The major difference from FIG. 1 is that the program amount data to be transferred is not connected to the
こうすることで、複数の領域づつのROM4−>RAM3への転送動作中に各分割された領域内での転送動作の完了,未完了によるCPU Waitまたはアクセス許可の判断が可能となる。この構成の場合、今、プログラム転送動作をしていない領域に関しては転送が完了しているのか、否か判断が行えないが、ROMからRAMへ転送する順番自体がRAM実行する順番なので、そもそもプログラム転送をしていない領域へのアクセスが生じることはないはずであり、問題とはならない。
By doing this, it is possible to determine whether the CPU Wait or the access is permitted when the transfer operation is completed or not completed in each divided area during the transfer operation to the ROM 4->
以上、本発明の実施例の説明は、CPU1がRAM3に格納されているプログラムを実行するためのRAM3に転送するプログラムと、CPU1のブートプログラムが、同一の記憶手段(ROM4)に格納されていることを前提とした説明をしているが、両者は別の、第3の記憶手段に格納されていても良い。その場合には、ROM調停104は不要となり、プログラムコピー102は、RAM3上で実行したいプログラムが格納されている第3の記憶手段に格納されているプログラムを、RAM3に転送することになる。
As described above, in the description of the embodiment of the present invention, the program that the CPU 1 transfers to the
MF1:複合機能複写機 MF1: Multifunction copier
Claims (12)
前記制御手段が第2記憶手段からプログラムの読み出しを行っている最中に第2記憶手段のプログラムを第1記憶手段に転送するプログラム転送ステップを設け、
前記制御手段からの第1記憶手段への読み書きステップを保留するための第1調停ステップを設け、
前記プログラム転送ステップによる第2記憶手段の読み取りを調停するための第2調停ステップを設け、
第2記憶手段にはブートプログラムと複数区分の他のプログラムが格納され、前記プログラム転送ステップは、各区分を、前記制御手段がプログラムを実行する順番と同じ順番で第1記憶手段に転送する複数のプログラム転送ステップを含み、
前記制御手段は、第2調停ステップを用いる第2記憶手段の前記ブートプログラムの実行を開始するとともに前記複数のプログラム転送ステップによる前記他のプログラムの各区分の第1記憶手段への転送を開始し、前記ブートプログラムの実行が終わると、前記他のプログラムの各区分を、第2記憶手段から第1記憶手段への転送が終わると第1記憶手段から読み出して実行し、第2記憶手段から第1記憶手段への転送が終了していない場合は第1調停ステップを用いて該終了を待ってから実行する、
ことを特徴とするデータ転送方法。 A data transfer method in which a program stored in the second storage means is transferred to the first storage means, and the control means executes the program stored in the first storage means,
A program transfer step of transferring the program in the second storage means to the first storage means while the control means is reading the program from the second storage means;
Providing a first arbitration step for deferring a read / write step from the control means to the first storage means ;
Providing a second arbitration step for arbitrating reading of the second storage means by the program transfer step;
The second storage means stores a boot program and other programs in a plurality of sections, and the program transfer step transfers a plurality of sections to the first storage means in the same order as the control means executes the programs. Program transfer steps,
The control means starts execution of the boot program of the second storage means using the second arbitration step, and starts transfer of each section of the other program to the first storage means by the plurality of program transfer steps. When the execution of the boot program is finished, each section of the other program is read from the first storage means and executed when the transfer from the second storage means to the first storage means is finished, and the second storage means If the transfer to one storage means has not ended, wait for the end using the first arbitration step,
A data transfer method characterized by the above.
第2記憶手段に格納されたブートプログラムと複数区分の他のプログラムと、
前記制御手段が第2記憶手段から前記ブートプログラムの読み出しを行っている最中に第2記憶手段の前記他のプログラムを第1記憶手段に転送するプログラム転送手段と、
前記制御手段からの第1記憶手段への読み書きを保留するための第1調停手段と、
前記プログラム転送手段による第2記憶手段の読み取りを調停するための第2調停手段と、
を備え、
前記プログラム転送手段は、前記他のプログラムの各区分を、前記制御手段がプログラムを実行する順番と同じ順番で第1記憶手段に転送する複数のプログラム転送手段を含み、
前記制御手段は、第2調停手段を用いる第2記憶手段の前記ブートプログラムの実行を開始するとともに前記複数のプログラム転送手段による前記他のプログラムの各区分の第1記憶手段への転送を開始し、前記ブートプログラムの実行が終わると、前記他のプログラムの各区分を、第2記憶手段から第1記憶手段への転送が終わると第1記憶手段から読み出して実行し、第2記憶手段から第1記憶手段への転送が終了していない場合は第1調停手段を用いて該終了を待ってから実行する、
ことを特徴とするデータ転送装置。 A data transfer device that transfers a program stored in the second storage means to the first storage means, and the control means executes the program stored in the first storage means,
A boot program stored in the second storage means and other programs in a plurality of sections;
Program transfer means for transferring the other program in the second storage means to the first storage means while the control means is reading the boot program from the second storage means;
A first arbitration means for holding a-out read and write to the first memory means from said control means,
Second arbitration means for arbitrating reading of the second storage means by the program transfer means;
With
The program transfer means includes a plurality of program transfer means for transferring each section of the other program to the first storage means in the same order as the control means executes the program,
The control means starts execution of the boot program of the second storage means using the second arbitration means, and starts transfer of each section of the other program to the first storage means by the plurality of program transfer means. When the execution of the boot program is finished, each section of the other program is read from the first storage means and executed when the transfer from the second storage means to the first storage means is finished, and the second storage means If the transfer to one storage means has not ended, the first arbitration means is used to wait for the end,
A data transfer device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007055312A JP4901538B2 (en) | 2007-03-06 | 2007-03-06 | Data transfer method, data transfer device, electronic device, and image forming apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007055312A JP4901538B2 (en) | 2007-03-06 | 2007-03-06 | Data transfer method, data transfer device, electronic device, and image forming apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008217524A JP2008217524A (en) | 2008-09-18 |
| JP4901538B2 true JP4901538B2 (en) | 2012-03-21 |
Family
ID=39837479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007055312A Expired - Fee Related JP4901538B2 (en) | 2007-03-06 | 2007-03-06 | Data transfer method, data transfer device, electronic device, and image forming apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4901538B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5035227B2 (en) * | 2008-12-17 | 2012-09-26 | 日本電気株式会社 | Information processing apparatus, program start control method, and start control program |
| JP4990262B2 (en) * | 2008-12-26 | 2012-08-01 | 三菱電機株式会社 | Buffer device |
| CN113868179B (en) * | 2021-09-10 | 2024-04-02 | 中国航空工业集团公司西安航空计算技术研究所 | Communication device of LPC-DPRam and data conversion method |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002366362A (en) * | 2001-06-06 | 2002-12-20 | Canon Inc | Electronic device and control method for electronic device |
| JP2005258642A (en) * | 2004-03-10 | 2005-09-22 | Yamaha Corp | Embedded information processor |
| JP2007156855A (en) * | 2005-12-06 | 2007-06-21 | Sony Corp | Information processing apparatus and information processing method |
-
2007
- 2007-03-06 JP JP2007055312A patent/JP4901538B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008217524A (en) | 2008-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8135873B2 (en) | Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface | |
| TW451131B (en) | Processor local bus posted DMA flyby burst transfers | |
| US7765413B2 (en) | Image processing device and method of controlling the image processing device which estimates a state-transition sequence for a USB driver | |
| RU2380743C1 (en) | Method and device for clearing semaphore reservation | |
| US6134625A (en) | Method and apparatus for providing arbitration between multiple data streams | |
| KR100644596B1 (en) | Bus system and its bus arbitration method | |
| JP2009043256A (en) | Storage device access method and apparatus | |
| CN115203095A (en) | PCIe device and operating method thereof | |
| JP5108578B2 (en) | Image processing controller and image forming apparatus | |
| US6753903B1 (en) | Adaptor for direct connection between USB digital still camera and use color printer | |
| JP4901538B2 (en) | Data transfer method, data transfer device, electronic device, and image forming apparatus | |
| JP7468112B2 (en) | INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application | |
| US5870570A (en) | Multiple bus agent integrated circuit device for connecting to an external bus | |
| US20090292856A1 (en) | Interserver communication mechanism and computer system | |
| US7203781B2 (en) | Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus | |
| US5915103A (en) | Method and system for an extensible on silicon bus supporting multiple functional blocks | |
| US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
| US8526039B2 (en) | Image processing apparatus, and control method thereof and program | |
| JP7643116B2 (en) | Image processing controller, image forming apparatus and control method | |
| JP4446968B2 (en) | Data processing device | |
| US12174777B2 (en) | Controller, image forming apparatus, and access arbitration method | |
| JPH1185673A (en) | Method and apparatus for controlling shared bus | |
| JPH11252150A (en) | Network connection device and network connection control method | |
| JP4862593B2 (en) | Data transfer apparatus and image forming apparatus | |
| JPH06231032A (en) | Access control device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091124 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110720 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110722 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110830 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111227 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111227 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 4901538 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |