CPU空操作的原理是什麼?

時間 2021-06-02 21:37:45

1樓:lu luce

你只要知道什麼是時鐘訊號你就明白了。。。

計算機的CPU在計算的時候,是一步一步來的。。。

這裡的每一步就是乙個時鐘週期。

在這個時鐘週期裡面,控制器控制資料線和指令線發出訊號,完成對應操作。

例如取指啦,計算啦。。

所謂的空操作,就是在這個時鐘週期裡面。資料線和指令線沒有訊號。。

就好像你彈琴一樣,每一拍彈乙個音。但是有一拍,作為彈琴控制器的你沒彈。這就是個空操作。。。

2樓:小莫拖

編譯器將高階語言程式編譯成指令,cpu根據指令執行從而完成程式所指定的操作。所有操作的具體體現就是資料的改變以及cpu狀態的改變。空操作指令不會對資料以及cpu的狀態產生影響。

3樓:

樓主想問的是指令邏輯是怎樣實現的吧,找本h&p的cod看看。

簡單把cpu pipeline的每一級機構看成乙個自身暫存器和控制器的自動機,他的控制資訊和資料由前級的pipeline提供,並向下一級輸出控制資訊和資料。時鐘訊號驅動下,前端解碼出指令控制資訊以及從cache之類取出資料,一級一級沿流水線傳下去。

實現nop就很輕簡單了,解碼器將nop指令解碼後輸出控制資訊讓下級流水線叫他啥也不幹比如不更改各種暫存器,控制資訊一級一級傳下去就行了。

外行瞎答的,可能我不太準確。

4樓:捉木馬的藍胖紙

用51舉個簡單的例子吧。下圖是51執行NOP時給控制訊號賦值部分的原始碼。

一些基本的控制訊號是要有的,比如第一行的程式計數器相關的訊號,需要向繼續讀取指令的。第二行是更新狀態的使能訊號,告知下一週期的狀態。

51用作學習還是很好的,進一步了解有關流水線之類的處理執行細節可以去讀一些開源處理器比如leon3之類的原始碼。

5樓:龔黎明

這個應該是用作流水線填充的吧。作用就是白白佔1個T的等待時間。

我覺得不用追究太多,搞IC設計的很多這麼搞,無非是某些運算資源當前被占用了,或者資料還沒來,插一級等待。

書當然有:《CPU自製入門》,日本人寫的,用FPGA寫了個精簡指令集的CPU。

互斥鎖(mutex)的底層原理是什麼? 作業系統具體是怎麼實現的??

這個應該要分單核和多核,單核不存在物理上的同步,所以作業系統通過乙個標誌位就能確定物件所有權 多核就要靠CPU的同步指令了 河馬 互斥鎖底層的實現其實是基於計算機系統中原子操作 即在同乙個時間段內,只有乙個CPU能夠執行某個操作,如訪問某個記憶體位置 來完成的。不同的CPU架構中,會有不同的指令來完...

烹飪中進行「關火燜」操作(褪火過程)的原理是什麼?

戰鬥Bug 盡量讓食材保持一定的口感和原始形狀完整,就會用燜這種方式,例如鹽焗雞,燜牛腩,整個過程都是接近靜止加熱,且密閉環境,首先可以儘量減少水份的蒸發流失,在不額外新增水的情況下讓食材自身的水份公升溫並把內部的水份補充到受熱的外表,內外同時公升溫,讓食材濃縮提純但又保持平衡不至於失去太多水份,影...

決定CPU發熱的因素是什麼 從CPU本身的角度來看。是主頻決定的嗎?

社會閒散哥 決定CPU發熱的根本原因是半導體電路在導通的情況下存在電阻。從而令電流通過電阻時發熱。如果存在某種工藝,令導通的半導體電阻為零,則電流通過沒有任何損耗,完全不耗電。也就不發熱了。這樣的晶元一旦研製成功,計算裝置將獲得革命性的突破。 已重置 自問自答好了。決定CPU發熱的唯一因素是架構。A...