指令集是什麽?
最簡單的話概括,那個是CPU硬件接受指令,完成計算,輸出結果時與軟件進行交互時使用的語言,每條新的指令壹般對應著壹條或幾條匯編語言,編譯後對應著可以被CPU識別的機器碼。指令集的支持是硬件與軟件***同作用的結果,要想CPU支持某指令集,就要修改硬件電路,要想讓軟件支持新的指令集,就要修改程序,重新編譯。做同樣的操作,進行同樣目的的運算,可以使用不同的方法(不同的匯編語句,機器碼),SSE2優化的代碼就是程序中使用了SSE2指令集中的語句,可以被P4/K8的解碼器(現在的X86 CPU的內核都是RISC運算核心,解碼器做轉換工作)識別,進行更有效的計算,而K7 CPU不支持此代碼,就用其它方法執行這個操作,比如使用X87 FPU指令
指令集就是CPU能支持的指令的集合.理論上,設計壹種CPU就需要設計這種CPU所支持的指令,如果指令不同那麽軟件就無法通用.問題在於,通常軟件的生存期比CPU長,所以在現階段設計CPU的時候,往往按照已經存在的CPU所支持的指令設計新CPU的指令系統,甚至直接把已有的某些CPU的指令列表標準化,形成壹個標準指令列表,這樣以後只要支持這些指令,不同的CPU之間可以互換;而發布新CPU的時候,也需要明確的建立壹個指令碼表,這種規範化的指令列表就是指令集.