ARM9處理器與ARM7處理器比較
2 指令周期的改進
指令周期的改進對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時指令的重疊,這實際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在30%左右。
2.1 loads 指令矛n stores指令
指令周期數的改進最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執(zhí)行時間減少了30%。指令周期的減少是由于ARM7和ARM9兩種處理器內的兩個基本的微處理結構不同所造成的。
(1)ARM9有獨立的指令和數據存儲器接口,允許處理器同時進行取指和讀寫數據。這叫作改進型哈佛結構。而ARM7只有數據存儲器接口,它同時用來取指令和數據訪問。
(2)5級流水線引入了獨立的存儲器和寫回流水線,分別用來訪問存儲器和將結果寫回寄存器。
以上兩點實現了一個周期完成loads指令和stores指令。
2.2 互鎖(interlocks)技術
當指令需要的數據因為以前的指令沒有執(zhí)行完而沒有準備好就會產生管道互鎖。當管道互鎖發(fā)生時,硬件會停止這個指令的執(zhí)行,直到數據準備好為止。雖然這種技術會增加代碼執(zhí)行時間,但是為初期的設計者提供了巨大的方便。編譯器以及匯編程序員可以通過重新設計代碼的順序或者其他方法來減少管道互鎖的數量。
2.3 分枝指令
ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并沒有對分枝指令進行預測處理。
評論