Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4901538B2 - Data transfer method, data transfer device, electronic device, and image forming apparatus - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2007055312A
Other languages
Japanese (ja)
Other versions
JP2008217524A (en
Inventor
藤 勝 彦 加
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007055312A priority Critical patent/JP4901538B2/en
Publication of JP2008217524A publication Critical patent/JP2008217524A/en
Application granted granted Critical
Publication of JP4901538B2 publication Critical patent/JP4901538B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2006−72989号公報。JP 2006-72989 A.

近年の電子機器では、組み込み機器であっても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 engine 20 including a scanner 17 that reads an image on a document, a printer 18 that writes an image on a sheet, and a process controller 19 that controls these processes. The system controller 10 that performs system control and image processing control is connected to a general-purpose bus such as a PCI bus. The above-described data transfer device can be installed in the system controller 10, for example.

システムコントローラ10には、ASIC(Application Specific IC) 2,プログラムおよび画像データを蓄積し、また複写機各部の状態情報を保持するRAM3,ブート用プログラムおよびアプリケーションプログラムを格納したROM4がある。ASIC2には、設定データ,登録データを保持するNVRAM5および主に書画情報を蓄積するHDD11が接続されている。コントローラASIC 2は、コントローラ10,エンジン20およびI/Oインターフェイス14の間の画像データ,制御データ,同期信号などのやり取りを制御する伝送制御,メモリ3〜5およびHDD11に対するデータの読み書き制御,テキストデータをイメージデータに変換するデータ変換、および、スキャナ17が出力する読み取り画像データの、プリンタ18の記録色画像データへの変換、等を行うものである。   The system controller 10 includes an ASIC (Application Specific IC) 2, a RAM 4 that stores programs and image data, and holds state information of each part of the copier 3, and a ROM 4 that stores a boot program and an application program. Connected to the ASIC 2 are an NVRAM 5 that holds setting data and registration data, and an HDD 11 that mainly stores document information. The controller ASIC 2 performs transmission control for controlling the exchange of image data, control data, synchronization signals and the like among the controller 10, engine 20 and I / O interface 14, data read / write control for the memories 3 to 5 and the HDD 11, text data Is converted into image data, and read image data output from the scanner 17 is converted into recording color image data of the printer 18.

複写機MF1のI/Oインターフェイス14には、操作ボード9が接続した操作ボードI/F(インターフェイス)15,USB Host I/F 6,SDカードI/F8,パソコンあるいはネットワークが接続されるMAC16およびファクシミリ通信回線に接続された回線I/F21等がある。   The I / O interface 14 of the copying machine MF1 includes an operation board I / F (interface) 15 to which an operation board 9 is connected, a USB Host I / F 6, an SD card I / F 8, a MAC 16 to which a personal computer or a network is connected, and There is a line I / F 21 or the like connected to a facsimile communication line.

システムコントローラ10とI/Oインターフェイス14を含むメインコントローラ部が、複合処理システム全般の制御すなわちシステム制御を行う。システムコントローラ10のCPU1は、RAM4は勿論、I/Oインターフェイス14内の内部レジスタ等へのアクセスを容易に行える構成となっている。   A main controller unit including the system controller 10 and the I / O interface 14 performs overall control of the composite processing system, that is, system control. The CPU 1 of the system controller 10 can easily access not only the RAM 4 but also the internal registers in the I / O interface 14.

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 USB memory 12 that is one of the external storage media can be inserted into a cable terminal receiving slot having a USB cable connector of the USB Host I / F 6 to be electrically connected to the USB Host I / F 6. . Similarly, an SD card 13 as another external storage medium is inserted into the card insertion slot for guiding the SD card to the external connection connector of the SD card I / F 8 and electrically connected to the SD card I / F 8. can do.

システム制御手段である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 ROM 4 and written to the RAM 3, and programs read from the USB memory 12 or the SD card 13 and written to the RAM 3. Control of document accumulation and transmission / reception of document information to / from the outside.

ところで、データ転送装置において、全てのファームウェアを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.

)第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.

)前記プログラム転送手段(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.

)第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.

)第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.

)外部記憶媒体のプログラムを読み込む外部データ読み込み手段(6,8)を設け、前記プログラム転送手段(102)は前記外部記憶媒体のプログラムを第1記憶媒体(3)に転送する、上記()に記載の電子機器。 ( 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.

)作像手段(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 data transfer apparatus 2 Based on the program of the first storage means (3) transferred from the storage means (4) to the first storage means (3), the communication means (14) is controlled to receive print information and the image forming means An image forming apparatus comprising: a system controller (10) for controlling and printing (18).

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 system controller 10 shown in FIG. 10. The other part of the system controller 10, that is, the part other than the data transfer device (for example, the document information processing / transfer part in the ASIC 2) is not shown in FIG.

このデータ転送装置は、汎用の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 ASIC 101 having a built-in CPU 1 or an ASIC 2 to which the CPU 1 is externally attached. In this embodiment, the RAM 3 in FIG. 1 is the first storage means, the ROM 4 is the second storage means, the RAM arbitration 103 is the first arbitration means, the ROM arbitration 104 is the second arbitration means, and the CPU 1 is the control means. It corresponds. Although the memory controller 105 and the ROM controller 106 are illustrated, the memory controller 105 and the ROM controller 106 are not necessarily required.

ブートプログラムやOS,デバイスドライバ,各種アプリケーション等の当該システムに必要なプログラムは通常ROM4等の不揮発性記憶装置に格納されている。但し、全てのプログラムがこのROM4に格納されている必要はなく、ブートプログラム部分及び、ROM4からRAM3へのプログラムの転送が完了する前にCPU1にて実行しておきたい部分のプログラムだけRM4に格納され、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 ROM 4. However, it is not necessary that all of the programs are stored in the ROM4, boot program portion and, only the portion of the program you want to run at CPU1 before completing the transfer of the program from the ROM4 into RAM 3 R O M4 The OS, device driver, various applications, and the like may be stored in an external storage medium such as the USB memory 12, the SD card 13 (FIG. 10), or a CD-ROM.

説明の容易化のため、以下すべてのプログラムは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 4, and the boot program portion (initialization of various ASICs, etc.) is transferred to the RAM 3 and then executed on the RAM 3. To explain. A ROM arbitration 104 that arbitrates a boot program read request from the CPU 1 and a program read request other than the boot program from the program copy 102 is prepared in the preceding stage of the ROM controller 106. For ease of explanation, the ROM access is limited to read access for both the CPU 1 and the program copy 102 as program transfer means. However, as ROM arbitration 104, write access arbitration is naturally possible. Normally, the CPU 1 jumps to the boot vector after reset release, and the boot vector points to the address of the ROM 4 where the boot program is stored.

よって、ROM調停104はCPU1からのブートプログラムリード要求を受けてROM4からブートプログラムをリードしてCPU1に転送しながら、プログラムコピー102にてRAM上に転送したいRAM実行部分のプログラムのリード要求がきたら、プログラムコピー102が要求しているプログラムも同時にプログラムコピー102に転送する機能をもつ。   Therefore, when the ROM arbitration 104 receives a boot program read request from the CPU 1 and reads the boot program from the ROM 4 and transfers it to the CPU 1, the ROM arbitration 104 receives a program read request for the RAM execution part to be transferred onto the RAM by the program copy 102. The program requested by the program copy 102 has a function of transferring the program to the program copy 102 at the same time.

ここでいう同時とは、時間0という同時ではなく、時間0でCPU1とプログラムコピー102の両方からのリードアクセスが発生した場合に調停しながら、要求しているROM4上のデータを転送するという意味である。   The term “simultaneous” here means that the requested data on the ROM 4 is transferred while arbitrating when read access from both the CPU 1 and the program copy 102 occurs at time 0, not at time 0. It is.

ここでいう調停とは、CPU1からのアクセス要求とプログラムコピー102が同時に発生した場合には、どちらか一方のアクセスを行い、もう一方はそのアクセスが完了するまで待ち状態とし、そのアクセスが完了したら、待ち状態とされていた方のアクセスを実施するというものである。   The arbitration here means that when an access request from the CPU 1 and the program copy 102 occur simultaneously, one of the accesses is performed, and the other waits until the access is completed. The access of the one that has been in the waiting state is performed.

通常、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 program copy 102 is prepared between the ROM arbitration 104 and the RAM arbitration 103. The program copy 102 includes a transfer source address indicating an address on the ROM 4 where a program to be transferred to the RAM 3 supplied from the outside is stored after the reset is released (at the same time as the execution of the boot program of the CPU 1), and the transfer Based on the transfer destination address information indicating the address on the RAM 3 where the program to be stored is to be stored, a read request with the transfer source address as the start address is generated to the ROM arbitration 104. When the data of the requested transfer source address is transferred from the ROM arbitration 104, data transfer of the program to be transferred is performed to the RAM arbitration 103 using the transfer destination address as the start address.

説明の容易化のために、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 ROM arbitration 104, a write request to the RAM arbitration 103 is immediately made. Normally, however, the memory controller 105 performs burst access to the memory 3 in order to improve performance. Therefore, a write request to the RAM arbitration 103 is made after data for the burst transfer size can be secured. Further, the program copy 102 is transferred to the RAM arbitration 103 on the RAM 3 that has completed the transfer to the copy completion determination 103c, which is a transfer completion determination means, in the RAM arbitration 103 at the time when the write data transfer at that time is completed. The transfer completion address indicating the address is passed.

転送完了アドレスはRAM3上のアドレスを示しており、転送先アドレスを転送したデータ量分増加させることで計算している。この計算処理はプログラムコピー102内にて行う。プログラムコピー102は、実際に転送するプログラムの容量(サイズ)については意識していない。転送元アドレスから転送するプログラムを読んで、転送先アドレスに転送するという動作を、RAM調停103の、転送完了判定手段であるコピー完了判定103cからの転送完了信号がActive(有意レベル;転送完了を示すレベル)になるまで繰り返す。   The transfer completion address indicates an address on the RAM 3, and is calculated by increasing the transfer destination address by the amount of transferred data. This calculation process is performed in the program copy 102. The program copy 102 is unaware of the capacity (size) of the program that is actually transferred. The operation of reading the program to be transferred from the transfer source address and transferring it to the transfer destination address is indicated by the transfer completion signal from the copy completion determination 103c as the transfer completion determination means of the RAM arbitration 103 being Active (significant level; transfer completion). Repeat until the indicated level is reached.

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 arbitration 103 becomes Active, the program copy 102 immediately stops the read request to the ROM arbitration 104, remains in the program copy 102, and is still in the RAM arbitration 103. The data (program) of the portion not transferred to is not transferred. However, if data transfer is being performed to the RAM arbitration 103 at the moment when the transfer completion signal is active, data transfer is performed until the data transfer is completed.

通常、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 RAM arbitration 103 is a burst transfer. For example, when a 16-byte transfer of a 64-byte burst transfer is completed, if the transfer completion signal becomes active, the data transfer is stopped at that moment. Since the arbitration circuit 103b and the memory controller 105 both hang up in a state waiting for the subsequent data transfer, if a 64-byte burst transfer request is issued, for example, the transfer completion signal is active. However, the data transfer is performed until the 64-byte burst transfer is completed, and the next data transfer is not performed when the data transfer is completed. This also applies to access to ROM arbitration 104. In other words, if further data transfer from the ROM is required to complete the 64-byte data transfer, a new ROM read request is sent to the ROM arbitration 104 even if the transfer completion signal is active. May be issued.

メモリコントローラ105の前段にRAM調停103を用意している。RAM調停103の主な機能は、CPU1からのRAMアクセス,RAM3の特定アドレス等をZero Fill(データゼロの書込み;クリア)したり任意のデータを埋めるようなRAM初期化回路からのDMA(Direct Memory Access)要求や、USB,Ethernet(登録商標)やPCIからのDMAアクセス要求等を調停することにある。DMA要求の種類としては前記記載したものは一例であって、これが全てではないし、これらを含んでいないといけないわけではない。CPU1からのアクセスと他の回路からのアクセスを調停するという意味である。   A RAM arbitration 103 is prepared before the memory controller 105. The main function of the RAM arbitration 103 is the RAM access from the CPU 1, the DMA (Direct Memory) from the RAM initialization circuit that zero-fills (writes zero data; clears) a specific address of the RAM 3 or fills arbitrary data. Access) request and DMA access request from USB, Ethernet (registered trademark) or PCI. The above-mentioned types of DMA requests are merely examples, and this is not all and does not have to be included. This means that access from the CPU 1 and access from other circuits are arbitrated.

本発明では、上記機能に追加で、プログラムコピー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 program copy 102 is added to the RAM arbitration 103, and an address comparison 103a serving as an address comparison unit is provided in the preceding stage of the RAM arbitration 103. In the address comparison 103a, an address comparison is prepared for each resource that requires RAM access. However, address comparison is not necessary for the request from the program copy 102.

アドレス比較103aは、CPU1及び他の各種DMACからのRAMアクセス時のアドレスが現時点での転送完了アドレスから転送最終アドレス(プログラムの転送完了と判断できる、プログラムの最終格納アドレス)の間に入っていないか調査し、その範囲外のアドレスへのアクセスであればRAM調停103へアクセス要求を与える。しかしながら、CPU1や各種DMACがアクセスしようとしているアドレスが、現時点での転送完了アドレスから転送最終アドレスの間であれば、そのリソースからのアクセスをRAM調停103には出さずに、そのリソースからのアクセスはWaitとする。   In the address comparison 103a, the address at the time of RAM access from the CPU 1 and other various DMACs does not fall between the current transfer completion address and the transfer final address (the program final storage address that can be determined as the completion of the program transfer). If the access is to an address outside the range, an access request is given to the RAM arbitration 103. However, if the address that the CPU 1 or various DMACs are trying to access is between the current transfer completion address and the transfer final address, the access from that resource is not made to the RAM arbitration 103, and the access from that resource is not made. Let Wait.

ただし、転送完了アドレスは刻々と変化して増加してくるので、そのリソースが要求しているアドレスを転送完了アドレスが超えた時点で、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 RAM arbitration 103 when the transfer completion address exceeds the address requested by the resource. By preparing this address comparison circuit for CPU1 + the number of DMACs, even if the RAM access request from any one resource is in the Wait state, the access from another resource is the transfer completion address. If it is not between the transfer address and the final transfer address, the RAM access is permitted, and the state where the RAM access of all resources is set to Wait can be prevented.

アドレス比較103aは、転送完了判定手段であるコピー完了判定103cの転送完了信号がActiveになったら、現時点でWaitにしているRAMアクセス要求のWaitを解除し、それ以降発生する各リソースからのRAMアクセス要求発生時には、要求しているアドレスの比較は行わない。   When the transfer completion signal of the copy completion determination 103c, which is the transfer completion determination means, becomes active, the address comparison 103a cancels the Wait of the RAM access request currently set to Wait, and the RAM access from each resource generated thereafter When a request occurs, the requested address is not compared.

次に、コピー完了判定103cは、転送先アドレスと転送するプログラム量から転送終了アドレスを計算し、転送終了アドレスをアドレス比較103aに通知する。ここで計算された転送終了アドレスと現時点での転送完了アドレスを常に比較し、転送完了アドレス>=転送終了アドレスとなった時点で、転送完了信号をアサートし、プログラムコピー102,アドレス比較103aに通知する。転送完了信号がActiveになった時のプログラムコピー102の動作については前述の通りである。   Next, the copy completion determination 103c calculates a transfer end address from the transfer destination address and the transferred program amount, and notifies the address comparison 103a of the transfer end address. The transfer end address calculated here is always compared with the current transfer end address, and when the transfer end address> = transfer end address, the transfer end signal is asserted and notified to the program copy 102 and the address comparison 103a. To do. The operation of the program copy 102 when the transfer completion signal becomes Active is as described above.

図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 SoC 101 in FIG. 1 is a 1-chip SoC. The details of the functions and connections of the RAM arbitration 103, program copy 102, and ROM arbitration 104 are the same as those in FIG. A program copy 102, a first arbitration 103, a memory controller 105, a second arbitration 104, and a ROM controller 106 are incorporated in the SoC 101 incorporating the CPU 1, and SDRAM, DDR SDRAM, DDR2 SDRAM are externally provided as first storage means. A RAM 4 such as a DRAM and a ROM 4 such as a flash ROM are connected as second storage means. The bus connecting the ROM 4 and the ROM controller 106 may be a local bus specific to the chip, PCI, USB, or the chip for the bus may be connected in front of the ROM 4.

図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 SoC 107 equipped with a commercially available CPU 1 + memory controller 105 + ROM controller 106 is assumed. SoC 2 which is an ASIC or FPGA (Field Programmable Gate Array) with built-in program copy 102, ROM arbitration 104, RAM arbitration 103, memory controller 105, ROM controller 106 is arranged outside, and compared with a normal system, The external RAM 3 (DRAM) and the external ROM 4 are arranged so as to enter.

市販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 available SoC 107 accesses the RAM 3, the memory controller 105 accesses the RAM 3 according to the protocol and timing for accessing the RAM 3. Therefore, the RAM arbitration 103 needs to behave like the RAM 3. This is different from the second embodiment of FIG. Although it may seem useless when viewed as a system, a memory controller 105 is provided after the RAM arbitration 103 of the external ASIC 2 in order to enable access to the RAM 3 (DRAM) from the external ASIC or FPGA 2. Is prepared.

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 RAM 3 is an SDRAM, CAS latency (Column Address Strobe Latency) is determined for SDRAM access, and it is necessary to prepare data by the determined timing. Therefore, the CAS latency of the memory controller 108 on the commercial SoC 107 side is set larger than the CAS latency set in the memory controller 105 of the external ASIC or FPGA 2, and the read data from the SDRAM via the external ASIC or FPGA 2 is Use CAS Latency in time. For example, CAS Latency = 2.5 between SoC107 <-> ASIC2 and CAS Latency = 2 between ASIC2 <-> SDRAM3.

外付け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 FPGA 2, various DMAC accesses are also made via the memory controller 108 in the SoC 107, so that the RAM arbitration 103 is configured to perform access from the SoC 107 and arbitration of the program copy 102. When the CPU 1 on the commercially available SoC 107 accesses the ROM 4 according to the protocol and timing for the ROM 4, the ROM arbitration 104 needs to behave as if it is the ROM 4 in the second embodiment of FIG. Is different.

システムとしてみた時に無駄と見えるかもしれないが、外付けの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 ROM controller 106 is provided after the ROM arbitration 104 of the external ASIC 2 to enable access to the ROM 4 from the external ASIC or FPGA 2. Has been. Since the timing for ROM access is also determined, and ASIC or FPGA 2 is inserted between the accesses from CPU 1, the timing of SoC 107 <-> ASIC or FPGA 2 is the timing of ASIC or FPGA 2 <-> ROM 4. It is necessary to set the access timing later than that.

上記のような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 FPGA 2 is mediated between SoC107 <-> RAM3 and SoC107 <-> ROM4. In addition, a system capable of high-speed startup and high-speed execution can be achieved. When the RAM 3 is an SDRAM (including DDR and DDR2), it is necessary to set the operation mode before executing memory write / read to the RAM 3.

外付けの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 external ASIC 2 performs a program transfer operation from the ROM 4 to the RAM 3 before the CPU 1 completes booting, the operation mode setting (mode register setting) to the SDRAM (RAM 3) Performed after reset release by ASIC or FPGA 2. After the CPU 1 boots, the CPU 1 executes mode register setting from the memory controller 108 in the SoC 107, but the mode register setting is ignored by the RAM arbitration 103. The reason why the CPU 1 intentionally executes the mode register setting in the memory controller 108 in the SoC 107 is that the mode register setting must be performed before the first access to the DRAM (RAM 3), and the memory controller 108 executes the mode register setting. This is because it is common for the read / write operation to be performed only afterwards. The reason why the mode register setting command issued by the memory controller 108 of the SoC 107 has to be ignored by the external ASIC or FPGA 2 is that the SDRAM (RAM 3) causes the memory element itself to be changed by issuing the mode register setting command. This is to avoid erasing the program transferred from the ROM 4 to the RAM 3 in the program copy 102 before the SDRAM to be cleared.

図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 memory controller 108 and the ROM controller 109 are mounted separately). 1 shows an embodiment of the present invention for a simple system. As the difference in configuration, the difference between the fact that the BIOS is mounted and the BIOS is mounted will be described.

通常の電子機器であれば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 same ROM 4, but in the case of a system using a specific CPU, Since the detailed specification of the CPU and the detailed specification of the peripheral chip set are not disclosed, the BIOS part for performing the initial setting of the chip set and the CPU may not be developed in-house. In such a case, a general method is to construct a high-performance system by entrusting a BIOS development company to a company that specializes in BIOS development.

しかしながら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 Chip Set 111 described as SB (South Bridge) is equipped with a ROM controller 109. However, the ROM controller 109 is merely used as a ROM controller for ease of explanation, and is not necessarily a ROM controller. For example, a general-purpose bus such as a PCI bus may be used. Since it is possible to put Wait in the bus protocol in the case of a PCI bus, the ROM arbitration 104 may behave as a PCI device, not as a ROM. Other configurations are the same as those of the third embodiment shown in FIG.

次に、実施例の動作の詳細について説明する。説明の簡易化のために基本的には、図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 program copy 102, and FIG. 6 shows an outline of the operation of the RAM arbitration 103. In the following description, steps S1 to S7 are those on FIG. 5, and steps S11 to S20 are those on FIG. First, when the reset is released (S1), the program copy 102 generates a read request for the program to be transferred to the RAM 3 to the ROM arbitration 104 based on the transfer destination address and the transfer source address information (S2). The transfer destination address and the transfer source address information will be described on the premise that they are acquired by an external Pin during the reset period. First, store these information at specific addresses on the ROM 4, The operation of acquiring the information may be performed.

リセット解除と同時にコピー完了判定103cは、転送完了信号をInactive状態(無意状態;転送完了を示さないレベル)に設定し、転送先アドレス,転送するプログラム量から転送最終アドレス情報を計算して、転送最終アドレス,転送完了信号をアドレス比較103aに、転送完了信号をプログラムコピー102に、伝達する。並行して、CPU1は、リセットベクターにジャンプし、ROM調停104に対し、ブートコードのリード要求を発行する(S11)。   Simultaneously with the reset release, the copy completion determination 103c sets the transfer completion signal to an inactive state (unintentional state; a level not indicating transfer completion), calculates transfer final address information from the transfer destination address and the transferred program amount, and transfers The final address and transfer completion signal are transmitted to the address comparison 103a, and the transfer completion signal is transmitted to the program copy 102. In parallel, the CPU 1 jumps to the reset vector and issues a boot code read request to the ROM arbitration 104 (S11).

図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 ROM 4, but when the BIOS part is not a ROM but another Device (another ROM) as shown in FIG. , Access to a device such as a ROM on which a BIOS is mounted is the first. In this case, after the code execution of the BIOS portion is finished, the CPU 1 issues a read request to the ROM arbitration 104 for executing the program on the ROM 4. At this time, a read request from the CPU 1 and a read request from the program copy 102 are generated at the same time, but which access should be given priority depends on the implementation, and no arbitration policy is mentioned. . However, the ROM arbitration 104 sets the arbitration policy so that ROM access from the CPU 1 and ROM access from the program copy 102 are permitted in the same way, thereby executing boot code execution in the program ROM-> RAM. Maximizes the efficiency of parallel execution of transfers.

メモリコントローラ105は、SDRAM 4に対してモードレジスタ設定コマンドを発行する(S12)。実際には、プリチャージコマンドやリフレッシュコマンドも必要であるが、本発明の主旨ではないので、説明は割愛する。モードレジスタ設定の前に各DRAMが要求しているプリチャージコマンドやリフレッシュコマンドも当然発行しているものとする。本説明ではモードレジスタ設定は、メモリコントローラ105で実施するとしているが、RAM調停103がきっかけとなるコマンドをメモリコントローラ105に発行し、そのコマンドを受けてメモリコントローラ105がモードレジスタ設定を行うという方式でも良い。   The memory controller 105 issues a mode register setting command to the SDRAM 4 (S12). Actually, a precharge command and a refresh command are also necessary, but since they are not the gist of the present invention, description thereof will be omitted. It is assumed that the precharge command and the refresh command requested by each DRAM are also issued before setting the mode register. In this description, the mode register setting is performed by the memory controller 105. However, a method in which the RAM arbitration 103 triggers is issued to the memory controller 105, and the memory controller 105 performs mode register setting in response to the command. But it ’s okay.

次にプログラムコピー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 program copy 102 repeats the read request to the ROM arbitration 104 until data of a size that can be transferred to the memory controller 105 is prepared (S2, S3). During this time as well, the CPU 1 is executing the boot program on the BIOS or ROM. Then, the program copy 102 issues a memory write request to the RAM control means when data of a size that can be transferred to the memory controller 105 is prepared (S4). Normally, burst transfer is used to make use of the performance of DRAM. Therefore, data read from ROM 4 is read a plurality of times as described above, and then data transfer to RAM arbitration 103 is performed. Can be read in large quantities at a time or when burst access to the RAM arbitration 103 is not performed, data can be transferred to the RAM arbitration 103 when data is read from the ROM 4, or all data is completely read from the ROM 4 If it is determined, data transfer to the RAM arbitration 103 may be started before all the data is read. When the data transfer to the RAM arbitration 103 is completed, the program copy 102 updates the transfer completion address. The program copy 102 repeats the above operation until the transfer completion signal becomes active (S2 to S5).

次にRAM調停103はRAMアクセス要求が発生していないか常にモニターしており、CPU1,各DMACまたはプログラムコピー102からのメモリアクセス要求が発生した場合には、どのリソースからのアクセス要求なのか判断し、その判断結果により、その後の処理が異なる。メモリアクセス要求元がCPU1または各DMACのどれかの場合、RAM調停103内のアドレス比較103aにてアクセス要求がでているアドレスについて許可可能か否かの判断を行う(S13〜S16)。   Next, the RAM arbitration 103 constantly monitors whether or not a RAM access request is generated. When a memory access request from the CPU 1, each DMAC or the program copy 102 is generated, it is determined which resource the access request is from. However, the subsequent processing differs depending on the determination result. When the memory access request source is either the CPU 1 or each DMAC, it is determined whether or not the address requested by the access request can be permitted by the address comparison 103a in the RAM arbitration 103 (S13 to S16).

要求しているアドレスがプログラムの転送結果を格納する範囲内で、プログラムがまだ転送できていない場合には、そのリソースからのアクセスを待たせることになる(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 address comparison 103a always compares the transfer completion address updated appropriately with the address indicated by the access request (S15), and when the address indicated by the access request <= transfer completion address. Then, a memory access request is issued to the subsequent arbitration circuit 103b as an access permission state. If the access request is the program copy 102, the memory access request to the arbitration circuit 103b is issued immediately without going through the address comparison 103a (S17). When the memory access is completed, the transfer completion address is compared with the transfer end address, and when the transfer completion address> = transfer end address, the transfer completion signal is set to Active (S19, S20). Otherwise, it waits for the next access request (S13). In the arbitration circuit 103b in the RAM arbitration 103, access requests from the CPU 1, each DMAC, and the program copy 102 may be generated at the same time. However, the arbitration circuit 103b arbitrates appropriately and accesses from all resources without delay. The mediation rules that can be used are set.

このようにプログラム転送動作中であっても、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 RAM 3 and inspection of the RAM 3 is performed before the program moves to RAM execution. It can be executed at the timing.

上記動作を繰り返し、転送信号がActiveになると、プログラムコピー102は、ROMリード要求を出していたとしても、メモリライト要求を出していたとしても、そのデータ転送が完了した時点で、一切の動作を停止する(S7)。この様子を図7の(a)および(b)に示す。転送完了信号がActiveになると、それ以降に発生するCPU1や各種DMACからのメモリアクセスの際にアドレス比較103aはアドレスの比較を一切行わない。   When the above operation is repeated and the transfer signal becomes Active, the program copy 102 performs all operations when the data transfer is completed, regardless of whether a ROM read request is issued or a memory write request is issued. Stop (S7). This is shown in FIGS. 7A and 7B. When the transfer completion signal becomes active, the address comparison 103a does not perform any address comparison at the time of memory access from the CPU 1 and various DMACs generated thereafter.

上記のような動作をしている間も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 ROM controller 109 are mounted on the commercially available SoC 107 and the dedicated chip sets 110 and 111, the memory controller 105 is connected to the DRAM 4 before starting the RAM execution. The mode register setting command is executed. The RAM arbitration 103 does not issue the mode register setting command to the DRAM 4, but discards the command, thereby preventing the mode register setting command from being repeatedly issued to the DRAM 4 at the time of activation.

次にリセット解除後の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 ROM 4 to the RAM 3 and the CPU 1 is kept waiting by the address comparison 103a. . In this case, since the timing when the CPU 1 tries to execute the RAM is early, it is better to add a CPU process based on the boot code of the ROM 4.

(d)はブートコードの実行よりも早くROM4からRAM3へのプログラム転送が完了したときのRAM実行への切替えタイミングを示す。この場合、ROM実行部分を少なくして、もう少し早くRAM実行に移った方が高速起動が可能となる。   (D) shows the switching timing to RAM execution when the program transfer from the ROM 4 to the RAM 3 is completed earlier than the execution of the boot code. In this case, it is possible to start up at a higher speed by reducing the number of ROM execution portions and moving to RAM execution a little earlier.

(e)は、ブートコード実行後のRAM実行とROM4からRAM3へのプログラム転送が重なるケースである。肥大化したプログラムのRAM3への転送時間が長くなったとしても、早いタイミングでのRAM実行への切り替えが可能となり、RAM3へ転送できた部分から逐次RAM実行となるので、高速起動及び高速実行が可能となる。   (E) is a case where RAM execution after boot code execution and program transfer from the ROM 4 to the RAM 3 overlap. Even if the transfer time of the enlarged program to the RAM 3 becomes long, it is possible to switch to RAM execution at an early timing, and since the portion transferred to the RAM 3 is sequentially executed in RAM, high-speed startup and high-speed execution are possible. It becomes possible.

次に図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 memory controller 108 and the ROM controller 109 are mounted on the commercially available SoC 107 and the dedicated chip sets 110 and 111 as shown in FIGS. 3 and 4 will be described. If the memory controller 108 and the ROM controller 109 are general-purpose buses (for example, PCI, PCI Express, USB, etc.) and Wait can be inserted (transfer control = Flow control is possible), the access timing need not be considered. In the case of using general SDRAM, DDR SDRAM, DDR2 SDRAM, NOR Flash ROM, etc., the access timing is determined, and an external ASIC or FPGA 2 is provided between the memory controller 108, ROM controller 109 and SDRAM 3, ROM 4. Due to the timing shift caused by the occurrence of the error, correct RAM and ROM access cannot be performed.

そこで、本発明では、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 DRAM 4 such as SDRAM, CAS Latency between commercially available SoC 107 or dedicated Chip Set 110, 111 and external ASIC or FPGA 2 is greater than CAS latency between external ASIC or FPGA 2 and SDRAM 4. Always make it bigger. By doing so, when viewed from the commercially available SoC 107 or the dedicated chips 110 and 111, the external ASIC or the FPGA 2 can be handled as an SDRAM 4 having a larger CAS latency.

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 ROM controller 109. Usually, in the case of ROM devices such as Nor Flash ROM, Access Speed is determined. Therefore, the access speed between the external ASIC or FPGA 2 from the commercially available SoC 107 or the dedicated chip set 110, 111 is about 1 cycle slower than the Access Speed of the device, and the access speed of the device is between the external ASIC or FPGA 2 and the ROM 4. By setting to Speed, the external ASIC or FPGA 2 can be handled as a slightly slower ROM 4 from the commercially available SoC 107 or the dedicated chip sets 110 and 111.

次にROM4上のプログラムを複数の領域に分けて、RAM3上に順番をつけて転送する場合について説明する。プログラムの分割の一例について図8に示す。図8の場合一番若いアドレスにブートコードが格納されており、この部分はROM実行を前提とした例となっている。一般的なプログラムの場合、実行途中でいろいろなサブルーチンを処理しながら起動してくるので、必ずしもROM4のアドレスの昇順に実行されるべきプログラムが格納されているとは限らない。そこで、ROM4上のプログラムを複数の領域に分割し、プログラムを実行する順番と同じ順番でRAM3上にプログラムを転送する。転送順序1−>2−>3−>4−>5の順で転送する。図8は一例であって、ROM空間のどこの空間が何番目であるかは自由に設定してよい。   Next, a case where the program on the ROM 4 is divided into a plurality of areas and transferred in order on the RAM 3 will be described. An example of program division is shown in FIG. In the case of FIG. 8, the boot code is stored at the youngest address, and this part is an example on the premise of ROM execution. In the case of a general program, it is started while processing various subroutines in the middle of execution. Therefore, a program to be executed is not necessarily stored in ascending order of the addresses of the ROM 4. Therefore, the program on the ROM 4 is divided into a plurality of areas, and the program is transferred onto the RAM 3 in the same order as the order in which the programs are executed. Transfer order 1-> 2-> 3-> 4-> 5. FIG. 8 is an example, and which space in the ROM space is what number may be freely set.

図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 RAM arbitration 103 but is connected to the program copy 102, the transfer destination addresses 0 to n, the transfer source addresses 0 to n, and the transfer program The amount 0 to n is the point supplied to the program copy 102. Program transfer amount 0. . The reason why n (0 to n) is supplied to the program copy 102 is to efficiently switch a plurality of transfer areas. One set consists of the transfer destination address 0, the transfer source address 0, and the transfer program amount 0. If the program areas to be transferred are divided so that the areas of the respective programs have the same size, only one program amount to be transferred needs to be supplied, and n is not required. In that case, the program amount to be transferred directly from the outside may be designated. The order selection means in the program copy 102 supplies the RAM arbitration 103 with the subscripts in ascending order from 0 to n transfer destination addresses, transfer source addresses, and the transferred program amount.

こうすることで、複数の領域づつの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-> RAM 3 for each of the plurality of areas. In the case of this configuration, it is not possible to determine whether or not the transfer has been completed for the area where the program transfer operation is not currently performed, but since the order of transfer from the ROM to the RAM itself is the order in which the RAM is executed, the program is originally Access to an area that is not being transferred should not occur and is not a problem.

以上、本発明の実施例の説明は、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 RAM 3 for executing the program stored in the RAM 3 and the boot program of the CPU 1 are stored in the same storage means (ROM 4). Although the description is based on the premise, both may be stored in separate third storage means. In that case, the ROM arbitration 104 is not necessary, and the program copy 102 transfers the program stored in the third storage means storing the program to be executed on the RAM 3 to the RAM 3.

本発明の第1実施例の機能構成を示すブロック図である。It is a block diagram which shows the function structure of 1st Example of this invention. 本発明の第2実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 2nd Example of this invention. 本発明の第3実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 3rd Example of this invention. 本発明の第4実施例の構成を示すブロック図である。It is a block diagram which shows the structure of 4th Example of this invention. 本発明の第1〜5実施例のプログラムコピー102のデータ転送動作の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the data transfer operation | movement of the program copy 102 of 1st-5th Example of this invention. 本発明の第1〜5実施例のRAM調停103の調停動作の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the arbitration operation | movement of RAM arbitration 103 of the 1st-5th Example of this invention. 本発明の第1〜5実施例の、リセット解除後のCPU動作とプログラム転送動作及びRAM実行への切替えタイミングを示すタイムチャートである。It is a time chart which shows the CPU operation | movement after reset cancellation | release, the program transfer operation | movement, and the switching timing to RAM execution of 1st-5th Example of this invention. 図1等に示すROM4に格納したプログラムの区分の一例を示すブロック図である。It is a block diagram which shows an example of the division of the program stored in ROM4 shown in FIG. 本発明の第5実施例の機能構成を示すブロック図である。It is a block diagram which shows the function structure of 5th Example of this invention. 本発明の第1〜5実施例が装備される複合機能複写機MF1の情報処理システムの構成を示すブロック図である。1 is a block diagram showing a configuration of an information processing system of a multi-function copying machine MF1 equipped with first to fifth embodiments of the present invention.

MF1:複合機能複写機 MF1: Multifunction copier

Claims (12)

第1記憶手段に、第2記憶手段に格納されているプログラムを転送して、第1記憶手段に格納されているプログラムを制御手段が実行するデータ転送方法であって、
前記制御手段が第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.
第1記憶手段に、第2記憶手段に格納されているプログラムを転送して、第1記憶手段に格納されているプログラムを制御手段が実行するデータ転送装置であって、
第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.
前記プログラム転送手段は、第2記憶手段の転送元開始アドレス及び第1記憶手段への転送先開始アドレスを入力情報とし、前記転送元開始アドレスのプログラムを前記転送先開始アドレスに転送し、第1調停手段からの転送完了信号によって転送を終了する、ことを特徴とする請求項に記載のデータ転送装置。 The program transfer means uses the transfer source start address of the second storage means and the transfer destination start address to the first storage means as input information, transfers the program of the transfer source start address to the transfer destination start address, 3. The data transfer apparatus according to claim 2 , wherein the transfer is terminated by a transfer completion signal from the arbitrating means. 第2調停手段は、前記制御手段からの読み書きと前記プログラム転送手段からの読み出しを調停する、ことを特徴とする請求項に記載のデータ転送装置。 The data transfer apparatus according to claim 2 , wherein the second arbitration unit arbitrates reading / writing from the control unit and reading from the program transfer unit. 第1調停手段は、前記制御手段が前記プログラム転送手段から供給された転送完了アドレスから前記転送先開始アドレスと転送するプログラム量に基づく転送最終アドレスの範囲内に読み書きしようとしたときには、前記制御手段の読み書きを保留する、ことを特徴とする請求項に記載のデータ転送装置。 When the control means tries to read / write within the range of the transfer destination start address and the transfer end address based on the program amount to be transferred from the transfer completion address supplied from the program transfer means, the control means The data transfer apparatus according to claim 2 , wherein reading and writing of the data is suspended. 第1調停手段は、前記転送最終アドレスと前記転送完了アドレスを比較することにより、前記転送完了アドレスが前記転送最終アドレスと同じまたは前記転送最終アドレスを超えた時点で、プログラム転送完了信号を発生する、ことを特徴とする請求項に記載のデータ転送装置。 The first arbitration means generates a program transfer completion signal when the transfer completion address is the same as or exceeds the transfer final address by comparing the transfer final address with the transfer completion address. The data transfer apparatus according to claim 2 , wherein: 請求項2乃至6のいずれか1つに記載のデータ転送装置を備える電子機器。 An electronic device comprising the data transfer device according to claim 2 . 外部記憶媒体のプログラムを読み込む外部データ読み込み手段を設け、前記プログラム転送手段は前記外部記憶媒体のプログラムを第1記憶媒体に転送する、請求項に記載の電子機器。 The electronic apparatus according to claim 7 , further comprising an external data reading unit that reads a program in an external storage medium, wherein the program transfer unit transfers the program in the external storage medium to a first storage medium. 作像手段;外部と通信する通信手段;および、請求項2乃至6のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段から第1記憶手段に転送した、第1記憶手段のプログラムに基づいて、前記通信手段を制御して印刷情報を受信し前記作像手段を制御して印刷するシステムコントローラ;を備える画像形成装置。 An image forming means; a communication means for communicating with the outside; and the data transfer device according to any one of claims 2 to 6 , wherein the data transfer device transfers the data from the second storage means to the first storage means. An image forming apparatus comprising: a system controller that controls the communication unit to receive print information and controls the image forming unit to print based on a program in a first storage unit. 画像読み取り手段;作像手段;および、請求項2乃至6のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段から第1記憶手段に転送した、第1記憶手段のプログラムに基づいて、前記画像読み取り手段を制御して読み取った画像を前記作像手段を制御して印刷するシステムコントローラ;を備える画像形成装置。 An image reading means; an image forming means; and a first memory comprising the data transfer device according to any one of claims 2 to 6 , wherein the data transfer device transfers the data from the second storage means to the first storage means. An image forming apparatus comprising: a system controller that controls the image reading unit to print the image read by controlling the image reading unit based on a program of the unit. 画像読み取り手段;作像手段;外部と通信する通信手段;および、請求項2乃至6のいずれか1つに記載のデータ転送装置を備えて該データ転送装置が第2記憶手段から第1記憶手段に転送した、第1記憶手段のプログラムに基づいて、前記画像読み取り手段を制御して読み取った画像を前記作像手段を制御して印刷し、前記通信手段を制御して印刷情報を受信し前記作像手段を制御して印刷するシステムコントローラ;を備える画像形成装置。 An image reading unit; an image forming unit; a communication unit communicating with the outside; and the data transfer device according to any one of claims 2 to 6 , wherein the data transfer device is changed from the second storage unit to the first storage unit. Based on the program stored in the first storage means, the image reading means is controlled to print the read image, the image forming means is controlled to print, the communication means is controlled to receive print information, and An image forming apparatus comprising: a system controller that controls and prints image forming means. 外部記憶媒体のプログラムを読み込む外部データ読み込み手段を設け、前記プログラム転送手段は前記外部記憶媒体のプログラムを第1記憶媒体に転送する、請求項9乃至11のいずれか1つに記載の画像形成装置。 The image forming apparatus according to claim 9 , further comprising an external data reading unit that reads a program in an external storage medium, wherein the program transfer unit transfers the program in the external storage medium to a first storage medium. .
JP2007055312A 2007-03-06 2007-03-06 Data transfer method, data transfer device, electronic device, and image forming apparatus Expired - Fee Related JP4901538B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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