发明名称 用于单处理器管线中的起头线程与臆测性线程之交错执行的方法及装置
摘要 本发明的一个实施例提供一个系统,该系统促使起头线程与臆测性线程在单处理器管线中交错执行。该系统藉由执行使用起头线程的程式指令、及臆测性地执行在起头线程之前使用臆测性线程的程式指令而操作,其中起头线程与臆测性线程在单处理器管线中同时经由时间多工交错执行。
申请公布号 TWI262437 申请公布日期 2006.09.21
申请号 TW092104824 申请日期 2003.03.06
申请人 阳光微电脑系统有限公司 发明人 萨兰德 邱吉;马可 川布雷
分类号 G06F9/38 主分类号 G06F9/38
代理机构 代理人 林志刚 台北市中山区南京东路2段125号7楼
主权项 1.一种用于单处理器管线中的起头线程与臆测性线程之交错执行的方法,该方法包含:使用该起头线程执行程式指令;及在该起头线程之前使用该臆测性线程臆测性地执行程式指令;其中该起头线程与该臆测性线程在该单处理器管线中经由时间多工交错同时执行。2.如申请专利范围第1项之方法,其中该臆测性线程包括一或多个臆测性线程。3.如申请专利范围第1项之方法,进一步包含当该起头线程到达程式中该臆测性线程开始执行的那一点时,在该起头线程与该臆测性线程之间执行一个结合运算。4.如申请专利范围第3项之方法,其中该起头线程在记忆体元件的主要版本上操作;其中该臆测性线程在该记忆体元件的空间时间因素版本上操作;及其中执行一个包含将记忆体元件空间时间因素版本并入记忆体元件主要版本的结合运算,以致记忆体元件空间时间因素版本的更新同时列入相对的记忆体元件主要版本中。5.如申请专利范围第4项之方法,其中如果该臆测性线程执行一个记忆体元件的读取运算,该方法进一步包含:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本存在,读取该记忆体元件的空间时间因素版本;如果该记忆体元件的空间时间因素版本不存在,读取该记忆体元件的主要版本;及更新有关该记忆体元件的状态资讯,以表示该记忆体元件已经被臆测性线程读取过了。6.如申请专利范围第4项之方法,其中如果该臆测性线程执行一个记忆体元件的写入运算,该方法进一步包含:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本不存在,产生一个记忆体元件的空间时间因素版本;及执行该记忆体元件空间时间因素版本的写入运算。7.如申请专利范围第4项之方法,其中如果该起头线程执行一个记忆体元件的读取运算,该方法进一步包含执行记忆体主要版本的读取运算。8.如申请专利范围第4项之方法,其中如果该起头线程执行一个记忆体元件的写入运算,该方法进一步包含:执行该记忆体元件主要版本的写入运算;检查有关该记忆体元件的状态资讯以决定该记忆体元件是否已被该臆测性线程读取过;如果该记忆体元件已被该臆测性线程读取过,引发臆测性线程的撒销复原以致臆测性线程可以读取该写入运算的结果;及如果该记忆体元件尚未被该臆测性线程读取过,且存在该空间时间因素版本,执行该记忆体元件空间时间因素版本的写入运算。9.如申请专利范围第4项之方法,其中该记忆体元件包括物件导向程式系统中所定义的物件。10.如申请专利范围第1项之方法,其中该起头线程与该臆测性线程在硬体上存取分别的暂存器档。11.一种储存指令的电脑可读取储存媒体,当电脑执行该媒体时,引发该电脑执行一个用于单处理器管线中起头线程与臆测性线程交错执行的方法,该方法包含:使用该起头线程执行程式指令;及在该起头线程之前使用该臆测性线程臆测性地执行程式指令;其中该起头线程与该臆测性线程在该单处理器管线中经由时间多工交错同时执行。12.如申请专利范围第11项之电脑可读取储存媒体,其中该臆测性线程包括一或多个臆测性线程。13.如申请专利范围第11项之电脑可读取储存媒体,其中该方法进一步包含当该起头线程到达程式中该臆测性线程开始执行的那一点时,在该起头线程与该臆测性线程之间执行一个结合运算。14.如申请专利范围第13项之电脑可读取储存媒体,其中该起头线程在记忆体元件的主要版本上操作;其中该臆测性线程在该记忆体元件的空间时间因素版本上操作;及其中执行一个包含将记忆体元件空间时间因素版本并入记忆体元件主要版本的结合运算,以致记忆体元件空间时间因素版本的更新同时列入相对的记忆体元件主要版本中。15.如申请专利范围第14项之电脑可读取储存媒体,其中如果该臆测性线程执行一个记忆体元件的读取运算,该方法进一步包含:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本存在,读取该记忆体元件的空间时间因素版本;如果该记忆体元件的空间时间因素版本不存在,读取该记忆体元件的主要版本;及更新有关该记忆体元件的状态资讯,以表示该记忆体元件已经被臆测性线程读取过了。16.如申请专利范围第14项之电脑可读取储存媒体,其中如果该臆测性线程执行一个记忆体元件的写入运算,该方法进一步包含:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本不存在,产生一个记忆体元件的空间时间因素版本;及执行该记忆体元件空间时间因素版本的写入运算。17.如申请专利范围第14项之电脑可读取储存媒体,其中如果该起头线程执行一个记忆体元件的读取运算,该方法进一步包含执行该记忆体元件主要版本的读取运算。18.如申请专利范围第14项之电脑可读取储存媒体,其中如果该起头线程执行一个记忆体元件的写入运算,该方法进一步包含:执行该记忆体元件主要版本的写入运算;检查有关该记忆体元件的状态资讯以决定该记忆体元件是否已被该臆测性线程读取过;如果该记忆体元件已被该臆测性线程读取过,引发臆测性线程的撒销复原以致臆测性线程可以读取该写入运算的结果;及如果该记忆体元件尚未被该臆测性线程读取过,且存在该空间时间因素版本,执行该记忆体元件空间时间因素版本的写入运算。19.如申请专利范围第14项之电脑可读取储存媒体,其中该记忆体元件包括物件导向程式系统中所定义的物件。20.如申请专利范围第11项之电脑可读取储存媒体,其中该起头线程与该臆测性线程在硬体上存取分别的暂存器档。21.一种支援单处理器管线中起头线程与臆测性线程交错执行的装置,该装置包含:一处理器;一在该处理器中的处理器管线;一建构于该处理器中的执行机构,以使用该起头线程执行程式指令,及在该起头线程之前使用该臆测性线程臆测性地执行程式指令;其中所建构的该执行机构在该处理器管线中经由时间多工交错同时执行该起头线程与该臆测性线程。22.如申请专利范围第21项之装置,其中该臆测性线程包括一或多个臆测性线程。23.如申请专利范围第21项之装置,进一步包含建构一个结合机构,当该起头线程到达程式中该臆测性线程开始执行的那一点时,该机构在该起头线程与该臆测性线程之间执行一个结合运算。24.如申请专利范围第23项之装置,其中该起头线程在记忆体元件的主要版本上操作;其中该臆测性线程在该记忆体元件的空间时间因素版本上操作;及其中所建构的结合机构将记忆体元件空间时间因素版本并入记忆体元件主要版本,以致记忆体元件空间时间因素版本的更新同时列入相对的记忆体元件主要版本中。25.如申请专利范围第24项之装置,其中如果该臆测性线程执行一个记忆体元件的读取运算,所建构的执行机构:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本存在,读取该记忆体元件的空间时间因素版本;如果该记忆体元件的空间时间因素版本不存在,读取该记忆体元件的主要版本;及更新有关该记忆体元件的状态资讯,以表示该记忆体元件已经被臆测性线程读取过了。26.如申请专利范围第24项之装置,其中如果该臆测性线程执行一个记忆体元件的写入运算,所建构的执行机构:决定该记忆体元件的空间时间因素版本是否存在;如果该记忆体元件的空间时间因素版本不存在,产生一个记忆体元件的空间时间因素版本;及执行该记忆体元件空间时间因素版本的写入运算。27.如申请专利范围第24项之装置,其中如果该起头线程执行一个读取记忆体元件的运算,所建构的该执行机构执行读取记忆体主要版本的运算。28.如申请专利范围第24项之装置,其中如果该起头线程执行一个记忆体元件的写入运算,所建构的该执行机构:执行记忆体元件主要版本的写入运算;检查有关该记忆体元件的状态资讯以决定该记忆体元件是否已被该臆测性线程读取过;如果该记忆体元件已被该臆测性线程读取过,引发臆测性线程的撒销复原以致臆测性线程可以读取该写入运算的结果;及如果该记忆体元件尚未被该臆测性线程读取过,且存在该空间时间因素版本,执行该记忆体元件空间时间因素版木的写入运算。29.如申请专利范围第24项之装置,其中该记忆体元件包括物件导向程式系统中所定义的物件。30.如申请专利范围第21项之装置,其中该起头线程与该臆测性线程在硬体上存取分别的暂存器档。图式简单说明:图一说明一个根据本发明的一个实施例之电脑系统。图二A说明藉由单线程方法的循序执行。图二B说明根据本发明的一个实施例之方法的空间与时间因素执行。图三说明根据本发明的一个实施例之方法在空间与时间因素执行中系统堆叠的状态。图四说明根据本发明的一个实施例,记忆体如何在堆叠与堆积间分配。图五说明根据本发明的一个实施例,物件的主要版本与空间时间因素版本之结构。图六说明根据本发明的一个实施例,用于一个物件的状态字元结构。图七显示一个根据本发明的一个实施例之流程图,说明藉由一个起头线程执行一个记忆体元件的写入所包含之运算。图八显示一个根据本发明的一个实施例之流程图,说明藉由一个臆测性线程执行一个记忆体元件的读取所包含之运算。图九显示一个根据本发明的一个实施例之流程图,说明藉由一个臆测性线程执行一个记忆体元件的写入所包含之运算。图十显示一个根据本发明的一个实施例之流程图,说明藉由一个起头线程与一个臆测性线程间的结合所包含之运算。图十一显示一个根据本发明另一个实施例之流程图,说明执行一个起头线程与一个臆测性线程间的结台所包含之运算。图十二显示一个根据本发明的一个实施例之流程图,说明一个起头线程与相关的臆测性线程的交错执行。
地址 美国