3第二章 基础知识1.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ②直接映像 做法是先将主存分成与Cache同样大小的若干个区(组),每个区中的某个块只能调入Cache 中固定的对应块。 如第0 块,第2c 块,第2c+1块,… ,只能映像到cache 的第0 块, 而主存的第1 块,第2c+1块第2c+1十1块,… ,只能映像到 Cache的第 1块等等。 在这种映像方式中,其对应关系是固定的并有一定限制的。 * 特点 * ③组相联映像 其组间是直接映像方式; 组内的页执行的是全相连映像方式。 组相联映像方式是直接映像和全相联映像方式的一种折衷方案。 首先设在高速缓冲区内将其容量以组为单位分成若干组; 然后每组内以页为单位分成若干页。 如Cache有c个组,每组中包含2r个字块数: 当r = 0 时,它就成为直接映像方式; 当r = c 时,就相当于全相联映像方式。 * 替换算法 当发生Cache不命中时,必须选择被替换的项。 常用的替换算法: 先进先出算法(FIFO) 近期最少使用算法(LRU) Cache的命中率除了与地址映像的方式有关外,还与Cache的容量有关。Cache容量大,则命中率就高,但达到一定容量后,命中率的提高就不明显了。 FIFO算法 * 在地址变换表中设置一个历史位,当替换时,总是把一组中最先调入 Cache存储器的字块替换出去。 特点: 不需要随时记录各个字块的使用情况。 实现容易且开销小。 LRU算法 将一组中近期最少使用的字块替换出去。 这种替换算法需随时记录Cache存储器中各个字块的使用情况, 即页表为在物理存储取中的每一页保留了一个时间或年龄域,以便确定哪个字块是近期最少使用的字块。 特点: 替换算法的平均命中率比FIFO要高, 分组容量加大时,能提高LRU替换算法的命中率,能较好地反映出程序的局部性的特点。 ⑤Cache和主存的写策略 写直达法(Write-through): 当要写Cache时,数据同时写回主存储器。 写回法(Write-back): 当处理器更新Cache的某一行后,相应数据并不立刻写回主存储单元,而当该行被从Cache淘汰时,才把数据写回主存储器中。 写一次法: 写命中与未命中的处理方法与写回法基本相同,只是第一次写命中是要同时写入主存。例如:L2级Cache采用的是写回法,L1级数据Cache采用的是写一次法。 外部存储器系统简介 RAM--随机存取存储器: SRAM--静态随机存储器; DRAM--动态随机存储器; 特点: □SRAM存取速度较快 □SRAM耗电较多 □ DRAM存储密度较高 □ DRAM需要周期性的刷新 ROM--只读存储器: EEPROM:可电擦除存储器 Flash ROM:闪速只读存储器 * * * * * * * * * * * * * 冯·诺依曼体系的特点 * 哈佛体系结构 大部分DSP和ARM9微处理器都是采用这种哈佛体系结构。如下图所示。 存储器分为数据和程序二个存储空间,有各自独立程序总线和数据总线,可以进行独立编址和独立访问。 特点:   数据和程序可以并行完成,这使得数据移动更加容易。数据的吞吐量比上以中提高了大约一倍。   但这种结构的弱点是很难在哈佛机上编写出一个自修改的程序(即写入数据值后,使用这些值作为指令的程序)。 指令寄存器 控制器 数据通道 输入 输出 中央处理器 程序存储器 指令0 指令1 指令2 数据存储器 数据0 数据1 数据2 地址 指令 地址 数据 哈佛体系存储系统结构图 * (1)流水线技术 计算机中一条指令的执行可分为若干个阶段,由于每个阶段的操作相对都是独立的。 可以采用流水线的重叠技术来大大提高系统的性能。 在流水线装满以后,几个指令可以并行执行。 译码 取指 执行add 译码 取指 执行sub 译码 取指 执行cmp 时间 Add Sub Cmp 嵌入式系统中采用的先进技术 * * ARM7 架构采用3级流水线: ARM9 架构采用5级流水线: 在ARM7基础上: 增加了I-Cache和D-Cache,把存储器的取指与数据存取分开; 增加了数据写回的专门通路和寄存器. 取指 译码 执行 缓冲/数据 回写 * ARM9 架构采用了5级流水线: 取指:指令从存储器中取出,放入指令流水线。 译码:指令译码,从寄存器中读取寄存器操作数。 在寄存器组中有3个操作数读端口,因此大多数ARM指令能在一个周期内读取其操作数。 执行:把一个操作数移位,产生ALU的结果。如果指令是Load或Store,在ALU中计算存储器的地址。 缓冲/数据:如果需要,则访问数据存储器。否则,ALU的结果只是简单地缓冲一个时钟周期,以便使所有指令具有同样的流水线流程。 回写:将指令产生的结果回写到寄存器,包括任何从存储器

文档评论(0)

canjiadyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档