Intel® Advanced Performance Extensions (Intel® APX)でx86アーキテクチャの長過ぎる歴史を思う
»
先日、Intel社プロセッサーの新しい拡張が発表されました。
Introducing Intel® Advanced Performance Extensions (Intel® APX)
主たる拡張は、汎用レジスターが倍の32個になること。Armの64bitアーキテクチャー、AArch64は31個ですから、ほぼ同等です。
ところで、元々のIntel 32bitアーキテクチャーは汎用レジスターが8個、しかも、EAX/EBX/ECX/EDX/ESI/EDI/EBP/ESPと聞いて、知識の古い僕は元の8086の設計を思い出しました。Eがついただけで、名前はそのまま。元々は汎用レジスターではなく、それぞれ役割があり、自分でアセンブラで直接命令を操作するときには楽でした。
さて、APXでは拡張機能を利用するため、例によってプリフィックスで指定するようです。8086からの伝統とは言え、せっかくレジスター追加で性能向上を目指すのに、プリフィックスとは。上記Intel社の説明には、コードの長さに影響するが、ほとんど差異は出ないと書かれています。しかし、CPU内の命令処理が複雑化しているのは間違いありません。
じわじわ機能改善していくのが、Intel社のやり方とは言え、そろそろ完全に命令セットを改めるのはどうでしょう? Intel社はIA-64で懲りてると思われますが、8086の1978年からだと既に45年。長過ぎます。
SpecialPR