【手続補正書】
【提出日】平成30年7月24日(2018.7.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のアップストリームデバイスから2つ以上のアドレス変換要求を受信するように構成されるマルチスレッドメモリ管理ユニット(MMU)であって、
前記マルチスレッドMMUが、システムメモリの対応する変換されたアドレスを取得するために、前記2つ以上のアドレス変換要求のうちの少なくとも2つを並列に処理するようにさらに構成され、
前記マルチスレッドMMUが、1次スケジューラと、変換キャッシュと、2次スケジューラとを備え、
前記1次スケジューラが、前記2つ以上のアドレス変換要求を受信し、かつ前記変換キャッシュ内の変換のために前記2つ以上のアドレス変換要求を発行するように構成され、
前記1次スケジューラによって発行された1つまたは複数のミスアドレス変換要求に対して前記変換キャッシュ内でミスがある場合、前記変換キャッシュが、前記1つまたは複数のミスアドレス変換要求を前記2次スケジューラにフォワードするように構成され、
前記2次スケジューラが、前記1つまたは複数のミスアドレス変換要求を受信し、かつ1つまたは複数の変換テーブルウォーカ(TTW)内の前記システムメモリのアドレスへの変換のために前記1つまたは複数のミスアドレス変換要求をスケジュールするように構成される、
マルチスレッドMMUを備え、
前記マルチスレッドMMUが、
前記1つまたは複数のミスアドレス変換要求を受信し、かつ前記1つまたは複数のミスアドレス変換要求のうちの2つ以上のミスアドレス変換要求が同様のミスアドレス変換要求である場合、前記2つ以上の同様のミスアドレス変換要求のうちの1つだけを前記1つまたは複数のTTWにフォワードするとともに前記2つ以上の同様のミスアドレス変換要求のうちの残りのものを抑制するように構成される事前フィルタ処理ブロックか、または
前記1つまたは複数のミスアドレス変換要求のうちの2つ以上が前記システムメモリの冗長アクセスを伴うかどうかを判定し、かつ前記システムメモリの一意のアクセスだけが実行されることを許可するように構成される変換テーブルアクセスフィルタ
のうちの少なくとも1つをさらに備える、
装置。
【請求項２】
前記1つまたは複数のアップストリームデバイスが、前記2つ以上のアドレス変換要求を生成するように構成される汎用プロセッサ、専用プロセッサ、またはマルチスレッドプロセッサのうちの1つまたは複数を備える、請求項1に記載の装置。
【請求項３】
前記1次スケジューラが、前記2つ以上のアドレス変換要求を前記2つ以上のアドレス変換要求が前記1次スケジューラによって受信された順序とは異なる順序で前記変換キャッシュに発行するように構成される、請求項1に記載の装置。
【請求項４】
前記1次スケジューラが、前記2つ以上のアドレス変換要求が処理される間に前記2つ以上のアドレス変換要求を記憶するように構成される2つ以上の1次スケジューラスロットを備える、請求項1に記載の装置。
【請求項５】
前記2つ以上の1次スケジューラスロットが前記1つまたは複数のアップストリームデバイスの2つ以上のエージェントに割り振られる、請求項4に記載の装置。
【請求項６】
前記割振りが、前記2つ以上のエージェントの分類に基づいてプログラム可能である、請求項5に記載の装置。
【請求項７】
前記割振りが、
ラウンドロビン、固定優先度、または前記2つ以上のエージェントと関連付けられたプログラム可能優先度を含むアービトレーションポリシーに基づく、請求項5に記載の装置。
【請求項８】
前記2つ以上の1次スケジューラスロットが対応する2つ以上の状態を含み、各状態が、対応する1次スケジューラスロット内に記憶されるアドレス変換要求のステータスを含む、請求項4に記載の装置。
【請求項９】
前記1次スケジューラによって発行された前記2つ以上のアドレス変換要求のうちの1つまたは複数のヒッティングアドレス変換要求に対して前記変換キャッシュ内でヒットがある場合、前記変換キャッシュが、前記1つまたは複数のヒッティングアドレス変換要求に対して前記システムメモリの1つまたは複数の変換されたアドレスを含む対応する1つまたは複数の変換結果を前記1次スケジューラに提供するように構成される、請求項1に記載の装置。
【請求項１０】
前記1次スケジューラが、前記1つまたは複数のヒッティングアドレス変換要求に対して前記システムメモリの前記1つまたは複数の変換されたアドレスへのアクセスをスケジュールするように構成される、請求項9に記載の装置。
【請求項１１】
前記1次スケジューラが、対応する1つまたは複数のヒッティングアドレス変換要求と関連付けられた優先度、または前記1つまたは複数のヒッティングアドレス変換要求を生成した前記1つまたは複数のアップストリームデバイスと関連付けられたサービス品質(QoS)メトリックに基づいて、前記システムメモリの前記1つまたは複数の変換されたアドレスへのアクセスをスケジュールするように構成される、請求項10に記載の装置。
【請求項１２】
前記1次スケジューラが、前記アクセス間のハザードを回避するために前記アクセスを並べ替えることに基づいて、前記システムメモリの前記1つまたは複数の変換されたアドレスへのアクセスをスケジュールするように構成される、請求項11に記載の装置。
【請求項１３】
前記2次スケジューラが2つ以上の2次スケジューラスロットを備え、前記2つ以上の2次スケジューラスロットが、前記1つまたは複数のミスアドレス変換要求のうちの2つ以上のミスアドレス変換要求を、前記2つ以上のミスアドレス変換要求に対応する前記システムメモリの変換されたアドレスを含む変換結果が前記1つまたは複数のTTWから受信されるとともに前記変換されたアドレスが前記変換キャッシュに戻されるまで記憶するように構成される、請求項1に記載の装置。
【請求項１４】
前記2つ以上の2次スケジューラスロットが、前記1つまたは複数のアップストリームデバイスの2つ以上のエージェントに割り振られる、請求項13に記載の装置。
【請求項１５】
前記割振りが、前記2つ以上のエージェントの分類に基づいてプログラム可能である、請求項14に記載の装置。
【請求項１６】
前記2つ以上の2次スケジューラスロットが対応する2つ以上の状態を含み、各状態が、対応する2次スケジューラスロット内に記憶されるミスアドレス変換要求のステータスを含む、請求項13に記載の装置。
【請求項１７】
前記割振りが、ラウンドロビン、固定優先度、または前記2つ以上のエージェントと関連付けられたプログラム可能優先度を含むアービトレーションポリシーに基づく、請求項14に記載の装置。
【請求項１８】
前記事前フィルタ処理ブロックが、2つ以上のミスアドレス変換要求に対して変換されるべき入力アドレスが同じ変換グラニュール内または前記同じ変換グラニュールの指定された倍数内に入る場合、前記2つ以上のミスアドレス変換要求が同様のミスアドレス変換要求であると判定するように構成される、請求項1に記載の装置。
【請求項１９】
前記1つまたは複数のミスアドレス変換要求に対して前記1つまたは複数のTTWから1つまたは複数の変換結果を受信し、前記1つまたは複数の変換結果のうちの2つ以上が同様の変換結果である場合、前記同様の変換結果のうちの1つだけを前記変換キャッシュにフォワードするとともに残りの同様の変換結果を抑制するように構成される事後フィルタ処理ブロックをさらに備える、請求項1に記載の装置。
【請求項２０】
前記事後フィルタ処理ブロックが、前記1つまたは複数の変換結果のうちの2つ以上が同様の変換結果であるかどうかを判定するために前記変換キャッシュを精査するように構成される、請求項19に記載の装置。
【請求項２１】
前記1つまたは複数の変換結果を記憶するように構成される最近フィルされたキャッシュであって、前記事後フィルタ処理ブロックが、前記1つまたは複数の変換結果のうちの2つ以上が同様の変換結果であるかどうかを判定するために前記最近フィルされたキャッシュを精査するように構成される、最近フィルされたキャッシュをさらに含む、請求項19に記載の装置。
【請求項２２】
前記変換テーブルアクセスフィルタが、2つ以上のミスアドレス変換要求に対する前記変換されたアドレスがメモリの同じブロックに入る場合、前記2つ以上のミスアドレス変換要求が冗長アクセスを伴うかどうかを判定するように構成される、請求項1に記載の装置。
【請求項２３】
前記変換テーブルアクセスフィルタが、前記1つまたは複数のミスアドレス変換要求の1つまたは複数の変換結果を保持するように構成される変換結果キャッシュを備える、請求項1に記載の装置。
【請求項２４】
前記変換テーブルアクセスフィルタが、前記1つまたは複数のミスアドレス変換要求に対する前記変換キャッシュからの前記1つまたは複数の変換結果を提供するように構成される、請求項23に記載の装置。
【請求項２５】
アドレス変換を実行する方法であって、
1つまたは複数のアップストリームデバイスから2つ以上のアドレス変換要求を受信するステップと、
マルチスレッドメモリ管理ユニット(MMU)内で、システムメモリの対応する変換されたアドレスを取得するために前記2つ以上のアドレス変換要求に対する2つ以上のアドレス変換を並列に実行するステップであって、
前記マルチスレッドMMUの1次スケジューラ内に前記2つ以上のアドレス変換要求を記憶し、かつ前記1次スケジューラからの前記2つ以上のアドレス変換要求を変換のために変換キャッシュに発行するステップと、
前記変換キャッシュ内でミスしている1つまたは複数のミスアドレス変換要求を2次スケジューラにフォワードするステップと、
1つまたは複数の変換テーブルウォーカ(TTW)内のアドレス変換に対して前記2次スケジューラによって受信された前記1つまたは複数のミスアドレス変換要求をスケジュールするステップと、
を含み、
2つ以上のミスアドレス変換要求が同様のミスアドレス変換要求であるかどうかを判定し、かつ前記2つ以上の同様のミスアドレス変換要求のうちの1つだけを前記1つまたは複数のTTWにフォワードしながら、前記2つ以上の同様のミスアドレス変換要求のうちの残りのものを抑制するステップか、または
前記1つまたは複数の変換テーブルウォーカ(TTW)内のアドレス変換に対してスケジュールされた前記1つまたは複数のミスアドレス変換要求のうちの2つ以上が、前記システムメモリの冗長アクセスを伴うかどうかを判定し、かつ前記システムメモリの一意のアクセスだけが実行されることを許可するステップ
のうちの少なくとも1つのステップと
を含む、方法。
【請求項２６】
前記2つ以上のアドレス変換要求が前記1次スケジューラによって受信された順序とは異なる順序で前記1次スケジューラからの前記2つ以上のアドレス変換要求を前記変換キャッシュに発行するステップを含む、請求項25に記載の方法。
【請求項２７】
前記2つ以上のアドレス変換要求が処理される間に、前記1次スケジューラの2つ以上の1次スケジューラスロット内に前記2つ以上のアドレス変換要求を記憶するステップを含む、請求項25に記載の方法。
【請求項２８】
1つまたは複数のアップストリームデバイスの2つ以上のエージェントの分類、またはラウンドロビン、固定優先度、もしくは前記2つ以上のエージェントと関連付けられたプログラム可能優先度を含むアービトレーションポリシーに基づいて、前記2つ以上のエージェントに前記2つ以上の1次スケジューラを割り振るステップを含む、請求項27に記載の方法。
【請求項２９】
前記変換キャッシュ内でヒットする1つまたは複数のヒッティングアドレス変換要求に対して前記システムメモリの1つまたは複数の変換されたアドレスを含む1つまたは複数の変換結果を前記変換キャッシュから前記1次スケジューラに提供するステップを含む、請求項25に記載の方法。
【請求項３０】
対応する1つまたは複数のヒッティングアドレス変換要求と関連付けられた優先度、または前記1つまたは複数のヒッティングアドレス変換要求を生成した1つまたは複数のアップストリームデバイスと関連付けられたサービス品質(QoS)メトリックに基づいて、前記1次スケジューラによって、前記システムメモリの前記1つまたは複数の変換されたアドレスへのアクセスをスケジュールするステップを含む、請求項29に記載の方法。
【請求項３１】
前記アクセス間のハザードを回避するために、前記1次スケジューラによって、前記システムメモリの前記1つまたは複数の変換されたアドレスへの前記アクセスを並べ替えるステップを含む、請求項29に記載の方法。
【請求項３２】
前記2つ以上のミスアドレス変換要求に対応する前記システムメモリの変換されたアドレスを含む変換結果が前記1つまたは複数のTTWから受信されるとともに前記変換されたアドレスが前記変換キャッシュに戻されるまで、前記1つまたは複数のミスアドレス変換要求のうちの2つ以上のミスアドレス変換要求を2つ以上の2次スケジューラスロット内に記憶するステップを含む、請求項25に記載の方法。
【請求項３３】
1つまたは複数のアップストリームデバイスの2つ以上のエージェントの分類、またはラウンドロビン、固定優先度、もしくは前記2つ以上のエージェントと関連付けられたプログラム可能優先度を含むアービトレーションポリシーに基づいて、前記2つ以上のエージェントに前記2つ以上の2次スケジューラスロットを割り振るステップを含む、請求項32に記載の方法。
【請求項３４】
2つ以上のミスアドレス変換要求に対して変換されるべき入力アドレスが同じ変換グラニュール内または前記同じ変換グラニュールの指定された倍数内に入る場合、前記2つ以上のミスアドレス変換要求が同様のミスアドレス変換要求であると判定するステップを含む、請求項25に記載の方法。
【請求項３５】
前記1つまたは複数の変換結果のうちの2つ以上が同様の変換結果であるかどうかを判定するために前記変換キャッシュを精査するステップを含む、請求項25に記載の方法。
【請求項３６】
2つ以上のミスアドレス変換要求に対する前記変換されたアドレスがメモリの同じブロックに入る場合、前記2つ以上のミスアドレス変換要求が冗長アクセスを伴うと判定するステップを含む、請求項25に記載の方法。
【請求項３７】
変換結果キャッシュ内で前記1つまたは複数のミスアドレス変換要求の1つまたは複数の変換結果を保持し、かつ前記1つまたは複数のミスアドレス変換要求に対して前記1つまたは複数の変換結果を前記変換結果キャッシュから提供するステップをさらに含む、請求項25に記載の方法。
【請求項３８】
プロセッサによって実行されたときに、アドレス変換のための動作を前記プロセッサに実行させるコードを含む、非一時的コンピュータ可読記憶媒体であって、
1つまたは複数のアップストリームデバイスから2つ以上のアドレス変換要求を受信するためのコードと、
システムメモリの対応する変換されたアドレスを取得するために前記2つ以上のアドレス変換要求に対する2つ以上のアドレス変換を並列に実行するためのコードと、
1次スケジューラ内に前記2つ以上のアドレス変換要求を記憶し、かつ前記1次スケジューラからの前記2つ以上のアドレス変換要求を変換のために変換キャッシュに発行するためのコードと、
前記変換キャッシュ内でミスしている1つまたは複数のミスアドレス変換要求を2次スケジューラにフォワードするためのコードと、
1つまたは複数の変換テーブルウォーカ(TTW)内のアドレス変換に対して前記2次スケジューラによって受信された前記1つまたは複数のミスアドレス変換要求をスケジュールするためのコードと
を含み、
2つ以上のミスアドレス変換要求が同様のミスアドレス変換要求であるかどうかを判定し、かつ前記2つ以上の同様のミスアドレス変換要求のうちの1つだけを前記1つまたは複数のTTWにフォワードしながら、前記2つ以上の同様のミスアドレス変換要求のうちの残りのものを抑制するためのコードか、または
前記1つまたは複数の変換テーブルウォーカ(TTW)内のアドレス変換に対してスケジュールされた前記1つまたは複数のミスアドレス変換要求のうちの2つ以上が、前記システムメモリの冗長アクセスを伴うかどうかを判定し、かつ前記システムメモリの一意のアクセスだけが実行されることを許可するためのコード
のうちの少なくとも1つを実行するためのコード
を含む、方法。