您好,歡迎來到易龍商務網!
【廣告】
發布時間:2020-07-29 09:59  





CPU出現于大規模集成電路時代,處理器架構設計的迭代更新以及集成電路工藝的不斷提升促使其不斷發展完善。從初專用于數學計算到廣泛應用于通用計算,從4位到8位、16位、32位處理器,后到64位處理器,從各廠商互不兼容到不同指令集架構規范的出現,CPU 自誕生以來一直在飛速發展。
為了改善性能,CPU已經不是單條取指-->解了碼-->執行的路線,而是分別為這3個過程分別提供獨立的取值單元,解了碼單元以及執行單元。這樣就形成了流水線模式。
用戶態的CPU,只允許執行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執行在用戶態下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態下不能將PSW的模式設置控制位設置成內核態。
控制器之所以知道數據放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然后根據的操作指令執行加法運算,將運算結果拷貝會一個MDR寄存器中,后寫入到內存。
每核上的多線程CPU都共享該核的CPU資源。
假設每核CPU都只有一個"發動機"資源,那么線程1這個虛擬CPU使用了這個"發動機"后,線程2就沒法使用,只能等待。
所以,超線程技術的主要目的是為了增加流水線上更多個獨立的指令,這樣線程1和線程2在流水線上就盡量不會爭搶該核CPU資源。所以,超線程技術利用了superscalar(超標量)架構的優點。