2023-10-01から1ヶ月間の記事一覧

TAGE系分岐予測器のTAGEではない部分に関するメモ

(主にAndré Seznec氏が開発している)TAGE系分岐予測器は、TAGE部分以外の工夫にいろいろなバリエーションがあります。 しかしそれらは謎の短い略語で区別されており、覚えるのが困難です。 それに関するまとめのメモです。 cbp1(2004/12/5, 37th MICRO併…

絶対値のLeading Zero Anticipatory (LZA)の勉強

Leading Zero Anticipatory (LZA)は、二進法で表されたNビット符号つき整数A, Bを受け取り、A+Bを直に計算することなしにA+B+1の上位に0が何ビット並ぶか(Leading Zero Count, LZC)を(多少の誤差の範囲で)予測することです。 以前の記事(Leading Zero A…

RISC-VのZicondとかいう排除アートについて

2023年9月にZicond拡張というのが、ろくに議論もされずに*1承認されたようです。 RISC-Vもその場の思い付きで命令セットを拡張するような、歴史に学ばない命令セットに堕したということですね。 Zicond拡張の機能はRISC命令セットとして素晴らしいものですが…

variable tracking size limit exceededと出てコンパイルが遅い場合の対処法

以下の短いコードは、g++ -O2 -g main.cpp -cなどとコンパイルすると長い時間待たされた後、note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying withoutと出力され、その直後にコンパイルが終わります。 #include <array> i</array>…