什麼是指令集?

任何 CPU 都是從頭開始設計的,以支持特定的指令集。指令集是 CPU 可以執行的一組硬編碼操作。例如,這些操作可以是將兩個數字相加、跳轉到程序的不同部分或比較兩個值。計算機可以執行的每個操作都由一個操作碼唯一表示。

操作碼

執行程序時,CPU 使用程序計數器來跟踪下一條需要執行的指令。當獲取一條指令時,程序計數器會增加指令的長度,以便它指向下一條指令的開始。每條指令都包含一個操作碼。根據指令,它可能包含也可能不包含操作數。操作數可以是常量值或指向 CPU 寄存器或系統 RAM 中值位置的指針。

一旦獲取了完整的指令,就需要對其進行解碼。這是 CPU 將操作碼和任何操作數分開的過程。解碼後的操作碼用於啟用或禁用 CPU 中將導致正確操作的特定電氣路徑。

一旦指令被解碼,它將被執行。CPU 的��切行為將取決於操作。加法運算會將兩個值相加。跳轉操作將計算跳轉到程序中的位置。比較操作將比較兩個值。NOP 操作將閒置,因為 NOP 代表無操作。

大多數指令隨後將輸出操作結果。此輸出可以轉到處理器寄存器,如果需要,還可以轉到系統 RAM。這些操作中的每一個都需要一個時鐘週期才能完成。

非法操作碼

每個 CPU 架構都有製造商發布的特定操作碼列表。這些操作碼的值不一定是跨平台的,這就是為什麼軟件需要針對不同的架構進行編譯。在某些情況下,製造商還包括未記錄的操作碼。這些被稱為“非法操作碼”。非法操作碼雖然沒有記錄,但每次調用時都會執行相同的功能。但是,作為未記錄和非標準的功能,對 CPU 架構的更新可以簡單地刪除它們。

Apple II 上的一些早期計算機遊戲依賴於特定的非法操作碼。然後他們在後來的 Apple IIc CPU 修訂版中遇到了性能和穩定性問題,因為 IIc 刪除了遊戲所需的非法操作碼。非法操作碼也被版權保護圈用作一種安全方法,通過默默無聞地打擊盜版者破解其內容。一些非法操作碼只是作為調試工具和錯誤處理程序。

x86 指令集包含大量未記錄的非法操作碼。有趣的是,其中一些在 Intel 和 AMD CPU 之間共享,這表明兩家公司都公開知道他們的目的,但沒有記錄。

編譯器和彙編

大多數程序都是用高級語言編寫的。這些相對容易閱讀,通常使用英文單詞或速記來最小化學習曲線。計算機要執行這些程序,就需要對其進行編譯。編譯器基本上是翻譯器。它獲取高級代碼並將其轉換為計算機代碼,即 CPU 可以理解的指令。

在某些語言中,還可以通過先前編譯的程序運行未編譯的代碼,該程序可以動態生成機器代碼。彙編是一種低級編程語言,它使用簡寫形式使開發人員能夠直接查看和控制所執行的操作。NOP 是彙編速記的一個例子。

結論

指令集是 CPU 體系結構可以運行的官方函數列表。它是可以執行的操作的列表。這些操作被硬編碼到 CPU 中,並使用它們各自的操作碼進行調用。

軟件通常使用編譯器將人類可讀的高級代碼翻譯成 CPU 可以讀取的機器代碼。有時,CPU 架構可能有未記錄的操作碼,稱為非法操作碼。非法操作碼在技術上是指令集的一部分。但是,它們可能無法在未來的平台迭代中可靠地提供。不要忘記在下面的評論中留下您的想法。



Leave a Comment

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果您的 Powerbeats Pro 无法充电,请使用其他电源并清洁耳塞。充电时请保持充电盒打开。

3D打印基础知识:必读的维护清单

3D打印基础知识:必读的维护清单

保持设备良好的状态是必须的。以下是一些有用的提示,可以帮助您保持您的3D打印机处于最佳状态。

佳能 Pixma MG5220:无需墨水扫描

佳能 Pixma MG5220:无需墨水扫描

当佳能 Pixma MG5220 没有墨水时,如何启用扫描功能。

笔记本电脑过热的5个原因

笔记本电脑过热的5个原因

了解笔记本电脑过热的一些可能原因,以及避免这个问题和保持设备冷却的小贴士和技巧。

如何修复GeForce Now错误代码0xC272008F

如何修复GeForce Now错误代码0xC272008F

您正在为一晚的游戏做准备——这是一次重要的体验——您刚刚在GeForce Now流媒体服务上购买了“星球大战:外部法则”。了解唯一已知的解决方法,教您如何修复GeForce Now错误代码0xC272008F,以便您可以再次开始玩育碧游戏。

3D打印基础:您的3D打印机维护提示

3D打印基础:您的3D打印机维护提示

保持3D打印机的良好状态对于获得最佳效果非常重要。这里有一些重要的维护提示。

如何找到打印机的IP地址

如何找到打印机的IP地址

找不到你的打印机使用的IP地址吗?我们将向您展示如何找到它。

如何在三星手机上使用AirPods

如何在三星手机上使用AirPods

如果您不确定是否应该为您的三星手机购买AirPods,这篇指南可以帮助您。最明显的问题是这两者是否兼容,答案是:是的,它们是兼容的!

什麼是 WPS?它是如何工作的?

什麼是 WPS?它是如何工作的?

通過此詳細教程了解 WPS 的全部內容,學習如何簡單安全地連接無線網絡。

LinkedIn:如何防止其他人知道您看到了他們的個人資料

LinkedIn:如何防止其他人知道您看到了他們的個人資料

了解如何使用LinkedIn的私人模式,防止其他人知道您查看了他們的個人資料。這裡有不同的解決方案,以確保您的隱私。