[go: up one dir, main page]

JP2011081553A - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP2011081553A
JP2011081553A JP2009232541A JP2009232541A JP2011081553A JP 2011081553 A JP2011081553 A JP 2011081553A JP 2009232541 A JP2009232541 A JP 2009232541A JP 2009232541 A JP2009232541 A JP 2009232541A JP 2011081553 A JP2011081553 A JP 2011081553A
Authority
JP
Japan
Prior art keywords
signal
data
lsi
enable signal
slave
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.)
Pending
Application number
JP2009232541A
Other languages
English (en)
Inventor
Atsushi Kazama
敦 風間
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009232541A priority Critical patent/JP2011081553A/ja
Priority to US12/923,676 priority patent/US8433835B2/en
Publication of JP2011081553A publication Critical patent/JP2011081553A/ja
Pending 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

【課題】バスを占有する期間を削減する。
【解決手段】アドレス線とデータ線が共通であるバスと、アドレス信号のラッチタイミングを制御するラッチ制御信号の活性化時に、読み出し動作もしくは書き込み動作を行う従属制御回路と、前記ラッチ制御信号と、読み出し動作時でアドレス信号のラッチタイミングの所定の期間後に活性化時され読み出し動作を判定させる出力イネーブル信号と、従属制御回路の前記書き込み動作時で活性化時に書き込み動作を判定させる書き込みイネーブル信号と、を出力する主制御回路とを有し、主制御回路は、従属制御回路が書き込み動作を行う場合、前記書き込みイネーブル信号を少なくともアドレス信号をラッチする前に活性化させ、従属制御回路は、アドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、読み出し動作の判定を行う。
【選択図】図1

Description

本発明は、情報処理装置及びその制御方法に関する。
図8にSRAMインターフェイスバスを用いて接続される情報処理装置1のブロック構成を示す。図8に示すように、情報処理装置1は、マスターLSI10と、スレーブLSI20と、ROM30と、SRAMインターフェイスバス40とを有する。
SRAMインターフェイスバス40は、マスターLSI10、スレーブLSI20、ROM30が接続される。SRAMインターフェイスバス40は、アドレス信号とデータ信号が同じバス線で共通して伝達されるAD−muxタイプのSRAMインターフェイスバスである。SRAMインターフェイスバス40には、AD−muxタイプのSRAMインターフェイスプロトコルに従った各制御信号、アドレス信号、データ信号が伝達される。つまり、SRAMインターフェイスバス40では、アドレス信号と、データ信号が同時に伝達されることが禁止されている。
マスターLSI10は、スレーブLSI20及びROM30を制御する。マスターLSI10は、SRAMインターフェイスバス40を経てスレーブLSI20もしくはROM30にアクセスし、スレーブLSI20もしくはROM30が有するデータを読み出したり、スレーブLSI20もしくはROM30に対してデータを書き込むことができる。
例えば、スレーブLSI20の有するデータを読み出す場合(以下、読み出し命令と称す)、マスターLSI10は、SRAMインターフェイスバス40を経由してスレーブLSI20へ、アドレス信号ADDR及び活性化したアドレスバリッド信号ADVBを出力する。その後、出力イネーブル信号OEBを活性化させてスレーブLSI20のラッチしたアドレス信号ADDRに対応するデータを、SRAMインターフェイスバス40を経由して読み出す。
更に、スレーブLSI20に対してデータを書き込む場合(以下、書き込み命令と称す)、マスターLSI10は、スレーブLSI20に対してアドレス信号ADDR、及び、活性化したアドレスバリッド信号ADVBを出力する。その後、書き込みイネーブル信号WEBを活性化させ、スレーブLSI20のラッチしたアドレス信号ADDRに対応するSRAMインターフェイスバス40に書き込みデータを出力する。
なお、ROM30の有するデータを読み出す場合も、スレーブLSI20の有するデータを読み出す場合と基本的に同様の動作を行う。
また、マスターLSI10は、外部にRAM11が接続されている。マスターLSI10とRAM11とは、例えばDDRバスで接続されている。このRAM11には、マスターLSI10が管理するメモリアドレス空間がマッピングされている。更に、マスターLSI10には、周辺LS112が接続されている。この周辺LSI112とマスターLSI110とは、例えばシリアルバスで接続されている。
ROM30は、マスターLSI10で処理を行うためのプログラムやデータ等が保存されている。ROM30は、SRAMインターフェイスバス40を介してマスターLSI10からアクセスされ、保持しているデータ等を読み出し、マスターLSI10へ出力する。例えば、マスターLSI10からアドレス信号ADDR及び活性化したアドレスバリッド信号ADVBを受けアドレス信号ADDRの値をラッチする。その後、活性化した出力イネーブル信号OEBを受け、ラッチしたアドレス信号ADDRの値に応じたデータを読み出し、SRAMインターフェイスバス40に出力する。ROM30は、NOR型フラッシュメモリや、擬似SRAM等により構成される。
スレーブLSI20はマスターLSI10からの指示に基づいて、所定の処理を行うプロセッサで、例えば通信プロトコル制御、画像処理等、情報処理装置1の機能の一部を実現している。スレーブLSI20は、マスターLSI10のコントロール下に置かれている。そして、マスターLSI10からのアクセスにより、後述するスレーブLSI20配下のメモリデータを読み出し、その読み出しデータを返信したり、マスターLSI10からの書き込みデータをスレーブLSI20配下のメモリデータとして書き込んだりする。
また、スレーブLSI20は、バス変換回路21と、ダイレクトメモリアクセス回路(DMA)22と、プロセッサ回路23と、メモリコントローラ回路(MEMC)24と、周辺回路25と、内部バス26とを有する。また、スレーブLSI20は、外部にRAM27が接続されている。RAM27とは、メモリコントローラ回路24が、例えばDDRバスで接続されている。スレーブLSI20は内部メモリ空間を有しており、この内部メモリ空間には、RAM27で展開されているメモリアドレス空間や周辺回路25やレジスタ等のスレーブLSI20内部の各回路に割り当てられたメモリアドレス空間を含んでいる。以降では上記内部メモリ空間から読み出されるデータもしくは内部メモリ空間に書き込まれるデータをスレーブLSI20配下のメモリデータと称するものとする。
バス変換回路21は、SRAMインターフェイスバス40からの各種信号をスレーブLSI20の内部バス26に対応した信号に変換、また逆に、内部バス26からの各種信号をSRAMインターフェイスバス40に対応した信号に変換するプロトコル変換処理を行う。また、バス変換回路21は、SRAMインターフェイスバス40から伝達されるアドレス信号の値や書き込みデータ信号の値を一時的に保持するバッファや、保持したアドレス信号の値を元に後続アドレスのデータを事前に読み出して保持するプリフェッチバッファ等を有してもよい。
ダイレクトメモリアクセス回路(DMA)22は、例えば、読み出しデータがバーストアクセスを要求されている場合、要求される連続データをRAM27から読み出す。プロセッサ回路23は、スレーブLSI20の各回路を制御し、要求される各種処理動作を行う。メモリコントローラ回路24は、接続されるRAM27に対するデータの読み出し、書き込み、リフレッシュ動作等を行う。周辺回路25は、例えばタイマー等がある。
図9、図10に上記情報処理装置1のスレーブLSI20の内部動作を説明するタイミングチャートを示す。まず、図9は、マスターLSI10からのアクセスにより、スレーブLSI20配下のメモリデータが読み出される動作を説明するタイミングチャートである。なお、外部クロック信号CLK、チップセレクト信号CSB、アドレスバリッド信号ADVB、出力イネーブル信号OEB、書き込みイネーブル信号WEBは、マスターLSI10から出力され、SRAMインターフェイスバス40を経てスレーブLSI20が受け取る。また、これらの信号は、負論理信号であるとする。
同期アクセス用の外部クロック信号CLKは、バス変換回路21の動作クロックである。チップセレクト信号CSBは、バス変換回路21のスタンバイ状態、通常動作状態を制御する。アドレスバリッド信号ADVBは、スレーブLSI20がSRAMインターフェイスバス40に伝達されるアドレス信号をラッチするタイミングを制御する。出力イネーブル信号OEBは、スレーブLSI20に対するデータの読み出し動作を制御する信号である。書き込みイネーブル信号WEBは、スレーブLSI20に対するデータの書き込み動作を制御する信号である。
また、ウェイト信号WAITBは、バス変換回路21から出力され、SRAMインターフェイスバス40を経てマスターLSI10が受け取る。なお、ウェイト信号WAITBも負論理信号であるとする。ウェイト信号WAITBは、マスターLSI10に対して、スレーブLSI20がビジー状態であることを示す信号である。
図9に示すように、時刻t1において、例えば同時に、マスターLSI10からのチップセレクト信号CSB及びアドレスバリッド信号ADVBがロウレベルに立ち下がる。また、SRAMインターフェイスバス40には、マスターLSI10から出力されたアドレス信号ADDRが伝達されている。
時刻t1に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路21がスタンバイ状態から通常動作状態となる。そして、時刻t2において、外部クロック信号CLKが立ち上がる。このとき、アドレスバリッド信号ADVBがロウレベルのため、この外部クロック信号CLKが立ち上がりエッジに同期して、バス変換回路21がアドレス信号ADDRをラッチする。なお、このラッチしたアドレス信号の値はバス変換回路21のバッファに保持される。
時刻t3で、アドレスバリッド信号ADVBが立ち上がる。また同時にスレーブLSI20は、ロウレベルのウェイト信号WAITBをマスターLSI10に出力する。
時刻t4で、出力イネーブル信号OEBが立ち下がる。バス変換回路21は、ロウレベルの出力イネーブル信号OEBを受け取ると、マスターLSI10からのアクセスが読み出し命令であると判定し、スレーブLSI20は上記ラッチしたアドレス信号の値に応じたスレーブLSI20配下のメモリデータの読み出し動作を開始する。なお、このスレーブLSI20が読み出すスレーブLSI20配下のメモリデータには、周辺回路25が生成または保持するレジスタデータや、スレーブLSI20の制御下にある外部のRAM27に保持されるデータ等を含めるものとする。
そして、スレーブLSI20は、時刻t5以降に上述したスレーブLSI20配下のメモリデータの読み出し動作を行う。この読み出し動作には、内部アクセス時間として例えば外部クロック信号CLKが4クロック分のTacsを必要とするものとする。この内部アクセス時間Tacsには、例えば、SRAMインターフェイスバス40からの各種信号をスレーブLSI20の内部バス26に対応した信号に変換する処理時間、バス変換回路21が内部バス26を使って周辺回路25や外部のRAM27にアクセスする時間、バス変換回路21の発行するアクセスがプロセッサ23やDMA22の発行するアクセスと内部バス26で競合して待ち合う時間等のスレーブLSI20内部の様々な動作処理時間が含まれる。
時刻t5から内部アクセス時間Tacs後の時刻t6に上記スレーブLSI20配下のメモリデータの読み出し動作が完了し、ウェイト信号WAITBが立ち上がる。そして、時刻t7の外部クロック信号CLKが立ち上がりエッジに応じて、バス変換回路21から読み出しデータDATA1が、SRAMインターフェイスバス40に出力される。なお、読み出しデータがバーストアクセスである場合、時刻t8に連続して読み出しデータDATA2がSRAMインターフェイスバス40に出力される。図9ではDATA1、DATA2のみだが、更に連続した読み出しデータの出力が可能である。
最後に、時刻t9で、例えば同時に、出力イネーブル信号OEB及びチップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなりバス変換回路21がスタンバイ状態となり、マスターLSI10からのアクセスによるスレーブLSI20配下のメモリデータが読み出される一連の動作が終了する。なお、図2では、書き込みイネーブル信号WEBは、常にハイレベルとなっている。
図10は、マスターLSI10からのアクセスにより、書き込みデータDATA1、DATA2がスレーブLSI20配下のメモリデータに書き込まれる動作を説明するタイミングチャートである。なお、時刻t3までの動作は、図9と同様であるため説明は省略する。但し、時刻t3でアドレス信号ADDRをラッチすると、バス変換回路21はこのラッチ動作から所定の期間、ウェイト信号WAITBをロウレベルとする。
時刻t4で、書き込みイネーブル信号WEBが立ち下がる。バス変換回路21は、ロウレベルの書き込みイネーブル信号WEBを受け取ると、マスターLSI10からのアクセスが書き込み命令であると判定し、スレーブLSI20は上記ラッチしたアドレス信号の値に応じてスレーブLSI20配下のメモリデータに書き込みデータを書き込むための書き込み動作を行う。但し、この時点では、書き込みデータがマスターLSI10から出力されていないため書き込み動作を行わず、書き込みデータ待ち状態となる。つまり、時刻t4では、バス変換回路21は書き込み動作を行う判定動作までしかすることができない。
マスターLSI10から書き込みデータDATA1が出力されると、外部クロック信号CLKの立ち上がりエッジに応じて時刻t5に書き込みデータDATA1をラッチして、内部アドレス空間に書き込みデータを書き込む。なお、書き込みデータがバーストアクセスである場合、時刻t6に連続して書き込みデータDATA2をラッチして、内部アドレス空間に書き込みデータを書き込む。
時刻t7で、例えば同時に、書き込みイネーブル信号WEB及びチップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなりバス変換回路21がスタンバイ状態となる。その後の時刻8以降で、スレーブLSI20内部のアクセスが開始され、ラッチしたアドレス信号の値に対して、書き込みデータDATA1、DATA2をスレーブLSI20配下のメモリデータに書き込む。なお、図10での書き込み動作では、出力イネーブル信号OEBは、常にハイレベルとなっている。
なお、上述した図9、図10と同様のタイミングチャートが非特許文献1、2に記載されている。
http:www.numonyx.com/Documents/Datasheets/309823_M18_Discrete_DS.pdf http:edevice.fujitsuu.com/jp/datasheet/j−ds/j511448.pdf
ここで、図8に示すように、マスターLSI10には、SRAMインターフェイスバス40を介して、スレーブLSI20とROM30とが並列に接続されている。このため、図9の読み出し動作で説明したように、マスターLSI10がスレーブLSI20にアクセスし、読み出しデータがSRAMインターフェイスバス40に出力されるまでの内部アクセス時間Tacsを含めたレイテンシが発生する。このレイテンシの期間、SRAMインターフェイスバス40がマスターLSI10とスレーブLSI20とのアクセスのみに占有されてしまう。このため、レイテンシの期間においてマスターLSI10がROM30にアクセスして保持データを読み出すことができず、マスターLSI10の動作パフォーマンスが低下してしまう問題が発生する。このため、可能な限り、マスターLSI10がスレーブLSI20にアクセスし、読み出しデータがSRAMインターフェイスバス40に出力されるまでのレイテンシを削減する機構が求められている。
本発明の一態様は、外部記憶回路が接続され、アドレス線とデータ線が共通であるインターフェイスバスと、前記インターフェイスバスに接続され、そのインターフェイスバスに伝達されているアドレス信号のラッチタイミングを制御するラッチ制御信号の活性化時に、そのアドレス信号の値に応じた内部メモリ空間に対し、データの読み出し動作もしくはデータの書き込み動作を行うスレーブコントローラと、前記インターフェイスバスに接続され、前記アドレス信号と、前記ラッチ制御信号と、前記スレーブコントローラの前記データの読み出し動作時であって、アドレス信号のラッチタイミングの所定の期間後に活性化時され、その活性化時に前記内部メモリ空間に対するデータの読み出し動作を判定させる出力イネーブル信号と、前記スレーブコントローラの前記データの書き込み動作時であって、活性化時に前記スレーブコントローラが前記内部メモリ空間に対するデータの書き込み動作を判定させる書き込みイネーブル信号と、を前記スレーブコントローラに出力するマスターコントローラと、を有し、前記マスターコントローラは、前記スレーブコントローラが前記内部メモリ空間に対し、データの書き込み動作を行う場合、前記書き込みイネーブル信号を少なくとも前記スレーブコントローラがアドレス信号をラッチする前に活性化させ、前記スレーブコントローラは、アドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、前記出力イネーブル信号にかかわらず、データの読み出し動作の判定を行う情報処理装置である。
本発明の別の態様は、外部記憶回路が接続され、アドレス線とデータ線が共通であるインターフェイスバスと、前記インターフェイスバスに接続され、そのインターフェイスバスに伝達されているアドレス信号のラッチタイミングを制御するラッチ制御信号の活性化時に、そのアドレス信号の値に応じた内部メモリ空間に対し、データの読み出し動作もしくはデータの書き込み動作を行うスレーブコントローラと、前記インターフェイスバスに接続され、前記アドレス信号と、前記ラッチ制御信号と、前記スレーブコントローラの前記データの読み出し動作時であって、アドレス信号のラッチタイミングの所定の期間後に活性化時され、その活性化時に前記内部メモリ空間に対するデータの読み出し動作を判定させる出力イネーブル信号と、前記スレーブコントローラの前記データの書き込み動作時であって、活性化時に前記スレーブコントローラが前記内部メモリ空間に対するデータの書き込み動作を判定させる書き込みイネーブル信号と、を前記スレーブコントローラに出力するマスターコントローラと、を有する半導体集積回路の制御方法であって、前記マスターコントローラが前記スレーブコントローラの前記内部メモリ空間に対するデータの書き込み動作を行わせる場合、前記書き込みイネーブル信号を少なくとも前記スレーブコントローラがアドレス信号をラッチする前に活性化させ、前記スレーブコントローラがアドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、前記出力イネーブル信号にかかわらず、データの読み出し動作の判定を行わせる情報処理装置の制御方法である。
本発明の更に別の態様は、マスターコントローラからの指示に基づいて、所定の処理を行うスレーブコントローラと、アドレス線とデータ線が共通であるアドレス・データバスを含み、アドレス信号のラッチタイミングを制御するラッチ制御信号と、前記マスターコントローラがデータ書き込みを要求するための書き込みイネーブル信号及び読み出しを要求するための出力イネーブル信号と、を少なくとも伝送するインターフェイスバスと、を有し、前記スレーブコントローラは、前記インターフェイスバスに接続され、前記ラッチ制御信号と前記書き込みイネーブル信号に基づいて、前記マスターコントローラからの読み出しの要求を検出し、前記出力イネーブル信号が活性化される前に前記読み出しの要求に係る処理を開始することを特徴とする情報処理装置である。
本発明にかかる情報処理装置は、スレーブコントローラが、アドレス信号のラッチタイミングの所定の期間後に活性化時され、その活性化時に前記内部メモリ空間に対するデータの読み出し動作を判定させる出力イネーブル信号にかかわらず、アドレス信号をラッチするときに、データの読み出し動作の判定を行うことができる。このため、出力イネーブル信号が活性化される前にデータの読み出し動作の判定を行うことができ、データの読み出し動作を早期に開始することが可能である。この結果、マスターコントローラとスレーブコントローラとのアクセスでインターフェイスバスを占有する期間を削減することが可能となる。このように、マスターコントローラとスレーブコントローラとでインターフェイスバスを占有していた時間が短くなり、その分マスターコントローラと記憶回路とのアクセス可能時間を確保することができ、情報処理装置の処理能力が上昇する。
本発明にかかる情報処理装置は、処理能力の向上が可能である。
実施の形態にかかる情報処理装置のブロック構成の一例である。 実施の形態にかかるスレーブLSIのデータ読み出し動作を説明するタイミングチャートである(外部クロック同期タイプ)。 実施の形態にかかるスレーブLSIのデータ書き込み動作を説明するタイミングチャートである(外部クロック同期タイプ)。 従来の情報処理装置のデータ読み出し動作を説明するタイミングチャートである(外部クロック非同期タイプ)。 従来の情報処理装置のデータ書き込み動作を説明するタイミングチャートである(外部クロック非同期タイプ)。 実施の形態にかかるスレーブLSIのデータ読み出し動作を説明するタイミングチャートである(外部クロック非同期タイプ)。 実施の形態にかかるスレーブLSIのデータ書き込み動作を説明するタイミングチャートである(外部クロック非同期タイプ)。 従来の情報処理装置のブロック構成の一例である。 従来のスレーブLSIのデータ読み出し動作を説明するタイミングチャートである(外部クロック同期タイプ)。 従来のスレーブLSIのデータ書き込み動作を説明するタイミングチャートである(外部クロック同期タイプ)。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。図1に本実施の形態にかかる情報処理装置100のブロック構成の一例を示す。情報処理装置100は、マスターLSI110と、スレーブLSI120と、ROM130と、SRAMインターフェイスバス140とを有する。このように情報処理装置100は、複数のLSI(ROM130も1つのLSIとみなす)が集積されており、それら複数のLSIがSRAMインターフェイスバス140で接続されているシステムを構成している。
SRAMインターフェイスバス140は、マスターLSI110、スレーブLSI120、ROM130が接続される。SRAMインターフェイスバス140は、アドレス信号とデータ信号が同じバス線を共通して伝達されるAD−muxタイプのSRAMインターフェイスバスである。SRAMインターフェイスバス140には、AD−muxタイプのSRAMインターフェイスプロトコルに従った各制御信号、アドレス信号、データ信号が伝達される。つまり、SRAMインターフェイスバス140では、アドレス信号と、データ信号が同時に伝達されることが禁止されている。
マスターLSI110は、スレーブLSI120及びROM130を制御する。マスターLSI110は、SRAMインターフェイスバス140を経てスレーブLSI120もしくはROM130にアクセスし、スレーブLSI120もしくはROM130が有するデータを読み出したり、スレーブLSI120もしくはROM130に対してデータを書き込んだりすることができる。
例えば、スレーブLSI120配下のメモリデータを読み出す場合(以下、必要に応じて読み出し命令と称す)、マスターLSI110は、スレーブLSI120に対してアドレス信号ADDR及び活性化したアドレスバリッド信号ADVBをSRAMインターフェイスバス140へ出力する。その後、出力イネーブル信号OEBを活性化させてスレーブLSI120のラッチしたアドレス信号ADDRに対応するデータを、SRAMインターフェイスバス140に出力させ、そのSRAMインターフェイスバス140に伝達されるデータ信号を入力する。
なお、ROM130の有するデータを読み出す場合も、スレーブLSI120の有するデータを読み出す場合と基本的に同様の動作を行う。
更に、スレーブLSI120配下のメモリデータに書き込みを行う場合(以下、書き込み命令と称す)、マスターLSI110は、スレーブLSI120に対してアドレス信号ADDR、及び、活性化したアドレスバリッド信号ADVB、及び、活性化した書き込みイネーブル信号WEBをSRAMインターフェイスバス140へ出力する。なお、後述するが、書き込みイネーブル信号WEBを活性化するタイミングは、少なくともスレーブLSI120がアドレス信号ADDRをラッチする前に行うものとする。その後、スレーブLSI120のラッチしたアドレス信号ADDRに対応する書き込みデータ信号をSRAMインターフェイスバス140へ出力する。この間、出力イネーブル信号OEBは常に非活性化状態となっている。よって、出力イネーブル信号OEBの活性化、非活性化は、SRAMインターフェイスバス140に伝達されているデータ信号もしくはアドレス信号のマスターLSI110に対する入出力方向を切り替える役割を持っているとみなすことができる。
また、マスターLSI110は、外部にRAM111が接続されている。マスターLSI110とRAM111とは、例えばDDRバスで接続されている。このRAM111には、マスターLSI110が管理するメモリアドレス空間がマッピングされている。更に、マスターLSI110には、周辺LSI112が接続されている。この周辺LSI112とマスターLSI110とは、例えばシリアルバスで接続されている。この周辺LSI112としては、例えば、電源LSI等がある。また、図面上では省略しているが、マスターLSI110は、プロセッサや内部バス、SRAMインターフェイス140と内部バスを接続するバス変換回路、内部バスとRAM111とを接続するメモリコントローラ等を有しており、それらが集積化されている。
ROM130は、マスターLSI110で処理を行うためのプログラムやデータ等が保存されている。ROM130は、SRAMインターフェイスバス140を介してマスターLSI110からアクセスされ、保持しているデータ等を読み出し、マスターLSI110へ出力する。例えば、マスターLSI110からアドレス信号ADDR及び活性化したアドレスバリッド信号ADVBを受けアドレス信号ADDRの値をラッチする。その後、活性化した出力イネーブル信号OEBを受け、ラッチしたアドレス信号ADDRの値に応じたデータを読み出し、SRAMインターフェイスバス140に出力する。また、このSRAMインターフェイスバス140に接続される回路として、ROM130以外には、NOR型フラッシュメモリや、擬似SRAM、OneNAND等がある。
スレーブLSI120は、バス変換回路121と、ダイレクトメモリアクセス回路(DMA)122と、プロセッサ回路123と、メモリコントローラ回路(MEMC)124と、周辺回路125と、内部バス126とを有する。また、スレーブLSI120は、外部にRAM127が接続されている。
スレーブLSI120はマスターLSI110からの指示に基づいて、所定の処理を行うプロセッサで、例えば通信プロトコル制御、画像処理等、情報処理装置100の機能の一部を実現している。スレーブLSI120は、マスターLSI110のコントロール下に置かれている。そして、マスターLSI110からのアクセスにより、スレーブLSI120配下のメモリデータを読み出し、その読み出しデータを返信したり、マスターLSI110からの書き込みデータをスレーブLSI120配下のメモリデータに書き込んだりする。スレーブLSI120は内部メモリ空間を有しており、この内部メモリ空間には、RAM127で展開されているメモリアドレス空間や、周辺回路125やレジスタ等のスレーブLSI120内部の各回路に割り当てられたメモリアドレス空間を含んでいる。以降では上記内部メモリ空間から読み出されるデータもしくは内部メモリ空間に書き込まれるデータをスレーブLSI120配下のメモリデータと称するものとする。また、スレーブLSI120配下のメモリデータには、周辺回路125が生成または保持するレジスタデータや、スレーブLSI120の制御下にある外部のRAM127に保持されるデータ等を含めるものとする。
スレーブLSI120は、バス変換回路121によりマスターLSI110からアドレス信号ADDR及び活性化したアドレスバリッド信号ADVBを受けアドレス信号ADDRの値をラッチする。そして、バス変換回路121によりそのラッチ動作と同時に出力イネーブル信号OEB及び書き込みイネーブル信号WEBの活性化状態を検出し、その検出結果に応じてマスターLSI110からのアクセスが読み出し命令なのか、書き込み命令なのかを判定する。具体的には、出力イネーブル信号OEB及び書き込みイネーブル信号WEBが共に非活性化状態では、マスターLSI110からのアクセスが読み出し命令であると判定する。また、出力イネーブル信号OEBが非活性化、書き込みイネーブル信号WEBが活性化状態では、マスターLSI110からのアクセスが書き込み命令であると判定する。
バス変換回路121がマスターLSI110からのアクセスが読み出し命令であると判定した場合、スレーブLSI120はラッチしたアドレス信号ADDRの値に応じたスレーブLSI120配下のメモリデータを読み出し、出力イネーブル信号OEBの活性化後にその読み出しデータをSRAMインターフェイスバス140に出力する。
バス変換回路121がマスターLSI110からのアクセスが書き込み命令であると判定した場合、スレーブLSI120はマスターLSI110からの書き込みデータ信号を待ち、書き込みデータ信号が送信されたらその書き込みデータ信号の値をラッチして、スレーブLSI120配下のメモリデータに書き込みを行う。
RAM127は、スレーブLSI120と例えばDDRバスで接続されている。RAM127には、例えば、スレーブLSI120が管理するメモリアドレス空間がマッピングされている。このメモリアドレス空間に展開されているデータは、マスターLSI110によってROM130からRAM127に展開されたプロセッサ回路123のプログラムコードやスレーブLSI120内の各回路が生成するデータが含まれているものとする。
バス変換回路121は、SRAMインターフェイスバス140からの各種信号をスレーブLSI120の内部バス126に対応した信号に変換、また逆に内部バス126からの各種信号をSRAMインターフェイスバス140に対応した信号に変換するプロトコル変換処理を行う。また、バス変換回路121は、マスターLSI110からのアクセスが読み出し命令か、書き込み命令かの判定を行う。また、SRAMインターフェイスバス140から伝達されるアドレス信号の値や書き込みデータ信号の値を一時的に保持するバッファ、保持したアドレス信号の値を元にして後続アドレスのデータを事前に読み出して保持するプリフェッチバッファ等を有してもよい。
また、バス変換回路121は、モード切替レジスタ132を有する。このモード切替レジスタ132は、マスターLSI110からのアクセスが読み出し命令か書き込み命令かの判定タイミングを切り替えるための情報を記憶する。例えば、モード切替レジスタ132の値が第1の状態(例えば、値が「0」)である場合、上述したように判定タイミングをアドレス信号のラッチ時に行い、第2の状態(例えば、値が「1」)である場合、図9、図10で説明した従来と同様のタイミングで判定を行うようにする。但し、情報処理装置100のシステムが、マスターLSI110からのアクセスが読み出し命令か書き込み命令かの判定タイミングを切り替える必要がなければ、このモード切替レジスタ132を省略してもかまわない。
ダイレクトメモリアクセス回路(DMA)122は、例えば、RAM127とRAM127、あるいは、RAM127と周辺回路125の間でデータ転送を行う。プロセッサ回路123は、スレーブLSI120の各回路を制御し、要求される各種処理動作を行う。メモリコントローラ回路(MEMC)124は、接続されるRAM127に対するデータの読み出し、書き込み、リフレッシュ動作等を行う。RAM127とは、例えばDDRバスで接続されている。周辺回路125は、例えば、タイマー等がある。
図2、図3に上記情報処理装置100のスレーブLSI120の内部動作を説明するタイミングチャートを示す。まず、図2は、マスターLSI110からのアクセスにより、スレーブLSI120配下のメモリデータが読み出される動作を説明するタイミングチャートである。
同期アクセス用の外部クロック信号CLKは、バス変換回路121の動作クロックであり、マスターLSI110から出力される。チップセレクト信号CSBは、バス変換回路121のスタンバイ状態、通常動作状態を制御する。アドレスバリッド信号ADVBは、スレーブLSI120がSRAMインターフェイスバス140に伝達されるアドレス信号をラッチするタイミングを制御する。出力イネーブル信号OEBは、スレーブLSI120に対するデータの読み出し動作を制御する信号である。書き込みイネーブル信号WEBは、スレーブLSI120に対するデータの書き込み動作を制御する信号である。チップセレクト信号CSB、アドレスバリッド信号ADVB、出力イネーブル信号OEB、書き込みイネーブル信号WEBは、マスターLSI110から出力される。
また、ウェイト信号WAITBは、バス変換回路121から出力され、SRAMインターフェイスバス140を経てマスターLSI110が受け取る。なお、ウェイト信号WAITBも負論理信号であるとする。ウェイト信号WAITBは、マスターLSI110に対して、スレーブLSI120がビジー状態であることを示す信号である。
図2に示すように、時刻t11において、例えば同時に、マスターLSI110からのチップセレクト信号CSB及びアドレスバリッド信号ADVBがロウレベルに立ち下がる。また、SRAMインターフェイスバス140には、マスターLSI110から出力されたアドレス信号ADDRが伝達されている。
時刻t11に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路121がスタンバイ状態から通常動作状態となる。そして、時刻t12で、外部クロック信号CLKが立ち上がる。このとき、アドレスバリッド信号ADVBがロウレベルのため、この外部クロック信号CLKの立ち上がりエッジに同期して、バス変換回路121がアドレス信号ADDRをラッチする。なお、このラッチしたアドレス信号の値は、バス変換回路121のバッファに保持される。
また、これと同時にバス変換回路121が、出力イネーブル信号OEB、書き込みイネーブル信号WEBの信号レベルをモニターする。そして、出力イネーブル信号OEB及び書き込みイネーブル信号WEBが共にハイレベル(非活性化状態)である場合、マスターLSI110からのアクセスが読み出し命令であると判定し、スレーブLSI120は、上記ラッチしたアドレス信号の値に応じたスレーブLSI120配下のメモリデータの読み出し動作を開始する。このスレーブLSI120配下のメモリデータの読み出し動作は、図9で説明したのと同様、スレーブLSI120の内部アクセス時間として例えば外部クロックCLKが4クロック分のTacsを必要とするものとする。このため、時刻t12から内部アクセス時間Tacs後の時刻t15まで、スレーブLSI120は上述したスレーブLSI120配下のメモリデータの読み出し動作を行う。この内部アクセス時間Tacsには、例えば、SRAMインターフェイスバス140からの各種信号をスレーブLSI120の内部バス126に対応した信号に変換する処理時間、バス変換回路121が内部バス126を使って周辺回路125や外部のRAM127にアクセスする時間、バス変換回路121の発行するアクセスがプロセッサ123やDMA122の発行するアクセスと内部バス126で競合して待ち合う時間等のスレーブLSI120内部の様々な動作処理時間が含まれる。
時刻t13では、アドレスバリッド信号ADVBが立ち上がる。また同時にスレーブLSI120は、ロウレベルのウェイト信号WAITBをマスターLSI110に出力する。
時刻t14で、出力イネーブル信号OEBが立ち下がる。但し、従来のスレーブLSI20とは異なり、スレーブLSI120は、既に時刻t11でスレーブLSI120配下のメモリデータの読み出し動作を開始している。
時刻t12から内部アクセス時間Tacs後の時刻t15に上記スレーブLSI120配下のメモリデータの読み出し動作が完了し、ウェイト信号WAITBが立ち上がる。そして、時刻t16の外部クロックCLKが立ち上がりエッジに応じて、スレーブLSI120から読み出しデータDATA1が、SRAMインターフェイスバス140に出力される。なお、読み出しデータがバーストアクセスである場合、時刻t17に連続して読み出しデータDATA2がSRAMインターフェイスバス140に出力される。なお、図2ではDATA1、DATA2のみだが、更に連続した読み出しデータの出力が可能である。
最後に、時刻t18で、例えば同時に、出力イネーブル信号OEB及びチップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなりバス変換回路121がスタンバイ状態となり、マスターLSI110からのアクセスによるスレーブLSI120配下のメモリデータが読み出される一連の動作が終了する。なお、図2では、書き込みイネーブル信号WEBは、常にハイレベルとなっている。
図3は、マスターLSI110からのアクセスにより、書き込みデータDATA1、DATA2がスレーブLSI120配下のメモリデータに書き込まれる動作を説明するタイミングチャートである。図3に示すように、時刻t11において、例えば同時に、マスターLSI110からのチップセレクト信号CSB、アドレスバリッド信号ADVB、書き込みイネーブル信号WEBがロウレベルに立ち下がる。また、SRAMインターフェイスバス140には、マスターLSI110から出力されたアドレス信号ADDRが伝達されている。
時刻t11に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路121がスタンバイ状態から通常動作状態となる。そして、時刻t12で、外部クロックCLKが立ち上がる。このとき、アドレスバリッド信号ADVBがロウレベルのため、この外部クロックCLKの立ち上がりエッジに同期して、バス変換回路121がアドレス信号ADDRをラッチする。
また、これと同時にバス変換回路121が、出力イネーブル信号OEB、書き込みイネーブル信号WEBの信号レベルをモニターする。そして、出力イネーブル信号OEBがハイレベル(非活性化状態)、書き込みイネーブル信号WEBがロウレベル(活性化状態)である場合、スレーブLSI120は、マスターLSI110からのアクセスが書き込み命令であると判定する。そして、スレーブLSI20は上記ラッチしたアドレス信号の値に応じてスレーブLSI120配下のメモリデータに、書き込みデータを書き込むための書き込み動作を開始する。但し、この時点では、書き込みデータがマスターLSI110から出力されていないため書き込み動作を行わず、書き込みデータ待ち状態となる。つまり、時刻t12では、スレーブLSI120は書き込み動作を行う判定動作までしかすることができない。
時刻t13で、アドレスバリッド信号ADVBが立ち上がる。また、スレーブLSI120は、ロウレベルのウェイト信号WAITBを所定の期間、マスターLSI110に出力する。
その後、マスターLSI110から書き込みデータDATA1が出力されると、バス変換回路121が、外部クロックCLKの立ち上がりエッジに応じて時刻t14に書き込みデータDATA1をラッチする。なお、書き込みデータがバーストアクセスである場合、時刻t15に連続して書き込みデータDATA2をバス変換回路121がラッチする。
時刻t16で、例えば同時に、書き込みイネーブル信号WEB及びチップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなることから、バス変換回路121がスタンバイ状態となる。その後の時刻17以降で、スレーブLSI120内部のアクセスが開始され、ラッチしたアドレス信号の値に対して、書き込みデータDATA1、DATA2をスレーブLSI120配下のメモリデータに書き込む。なお、図3での書き込み動作では、出力イネーブル信号OEBは、常にハイレベルとなっている。
以上が、マスターLSI110からのアクセスによるスレーブLSI120の読み出し、書き込み動作の説明である。
ここで、従来の情報処理装置1では、マスターLSI10からのアクセスにより、スレーブLSI20配下のメモリデータに書き込みデータを書き込む場合、アドレスバリッド信号ADVBが活性化状態の後、非活性化状態になってから書き込みイネーブル信号WEBを活性化状態としていた。
また、マスターLSI10からのアクセスにより、スレーブLSI20配下のメモリデータが読み出される場合、アドレスバリッド信号ADVBが活性化状態の後、非活性化状態になるまで、出力イネーブル信号OEBを非活性化状態としていた。これは、SRAMインターフェイスバス40がアドレス信号とデータ信号が同じバス線に対して共通して伝達されるAD−muxタイプであるため、マスターLSI10からアドレス信号もしくは書き込みデータ信号が出力される場合に、スレーブLSI20もしくはROM30からのデータ出力を禁止するためである。よって、出力イネーブル信号OEBを活性化するタイミングは変更することができず、図9に示すように、スレーブLSI20は出力イネーブル信号OEBが活性化した後の時刻t5からスレーブLSI20配下のメモリデータの読み出し動作を開始しなければならなかった。
このように、従来の情報処理装置1では、アドレス信号ADDRをラッチするタイミングでは、マスターLSI10からのアクセスが読み出し命令であるか、書き込み命令であるかを判定することができず、出力イネーブル信号OEBもしくは書き込みイネーブル信号WEBの活性化を待つ必要があった。
このため、マスターLSI10からのアクセスにより、スレーブLSI20配下のメモリデータが読み出される場合、スレーブLSI20から読み出しデータが出力されるまでの内部アクセス時間Tacsを含めた長時間のレイテンシが発生していた。このように、マスターLSIからスレーブLSIのアクセスレイテンシは、ROMやRAMに対するアクセスレイテンシと異なり固定されておらず、しかもマスターLSIからROMやRAMに対するアクセスレイテンシと比較してかなりの長時間必要であった。このレイテンシが発生する期間中、SRAMインターフェイスバス40がマスターLSI10とスレーブLSI20とのアクセスのみに占有されてしまっていた。この結果、レイテンシが発生する期間中、マスターLSI10がROM30にアクセスして保持データを読み出すことができず、マスターLSI10の動作パフォーマンスが低下してしまう問題が発生していた。
しかし、本実施の形態の情報処理装置100では、図2に示すように時刻t12のアドレス信号ADDRをラッチするタイミングで、マスターLSI110からのアクセスが読み出し命令であるかを判定し、スレーブLSI120配下のメモリデータの読み出し動作を開始している。これは、マスターLSI110からのアクセスが書き込み命令である場合の書き込みイネーブル信号WEBの活性化タイミングを従来の情報処理装置1よりも早くする制御を行うことで可能としている。具体的には図3のタイミングチャートで示したように、書き込みイネーブル信号WEBの活性化タイミングを少なくともアドレス信号ADDRをラッチするタイミングに遅れることなく行うよう調整している。
このように、書き込みイネーブル信号WEBの活性化タイミングを調整することにより、アドレス信号ADDRをラッチするタイミングでマスターLSI110からのアクセスが読み出し命令であるかの判定を行うことが可能となる。例えば、アドレス信号ADDRをラッチするタイミングで、出力イネーブル信号OEBと書き込みイネーブル信号WEBが共に非活性化状態となっている場合、マスターLSI110からのアクセスが読み出し命令であると判定できる。一方、アドレス信号ADDRをラッチするタイミングで、出力イネーブル信号OEBは非活性化状態、書き込みイネーブル信号WEBは活性化状態となっている場合、マスターLSI110からのアクセスが書き込み命令であると判定できる。この結果、スレーブLSI120が、アドレス信号ADDRをラッチするタイミングでスレーブLSI120配下のメモリデータの読み出し動作を開始することができる。
ここで、図2と図9のタイミングチャートを比較する。内部アクセス時間Tacsは、情報処理装置1と100で変わりはない。しかし、情報処理装置100は、マスターLSI110からのアクセスが読み出し命令であるかの判定を、アドレス信号ADDRをラッチするタイミング(図2の時刻t12)で行っている。このため、情報処理装置100では、スレーブLSI120配下のメモリデータの読み出し動作を、情報処理装置1と比較して図9の時刻t2から時刻t5の期間に相当する時間分短縮することができる。この結果、SRAMインターフェイスバス140がマスターLSI110とスレーブLSI120とのアクセスのみに占有される時間も削減することができ、マスターLSI110の動作パフォーマンスを上げることが可能となる。
また、既存の信号線を利用しているため、新たな制御信号を加えたり、LSIの外部端子数や信号線数を増加させることもなく、情報処理装置100の読み出し動作速度を上げることができる。このため、チップの再設計コストや、端子や配線数増加に伴うチップ面積の増加を伴わずに、情報処理装置100の処理能力を上げることが可能となっている。
また、上述したように、バス変換回路121がモード切替レジスタ132を有し、このモード切替レジスタ132が保持する値により、図2、図3で示したタイミングチャートの動作(以下、第1の動作モードと称す)と、図9、図10で示したタイミングチャートの動作(以下、第2の動作モードと称す)とを切り替えるようにすることが可能である。このモード切替レジスタ132の値は、マスターLSI110が設定するようにする。なお、当然であるがモード切替レジスタ132の設定値に応じて、マスターLSI110が出力する各種信号は、第1、第2の動作モードに対応したものとなるようにする。
発明の実施の形態2
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。上述した実施の形態1では、マスターLSI110からのアクセスが、同期アクセス用の外部クロックCLKに同期して処理されている例を示したが、本実施の形態2では、外部クロックCLKに非同期の場合の例を説明する。ブロック構成は、図1の情報処理装置100と同様なため説明は省略する。
図4、図5に本実施の形態2の情報処理装置100のスレーブLSI120の内部動作を説明するタイミングチャートを示す。まず、図4は、マスターLSI110からのアクセスにより、スレーブLSI120配下のメモリデータが読み出される動作を説明するタイミングチャートである。
チップセレクト信号CSBは、バス変換回路121のスタンバイ状態、通常動作状態を制御する。アドレスバリッド信号ADVBは、バス変換回路121がSRAMインターフェイスバス140に伝達されるアドレス信号をラッチするタイミングを制御する。出力イネーブル信号OEBは、スレーブLSI120に対するデータの読み出し動作を制御する信号である。書き込みイネーブル信号WEBは、スレーブLSI120に対するデータの書き込み動作を制御する信号である。本実施の形態2では、実施の形態1とは異なり、アドレスラッチタイミングを、外部クロックCLKの立ち上がりエッジで行わず、アドレスバリッド信号ADVBの立ち上がりエッジで行うものとする。
また、ウェイト信号WAITBは、バス変換回路121から出力され、SRAMインターフェイスバス140を経てマスターLSI110が受け取る。なお、ウェイト信号WAITBも負論理信号であるとする。ウェイト信号WAITBは、スレーブLSI120がビジー状態であることを示す信号である。
図4に示すように、時刻t11において、マスターLSI110からのチップセレクト信号CSBがロウレベルに立ち下がる。また、SRAMインターフェイスバス140には、マスターLSI110から出力されたアドレス信号ADDRが伝達されている。時刻t11に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路121がスタンバイ状態から通常動作状態となる。
時刻t12において、アドレスバリッド信号ADVBがロウレベルに立ち下がる。そして、時刻t13において、アドレスバリッド信号ADVBがハイレベルに立ち上がる。このアドレスバリッド信号ADVBの立ち上がりエッジに応じて、バス変換回路121がアドレス信号ADDRをラッチする。
また、これと同時にバス変換回路121が、出力イネーブル信号OEB、書き込みイネーブル信号WEBの信号レベルをモニターする。そして、出力イネーブル信号OEB及び書き込みイネーブル信号WEBが共にハイレベル(非活性化状態)である場合、マスターLSI110からのアクセスが読み出し命令であると判定し、スレーブLSI120は、上記ラッチしたアドレス信号の値に応じたスレーブLSI120配下のメモリデータの読み出し動作を開始する。このスレーブLSI120配下のメモリデータの読み出し動作は、図9で説明したのと同じ期間のTacsを必要とするものとする。このため、時刻t13から内部アクセス時間Tacs後の時刻t15まで、スレーブLSI120が実施の形態1での説明と同様のスレーブLSI120配下のメモリデータの読み出し動作を行う。そして、スレーブLSI120配下のメモリデータの読み出し動作を行う間、ロウレベルのウェイト信号WAITBをマスターLSI110に出力する。
時刻t14で、出力イネーブル信号OEBが立ち下がる。
時刻t13から内部アクセス時間Tacs後の時刻t15に上記スレーブLSI120配下のメモリデータの読み出し動作が完了し、ウェイト信号WAITBが立ち上がる。そして、スレーブLSI120から読み出しデータDATAが、SRAMインターフェイスバス140に出力される。
時刻t16で、出力イネーブル信号OEBがハイレベルに立ち上がり、最後に時刻t17で、チップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなりバス変換回路121がスタンバイ状態となり、マスターLSI110からのアクセスによるスレーブLSI120のスレーブLSI120配下のメモリデータが読み出される一連の動作が終了する。なお、図4では、書き込みイネーブル信号WEBは、常にハイレベルとなっている。
図5は、マスターLSI110からのアクセスにより、書き込みデータDATAがスレーブLSI120配下のメモリデータに書き込まれる動作を説明するタイミングチャートである。図5に示すように、時刻t11において、マスターLSI110からのチップセレクト信号CSBがロウレベルに立ち下がる。また、SRAMインターフェイスバス140には、マスターLSI110から出力されたアドレス信号ADDRが伝達されている。時刻t11に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路121がスタンバイ状態から通常動作状態となる。
時刻t12において、書き込みイネーブル信号WEBがロウレベルに立ち下がる。そして、時刻t13において、アドレスバリッド信号ADVBがロウレベルに立ち下がる。更に、時刻t14において、アドレスバリッド信号ADVBがハイレベルに立ち上がる。このアドレスバリッド信号ADVBの立ち上がりエッジに応じて、バス変換回路121がアドレス信号ADDRをラッチする。そして、バス変換回路121は、このラッチ動作から所定の期間、ウェイト信号WAITBをロウレベルとする。
また、これと同時にバス変換回路121が、出力イネーブル信号OEB、書き込みイネーブル信号WEBの信号レベルをモニターする。そして、出力イネーブル信号OEBがハイレベル(非活性化状態)、書き込みイネーブル信号WEBがロウレベル(活性化状態)である場合、スレーブLSI120は、マスターLSI110からのアクセスが書き込み命令であると判定する。そして、上記ラッチしたアドレス信号の値に応じたスレーブLSI120配下のメモリデータに、書き込みデータを書き込むための書き込み動作を行う。但し、この時点では、書き込みデータがマスターLSI110から出力されていないため書き込み動作を行わず、書き込みデータ待ち状態となる。つまり、時刻t14では、スレーブLSI120は書き込み動作を行う判定動作までしかすることができない。
時刻t15にマスターLSI110からSRAMインターフェイスバス140に書き込みデータDATAが出力される。そして、時刻t16に書き込みイネーブル信号WEBが立ち上がる。この書き込みイネーブル信号WEBの立ち上がりエッジに同期して、バス変換回路121が、書き込みデータDATAをラッチする。
時刻t17で、チップセレクト信号CSBがハイレベルとなり、バス変換回路121がスタンバイ状態となる。その後の時刻17以降で、スレーブLSI120内部のアクセスが開始され、ラッチしたアドレス信号の値に対して、書き込みデータDATAをスレーブLSI120配下のメモリデータに書き込む。なお、図5での書き込み動作では、出力イネーブル信号OEBは、常にハイレベルとなっている。
以上が、本実施の形態2のマスターLSI110からのアクセスによるスレーブLSI120の読み出し、書き込み動作の説明である。
ここで、従来の情報処理装置1において、マスターLSI10からのアクセスが、同期アクセス用の外部クロックCLKに非同期処理されている場合のタイミングチャートを図6、図7に示し、本実施の形態2との違いを説明する。まず、図6は、マスターLSI10からのアクセスにより、スレーブLSI20配下のメモリデータが読み出される動作を説明するタイミングチャートである。
図6に示すように、時刻t1において、マスターLSI10からのチップセレクト信号CSBがロウレベルに立ち下がる。また、SRAMインターフェイスバス40には、マスターLSI10から出力されたアドレス信号ADDRが伝達されている。時刻t1に上記チップセレクト信号CSBがロウレベルとなることから、バス変換回路21がスタンバイ状態から通常動作状態となる。
時刻t2において、アドレスバリッド信号ADVBがロウレベルに立ち下がる。そして、時刻t3において、アドレスバリッド信号ADVBがハイレベルに立ち上がる。このアドレスバリッド信号ADVBの立ち上がりエッジに応じて、バス変換回路21がアドレス信号ADDRをラッチする。
そして、時刻t4に出力イネーブル信号OEBがロウレベルに立ち下がる。バス変換回路21は、ロウレベルの出力イネーブル信号OEBを受け取ると、マスターLSI10からのアクセスが読み出し命令であると判定し、スレーブLSI20は上記ラッチしたアドレス信号の値に応じたスレーブLSI20配下のメモリデータの読み出し動作を開始する。このスレーブLSI20配下のメモリデータの読み出し動作は、図9で説明したのと同じ期間のTacsを必要とするものとする。このため、時刻t4から内部アクセス時間Tacs後の時刻t5まで、スレーブLSI20が実施の形態1での説明と同様のスレーブLSI20配下のメモリデータの読み出し動作を行う。そして、スレーブLSI20配下のメモリデータの読み出し動作を行う間、ロウレベルのウェイト信号WAITBをマスターLSI10に出力する。
時刻t4から内部アクセス時間Tacs後の時刻t5に上記スレーブLSI20配下のメモリデータの読み出し動作が完了し、ウェイト信号WAITBが立ち上がる。そして、スレーブLSI20から読み出しデータDATAが、SRAMインターフェイスバス40に出力される。
時刻t6に出力イネーブル信号OEBがハイレベルに立ち上がり、最後に時刻t7で、出力イネーブル信号OEB及びチップセレクト信号CSBがハイレベルとなる。チップセレクト信号CSBがハイレベルとなりバス変換回路21がスタンバイ状態となり、マスターLSI10からのアクセスによるスレーブLSI20のスレーブLSI20配下のメモリデータが読み出される一連の動作が終了する。なお、図6では、書き込みイネーブル信号WEBは、常にハイレベルとなっている。
図7は、書き込みデータDATAがスレーブLSI20配下のメモリデータに書き込まれる動作を説明するタイミングチャートである。なお、時刻t3までの動作は、図9と同様であるため説明は省略する。但し、時刻t3でアドレス信号ADDRをラッチすると、バス変換回路21はこのラッチ動作から所定の期間、ウェイト信号WAITBをロウレベルとする。
時刻t4で、書き込みイネーブル信号WEBが立ち下がる。スレーブLSI20は、ロウレベルの書き込みイネーブル信号WEBを受け取ると、マスターLSI10からのアクセスが書き込み命令であると判定し、上記ラッチしたアドレス信号の値に応じたスレーブLSI20配下のメモリデータに、書き込みデータを書き込むための書き込み動作を行う。但し、この時点では、書き込みデータがマスターLSI10から出力されていないため書き込み動作を行わず、書き込みデータ待ち状態となる。つまり、時刻t4では、スレーブLSI20は書き込み動作を行う判定動作までしかすることができない。
その後、マスターLSI10からSRAMインターフェイスバス40に書き込みデータDATAが出力される。そして、時刻t5に書き込みイネーブル信号WEBが立ち上がる。この書き込みイネーブル信号WEBの立ち上がりエッジに同期して、バス変換回路21が、書き込みデータDATAをラッチする。
時刻t6で、チップセレクト信号CSBがハイレベルとなり、バス変換回路21がスタンバイ状態となる。その後の時刻6以降で、スレーブLSI20内部のアクセスが開始され、ラッチしたアドレス信号の値に対して、書き込みデータDATAをスレーブLSI20配下のメモリデータに書き込む。なお、図7での書き込み動作では、出力イネーブル信号OEBは、常にハイレベルとなっている。
ここで、図4と図6のタイミングチャートを比較する。内部アクセス時間Tacsは、情報処理装置1と100で変わりはない。しかし、情報処理装置100は、マスターLSI110からのアクセスが読み出し命令であるかの判定を、アドレス信号ADDRをラッチするタイミング(図4の時刻t13)で行っている。このため、情報処理装置100では、スレーブLSI120配下のメモリデータの読み出し動作を、情報処理装置1のスレーブLSI20配下のメモリデータの読み出し動作と比較して、図6の時刻t3から時刻t4の期間に相当する時間分短縮することができる。
この結果、マスターLSI110からのアクセスが、同期アクセス用の外部クロックCLKに非同期で処理されているとしても実施の形態1と同様、SRAMインターフェイスバス140がマスターLSI110とスレーブLSI120とのアクセスのみに占有される時間を削減することができ、マスターLSI110の動作パフォーマンスを上げることが可能となる。また、その他の効果も実施の形態1と同様である。
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、図3では、書き込みイネーブル信号WEBがロウレベルに立ち下がるタイミングを、アドレスバリッド信号ADVBの立ち下がりタイミングと同じにしているが、少なくともアドレス信号ADDRのラッチするタイミングより前であればよい。例えば、図3では時刻t12より前、更に図5では時刻t13より前であればよい。これは、本発明では、マスターLSI110からのアクセスが読み出し命令であるか、書き込み命令であるかの判定を、アドレス信号ADDRのラッチするタイミングで行っているからである。
また、実施の形態2では、アドレスバリッド信号ADVBの立ち上がりエッジ(図4、図5の時刻t13)で、アドレス信号ADDRのラッチ動作、及び、読み出し命令であるか書き込み命令かの判定動作を行っているが、アドレスバリッド信号ADVBの立ち下がりエッジ(図4、図5の時刻t12)で行ってもかまわない。但し、書き込みイネーブル信号WEBの活性化タイミングは、このアドレスバリッド信号ADVBの立ち下がりエッジより前となるようにする。
100 情報処理装置
110 マスターLSI
111 RAM
112 周辺LSI
120 スレーブLSI
121 バス変換回路
122 DMA
123 プロセッサ
124 MEMC
125 周辺回路
126 内部バス
127 RAM
130 ROM
140 SRAMインターフェイスバス

Claims (10)

  1. 外部記憶回路が接続され、アドレス線とデータ線が共通であるインターフェイスバスと、
    前記インターフェイスバスに接続され、そのインターフェイスバスに伝達されているアドレス信号のラッチタイミングを制御するラッチ制御信号の活性化時に、そのアドレス信号の値に応じた内部メモリ空間に対し、データの読み出し動作もしくはデータの書き込み動作を行うスレーブコントローラと、
    前記インターフェイスバスに接続され、
    前記アドレス信号と、
    前記ラッチ制御信号と、
    前記スレーブコントローラのデータの読み出し動作時において、アドレス信号のラッチタイミングの所定の期間後に活性化時され、その活性化時に前記内部メモリ空間に対するデータの読み出し動作を判定させるための出力イネーブル信号と、
    前記スレーブコントローラのデータの書き込み動作時において、活性化時に前記スレーブコントローラに前記内部メモリ空間に対するデータの書き込み動作を判定させるための書き込みイネーブル信号と、
    を前記スレーブコントローラに出力するマスターコントローラと、を有し、
    前記マスターコントローラは、前記スレーブコントローラが前記内部メモリ空間に対するデータの書き込み動作を行う場合、前記書き込みイネーブル信号を少なくとも前記スレーブコントローラがアドレス信号をラッチする前に活性化させ、
    前記スレーブコントローラは、アドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、前記出力イネーブル信号にかかわらず、データの読み出し動作の判定を行う
    情報処理装置。
  2. 前記インターフェイスバスは、SRAMインターフェイスバスである
    請求項1に記載の情報処理装置。
  3. 前記スレーブコントローラは、アドレス信号のラッチ、及び、データの読み出し動作の判定を、前記マスターコントローラからの外部動作クロックに同期して行う
    請求項1または請求項2に記載の情報処理装置。
  4. 前記スレーブコントローラは、アドレス信号のラッチ、及び、データの読み出し動作の判定を、前記ラッチ制御信号の非活性化から活性化するタイミング、もしくは、前記ラッチ制御信号の活性化から非活性化するタイミングに同期して行う
    請求項1または請求項2に記載の情報処理装置。
  5. 前記スレーブコントローラは、前記マスターコントローラが、保持する値を制御するモード切替レジスタを有し、
    モード切替レジスタの保持する値が第1の状態のとき、前記スレーブコントローラは、アドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、前記出力イネーブル信号にかかわらず、データの読み出し動作の判定を行い、
    モード切替レジスタの保持する値が第2の状態のとき、前記スレーブコントローラは、出力イネーブル信号が活性化した場合に、データの読み出し動作を判定する
    請求項1〜請求項3のいずれか1項に記載の情報処理装置。
  6. 外部記憶回路が接続され、アドレス線とデータ線が共通であるインターフェイスバスと、
    前記インターフェイスバスに接続され、そのインターフェイスバスに伝達されているアドレス信号のラッチタイミングを制御するラッチ制御信号の活性化時に、そのアドレス信号の値に応じた内部メモリ空間に対し、データの読み出し動作もしくはデータの書き込み動作を行うスレーブコントローラと、
    前記インターフェイスバスに接続され、
    前記ラッチ制御信号と、前記スレーブコントローラの前記データの読み出し動作時であって、アドレス信号のラッチタイミングの所定の期間後に活性化時され、その活性化時に前記内部メモリ空間に対するデータの読み出し動作を判定させる出力イネーブル信号と、前記スレーブコントローラの前記データの書き込み動作時であって、活性化時に前記スレーブコントローラが前記内部メモリ空間に対するデータの書き込み動作を判定させる書き込みイネーブル信号と、を前記スレーブコントローラに出力するマスターコントローラと、を有する情報処理装置の制御方法であって、
    前記マスターコントローラが前記スレーブコントローラの前記内部メモリ空間に対するデータの書き込み動作を行わせる場合、前記書き込みイネーブル信号を少なくとも前記スレーブコントローラがアドレス信号をラッチする前に活性化させ、
    前記スレーブコントローラがアドレス信号をラッチするときに、前記書き込みイネーブル信号が非活性化状態である場合、前記出力イネーブル信号にかかわらず、データの読み出し動作の判定を行わせる
    情報処理装置の制御方法。
  7. 前記インターフェイスバスは、SRAMインターフェイスバスである
    請求項6に記載の情報処理装置。
  8. マスターコントローラからの指示に基づいて、所定の処理を行うスレーブコントローラと、
    アドレス線とデータ線が共通であるアドレス・データバスを含み、アドレス信号のラッチタイミングを制御するラッチ制御信号と、前記マスターコントローラがデータ書き込みを要求するための書き込みイネーブル信号及び読み出しを要求するための出力イネーブル信号と、を少なくとも伝送するインターフェイスバスと、を有し、
    前記スレーブコントローラは、前記インターフェイスバスに接続され、前記ラッチ制御信号と前記書き込みイネーブル信号に基づいて、前記マスターコントローラからの読み出しの要求を検出し、前記出力イネーブル信号が活性化される前に前記読み出しの要求に係る処理を開始することを特徴とする
    情報処理装置。
  9. 前記マスターコントローラは、前記スレーブコントローラに対してデータの書き込みを要求する場合には、前記書き込みイネーブル信号を前記ラッチ制御信号の活性化より遅れることなく活性化し、
    前記スレーブコントローラは、前記ラッチ制御信号が活性化された際に前記書き込みイネーブル信号が活性化されているか否かを確認し、前記書き込みイネーブル信号が活性化されていない場合には前記マスターコントローラからの読み出しを要求されていることを検出する
    請求項8に記載の情報処理装置。
  10. 前記スレーブコントローラは、ローカルのメモリ空間を有し、前記ラッチ制御信号と前記書き込みイネーブル信号に基づいて前記マスターコントローラからの読み出し要求を検出した場合には、前記出力イネーブル信号が活性化される前に前記メモリ空間内の指定されたデータの読み出し動作を開始する
    請求項9に記載の情報処理装置。
JP2009232541A 2009-10-06 2009-10-06 情報処理装置及びその制御方法 Pending JP2011081553A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009232541A JP2011081553A (ja) 2009-10-06 2009-10-06 情報処理装置及びその制御方法
US12/923,676 US8433835B2 (en) 2009-10-06 2010-10-04 Information processing system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009232541A JP2011081553A (ja) 2009-10-06 2009-10-06 情報処理装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2011081553A true JP2011081553A (ja) 2011-04-21

Family

ID=43824044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009232541A Pending JP2011081553A (ja) 2009-10-06 2009-10-06 情報処理装置及びその制御方法

Country Status (2)

Country Link
US (1) US8433835B2 (ja)
JP (1) JP2011081553A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2391095A1 (en) * 2010-05-31 2011-11-30 Fluke Corporation Automatic addressing scheme for 2 wire serial bus interface
US20120290761A1 (en) * 2011-05-10 2012-11-15 Jui-Yen Chen USB Converter and Related Method
JP5795513B2 (ja) 2011-09-28 2015-10-14 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
US9153533B2 (en) * 2013-03-13 2015-10-06 Invensas Corporation Microelectronic elements with master/slave configurability
US20240020413A1 (en) * 2017-11-24 2024-01-18 ELSI, Inc. Devices, systems, and methods for securely storing and managing sensitive information
CN110012272A (zh) * 2019-04-12 2019-07-12 北京旋极信息技术股份有限公司 一种arinc818数据流的传输处理方法及装置
CN110428630B (zh) * 2019-09-10 2021-12-21 西安电子科技大学 一种道路行人检测系统及其组网方法
CN110928808B (zh) * 2019-11-21 2022-09-09 国网河南省电力公司洛阳供电公司 一种背板系统的多类型板卡自适应通信装置与方法
CN113342718B (zh) * 2021-06-28 2022-08-05 珠海一微半导体股份有限公司 一种rtc的硬件架构及其读写控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07283375A (ja) * 1994-04-15 1995-10-27 Hitachi Maxell Ltd 半導体メモリ装置
JPH08166902A (ja) * 1994-08-31 1996-06-25 Motorola Inc プログラム可能なメモリアクセスインタフェースタイプを備えた集積回路マイクロプロセッサおよび関連する方法
JPH10154395A (ja) * 1996-11-25 1998-06-09 Hitachi Ltd 半導体集積回路、半導体記憶装置及びデータ処理システム
JP2007048281A (ja) * 2005-08-11 2007-02-22 Samsung Electronics Co Ltd 非多重型メモリコントローラと多重型のメモリとをインタフェーシングするためのラッパ回路及び方法
JP2008152841A (ja) * 2006-12-15 2008-07-03 Fujitsu Ltd 半導体メモリ、半導体メモリの動作方法、メモリコントローラおよびシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757439A (en) * 1984-11-02 1988-07-12 Measurex Corporation Memory bus architecture
US4999620A (en) * 1986-08-21 1991-03-12 Ascii Corporation Apparatus for storing and accessing image data to be displayed on a display unit
US5217917A (en) * 1990-03-20 1993-06-08 Hitachi, Ltd. Semiconductor memory device with improved substrate arrangement to permit forming a plurality of different types of random access memory, and a testing method therefor
TW200603B (en) * 1991-04-11 1993-02-21 Hitachi Seisakusyo Kk Semiconductor memory device
JP2982928B2 (ja) * 1992-04-01 1999-11-29 三菱電機株式会社 半導体記憶装置
JP3218103B2 (ja) * 1992-12-25 2001-10-15 三菱電機株式会社 半導体記憶装置
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
JP3206358B2 (ja) * 1995-03-30 2001-09-10 松下電器産業株式会社 データ一時記憶装置
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
EP1008992A4 (en) * 1996-07-29 2001-01-10 Mitsubishi Electric Corp SEMICONDUCTOR STORAGE DEVICE
US6035371A (en) * 1997-05-28 2000-03-07 3Com Corporation Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device
US5950223A (en) * 1997-06-19 1999-09-07 Silicon Magic Corporation Dual-edge extended data out memory
JP3797810B2 (ja) * 1998-11-30 2006-07-19 松下電器産業株式会社 半導体装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07283375A (ja) * 1994-04-15 1995-10-27 Hitachi Maxell Ltd 半導体メモリ装置
JPH08166902A (ja) * 1994-08-31 1996-06-25 Motorola Inc プログラム可能なメモリアクセスインタフェースタイプを備えた集積回路マイクロプロセッサおよび関連する方法
JPH10154395A (ja) * 1996-11-25 1998-06-09 Hitachi Ltd 半導体集積回路、半導体記憶装置及びデータ処理システム
JP2007048281A (ja) * 2005-08-11 2007-02-22 Samsung Electronics Co Ltd 非多重型メモリコントローラと多重型のメモリとをインタフェーシングするためのラッパ回路及び方法
JP2008152841A (ja) * 2006-12-15 2008-07-03 Fujitsu Ltd 半導体メモリ、半導体メモリの動作方法、メモリコントローラおよびシステム

Also Published As

Publication number Publication date
US8433835B2 (en) 2013-04-30
US20110082956A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
JP2011081553A (ja) 情報処理装置及びその制御方法
KR100868393B1 (ko) 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리
KR100551480B1 (ko) 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법
US8707002B2 (en) Control apparatus
KR20020077331A (ko) 집적 회로
CN107257964B (zh) Dram电路、计算机系统和访问dram电路的方法
JP2008305350A (ja) メモリシステム、メモリ装置、およびメモリ装置の制御方法
JP4902640B2 (ja) 集積回路、及び集積回路システム
US20150177816A1 (en) Semiconductor integrated circuit apparatus
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
US20060236007A1 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
JP5130754B2 (ja) 半導体集積回路及びメモリシステム
EP1156421B1 (en) CPU system with high-speed peripheral LSI circuit
JP3489497B2 (ja) メモリコントローラ
JP4114749B2 (ja) メモリ制御装置および電子装置
JP7373034B1 (ja) 擬似スタティックランダムアクセスメモリ
JP3600830B2 (ja) プロセッサ
JP3563340B2 (ja) メモリコントローラ
WO2006112968A1 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
JP2001092715A (ja) データ記憶装置及びそれに用いるデータ転送方法
JP2009230346A (ja) 信号伝送装置、バスインタフェースおよび信号処理方法
JP2006127533A (ja) 情報処理装置、情報記憶装置、情報処理方法、及び情報処理プログラム
JP2007026364A (ja) チップ内部記憶に接続されたメモリコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140304