回覆列表
-
1 # 超能網
-
2 # 蘋果188312167
cpu能執行的叫微指令。微指令的集合叫微指令集,一個微指令集對應組合語言的一條指令。指令剛開始是用打孔紙表示的。cpu微指令集放在主機板ROM裡,ROM內容一般不能變化。啟動時,微指令集載入電腦記憶體條。專用軟體afuwin可以重新整理微指令集。所以主機板支援的cpu是有數量限制的。比如775針的主機板不一定能支援771針的cpu的指令集,有軟體的原因和硬體的原因。廠家為了迫使使用者升級,進行了軟體和硬體的限制。
如果我們要做一個運算,如z=x+y,這麼寫屬於自然語言,只有人能看得懂,計算機反正是不懂的,它只認得0和1,所以就要制定一套規則,讓計算機能準確地執行這個運算。
所以計算機中會有運算器(ALU),加法就是其中一個運算操作碼,還要有儲存單元(暫存器和記憶體),用來存放x、y、z這些運算元,假設我們將運算器中的加法規定為01,儲存器中三個地址分別規定00、01、11,那個z=x+y翻譯成機器指令就是01 00 01 11(將儲存器中00和01相加儲存到11中),當然這是最直觀的理解,實際中的規則會更完善。
而CPU指令集就是這樣一套規範的集合,它告訴我們CPU能做什麼樣的工作,或者說能執行哪些機器碼。
這些指令就像是天書,當CPU取得指令後,還要進行譯碼,解析出操作碼和運算元,然後才能真的執行,這個譯碼的過程就是對指令集規範內的機器碼進行解碼。
那指令集到底存在哪兒?在馮·諾伊曼型計算機中,CPU的工作可以分為取指、譯碼、執行、存取、回寫這幾個過程,只有在譯碼這個過程中會用到指令集,雖然指令集並沒有真正的實體儲存地,它是CPU的電路設計邏輯,但是一定要找個地方的話,也就只有在譯碼電路這一塊了。