JP2014215833A - メモリーアクセス制御システム及び画像形成装置 - Google Patents

メモリーアクセス制御システム及び画像形成装置 Download PDF

Info

Publication number
JP2014215833A
JP2014215833A JP2013093014A JP2013093014A JP2014215833A JP 2014215833 A JP2014215833 A JP 2014215833A JP 2013093014 A JP2013093014 A JP 2013093014A JP 2013093014 A JP2013093014 A JP 2013093014A JP 2014215833 A JP2014215833 A JP 2014215833A
Authority
JP
Japan
Prior art keywords
core
memory
access control
control system
memory access
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.)
Granted
Application number
JP2013093014A
Other languages
English (en)
Other versions
JP5824472B2 (ja
Inventor
健一朗 新田
Kenichiro Nitta
健一朗 新田
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2013093014A priority Critical patent/JP5824472B2/ja
Priority to EP14165005.1A priority patent/EP2796992B1/en
Priority to CN201410152862.6A priority patent/CN104123248B/zh
Priority to US14/258,103 priority patent/US9430249B2/en
Publication of JP2014215833A publication Critical patent/JP2014215833A/ja
Application granted granted Critical
Publication of JP5824472B2 publication Critical patent/JP5824472B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】排他制御を考慮しない場合でもメモリー数の増加を抑制しながら処理の効率化を図るが可能なメモリーアクセス制御システムを提供する。
【解決手段】異なる演算処理が可能な第1コア23及び第2コア25と、第1コア23及び第2コア25からアクセス可能な共有領域を有するRAM31と、第1コア23及び第2コア25の内の何れか一つがアクセス可能なNANDフラッシュ29とを備え、第1コア23がNANDフラッシュ29へアクセスし、必要なデータを読み込んで処理を実行すると共に処理とは分離した他の処理に必要なデータを読み込んでRAM31に保持させる。
【選択図】図1

Description

本発明は、メモリーへのアクセスを制御するメモリーアクセス制御システム及び画像形成装置に関する。
近年の電子機器においては、並列処理が可能な複数のコア(演算部)を備えたマルチコアプロセッサーを備えたものがある。マルチコアプロセッサーは、パーソナルコンピューター等の情報処理装置のみならず、コピー機、プリンター、それらの複合機等の画像形成装置にも幅広く適用されている。
画像形成装置では、操作状態の表示等を行うパネル表示部を備えるのが一般的であり、その制御用のパネルコントローラーシステムと画像形成制御用のメインコントローラーシステムとをマルチコアプロセッサーの異なるコアに割り当てている。
このような画像形成装置においては、メモリーへのアクセスがシングルコアプロセッサーと同様の構成となっていることがある。
例えば、一つのフラッシュメモリーにパネルコントローラーシステム及びメインコントローラーシステムで使用するデータを保持し、そのフラッシュメモリーに対して複数のコアが一つのメモリーコントローラーを介してアクセスする。
この場合、処理の効率化の観点から、複数のコアによるフラッシュメモリーへのアクセスに対する排他制御が必要となる。
しかし、一つのメモリーコントローラーを介して一つのフラッシュメモリーにアクセスする場合は、同時に複数のコアがフラッシュメモリーにアクセスできないので、通常の排他制御を単純に適用することはできない。
これに対し、特許文献1には、複数のCPU間での排他制御を考慮する必要がなく、簡単な制御で、不揮発性メモリの消去動作を実施するものが開示されている。
しかし、この技術は、複数のフラッシュメモリー及び複数のメモリーコントローラーが必要となり、コスト高や構造が煩雑化するといった問題がある。
特開2011−159070号公報
発明が解決しようとする課題は、排他制御を考慮しない場合に、処理の効率化を図るとメモリー数が増加する点である。
本発明は、排他制御を考慮しない場合でもメモリー数の増加を抑制しながら処理の効率化を図るため、異なる演算処理が可能な複数の演算部と、前記複数の演算部からアクセス可能な共有領域を有する第1メモリーと、前記複数の演算部の内の何れか一つがアクセス可能な第2メモリーとを備え、前記一の演算部は、前記第2メモリーへのアクセスにより、必要なデータを読み込んで処理を実行すると共に前記処理とは分離した他の処理に必要なデータを読み込んで前記第1メモリーに保持させることを最も主要な特徴とする。
本発明によれば、他の演算部が第2メモリーへアクセスしている間も、一の演算部が第1メモリー内に保持したデータによって処理を実行することができ、排他制御を考慮しない場合でもメモリー数の増加を抑制しながら処理の効率化を図ることができる。
画像形成装置の概略構成を示すブロック図である(実施例1)。 図1の画像形成装置に適用されるメモリーアクセス制御システムを示すブロックである(実施例1)。 図2のメモリーアクセス制御システムによるパネルアプリケーションプログラムの読み込みを示す概念図である(実施例1)。 図2のメモリーアクセス制御システムによるデータの読み込みを示す概念図である(実施例1)。 図2のメモリーアクセス制御システムによるブート処理を示すシーケンス図である(実施例1)。 変形例に係るメモリーアクセス制御システムによるブート処理を示すシーケンス図である(実施例1)。 画像形成装置に適用されたメモリーアクセス制御システムを示すブロック図である(実施例2)。 図7のメモリーアクセス制御システムの第1コア及び第2コアとRAMとの関係を示す概念図である(実施例2)。 図7のメモリーアクセス制御システムによるメモリー排他制御時の概念図である(実施例2)。 図7のメモリーアクセス制御システムによるメモリー排他制御を示すフローチャートである(実施例2)。
排他制御を考慮しない場合でもメモリー数の増加を抑制しながら処理の効率化を図るという目的を、複数の演算部の一つがアクセス可能な第2メモリーに対し、一の演算部がアクセスした際に必要なデータを読み込んで処理を実行すると共にその処理とは分離した他の処理に必要なデータを読み込んで第1メモリーに保持させることで実現した。
[画像形成装置]
図1は、画像形成装置の概略構成を示すブロック図である。
図1の画像形成装置1は、例えばコピー機、プリンター、それらの複合機からなり、画像形成部3とパネル表示部5とを備えている。画像形成部3は、入力されたデータに基づいて用紙上へ画像形成を行うものである。パネル表示部5は、タッチパネル式の液晶画面等からなり、画像形成装置1に対する操作入力や操作状態の表示を行う。
この画像形成装置1では、主制御部7、主記憶部9、デバイス制御部11等を備え、画像形成部3及びパネル表示部5が並列制御される構成となっている。
主制御部7は、例えばSoC(System-on-a-chip)として構成され、同一の半導体チップ上にプロセッサー13と、拡張バスコントローラー15と、ローカルバスコントローラー17と、RAMコントローラー19とを搭載し、各部がシステムバス21によって接続されている。
プロセッサー13は、マルチコアプロセッサーからなり、複数の演算部である第1コア23及び第2コア25を備えている。第1コア23は、プログラムの実行により、パネル表示部5を制御するパネルコントローラーシステムを構成する。第2コア25は、プログラムの実行により、主として画像形成部3を制御するメインコントローラーシステムを構成する。
拡張バスコントローラー15は、PCIe(Peripheral Component Interconnect Express)コントローラーであり、デバイス制御部11に対するルートコンプレックスを構成してデータの入出力を行う。
ローカルバスコントローラー17は、ローカルバスを制御するコントローラーであり、NANDコントローラー27を有する。NANDコントローラー27は、NANDフラッシュ29に対するデータの読み書きを行うNAND型用のメモリーコントローラーである。
RAMコントローラー19は、DDR−SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)コントローラーからなり、RAM(Read only Memory)31に対するデータの入出力を行うDDR−SDRAM用のメモリーコントローラーである。
主記憶部9は、第1メモリーであるNANDフラッシュ29、第2メモリーであるRAM31を備えている。
NANDフラッシュ29は、NAND型のフラッシュメモリーであり、画像形成装置1の各種の制御用プログラム等を保持している。このNANDフラッシュ29には、NANDコントローラー27を介して単一のコアのみがアクセス可能となっている。つまり、NANDフラッシュ29は、複数のコアが同時にアクセスできないようになっている。
NANDフラッシュ29には、パネルコントローラーシステム及びメインコントローラーシステムのプログラムとして、起動用のブートローダー、パネルコントローラーオペレーティングシステム(以下、「パネルコントローラーOS」と称する)、パネルアプリケーション(以下、「パネルアプリ」と称する)、メインコントローラーオペレーティングシステム(以下、「メインコントローラーOS」と称する)、メインアプリケーション(以下、「メインアプリ」と称する)等が保持されている。
RAM31は、DDR−SDRAMからなり、プログラムや各種データを一時的に記憶して作業領域等として用いられる。
デバイス制御部11は、ASIC(Application Specific Integrated Circuit)として構成され、拡張バスインターフェース33と、パネルコントローラー35と、ビデオコントローラー37とを備えている。
拡張バスインターフェース33は、PCIeバスインターフェースであり、主制御部7側の拡張バスコントローラー15に対するエンドポイントとなってデータの入出力を行う。
パネルコントローラー35は、パネルコントローラーシステムの制御によって、入力されたデータに基づくパネル表示部5に対する実際の制御を行う。ビデオコントローラー37は、メインコントローラーシステムの制御によって、入力されたデータに基づく画像形成部3に対する実際の制御を行う。
このように本実施例の画像形成装置1では、第1コア23及び第2コア25がパネルコントローラーシステム及びメインコントローラーシステムを構成することで、パネル表示部5及び画像形成部3を並列制御することができる。
[メモリーアクセス制御システム]
図2は、図1の画像形成装置に適用されるメモリーアクセス制御システムを示すブロック図である。
図2のメモリーアクセス制御システム39は、上述の並列制御やシステム起動時のブート処理において、第1コア23及び第2コア25の主記憶部9のNANDフラッシュ29に対するメモリーアクセス制御を行う。本実施例では、ブート処理でのメモリーアクセス制御について説明する。
第1コア23は、上述のようにパネルコントローラーシステム43を構成し、パネル表示部5の制御に必要な各種のパネルアプリ45をパネルコントローラーOS47上で動作させる。このパネルコントローラーOS47は、NANDフラッシュ29に対する制御を行うデバイスドライバー49を備える。
第2コア25は、上述のようにメインコントローラーシステム51を構成し、画像形成部3の制御に必要な各種のメインアプリ53をメインコントローラーOS55上で動作させる。メインコントローラーOS55も、パネルコントローラーOS47と同様、NANDフラッシュ29に対する制御を行うデバイスドライバー57を備える。
これらのパネルコントローラーOS47及びメインコントローラーOS55は、画像形成装置1のシステム起動時のブートローダー69によるブート処理を通じて起動が行われる。
ブートローダー69は、第1コア23がNANDフラッシュ29内等のプログラムを実行することで構成され、NANDフラッシュ29に対する制御を行うデバイスドライバー71を備える。
このデバイスドライバー71を通じ、ブートローダー69は、パネルコントローラーOS47及びメインコントローラーOS55の起動に必要なパネル起動用プログラム及びメイン起動用プログラムをNANDフラッシュ29からRAM31上に読み込む。このとき、ブートローダー69は、パネルアプリ45もパネル起動用プログラムと共にRAM31上に読み込む。このパネルアプリ45の読み込みの概念図を図3に示す。
なお、パネル起動用プログラムは、パネルコントローラーOSの一部としてのパネルカーネルプログラム及びパネルデバイスツリープログラム等であり、メイン起動用プログラムは、メインコントローラーOSの一部としてのメインカーネルプログラム及びメインデバイスツリープログラム等である(図5参照)。
ブートローダー69は、第1コア23及び第2コア25に対し、読み込んだパネル起動用プログラム及びメイン起動用プログラムによってパネルコントローラーOS47及びメインコントローラーOS55の起動を行わせる。
この起動としては、第1コア23及び第2コア25がパネルコントローラーOS47及びメインコントローラーOS55の初期化を行ってからパネルアプリ45及びメインアプリ53の読み込みを行う。パネルアプリ45は、RAM31上から読み込まれ、メインアプリ53は、NANDフラッシュ29から読み込まれる。
図4は、RAM及びNANDフラッシュに対する読み込みを示す概念図である。
第1コア23は、起動したパネルコントローラーOS47によりRAM31に対するデバイスドライバー49を備え、RAM31をパネルアプリ45のRAMディスクとして使用する。
具体的には、第1コア23は、デバイスドライバー49の制御を通じ、RAM31内のパネルアプリ45を同RAM31のパネルOSHeap73上に読み込んで実行する。これにより、パネルアプリ45の読み込みに際してNANDフラッシュ29へのアクセスを省略できる。
すなわち、パネルコントローラーOS47でのデマンドページングによるNANDアクセスを無くし、メインコントローラOS55にNAND排他待ちが発生しないようにする。
この結果、本実施例では、パネルアプリ45の読み込みが、第2コア25でのメインコントローラーOS55の初期化と並行して行われる(図5参照)。
第2コア25は、起動したメインコントローラーOS55によりNANDフラッシュ29に対するデバイスドライバー57を備え、NANDフラッシュ29にアクセスしてメインアプリ53等の処理に必要なデータをRAM31上のメインOSHeap75に読み込んで実行する。
図5は、図2のブートローダーによるブート処理を示すシーケンス図である。
図5のように、第1コア23上で実行されたブートローダー69は、まずメイン起動用プログラムであるメインカーネルプログラム、メインデバイスツリープログラムを順次読み込む(SQ1及びSQ2)。
次いで、ブートローダー69は、図3で説明したようにパネルアプリ45をRAM31上に読み込んで保持しておく(SQ3)。
次いで、ブートローダー69は、パネル起動用プログラムであるパネルカーネルプログラム、パネルデバイスツリープログラムを順次読み込む(SQ4及びSQ5)。
こうしてメイン起動用プログラムとパネル起動用プログラムの読み込みが完了すると、第2コア25上でメインコントローラーOS55を起動させると共に第1コア23A上でパネルコントローラーOS47にジャンプして起動させる(SQ6及びSQ7)。
これにより、第1コア23は、パネルコントローラーOS47の初期化を行い、第2コア25は、メインコントローラーOS55の初期化を行う(SQ8及びSQ9)。
パネルコントローラー35の初期化後は、上述のようにメインコントローラーOS55の初期化と並列して、第1コア23がRAM31内のパネルアプリ45をRAM31のパネルOSHeap73上に読み込んで実行する(図4参照)。
一方、第2コア25は、メインコントローラーOS55の初期化後に上述のようにNANDフラッシュ29にアクセスしてメインアプリ53等の処理に必要なデータをRAM31上に読み込んで実行する(SQ10及び図4参照)。
[実施例1の効果]
本実施例のメモリーアクセス制御システム39では、異なる演算処理が可能な第1コア23及び第2コア25と、第1コア23及び第2コア25からアクセス可能な共有領域63を有するRAM31と、第1コア23及び第2コア25の内の何れか一つがアクセス可能なNANDフラッシュ29とを備え、第1コア23がNANDフラッシュ29へアクセスし、必要なデータ(パネル起動用プログラム)を読み込んで処理を実行すると共に処理とは分離した他の処理に必要なデータ(パネルアプリ45)を読み込んでRAM31に保持させる。
このため、本実施例では、第2コア25がNANDフラッシュ29へアクセスしている間も、第1コア23がRAM31内に保持したデータによって処理を実行することができる。
結果として、本実施例では、排他制御を考慮しない場合でも、効率良くNANDフラッシュ29を使用でき、各コアの待ち時間等も減少することができ、メモリー数の増加を抑制しながら処理の効率化を図ることができる。
本実施例のメモリーアクセス制御システム39では、第1コア23Aがブートローダー69として機能してNANDフラッシュ29へアクセスし、パネルコントローラーOS47及びメインコントローラーOS55に必要なパネル側及びメイン起動用プログラムを読み込んで起動処理を実行すると共に起動処理とは分離した処理に必要なパネルアプリ45を読み込んでRAM31に保持させる。
このため、本実施例では、パネルコントローラーOS47及びメインコントローラーOS55の起動処理においても、効率の良いNANDフラッシュ29の使用並びに各コアの待ち時間の減少を図ることができ、メモリー数の増加を抑制しながら処理の効率化を図ることができる。結果として、起動時間の短縮効果もある。
特に、本実施例では、パネルアプリ45のRAM31からの読み込みを、第2コア25によるメインコントローラーOS55の初期化と並行して行うことができるので、より確実に効率の良いNANDフラッシュ29の使用、各コアの待ち時間等の減少、並びに起動時間の短縮を図ることが可能となる。
[変形例]
図5のシーケンスは、図6のように変更することも可能である。図6は、変形例に係るブートローダーによるブート処理を示すシーケンス図である。
本変形例では、図6のように、パネルアプリ45及びパネル起動用プログラムの読み込みに並行してメインコントローラーOS55の初期化を行わせる。
すなわち、メイン起動用プログラムであるメインカーネルプログラム、メインデバイスツリープログラムを順次読み込むと(SQ1及びSQ2)、メインコントローラーOS55の起動を行う(SQ6)。
第2コア25上でメインコントローラーOS55の初期化が行われると(SQ9)、これと並行してパネルアプリ45及びパネル起動用プログラムの読み込みが行われる(SQ3〜SQ5)。
メインコントローラーOS55の初期化は、カーネル、各デバイスドライバーの初期化処理が多く実行されるため、NANDフラッシュ29にアクセスしていない非アクセス時間も多く存在する。
この非アクセス時間を利用して、第1コア23上のブートローダー69は、パネルアプリ45及びパネル起動用プログラムをNANDフラッシュ29から効率的に読み込むことができる。
こうしてメインコントローラーOS55の初期化が完了すると、第2コア25は、メインアプリ53の読み込みを行う(SQ10)。一方、第1コア23は、パネルコントローラーOS47にジャンプして起動させ(SQ7)、パネルコントローラーOS47の初期化を行う(SQ8)。
かかる変形例では、第1コア23がブートローダー69によりメインコントローラーOS55及びパネルコントローラーOS47の起動用プログラムを順次読み込んで起動処理を行わせ、第2コア25が少なくとも第1コア23でのパネルコントローラーOS47の起動用プログラムの読み込みに並行してメインコントローラーOS55の起動処理を行う。
従って、全てのプログラムを読み込んだ後にメイン及びパネル双方のOS47及び55を起動する場合と比較して、メインコントローラOS55の起動待ちによる時間のロスを無くすことができる。
すなわち、変形例では、メインコントローラーOS55の起動処理、特に初期化のための非アクセス時間を利用して、第1コア23上のブートローダー69がパネル起動用プログラムをNANDフラッシュ29から効率的に読み込むことができる。
その他、変形例においても、上述の実施例1と同様の作用効果を奏することができる。
図7は、画像形成装置に適用されるメモリーアクセス制御システムを示すブロック図、図8は、図7のメモリーアクセス制御システムの第1コア及び第2コアとRAMとの関係を示す概念図、図9は、図7のメモリーアクセス制御システムによるメモリー排他制御時の概念図である。なお、本実施例では、上記実施例1と基本構成が共通するため、対応する構成部分に同符号又は同符号にAを付加したものを用いて重複した説明を省略する。
本実施例は、第1コア23及び第2コア25のNANDフラッシュ29へのアクセスに対する排他制御を併用したものである。なお、本実施例の排他制御は、パネルコントローラーシステム43A及びメインコントローラーシステム51Aの並列制御に適用した場合について説明するが、実施例1のブート処理にも適用することが可能である。
メモリーアクセス制御システム39Aは、図7〜図9のように、主記憶部9AのRAM31Aに排他フラグ41を保持し、排他フラグ41を取得した第1コア23及び第2コア25の何れか一方のみが主記憶部9AのNANDフラッシュ29にアクセス可能となる排他制御を行う。
第1コア23及び第2コア25は、パネルコントローラーOS47A及びメインコントローラーOS55Aのデバイスドライバー49A,57Aを通じ、スピンロックによってRAM31A内の排他フラグ41を取得する。
RAM31Aは、パネルコントローラーOS47A用のパネルOS領域59、メインコントローラーOS55A用のメインOS領域61、パネルコントローラーOS47A及びメインコントローラーOS55Aの共有領域63がマッピングにより割り当てられている(図7及び図8)。このRAM31Aの共有領域63内に排他フラグ41が保持されている。
排他フラグ41は、第1コア23及び第2コア25の一方が取得すると同他方から取得不能となる。具体的には、第1コア23及び第2コア25は、RAM31Aの共有領域63内の排他フラグ41が取得可能か否かを監視する。取得可能な場合は、図9の第2コア25のように排他フラグ41を取得して、取得不能な場合は、図9の第1コア23のようにビジーウェイト状態となってループによる排他フラグ41の監視を続ける。
なお、本実施例では、第1コア23及び第2コア25がそれぞれキャッシュ65,67を有し、キャッシュ65,67の値によってビジーウェイト状態での排他フラグ41に対する監視を行う。このため、キャッシュ65,67とRAM31Aとの間では、コヒーレンシーを合わせる、つまりデータ内容を一致させる必要がある。これは、キャッシュ65,67のフラッシュやインバリデート処理等によって行うことができる。
排他フラグ41の取得は、例えばRead-Modify-Writeにより、排他フラグ41が「0」になった瞬間に「1」を書き込んで取得を確保した後、排他フラグ41を「0」を書き込むことで開放する等のようになる。この排他フラグ41の取得はAtomic操作(不可分操作)によって行われ、排他フラグ情報をRead後、Writeまでの間に、他方のコアからのWriteによる不整合を抑制する。
排他フラグ41を取得した第1コア23及び第2コア25の一方は、NANDフラッシュ29に対するアクセスが可能となる。図9の例では、排他フラグ41を取得した第2コア25がNANDフラッシュ29にアクセスすることができる。
[メモリー排他制御]
以下、本実施例のメモリー排他制御について図10のフローチャートにより説明する。図10のフローチャートは、図7のメモリーアクセス制御システムによるメモリー排他制御を示す。なお、画像形成装置1及びメモリーアクセス制御システム39Aの構成については図1、図7〜図9を参照する。
メモリー排他制御では、まずステップS1において「RAMへのアクセス」が行われる。第1コア23(パネルコントローラーOS47)又は第2コア25(メインコントローラーOS55)は、自身のデバイスドライバー49A又は57Aの制御を通じてRAM31Aの共有領域63にアクセスする。これによりステップS1が完了してステップS2へ移行する。
ステップS2では、「排他フラグ取得可能?」の処理が行われる。この処理では、第1コア23又は第2コア25がRAM31Aの共有領域63内の排他フラグ41が取得可能か否かを判断する。
図9の例では、第2コア25の場合に排他フラグ41が取得可能であり、第1コア23の場合に排他フラグ41が取得不能となっている。
排他フラグ41が取得可能な場合はステップS3へ移行し(YES)、取得不能な場合はステップS2の処理を繰り返す(NO)。なお、ステップS2を再度行う場合は、ビジーウェイト状態となっているから、第1コア23又は第2コア25がキャッシュ65又は67に対してループによる排他フラグ41の監視を続ける。
ステップS3では、「排他フラグ取得」が行われる。すなわち、第1コア23及び第2コア25の一方は、RAM31Aの共有領域63内の排他フラグ41の取得を行う。この取得により、第1コア23及び第2コア25の他方は、排他フラグ41の取得が不能となる。
図9の例では、第2コア25が排他フラグ41の取得を行い、ステップS2で説明したように第1コア23が排他フラグ41を取得不能となる。
こうしてステップS3が完了してステップS4へ移行する。
ステップS4では、「NANDフラッシュへのアクセス」が行われる。すなわち、排他フラグ41を取得した第1コア23及び第2コア25の一方は、NANDコントローラー27(図1)を介してNANDフラッシュ29にアクセスする。これにより、第1コア23及び第2コア25の一方は、NANDフラッシュ29に対するデータの読み書きを行うことができる。図9の例では、第2コア25がNANDフラッシュ29にアクセスしてデータの読み書きを行うことになる。
こうしてステップS4が完了してステップS5へ移行する。
ステップS5では、「排他フラグの開放」を行う。第1コア23及び第2コア25の一方は、NANDフラッシュ29へのアクセスが終了するとRAM31Aの共有領域63内の排他フラグ41を開放する。これにより、第1コア23及び第2コア25の他方が排他フラグ41を取得できるようになる。図9の例では、ビジーウェイト状態であった第1コア23が排他フラグ41を取得可能となる。
[実施例2の効果]
本実施例のメモリーアクセス制御システム39Aは、RAM31が共有領域63に第1コア23及び第2コア25の何れか一方が取得すると同他方から取得不能となる排他フラグ41を保持し、排他フラグ41を取得した第1コア23及び第2コア25の何れか一方のみがNANDフラッシュ29にアクセスする。
従って、本実施例では、複数のコアが同時にアクセスできないNANDフラッシュ29に対する排他制御を簡単且つ確実に行うことが可能となる。これにより、より効率よくNANDフラッシュ29を使用でき、各コアの待ち時間等も減少することができる。
本実施例の排他制御を実施例1のブート処理に採用する場合は、図4のように第1コア23がRAM31A内のパネルアプリ45を同RAM31AのパネルOSHeap73上に読み込んで実行する際などに有利である。
第1コア23は、NANDフラッシュ29へのアクセスを行わずにRAM31A内のパネルアプリ45を読み込んで実行するが、NANDフラッシュ29へアクセスして書き込みを行うこともある。
この書き込み時に、第1コア23が排他フラグ41を監視して上述の排他制御を行うことで、効率よくNANDフラッシュ29を使用でき、各コアの待ち時間等も減少し、起動時間の短縮を図ることが可能となる。
また、本実施例の排他制御を実施例1の図6のシーケンスに採用する場合は、第2コア25上でのメインコントローラーOS55の初期化を行い(SQ9)、これと並行して第1コア23上でパネルアプリ45及びパネル起動用プログラムの読み込みを行う(SQ3〜SQ5)際などに有利である。
第1コア23上のブートローダー69は、上述のように第2コア25上でのメインコントローラーOS55の初期化時に、NANDフラッシュ29への非アクセス時間を利用してパネルアプリ45及びパネル起動用プログラムをNANDフラッシュ29から読み込む。
この際、ブートローダー69とメインコントローラーOS55との間で排他フラグ41を監視する上述の排他制御を行うことで、NANDフラッシュ29の非アクセス時間を効率的に利用することができる。従って、効率よくNANDフラッシュ29を使用でき、各コアの待ち時間等も減少し、起動時間の短縮を図ることが可能となる。
[その他]
上記実施例では、プロセッサー13を、単一のマルチコアプロセッサーとしていたが、例えば複数のシングルコアプロセッサーやマルチコアプロセッサーを適宜組み合わせた構成とすることも可能である。
1 画像形成装置
3 画像形成部
5 パネル表示部
23 第1コア(演算部)
25 第2コア(演算部)
29 フラッシュメモリー(第2メモリー)
31 RAM(第1メモリー)
41 排他フラグ
47 パネルコントローラーオペレーティングシステム(第1オペレーティングシステム)
55 メインコントローラーオペレーティングシステム(第2オペレーティングシステム)
63 共有領域
69 ブートローダー

Claims (6)

  1. 異なる演算処理が可能な複数の演算部と、
    前記複数の演算部からアクセス可能な共有領域を有する第1メモリーと、
    前記複数の演算部の内の何れか一つがアクセス可能な第2メモリーとを備え、
    一の演算部は、前記第2メモリーへのアクセスにより、必要なデータを読み込んで処理を実行すると共に前記処理とは分離した他の処理に必要なデータを読み込んで前記第1メモリーに保持させる、
    ことを特徴とするメモリーアクセス制御システム。
  2. 請求項1記載のメモリーアクセス制御システムであって、
    前記一の演算部は、他の演算部が前記第2メモリーへアクセスしている間に前記第1メモリーに保持したデータによる処理を行う、
    ことを特徴とするメモリーアクセス制御システム。
  3. 請求項1又は2記載のメモリーアクセス制御システムであって、
    前記複数の演算部は、ブートローダー及び第1オペレーティングシステムを実行する第1演算部と前記第1オペレーティングシステムとは異なる第2オペレーティングシステムを実行する第2演算部であり、
    前記第1演算部は、前記ブートローダーの実行により前記第2メモリーにアクセスして、前記第1及び第2オペレーティングシステムの起動用プログラムを読み込んで起動処理を実行させると共に前記第1オペレーティングシステム上で動作するアプリケーションプログラムを読み込んで前記第1メモリーに保持させる、
    ことを特徴とするメモリーアクセス制御システム。
  4. 請求項3記載のメモリーアクセス制御システムであって、
    前記第1演算部は、前記ブートローダーにより前記第2オペレーティングシステム及び第1オペレーティングシステムの起動用プログラムを順次読み込んで起動処理を行わせ、
    前記第2演算部は、少なくとも前記第1演算部での前記第1オペレーティングシステムの起動用プログラムの読み込みに並行して前記第2オペレーティングシステムの起動処理を行う、
    ことを特徴とするメモリーアクセス制御システム。
  5. 請求項1〜4の何れか一項に記載のメモリーアクセス制御システムであって、
    前記第1メモリーは、前記共有領域に一の演算部が取得すると他の演算部から取得不能となる排他フラグを保持し、
    前記複数の演算部は、前記排他フラグを取得した前記一の演算部のみが前記第2メモリーにアクセスする、
    ことを特徴とするメモリーアクセス制御システム。
  6. 請求項1〜5の何れか一項に記載のメモリーアクセス制御システムを有する画像形成装置。
JP2013093014A 2013-04-25 2013-04-25 メモリーアクセス制御システム及び画像形成装置 Active JP5824472B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013093014A JP5824472B2 (ja) 2013-04-25 2013-04-25 メモリーアクセス制御システム及び画像形成装置
EP14165005.1A EP2796992B1 (en) 2013-04-25 2014-04-16 Memory access control performing efficient concurrent access to different kinds of memory by a plurality of cpu cores during booting and initialisation of cpu cores
CN201410152862.6A CN104123248B (zh) 2013-04-25 2014-04-16 存储器访问控制系统、图像形成装置、存储器访问控制方法
US14/258,103 US9430249B2 (en) 2013-04-25 2014-04-22 Image forming apparatus, memory access control method, and non-transitory computer-readable recording medium that perform efficient memory access control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013093014A JP5824472B2 (ja) 2013-04-25 2013-04-25 メモリーアクセス制御システム及び画像形成装置

Publications (2)

Publication Number Publication Date
JP2014215833A true JP2014215833A (ja) 2014-11-17
JP5824472B2 JP5824472B2 (ja) 2015-11-25

Family

ID=50513733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013093014A Active JP5824472B2 (ja) 2013-04-25 2013-04-25 メモリーアクセス制御システム及び画像形成装置

Country Status (4)

Country Link
US (1) US9430249B2 (ja)
EP (1) EP2796992B1 (ja)
JP (1) JP5824472B2 (ja)
CN (1) CN104123248B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018063646A (ja) * 2016-10-14 2018-04-19 Necプラットフォームズ株式会社 フラッシュメモリ装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6455353B2 (ja) * 2015-07-23 2019-01-23 富士通株式会社 並列計算機、並列計算機の初期化方法および起動プログラム
CN109313426B (zh) * 2016-10-21 2021-10-08 株式会社东芝 控制器
US10802750B2 (en) * 2019-02-28 2020-10-13 Silicon Motion Inc. Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module
US11775219B2 (en) * 2022-01-14 2023-10-03 Hewlett-Packard Development Company, L.P. Access control structure for shared memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437464A (en) * 1991-08-30 1995-08-01 Kabushiki Kaisha Sega Enterprises Data reading and image processing system for CD-ROM
US7334102B1 (en) * 2003-05-09 2008-02-19 Advanced Micro Devices, Inc. Apparatus and method for balanced spinlock support in NUMA systems
JP4568196B2 (ja) * 2005-09-01 2010-10-27 株式会社東芝 プロセッサ、コンピュータシステムおよび認証方法
KR101275752B1 (ko) * 2005-12-06 2013-06-17 삼성전자주식회사 메모리 시스템 및 그것의 부팅 방법
US7447846B2 (en) * 2006-04-12 2008-11-04 Mediatek Inc. Non-volatile memory sharing apparatus for multiple processors and method thereof
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
JP4746699B1 (ja) 2010-01-29 2011-08-10 株式会社東芝 半導体記憶装置及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018063646A (ja) * 2016-10-14 2018-04-19 Necプラットフォームズ株式会社 フラッシュメモリ装置

Also Published As

Publication number Publication date
EP2796992A1 (en) 2014-10-29
EP2796992B1 (en) 2016-09-14
JP5824472B2 (ja) 2015-11-25
CN104123248B (zh) 2017-06-09
CN104123248A (zh) 2014-10-29
US20140325200A1 (en) 2014-10-30
US9430249B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
US10706496B2 (en) Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor
JP6089349B2 (ja) マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
JP5801372B2 (ja) システム管理モードのためのプロセッサにおける状態記憶の提供
JP5824472B2 (ja) メモリーアクセス制御システム及び画像形成装置
JP6399916B2 (ja) 情報処理装置およびその制御方法
JP2016508647A5 (ja)
US11768691B2 (en) Boot process for early display initialization and visualization
CN109313604B (zh) 用于压缩虚拟存储器的动态配置的计算系统、装置和方法
WO2020177577A1 (zh) 一种控制器加载多核固件的方法、装置及计算机设备
JP2009296195A (ja) 複数のcpuコアを備えたfpgaを用いた暗号装置
JP5710424B2 (ja) 情報機器
US20090077348A1 (en) Providing a dedicated communication path for compliant sequencers
US20220318053A1 (en) Method of supporting persistence and computing device
JP5899152B2 (ja) メモリーアクセス制御システム及び画像形成装置
US10810032B2 (en) System and method for dynamic guest-controlled halt polling using a CPU governor
JP6018537B2 (ja) 画像形成装置
TW200933385A (en) Microcontroller having dual-core architecture
JP2010003151A (ja) データ処理装置
US10180789B2 (en) Software control of state sets
JP2007157060A (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150318

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150528

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150821

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: 20150915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151009

R150 Certificate of patent or registration of utility model

Ref document number: 5824472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150