[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别
從表面看來,你可能很困惑著兩個處理器到底有什么區別。如果你熟悉并行計算的話,那么你可能會碰見這兩種處理器。因此它們到底有什么區別?這個就是這周的問題。在我們進入細節之前,為什么我們不看看這兩個不同的處理器在作為并行計算一部分的概念呢。
什么是并行計算
在回答這個問題之前,我們首先需要考慮傳統的線性的處理模型。讓我們開始通過想象一些我們需要去解決的問題。線性計算解決問題就像把處理器把一些用于解決問題的指令放在一個隊列中去處理它們。處理器解決每個指令,然后最后得出答案,問題被解決了。同時變成了一個非常好的解決問題的方式,但是也意味著一個解決問題速度上的障礙。換句話說,處理器的速度取決于每個指令的速度。但是如果我們要計算的問題規模很大呢?是否有一種方式來打破這個障礙來增加計算速度。
答案你可能已經猜到了,是的,這就是并行計算的由來。并行計算就將問題轉換成幾個小問題,每一個同時的獨立的運行。在這種情況下,問題分布的被多個執行元素執行子問題,提供了一個可能十分重要的速度上的增長。增長的速度取決于算法,同時速度能夠被阿姆達定律(Amdahl’s law) [1]確定。因此它是怎么工作的呢?怎么能以這種方式來處理呢。兩個解決方案就是多核處理器和向量處理器。
多核處理器是什么
多核處理器就是一個簡單的用多個線性的處理器同時執行并行計算。比之前討論問題規模更大的問題被一個獨立的處理器并行的去計算。就好像幾個人同時做一個被給定的不同的任務,但是都是為了一個項目工作。這可能需要一些額外的組織工作,但是整體的性能將會更快。
向量處理器是什么
向量處理器在計算單個指令(在串行處理器中)時,可以在排列成一維數組的多個數據集上執行指令(與在單個數據集上操作的標準串行處理器不同)。這里的想法是,如果你在一個程序中對不同的數據集做相同的事情很多次,而不是對每個數據塊執行一條指令,為什么不一次對所有數據集執行指令呢?**SIMD(single instruction multiple data)(單指令多數據)**通常用于表示以這種方式工作的指令。
他們有什么區別
這就是這個知識點,我們用一個例子來總結。我們想要滾著四個大石頭穿過馬路,每個要花費一分鐘。線性處理器就是一個接一個的滾過去,總共要花費四分鐘。有兩個核心的多核處理器就是有兩個人滾石頭,每個人兩個石頭,總共花費兩分鐘。向量處理器就是找一個長的木板,從后面一起推這四個石頭,同時滾過去,花費一分鐘。多核處理器有多個員工,向量處理器有辦法同時對不同的事情做同一件事。
[1]http://en.wikipedia.org/wiki/Amdahl’s_law
參考鏈接:https://www.cnblogs.com/zhuowangy2k/p/11058860.html
原文鏈接http://bristolcrypto.blogspot.com/2014/10/52-things-number-2-what-is-difference.html
總結
以上是生活随笔為你收集整理的[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: visio绘图:通过excel在visi
- 下一篇: 《大数据原理:复杂信息的准备、共享和分析