Apple SiliconのM1が速いと話題だ。単に速いというだけでなくRosetta 2を用いてx86_64バイナリをARMに変換して実行した時にIntel CPUで直接実行した時より速くなる場合があるというのだから驚きだ。その要因を考察するにつれ一つの仮説に思い至ったのでここに記しておく。 その要因とはRISCとCISCの違いだ。殴り書きなので詳細は省くが、CISCのほうがやってることが複雑で単純な実行速度という意味ではRISCに敵わない。特にRISCの固定長命令という特徴がカギを握る。 CISCの代表がIntelのx86である。しかし2000年ごろにはCISCはもう駄目だ的なことが声高に叫ばれていたが、気が付けばx86はそのまま栄華を極め2020年にまで至ってしまった。そこまで持ちこたえた理由の1つがRISCとCISCの境目がなくなる Pentium Proの逆襲に書かれているのだが
![M1とRosetta 2が速い理由の考察という名目の妄想](https://cdn-ak-scissors.b.st-hatena.com/image/square/4746b03e5d8093c5aa37e771ad60a0b4e6c65624/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--q6JScfMA--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AM1%2525E3%252581%2525A8Rosetta%2525202%2525E3%252581%25258C%2525E9%252580%25259F%2525E3%252581%252584%2525E7%252590%252586%2525E7%252594%2525B1%2525E3%252581%2525AE%2525E8%252580%252583%2525E5%2525AF%25259F%2525E3%252581%2525A8%2525E3%252581%252584%2525E3%252581%252586%2525E5%252590%25258D%2525E7%25259B%2525AE%2525E3%252581%2525AE%2525E5%2525A6%252584%2525E6%252583%2525B3%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AMURAOKA%252520Taro%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2lnVVp6aUlzUTlQZFk2ZEhJd0lJbV8yZk42Q3l1VjQyNGJGd3k4ZkE9czI1MC1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)