发明名称 编译器之指令多层次提升方法
摘要 本案系一种编译器指令多层次提升方法,包括下面步骤:提供复数个普通暂存器,作为一般指令所存取之目的暂存器;至少一指令被提升至分歧指令之前,预先执行之;提供复数个特殊暂存器,作为预先执行指令所存取之目的暂存器;分别在各该被提升之指令之原位置,将相对于该被提升指令所及之至少一该普通暂存器之位址改为相对应之至少一该特殊暂存器之位址;及以由编译器执行程式/指令而完成编译效果。藉由本案得提高编译器之效能,降低额外暂存器需求量,不需复杂的复制电路,降低成本
申请公布号 TW226050 申请公布日期 1994.07.01
申请号 TW082103660 申请日期 1993.05.11
申请人 行政院国家科学委员会 台北巿和平东路二段 一○六号十八楼 发明人 赖飞罴
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人 蔡清福 台北巿忠孝东路一段一七六号九楼
主权项 1﹒一种编译器指令多层次提升方法,包括下面步骤:提供复数个普通暂存器,作为一般指令所存取之目的暂存器;至少一该指令被提升至分歧指令之前,预先执行之;提供复数个特殊暂存器对应于该复数个普通暂存器,作为预先执行指令所存取之目的暂存器;分别在各该被提升之指令之原位置,将相对于该被提升指令所及之至少一该普通暂存器之位址改为相对应之至少一该特殊暂存器之位址;以及由编译器执行程式/指令两完成具少硬体量之编译效果。2﹒如申请专利范围第1项所述之编译器指令多层次提升方法,其中各该复数个特殊暂存器相对应于各该复数个普通暂者存器,视为其影子,而成共轭暂存器对。3﹒如申请专利范围第2项所述之编译器指令多层次提升方法,其中该共轭暂存器对之位址値,仅一个位元相异。4﹒如申请专利范围第3项所述之编译器指令多层次提升方法,其中所谓仅一个位元相异系指仅该位址値之最高有效位元(MSB)相异。5﹒如申请专利范围第4项所述之编译器指令多层次提升方法,该编译器更设有一位址转换电路,俾完成在各该被提升之指令之原位置下,该普通暂存器及该特殊暂存器之位址转换。6﹒如申请专利范围第5项所述之编译器指令多层次提升方法,其中该位址转换电路,系以逻辑闸或XOR完成,俾电路简单。7﹒如申请专利范围第5项所述之编译器指令多层次提升方法,其中该编译器设有一语意暂存器,让语意暂存器包含有复数个位元,每一该位元与每一该共轭暂存器对配合,俾该位址转换定路据以决定是否行位址转换工作。8﹒如申请专利范围第7项所述之编译器指令多层次提升方法,其中该编译器设有一提升边界暂存器,该提升各界暂存器包含有复数个位元,每一该位元与每一该共轭暂存器对配合,藉由该提升边界暂存器的値,以影响该语意暂存器的値。9﹒如申请专利范围第8项所述之编译器指令多层次提升方法,其中该编译器更包含有一互斥或提升边界者存器(XOR BBR)之动作,俾完成该提升边界暂存器値影响该语意暂存器的値。10﹒如申请专利范围第8项所述之编译器指令多层次提升方法,更包括有复数提升个指令,以决定该提升边界暂存器之各位元之値,俾影响该位址转换电路之动作。11﹒如申请专利范围第10项所述之编译器指令多层次提升方法,其中该提升指令包括有设置提升边界暂存器位元(SetBBR)之指令。12﹒如申请专利范围第11项所述之编译器指令多层次提升方法,其中该设置提升边界暂存器位元之指令,系置放于所谓该被提升之指令之原位置,而令该位址转移电路工作。13﹒如申请专利范围第10项所述之编译器指令多层次提升方法,其中该提升指令系代替原NOP(无运算指令)的位置,俾不增加指令包的数目。14﹒如申请专利范围第10项所述之编译器指令多层次提升方法,其中该提升指令包括有重置提升边界暂存器位元(ResetBBR)之指令,俾令编译器之提升指令工作得顺利完成。15﹒如申请专利范围第1项所述之编译器指令多层次提升方法,其中该复数个特殊暂存器,于无预先执行指令之时机,则与该复数个普通暂存器为两个独立的暂存器群来使用,分别储存不相干的变数。图示简单说明:第一图系未提升指令之状态;第二图系习用之提升一阶指令之状态第三图系习用之提升二阶指令之状态第四图系位址转换电路图;第五图系本案之未提升指令状态之例第六图系本案之提升二阶指令状态之例;第七图系提升边界暂存器影响语意暂存器之电路图。
地址 台北巿和平东路二段一○