施耐德和ge紛紛攻擊ab plc主頻慢,這個時候我只是笑了一下,這些技術(shù)工程師在什么也不懂的情況下就拿著那些蒼白的數(shù)據(jù)說事,客戶被忽悠的認為cpu最快說明plc執(zhí)行速度就最快,就能干更多更復(fù)雜的事情,我只能給他們解釋一款plc設(shè)計中最重要的不是cpu的速度而是固件操作系統(tǒng)的算法優(yōu)良和穩(wěn)定性,在這各方面ab是最好的。
下面我講舉例說明一下。 我們來比較兩種排序算法:「插入排序」 和 「歸并排序」 。他們的算法復(fù)雜度分別是 o(n2)=c1n2 和 o(nlogn)=c2n lg n。一般情況下,歸并排序算法有一個更大的常數(shù)因子,所以我們假設(shè) c1 < c 2。 為了回答你的問題,我們在一臺高速昆騰plc a 上跑「插入排序」算法,和一臺古老ab plc5 b跑「歸并排序」算法做對比。 我們假設(shè): 輸入的問題數(shù)據(jù)量為 1,000萬個數(shù)字:n=107; a 一秒鐘可以執(zhí)行 1010 次運算指令 ( ~ 1ghz ); b 一秒鐘只能執(zhí)行 107 次運算指令 ( ~ 10mhz ); 常數(shù)系數(shù) c1 = 2 (有點夸張),c2 = 50 (比現(xiàn)實中稍微小了一點) 于是在以上假設(shè)下,我們得到如下結(jié)果: a : 2⋅(107)2 次運算1010 次運算/秒=2⋅104 秒 b : 50⋅107lg107 次運算107 次運算/秒≈1163 秒 所以你看,那部慢了100倍的plc,干活速度是快的那臺的17倍。而且在現(xiàn)實中,歸并算法有更高的效率,特別是隨計算量增加的而更加明顯。我希望這個答案能回答題目中的問題。
然而,這還不光是算法復(fù)雜程度的問題。在今天,單單想通過提高cpu主頻來獲得很明顯的性能提升是不可能的。我們需要改良算法在多核cpu架構(gòu)下的表現(xiàn)。而且這是個不太好對付的問題,因為隨著內(nèi)核數(shù)量的增加,其他方面的開銷正在成為性能的障礙(比如內(nèi)存訪問調(diào)度控制)。所以,堆硬件很難獲得線性的性能增長。
總結(jié)一下,對于工業(yè)控制來說,固件算法的優(yōu)良是至關(guān)重要;cpu的運算能力在脫韁野馬一般增長的需求面前,只是單純吹捧cpu的速度絲毫沒有任何意義。