什麼是微操作?

計算機是用編程語言編程的。這些語言通常是人類可讀的,並允許程序員配置計算機的功能。然後需要將該代碼編譯成計算機指令。具體細節取決於預期計算機使用的指令集體系結構或 ISA。這就是為什麼 Intel 和 AMD 的 x86 CPU 以及現代 Apple 設備中使用的 ARM CPU 有不同的下載鏈接。x86和ARM的ISA不同;軟件必須單獨編譯。正如 Apple 所展示的那樣,構建一個奇特的翻譯層是可能的;這樣做並不常見。

您可能認為 CPU 看到了它所呈現的指令,然後按順序執行它們。現代 CPU 有很多技巧,包括亂序執行,允許 CPU 動態重新排序以優化性能。然而,一個隱藏得很好的聰明部分是微操作。

微操作的管道

機器代碼中的單個指令可以稱為指令或操作;這些術語可以互換。複雜指令集計算或 CISC 架構(如 x86)的困難之一是指令的長度可能會有所不同。這具體是指他們需要多少數據來表示。在 x86 中,一條指令可以短至一個字節,也可以長達 15 個字節。將此與現代 ARM CPU 使用的具有固定長度 4 字節指令的標準 RISC-V 架構進行比較。

提示: RISC 代表精簡指令集計算。

這種結構差異的含義之一是 RISC 體系結構往往更容易有效地流水線化。每條指令都有多個使用不同硬件的操作階段。流水線同時通過這些階段運行多條指令,每個階段恰好有一條指令。流水線在有效使用時可顯著提高性能。有效利用管道的一個關鍵因素是確保同時使用每個階段。這樣可以使所有內容順利通過管道。

由於所有指令的長度都相同,因此 RISC 指令往往需要彼此相同的處理時間。然而,在 CISC 中,例如 x86,一些指令可能比其他指令需要更長的時間才能完成。這在流水線化 CPU 時會產生很大的效率問題。每次出現更長的指令時,它都會在流水線中停留更長時間。這會導致泡沫並支撐它背後的一切。微操作是解決這個問題的方法。

高效的微操作

微操作不是將每條指令視為唯一可以執行的操作級別,而是引入了一個新的較低層。每個操作都可以拆分成許多微操作。通過仔細設計微操作,您可以優化流水線。

有趣的是,這提供了一個新的優勢。雖然整個 ISA,比如 x86 在許多不同的 CPU 世代之間保持相同,但微操作可以為每一代硬件定制設計。這可以通過深入了解可以從每個微操作的每個流水線階段中擠出多少性能來完成。

在微操作的早期,它們是硬連線連接,根據微操作激活或禁用特定功能。在現代 CPU 設計中,微操作被添加到重新排序緩衝區。正是這個緩衝區,CPU 可以執行其以效率為導向的重新排序。重新排序的是微操作,而不是實際指令。

在某些情況下,尤其是使用更高級的 CPU,甚至可以完成更多。微操作融合是將多個微操作合併為一個。例如,一系列簡單的微操作可以執行可以用單個更複雜的指令執行的動作。通過減少執行的微操作的數量,該過程可以更快地完成。這也減少了狀態變化的次數,從而降低了功耗。完整的指令甚至可以被分析並組合成更有效的微操作結構。

一些 CPU 使用微操作緩存。這存儲了完全解碼的微操作序列,如果再次調用可以重複使用。通常,這種緩存的大小是指它可以存儲的微操作數,而不是字節容量。

結論

微操作是指令集的特定於 CPU 的實現。指令被解碼為一系列微操作。這些微操作更容易更有效地流水線化,從而更好地利用 CPU 資源。由於微操作沒有硬編碼到指令集中,它們可以針對每一代 CPU 的特定硬件進行定制。微操作通常簡稱為 micro-ops 甚至 μops。它使用希臘字母 μ(發音為 Mu),即微前綴的 SI 符號。



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的私人模式,防止其他人知道您查看了他們的個人資料。這裡有不同的解決方案,以確保您的隱私。