- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
处理器入门-学习笔记
一.处理器结构;1.冯诺依曼结构;2.哈弗结构;3.改进型哈弗结构;总结;二.指令集;操作数与操作码;C=A+B运算转换为汇编行为如下(以为只是示例,实际不同CPU可能有所不同)
load R3 , #0 ; //从内存地址0取出A放在R3中
load R2 , #1 ; //从内存地址1取出B放在R2中
add R0 , R3, R2 ; //把R3和R2相加,结果存到R0中
store R0 , #2 ; //把R0的值写到内存地址2中
以上每条语句就是一条指令,load、add、store为操作码,操作码后跟的是操作数。cpu是不认识这些操作码和操作数,所以需要变成0、1这种二进制码。;;指令集的分类;后RISC;变长指令集
定长指令集
一般一条指令的长度为8bit/16bit/32bit等等
CISC属于变长指令集
传统的RISC指令集为了译码方便都采用定长,但这样会导致程序存储空间变大,进而降低了cache的命中率,影响程序执行效率。所以后期很多处理器都支持简单变长指令集,这样在实现难度没有增加多少的情况下大大提高了程序效率。
esi1600支持16位和32位混合指令集;大小端;总结;三.流水线设计;最简单的3级流水线;最经典的5级流水线;流水线设计可能存在的问题;;;3.控制冒险
在流水线处理器中,指令是并行处理的,在当前指令正在执行时,后面的很多条指令已经完成了取指和译码等步骤。然而,在程序中会存在很多的跳转语句,如果程序的实际执行路径是要跳转到其他的地址去执行,那么流水线中已经做的这些取指和译码工作就白做了,这就是流水线的控制冒险。此时,处理器需要排空流水线,跳转到新的地址处重新进入流水线。;分支预测算法;四.乱序执行----提高处理器性能;乱序执行的结构;2.指令调度
指令能否开始执行,依赖于2个条件:
1. 是否有空闲的功能单元去执行这条指令
2. 该指令的源操作数是否已经准备好;3.顺序提交;总结;五.处理器并行执行;;六.处理器的cache设计;六.处理器的cache设计;为什么一小块Cache能提速?;三级cache的架构;Cache的基本结构;Cache基本工作机制;Cache的置换策略;Cache的写方式;2.Write back(写回)
Write back是指cpu修改cache的内容后,cache并不会马上更新到内存中。什么时候会被更新到内存中和当时的应用场景有关。例如cache被占满了,有新的数据要进cache,这个时候某些cache的内容就会被踢到内存中。;Write through策略如果涉及到大量访问内存的操作,效率就会很低,所以一般使用write back策略的比较多。在ARM的AXI协议中这两个属性同样在AWCACHE/ARCACHE信号中携带。
;Cache一致性;E状态;S状态;M状态和I状态; 在上图中,Local Read表示本内核读本Cache中的值,Local Write表示本内核写本Cache中的值,Remote Read表示其它内核读其它Cache中的值,Remote Write表示其它内核写其它Cache中的值,箭头表示本Cache line状态的迁移,环形箭头表示状态不变。
当内核需要访问的数据不在本Cache中,而其它Cache有这份数据的备份时,本Cache既可以从内存中导入数据,也可以从其它Cache中导入数据,不同的处理器会有不同的选择。MESI协议为了使自己更加通用,没有定义这些细节,只定义了状态之间的迁移,下面的描述假设本Cache从内存中导入数据。;当前状态;SOC
文档评论(0)