如何克隆硬碟
在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南
在計算的早期,CPU 是純粹的順序機器。這有助於保持設計簡單。但是,它也限制了性能。許多進程需要從系統 RAM 或硬盤請求數據。雖然系統 RAM 很快,但它仍然不如 CPU 快,讓它處於空閒狀態,等待數據直到 RAM 返迴響應。對於從硬盤驅動器請求的數據,情況更糟,這是一種比 RAM 慢得多的存儲設備。在這裡,CPU 可能會空閒很長時間,等待響應。不幸的是,對於順序處理器,這個問題是不可避免的。
值得慶幸的是,現代 CPU 不再是順序的。它們提供了許多高級功能,例如亂序執行和多線程。亂序執行允許 CPU 分析即將到來的指令並重新排序以最大限度地提高效率。多線程允許 CPU 運行許多不同的線程或進程。
除了擁有多個內核之外,CPU 一次不能運行多個內核。但是,它可以通過定期在它們之間切換來使其看起來像它,以確保它們每個都獲得可觀的恆定 CPU 時間。在線程之間切換的過程稱為上下文切換���
上下文切換如何工作?
上下文切換由兩部分組成,切換出前一個線程和切換到新線程。要更改舊線程,CPU 必須將其當前狀態保存到進程控制塊或切換幀。這包括任何相關 CPU 寄存器的值,並且始終由程序計數器的值組成。存儲線程後,可以將句柄添加到就緒隊列,以便在需要時恢復它。
後麵線程中的切換是相反的過程。根據權重從就緒隊列中選擇一個線程。或者,它可以通過中斷來選擇,指示線程正在等待的事件現在已經準備好或完成。然後將線程的數據複製到正確的寄存器中,然後恢復線程。此時,新線程已準備好從它停止的地方繼續運行。
性能影響
切換線程時讀取和寫入數據的過程需要一些時間,儘管時間不多,因為使用的內存通常是高速的。然而,還有進一步的性能成本。切換線程時,前一個線程的 CPU 緩存和緩衝區中的數據可能與新線程無關。這會導致 TLB(轉換後備緩衝區)和緩存未命中的顯著增加。
如果這兩個線程是由同一個進程生成的,則這種影響並不顯著,因為它們可能共享相當多的內存元素。在不同方法的線程之間切換時,必須完全刷新 TLB。這導致 100% 的 TLB 未命中率,同時 CPU 緩存的命中率也顯著降低。
雖然 CPU 為上下文切換提供硬件支持,但操作系統通常不使用它。硬件上下文切換缺乏對數據相關性的認識。因此需要存儲和恢復所有的寄存器,增加了所花費的時間和所需的存儲空間。
此外,硬件上下文切換不存儲來自浮點寄存器的數據,這可能是必需的功能。因此,通常使用軟件上下文切換。它允許保留來自所有寄存器的數據,包括浮點寄存器。軟件上下文切換確實了解數據的相關性。這意味著它可以根據需要挑选和選擇要存儲的內容。
結論
上下文切換是現代 CPU 切換它正在運行的線程的過程。該過程涉及存儲當前線程的相關數據和恢復新線程的相關數據。上下文切換伴隨著與執行切換所需時間相關的性能成本,以及緩存和 TLB 未命中率的增加,因為這些未存儲。上下文切換的發生要么是為了確保所有線程都有充足的 CPU 時間供應,要么是因為中斷指示線路正在等待的事件已完成。
在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南
您在啟動電腦時是否遇到錯誤訊息,提示驅動程式 WUDFRd 無法在電腦上載入?
您是否在桌面上遇到 NVIDIA GeForce 錯誤代碼 0x0003?如果是,請閱讀部落格以了解如何快速輕鬆地修復此錯誤。
Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and
您需要從 PC 上卸下 GPU 嗎?和我一起在這個分步指南中解釋如何從您的 PC 中刪除 GPU。
買了新的 NVMe M.2 SSD 但不知道如何安裝?繼續閱讀以了解如何在筆記本電腦或台式機上安裝 NVMe SSD。
邏輯炸彈是一種安全事件,攻擊者會在其中設置延遲操作。繼續閱讀以了解更多信息。
Stuxnet 是一種自我傳播的蠕蟲病毒。這是第一次使用網絡武器,也是第一個惡意軟件實例。
道德黑客是在法律約束下行事的黑客。繼續閱讀以了解有關該主題的更多信息。
密碼學有很多不同的部分。如果你想加密一些數據,你可以使用兩種類型的算法: symmetric