- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.5CPU新技术(上)-吴学涯教程
5.5 CPU新技术(上);5.5.1 SIMD技术;为了解SIMD在性能上的优势,我们以加法指令为例说明
单指令流单数据流(SISD)型CPU对指令译码后,
执行部件先访问主存,取得第一个操作数
之后再一次访问主存,取得第二个操作数
随后才能进行求和运算
SIMD型CPU对指令译码后,
几个执行部件同时访问主存,一次性获得所有操作数进行运算
SIMD技术这一特点特别适合多媒体应用等数据密集型运算;1.MMX技术;;2.SSE技术;;计算一个很长的浮点型数组中每一个元素的平方根
for each f in array {
把f从主存加载到浮点寄存器
计算平方根
再把计算结果从寄存器中取出写入主存 }
在采用SSE技术后,算法可改写为:
for each 4 members in array { //对数组中每4个元素 把数组中这4个数加载到一个128位SSE寄存器中
在一个指令执行周期中完成计算4个数平方根的操作
把所得的4个结果取出写入主存 };3.SSE2技术;在整数处理方面,
随MMX技术引进的SIMD整数指令从64位扩展到了128位,使SIMD整数类型操作的执行效率成倍提高
在浮点数处理方面,
双精度浮点SIMD指令允许以SIMD格式同时执行两个浮点操作
除SSE2指令之外,最初的SSE指令也得到增强
支持多种数据类型(例如双字、四字)的算术运算
支持灵活、动态范围更广的计算功能;4.SSE3技术;5.5.2 RISC技术;1.CISC的产生和发展;设计师们想出了一种解决方案——操作码扩展
在指令格式中,操作码后面跟的是地址码
有些指令用不着地址码或只用少量位数的地址码
可把操作码扩展到地址码的位置,使操作码位数增加
如果一个指令系统的操作码为2位,那么可以有00、01、10、11四条不同的指令
现在把11作为保留,把操作码扩展到4位,那么就可以有00、01、10、1100、1101、1110、1111七条指令
其中1100、1101、1110、1111这四条指令的地址码部分必须减少两位;为了达到减少地址码这一操作码扩展的先决条件,设计师们又发明了各种各样的寻址方式
最大限度地压缩地址码长度,为操作码留出空间
于是,CISC指令系统逐渐形成
CISC的特点,也是CISC的缺点
大量的复杂指令、可变的指令长度、多种寻址方式
大大增加了译码的难度
在高速硬件迅猛发展的今天,复杂指令所带来的速度提升早已不及在译码上所浪费的时间了;2.RISC的产生;3.RISC的特点;;;RISC三要素:⑴一个有限的简单的指令集;⑵CPU配备大量的通用寄存器;⑶强调对指令流水线的优化
RISC的典型特征
⑴指令种类少,指令格式规范
⑵寻址方式简化
⑶大量利用寄存器间操作
⑷简化处理器结构
⑸便于使用VLSI技术
⑹加强处理器的并行能力
⑺RlSC技术的复杂性在于它的优化编译程序;⑴指令种类少,指令格式规范;⑵寻址方式简化;⑶大量利用寄存器间操作;⑷简化处理器结构;⑸便于使用VLSI技术;⑹加强处理器的并行能力;⑺RlSC技术的复杂性在于它的优化编译程序;4.RISC与CISC的主要特征对比;5.5.3 超线程/多核技术;1.超线程技术;线程是程序执行的基本原子单位
一个进程可以由多个线程组成
在分布式程序设计中正确使用线程,能够很好地提高应用程序的性能及运行效率
其实现原理是将一个进程分成多个线程,然后让它们并发异步执行,从而提高运行效率
“并发执行”在单核情形下并不是各线程同时执行(占有CPU),在任意时刻还是只能有一个线程占用CPU
它们彼此轮换使用CPU,感觉上似乎都在运行;设一个进程要完成两个任务:任务1和任务2,并且任务1要经历A1?B1?C1三个步骤才能完成,任务2要经历A2??B2?C2三个步骤才能完成
①如果两个任务同步执行的话,完成两个任务是这样执行的:
从A1到C2只能一个一个地执行
当A1执行时,CPU被占用,B1到C2的线程只能等待
甚至当它们彼此之间并不竞争同一个资源时,也要等待前面的线程执行完毕后才能执行
;②如果两个任务异步执行的话,完成两个任务是这样执行的:
任务1和任务2分成两个独立的执行对象
A1?B1?C1和A2?B2?C2是并发执行的
当A1执行某个运算时,A2可去做其他事情(如访问外设)
完成所有任务,
方式①需要6个时间段,方式②需要3个时间段
方式②完成整个任务要快于方式①;2.多核技术;;
您可能关注的文档
最近下载
- 三年级下册 项目三 劳动付出为大家——我是图书管理员 任务二《图书借阅我服务》教案.docx
- 部编版小学语文四年级下册二单元教材分析解读.ppt
- 2025年人教版七年级地理寒假学习 第06讲 俄罗斯.docx VIP
- 部编版语文五年级下册第三单元《综合性学习:遨游汉字王国》大单元整体学历案教学设计.docx
- 零售门店数字化门店运营与管理解决方案.doc VIP
- 2025年人教版七年级地理寒假学习 第03讲 日本.docx VIP
- 2025年人教版七年级地理寒假学习 第09讲 撒哈拉以南非洲.docx VIP
- 在线网课学习课堂《森林火灾扑救安全(中国消防救援学院)》单元测试考核答案.docx
- 教科版(2017秋)六年级科学下册全册教案教学设计及教学计划进度.doc
- Yanni《One Man′s Dream》指弹吉他谱.pdf
文档评论(0)