JP3570877B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP3570877B2
JP3570877B2 JP00042898A JP42898A JP3570877B2 JP 3570877 B2 JP3570877 B2 JP 3570877B2 JP 00042898 A JP00042898 A JP 00042898A JP 42898 A JP42898 A JP 42898A JP 3570877 B2 JP3570877 B2 JP 3570877B2
Authority
JP
Japan
Prior art keywords
bus
data
bank
unit
mode
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 - Lifetime
Application number
JP00042898A
Other languages
English (en)
Other versions
JPH11194994A (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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP00042898A priority Critical patent/JP3570877B2/ja
Priority to US09/226,919 priority patent/US6266777B1/en
Publication of JPH11194994A publication Critical patent/JPH11194994A/ja
Application granted granted Critical
Publication of JP3570877B2 publication Critical patent/JP3570877B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置に関し、特に複数の演算処理装置からPipeline方式を用いたシステムバスを介してメモリへのWrite動作時にデータ転送時の時間間隔を可変にしシステムバスの使用効率の向上を計る情報処理装置に関する。
【0002】
【従来の技術】
従来の情報処理装置は、図16に従来技術の情報処理装置の構成図を示す。従来技術の情報処理装置は、全て同型の処理装置(以下 PU)11、12および図示されていない複数のPUと、複数の記憶単位(以下 Bank)で構成され該PUに共有される主記憶部(以下 MM)13と、これらを接続するシステムバス(以下 Bus)14と、該PUを相互に接続する制御線15で構成する。
Bus14は、1つのPUとBus間インターフェースの転送性能と、BusとMM間インタフェースの転送性能が等しく、且つ、MM内のBankインタフェースの転送性能がメモリ素子の動作時間に依存し、且つ、Bus上のリクエスト(以下 RQ)の動作指示を意味するfieldとメモリアクセス時に参照するアドレスを意味するfieldを転送するAddress Cycle、Dataを転送するData Cycleの2 stateで1 Bus Cycleを構成している。該Busの動作はPipeline方式である。Busにおいて、RQから該RQに対応するData(以下 Response Data)は一定時間後に転送されてくる。以後、RQを発行してからデータを転送するまでの時間間隔をLatencyと呼ぶ。また、RQの送出とDataの送出の間、Busは開放された状態となり、この間に別のRQを実行する事が可能である。
制御線15は、各PUがBusを使用する為の競合調停を行う際に、自PUからのRQの種別を他の全てのPUに送る為、及びSystem内のCache coherenceを保つ目的で、Busに発行されたRQに対して自PU内の演算処理装置内にあるCacheのStatusに関する情報を他の全てのPUに送る為に用いられる。Cache Coherency protocolはsnoop方式を用いる。
転送制御装置23は、CPUとインタフェースを持ち該CPUと転送制御装置間のデータ転送を行うCPU接続手段31と、MMのBankへのアクセス状況を管理し、BankへアクセスするRQ発行時にアクセスが可能か不可能かの判断を行う為に参照されるBank Busy管理手段32と、Busに接続される各PUからの前記制御線15を介してBusに対するRQ発行の要求の調停を行い、Busの使用権をいずれかのPUに与えるBus競合調停手段34と、Busとインタフェースを持ち該Busと前記転送制御装置23間のデータ転送を行うBus接続手段35と、CPU接続手段31とBank Busy管理手段32とBus競合調停手段34とBus接続手段35を制御するRQ転送制御手段36とで構成する。
図8は、メモリへのRead動作時のタイムチャートである。図8のCycleのA、DはBusのAddress Cycle、Data Cycleを、RQはRead RQを、Dataは該RQのResponse Dataを、LatencyはBusのLatencyをそれぞれ示している。
時刻0においてRead RQがPU内で処理され、時刻2において前記RQはBusに発行され、時刻4において前記RQはMM内で処理をされ、時刻6から時刻10間において前記RQはBankアクセスを行い、時刻11においてMMは前記RQのデータを読みだし、時刻13において前記データはMM内で転送され、時刻15において前記データはBusに転送され、時刻17において前記データはPU内で転送される。RQが発行されてからデータが転送されるまでのBus上のLatencyは、12時刻である。図17は、メモリへのWrite動作時のタイムチャートである。図のCycleのA、DはBusのAddress Cycle、Data Cycleを、RQはRead RQを、Dataは該RQのResponse Dataを、LatencyはBusのLatencyをそれぞれ示している。
時刻0においてWrite RQがPU内で処理され、時刻2において前記RQはBus発行され、時刻4から時刻12において前記RQはMM内でデータの待ち合わせのために持ち回られ、時刻14から時刻18においてMMは前記RQのBankアクセスを行い、時刻13においてライトデータはPU内で転送され、時刻15において前記データはBusに転送され、時刻17において前記データはMM内で転送され、時刻19において前記データはBankに書き込まれる。RQが発行されてからデータが転送されるまでのBus上のLatencyは、Read動作時と同様に12時刻である。
図18は、あるCPUのメモリへのReadアドレスが他のCPUのCacheにDirtyでHitした場合のCache間データ転送の動作(以下 C Write)時のタイムチャートを示す。図のCycleのA、DはBusのAddress Cycle、Data Cycleを、RQはRead RQを、Dataは該RQのResponse Dataを、LatencyはBusのLatencyをそれぞれ示している。
時刻0から時刻17は、図9の動作と同様である。ここで、前記Read RQで要求しているアドレスがBusのSnoopの結果、他のPU内のCPUのCacheにDirtyでHitしDirtyでHitしたCPUからRead RQの発行元のCPUへのCache間のデータ転送のRQ(C Write RQ)が生じる。時刻18においてC Write RQがDirtyでHitしたCPUを持つPU内で処理され、時刻20において前記RQはBus発行され、時刻22においてRead RQ発行元のPU内で処理され、時刻31おいてCache間の転送データはC Write RQの発行PU内で転送され、時刻33において前記データはBusに転送され、時刻35において前記データはRead RQ発行元のPU内で転送される。RQが発行されてから対応するデータが転送されるまでのBus上のLatencyは、前記Read動作時及び前記Write動作時と同様に12時刻である。
従来の情報処理装置は、図9、10、12のタイムチャートによると、RQの種類に共通して、RQとData間に一定のLatencyがあり、該Latencyがシステム性能に影響を及ぼしていた。また、特開昭57−500445には、システムバスよりのシステムクロックにて特定のコードアドレス及びトランザクション型制御信号の発生及び確認を行うシステムバスの制御により、システムの能力増大と高速化を図る技術が記載されている。また、特開平04−372043には、アドレス信号とデータ信号の出力タイミングをクロックに対して逆位相にすることで最大転送速度を最適化する技術が記載されている。
【0003】
【発明が解決しようとする課題】
上述した従来の情報処理装置は、第一の問題点は、メモリへのライト動作時、ライト動作を要求するCPUの発行するアドレス情報とライトデータ間はLatencyの時間間隔があり、該Latencyがメモリへのライト動作の性能に潜在的な性能悪化をもたらしている。
その理由は、システムバスが、pipeline方式である為である。
第二の問題点は、Cache間のデータ転送時、データ転送元のCPUからのアドレス情報と転送データ間はLatencyの時間間隔があり、該LatencyがCache間のデータ転送の性能に潜在的な性能悪化をもたらしている。
その理由は、第一の問題点の理由と同様に、システムバスが、pipeline方式である為である。
第三の問題点は、Cache間のデータ転送の遅れが、前記転送のDataを受ける側のCPUの動作を一時的に止め複数のCPUを持つシステムの性能低下を引き起こす原因になる。その理由は、第一の問題点の理由と同様に、システムバスが、pipeline方式である為である。
【0004】
本発明の目的は、システムバスのLatencyを可変にし前記システムバスの効率的な使用を可能にする情報処理装置を提供することにある。
【0007】
【課題を解決するための手段】
本発明の情報処理装置は、1つ以上の演算処理装置と前記演算処理装置からデータを転送する時間間隔を可変に制御する転送制御装置とから構成される処理装置と、1つ以上の前記処理装置から共有して使用され記憶単位であるBankで構成される主記憶部と、前記処理装置間と前記主記憶部とを接続するパイプライン方式のBusと、前記処理装置間を接続し前記処理装置が前記Busを使用する為の競合調停を行う際に自処理装置からの転送命令を他の全処理装置に送る制御線とを有する情報処理装置において、前記転送制御装置は、前記演算処理装置からデータの転送命令を受け付けデータ転送を行うCPU接続手段と、前記主記憶部のBankアクセス状況を管理し前記Bankへアクセスするデータの転送命令の発行時にアクセスが可能か不可能かの判断を行うBank Busy管理手段と、前記演算処理装置からデータの転送命令を受け付けたとき前記Busの使用状況から前記転送命令と転送するデータとの時間間隔であるModeを設定するMode管理手段と、前記Busに接続される前記処理装置からの前記制御線を介してBusに対する前記転送命令の要求の調停を行い前記Busの使用権をいずれかの処理装置に与えるBus競合調停手段と、前記Busとインタフェースを持ち前記演算処理装置からのデータの転送を行うBus接続手段と、前記CPU接続手段と前記Bank Busy管理手段と前記Mode管理手段と前記Bus競合調停手段と前記Bus接続手段とを制御するRQ転送制御手段とを備え、前記Mode管理手段は、前記BusのData Cycleの使用状況をBus全体のTimingレジスタにより管理するBus Busy管理手段と、前記演算処理装置からのデータの転送命令がWrite命令のとき前記Bus全体のTimingレジスタの値に対応しデータを前記Busに転送するTimingを規定するModeを設定するMode設定手段と、前記Bus上に発行された転送命令の前記Modeを識別し所属する前記処理装置に対しCache間またはCacheと主記憶部間のデータ転送を行うTimingを判断するMode識別手段と、前記Bus Busy管理手段と前記Mode設定手段と前記Mode識別手段とをMode管理制御手段と、
を備えることを特徴とする。
【0009】
さらに、本発明の情報処理装置において、前記主記憶部は、Bankアクセス手段からの制御によりデータを記憶するBankと、前記Busとインタフェースを持ちBusとのデータ転送を行うMM接続手段と、前記Busからデータの転送命令に設定されている前記Modeによりデータが送られてくるTimingを識別するMode制御手段と、前記処理装置内にある前記Bank Busy管理手段と同一の機能を持つBank Busy管理手段と、前記Bankと対をなしデータの転送命令のアクセスを制御するBankアクセス手段と、前記MM接続手段と前記Mode制御手段と前記Bank Busy管理手段と前記Bankアクセス手段の制御とデータの転送命令を受け取ったときにこの転送命令のデータを受け取るまで待ち合わせるMM制御手段とを備えることを特徴とする。
【0010】
さらに、本発明の情報処理装置において、前記Mode制御手段は、前記Busからの転送命令に設定されているModeによりDataが送られてくるTimingを識別するMode識別手段と、前記Mode識別手段を制御する識別制御手段とを備えることを特徴とする。
【0011】
さらに、本発明の情報処理装置において、前記転送制御装置は、前記演算処理装置からデータの転送命令を受け付けデータ転送を行うCPU接続手段と、前記主記憶部のBankアクセス状況を管理し前記Bankへアクセスするデータの転送命令の発行時にアクセスが可能か不可能かの判断を行うBank Busy管理手段と、前記Busの使用状況を管理するBus Busy管理手段とこのBus Busy管理手段を制御するBus管理制御手段とを含むBus管理手段と、前記Busに接続される前記処理装置からの前記制御線を介してBusに対する前記転送命令の要求の調停を行い前記Busの使用権をいずれかの処理装置に与えるBus競合調停手段と、前記Busとインタフェースを持ち前記演算処理装置からのデータの転送を行うBus接続手段と、前記CPU接続手段と前記Bank Busy管理手段と前記Bus管理手段と前記Bus競合調停手段と前記Bus接続手段とを制御するRQ転送制御手段とを備えることを特徴とする。
【0012】
さらに、本発明の情報処理装置において、前記主記憶部は、Bankアクセス手段からの制御によりデータを記憶するBankと、前記Busとインタフェースを持ちBusとのデータ転送を行うMM接続手段と、前記Busの使用状況を管理するBus Busy管理手段とこのBus Busy管理手段を制御するBus管理制御手段とを含むBus管理手段と、前記処理装置内にある前記Bank Busy管理手段と同一の機能を持つBank Busy管理手段と、前記Bankと対をなしデータの転送命令のアクセスを制御するBankアクセス手段と、前記MM接続手段と前記Bus管理手段と前記Bank Busy管理手段と前記Bankアクセス手段の制御とデータの転送命令を受け取ったときにこの転送命令のデータを受け取るまで待ち合わせるMM制御手段とを備えることを特徴とする。
【0013】
さらに、本発明の情報処理装置において、前記Bus管理手段は、前記Bus Busy管理手段内のBus全体のTimingレジスタに加えて有効Timingレジスタを備えることを特徴とする。
【0014】
さらに、本発明の情報処理装置において、前記有効Timingレジスタは、Bus全体のTimingレジスタに登録されたTimingが所属する処理装置から前記Busに有効なデータの転送命令を出力したことを示し、前記Bus全体のTimingレジスタにセットされたとき同じTimingでセットされることを特徴とする。
【0015】
【発明の実施の形態】
本発明の一つの実施の形態について図面を参照して説明する。
図1は本発明の第1の実施の形態の構成を示すブロック図である。
図3は、本発明の第一および第二の実施の形態のRead動作の流れ図である。
図4は、本発明の第一および第二の実施の形態のWrite動作の流れ図である。
図5は、本発明の第一および第二の実施の形態のCache間およびCacheとMM間のData転送を行うC Write動作の流れ図である。
図6は、本発明の第一の実施の形態のRQ/Dataのフォーマットである。
図8は、本発明の第一、第二の実施の形態および従来技術のRead動作のタイムチャートである。
図9は、本発明の第一および第二の実施の形態のWrite動作のタイムチャートである。
図10は、本発明の第一および第二の実施の形態のC Write動作のタイムチャートである。
図11は、本発明の第一の実施の形態のRead動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
図12は、本発明の第一の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
図13は、本発明の第一の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値とModeの関係の一覧を示す図である。
【0016】
本発明の第一の実施の形態は、図1を参照すると、全て同型の処理装置(以下 PU)11、12および図示されていない複数のPUと、複数の記憶単位(以下 Bank)で構成されPU11、12に共有される主記憶部(以下 MM)13と、これらを接続するシステムバス(以下 Bus)14と、PU11、12を相互に接続する制御線15とから構成される。
Bus14は、PU11またはPU12とBus14間インターフェースの転送性能と、Bus14とMM13間インタフェースの転送性能が等しく、且つ、MM13内のBank46、47とのインタフェースの転送性能がメモリ素子の動作時間に依存し、且つ、Bus14上のリクエスト(以下 RQ)の動作指示を意味するfieldとメモリアクセス時に参照するアドレスを意味するfieldとを転送するAddress Cycleと、Dataを転送するData Cycleの2 stateで1 Bus Cycleを構成している。Bus14の基本動作はPipeline方式である。
MM13に対するRead動作は、RQから一定時間(以下 Latency)後に必ずMM13からResponse Dataが転送されてくる。MM13に対するWrite動作、またはCache間のWrite動作はRQからLatency内に有効なDataが存在しない最速なData Cycle(Latency後のData Cycleが最も遅いData Cycle)でWrite Dataを転送する。いずれのケースでも、RQの送出とDataの送出の間はBus14は開放された状態となり、この間に別のRQを実行することが可能である。
制御線15は、PU11、12がBus14を使用する為の競合調停を行う際に、自PUからのRQの種別を他の全てのPUに送る為、及びSystem内のCache coherenceを保つ目的で、Bus14に発行されたRQに対して自PU内の演算処理装置内にあるCacheのStatusに関する情報を他の全てのPUに送る為に用いられる。Cache Coherency protocolは、snoop方式を用いる。
各PU11、12(代表としてPU 11で説明)は、同型でCacheを備える演算処理装置(以下 CPU)21、22および図示されていない複数のCPUと、CPU21、22とBus14とのデータ転送を制御する転送制御装置23で構成される。
転送制御装置23は、CPU21、22とインタフェースを持ちCPU21、22と転送制御装置間のデータ転送を行うCPU接続手段31と、MM13のBank46、47へのアクセス状況を管理し、BankへアクセスするRQ発行時にアクセスが可能か不可能かの判断を行う為に参照されるBank Busy管理手段32と、RQによるBus14のData Cycleの使用状況を管理し、RQとDataのBus Cycleの間隔に関する情報をRQに付加情報(以下 Mode)として設定するMode管理手段33と、Bus14に接続される各PUからの前記制御線15を介してBus14に対するRQ発行の要求の調停を行い、Bus14の使用権をいずれかのPUに与えるBus競合調停手段34と、Bus14とインタフェースを持ち該Busと前記転送制御装置23間のデータ転送を行うBus接続手段35と、CPU接続手段31とBank Busy管理手段32とMode管理手段33とBus競合調停手段34とBus接続手段35を制御するRQ転送制御手段36とから構成されている。
【0017】
次に転送制御装置23の各手段を説明する。Bank Busy管理手段32は、各PUからのRQをBus競合調停手段34で調停した結果、Busを獲得したPUのRQにより使用されるBankに対してBankの使用状況の登録とアクセスの不可能である時間(以下 Bank Busy)の管理を行う。
【0018】
Bank Busy管理手段32は、メモリリードRQ(以下 Read RQ)時のBank Busyを管理するRead Busy管理手段321と、メモリライトRQ(以下 Write RQ)時のBank Busyを管理するWrite Busy管理手段322と、Read Busy管理手段321とWrite Busy管理手段322を制御するBank Busy制御手段323とから構成される。
【0019】
Mode管理手段33は、Read RQによりResponse Dataが使用するData Cycleと、Write RQおよびCache間およびCacheとMM間のData転送を行うRQ(以下 C Write RQ)により使用されるData Cycleとを各々登録するBus全体のTimingレジスタを備えてBusのData cycleの使用状況を管理するBus Busy管理手段331と、Write RQおよびC Write RQを発行するときBus Busy管理手段331のData cycleの使用状況を参照しDataをBus14上に発行するTimingを規定するModeを設定するMode設定手段332と、Bus14上に発行されたRQのModeを識別し所属するPUに対するC Write RQのDataがBus14に発行されるTimingを判断するMode識別手段333と、Bus Busy管理手段331とMode設定手段332とMode識別手段333とを制御するMode管理制御手段334とから構成される。
【0020】
Bus接続手段35は、Bus競合調停手段34による調停の結果、自PUがBus14を獲得したRQに対応するDataを、Mode管理手段33により設定されたModeの規定するTimingでBus14に発行されるまで一時的に保持するDATA保持手段351と、
Bus14とインタフェースを持ちBus14へのデータ転送を行う転送手段352と、
Bus14からのRQを識別し所属するPUへのRQを検出するRQ識別手段353と、
DATA保持手段351とBus接続手段352とRQ識別手段353とを制御する接続制御手段354とから構成される。
【0021】
転送制御手段36は、CPUから発行されたRQおよびBusからのRQを解読するRQ解読手段361と、RQのアクセスするBankがBusy状態である場合、Busyが解除されるまでの間、または、Bus競合調停手段34による調停の結果によって所属するPUがBusを獲得できなかった場合にRQを一時的に保持し、さらに保持されているRQがある場合、後続のRQを一時的に保持するRQ保持手段362と、RQ解読手段361とRQ保持手段362とを制御するRQ制御手段363とから構成される。
【0022】
次にMM13の構成を図1を参照して説明する。MM13は、Bus14とインタフェースを持ちBus14とMM13間のデータ転送を行うMM接続手段41と、Bus14からのRQに設定されているModeによりDataの送られて来るTimingを識別するMode制御手段42と、各PU内にある前記のBank Busy管理手段32と同一の機能を持つBank Busy管理手段43と、複数のBank46、47と対をなしRead/Writeのアクセスを制御するBankアクセス手段44、45および図示されていない複数のBankアクセス手段と、同型で前記Bankアクセス手段44、45からの制御によりDataを記憶するBank 46、47および図示されていない複数のBankと、MM接続手段41とMode制御手段42とBank Busy管理手段43とBankアクセス手段44、45を制御し、メモリへのWrite動作のRQを受け取った場合に該RQに対応するDataを受け取るまでRQを待ち合わせるMM制御手段48とから構成される。
【0023】
次にMM13を構成する各手段を説明する。MM接続手段41は、Bus14からのRQを識別しMM13へのRQを検出するRQ識別手段412と、Bus14とインタフェースを持ちBus14へのデータ転送を行う転送手段411と、RQ識別手段412と転送手段411を制御する接続制御手段413とから構成される。
Mode制御手段42は、Bus14からのRQに設定されているModeによりDataの送られて来るTimingを識別するMode識別手段421と、Mode識別手段421を制御する識別制御手段422とから構成される。
Bank Busy管理手段43は、各PU内にある前記のBank Busy管理手段32と同一の機能を持つRead Busy管理手段431とWrite Busy管理手段432とBank Busy制御手段433とから構成される。
各Bankアクセス手段44、45(代表としてBankアクセス手段44で説明)は、Bank46からのDataの読みだし動作のアクセスを制御するReadアクセス手段441と、Bank46へのDataの書き込み動作のアクセスを制御するWriteアクセス手段442と、Readアクセス手段441とWriteアクセス手段442を制御するアクセス制御手段443とから構成される。
MM制御手段48は、Bus14からのRQの動作指示を示すTypeからMM13への動作を解読するRQ解読手段481と、メモリへのWrite動作のRQを受け取った場合に該RQに対応するDataを受け取るまでRQを待ち合わせるRQ待機手段482と、RQ解読手段481とRQ待機手段482とを制御するRQ制御手段483とから構成される。
また、システム内のメモリは一つの論理アドレスに定義され、CPUからは、物理アドレスに変換されたアドレスがRQのアドレスとして用いられる。
【0024】
次に、第一の実施の形態のRead動作とWrite動作とC Write動作を図1、図3、図4、図5、図6、図8、図9、図10、図11、図12、図13を用いて説明する。CPU21がBank46に対しRead RQを発行した場合のRead動作について説明する。図6に示すフォーマットは、BusへのRQを示す有効ビット(V)、RQの動作指示(Type)、Write動作時に有効な付加情報(Mode)、アクセスするBank内アドレスとBank番号(Address)の4つのfieldで構成される。Read RQは、Read動作指示(命令フォーマットは図示せず)がType fieldに含まれる。Dataは、転送データで構成される。各ステップを以下 Sと記す。
【0025】
図3を参照すると、S1でCPU21がRead RQを転送制御装置23に発行する。RQ転送制御装置36では、RQをCPU接続手段31を介しRQ解読手段361で受け取る。
【0026】
S2でRQ解読手段361は、RQのTypeからRead RQであることを解読するとRQ制御手段363にRead RQに関する制御情報を渡す。
【0027】
S3でRQ制御手段363は、所属するPU内のCPUが以前に発行されたRQがRQ保持手段362内に保持されているか確認する。保持されているRQがあれば、S4としてS2で解読されたRQをRQ保持手段362の保持されているRQの列の最後尾に保持し、S5としてRQ保持手段362にある最も古いRQをS6以降の動作対象として選択する。RQ保持手段362で保持されているRQが無ければ、S2で解読されたRQをS6以降の動作対象として選択する。
【0028】
S6でBank Busy管理手段32は、選択されたRQがRead RQであることを示す情報とアクセスするBank番号を受け取り、Read Busy管理手段321を参照し該当するBank(ここではBank46)に対してアクセスが可能かを確認する。アクセス可能であればS7以降の処理を行い、アクセス不可能であればRead RQをRQ保持手段362にて一時的に保持する(S4に戻る)。
【0029】
S7でBus競合調停手段34は、各PUがBusへのRQ発行する際に生じるPU間での競合の調停を行う。この際、Bus競合調停手段34は、所属するPU11を除いた他の全てのPUから調停に必要な情報を制御線15を介して受け取り、同時に他の全てのPUが調停に必要な情報を他の全てのPUに送る。システム内の全てのPUにおいて、この調停に関する処理は同期している。Bus競合調停手段34による調停の結果、所属するPUのRead RQがBusに対して発行可能な状態になると、Bank Busy管理手段32のBank Busyの状態を更新し、S8以降の処理を行い、発行不可能な状態のときは該RQをRQ保持手段362にて一時的に保持する(S4に戻る)。
【0030】
S8でBus接続手段35は、RQ転送制御手段36からRead RQを受け取り転送手段352を用いてBusに対してRead RQを発行する。
【0031】
S9でMode管理手段33は、Busに対してRead RQを発行してからLatency後に該RQのResponse DataがBus上に存在する、すなわちBusのData Cycleを使用することを意味する情報をBus管理手段331に登録する。
Bus Busy管理手段331内のレジスタ値の変化を図11に示す。Bus全体のTimingレジスタとは、Bus上に有効なDataが存在するTimingの情報を持つ。ここでは、Latencyが7Bus Cycleである場合について説明する。BusにRQが発行される1Bus Cycle前を時刻Tとし、RQが発行された時を時刻T+1とする。時刻T+1では、発行されたRead RQのResponse Dataのタイミング(Latency後)に、Bus上に有効なDataが存在することを示すため、レジスタの最上位に1をセットする。このレジスタを毎Bus Cycleごとに右シフトし、最下位に1が来たタイミングでBusに上記Read RQのResponse DataがBusに存在することを意味する。
【0032】
S10でMM接続手段41は、Bus上のRQを取り込みRQ識別手段411でRQのTypeからRQの識別を行い、MMへのRQである場合はS11以降の処理を行い、MMへのRQでなければ動作しない。
【0033】
S11でMM制御手段48は、RQ解読手段481にてRQ識別手段411からRQを受け取りさらにRQのTypeを解読し、Read RQである場合はS12以降の処理を行い、Read RQでなければその他の動作を行う。
【0034】
S12でRQ解読手段481は、RQのAddress fieldに含まれるBank番号からアクセスするBankを解読する(ここでは、Bank46へのアクセスと解読される)。
【0035】
S13でBank Busy管理手段43は、RQ解読手段481からRQがRead RQであることを示す情報をアクセスするBank番号を受け取りRead Busy管理手段431を参照し、該当するBank(ここではBank46)に対してアクセスが可能かを確認する。アクセス可能であればS13以降の処理を行い、アクセス不可能であれば障害と識別し障害を処理する動作を行う(ここでは障害を処理する動作に関しては言及しない)。また、アクセス可能であるBankに関する情報を受け取ると、Bank Busyの状態を更新する。
【0036】
S14でBankアクセス手段44は、RQ解読手段481からのRead指示をReadアクセス手段441で受け取り、RQのAddress fieldに含まれるBank内アドレスで指定されたアドレスからDataを読みだす。
【0037】
S15でBankから読み出されたDataは、Bankアクセス手段44、MM制御手段48を介してMM接続手段41内の転送手段412からBusへ転送される。このDataは、Read RQがBusに発行されてからLatency後にBusへ転送される。
【0038】
S16でRead RQ発行元PU11は、RQ識別手段353でRQをBus上に発行してからLatency後にBus上にあるDataを該RQのResponse Dataをして受け取る。
【0039】
S17でRQ転送制御手段36は、前記Response Dataを受け取りCPU接続手段31を介してRead RQを発行したCPU21にDataを返し、一連のRead動作を終了する。
【0040】
図8は、第一の実施の形態におけるRead RQの動作のタイムチャートである。図8において、CycleのAはBusのAddress Cycleを示し、CycleのDはBusのAddress CycleのData Cycleを示し、RQはRead RQを示し、Dataは該RQのResponse Dataを示し、LatencyはBusのLatencyを示している。Read RQの動作のタイムチャートにおいて、第一の実施の形態は従来の技術と同じである(従来技術のRead動作時の説明を参照のこと)。
【0041】
次に、第一の実施の形態のWriteの動作を図1、図4、図6を用いて説明する。CPU21がBank46に対しWrite RQを発行した場合の動作について説明する。
【0042】
図4を参照すると、S1でCPU21がWrite RQ、および該RQに対応するWrite Dataを転送制御装置23に発行する。RQ転送制御装置36では、RQとDataをCPU接続手段31を介しRQ解読手段361で受け取る。
【0043】
S2でRQ解読手段361は、RQのTypeからWrite RQである事を解読するとRQ制御手段363にWrite RQに関する制御情報を渡す。
S3でRQ制御手段363は、所属するPU内のCPUが以前に発行されたRQがRQ保持手段362内に保持されているか確認する。保持されているRQがあれば、S4としてS2で解読されたRQをRQ保持手段362の保持されているRQの列の最後尾に保持し、S5としてRQ保持手段362にある最も古いRQをS6以降の動作対象として選択する。RQ保持手段362で保持されているRQが無ければ、S2で解読されたRQをS6以降の動作対象として選択する。
【0044】
S6でBank Busy管理手段32は、選択されたRQがWrite RQである事を示す情報とアクセスするBank番号を受け取り、Write Busy管理手段321を参照し該当するBank(ここではBank46)に対してアクセスが可能かを確認する。アクセス可能であればS7以降の処理を行い、アクセス不可能であればWrite RQを一時的に保持する(S4に戻る)。
【0045】
S7でBus競合調停手段34は、各PUがBusへのRQ発行する際に生じるPU間での競合の調停を行う。この際、Bus競合調停手段34は、所属するPU11を除いた他の全てのPUから調停に必要な情報を制御線15を介して受け取り、同時に、他の全てのPUが調停に必要な情報を他の全てのPUに送る。システム内の全てのPUにおいて、この調停に関する処理は同期している。Bus競合調停手段34による調停の結果、所属するPUのWrite RQがBusに対して発行可能な状態になると、Bank Busy管理手段32のBank Busyの状態を更新し、S8以降の処理を行い、発行不可能な状態であると該RQをRQ保持手段362にて一時的に保持する(S4に戻る)。
【0046】
S8でBus競合調停手段34による調停の結果、所属するPUのWrite RQがBusに対して発行可能な状態になると、Mode管理手段33は、該RQがWrite RQである情報を受け取り、Bus管理手段331でBusのData Cycleの使用状況を確認する。BusはPipeline方式により動作する為、Write RQに対応するWrite DataはWrite RQがBus上に発行されてからLatency後にBus上に転送できるが、Latency以前に使用されていないData Cycyleがある場合、Write RQがBusに発行されてから最早の使用されていないData CycleでDataをBusに転送することが可能である。この場合、Write Dataを転送するタイミングすなわち、Data Cycleを使用するタイミングを意味する情報をBus Busy管理手段331に登録し、Mode設定手段332にてWrite RQにData Cycleを使用するタイミングの情報をModeとして設定する。
Bus Busy管理手段331内のレジスタ値の変化を図12に示す(第一の実施の形態におけるRead RQ動作のS9参照)。図12を参照すると、レジスタ値(T)の状態が現在のBasの使用状態を示している。Data Cycleを使用するタイミングであるData Cycleはレジスタ値の0の位置が該当する。例えば、レジスタ値「xxxxx0」であれば0の位置が最右端であるから1番目のBus Cycleを使用しBus上にWrite RQが発行されるBasのタイミングであることを示している。同様にレジスタ値「xxxx01」であれば0の位置が2番目であるから2番目のBus Cycleを使用しBus上にWrite RQが発行されるBasのタイミングであることを示している。このBasのタイミングが図13に示すModeと対応している。すなわち、Write RQが発行されるとき図12で示すレジスタ値(T)の参照したときレジスタ値に対応したModeが決定する。
また、Write RQが発行されるときレジスタ値の0の位置に1がセットされる。前記レジスタ値(T)「xxxxx0」であれば「xxxxx1」となり、前記「xxxx01」であれば「xxxx11」となる。1Bus Cycleが経過するとレジスタ値は右シフトされた状態がレジスタ値(T+1)である。すなわち前記「xxxxx1」は「0xxxxx」となり、前記「xxxx11」は「0xxxx1」となる。最も左のBitにはLatencyではDataが存在しないことを意味する0がセットされる。
【0047】
S9でBus接続手段35は、RQ転送制御手段36からWrite RQとWrite Dataを、Mode管理手段33からModeを受け取り、Modeによって指定されたData Cycleまでの間、Write DataをData保持手段351で一時的に保持する。
【0048】
S10でBus接続手段35は、転送手段352を用いてBusに対してWrite RQを発行する。
【0049】
S11でMM接続手段41は、Bus上のRQを取り込みRQ識別手段411でRQのTypeからRQの識別を行い、MMへのRQである場合はS12以降の処理を行い、MMへのRQでない場合は動作しない。
【0050】
S12でMM制御手段48は、RQ解読手段481にてRQ識別手段411からRQを受け取りさらにRQのTypeを解読し、Write RQである場合は、前記Write RQに対応するWrite Dataを受け取るまでRQの有効ビット、Bank内アドレス、Bank番号をRQ待機手段482において一時的に待機させ、S13以降の処理を行う。Write RQでない場合はその他の動作を行う。
【0051】
S13でRQ解読手段481は、RQのAddressに含まれるBank番号からアクセスするBankを解読する(ここでは、Bank46へのアクセスと解読される)。
【0052】
S14でMode制御手段42では、RQのModeをMode識別手段421で受け取る。Mode識別手段421では、Modeの内容から受け取ったWrite RQに対応するWrite Dataが何Bus cycle後のData CycleにBus上に存在するかを識別する。
【0053】
S15でWrite RQ発行元PU11のBus接続手段35では、Data保持手段351に保持しているDataを、該RQのModeが指定するData cycleにBusへ転送する。
【0054】
S16でMM接続手段41は、Mode制御手段42からの指示によりRQ識別手段412にてModeの指示するData CycleにあるDataをBusより受け取る。
【0055】
S17でBank Busy管理手段43は、RQ解読手段481からRQがWrite RQであることを示す情報と、RQ待機手段482からアクセスするBank番号を受け取りWrite Busy管理手段431を参照し、該当するBank(ここではBank46)に対してアクセスが可能かを確認する。アクセス可能であればS13以降の処理を行い、アクセス不可能であれば障害と識別し障害を処理する動作を行う(ここでは障害を処理する動作に関しては言及しない)。また、アクセス可能であるBankに関する情報を受け取ると、Bank Busyの状態を更新する。
【0056】
S18でBankアクセス手段44は、RQ解読手段481からのWrite指示をWriteアクセス手段441で受け取り、RQ待機手段482からRQのBank内アドレスを受け取り、指定されたアドレスにDataを書き込み、一連のWrite動作を終了する。
【0057】
図11は、第一の実施の形態におけるWrite RQの動作のタイムチャートを説明する。図のCycleのA、DはBusのAddress Cycle、Data Cycleを、RQはWrite RQを、Dataは該RQのResponse Dataを、LatencyはBusのLatencyをそれぞれ示している。
図11では、Write RQがBusに発行されてからWrite DataがBus上に存在するまでの最速のタイミングを実線で表し、ModeによりWrite Dataの存在するData Cycleのタイミングの変化を点線で表す。時刻0においてWrite RQがPU内で処理され、時刻1においてライトデータはPU内で転送され、時刻2において前記RQはBus発行され、時刻3において前記データはBusに転送され、時刻4において前記RQはMM内で処理され、時刻5において前記データはMM内で転送され、時刻6から時刻10においてMMは前記RQのBankアクセスを行い、時刻11において前記データはBankに書き込まれる。RQが発行されてからデータが転送されるまでのBus上のLatencyは0時刻、すなわちLatencyがないことを意味する。
図中で点線は、Latencyが1Bus Cycle毎遅れた場合を表している。最も遅く前記データがBusに発行されるのは、時刻15であり、このときのLatencyは、Read動作時のLatencyと等しく12時刻となる。
【0058】
次に第一の実施の形態で、CPU21がBank46に対しRead RQを発行し、該RQが、PU12内に存在するCache LineにDirtyでHitし、PU12がPU11に対しC Write RQを発行した場合のC Write動作について図4、図5、図6、図9、を用いて説明する。図5は第一の実施の形態のC Write RQの動作の流れ図であり、図3のRead RQの動作の流れ図と説明および図4のWrite RQの動作の流れ図と説明とを引用する。説明には図1の名称と符合を使用する。ただし、図4のWrite RQの動作の説明を引用する場合、Write RQをC Write RQに差し替える。
【0059】
S1でCPU21がRead RQを転送制御装置23に発行する。以降の処理は、Read RQの動作の説明S1と同様であるので省略する。
S2では、Read RQの動作の説明S2からS7と同様であるので省略する。
S3では、Read RQの動作の説明S8と同様であるので省略する。
S4では、Read RQの動作の説明S9と同様であるので省略する。
S5でRead RQを発行したPU以外の全てのPU(ここでは、PU12)では、システム内のCache Coherencyを保つ為、毎Address CycleにBusをSnoopする。
S6でPU12では、SnoopしたRQのAddress fieldと自PU内に存在するCache Lineを比較し、前記Read RQの要求するDataが前記Cache LineにDirtyでHitした場合、S7以降の処理を行い、DirtyでHitしない場合、S8の処理を行う。
S7でPU12は、前記Read RQが自PU内にDirtyでHitし、C Write RQを発行することを他の全てのPU(ここでは、PU11)に対して制御線15を使って通知する。よって前記Read RQを発行したCPU21は、前記Read RQによってC Write RQが発行されることを識別する。
S8でPU12は、前記Read RQが自PU内にDirtyでHitしなかったことを他の全てのPU(ここでは、PU11)に対して制御線15を使って通知する。この場合、PU11は制御線15の情報による動作はしない。
S9では、Read RQの動作の説明S10からS14と同様であるので省略する。
S10では、Read RQの動作の説明S15からS16と同様であるので省略する。
S11でRead RQ発行元のCPU21では、自身の発行したRead RQに対してS7でPU12からC Write RQによりDataが供給されることが通知されているので、MM13からのResponse Dataを無効にする。
S12でDirtyでHitしたCache Lineを持つCPU(この場合PU12に所属している)は、Read RQの発行元のPU11に対して該RQのResponseとしてC Write RQを発行する。
S13は、Write RQの動作の説明S2からS9と同様であるので省略する。ただし、PU12に動作である為に符合は参照しない。
S14は、Write RQの動作の説明S10、S11、S14、S15と同様であるので省略する。ただし、PU12に動作である為に符合は参照しない。
S15でPU11は、C Write RQに対してRead RQの動作の説明S16と同様に動作する。この時、Mode識別手段333により、C Write RQのModeにより指定されたTimingでBusからDataを受け取る。
S16は、Read RQの動作の説明S17と同様であり、一連のC Write RQ動作を終了する。
図10を参照し、第一の実施の形態におけるC Write RQの動作をタイムチャートで説明する。図10において、CycleのA、DはBusのAddress Cycle、Data Cycleを、RQはRead RQとC Write RQを、Dataは該RQのResponse DataとC Write RQのDataを、LatencyはBusのLatencyをそれぞれ示している。図10では、Read RQがBusに発行されたことによりC Write DataがBus上に発行され、該C Write RQによるDataがBus上に最速のタイミングで存在する場合を表す。
【0060】
時刻0から時刻18までは、従来技術のRead動作と同様である(従来技術のC Write RQの動作説明参照のこと)。時刻19においてライトデータはPU内で転送され、時刻20において前記RQはBus発行され、時刻21において前記データはBusに転送され、時刻22において前記RQはRead RQ発行元のPU内で処理され、時刻23において前記データはRead RQ発行元のPU内で転送される。C Write RQが発行されてから対応するデータが転送されるまでのBus上のLatencyは0時刻、すなわちLatencyがないことを意味する。
図中で点線は、Latencyが最も遅れた場合を表している。最も遅く前記データがBusに発行されるのは、時刻33であり、このときのLatencyは、Read動作時のLatencyと等しく12時刻となる。
【0061】
次に、本発明の第二の実施の形態について図面を参照して説明する。図2は、本発明の第二の実施の形態を示すブロック図である。図7は、本発明の第二の実施の形態のRQ/Dataのフォーマットである。図14は、本発明の第二の実施の形態のRead動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。図15は、本発明の第二の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
【0062】
本発明の第二の実施の形態では、第一の実施の形態における各PU内に含まれるMode管理手段33をBus管理手段49に置き換え、MM13に含まれるMode管理手段42を各PU内に含まれる前記Bus管理手段49に置き換えた構成である。
各PU11、12内のBus管理手段49と、MM13内のBus管理手段49は同一の手段である。
【0063】
第二の実施の形態でBus管理手段49は、Read RQによりResponse Dataが使用するData Cycleと、Cache間およびCacheとMM間のData転送を行うWrite RQ(以下 C Write RQ)により使用されるData Cycleとを各々登録する2種のレジスタと、RQによるBusのData cycleの使用状況を管理するBus Busy管理手段491と、Bus Busy管理手段491を制御するBus管理制御手段492とから構成される。
【0064】
次に第二の実施の形態のRead動作とWrite動作とC Write動作を図2、図3、図4、図5、図7、図8、図9、図10、図14、図15を用いて説明する。
ただし図3において、第二の実施の形態のRead RQの動作の説明ではS12’が含まれる。図7は、Address/Data Cycleのフォーマットを示し、有効ビット(V)、RQの動作指示(Type)、アクセスするBank内アドレスとBank番号(Address)の3つのfieldで構成される。Read RQは、Read動作指示(命令フォーマットは図示せず)がType fieldに含まれる。Dataは、転送データで構成される。
【0065】
CPU21がBank46に対しRead RQを発行した場合のRead動作について図3を用いて説明する。
【0066】
S1でCPU21がRead RQを転送制御装置23に発行する。以下第一の実施の形態におけるS1からS12と同様である。
【0067】
ただし、S9の動作が異なる。S9ではBus管理手段491内のレジスタ値の変化を図14に示す。図14に示すように、Bus管理手段491内に第一の実施の形態のBus Busy管理手段331内のBus全体のTimingレジスタに加えて有効Timingレジスタを備えている。この有効Timingレジスタは、Bus全体のTimingレジスタに登録されたTimingが所属するPUからBusに有効なRQを出力したことを示し毎Bus Cycleに右シフトする。この有効Timingレジスタは、時刻T+1において、Bus全体のTimingレジスタにセットされた1が所属するPUに有効であれば同じTimingで1がセットされ、有効でなければ0がセットされる。
【0068】
S12’でBus管理手段49は、MM制御手段48からMM13が受け取ったRQがRead RQである情報を受け取り、Bus Busy管理手段491に該RQのResponse DataがBusを使用するData Cycleのタイミングを登録する。Bus Busy管理手段491のレジスタの動作は、S9のBus Busy管理手段491と同様である(ただし、「所属するPU」を「所属するMM」に読み替える)。
【0069】
S13からS17では、第一の実施の形態におけるRead動作の説明と同様である。以上により、一連のRead動作を終了する。
【0070】
図8は、第二の実施の形態におけるRead RQの動作のタイムチャートである。Read RQの動作のタイムチャートにおいて、第二の実施の形態は第一の実施の形態および従来の技術と同じである(第一の実施の形態のRead RQのタイムチャートの説明参照のこと)。
【0071】
次に第二の実施の形態で、CPU21がBank46に対しWrite RQを発行した場合のWrite動作について図4を用いて説明する。ただし図4において、第二の実施の形態のWrite RQの動作説明ではS8の代わりにS8’とし、S14の代わりにS14’とし、S15の代わりにS15’とし、S16の代わりにS16’とする。
【0072】
S1でCPU21がWrite RQを転送制御装置23に発行する。以下第一の実施の形態におけるWrite RQの動作の説明のS1からS7と同様である。
第二の実施の形態におけるWrite動作では、第一の実施の形態におけるS8の処理は行わずS8’の処理をする。
【0073】
S8’でBus競合調停手段34による調停の結果、所属するPUのWrite RQがBusに対して発行可能な状態になると、Bus管理手段33は、該RQがWrite RQである情報を受け取り、Bus Busy管理手段491でBusのData Cycleの使用状況を確認する。BusはPipeline方式により動作する為、Write RQに対応するWrite DataはWrite RQがBus上に発行されてからLatency後にBus上に転送できるが、Latency以前に使用されていないData Cycyleがある場合、Write RQがBusに発行されてから最早の使用されていないData CycleでDataをBusに転送することが可能である。
この場合、Write Dataを転送するタイミング、すなわち、Data Cycleを使用するタイミングを意味する情報をBus Busy管理手段491に登録する。
Bus Busy管理手段491内のレジスタ値の変化を図15に示す(第一の実施の形態におけるWrite RQ動作のS8、第二の実施の形態におけるRead RQ動作のS9参照)。
Bus全体のTimingレジスタの動作は、第一の実施の形態のWrite RQ動作を同様である。また、有効Timingレジスタの動作は、第一の実施の形態と同様に時刻T+1において、Bus全体のTimingレジスタにセットされた1が所属するPUに有効であれば同じTimingで1がセットされ、有効でなければ0がセットされる。
【0074】
S9からS13では、第一の実施の形態におけるWrite動作の説明S9からS13と同様である。
第二の実施の形態におけるWrite動作では、第一の実施の形態におけるS14の処理は行わずS14’の処理をする。
【0075】
S14’でBus管理手段49は、MM制御手段48からMMが受け取ったRQがWrite RQである情報を受け取り、Bus Busy管理手段491に該RQのWrite DataがBusを使用するData CycleのタイミングをS8’と同様に登録する。
第二の実施の形態におけるWrite動作では、第一の実施の形態におけるS15の処理は行わずS15’の処理をする。
【0076】
S15’でWrite RQ発行元PU11のBus接続手段35は、Data保持手段351に保持しているDataを、S3でBus Busy管理手段491に登録してあるBusのData CycleにWrite RQのWrite DataをBus上に転送する。
第二の実施の形態におけるWrite動作では、第一の実施の形態におけるS16の処理は行わずS16’の処理をする。
【0077】
S16’でMM接続手段41は、Bus管理手段49からBus Busy管理手段491の登録してあるBusのData CycleにWrite RQのWrite Dataが転送される指示を受け、RQ識別手段411にて前記の指示でData CycleにあるDataをBusより受け取る。
【0078】
S17からS18では、第一の実施の形態におけるWrite動作の説明と同様である。
以上により、一連のWrite RQの動作を終了する。
【0079】
図9は、第二の実施の形態におけるWrite RQの動作のタイムチャートである。Write RQの動作のタイムチャートにおいて、第二の実施の形態は第一の実施の形態および従来の技術と同じである(第一の実施の形態のWrite RQのタイムチャートの説明参照のこと)。
【0080】
次に第二の実施の形態のC Write動作を説明する。CPU21がBank46に対しRead RQを発行し、該RQがPU12内に存在するCache LineにDirtyでHitし、PU12がPU11に対しC Write RQを発行する動作について図5を用いて説明する。第二の実施の形態におけるC Write 動作は、第一の実施の形態のC Write動作の説明におけるRead 動作の説明とWrite動作の説明をそれぞれ第二の実施の形態のRead動作の説明とWrite 動作の説明に置き換える。
図5はC Write RQの動作の流れ図であり、図4のRead RQの動作の流れ図と説明、および図5のWrite RQの動作の流れ図と説明を引用する。説明には図2の名称と符合を使用する。ただし、Write RQの動作の説明を引用する場合、Write RQをC Write RQに差し替える。
【0081】
すなわち、Write RQの動作時にModeによる制御と有効Timingレジスタによる制御の違いで動作結果は図10のタイムチャートとなり第一の実施形態と同様となる。
【0082】
【発明の効果】
以上説明したように、本発明の第一の効果は、第一の実施の形態において、メモリに対するWrite動作が行われるRQ発行時にModeによるRQとData間の時間を可変にするのでBus上でRQとData間をLatency以下にすることが可能となる。これにより、Write RQ発行時またはC Write RQ発行時において、Dataを供給されるCPUがRQを受けてからDataを受けるまでの待ち時間をBus上でLatency以下にすることが可能となり、前記待ち時間による性能低下を押さえることが可能となる。
【0083】
第二の効果は、第二の実施の形態において、メモリに対するWrite動作が行われるRQ発行時に各PU、MMで同期を取るレジスタを設けたため、Bus上でRQとData間をLatency以下にすることが可能となる。これにより、Write RQ発行時またはC Write RQ発行時において、該RQによりDataを供給されるCPUがRQを受けてからDataを受けるまでの待ち時間をBus上でLatency以下にすることが可能となり、前記待ち時間による性能低下を押さえることが可能となる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態の構成を示すブロック図である。
【図2】本発明の第二の実施の形態の構成を示すブロック図である。
【図3】本発明の第一および第二の実施の形態のRead動作の流れ図である。
【図4】本発明の第一および第二の実施の形態のWrite動作の流れ図である。
【図5】本発明の第一および第二の実施の形態のC Write動作の流れ図である。
【図6】本発明の第一の実施の形態のRQ/Dataのフォーマットである。
【図7】本発明の第二の実施の形態のRQ/Dataのフォーマットである。
【図8】本発明の第一、第二の実施の形態及び従来技術のRead動作のタイムチャートである。
【図9】本発明の第一および第二の実施の形態のWrite動作のタイムチャートである。
【図10】本発明の第一および第二の実施の形態のCache間およびCacheとMM間のData転送を行うC Write動作のタイムチャートである。
【図11】本発明の第一の実施の形態のRead動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
【図12】本発明の第一の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
【図13】本発明の第一の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値とModeの関係の一覧を示す図である。
【図14】本発明の第二の実施の形態のRead動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
【図15】本発明の第二の実施の形態のWrite動作時のBus Busy管理手段におけるレジスタ値の変化の一覧を示す図である。
【図16】従来技術の構成図である。
【図17】従来技術のWrite動作のタイムチャートである。
【図18】従来技術のC Write動作のタイムチャートである。
【符号の説明】
11、12 PU
13 MM
14 Bus
15 制御線
21、22 CPU
23 転送制御装置
31 CPU接続手段
32 Bank Busy管理手段
321 Read Busy管理手段
322 Write Busy管理手段
323 Bank Busy制御手段
33 Mode管理手段
331 Bus Busy管理手段
332 Mode設定手段
333 Mode識別手段
334 Mode管理制御手段
34 Bus競合調停手段
35 Bus接続手段
351 Data保持手段
352 転送手段
353 RQ識別手段
354 接続制御手段
36 RQ転送制御手段
361 RQ解読手段
362 RQ保持手段
363 RQ制御手段
41 MM接続手段
411 転送手段
412 RQ識別手段
413 接続制御手段
42 Mode制御手段
421 Mode識別手段
422 識別制御手段
43 Bank Busy管理手段
431 Read Busy管理手段
432 Write Busy管理手段
433 Bank Busy制御手段
44、45 Bankアクセス手段
441 Readアクセス手段
442 Writeアクセス手段
443 アクセス制御手段
46、47 Bank
48 MM制御手段
481 RQ解読手段
482 RQ待機手段
483 RQ制御手段
49 Bus管理手段
491 Bus Busy管理手段
492 Bus管理制御手段

Claims (7)

  1. 1つ以上の演算処理装置と前記演算処理装置からデータを転送する時間間隔を可変に制御する転送制御装置とから構成される処理装置と、1つ以上の前記処理装置から共有して使用され記憶単位であるBankで構成される主記憶部と、前記処理装置間と前記主記憶部とを接続するパイプライン方式のBusと、前記処理装置間を接続し前記処理装置が前記Busを使用する為の競合調停を行う際に自処理装置からの転送命令を他の全処理装置に送る制御線とを有する情報処理装置において、
    前記転送制御装置は、前記演算処理装置からデータの転送命令を受け付けデータ転送を行うCPU接続手段と、
    前記主記憶部のBankアクセス状況を管理し前記Bankへアクセスするデータの転送命令の発行時にアクセスが可能か不可能かの判断を行うBank Busy管理手段と、
    前記演算処理装置からデータの転送命令を受け付けたとき前記Busの使用状況から前記転送命令と転送するデータとの時間間隔であるModeを設定するMode管理手段と、
    前記Busに接続される前記処理装置からの前記制御線を介してBusに対する前記転送命令の要求の調停を行い前記Busの使用権をいずれかの処理装置に与えるBus競合調停手段と、
    前記Busとインタフェースを持ち前記演算処理装置からのデータの転送を行うBus接続手段と、
    前記CPU接続手段と前記Bank Busy管理手段と前記Mode管理手段と前記Bus競合調停手段と前記Bus接続手段とを制御するRQ転送制御手段と、
    を備え
    前記Mode管理手段は、前記BusのData Cycleの使用状況をBus全体のTimingレジスタにより管理するBus Busy管理手段と、
    前記演算処理装置からのデータの転送命令がWrite命令のとき前記Bus全体のTimingレジスタの値に対応しデータを前記Busに転送するTimingを規定するModeを設定するMode設定手段と、
    前記Bus上に発行された転送命令の前記Modeを識別し所属する前記処理装置に対しCache間またはCacheと主記憶部間のデータ転送を行うTimingを判断するMode識別手段と、
    前記Bus Busy管理手段と前記Mode設定手段と前記Mode識別手段とをMode管理制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記主記憶部は、Bankアクセス手段からの制御によりデータを記憶するBankと、
    前記Busとインタフェースを持ちBusとのデータ転送を行うMM接続手段と、
    前記Busからデータの転送命令に設定されている前記Modeによりデータが送られてくるTimingを識別するMode制御手段と、
    前記処理装置内にある前記Bank Busy管理手段と同一の機能を持つBank Busy管理手段と、
    前記Bankと対をなしデータの転送命令のアクセスを制御するBankアクセス手段と、
    前記MM接続手段と前記Mode制御手段と前記Bank Busy管理手段と前記Bankアクセス手段の制御とデータの転送命令を受け取ったときにこの転送命令のデータを受け取るまで待ち合わせるMM制御手段と、
    を備えることを特徴とする請求項記載の情報処理装置。
  3. 前記Mode制御手段は、前記Busからの転送命令に設定されているModeによりDataが送られてくるTimingを識別するMode識別手段と、
    前記Mode識別手段を制御する識別制御手段と、
    を備えることを特徴とする請求項記載の情報処理装置。
  4. 1つ以上の演算処理装置と前記演算処理装置からデータを転送する時 間間隔を可変に制御する転送制御装置とから構成される処理装置と、1つ以上の前記処理装置から共有して使用され記憶単位であるBankで構成される主記憶部と、前記処理装置間と前記主記憶部とを接続するパイプライン方式のBusと、前記処理装置間を接続し前記処理装置が前記Busを使用する為の競合調停を行う際に自処理装置からの転送命令を他の全処理装置に送る制御線とを有する情報処理装置において、
    前記転送制御装置は、前記演算処理装置からデータの転送命令を受け付けデータ転送を行うCPU接続手段と、
    前記主記憶部のBankアクセス状況を管理し前記Bankへアクセスするデータの転送命令の発行時にアクセスが可能か不可能かの判断を行うBank Busy管理手段と、
    前記演算処理装置からデータの転送命令を受け付けたとき前記Busの使用状況から前記転送命令と転送するデータとの時間間隔であるModeを設定するMode管理手段と、
    前記Busに接続される前記処理装置からの前記制御線を介してBusに対する前記転送命令の要求の調停を行い前記Busの使用権をいずれかの処理装置に与えるBus競合調停手段と、
    前記Busとインタフェースを持ち前記演算処理装置からのデータの転送を行うBus接続手段と、
    前記CPU接続手段と前記Bank Busy管理手段と前記Mode管理手段と前記Bus競合調停手段と前記Bus接続手段とを制御するRQ転送制御手段と、
    を備え、
    前記転送制御装置は、前記演算処理装置からデータの転送命令を受け付けデータ転送を行うCPU接続手段と、
    前記主記憶部のBankアクセス状況を管理し前記Bankへアクセスするデータの転送命令の発行時にアクセスが可能か不可能かの判断を行うBank Busy管理手段と、
    前記Busの使用状況を管理するBus Busy管理手段とこのBus Busy管理手段を制御するBus管理制御手段とを含むBus管理手段と、
    前記Busに接続される前記処理装置からの前記制御線を介してBusに対する前記転送命令の要求の調停を行い前記Busの使用権をいずれかの処理装置に与えるBus競合調停手段と、
    前記Busとインタフェースを持ち前記演算処理装置からのデータの転送を行うBus接続手段と、
    前記CPU接続手段と前記Bank Busy管理手段と前記Bus管理手段と前記Bus競合調停手段と前記Bus接続手段とを制御するRQ転送制御手段と、
    を備えることを特徴とする情報処理装置。
  5. 前記主記憶部は、Bankアクセス手段からの制御によりデータを記憶するBankと、
    前記Busとインタフェースを持ちBusとのデータ転送を行うMM接続手段と、
    前記Busの使用状況を管理するBus Busy管理手段とこのBus Busy管理手段を制御するBus管理制御手段とを含むBus管理手段と、
    前記処理装置内にある前記Bank Busy管理手段と同一の機能を持つBank Busy管理手段と、
    前記Bankと対をなしデータの転送命令のアクセスを制御するBankアクセス手段と、
    前記MM接続手段と前記Bus管理手段と前記Bank Busy管理手段と前記Bankアクセス手段の制御とデータの転送命令を受け取ったときにこの転送命令のデータを受け取るまで待ち合わせるMM制御手段と、
    を備えることを特徴とする請求項1、または4記載の情報処理装置。
  6. 前記Bus管理手段は、前記Bus Busy管理手段内のBus全体のTimingレジスタに加えて有効Timingレジスタを備えることを特徴とする請求項4、または5記載の情報処理装置。
  7. 前記有効Timingレジスタは、Bus全体のTimingレジスタに登録されたTimingが所属する処理装置から前記Busに有効なデータの転送命令を出力したことを示し、前記Bus全体のTimingレジスタにセットされたとき同じTimingでセットされることを特徴とする請求項4、5、または6記載の情報処理装置。
JP00042898A 1998-01-05 1998-01-05 情報処理装置 Expired - Lifetime JP3570877B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00042898A JP3570877B2 (ja) 1998-01-05 1998-01-05 情報処理装置
US09/226,919 US6266777B1 (en) 1998-01-05 1999-01-05 Information processing apparatus to control bus latency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00042898A JP3570877B2 (ja) 1998-01-05 1998-01-05 情報処理装置

Publications (2)

Publication Number Publication Date
JPH11194994A JPH11194994A (ja) 1999-07-21
JP3570877B2 true JP3570877B2 (ja) 2004-09-29

Family

ID=11473551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00042898A Expired - Lifetime JP3570877B2 (ja) 1998-01-05 1998-01-05 情報処理装置

Country Status (2)

Country Link
US (1) US6266777B1 (ja)
JP (1) JP3570877B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088692B1 (en) * 1999-08-18 2006-08-08 Nokia Corporation Apparatus, and associated method, for rewarding performance of a computer game at a mobile terminal
KR100644597B1 (ko) 2000-08-05 2006-11-10 삼성전자주식회사 버스 시스템 및 그 커맨드 전달방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2091919B (en) 1980-03-21 1984-08-08 Concurrent Processing Systems Computer system and interface therefor
US4412286A (en) * 1980-09-25 1983-10-25 Dowd Brendan O Tightly coupled multiple instruction multiple data computer system
JP2705709B2 (ja) * 1991-06-17 1998-01-28 大日本スクリーン製造株式会社 データの時分割転送装置
JPH04372043A (ja) 1991-06-21 1992-12-25 Hitachi Ltd 情報処理装置用バス

Also Published As

Publication number Publication date
US6266777B1 (en) 2001-07-24
JPH11194994A (ja) 1999-07-21

Similar Documents

Publication Publication Date Title
JP7227680B2 (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
TWI651620B (zh) 用於處理多個交易之資料處理系統及方法
US5796977A (en) Highly pipelined bus architecture
US7093079B2 (en) Snoop filter bypass
US6065077A (en) Apparatus and method for a cache coherent shared memory multiprocessing system
KR100286962B1 (ko) 캐쉬 제어기
EP1012734B1 (en) Address translation in computer bus bridge devices
US11803505B2 (en) Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
JPH08328957A (ja) マルチプロセッシング・システムにおけるキャッシュ・パフォーマンス向上のためのシステムおよび方法
KR20000022712A (ko) 노드 상호 접속망 상에서 요구를 예측 방식으로 발행하는 비균일 메모리 액세스 데이터 처리 시스템
JP2001117859A (ja) バス制御装置
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
JPH08249231A (ja) マルチプロセッサ・システムにおける古いデータの処理システム及び方法
JP3723700B2 (ja) プロセッサ・インターフェース・バスを通じてデータを転送する方法および装置
US6516368B1 (en) Bus master and bus snooper for execution of global operations utilizing a single token for multiple operations with explicit release
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US6442629B1 (en) Bus protocol and token manager for execution of global operations utilizing a single token with multiple operations with explicit release
US6460100B1 (en) Bus snooper for SMP execution of global operations utilizing a single token with implied release
JP3570877B2 (ja) 情報処理装置
JP2001109662A (ja) キャッシュ装置及び制御方法
JP5571327B2 (ja) レイテンシ短縮システム、レイテンシ短縮方法、および、レイテンシ短縮プログラム
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JPH1185673A (ja) 共有バスの制御方法とその装置
JP6565729B2 (ja) 演算処理装置、制御装置、情報処理装置及び情報処理装置の制御方法
AU617514B2 (en) Multiple processor/cache memory system and data transaction control therefor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070702

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6