JP4633334B2 - 情報処理装置およびメモリアクセス調停方法 - Google Patents

情報処理装置およびメモリアクセス調停方法 Download PDF

Info

Publication number
JP4633334B2
JP4633334B2 JP2003017437A JP2003017437A JP4633334B2 JP 4633334 B2 JP4633334 B2 JP 4633334B2 JP 2003017437 A JP2003017437 A JP 2003017437A JP 2003017437 A JP2003017437 A JP 2003017437A JP 4633334 B2 JP4633334 B2 JP 4633334B2
Authority
JP
Japan
Prior art keywords
processor
access
memory
input
output
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
JP2003017437A
Other languages
English (en)
Other versions
JP2004227484A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003017437A priority Critical patent/JP4633334B2/ja
Priority to KR1020040004909A priority patent/KR20040068873A/ko
Priority to EP04001687A priority patent/EP1443412A3/en
Priority to CN200410035239.9A priority patent/CN1278242C/zh
Priority to US10/764,484 priority patent/US7552301B2/en
Publication of JP2004227484A publication Critical patent/JP2004227484A/ja
Application granted granted Critical
Publication of JP4633334B2 publication Critical patent/JP4633334B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、プロセッサに内蔵されるメモリ装置に対し、外部から高速で書き込みまたは読み出しが可能な外部入出力機構を備えた情報処理装置およびそのメモリ装置に対するアクセスが競合した場合のメモリアクセス調停方法に関するものである。
【0002】
【従来の技術】
従来、一つのメモリ装置に対して、複数の制御装置から書き込み、読み出しを実現する場合、デュアルポートメモリを使用するのがもっとも容易な実現方法であった。しかし、近年LSI市場がシステムLSI重視へと移行し、回路規模が増大しているため、大きなチップ面積を占有するデュアルポートメモリは、大容量のメモリを必要とするシステムLSIにおいては、コストの観点から不利となる。そこで、チップ面積を削減するためシングルポートメモリを使用することが考えられるが、複数の制御装置からアクセスする場合のタイミングによっては、アクセスの競合が発生するため、アクセスの調停をおこなう必要がある。
【0003】
複数の制御装置からのアクセスの調停方法として、従来の方法は以下のようにしてアクセスを調停する。第1の制御装置がメモリへアクセス中に、第1の制御装置よりも優先度の高い第2の制御装置からのアクセスがあった場合、第1の制御装置のメモリへのアクセスが終了するまで第2の制御装置をウェイト(待機)させ、第1の制御装置のメモリへのアクセスが終了すると第2の制御装置のメモリへのアクセスを開始させる。また、第2の制御装置がメモリへのアクセスを実行中は第1の制御装置のメモリへのアクセスは一切禁止され、第2の制御装置が第1の制御装置に対して優先的にメモリにアクセスできるようにする(例えば特許文献1参照)。
【0004】
すなわち、最初にアクセスを行った方の制御装置がアクセス実行中は、後からアクセスを行った制御装置は、最初にアクセスを行った制御装置のアクセスが終了するまでメモリへアクセスすることができない。
【0005】
【特許文献1】
特開平9−198298号公報
【0006】
【発明が解決しようとする課題】
しかしながら、複数の制御装置のどちらかの制御装置からのアクセスを優先したい場合が考えられる。例えばプロセッサ内蔵メモリへの外部入出力機構を介した外部プロセッサからのアクセスを考えた場合、外部プロセッサからのプロセッサ内蔵メモリへのアクセスは長時間のアクセスとはならないが、外部プロセッサが高速動作を必要とするため、常に外部プロセッサからのアクセスを優先したいという要望がある。
【0007】
このようなプロセッサ内蔵メモリに対して高速なアクセスを必要とする外部入出力機構を備えたプロセッサに上記の手法を適用すると、プロセッサコアがメモリにアクセスしている間に外部入出力機構からメモリへアクセスが発生した場合、外部入出力機構はプロセッサコアのアクセスが終了するまでウェイトがかけられ、外部入出力機構のアクセス速度が低下する。
【0008】
すなわち、プロセッサのメモリへのアクセス状態によって外部入出力機構のアクセス速度が低下する場合が存在する。従って、この機構を外部プロセッサからプロセッサ内蔵メモリへの外部入出力機構を介したデータ授受などに応用した場合、外部アクセス速度の低下を招き、ひいては最終セットの動作速度の低下にもつながる。
【0009】
本発明は、上記従来の問題点を解決するもので、プロセッサがメモリに対していかなるアクセス状態にある場合にも、常に優先的でかつウェイトなしの高速アクセスが可能な外部入出力機構を実現する情報処理装置およびメモリアクセス調停方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
本願発明の情報処理装置は、内蔵メモリと、命令をパイプライン処理するプロセッサと、プロセッサにクロック信号を供給するクロック生成手段と、外部制御装置からの指示を受けて内蔵メモリへのアクセスを実行する入出力制御手段と、プロセッサと入出力制御手段の内蔵メモリへのアクセスが競合した場合に、クロック信号をウェイトさせるためのウェイト要求信号を発生し、入出力制御手段のアクセスを優先させるアクセス調停手段と、プロセッサと入出力制御手段との内蔵メモリへのアクセス競合が、パイプライン処理を行うプロセッサの内蔵メモリへの連続リードアクセス中に起こった場合、プロセッサのウェイト動作前に内蔵メモリが出力していたリードデータを保持しておく保持手段とを備え、保持手段は、プロセッサのウェイト動作を検出し、パイプライン処理を行うプロセッサのメモリへの連続リードアクセス中において、プロセッサがウェイト動作中に、プロセッサへ保持手段が有しているデータの供給を開始することを特徴とする。
【0011】
上記構成によれば、プロセッサがメモリに対して連続でアクセスする場合においても、内蔵メモリが出力するリードデータと保持手段が保持しているリードデータを切替えることにより、そのアクセス状態に依存することなく高速アクセスを実現することができる。
【0012】
また、プロセッサと入出力制御手段の内蔵メモリへのアクセスを切替える選択手段をさらに備えており、アクセス調停手段は、プロセッサの内蔵メモリへのアクセス中に入出力制御手段の内蔵メモリへのアクセス要求が発生すると、選択手段へ制御信号を出力し、制御信号を受けた選択手段は、プロセッサのアクセスを入出力制御手段の内蔵メモリへのアクセスに切替える構成となっていても良い。
【0013】
上記構成によれば、プロセッサが内蔵メモリに対してアクセスする場合において、内蔵メモリに対して外部制御装置からデータを書き込みまたは読み出す際、プロセッサのアクセスを入出力制御手段のアクセスに切替えることにより、プロセッサに優先する外部制御装置の高速アクセスを実現することができる。
【0014】
本願発明のメモリアクセス調停方法は、パイプライン処理を行うプロセッサがメモリに対して連続リードアクセスしている期間に入出力制御手段のリードアクセスが競合した場合に、プロセッサのウェイト動作前にメモリが出力していたリードデータを保持するステップと、プロセッサに供給しているクロックをウェイトさせるステップと、入出力制御手段のメモリへのアクセスを実行するステップと、メモリへの連続リードアクセス中のプロセッサがウェイト動作中に、プロセッサへ保持手段が有しているデータの供給を開始するステップとを含むことを特徴とする
【0015】
上記構成によれば、プロセッサがメモリに対して連続でアクセスする場合においても、保持手段に保持しているデータをプロセッサへ供給し、メモリへのプロセッサのアクセスを再開することにより、そのアクセス状態に依存することなく高速アクセスを実現することができる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
(第1の実施の形態)
図1は本発明の第1の実施の形態の情報処理装置を示す構成図である。図1において、情報処理装置150は、データ記憶装置101と、データ記憶装置101に対してアクセス優先度の高い第1のデータ入出力装置102と、アクセス優先度の低い第2のデータ入出力装置103と、第2のデータ入出力装置103にクロックを供給するクロック生成装置104と、アクセス調停装置109と、制御信号セレクタ112とを備える。
【0017】
アクセス調停装置109は、第1のデータ入出力装置102の制御信号106と第2のデータ入出力装置103の制御信号108を監視し、データ記憶装置101へ供給する制御信号114とライトデータ113を、第1のデータ入出力装置102と第2のデータ入出力装置103の間で切替えるためのアクセス選択信号110と、第1のデータ入出力装置102と第2のデータ入出力装置103のデータ記憶装置101へのアクセスが競合した場合に、第2のデータ入出力装置103をウェイトさせるクロックウェイト要求信号111を生成する。
【0018】
制御信号セレクタ112は、アクセス調停装置109から出力されるアクセス選択信号110を受けて、第1のデータ入出力装置102からデータ記憶装置101へ供給されるライトデータ105および制御信号106と、第2のデータ入出力装置103からデータ記憶装置101へ供給されるライトデータ107および制御信号108を切替える。
【0019】
以上のように構成された本実施の形態について、以下、その動作を図2のフローチャートを用いて説明する。アクセス調停装置109は、第1のデータ入出力装置102と第2のデータ入出力装置103のデータ記憶装置101へのアクセス状態を監視する(S201)。データ記憶装置101へのアクセスがない状態(S200)から第1のデータ入出力装置102のみにアクセスがあった場合(S201のA)、アクセス調停装置109は制御信号セレクタ112を第1のデータ入出力装置102側に切替え(S202)、第1のデータ入出力装置102がデータ記憶装置101へアクセスを実行する(S203)。このあと、第1のデータ入出力装置102のデータ記憶装置101へのアクセスが終了した場合は(S203のA)、データ記憶装置101へのアクセスが終了する(S204)。
【0020】
一方、第1のデータ入出力装置102のデータ記憶装置101へのアクセスが終了する前に第2のデータ入出力装置103からのアクセスがあった場合(S203のB)、アクセス調停装置109はアクセス競合を検出し、第2のデータ入出力装置103に対してクロックウェイト要求信号111を出力し、第2のデータ入出力装置103はウェイト状態に入る(S205)。この後、第1のデータ入出力装置102がデータ記憶装置101へアクセスを実行する(S206)。
【0021】
第1のデータ入出力装置102のデータ記憶装置101へのアクセスが終了すると、第2のデータ入出力装置103のウェイト状態は解除され(S207)、アクセス調停装置109は制御信号セレクタ112を第2のデータ入出力装置103側に切替え(S208)、第2のデータ入出力装置103がデータ記憶装置101へアクセスを実行する(S209)。
【0022】
データ記憶装置101へのアクセスがない状態(S200)から第2のデータ入出力装置102のみにアクセスがあった場合(S201のC)も、アクセス調停装置109は制御信号セレクタ112を第2のデータ入出力装置103側に切替え(S208)、第2のデータ入出力装置103がデータ記憶装置101へアクセスを実行する(S209)。この後、第2のデータ入出力装置103のデータ記憶装置101へのアクセスが終了した場合は(S209のB)、データ記憶装置101へのアクセスが終了する(S204)。
【0023】
一方、第2のデータ入出力装置103のデータ記憶装置101へのアクセスが終了する前に第1のデータ入出力装置102からのアクセスがあった場合(S209のA)、またはデータ記憶装置101へのアクセスがない状態(S200)から第1のデータ入出力装置102と第2のデータ入出力装置103が同時にデータ記憶装置101へアクセスした場合(S201のB)、アクセス調停装置109はアクセス競合を検出し、第2のデータ入出力装置103に対してクロックウェイト要求信号111を出力し、第2のデータ入出力装置103はウェイト状態に入る(S210)。この後、アクセス調停装置109は制御信号セレクタ112を第1のデータ入出力装置102側に切替え(S211)、第1のデータ入出力装置102がデータ記憶装置101へアクセスを実行する(S206)。ステップS207以降の動作は前述のとおりである。
【0024】
以上のように本実施の形態によれば、データ記憶手段となるデータ記憶装置101と、第1のデータ入出力手段となる第1のデータ入出力装置102と、第2のデータ入出力手段となる第2のデータ入出力装置103と、クロック生成手段となるクロック生成装置104と、アクセスを切替える切替え手段となる制御信号セレクタ112と、アクセスを調停するアクセス調停手段となるアクセス調停装置109を備え、第1のデータ入出力装置102と第2のデータ入出力装置103からデータ記憶装置101に対するアクセスが競合した場合に、第2のデータ入出力装置103のクロックをウェイトさせ、第1のデータ入出力装置102のアクセスを先に実行し、第1のデータ入出力装置102のアクセス終了時に第2のデータ入出力装置103のクロックウェイトを解除し、第2のデータ入出力装置103のアクセスを実行するので、第1のデータ入出力装置102が常に優先してデータ記憶装置101にアクセス可能なアクセス調停が、クロックのウェイト制御を行うだけの小規模な回路構成で実現可能である。
【0025】
(第2の実施の形態)
図3は本発明の第2の実施の形態の情報処理装置の概略構成を示すブロック図である。図3において情報処理装置350は、クロック生成部301と、プロセッサに内蔵されてプロセッサ外部からもアクセスが可能なプロセッサ内蔵メモリ部304と、命令をパイプライン処理するプロセッサコア部305と、プロセッサコア部305よりもプロセッサ内蔵メモリ304に対するアクセスの優先度が高い外部入出力制御部310と、外部入出力制御部310から出力されるプロセッサ側リードデータ320を保持するリードデータ保持部322と、プロセッサコア部305と外部入出力制御部310からアクセスが同時に発生した場合にウェイト要求信号316を生成するアクセス調停部315とを備える。
【0026】
クロック生成部301は、クロック発振部338と、ウェイト要求信号316の入力中はクロック発振部338から供給されるクロックを停止し、整数倍の周期を持つクロックを生成するクロックウェイト制御部337とを備える。クロック302はクロック発振部338から出力されるウェイト制御のないクロックである。クロック303はクロックウェイト制御部337から出力されるウェイト制御されたクロックである。
【0027】
プロセッサコア部305は、メモリ部304からのリードデータ323を受け取るメモリアクセス制御部330と、複数のフリップフロップ331,332,333,334とを有し、メモリ部304にアクセスするためのプロセッサ側アドレス306、プロセッサ側チップセレクト(CS)信号307、リードイネーブル信号(RE)、ライトイネーブル信号(WE)等のメモリ装置制御信号308とプロセッサ側ライトデータ309を生成する。
【0028】
外部入出力制御部310は、外部入出力信号同期化部336とメモリアクセスセレクタ部335とを有する。外部入出力信号同期化部336は、プロセッサの外部からメモリ部304へのデータの書き込みと読み出しのため、外部入出力アドレス325、外部入出力リードイネーブル・ライトイネーブル(RE/WE)信号326、外部入出力ライトデータ327を受け付け、プロセッサ内蔵メモリ部304にアクセスするための同期化された外部入出力側アドレス311、外部入出力側チップセレクト(CS)信号312、外部入出力側ライトイネーブル・リードイネーブル(WE/RE)信号313等のメモリ装置制御信号および外部入出力側ライトデータ314を生成する。メモリアクセスセレクタ部335は、外部入出力信号同期化部336からのメモリ制御信号およびライトデータと、プロセッサコア部305からのメモリ制御信号およびライトデータとを切替え、プロセッサ内蔵メモリ304にライトデータ317およびメモリ制御信号318を供給し、プロセッサ内蔵メモリ304からのリードデータ319をプロセッサコア部305と外部プロセッサ328へ切替えることで、リードデータ保持部322にプロセッサ側リードデータ(保持無し)320を供給し、外部プロセッサ328に外部入出力側リードデータ321を供給する。プロセッサ内蔵メモリ304は、メモリアクセスセレクタ部335にリードデータ319を出力する。
【0029】
アクセス調停部315は、プロセッサコア部305からのライトイネーブル信号、リードイネーブル信号308と、外部入出力制御部310内で生成されるライトイネーブル信号、リードイネーブル信号313を監視し、プロセッサコア部305側のメモリ制御信号およびライト・リードデータと、外部入出力制御部310側のメモリ制御信号およびライト・リードデータとを切替えるため、外部入出力制御部310内のメモリアクセスセレクタ部335へセレクタ制御信号324を供給する。また、アクセス調停部315は、プロセッサコア部305からプロセッサ内蔵メモリ部304へのアクセスと、外部入出力制御部310からプロセッサ内蔵メモリ部304へのアクセスが同時に発生した場合に、プロセッサコア部305に供給するクロックをウェイトさせるためのウェイト要求信号316を生成する。
【0030】
リードデータ保持部322は、外部入出力制御部310内のメモリアクセスセレクタ部335から出力されるプロセッサ側リードデータ(保持無し)320を保持し、プロセッサコア部305にプロセッサ側リードデータ323を供給する。
【0031】
図4はリードデータ保持部322の構成を示す回路図である。図4においてリードデータ保持部322は、フリップフロップイネーブル信号411が「1」のサイクルの次のクロックの立ち上がりでデータを更新し、外部入出力制御部310のメモリアクセスセレクタ部335から出力されるリードデータ320を保持しておくフリップフロップ401と、プロセッサ側リードイネーブル(RE)信号308をウェイト制御のないクロック302の1サイクル分タイミングを遅らせるフリップフロップ403と、ウェイト要求信号316をウェイト制御のないクロック302の1サイクル分タイミングを遅らせるフリップフロップ405とを備える。さらに、プロセッサ側リードイネーブル(RE)信号308と、1サイクル遅れたプロセッサ側リードイネーブル信号404と、1サイクル遅れたウェイト要求信号406との論理積をとるANDゲート407と、ANDゲート407の出力信号であるセレクタ制御信号408が「1」のときプロセッサ側リードデータ323に保持データ出力402を出力し、セレクタ制御信号408が「0」のときプロセッサ側リードデータ323にリードデータ320を出力するセレクタ409と、1サイクル遅れたプロセッサ側リードイネーブル信号404と、1サイクル遅れたウェイト要求信号406の負論理の論理積をとり、フリップフロップイネーブル信号を生成するANDゲート410とを備える。
【0032】
以上のように構成された本実施の形態について、以下、その動作を図5のフローチャートを用いて説明する。メモリ304は、外部入出力制御部310とプロセッサコア部305のメモリ304へのアクセス状態を監視する(S501)。メモリ304へのアクセスがない状態(S500)から外部入出力制御部310のみにアクセスがあった場合(S501のA)、アクセス調停部315は外部入出力制御部310内のメモリアクセスセレクタ部335を外部入出力制御部310側に切替え(S502)、 外部入出力制御部310がメモリ304へアクセスを実行する(S503)。このあと、外部入出力制御部310のメモリ304へのアクセスが終了した場合は(S503のA)、メモリ304へのアクセスが終了する(S504)。
【0033】
一方、外部入出力制御部310のメモリ304へのアクセスが終了する前にプロセッサコア部305からのアクセスがあった場合(S503のB)、アクセス調停部315はアクセス競合を検出しプロセッサコア部305に対してウェイト要求信号316を出力し、プロセッサコア部305はウェイト状態に入る(S505)。その後、外部入出力制御部310がメモリ304にアクセスを実行する(S506)。外部入出力制御部310のメモリ304へのアクセスが終了すると、プロセッサコア部305のウェイト状態は解除される(S507)。
【0034】
アクセス競合がプロセッサコア部305のメモリ304への連続リードアクセス発生中に起こっていた場合(S508のY)は、プロセッサコア部305のリードデータとしてリードデータ保持部322の保持しているデータを供給する(S509)。
【0035】
一方、アクセス競合の発生がプロセッサコア部305のメモリ304への連続リードアクセス発生中ではない場合(S508のN)は、プロセッサコア部305のリードデータとしてプロセッサ側リードデータ(保持無し)320を供給する。その後、アクセス調停部315は外部入出力制御部310内のメモリアクセスセレクタ部335をプロセッサコア部305側に切替え(S510)、プロセッサコア部305がメモリ304へアクセスを実行する(S511)。
【0036】
なお、メモリ304へのアクセスがない状態(S500)からプロセッサコア部305のみにアクセスがあった場合(S501のC)も、アクセス調停部315は外部入出力制御部310内のメモリアクセスセレクタ部335をプロセッサコア部305側に切替え(S510)、プロセッサコア部305がメモリ304へアクセスを実行する(S511)。このあと、プロセッサコア部305のメモリ304へのアクセスが終了した場合は(S511のB)、メモリ304へのアクセスが終了する(S504)。
【0037】
一方、プロセッサコア部305のメモリ304へのアクセスが終了する前に外部入出力制御部310からのアクセスがあった場合(S511のA)、またはメモリ304へのアクセスがない状態(S500)から外部入出力制御部310とプロセッサコア部305が同時にメモリ304へアクセスした場合(S501のB)、アクセス調停部315はアクセス競合を検出しプロセッサコア部305に対してウェイト要求信号316を出力し、プロセッサコア部305はウェイト状態に入る(S512)。この後、アクセス調停部315は外部入出力制御部310内のメモリアクセスセレクタ部335を外部入出力制御部310側に切替え(S513)、外部入出力制御部310がメモリ304へアクセスを実行する(S506)。以降の動作は前述のとおりである。
【0038】
さらに本発明の実施の形態にかかる情報処理装置について、以下、その動作の詳細を図6、図7のタイミングチャートを用いて説明する。図6のタイミングチャートは、プロセッサコア部305が単発でプロセッサ内蔵メモリ304にアクセスした場合に外部入出力制御部310からのプロセッサ内蔵メモリ304へのアクセスが競合を起こした場合を示す。図7のタイミングチャートは、プロセッサコア部305が連続でプロセッサ内蔵メモリ304にリードアクセスしている期間に外部入出力制御部310からプロセッサ内蔵メモリ304へのアクセスが競合を起こした場合を示す。
【0039】
図6において、プロセッサ側リードイネーブル信号308と、外部入出力側リードイネーブル信号313が図6のAのタイミングにおいて同時に発生した場合、図3のアクセス調停部315がアクセス競合を検出し、図3のクロック生成部301に対して、ウェイト要求信号316を供給する。
【0040】
これにより、図3のクロック生成部301はプロセッサコア部305に供給するウェイト制御されたクロック303を図6のBタイミングで1サイクルウェイトさせる。プロセッサコア部305から出力しているプロセッサ側アドレス306、プロセッサ側CS信号307、プロセッサ側リードイネーブル(RE)信号308は、それぞれプロセッサコア部305内部にあるフリップフロップ331〜334を介して出力しているため、プロセッサコア部305のウェイト期間中であるタイミングBではタイミングAでの出力の状態を保持している。
【0041】
このとき、図3のアクセス調停部315は図3の外部入出力制御部310内のメモリアクセスセレクタ部335を制御する。そして、外部入出力制御部310内のメモリアクセスセレクタ部335はプロセッサ内蔵メモリ304に対して、図6のタイミングAの期間、すなわちプロセッサコア部305がウェイト動作する1サイクル前の期間は外部入出力制御部310からのメモリ制御信号を供給し、図6のタイミングBの期間、すなわちプロセッサコア部305がウェイト動作している期間はプロセッサコア部305からのメモリ制御信号を供給する。
【0042】
これによって図6のタイミングBの期間、すなわちプロセッサコア部305がウェイト動作している期間にプロセッサ内蔵メモリ304は外部入出力制御部310のアクセスによるリードデータをリードデータ319として出力し、図6のタイミングCの期間、すなわちプロセッサがウェイトから復帰した最初の1サイクルの期間ではプロセッサコア部305のアクセスによるリードデータをリードデータ319として出力する。図6のタイミングCの期間では、図4のセレクタ制御信号408は「0」となっており、プロセッサ側リードデータ323にはリードデータ319がプロセッサ側リードデータ(保持無し)320を経由して供給される。
【0043】
図7のタイミングチャートにおいて、プロセッサコア部305が連続でプロセッサ内蔵メモリ304にリードアクセスを実行している最中に、図7のタイミングAの期間でプロセッサ内蔵メモリ304に外部入出力制御部310からアクセスがあった場合、図6の場合と同様に図7のタイミングAの期間でウェイト要求信号316が発生し、タイミングBの期間でプロセッサコア部305はウェイト動作に入る。
【0044】
このとき、図6の場合と同様に、図7のタイミングBの期間でプロセッサ内蔵メモリ304は外部入出力制御部310のアクセスによるリードデータをリードデータ319に出力し、図7のタイミングCの期間でプロセッサコア部305のアクセスによるリードデータをリードデータ319に出力する。
【0045】
しかしながら、このときプロセッサコア部305のプロセッサ内蔵メモリ304へのアクセスと外部入出力制御部310のアクセスが競合する1サイクル前のプロセッサコア部305のプロセッサ内蔵メモリ304へのリード命令において、この命令のリードデータは図7のタイミングAで出力されており、この次のタイミングBはプロセッサコア部305がウェイト動作に入っているため、プロセッサコア部305がウェイトから復帰したタイミングCではプロセッサコア部305は必要なリードデータを取り込むことが出来ない。
【0046】
そこで、図4のフリップフロップ401によってタイミングAで出力されたリードデータをタイミングBまで保持して保持データ出力402に出力し、さらに図4のANDゲート407によって、プロセッサコア部305の連続リードアクセス中のウェイト動作状態を検出し、タイミングBにおいてセレクタ制御信号408を「1」にすることによって、セレクタ409はプロセッサ側リードデータ323に保持データ出力402を供給し、プロセッサコア部305のタイミングCにおけるデータ取得を可能にしている。
【0047】
一方、タイミングCにおいてはウェイト状態が解除されているため、セレクタ制御信号408は「0」に戻され、セレクタ409はプロセッサ側リードデータ323にリードデータ319を供給する。
【0048】
このように、図7に示すようなプロセッサコア部305のプロセッサ内蔵メモリ部304への連続アクセスの最中に外部入出力制御部310からのアクセスが競合した場合にもアクセス調停を可能にしている。
【0049】
以上のように本実施の形態は、命令をパイプライン処理するプロセッサとなるプロセッサコア部305と、プロセッサに内蔵するメモリとなるプロセッサ内蔵メモリ304と、メモリに対して優先してアクセスを実行する入出力制御手段となる外部入出力制御部310と、プロセッサコア部305にクロックを供給するクロック生成手段となるクロック生成部301と、プロセッサコア部305と外部入出力制御部310のプロセッサ内蔵メモリ304へのアクセスを監視し、アクセス調停を行うアクセス調停手段となるアクセス調停部315から構成される。そして、プロセッサコア部305がプロセッサ内蔵メモリ304にアクセスしている期間に外部入出力制御部310がアクセス競合した場合、プロセッサコア部305に供給しているクロックをウェイトさせ、外部入出力制御部310のプロセッサ内蔵メモリ304へのアクセスを実行し、外部入出力制御部310のプロセッサ内蔵メモリ304へのアクセス終了時にプロセッサコア部305のクロックウェイトを解除し、プロセッサコア部305のアクセスを実行する。
【0050】
これにより、プロセッサコア部305が単発でプロセッサ内蔵メモリ304にアクセスする場合、ウェイトすることなく高速でプロセッサ内蔵メモリ304にアクセス可能な外部入出力制御部310を、プロセッサコア部305に供給するクロックをウェイトする回路を追加するだけの小規模な回路で実現することが出来る。
【0051】
さらにプロセッサコア部305に対しては、外部入出力手段とのアクセスが競合した場合に1パイプラインステージウェイトするだけでアクセス再開が可能なアクセス調停が実現可能である。また、メモリからの出力データを保持する保持手段となるリードデータ保持部322を備え、プロセッサコア部305がプロセッサ内蔵メモリ304へ連続でリードアクセスしている際に外部入出力制御部310がプロセッサ内蔵メモリ304へアクセスし、アクセス競合が発生した場合にも、リードデータ保持部322に保持しているデータをプロセッサコア部305へ供給しプロセッサ内蔵メモリ304へのアクセスを再開し、プロセッサコア部305の連続アクセス中の外部入出力制御部310からのアクセスも可能にしている。
【0052】
【発明の効果】
本願発明によれば、データ記憶手段に対してアクセスする2つのデータ入出力手段においてアクセス競合が発生した場合に、一方のデータ入出力手段のクロックをウェイトさせるだけでアクセス調停を実施するアクセス調停回路を小規模な回路で実現することができ、プロセッサがメモリに対して連続でアクセスする場合においても、そのアクセス状態に依存することなく実行可能な外部入出力手段を実現することができる。
【0053】
また、プロセッサが内蔵メモリに対して単発でアクセスする場合において、プロセッサ内蔵のメモリに対して外部からデータを書き込みまたは読み出す際、プロセッサに対して優先で、ウェイトすることのない高速アクセスを、プロセッサに供給するクロックをウェイトする回路を追加するだけの小規模な回路で実現することができる。さらにプロセッサに対しては、外部入出力手段とのアクセスが競合した場合に1パイプラインステージウェイトするだけでアクセス再開が可能なアクセス調停回路を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の情報処理装置を示す構成図。
【図2】図1に示した情報処理装置の動作を示すフローチャート。
【図3】本発明の第2の実施の形態の情報処理装置の概略構成を示すブロック図。
【図4】本発明の実施の形態におけるリードデータ保持部の構成を示す回路図。
【図5】図3に示した情報処理装置の動作を示すフローチャート。
【図6】図3に示した情報処理装置の動作の一例(プロセッサが単発アクセスする場合)を示すタイミングチャート。
【図7】図3に示した情報処理装置の動作の一例(プロセッサが連続アクセスする場合)を示すタイミングチャート。
【符号の説明】
101 データ記憶装置
102 第1のデータ入出力装置
103 第2のデータ入出力装置
104 クロック生成装置
105 ライトデータ
106 制御信号
107 ライトデータ
108 制御信号
109 アクセス調停装置
110 アクセス選択信号
111 クロックウェイト要求信号
112 制御信号セレクタ
113 ライトデータ
114 制御信号
115 リードデータ
301 クロック生成部
302 ウェイト制御のないクロック
303 ウェイト制御されたクロック
304 プロセッサ内蔵メモリ部
305 プロセッサコア部
306 プロセッサ側アドレス
307 プロセッサ側CS信号
308 プロセッサ側WE/RE信号
309 プロセッサ側ライトデータ
310 外部入出力制御部
311 外部入出力側アドレス
312 外部入出力側CS信号
313 外部入出力側WE/RE信号
314 外部入出力側ライトデータ
315 アクセス調停部
316 ウェイト要求信号
317 ライトデータ
318 メモリ制御信号
319 リードデータ
320 プロセッサ側リードデータ(保持無し)
321 外部入出力リードデータ
322 リードデータ保持部
323 プロセッサ側リードデータ
324 セレクタ制御信号
325 外部入出力アドレス
326 外部入出力WE/RE信号
327 外部入出力ライトデータ
328 外部プロセッサ
330 メモリアクセス制御部
331〜334 フリップフロップ
335 メモリアクセスセレクタ部
336 外部入出力信号同期化部
337 クロックウェイト制御部
338 クロック発振部
401 フリップフロップ
402 保持データ出力
403 フリップフロップ
404 1サイクル遅れたプロセッサ側RE信号
405 フリップフロップ
406 1サイクル遅れたウェイト要求信号
407 ANDゲート
408 セレクタ制御信号
409 セレクタ
410 ANDゲート

Claims (3)

  1. 内蔵メモリと、
    命令をパイプライン処理するプロセッサと、
    前記プロセッサにクロック信号を供給するクロック生成手段と、
    外部制御装置からの指示を受けて前記内蔵メモリへのアクセスを実行する入出力制御手段と、
    前記プロセッサと前記入出力制御手段の前記内蔵メモリへのアクセスが競合した場合に、前記クロック信号をウェイトさせるためのウェイト要求信号を発生し、前記入出力制御手段のアクセスを優先させるアクセス調停手段と、
    前記プロセッサと前記入出力制御手段との前記内蔵メモリへのアクセス競合が発生した際に、前記プロセッサの1つ前の命令でも前記プロセッサが前記内蔵メモリにリードアクセスを行っていた場合、前記プロセッサのウェイト動作前に前記内蔵メモリが出力していたリードデータを保持しておくフリップフロップとを備え、
    前記フリップフロップは、前記プロセッサのウェイト動作を検出し、
    前記プロセッサのウェイト動作の1つ前の命令でも前記プロセッサが前記内蔵メモリにリードアクセスを行っていた場合、前記プロセッサがウェイト動作中に、前記プロセッサへ前記フリップフロップが有しているデータの供給を開始することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記プロセッサと前記入出力制御手段の前記内蔵メモリへのアクセスを切替える選択手段をさらに備えており、
    前記アクセス調停手段は、前記プロセッサの前記内蔵メモリへのアクセス中に前記入出力制御手段の前記内蔵メモリへのアクセス要求が発生すると、前記選択手段へ制御信号を出力し、
    前記制御信号を受けた前記選択手段は、前記プロセッサのアクセスを前記入出力制御手段の前記内蔵メモリへのアクセスに切替えることを特徴とする情報処理装置。
  3. 命令をパイプライン処理するプロセッサと、前記プロセッサに内蔵されるメモリと、前記メモリに対して前記プロセッサよりも高い優先度でアクセスを実行する入出力制御手段と、前記プロセッサのウェイト動作前に前記メモリが出力していたリードデータを保持し、前記プロセッサのウェイト動作を検出するフリップフロップとを有する情報処理装置のメモリアクセス調停方法であって、
    前記プロセッサと前記入出力制御手段との前記内蔵メモリへのアクセス競合が発生した際に、前記プロセッサの1つ前の命令でも前記プロセッサが前記内蔵メモリにリードアクセスを行っていた場合に、前記プロセッサのウェイト動作前に前記メモリが出力していたリードデータを保持するステップと、
    前記プロセッサに供給しているクロックをウェイトさせるステップと、
    前記入出力制御手段の前記メモリへのアクセスを実行するステップと、
    前記プロセッサのウェイト動作の1つ前の命令でも前記プロセッサが前記内蔵メモリにリードアクセスを行っていた場合のウェイト動作中に、前記プロセッサへ前記フリップフロップが有しているデータの供給を開始するステップとを含むメモリアクセス調停方法。
JP2003017437A 2003-01-27 2003-01-27 情報処理装置およびメモリアクセス調停方法 Expired - Fee Related JP4633334B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003017437A JP4633334B2 (ja) 2003-01-27 2003-01-27 情報処理装置およびメモリアクセス調停方法
KR1020040004909A KR20040068873A (ko) 2003-01-27 2004-01-27 정보처리장치 및 메모리 액세스 조정방법
EP04001687A EP1443412A3 (en) 2003-01-27 2004-01-27 Information processing apparatus and memory access arranging method
CN200410035239.9A CN1278242C (zh) 2003-01-27 2004-01-27 信息处理装置和存储器存取安排方法
US10/764,484 US7552301B2 (en) 2003-01-27 2004-01-27 Information processing apparatus and memory access arranging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003017437A JP4633334B2 (ja) 2003-01-27 2003-01-27 情報処理装置およびメモリアクセス調停方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010192319A Division JP2011018355A (ja) 2010-08-30 2010-08-30 情報処理装置およびメモリアクセス調停方法

Publications (2)

Publication Number Publication Date
JP2004227484A JP2004227484A (ja) 2004-08-12
JP4633334B2 true JP4633334B2 (ja) 2011-02-16

Family

ID=32652827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003017437A Expired - Fee Related JP4633334B2 (ja) 2003-01-27 2003-01-27 情報処理装置およびメモリアクセス調停方法

Country Status (5)

Country Link
US (1) US7552301B2 (ja)
EP (1) EP1443412A3 (ja)
JP (1) JP4633334B2 (ja)
KR (1) KR20040068873A (ja)
CN (1) CN1278242C (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100012241A1 (en) * 2006-12-20 2010-01-21 Xiaofeng Shaw Yang Cushion gum
CN103092324A (zh) * 2013-01-22 2013-05-08 无锡德思普科技有限公司 一种处理器内置存储器
CN104765577B (zh) * 2015-04-28 2017-08-15 杭州中天微系统有限公司 一种频率自适应的高速存储系统
US10643700B2 (en) 2015-10-29 2020-05-05 Micron Technology, Inc. Apparatuses and methods for adjusting write parameters based on a write count

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603935A (en) * 1969-05-12 1971-09-07 Xerox Corp Memory port priority access system with inhibition of low priority lock-out
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4257095A (en) 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4271467A (en) * 1979-01-02 1981-06-02 Honeywell Information Systems Inc. I/O Priority resolver
GB2170624B (en) 1982-06-05 1987-06-10 British Aerospace Communication between computers
US4780843A (en) * 1983-11-07 1988-10-25 Motorola, Inc. Wait mode power reduction system and method for data processor
JPS6149268A (ja) 1984-08-16 1986-03-11 Mitsubishi Electric Corp 共用メモリアクセス方式
GB2196762B (en) 1986-10-27 1990-12-19 Burr Brown Ltd Interleaved access to global memory by high priority source
JPH01318139A (ja) 1988-06-20 1989-12-22 Toshiba Corp マルチマイクロプロセッサ方式
JPH07105146A (ja) 1993-10-01 1995-04-21 Toyota Motor Corp 共有メモリ装置
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
JPH09198298A (ja) 1996-01-18 1997-07-31 Fuji Xerox Co Ltd メモリ制御装置
US6006303A (en) * 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
DE19740694A1 (de) * 1997-09-16 1999-03-18 Siemens Ag Schaltungsanordnung zur Behandlung von Zugriffskonflikten
US6170046B1 (en) * 1997-10-28 2001-01-02 Mmc Networks, Inc. Accessing a memory system via a data or address bus that provides access to more than one part
US6499087B1 (en) * 1997-11-14 2002-12-24 Agere Systems Guardian Corp. Synchronous memory sharing based on cycle stealing
JP2000020452A (ja) 1998-07-06 2000-01-21 Canon Inc メモリアクセス制御装置および印刷制御装置およびメモリアクセス制御装置のメモリアクセス方法および印刷制御装置のメモリアクセス方法
US6292807B1 (en) * 1998-12-15 2001-09-18 Micron Technology, Inc. Method for controlling pipelined memory access requests
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
US6629220B1 (en) * 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
US6487643B1 (en) * 2000-09-29 2002-11-26 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture

Also Published As

Publication number Publication date
CN1530839A (zh) 2004-09-22
US7552301B2 (en) 2009-06-23
EP1443412A3 (en) 2007-05-02
EP1443412A2 (en) 2004-08-04
JP2004227484A (ja) 2004-08-12
KR20040068873A (ko) 2004-08-02
US20040250038A1 (en) 2004-12-09
CN1278242C (zh) 2006-10-04

Similar Documents

Publication Publication Date Title
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
JP2002288037A (ja) メモリ制御装置及び方法
JP2011081553A (ja) 情報処理装置及びその制御方法
JP4388005B2 (ja) コンテキスト切替え装置
JP2006527878A (ja) 多重メモリを有するデータ処理回路
JP4404637B2 (ja) 局所同期回路間の情報交換
JP4902640B2 (ja) 集積回路、及び集積回路システム
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
US20090119429A1 (en) Semiconductor integrated circuit
JPH0844559A (ja) データ処理装置およびそのオペレーション方法
JP4112813B2 (ja) バスシステム及びそのコマンドの伝達方法
JP2004310394A (ja) Sdramアクセス制御装置
JP2011018355A (ja) 情報処理装置およびメモリアクセス調停方法
JP4114749B2 (ja) メモリ制御装置および電子装置
US20080228961A1 (en) System including virtual dma and driving method thereof
EP1156421B1 (en) CPU system with high-speed peripheral LSI circuit
JP2005157929A (ja) 半導体装置
JP4696003B2 (ja) データ転送回路
JP2008226135A (ja) 半導体集積回路及びメモリシステム
JP2000285013A (ja) インターフェース装置
JP6725970B2 (ja) マルチプロセッサシステム
JP2003058272A (ja) 半導体装置およびそれに用いられる半導体チップ
JP2006031147A (ja) メモリ制御装置及びメモリ制御方法
JP2001092715A (ja) データ記憶装置及びそれに用いるデータ転送方法
JP2000066946A (ja) メモリコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060325

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

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

R150 Certificate of patent or registration of utility model

Ref document number: 4633334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees