- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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.多核技术;;
您可能关注的文档
最近下载
- 耕地质量等级+(GBT+33469-2016).docx VIP
- 人教版高中物理必修一课件.pptx VIP
- 新生儿高胆红素血症诊治指南(2025)解读 (1)PPT课件.pptx VIP
- 《新生儿高胆红素血症诊治指南(2025)》解读(1)PPT课件.pptx VIP
- SGT756国电南自保护培训全解.ppt VIP
- 建设工程工程量清单计价办法(市政工程定额章节说明).pdf VIP
- 盘扣模板支撑体系技术交底(二级).docx VIP
- 精创温控器EK-3010说明书用户手册.pdf
- 外墙涂料施工安全技术交底.doc VIP
- 在线网课学习课堂《舰艇操纵与避碰》单元测试考核答案.docx VIP
文档评论(0)