处理中...

首页 > 资料大全 > 技术资料 >

MIPS市场总监一分钟教你明白多发射超标量/多线程/多核概念

MIPS市场总监一分钟教你明白多发射超标量/多线程/多核概念
来源:新浪博客 时间:2012-10-11

本文来源:新浪博客

作者:MIPS中国区市场总监 费浙平

【闲来无事、做做科普、反正也算是 marketing job ;教你一分钟看懂 CPU 多发射超标量 / 多线程 / 多核 之概念和区别】 近在多个场合大肆宣扬多核多线程,收到对多线程表示不解的问题 n 多,苦思多日,终得一形象生动的模型,你肯定懂的。

因为是比喻和科普、过于严谨的技术控请勿吐槽。

处理器性能提高之公开秘笈:超标量、多线程、多核。

用于说明的生活模型:高速公路及收费站。

简单 CPU 的原型:单车道马路 + 单收费闸口,车辆只能一辆辆排队通过,并行度为 1

为了提高通行能力同时积极创收,相关部门运用世界顶尖 CPU 设计理念,对高速公路系统进行了如下拓宽改造:

(1) 增加车道(图示为 3 条车道);

(2) 增加收费通道(图示为 2 个通道);

(3) 每个收费通道放置多个收费员(图示每条通道有 a b 两个收费窗口)。

其中( 1 + 3 )组合手段就是所谓的超标量结构,该图示为双发射超标量。超标量指有多个车道,双发射是指有 a b 两位收费员可以同时发卡,把两辆车送到不同车道上去。

手段( 2 )就是多线程的模型了,原有车道不变、只增加收费通道,这样多个车流来的时候可以同时发卡放行。

从这个比喻来看多线程显然是个非常直观和有用的办法,但为什么在 CPU 世界中似乎有点模糊难懂的感觉呢?那是因为 CPU 的指令流喜欢一个挨一个、一列纵队龟速前进,这样的话单通道多收费员还起点作用、多通道就形同虚设了。收费员 1.a 1.b 会累死,而 2.a 2.b 则能够睡觉。因此把车流进行整队就很重要——这就是并行编程,即要设法把一列纵队排列成多列纵队。

至于多核的概念,那就简单粗暴很多了,直接在这条马路边上进行征地拆迁、新修一条一模一样的高速公路便是,牛吧。现在大家手机里面的多核,就是并排几条“单收费通道 + 多车道”的马路,车流稀少、路况不错,不过相关部门表示因为道路利用率底下、经济效益欠佳、回收投资压力巨大。

无论多核还是多线程,都有一个同样的问题需要解决,就是要把车流整成多列纵队,这样多条马路和多个收费通道的并行度才能发挥作用。