sam這些年也算接觸了很多嵌入式cpu, soc等。每次看到cpu速度介紹,以及評估程式是否能跑得動時,就有些疑惑:因為資料中介紹cpu能力時方法很不統一,常見的有如下描述:
1. 工作頻率可達400mhz。
2. cpu主頻270mhz.
3. 1000 dmips雙核mips處理器.
sam就有些疑惑,該如何判斷出誰的計算能力更強呢?
1. cpu速度單位:mips
mips(million instruction per second:每秒百萬條指令). 單字長定點指令平均執行速度,指的是cpu執行指令的速度。
dmips:d是dhrystone的縮寫,他表示了在dhrystone這樣一種測試方法下的mips,dhrystone是一種整數運算測試程式。
mflops:是一種基於浮點運算的cpu測試程式,當然,這種測試的結果也以 mflops來加以表示,代表了cpu處理浮點運算的能力。
2. cpu主頻,工作頻率等:
sam理解是:cpu需要乙個晶振,cpu採用的system clock就是所以主頻。例如:某外部晶振為12mhz.cpu則主頻選用12mhz /2 為主頻,則system clock為 6mhz。
所以說:工作頻率可達400mhz,其實就是指system clock.
3. cpu頻率(system clock)與mips之間的關係:
不同架構(x86,arm, mips等)cpu,mips與cpu頻率之間的比率並不相同。
例如:arm9cpu,每mhz能處理1.2mips。意味著:400mhz的cpu,mips=400x1.2=480mips.
sam常聽說ia架構的mips與arm,mips下的mips不能相同視之,自己感覺應該是x86架構與arm,mips用的指令集不同,所以他可能一條指令完成的動作,arm,mips等精簡指令集需要多條指令才能完成。不知道理解對不對。
cpu資料處理能力:與不少因素都有關係,不如是否多核,每mhz處理多少個mips等。
例如:a cpu雖然400mhz。但每mhz處理0.8個mips. b cpu 300mhz,但每mhz處理1.2個mips。
所以如果雙方架構,指令集,core數目均相同。則a(400x0.8)處理速度小於b(300x1.2)
4. 流水線與cpu頻率:
不同的流水線設計會產生一系列
硬體差異。讓我們來比較一下arm7和arm9e的流水線,arm9e從arm7的3級流水線增加到了5級,arm9e的流水線中容納了更多的邏輯操作,但是每一級的邏輯操作卻變得更為簡單。比如原來 arm7的第**流水,需要先內部讀取暫存器、然後進行相關的邏輯和算術運算,接著處理結果回寫,完成的動作非常複雜;而在arm9e的5級流水中,暫存器讀取、邏輯運算、結果回寫分散在不同的流水當中,使得每一級流水處理的動作非常簡潔。這就使得
處理器的主頻可以大幅度地提高。因為每一級流水都對應 cpu的乙個時鐘週期,如果一級流水中的邏輯過於複雜,使得執行時間居高不下,必然導致所需的時鐘週期變長,造成cpu的主頻不能提公升。所以流水線的拉長,有利於cpu主頻的提高。
CPU速度的計算方法和單位
sam code hotmail.com sam這些年也算接觸了很多嵌入式cpu,soc等。每次看到cpu速度介紹,以及評估程式是否能跑得動時,就有些疑惑 因為資料中介紹cpu能力時方法很不統一,常見的有如下描述 1.工作頻率可達400mhz。2.cpu主頻270mhz.3.1000 dmips雙核...
校驗和的計算方法
校驗和演算法 unsigned short check sum unsigned short addr,int len if nleft 1 sum sum 16 sum 0xffff sum sum 16 answer sum return answer 首先,ip icmp udp和tcp報文頭...
校驗和計算方法
1.說明 1 校驗和覆蓋的內容 ip校驗和 ip首部。icmp校驗和 icmp首部 icmp資料 2.計算校驗和的步驟 1 把校驗和字段設定為0。2 把需要校驗的資料看成以16位為單位的數字組成,依次進行二進位制反碼求和。3 把得到的結果存入校驗和字段中。另外udp tcp資料報的長度可以為奇數位元...