通用处理器的并行设计思想
2013-06-03 21:52
253 查看
并行执行是提升处理器性能的基本思想。
VLIW处理器实现并行依赖于编译器的优化功力,比起超标量处理器,VLIW处理器结构更简单。指令的并行化需要特定的编译器来分析程序的语法树结构,通过代码的行为分析指令的相关性,实现指令的乱序调度。处理器要对循环结构进行展开,软件流水执行。
从底层来看,采用SIMD技术是让数据实现并行,通过让一条指令处理多组数据,减少总的指令数,提高程序的执行效率。
采用多核结构和超线程(Hyper Thread)技术则是从更高层的线程级实现并行。
多核结构是为了让程序分解为多个线程放在多个核上并行执行。这就要求程序员和并行编程工具能够划分好程序的线程,使核与线程间良好匹配,同时解决好多核间负载均衡、数据同步的问题,这样才能充分发挥多核处理器的性能。
单核时代,主频很高还能超频的处理器性能很强,但随着主频进一步提高,流水线越来越深,带来的流水线冒险就越多,乱序执行内核就越复杂。Intel的NetBurst微架构曾想把主频提高到10GHz,但经验证发现,主频太高导致乱序执行内核功耗太大,严重发热也使处理器稳定性降低,于是Intel转向现在的Core酷睿微架构,使用多核结构来提升单位功耗的性能比。
现在PC多见的有双核、四核及八核,这就要求线程的划分还要有一定的灵活可扩展性,程序可以通过处理器核数来自动划分线程数目。
在Intel的超线程内核中,来自多个不同线程的指令也可以一起发射,灵活调度,避免了在分时系统中线程间不必要的等待,从而更大程度上实现多个线程的并行执行。
VLIW处理器实现并行依赖于编译器的优化功力,比起超标量处理器,VLIW处理器结构更简单。指令的并行化需要特定的编译器来分析程序的语法树结构,通过代码的行为分析指令的相关性,实现指令的乱序调度。处理器要对循环结构进行展开,软件流水执行。
从底层来看,采用SIMD技术是让数据实现并行,通过让一条指令处理多组数据,减少总的指令数,提高程序的执行效率。
采用多核结构和超线程(Hyper Thread)技术则是从更高层的线程级实现并行。
多核结构是为了让程序分解为多个线程放在多个核上并行执行。这就要求程序员和并行编程工具能够划分好程序的线程,使核与线程间良好匹配,同时解决好多核间负载均衡、数据同步的问题,这样才能充分发挥多核处理器的性能。
单核时代,主频很高还能超频的处理器性能很强,但随着主频进一步提高,流水线越来越深,带来的流水线冒险就越多,乱序执行内核就越复杂。Intel的NetBurst微架构曾想把主频提高到10GHz,但经验证发现,主频太高导致乱序执行内核功耗太大,严重发热也使处理器稳定性降低,于是Intel转向现在的Core酷睿微架构,使用多核结构来提升单位功耗的性能比。
现在PC多见的有双核、四核及八核,这就要求线程的划分还要有一定的灵活可扩展性,程序可以通过处理器核数来自动划分线程数目。
在Intel的超线程内核中,来自多个不同线程的指令也可以一起发射,灵活调度,避免了在分时系统中线程间不必要的等待,从而更大程度上实现多个线程的并行执行。
相关文章推荐
- 处理器的并行设计思想
- PB通用类库和业务类库的设计思想(一)
- 关于通用对象和通用函数的设计思想
- 通用权限实现的核心设计思想
- 处理器并行设计
- INTEL的处理器设计理念或思想?
- 《大话处理器》连载——微架构(20) 处理器并行设计——Flynn分类
- 通用权限管理的设计思想与实现
- 通用权限实现的核心设计思想
- asp.net通用权限设计思想雏形
- 通用权限实现的核心设计思想
- 通用权限实现的核心设计思想
- 通用权限实现的核心设计思想
- 通用权限实现的核心设计思想
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 用户表的设计思想分享[教师、职工、学生]
- 通用权限实现的核心设计思想
- iOS开发:代码通用性以及其规范 第二篇(猜想iOS中实现TableView内部设计思路(附代码),以类似的思想实现一个通用的进度条)
- PB通用类库和业务类库的设计思想(二)
- MVC单一入口设计思想 session入库 svn与git SAE
- JAVA OOP思想设计开发的 空前版 带AI版 坦克大战程序,带音效。