[发明专利]微处理器及适用于微处理器的操作方法有效
申请号: | 201010249034.6 | 申请日: | 2010-08-06 |
公开(公告)号: | CN101894010A | 公开(公告)日: | 2010-11-24 |
发明(设计)人: | 布莱恩·W·伯格;柯林·艾迪 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F11/00 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 史新宏 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 适用于 操作方法 | ||
技术领域
本发明是关于微处理器,特别是关于微处理器所提供的除错中断点设备(debug breakpoint facilities)。
背景技术
x86架构跟大部分微处理器架构一样会提供程序设计者一种方法使得程序设计者能够在一个或多个地址范围的存取(access)路径上指定除错中断点。具体而言,中断点地址范围为虚拟地址范围(在x86语法(parlance)中称为线性地址)。在某些微处理器中,载入单元(load unit)执行检查动作用以判断一载入地址是否存取一中断点范围。
有时一载入指令(load)会跨越(span)两条快取线(cache line),因此载入指令必须分成两个片段(如图4所示),使得各个片段沿着载入管线(load pipeline)传送(send down)用以存取数据快取(data cache)。第一片段沿着载入管线传送并使用初始载入地址与第一大小来存取数据快取,以便从第一相关快取线(implicated cache line)中取得数据,其中第一大小是指与第一片段有关的字节数目。接着,第二片段沿着载入管线传送并使用一递增后的初始载入地址与第二大小来存取数据快取,以便从第二相关快取线中取得数据,其中第二大小是指与第二片段有关的字节数目。由于载入单元必须对照中断点范围检查各个片段,所以上述情况会使得中断点检查变得更复杂,细节将在以下做进一步说明。
以下将提供一些已知技术信息以便更了解本发明。各个载入队列项目(load queue entry)包含一地址字段的储存空间。一开始,载入单元将载入虚拟地址(load virtual address)载入至地址字段。载入单元接着将载入虚拟地址转译成载入物理地址(load physical address)以便存取数据快取,接着再将地址字段中的虚拟地址替换为物理地址。在各个载入队列项目中包含一单一地址字段可有效降低载入队列的储存需求,并且可节省芯片的实际面积(real estate space)以及功率消耗。然而,单一地址字段在快取线跨越(cache-line-spanning)/双片段(two piece)载入情况下会产生问题,因为当载入管线处理第一片段时,单一地址字段会重写(clobber)虚拟地址,使得第二片段不再具有虚拟地址来执行中断点检查。
其中一种解决上述问题的方法就是在各个载入队列项目中包含两个地址字段。如此,物理地址可被写入至第二地址字段用以避免重写虚拟地址,或是各个地址字段可对应至不同的片段使得各个片段具有自己的虚拟地址,并且可在不影响另一片段的情况下重写自己的虚拟地址。然而此方法并不理想,因为第二地址字段所占用的额外的储存空间会增加芯片的实际面积以及功率消耗。
为了避免额外的地址储存空间,另一种解决方法就是再额外通过一次载入管线,即执行额外的管线循环(additional passes)。换言之,第一、第二片段依序沿着载入管线传送用以执行中断点检查,接着第一、第二片段依序沿着载入管线传送用以产生物理地址并存取数据快取。然而此方法也不甚理想,因为会降低整体的执行速度。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010249034.6/2.html,转载请声明来源钻瓜专利网。