我在讀這本書由Elsevier「ARM系統開發人員指南」,我碰到這個傳來:哪些是不同的可變週期ARM指令?
ARM指令集從單純的RISC德網絡nition存在許多差異,使 ARM指令集的適合於嵌入式應用程序:
某些指令的可變週期執行 - 並非每個ARM指令都在一個週期內執行。例如,根據正在傳輸的寄存器的數量,加載存儲多個指令的執行週期數會有所不同。傳輸可能發生在順序存儲器地址上,這會增加性能,因爲順序存儲器訪問通常比隨機訪問更快。由於多個寄存器傳輸是功能的開始和結束 的常見操作,所以代碼密度也得到了改進 。
您可以指出哪些其他ARM指令需要執行變量週期?
+1如果你看看axi總線,首先考慮對齊和總線寬度,但後來認爲這是芯片供應商進來和手臂無法控制的地方,時間差別很大,從相同的內核使用由不同的廠商在不同的實現中。包括最簡單的(nop)指令在內的所有指令都需要多個時鐘週期,這是現代流水線架構的本質。 –