[密码学基础][每个信息安全博士生应该知道的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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值