JP2008276284A - Ram制御回路及び情報処理装置 - Google Patents

Ram制御回路及び情報処理装置 Download PDF

Info

Publication number
JP2008276284A
JP2008276284A JP2007115565A JP2007115565A JP2008276284A JP 2008276284 A JP2008276284 A JP 2008276284A JP 2007115565 A JP2007115565 A JP 2007115565A JP 2007115565 A JP2007115565 A JP 2007115565A JP 2008276284 A JP2008276284 A JP 2008276284A
Authority
JP
Japan
Prior art keywords
ram
address
register
control circuit
dma
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.)
Withdrawn
Application number
JP2007115565A
Other languages
English (en)
Inventor
Toshimitsu Takagi
俊光 高木
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007115565A priority Critical patent/JP2008276284A/ja
Publication of JP2008276284A publication Critical patent/JP2008276284A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】CPU内のキャッシュメモリがより有効に利用される情報処理装置を、提供する。
【解決手段】RAMへのDMAライトアクセスを各種DMA回路が用いられている情報処理装置(プリンタ等)に、“各DMA回路によってデータが書き込まれたRAMのアドレスの最小値、最大値を、それぞれ、MINAddrレジスタ23L,MAXAddrレジスタ23Hに記憶する処理”を実行可能なレジスタ制御回路22を備えたRAM制御回路20を、搭載しておく。
【選択図】図2

Description

本発明は、RAMを、RAMへのDMAライトアクセスを行う複数のDMA回路,及び,キャッシュメモリを内蔵したCPUとに利用させるためのRAM制御回路と、そのようなRAM制御回路を備えた情報処理装置とに、関する。
近年の一般的な情報処理装置(コンピュータ,プリンタ)は、RAMへのDMAライトアクセスを行う幾つかの回路(受信したデータをRAM上にDMA転送する通信インタフェース回路等)を備えた装置となっているが、RAMの或るアドレスのデータがDMAによって書き込まれたにも拘わらず、そのアドレスのデータが,CPU内のキャッシュメモリ上に残っていると、そのアドレスのデータとして、キャッシュメモリ上のデータが使用されてしまうことになる。このため、RAMへのDMAライトアクセスが行われる情報処理装置は、キャッシュメモリ上の,DMAにより書き換えられている可能性があるデータを無効化する処理(以下、キャッシュ無効化処理と表記する)が,随時(必要な時に),行われるように構成された装置(例えば、特許文献1〜3参照)となっている。
そして、そのように構成された装置であるが故に、既存の情報処理装置は、正常に動作するものとなっているのであるが、既存の情報処理装置にて行われているキャッシュ無効化処理は、いずれも、RAM上の或る範囲内の,一部のアドレスのデータが書き換えられたときに、そのアドレス範囲に関するキャッシュメモリ上のデータが全て無効化されるものとなっている。しかも、キャッシュ無効化処理は,その完了に或る程度の時間が必要とされる処理(処理時間が“0”と見なせない処理)であるため、既存の,DMAライトアクセスが比較的に頻繁に行われる情報処理装置(プリンタ等)は、CPU内のキャッシュメモリが、処理速度の向上にあまり役に立っていない装置となっている。
特開平5−216759号公報 特開平5−241961号公報 特開2001−56782号公報
そこで、本発明の課題は、DMAライトアクセスが比較的に頻繁に行われるタイプ(RAMへのDMAライトアクセスを行う複数のDMA回路を備えたタイプ)の,CPU内のキャッシュメモリがより有効に利用されている情報処理装置と、そのような情報処理装置を製造できるRAM制御回路とを、提供することにある。
上記課題を解決するために、本発明の、“RAMを、RAMへのDMAライトアクセスを行う複数のDMA回路,及び,キャッシュメモリを内蔵したCPUとに利用させるために、RAMと複数のDMA回路とCPUとに接続されるRAM制御回路”は、最小アドレスを記憶しておくための最小アドレスレジスタと、最大アドレスを記憶しておくための最大アドレスレジスタと、各DMA回路によってデータが書き込まれたRAMのアドレスの最小値、最大値を、それぞれ、最小アドレスレジスタ、最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路とを備える。
すなわち、本発明のRAM制御回路は、一定期間(レジスタ制御回路を動作させた後、最小/最大アドレスレジスタの値を読み出すまで)の間に、幾つかのDMA回路によってデータが書き込まれたRAMのアドレスの最小値,最大値が,それぞれ,最小アドレス(最小アドレスレジスタの値),最大アドレス(最大アドレスレジスタの値)として記憶される回路となっている。
このため、このRAM制御回路を用いることにより、CPUが、『RAM制御回路内のレジスタ制御回路を機能させることにより最小アドレスレジスタ,最大アドレスレジスタに,それぞれ,記憶された最小アドレス,最大アドレスを参照することにより、これからアクセスしようとしているRAMのアドレスが,レジスタ制御回路を機能させた後にいずれかのDMA回路によってデータが書き換えられている可能性があるアドレスであるか否かを判断し、そうでなかった場合には、キャッシュメモリ上のいずれのデータも無効化することなくRAMアクセスを行い。そうであった場合には、キャッシュメモリ上の上の最小アドレス〜最大アドレスに関するデータを無効化してからRAMアクセスを行う処理』を随時(必要なときに)行う装置(請求項3記載の情報処理装置)を構成しておけば、DMAライトアクセスが比較的に頻繁に行われるタイプ(RAMへのDMAライトアクセスを行う複数のDMA回路を備えたタイプ)の,CPU内のキャッシュメモリがより有効に利用されている情報処理装置を実現できることになる。
何故ならば、そのように構成した情報処理装置は、上記処理の間に,1個のDMA回路によるDMAライトアクセスが1回だけ行われた場合には、キャッシュメモリ上の,実際に書き換えられているデータのみが無効化される装置として機能することになり、上記処理の間に,幾つかのDMA回路による複数回のDMAライトアクセスが行われた場合には、キャッシュメモリ上の,実際には書き換えられているデータが無効化されることはあるが、キャッシュメモリの無効化処理が行われる回数がより少ない装置として機能することになるからである。
なお、本発明のRAM制御回路は、DMAライトアクセスのタイミングや最小/最大アドレスレジスタの更新タイミングを管理できるようにするために、ペンディング指示が入力された場合、ペンディング解除指示が入力されるまでの間、複数のDMA回路によるRAMへのDMAライトアクセスを中断させる機能を付与した形で実現することが出来る。
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
図1に 本発明の一実施形態に係る情報処理装置10の構成を示す。
図示してあるように 本発明の一実施形態に係る情報処理装置10は、CPU,接続制御回路12,RAM,印刷エンジン,スキャナ,IOコントローラ,ROM,複数のホストインタフェース回路(図では、“ホストI/F”)を備えた装置(いわゆるマルチファンクションプリンタ)である。なお、本情報処理装置10に用いられているCPUは、キャッシュメモリを内蔵した、キャッシュメモリ上のデータをアドレスを指定した形で無効化できるもの(通常のCPU)となっている。
接続制御回路12は、CPUの負荷を軽くするために(CPUを拘束しない形で各種の処理を行えるようにするために)、情報処理装置10に搭載されているASICである。この接続制御回路12内のRAM制御回路20を除いた各回路は、既存の接続制御回路にも設けられている回路となっている。このため、各回路の詳細説明は省略するが、接続制御回路12内の画像処理回路,スキャンデータ変換回路,IO−I/Fは、RAMに対するDMAライトアクセスを行うことがある回路(以下、DMA回路と表記する)となっている。
図2に 本実施形態に係る接続制御回路12内のRAM制御回路20の構成を示す。
図示してあるように、接続制御回路12内のRAM制御回路20は、アドレス保持on/offレジスタ21,レジスタ制御回路22,MINAddrレジスタ23L,MAXAddrレジスタ23H,2つの比較器24L及び24H,DMAWaitレジスタ25,RAMアクセス調停回路26,RAMアクセス回路27を備えた回路となっている。
このRAM制御回路20内のRAMアクセス調停回路26,RAMアクセス回路27は、それぞれ,既存のRAM制御回路内のRAMアクセス調停回路,RAMアクセス回路を改良した回路(基本的な機能は同じ回路;改良点については後述する。)である。一方、RAM制御回路20内の他の各デバイス(レジスタ,回路)は、既存のRAM制御回路内に,対応するものが存在しないデバイスである。これらのデバイスは、以下の機能を有するものとなっている。
MINAddrレジスタ23L,MAXAddrレジスタ23Hは、それぞれ、最小アドレス,最大アドレス(いずれも、RAMのアドレス;詳細は後述)を記憶しておくためのレジスタである。各レジスタ23は、接続制御回路12の電源投入時等(後述するアドレス保持on/offレジスタ21に"OFF"が設定されたとき)に、"ALL 0"が設定されるレジスタであると共に、CPUがアクセス可能なレジスタとなっている。
比較器24Lは、“DMA_RAM_Addr(いずれかのDMA回路がアクセスしようとしているRAMアドレス)<最小アドレス(MINAddrレジスタ23Lが保持しているRAMアドレス)”が成立しているか否かを示す信号を出力する回路である。比較器24Hは、“DMA_RAM_Addr>最大アドレス(MANAddrレジスタ23Hが保持しているRAMアドレス)”が成立しているか否かを示す信号を出力する回路である。
アドレス保持on/offレジスタ21は、接続制御回路12の電源投入時に"OFF"(本実施形態では、“0”)が設定されるレジスタである。また、アドレス保持on/offレジスタ21は、CPUが,その値を,"ON"(本実施形態では、“1”)或いは"OFF"に書換可能なレジスタとなっている。
レジスタ制御回路22は、基本的には、最小アドレス(MINAddrレジスタ23Lが保持しているアドレス)よりも小さいアドレスに対するライトアクセス要求がいずれかのDMA回路によって出されたとき(正確には、当該ライトアクセス要求が実際に処理されるとき)には、MINAddrレジスタ23LにDMA_RAM_Addrを取り込ませ、最大アドレス(MAXAddrレジスタ23Hが保持しているアドレス)よりも小さいアドレスに対するライトアクセス要求がいずれかのDMA回路によって出されたときには、MAXAddrレジスタ23HにDMA_RAM_Addrを取り込ませる回路〔比較器24Lからの信号,比較器24Hからの信号及びDMA_RAM_CTL(DMA回路からのコントロール信号)等に基づき,機能する回路〕である。ただし、レジスタ制御回路22は、アドレス保持on/offレジスタ21に"ON"が設定されたときに、動作を開始する回路となっている。さらに、レジスタ制御回路22は、その動作の開始後、いずれかのDMA回路によって最初のライトアクセス要求が出された場合には、MINAddrレジスタ23L,MAXAddrレジスタ23Lの双方にDMA_RAM_Addrを取り込ませる回路となっている。
DMAWaitレジスタ25は、CPUが,“1”或いは“0”を書き込み可能なレジスタである。そして、RAM制御回路20内のRAMアクセス調停回路26,RAMアクセス回路27は、このDMAWaitレジスタ25に“1”が設定されている場合には、DMAWaitレジスタ25の値が“0”となるまで,RAMへの実際のライトアクセスをペンディングするように、既存のRAM制御回路内のRAMアクセス調停回路,RAMアクセス回路を改良した回路となっている。
要するに、情報処理装置10に用いられている接続制御回路12(RAM制御回路20)は、アドレス保持on/offレジスタ21に“on”を設定しておけば、MINAddrレジスタ23L,MAXAddrレジスタ23Hに、各DMA回路によってデータが書き換えられたアドレスの最小値,最大値が記憶される回路となっている。
そして、本実施形態に係る情報処理装置10は、CPUが、『接続制御回路12(RAM制御回路20)のアドレス保持on/offレジスタ21に“on”を設定した後、しばらくしてから(特定の処理が完了した後、RAMの或るアドレスにアクセスする必要が生じたときに)、読み出して、アクセスしようとしているRAMアドレスが,接続制御回路12内の最小アドレス及び最大アドレスが示しているアドレス範囲(最小アドレス〜最大アドレス)内のアドレスであるか否かを判断し、そうであった場合には、キャッシュメモリ上の最小アドレス〜最大アドレスに関するデータを無効化してからRAMアクセスを行い、そうでなかった場合には、キャッシュメモリ上のいずれのデータも無効化することなくRAMアクセスを行う処理』(必要である場合には、最小アドレス及び最大アドレスの読出前に、DMA回路によるDMAライトアクセスを停止させる処理)を,随時,実行するように、そのファームウェア(ROM上のプログラム)を作成した装置となっている。
以上、説明したように、本実施形態に係るRAM制御回路20は、一定期間(レジスタ制御回路22を動作させた後、MINAddrレジスタ23L,MAXAddrレジスタ23Hの値を読み出すまで)の間に、幾つかのDMA回路によってデータが書き込まれたRAMのアドレスの最小値,最大値が,それぞれ,最小アドレス(MINAddrレジスタ23Lの値),最大アドレス(MAXAddrレジスタ23Hの値)として記憶される回路となっている。
そして、本実施形態に係る情報処理装置10は、これからアクセスしようとしているRAMのアドレスが,RAM制御回路20(接続制御回路12)内の最小アドレス〜最大アドレスの範囲内のものであった場合には、キャッシュメモリ上の,当該範囲内のデータのみを無効化する装置となっている。このため、情報処理装置10は、上記した処理(上記した『』内の処理)の間に,1個のDMA回路によるDMAライトアクセスが1回だけ行われた場合には、キャッシュメモリ上の,実際に書き換えられているデータのみが無効化される装置として機能し、上記処理の間に,幾つかのDMA回路による複数回のDMAライトアクセスが行われた場合には、キャッシュメモリ上の,実際には書き換えられているデータが無効化されることはあるが、キャッシュメモリの無効化処理が行われる回数がより少ない装置として機能する装置(DMAライトアクセスが比較的に頻繁に行われるタイプ/RAMへのDMAライトアクセスを行う複数のDMA回路を備えたタイプの,CPU内のキャッシュメモリがより有効に利用されている情報処理装置)となっていると言うことが出来る。
《変形形態》
上記したRAM制御回路20,情報処理装置10は、各種の変形を行うことが出来る。例えば、RAM制御回路20を独立したICに変形することが出来る。また、RAM制御回路20を、CPUも搭載されているIC上の回路としておくことも出来る。さらに、RAM制御回路20を、幾つかのDMA回路毎に、MINAddrレジスタ23L及びMAXAddrレジスタ23Hが設けられている回路に変形することも出来る。
また、上記した情報処理装置10は、いわゆるマルチファンクションプリンタであったが、情報処理装置10を、マルチファンクションプリンタ以外の装置(印刷機能のみを有するプリンタ等)に変形しても良いことなどは、当然のことである。
本発明の一実施形態に係る情報処理装置の構成図。 実施形態に係る情報処理装置に使用されているRAM制御回路の構成図。
符号の説明
10 情報処理装置、 12 接続制御回路、 20 RAM制御回路
21 アドレス保持on/offレジスタ、 22 レジスタ制御回路
23H MAXAddrレジスタ、 23L MINAddrレジスタ
24H,24L 比較器、 25 DMAWaitレジスタ
26 RAMアクセス調停回路、 27 RAMアクセス回路

Claims (3)

  1. RAMを、前記RAMへのDMAライトアクセスを行う複数のDMA回路,及び,キャッシュメモリを内蔵したCPUとに利用させるために、前記RAMと前記複数のDMA回路と前記CPUとに接続されるRAM制御回路であって、
    最小アドレスを記憶しておくための最小アドレスレジスタと、
    最大アドレスを記憶しておくための最大アドレスレジスタと、
    各DMA回路によってデータが書き込まれた前記RAMのアドレスの最大値、最小値を、それぞれ、前記最小アドレスレジスタ、前記最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路と
    を備えることを特徴とするRAM制御回路。
  2. ペンディング指示が入力された場合、ペンディング解除指示が入力されるまでの間、前記複数のDMA回路による前記RAMへのDMAライトアクセスを中断させる機能を有する
    ことを特徴とする請求項1記載のRAM制御回路。
  3. プログラムを記憶した記憶手段と、
    RAMと、
    前記RAMへのDMAライトアクセスを行う複数のDMA回路と、
    キャッシュメモリを内蔵したCPUと、
    前記RAMを、前記複数のDMA回路と前記CPUとに利用させるために、前記RAM,前記複数のDMA回路及び前記CPUに接続されるRAM制御回路と
    を、備え、
    前記RAM制御回路が、
    最小アドレスを記憶しておくための最小アドレスレジスタと、
    最大アドレスを記憶しておくための最大アドレスレジスタと、
    各DMA回路によってデータが書き込まれた前記RAMのアドレスの最小値,最大値を,それぞれ,前記最小アドレスレジスタ,前記最大アドレスレジスタに記憶する処理を、所定の指示が入力されたときに、開始するレジスタ制御回路と
    を備えた回路であり、
    前記記憶手段に記憶されているプログラムが、前記CPUに、
    前記RAM制御回路内の前記レジスタ制御回路を機能させることにより前記最小アドレスレジスタ,前記最大アドレスレジスタに,それぞれ,記憶された最小アドレス,最大アドレスを参照することにより、これからアクセスしようとしている前記RAMのアドレスが,前記レジスタ制御回路を機能させた後にいずれかのDMA回路によってデータが書き換えられている可能性があるアドレスであるか否かを判断し、そうでなかった場合には、前記キャッシュメモリ上のいずれのデータも無効化することなくRAMアクセスを行い。そうであった場合には、前記キャッシュメモリ上の上の前記最小アドレス〜前記最大アドレスに関するデータを無効化してからRAMアクセスを行う処理を、随時,実行させるプログラムである
    ことを特徴とする情報処理装置。
JP2007115565A 2007-04-25 2007-04-25 Ram制御回路及び情報処理装置 Withdrawn JP2008276284A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007115565A JP2008276284A (ja) 2007-04-25 2007-04-25 Ram制御回路及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007115565A JP2008276284A (ja) 2007-04-25 2007-04-25 Ram制御回路及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2008276284A true JP2008276284A (ja) 2008-11-13

Family

ID=40054203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007115565A Withdrawn JP2008276284A (ja) 2007-04-25 2007-04-25 Ram制御回路及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2008276284A (ja)

Similar Documents

Publication Publication Date Title
TWI446166B (zh) 判定快取策略的方法、處理器和設定快取策略的系統
US20090150620A1 (en) Controlling cleaning of data values within a hardware accelerator
JP2007058840A5 (ja)
JP2009053820A (ja) 階層型キャッシュメモリシステム
JP5089226B2 (ja) I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション
JP2695017B2 (ja) データ転送方式
JP2006260525A (ja) キャッシュ回路
KR101702374B1 (ko) 멀티 프로세서 장치 및 그것의 인터 프로세스 통신 방법
JP2012053572A (ja) 情報処理装置およびキャッシュの制御方法
US9342472B2 (en) PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units
JP5254710B2 (ja) データ転送装置、データ転送方法およびプロセッサ
JP2008276284A (ja) Ram制御回路及び情報処理装置
KR101203157B1 (ko) 데이터 전달 시스템, 장치 및 방법
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP6090057B2 (ja) 状態情報記録装置及びプログラム
JP2012098985A (ja) ダイレクトメモリアクセス制御装置、ダイレクトメモリアクセス制御システム、プログラム、画像処理装置および複合機
JP5440419B2 (ja) 情報処理システム
JP2006236234A (ja) 割込み処理回路
JP4800701B2 (ja) コンピュータシステム
KR100636817B1 (ko) 시스템 버스로의 트랜잭션을 줄이기 위한 그래픽처리장치와 이를 구비한 화상형성장치
US8230173B2 (en) Cache memory system, data processing apparatus, and storage apparatus
JP2007220022A (ja) 割込み制御装置
JP3715505B2 (ja) 特定用途向け演算命令を有する計算機およびその計算機の計算方法
JP5511747B2 (ja) 画像形成装置および画像形成プログラム
JP2006252482A (ja) 装置の起動方法及び画像形成装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100706