JP2007305073A - データ処理装置及びメモリコントローラチップ - Google Patents
データ処理装置及びメモリコントローラチップ Download PDFInfo
- Publication number
- JP2007305073A JP2007305073A JP2006135717A JP2006135717A JP2007305073A JP 2007305073 A JP2007305073 A JP 2007305073A JP 2006135717 A JP2006135717 A JP 2006135717A JP 2006135717 A JP2006135717 A JP 2006135717A JP 2007305073 A JP2007305073 A JP 2007305073A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- unit
- fifo
- data
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
【課題】 FIFOを用いたメモリコントローラにより外部バスアクセスの高速化を可能としたメモリシステムを提供する。
【解決手段】 データを格納するメモリ部と、メモリ部及び外部インタフェース部に接続される共有バスと、データを制御信号に応じて格納し出力するFIFO部と、データを受ける内部バスと、共有バスとFIFO部と内部バスとに接続され、与えられる制御信号に応じて、共有バスとFIFO部とを導通させ、又は、共通バスと内部バスとを導通させるバスコントローラ部と、外部インタフェース部から与えられる操作信号に応じた制御信号を、バスコントローラ部に供給する調停部とをもつデータ処理装置。
【選択図】図1
【解決手段】 データを格納するメモリ部と、メモリ部及び外部インタフェース部に接続される共有バスと、データを制御信号に応じて格納し出力するFIFO部と、データを受ける内部バスと、共有バスとFIFO部と内部バスとに接続され、与えられる制御信号に応じて、共有バスとFIFO部とを導通させ、又は、共通バスと内部バスとを導通させるバスコントローラ部と、外部インタフェース部から与えられる操作信号に応じた制御信号を、バスコントローラ部に供給する調停部とをもつデータ処理装置。
【選択図】図1
Description
この発明はメモリとインタフェースとメモリコントローラチップとによるデータ処理装置に関し、内部にFIFOバッファを備えたメモリコントローラチップをもつデータ処理装置に関する。
最近、デジタル機器の開発・普及が進んできており、これらに用いられるメモリシステムにおいても、高品質な性能が望まれている。
特許文献1には、共通パスを介して外部装置を接続する処理装置の内部バスの使用効率を向上させるアービタが開示されている。
特開2004−139296公報
しかしながら、従来技術である特許文献1は、メモリコントローラを示しているが、このシステムには、メモリバッファであるFIFOが用いられているわけではないので、十分な入出力制御が行なえず、FIFOを用いた際に具体的にどのように複数のパスの調停等を行うかがわからないという問題がある。
そこで、この発明は上記事情を考慮してなされたもので、FIFOを用いたメモリコントローラにより外部バスアクセスの高速化を可能としたメモリシステムを提供することを目的とする。
本発明に係る一実施形態は、データを格納するメモリ部と、前記メモリ部及び外部インタフェース部に接続される共有バスと、前記データを制御信号に応じて格納し出力するFIFO部と、データを受ける内部バスと、前記共有バスと前記FIFO部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記FIFO部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、前記外部インタフェース部から与えられる操作信号に応じた前記制御信号を、前記バスコントローラ部に供給する調停部とを具備することを特徴とするデータ処理装置である。
本発明によれば、FIFOを用いたメモリコントローラとメモリ等により構成された効率的なメモリシステムを提供する。
以下、この発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係るメモリコントローラを含むメモリシステムの一例を示すシステム図。図2は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すタイミングチャート。図3は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。図4は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。図5は、本発明の一実施形態に係るメモリコントローラのFIFOに対する信号入出力の動作を示すフローチャートである。
<本発明に係る一実施形態であるメモリシステム>
(構成)
初めに、本発明に係る一実施形態であるメモリシステム1の構成を説明する。メモリシステム1は、図1に示すように、一つの半導体チップであるメモリコントローラ100と、これに接続されるメモリチップ108と、PC等の情報処理装置115と、この情報処理装置115とメモリコントローラ100とを仲介するI/F部109とからなるものである。
(構成)
初めに、本発明に係る一実施形態であるメモリシステム1の構成を説明する。メモリシステム1は、図1に示すように、一つの半導体チップであるメモリコントローラ100と、これに接続されるメモリチップ108と、PC等の情報処理装置115と、この情報処理装置115とメモリコントローラ100とを仲介するI/F部109とからなるものである。
更に、メモリコントローラ100は、メモリコントローラ101と、メモリコントローラのプロセッサ間バスのインタフェース102と、メモリコントローラのメモリのインタフェース103と、メモリコントローラ内のFIFO104と、メモリコントローラ内のデータバスアービター105と、外部データバスのコントローラ106と、外部バスのコントローラ107と、CPU110と、プロセッサとメモリコントローラと外部コントローラ間のバス111と、メモリコントローラからメモリへの制御信号112と、外部コントローラからI/F部109への制御信号113と、メモリ・外部バス兼用の共有データバス114とを有している。
又、メモリコントローラ101は、外部バスコントローラ107と共有データバス114を兼用している。複数のモジュールでデータバスを兼用している半導体チップの場合、どちらかのモジュールがバスを占拠し続けることがないように作成する必要がある。
しかし、メモリコントローラ100がメモリチップ108への高速アクセスを要求される場合、メモリコントローラ100ができるだけバスを占有的に使用しながらも、外部バスコントローラ107が外部バスのI/F部109に全然アクセスできないことのないように適切なアクセス性を確保した設計にする必要がある。
そこで、FIFO104からの読込処理/FIFO104への書込処理が、一定程度、実行された段階で、外部バスからのバス要求があった場合、一度バス使用許可を外部バスコントローラ107に渡し、外部バスは1アクセス実行できるものとする。
<アクセス動作>
(タイミングチャート)
次に、本発明の一実施形態に係るメモリシステム1のアクセス動作について説明する。図2は、メモリコントローラがリード中に外部バスコントローラ107がリードを実行する場合のタイミングチャートである。メモリコントローラ101は基本的にバスを占有し、最速のタイミングでメモリチップ108からFIFOへリードしている。
(タイミングチャート)
次に、本発明の一実施形態に係るメモリシステム1のアクセス動作について説明する。図2は、メモリコントローラがリード中に外部バスコントローラ107がリードを実行する場合のタイミングチャートである。メモリコントローラ101は基本的にバスを占有し、最速のタイミングでメモリチップ108からFIFOへリードしている。
メモリチップ108からFIFOへFIFOサイクル以上のリード(又はライト)処理が行われた段階で、外部バスコントローラ107が外部バスリクエスト信号をアサートしている場合、外部バスアービターが外部バスグラント信号をアサートする。ここで、FIFOサイクルとは、FIFOの容量に対する格納に要する時間又は読出に要する時間である。
次に、外部バスコントローラ107は、外部バスのリードが実行する。外部バスのリードが終了と同時に、外部バスコントローラ107は、外部バスリクエスト信号をデアサートする。これを受けて、外部バスアービター105は、外部バスグラント信号をデアサートし、メモリチップ108からのリードを再開する。
次に、メモリチップ108に対する書込処理及び読出処理の手順を図1,図3乃至図5を用いて説明する。
(メモリチップ108への書込処理)
メモリシステム1において、CPU110からI/F部102へライト処理の指示信号(ライト信号)が出力される。I/F部102からFIFO104へデータが格納される。その際、FIFO104に一定のデータがたまるまで(FIFOサイクル)、CPU110から連続でデータが出力される。その間、内部バス111は占有される。
メモリシステム1において、CPU110からI/F部102へライト処理の指示信号(ライト信号)が出力される。I/F部102からFIFO104へデータが格納される。その際、FIFO104に一定のデータがたまるまで(FIFOサイクル)、CPU110から連続でデータが出力される。その間、内部バス111は占有される。
FIFO104に一定数のデータが格納されたら、内部バス111は開放される。インタフェース103はメモリチップ108へ、ライト信号を出力する。データバスコントローラ106はライトのタイミングに合わせて、順次FIFO104からデータを共有データバス114へ出力する。
データライト中に、CPU110が外部バスを使用しようとすると、CPU110から外部バスコントローラ107へライト信号又はリード信号が出力される。すると、外部バスコントローラ107からアービター105へリクエストが出力される。アービター105は、FIFOサイクル以上の書込処理が実行されたところで、外部バスコントローラ107へグラントを帰し、共有データバス114の使用権を渡す。
外部バスコントローラ107はグラントを受け取ったら、制御信号113にライト信号又はリード信号を出力し、データバスコントローラ106はFIFO104から入力をやめ、内部バス111のデータをI/F部109へライトもしくは、I/F部109からデータを内部バス111へリードが一回実行される。一回実行されたら、外部バスコントローラ107はアービター105へのリクエストを一度デアサートする。CPU110が外部バスコントローラ107へ引き続き、ライト信号又はリード信号を出力した場合、外部バスコントローラ107は再度アービター105へリクエストをアサートする。
アービター105は外部バスコントローラ107からのリクエストが一度デアサートしたら、次の区切りとなるまで、外部バスコントローラ107へはグラントを返さない。アービター105がグラントを返していない間は、データバスコントローラ106がFIFO104からメモリチップ108へデータを出力する。
(メモリチップ108からの読取処理)
メモリシステム1において、メモリチップ108からのリード処理は以下のような流れで実行される。
メモリシステム1において、メモリチップ108からのリード処理は以下のような流れで実行される。
CPU110からI/F部102へリード信号が出力される。インタフェース103はメモリチップ108へ、リード信号を出力する。データバスコントローラ106はリードのタイミングに合わせて、順次共有データバス114からデータをFIFO104へ格納する。その際、FIFO104に一定のデータがたまるまで(FIFOサイクル)、メモリチップ108から連続でデータが出力される。
FIFO104に一定数のデータが格納されたら、I/F部102から順次データが出力される。この間、内部バス111は占有される、FIFO104のデータを読み出したら、内部バス111は開放される。
データリード中に、CPU110が外部バスを使用しようとすると、CPU110から外部バスコントローラ107へライト信号又はリード信号が出力される。すると、外部バスコントローラ107からアービター105へリクエストが出力される。アービター105は、FIFOサイクル以上の読出処理が実行されたところで、外部バスコントローラ107へグラントを帰し、共有データバス114の使用権を渡す。
外部バスコントローラ107はグラントを受け取ったら、制御信号113にライト信号又はリード信号を出力し、データバスコントローラ106はメモリチップ108からの入力をやめ、内部バス111のデータをI/F部109へライトもしくは、I/F部109からデータを内部バス111へリードが一回実行される。一回実行されたら、外部バスコントローラ107はアービター105へのリクエストを一度デアサートする。CPU110が外部バスコントローラ107へ引き続き、ライト信号又はリード信号を出力した場合、外部バスコントローラ107は再度アービター105へリクエストをアサートする。
アービター105は外部バスコントローラ107からのリクエストが一度デアサートしたら、次の区切りとなるまで、外部バスコントローラ107へはグラントを返さない。アービター105がグラントを返していない間は、データバスコントローラ106がメモリチップ108からFIFO104へデータを入力する。
(フローチャート)
次に、図3のフローチャートを用いて、上述した本発明の一実施形態であるメモリシステム1のアクセス動作を説明する。初めに、メモリシステム1において、メモリアクセス中であれば(ステップS100)、CPU110、外部バスコントローラ107、アービター105の判断により、FIFOへの書込処理又はFIFOからの読出処理が行なわれる(ステップS101)。このとき、データバスコントローラ106は、共有バス114とFIFO部104とを導通させている。
次に、図3のフローチャートを用いて、上述した本発明の一実施形態であるメモリシステム1のアクセス動作を説明する。初めに、メモリシステム1において、メモリアクセス中であれば(ステップS100)、CPU110、外部バスコントローラ107、アービター105の判断により、FIFOへの書込処理又はFIFOからの読出処理が行なわれる(ステップS101)。このとき、データバスコントローラ106は、共有バス114とFIFO部104とを導通させている。
ここで、FIFOサイクル以上のFIFOへのアクセス、書込処理又は読出処理があれば(ステップS102)、外部バスから要求があった場合は(ステップS103)、CPU110、外部バスコントローラ107、アービター105の判断により、一度外部バスにバスを渡す。すなわち、CPU110、外部バスコントローラ107、アービター105の判断により、共通バス114と内部バス111とを導通させることによって、メモリコントローラが外部バスの使用を許可する(ステップS104)。そして、外部バスが少なくとも1回、アクセスを実行するものである(ステップS105)。
・強制的な外部バス使用
又、このとき、更に、図4に示すフローチャートのように、外部バスの要求があってから所定時間(先のFIFOサイクルとは異なり、これよりも長い任意の時間)が経過すると、強制的に外部バスの使用を許可することも好適である。
又、このとき、更に、図4に示すフローチャートのように、外部バスの要求があってから所定時間(先のFIFOサイクルとは異なり、これよりも長い任意の時間)が経過すると、強制的に外部バスの使用を許可することも好適である。
すなわち、メモリシステム1において、外部バスの要求があれば(ステップS106)、CPU110等の判断により、CPU110等で実現したタイマーを起動する(ステップS107)。そして、所定時間(先のFIFOサイクルとは異なり、これよりも長い任意の時間)が経過したかどうかを判断し(ステップS108)、タイムアップしたら、CPU110、外部バスコントローラ107、アービター105の判断により、共通バス114と内部バス111とを導通させることによって、メモリコントローラが外部バスの使用を許可する(ステップS109)。これにより、外部バスのアクセスを不当に待たせることによってシステムの動作が停滞してしまう不具合を回避して外部バスアクセスの高速化を実現することができる。
・FIFOに対する処理
次に、FIFOバッファ104に対する処理について、図5を用いて説明する。メモリコントローラ1において、FIFO104に対する格納処理又は読出処理が可能である(ステップS110)。
次に、FIFOバッファ104に対する処理について、図5を用いて説明する。メモリコントローラ1において、FIFO104に対する格納処理又は読出処理が可能である(ステップS110)。
メモリコントローラ101のFIFO104に対する格納処理が行なわれる場合は、例えば、データバスコントローラ106によりメモリチップ108とFIFO104とを導通させた状態で行なわれる(ステップS111)。この格納処理は、FIFO104の容量が一杯になるまで行なわれる(ステップS112)。
一方で、メモリコントローラ101のFIFO104からの読出処理が行なわれる場合は、例えば、データバスコントローラ106によりメモリチップ108とFIFO104とを導通させた状態で行なわれる(ステップS113)。この読出処理は、FIFO104の容量が空になるまで行なわれる(ステップS114)。
それ以外に、このようなFIFOサイクルや設定した所定時間(図4)以外にも、ユーザが任意に設定できる外部バスアクセスの強制モードを設けることで、選択的に外部アクセスを優先することも好適である。
従って、本発明に係るメモリシステムによれば、外部バスとデータを兼用することにより、メモリシステムの入出力ピン数を削減することができる。
更に、専用の外部バスも、一定の間隔で必ずアクセスが可能となりアクセスの高速化を実現するものである。
以上記載した様々な実施形態により、当業者は本発明を実現することができるが、更にこれらの実施形態の様々な変形例を思いつくことが当業者によって容易であり、発明的な能力をもたなくとも様々な実施形態へと適用することが可能である。従って、本発明は、開示された原理と新規な特徴に矛盾しない広範な範囲に及ぶものであり、上述した実施形態に限定されるものではない。
100…メモリコントローラ、102…I/F部、103…I/F部、105…アービター、106…データバスコントローラ、107…外部バスコントローラ。
Claims (10)
- データを格納するメモリ部と、
前記メモリ部及び外部インタフェース部に接続される共有バスと、
前記データを制御信号に応じて格納し出力するFIFO部と、
データを受ける内部バスと、
前記共有バスと前記FIFO部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記FIFO部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、
前記外部インタフェース部から与えられる操作信号に応じた前記制御信号を、前記バスコントローラ部に供給する調停部を具備することを特徴とするデータ処理装置。 - 前記調停部は、前記FIFO部の前記データの格納又は前記格納済みデータの出力が完了するまでは、前記共有バスと前記FIFO部とを導通させている状態から、前記共通バスと前記内部バスとを導通させている状態に遷移することはないことを特徴とする請求項1記載のデータ処理装置。
- 前記内部バスは、全体の動作を制御するCPUに接続され、更に、インタフェース部を介して前記FIFO部に接続されていることを特徴とする請求項1記載のデータ処理装置。
- 前記調停部は、前記共有バスと前記FIFO部とを導通させている状態において前記操作信号により前記外部インタフェース部からのアクセス要求があると、所定時間経過後に前記共通バスと前記内部バスとを導通させることを特徴とする請求項1記載のデータ処理装置。
- 前記調停部は、前記共有バスと前記FIFO部とが導通していない状態において、前記操作信号により前記外部インタフェース部からのアクセス要求があると、直ちに前記共通バスと前記内部バスとを導通させることを特徴とする請求項1記載のデータ処理装置。
- 外部からデータを受ける共有バスと、
前記データを制御信号に応じて格納し出力するFIFO部と、
データを受ける内部バスと、
前記共有バスと前記FIFO部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記FIFO部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、
前記バスコントローラ部に前記制御信号を供給する調停部をワンチップ上に具備することを特徴とするメモリコントローラチップ。 - 前記調停部は、前記FIFO部の前記データの格納又は前記格納済みデータの出力が完了するまでは、前記共有バスと前記FIFO部とを導通させている状態から、前記共通バスと前記内部バスとを導通させている状態に遷移することはないことを特徴とする請求項6記載のメモリコントローラチップ。
- 前記内部バスは、全体の動作を制御するCPUに接続され、更に、インタフェース部を介して前記FIFO部に接続されていることを特徴とする請求項6記載のメモリコントローラチップ。
- 前記調停部は、前記共有バスと前記FIFO部とを導通させている状態において前記操作信号により前記外部インタフェース部からのアクセス要求があると、所定時間経過後に前記共通バスと前記内部バスとを導通させることを特徴とする請求項6記載のメモリコントローラチップ。
- 前記調停部は、前記共有バスと前記FIFO部とが導通していない状態において、前記操作信号により前記外部インタフェース部からのアクセス要求があると、直ちに前記共通バスと前記内部バスとを導通させることを特徴とする請求項6記載のメモリコントローラチップ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006135717A JP2007305073A (ja) | 2006-05-15 | 2006-05-15 | データ処理装置及びメモリコントローラチップ |
US11/790,985 US20070288706A1 (en) | 2006-05-15 | 2007-04-30 | Data processing apparatus and memory controller chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006135717A JP2007305073A (ja) | 2006-05-15 | 2006-05-15 | データ処理装置及びメモリコントローラチップ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007305073A true JP2007305073A (ja) | 2007-11-22 |
Family
ID=38823283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006135717A Withdrawn JP2007305073A (ja) | 2006-05-15 | 2006-05-15 | データ処理装置及びメモリコントローラチップ |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070288706A1 (ja) |
JP (1) | JP2007305073A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015170293A (ja) * | 2014-03-10 | 2015-09-28 | 株式会社リコー | データ処理装置及びデータ転送方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907688A (en) * | 1996-06-28 | 1999-05-25 | Intel Corporation | Smart arbitration for non-symmetric data streams |
TW360823B (en) * | 1996-09-30 | 1999-06-11 | Hitachi Ltd | Data processor and graphic processor |
JP2005267148A (ja) * | 2004-03-18 | 2005-09-29 | Konica Minolta Business Technologies Inc | メモリ制御装置 |
-
2006
- 2006-05-15 JP JP2006135717A patent/JP2007305073A/ja not_active Withdrawn
-
2007
- 2007-04-30 US US11/790,985 patent/US20070288706A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015170293A (ja) * | 2014-03-10 | 2015-09-28 | 株式会社リコー | データ処理装置及びデータ転送方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070288706A1 (en) | 2007-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI529534B (zh) | 用於在內部及外部處理器之間通信之系統及方法 | |
US7450461B2 (en) | Semiconductor memory device and transmission/reception system provided with the same | |
US9798686B2 (en) | Slave side bus arbitration | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
MX2012005183A (es) | Linea de espera de comandos para componente periferico. | |
US6763448B1 (en) | Microcomputer and microcomputer system | |
CN116324744A (zh) | 具有多个命令子队列和对应的仲裁器的存储器控制器 | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
JP2006227836A (ja) | データ転送システムおよびデータ転送方法 | |
JP4642531B2 (ja) | データ要求のアービトレーション | |
US20060218313A1 (en) | DMA circuit and computer system | |
JP2007305073A (ja) | データ処理装置及びメモリコントローラチップ | |
JP2005165508A (ja) | ダイレクトメモリアクセスコントローラ | |
JP2009037639A (ja) | ストリーミングidメソッドによるdmac発行メカニズム | |
US10540305B2 (en) | Semiconductor device | |
JP2010124439A (ja) | バス中継装置 | |
JP2008176518A (ja) | マイクロコンピュータ | |
JP2005107873A (ja) | 半導体集積回路 | |
JP2002342266A (ja) | データプロセッサ | |
US20070234098A1 (en) | Self-timed clock-controlled wait states | |
JP2006127407A (ja) | 半導体集積回路 | |
JP2010140440A (ja) | バス調停装置 | |
JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
JP2006059303A (ja) | コンピュータシステム | |
JP2006309561A (ja) | ダイレクトメモリアクセスコントローラ及びそのデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081001 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100225 |