【手続補正書】
【提出日】平成30年3月20日(2018.3.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
可変長命令用バッファを管理する方法であって、
メモリから可変長命令データをキャッシングする工程と、
第一時間において、前記可変長命令用バッファ内で利用可能な未処理データのレベルが第一閾値を満たさないときに、キャッシュされた前記可変長命令データから固定幅の命令データの第一部分を前記可変長命令用バッファ内にロードする工程と、
分岐命令を処理する工程であって、該分岐命令は、分岐遅延サイズを示すヘッダを含む、工程と、
前記分岐命令が処理された後の第二時間において、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルが前記分岐遅延サイズを満たさないときに、キャッシュされた前記可変長命令データから前記固定幅の命令データの第二部分を前記可変長命令用バッファ内にロードする工程と、を含む方法。
【請求項２】
前記可変長命令用バッファ内の未処理データから可変長の命令を分離する工程と、
分離された前記命令を出力する工程であって、分離された前記命令の出力は、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルを下げる、出力する工程を、さらに含む、請求項１に記載の方法。
【請求項３】
分離された前記命令は、ベクトルプロセッサに出力される、請求項２に記載の方法。
【請求項４】
前記可変長命令データのキャッシングは第一メモリロケーションからであり、前記分岐命令が該第一メモリロケーションとは異なる第二メモリロケーションを参照する、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第二時間において、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルが前記分岐遅延サイズを満たすときに、前記第二メモリロケーションから前記可変長命令データをフェッチする工程をさらに含む、請求項４に記載の方法。
【請求項６】
前記第一時間において、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルが前記第一閾値を満たすときは、キャッシュされた前記可変長命令データから前記固定幅の命令データの前記第一部分を前記可変長命令用バッファ内にロードしようと試みる前に、第一時間間隔待つ工程をさらに含む、請求項１から３のいずれか一項に記載の方法。
【請求項７】
前記可変長命令用バッファ内で利用可能な未処理データの前記レベルは、指示なしで周期的に前記可変長命令用バッファによって報告される、請求項１から３のいずれか一項に記載の方法。
【請求項８】
可変長の命令を管理するシステムであって、
メモリから可変長命令データを記憶するキャッシュと、
前記キャッシュからロードされたデータを可変長命令に分離するバッファであって、該バッファは前記キャッシュから固定幅のデータラインを受けて、該可変長命令を出力する、バッファと、
前記バッファ内の未処理データのレベルを決定し、追加データを前記バッファにロードするように前記キャッシュに指示するフェッチ部と、を含み、
前記フェッチ部は、
分岐命令が特定されたときに、該分岐命令のヘッダから分岐遅延サイズを決定し、
前記分岐命令が特定された後の第一時間において、前記バッファ内で利用可能な未処理データの前記レベルと前記分岐遅延サイズとを比較し、
分岐命令が特定されないときに、第二時間において、前記バッファ内で利用可能な未処理データの前記レベルと第一閾値とを比較する、
ことによって、前記追加データを前記バッファにロードするように前記キャッシュに指示するかどうかを決定する、システム。
【請求項９】
前記キャッシュは、前記可変長命令データを第一メモリロケーションからロードし、前記分岐命令は、該第一メモリロケーションとは異なる第二メモリロケーションを参照する、請求項８に記載のシステム。
【請求項１０】
前記フェッチ部は、前記第一時間において、前記バッファ内で利用可能な未処理データの前記レベルが前記第一閾値を満たさないときに、前記追加データを前記バッファにロードするように前記キャッシュに指示する、請求項８に記載のシステム。
【請求項１１】
前記フェッチ部は、前記第二時間において、前記バッファ内で利用可能な未処理データの前記レベルが前記第一閾値を満たすときは、前記追加データを前記バッファにロードするように前記キャッシュに指示するかどうかを決定する前に、第一時間間隔待つ、請求項１０に記載のシステム。
【請求項１２】
前記バッファは、さらに、指示なしで周期的に前記バッファ内の未処理データの前記レベルを報告する、請求項８から１１のいずれか一項に記載のシステム。
【請求項１３】
前記フェッチ部は、さらに、前記バッファ内の未処理データの前記レベルについて前記バッファに問い合わせる、請求項８から１１のいずれか一項に記載のシステム。
【請求項１４】
少なくとも１つのプロセッサによって実行されると、該少なくとも１つのプロセッサに、
メモリから可変長命令データをキャッシングすることと、
分岐遅延サイズを示すヘッダを含む分岐命令に応答して、該分岐命令が処理された後の第一時間において、可変長命令用バッファ内で利用可能な未処理データのレベルが該分岐遅延サイズを満たさないときに、キャッシュされた前記可変長命令データから固定幅の命令データの第一部分を該可変長命令用バッファにロードすることと、
第二時間において、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルが第一閾値を満たさないときに、キャッシュされた前記可変長命令データから前記固定幅の命令データの第二部分を前記可変長命令用バッファにロードすることと、
を少なくとも行わせるコンピュータ読み取り可能な命令を含むコンピュータ読み取り可能メモリ。
【請求項１５】
前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記可変長命令用バッファ内の未処理データから可変長命令を分離することと、
分離された前記命令を出力することであって、分離された前記命令の出力は、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルを下げる、出力することと、
をさらに行わせる、請求項１４に記載のコンピュータ読み取り可能メモリ。
【請求項１６】
前記可変長命令データは、第一メモリロケーションからキャッシュされ、前記分岐命令は、該第一メモリロケーションとは異なる第二メモリロケーションを参照する、請求項１４又は請求項１５に記載のコンピュータ読み取り可能メモリ。
【請求項１７】
前記命令は、実行されると、前記少なくとも１つのプロセッサに、
前記第一時間において、前記可変長命令用バッファ内で利用可能な未処理データの前記レベルが前記分岐遅延サイズを満たすときは、前記第二メモリロケーションから可変長命令データをフェッチすることをさらに行わせる、請求項１６に記載のコンピュータ読み取り可能メモリ。
【請求項１８】
前記命令は、実行されると、前記プロセッサに、
キャッシュされた前記可変長命令データから前記固定幅の命令データの前記第二部分をロードしようと試みる前に、前記第二時間の後、第一時間間隔待つことをさらに行わせる、請求項１４又は１５に記載のコンピュータ読み取り可能メモリ。
【請求項１９】
前記可変長命令用バッファ内で利用可能な未処理データの前記レベルは、指示なしで前記可変長命令用バッファによって周期的に報告される、請求項１４又は請求項１５に記載のコンピュータ読み取り可能メモリ。
【請求項２０】
可変長命令用バッファを管理する装置であって、
メモリから可変長命令データをキャッシングする手段と、
ロードする手段と、を含み、
前記ロードする手段は、
分岐遅延サイズを示すヘッダを含む分岐命令に応答して、該分岐命令が処理された後の第一時間において、バッファ手段内で利用可能な未処理データのレベルが該分岐遅延サイズを満たさないときに、キャッシュされた固定幅の第一可変長命令データを該バッファ手段内にロードすることと、
第二時間において、前記バッファ手段内で利用可能な未処理データの前記レベルが第一閾値を満たさないときに、キャッシュされた前記固定幅の第二可変長命令データを前記バッファ手段内にロードすることと、
により、キャッシュされた可変長命令データを前記バッファ手段にロードする、装置。
【請求項２１】
前記バッファ手段は、
前記バッファ手段内の未処理データから可変長の命令を分離する手段と、
分離された前記命令を出力する手段であって、分離された前記命令の出力は、前記バッファ手段内で利用可能な未処理データの前記レベルを下げる、出力する手段と、を含む、請求項２０に記載の装置。
【請求項２２】
前記可変長命令データは、第一メモリロケーションからキャッシュされ、前記分岐命令は、該第一メモリロケーションとは異なる第二メモリロケーションを参照する、請求項２０又は２１に記載の装置。
【請求項２３】
前記分岐遅延サイズを満たし、前記第一時間において、前記バッファ手段内で利用可能な未処理データの前記レベルに基づいて、可変長命令データを前記第二メモリロケーションからフェッチする手段をさらに含む、請求項２２に記載の装置。
【請求項２４】
前記ロードする手段は、前記第二時間において、前記バッファ手段内で利用可能な未処理データの前記レベルが前記第一閾値を満たすときは、キャッシュされた前記固定幅の第二可変長命令データを前記バッファ手段内にロードしようと試みる前に、第一時間間隔待つ、請求項２０又は２１に記載の装置。