《计算机组成原理与系统结构 (46).ppt》由会员分享,可在线阅读,更多相关《计算机组成原理与系统结构 (46).ppt(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w CacheRISCRISC中基于编译器中基于编译器的的寄存器优化寄存器优化计算机组成原理与系统结构2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w Cache基于编译器的寄存器优化的缘由CacheCache较大的寄存器组可以提高计算机的性能,如果只有少量寄存器呢?假定目标机器上只有少量寄存器可用(16-32),就需要优化寄存器的使用来获得较高性能优化由RISC编译器完成2N/2w i=j mod m(Tag)CPUN=(s
2、+w)i=j mod mCache2N/2w 2N/2w Cache高级语言编写的程序没有对寄存器的显式引用系统为每个寄存器变量分配一个符号或虚拟寄存器由编译器将未限定数目的符号寄存器映射到数目固定的物理寄存器C-register int基于编译器的寄存器优化的方法CacheCache2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w Cache使用时间上不重叠的符号寄存器可共享同一物理寄存器如果某一时段物理寄存器用尽,则某些变量仍需放回到存储器编译器还需要对寄存器变量进行分析,来决定哪些变量放回存储器,使得程序能尽量减少访存次数实际
3、就是时分复用的思想基于编译器的寄存器优化的方法CacheCache2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w Cache基于编译器的寄存器优化的方法CacheCache优化的本质是,判定在程序的任何给定时间点,哪些变量应指派到已有的物理寄存器中去在RISC编译器中普遍采用的是图染色技术给定一个由结点和边构成图,然后对结点染色,要使相邻结点不同色,同时要使颜色的数目最少,且可用颜色不超过规定颜色定义2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w Cache基于编译器
4、的寄存器优化的方法CacheCache结点代表符号结点代表符号寄存器,若两个符号寄存器,若两个符号寄存器时间上相关,寄存器时间上相关,则就用则就用一条一条边连接这两边连接这两个个结点,并称它们为相邻节点结点,并称它们为相邻节点N种颜色代表物理寄存器的数目尝试尝试用用N N种种颜色颜色给图中结点染色给图中结点染色标记为相同颜色的结点就可以使用同一个物理寄存器如果经历过此染色过程后,如果经历过此染色过程后,还剩下一些结点还剩下一些结点未未染染色色,则则把这些把这些结点对应的变量放结点对应的变量放入存储器中入存储器中2N/2w i=j mod m(Tag)CPUN=(s+w)i=j mod mCache2N/2w 2N/2w Cache基于编译器的寄存器优化的方法CacheCache图染色法举例