发明名称 将藉由分支目标位址快取区所预测之分支指令与相关目标指令密集挤入位元组宽度指令缓冲区之装置及方法
摘要 一种位于微处理器中之分支控制装置。暂存器接收来自于指令快取区回应于撷取位址所提供包含分支指令之第一快取线。撷取位址于分支目标位址快取区之命中提供了分支指令之目标位址。分支目标位址快取区也提供了在分支指令之后之指令的一个偏移资讯。根据此偏移资讯,分支指令之后之指令群被视为无效。多工逻辑仅将有效指令群挤入一个直接稠接于指令格式化逻辑之位元组宽度指令缓冲区。指令快取区回应该目标位址提供包含目标指令之第二快取线给此暂存器。目标指令之前的指令群会根据目标位址之较低位元而被视为无效。多工逻辑仅将有效的目标指令群以紧邻分支指令位元组群的方式挤入指令缓冲区内。
申请公布号 TW526451 申请公布日期 2003.04.01
申请号 TW090127266 申请日期 2001.11.02
申请人 智权第一公司 发明人 葛林G 亨利;汤玛斯 C 麦当劳
分类号 G06F9/30 主分类号 G06F9/30
代理机构 代理人 詹铭文 台北市中正区罗斯福路二段一○○号七楼之一;萧锡清 台北市中正区罗斯福路二段一○○号七楼之一
主权项 1.一种位于微处理器中之分支控制装置,包括:一指令快取区,用以输出藉由一撷取位址所选择之指令位元组群中之一线;一指令缓冲区,耦接该指令快取区且用以缓冲指令位元组群中之该线;一分支目标位址快取区(BTAC),耦接该撷取位址且用以提供与位于指令位元组中之该线中之一分支指令之一位置相关之一偏移资讯;以及一选择逻辑,耦接该分支目标位址快取区且用以根据该偏移资讯使得一部份指令位元组不被提供至该指令缓冲区。2.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该偏移资讯明确说明紧接着指令位元组中之该线中之该分支指令之一指令之位置。3.如申请专利范围第2项所述之位于微处理器中之分支控制装置,其中不被提供至该指令缓冲区之该部份指令位元组,包括在该偏移资讯被特定时,紧接于指令位元组群中之该线之分支指令后的指令位元组群。4.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该选择逻辑包括:一暂存器,耦接于该指令快取区与该指令缓冲区间且用以储存指令位元组群中之该线。5.如申请专利范围第4项所述之位于微处理器中之分支控制装置,其中该选择逻辑更包括:复数个有效位元,耦接于该暂存器,其中该些有效位元中之每一个为与该暂存器中之指令位元组群中之一个相关连。6.如申请专利范围第5项所述之位于微处理器中之分支控制装置,其中该选择逻辑根据由该分支目标位址快取区所接收之该偏移资讯植入该些有效位元。7.如申请专利范围第6项所述之位于微处理器中之分支控制装置,其中该选择逻辑使得该暂存器中之指令位元组群中之每一个具有一对应有效位元以指示该暂存器中之指令位元组群中之一个为无效而不被提供至该指令缓冲区。8.如申请专利范围第7项所述之位于微处理器中之分支控制装置,其中该分支目标位址快取区提供一命中信号给该选择逻辑以指示该撷取位址是否命中于该分支目标位址快取区。9.如申请专利范围第8项所述之位于微处理器中之分支控制装置,其中如果该命中信号指示该撷取位址命中于该分支目标位址快取区时,该选择逻辑根据由该分支目标位址快取区所接收之该偏移资讯植入该些有效位元。10.如申请专利范围第5项所述之位于微处理器中之分支控制装置,其中该选择逻辑包括:多工逻辑,耦接于该指令快取区与指令缓冲区之间,且用以藉由该些有效位元中之一个指示相关连之该暂存器中之指令位元组群中之一个为有效以被提供至该指令缓冲区。11.如申请专利范围第10项所述之位于微处理器中之分支控制装置,其中该多工逻辑包括一组多工器以舍弃被相关连之该些有效位元指示为无效之指令位元组群。12.如申请专利范围第10项所述之位于微处理器中之分支控制装置,其中该多工逻辑包括一组多工器将被相关连之该有效位元指示为有效之指令位元组排整于该指令缓冲区中之一第一空位置。13.如申请专利范围第10项所述之位于微处理器中之分支控制装置,其中该多工逻缉包括一组多工器以藉由移出该指令缓冲区中之一些位元组之方式,将被相关连之该有效位元指示为有效之指令位元组移位被相关连之。14.如申请专利范围第13项所述之位于微处理器中之分支控制装置,其中该选择逻辑被配置去接收由一指令格式化逻辑而来之一移位计数,以指示该些指令位元组由该指令缓冲区被移出之一数量。15.如申请专利范围第14项所述之位于微处理器中之分支控制装置,其中该多工逻辑藉由该移位计数将被相关连之该有效位元指示为有效之指令位元组移位。16.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该指令缓冲区包括一移位暂存器。17.如申请专利范围第16项所述之位于微处理器中之分支控制装置,其中该移位暂存器为一位元组宽度。18.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该指令缓冲区直接耦接用以格式化指令位元组群之一指令格式化逻辑。19.如申请专利范围第18项所述之位于微处理器中之分支控制装置,其中该指令缓冲区中之一底部位元组直接被提供至被配置为用以格式化之一指令之第一位元组之一部份该指令格式化逻辑。20.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该分支指令包括一x86分支指令。21.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该分支目标位址快取区被配置为回应于该撷取位址以提供该分支指令之一目标位址。22.如申请专利范围第1项所述之位于微处理器中之分支控制装置,其中该目标位址作为一接下来撷取位址并选择性地被提供至该指令快取区,以选择指令位元组群中之一第二线,且该第二线包含该指令快取区中之该分支指令之一目标指令。23.如申请专利范围第22项之位于微处理器中之分支控制装置,其中该选择逻辑使得该目标指令被提供至该指令缓冲区中,且与该指令缓冲区中之该分支指令相邻。24.如申请专利范围第23项之位于微处理器中之分支控制装置,其中该选择逻辑使得在该第二线中之该目标指令之前之指令位元组群被舍弃且不被提供至该指令缓冲区。25.如申请专利范围第1项之位于微处理器中之分支控制装置,其中该指令快取区储存由该微处理器所执行之可变长度之指令群。26.一种位于微处理器中之预先解码阶层,包括:一指令缓冲区,用以缓冲指令资料以供应给一指令格式化逻辑;一选择逻辑,耦接该指令缓冲区且用以接收藉由来自于一指令快取区中之一撷取位址所选择之一第一指令资料,其中该第一指令资料包括一分支指令;以及一分支目标位址快取区(BTAC),耦接该选择逻辑且用以提供该分支指令之一目标位址作为一下一个撷取位址给该指令快取区;其中该选择逻辑被配置为接收藉由来自于该指令快取区之该目标位址所选择之一第二指令资料,且该第二指令资料包括该分支指令之一目标指令;以及其中该选择逻辑被配置为将该分支指令以及该目标指令以相互紧邻之方式写入该指令缓冲区中。27.如申请专利范围第26项所述之位于微处理器中之预先解码阶层,其中该分支目标位址快取区被配置为回应于该撷取位址以提供该目标位址。28.如申请专利范围第26项所述之位于微处理器中之预先解码阶层,其中该分支目标位址快取区被配置为提供紧随于该分支指令之该第一指令资料中之一位置之一指示给该选择逻辑。29.如申请专利范围第28项所述之位于微处理器中之预先解码阶层,其中该选择逻辑根据该位置之该指示将该分支指令以及该目标指令以相互紧邻之方式写入该指令缓冲区中。30.如申请专利范围第29项所述之位于微处理器中之预先解码阶层,其中该选择逻辑被配置为接收该目标位址。31.如申请专利范围第30项所述之位于微处理器中之预先解码阶层,其中该选择逻辑根据该目标位址以及该位置之该指示将该分支指令以及该目标指令以相互紧邻之方式写入该指令缓冲区中。32.如申请专利范围第28项所述之位于微处理器中之预先解码阶层,其中该分支目标位址快取区被配置为回应该撷取位址以提供该指示。33.如申请专利范围第26项所述之位于微处理器中之预先解码阶层,其中该指令缓冲区包括一移位暂存器。34.如申请专利范围第33项所述之位于微处理器中之预先解码阶层,其中该移位暂存器为一位元组宽度。35.如申请专利范围第33项所述之位于微处理器中之预先解码阶层,其中该选择逻辑将在该指令缓冲区中之一最后有效资料位元组之该分支指令以及该目标指令以相互紧邻之方式写入该指令缓冲区中。36.如申请专利范围第33项所述之位于微处理器中之预先解码阶层,其中该选择逻辑将该分支指令以及该目标指令写入该指令缓冲区中之一下一个空位置。37.如申请专利范围第33项所述之位于微处理器中之预先解码阶层,其中该指令缓冲区直接耦接于该指令格式化逻辑。38.一种提供分支指令与分支指令之目标指令至指令缓冲区之方法,其方法包括:接收来自于一指令快取区之包括该分支指令之一第一快取线;紧随于该分支指令后,接收来自于一分支目标位址快取区(BTAC)之该第一快取线中之一指令之一偏移资讯;接收来自于该指令快取区之包括该目标指令之一第二快取线,且该第二快取线为藉由该分支目标位址快取区所提供之该分支指令之一目标位址所选择;舍弃在该第一快取线中之该分支指令之后之指令群;舍弃在该第二快取线中之该目标指令之前之指令群;以及维持在每个舍弃步骤后提供该第一以及该第二快取线之一部分给该指令缓冲区。39.如申请专利范围第38项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其中根据该偏移资讯舍弃在该第一快取线中之该分支指令之后之指令群。40.如申请专利范围第38项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其中根据该目标位址舍弃在该第二快取线中之该目标指令之前之指令群。41.如申请专利范围第38项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其方法更包括:在接收来自于该指令快取区之该第一快取线之前,提供一撷取位址给该指令快取区;其中该指令快取区回应该撷取位址以提供该第一快取线。42.如申请专利范围第41项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,更包括:在接收来自于该分支目标位址快取区之该偏移资讯之前,提供该撷取位址给该分支目标位址快取区;其中该分支目标位址快取区回应该撷取位址以提供该偏移资讯。43.如申请专利范围第38项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其方法更包括:在舍弃位于该第一快取线中之该分支指令之后之指令群之前,储存该第一快取线至一暂存器中。44.如申请专利范围第43项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其中舍弃在该第一快取线中之分支指令后面之指令群,包括将在该暂存器中之分支指令之后之指令群标记为无效且不提供在该暂存器中被标记为无效之指令群给该指令缓冲区。45.如申请专利范围第38项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其方法更包括:在舍弃位于该第二快取线中之该目标指令之前之指令群之前,储存该第二快取线至一暂存器中。46.如申请专利范围第45项所述之提供分支指令与分支指令之目标指令至指令缓冲区之方法,其中舍弃在该第二快取线中之该目标指令之前之指令群,包括将在该暂存器中之该目标指令之前指令群标记为无效且不提供在该暂存区中被标记为无效之指令群给该指令缓冲区。图式简单说明:第1图绘示的是根据本发明较佳实施例中之包括一个分支控制装置之管线化处理器之部分方块图;第2图绘示的是根据第1图之指令缓冲区对指令格式化逻辑之耦合;第3图绘示的是根据第1图中之多工逻辑之方块图;第4图绘示的是根据第1图中之分支控制装置之操作流程说明图;以及第5图绘示的是根据第1图中之分支控制器之方块图。
地址 美国