什麼是 WPS?它是如何工作的?
通過此詳細教程了解 WPS 的全部內容,學習如何簡單安全地連接無線網絡。
在計算的早期,CPU 是純粹的順序機器。這有助於保持設計簡單。但是,它也限制了性能。許多進程需要從系統 RAM 或硬盤請求數據。雖然系統 RAM 很快,但它仍然不如 CPU 快,讓它處於空閒狀態,等待數據直到 RAM 返迴響應。對於從硬盤驅動器請求的數據,情況更糟,這是一種比 RAM 慢得多的存儲設備。在這裡,CPU 可能會空閒很長時間,等待響應。不幸的是,對於順序處理器,這個問題是不可避免的。
值得慶幸的是,現代 CPU 不再是順序的。它們提供了許多高級功能,例如亂序執行和多線程。亂序執行允許 CPU 分析即將到來的指令並重新排序以最大限度地提高效率。多線程允許 CPU 運行許多不同的線程或進程。
除了擁有多個內核之外,CPU 一次不能運行多個內核。但是,它可以通過定期在它們之間切換來使其看起來像它,以確保它們每個都獲得可觀的恆定 CPU 時間。在線程之間切換的過程稱為上下文切換���
上下文切換如何工作?
上下文切換由兩部分組成,切換出前一個線程和切換到新線程。要更改舊線程,CPU 必須將其當前狀態保存到進程控制塊或切換幀。這包括任何相關 CPU 寄存器的值,並且始終由程序計數器的值組成。存儲線程後,可以將句柄添加到就緒隊列,以便在需要時恢復它。
後麵線程中的切換是相反的過程。根據權重從就緒隊列中選擇一個線程。或者,它可以通過中斷來選擇,指示線程正在等待的事件現在已經準備好或完成。然後將線程的數據複製到正確的寄存器中,然後恢復線程。此時,新線程已準備好從它停止的地方繼續運行。
性能影響
切換線程時讀取和寫入數據的過程需要一些時間,儘管時間不多,因為使用的內存通常是高速的。然而,還有進一步的性能成本。切換線程時,前一個線程的 CPU 緩存和緩衝區中的數據可能與新線程無關。這會導致 TLB(轉換後備緩衝區)和緩存未命中的顯著增加。
如果這兩個線程是由同一個進程生成的,則這種影響並不顯著,因為它們可能共享相當多的內存元素。在不同方法的線程之間切換時,必須完全刷新 TLB。這導致 100% 的 TLB 未命中率,同時 CPU 緩存的命中率也顯著降低。
雖然 CPU 為上下文切換提供硬件支持,但操作系統通常不使用它。硬件上下文切換缺乏對數據相關性的認識。因此需要存儲和恢復所有的寄存器,增加了所花費的時間和所需的存儲空間。
此外,硬件上下文切換不存儲來自浮點寄存器的數據,這可能是必需的功能。因此,通常使用軟件上下文切換。它允許保留來自所有寄存器的數據,包括浮點寄存器。軟件上下文切換確實了解數據的相關性。這意味著它可以根據需要挑选和選擇要存儲的內容。
結論
上下文切換是現代 CPU 切換它正在運行的線程的過程。該過程涉及存儲當前線程的相關數據和恢復新線程的相關數據。上下文切換伴隨著與執行切換所需時間相關的性能成本,以及緩存和 TLB 未命中率的增加,因為這些未存儲。上下文切換的發生要么是為了確保所有線程都有充足的 CPU 時間供應,要么是因為中斷指示線路正在等待的事件已完成。
通過此詳細教程了解 WPS 的全部內容,學習如何簡單安全地連接無線網絡。
了解如何使用LinkedIn的私人模式,防止其他人知道您查看了他們的個人資料。這裡有不同的解決方案,以確保您的隱私。
查看如何使用 Google Pixel Watch 來跟踪您的睡眠質量;另請參閱如何訪問收集到的信息。
如果您不確定是否為您的三星手機購買 AirPods,本指南當然可以提供幫助,涵蓋三星手機與 AirPods 的兼容性及使用方法。
在 Pioneer DEH-1700 汽車音響上設置時間的詳細步驟和提示,讓您的音響系統更便捷。
了解如何將游戲手柄無縫連接到Oculus Quest 2,提升您的遊戲體驗。
探索如何使用三星 Flow 將您的智能手機和平板電腦連接到 Windows PC,享受無縫的文件共享與通知同步。
SLI 或 Scalable Link Interface 是一種 Nvidia 技術,允許多個顯卡協同作業以提升性能。了解 SLI 的優缺點及最佳配置方法。
要修復三星 Galaxy Watch 上的“始終顯示”問題,請禁用省電模式並清除 Galaxy Wearable 應用程序緩存。我們提供了詳細的故障排除步驟。
在 Galaxy S21 Plus 上像忍者一樣拍攝照片並關閉快門聲。了解如何使用簡單的步驟來悄悄拍照。