网站seo查询工具,宁波制作网站知名,wordpress模版数,网站设计与开发期末考试题从表面看来#xff0c;你可能很困惑着两个处理器到底有什么区别。如果你熟悉并行计算的话#xff0c;那么你可能会碰见这两种处理器。因此它们到底有什么区别?这个就是这周的问题。在我们进入细节之前#xff0c;为什么我们不看看这两个不同的处理器在作为并行计算一部分的…从表面看来你可能很困惑着两个处理器到底有什么区别。如果你熟悉并行计算的话那么你可能会碰见这两种处理器。因此它们到底有什么区别?这个就是这周的问题。在我们进入细节之前为什么我们不看看这两个不同的处理器在作为并行计算一部分的概念呢。
什么是并行计算 在回答这个问题之前我们首先需要考虑传统的线性的处理模型。让我们开始通过想象一些我们需要去解决的问题。线性计算解决问题就像把处理器把一些用于解决问题的指令放在一个队列中去处理它们。处理器解决每个指令然后最后得出答案问题被解决了。同时变成了一个非常好的解决问题的方式但是也意味着一个解决问题速度上的障碍。换句话说处理器的速度取决于每个指令的速度。但是如果我们要计算的问题规模很大呢?是否有一种方式来打破这个障碍来增加计算速度。
答案你可能已经猜到了是的这就是并行计算的由来。并行计算就将问题转换成几个小问题每一个同时的独立的运行。在这种情况下问题分布的被多个执行元素执行子问题提供了一个可能十分重要的速度上的增长。增长的速度取决于算法同时速度能够被阿姆达定律(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