超标量和多核各有什么优点和缺点?

gashbell 2006-11-12 09:04:18
书上讲,超标量就是多条流水线,多条流水线同时处理多条程序,多核是一块cpu上集成多个核心使cpu能同时处理多个指令,那么两者有什么不同?
...全文
564 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
BadEnglish 2006-11-15
  • 打赏
  • 举报
回复
超标量是单线乘技术,它会把队列中没相互依赖的指令并排同时执行,但现在已经没多少提高潜力了,只好转向多核,为你的程序同时使用多核,你需要做软件优化,这个工作极其困难,估计多数程序很难做到。
zyl910 2006-11-14
  • 打赏
  • 举报
回复
超线程
~~~~~~

从Pentium开始,CPU内部就有多条流水线(多个指令执行单元),用于实现超标量(在一个时钟周期内执行多条指令)

超线程只是将原来的一个译码器变成两个译码器而已:
没打开多线程时,是由一个译码器来实现指令译码,然后分配给相对空闲的流水线去执行代码;
当打开多线程时,是由两个译码器同时进行译码,然后尽可能的分配给相对空闲的流水线去执行代码。

所以在打开多线程后,两个译码器差不多均分了流水线,使得超标量性能降低了。这有可能会影响一些科学计算程序的性能。


多核
~~~~

在超线程的基础上,将Cache均分给两个(或多个)译码器


双通道
~~~~~~

从Pentium III开始,CPU支持了SSE指令集,所以数据总线升级到了128bit。
而SDRAM/DDR内存条还是64bit的,所以只有让两根内存条并行工作才能充分利用这128bit带宽。

还记得刚出Pentium的时候吗?
Pentium的数据总线是64bit的,而当时流行的内存条是32bit的72线内存条,所以必须插两根使带宽达到64bit才能够开机(如果Pentium III设计成需要两根内存条才能开机的话,那就对卖不出去,于是它被迫设计成支持64bit带宽的内存条)。

所以双通道是旧瓶装新酒而已

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧