发明名称 实行重覆字串操作
摘要 实行重覆字串操作包括将一来源资料位置或一目标资料位置对齐于一可被一预先决定整数除尽的位置,该对齐处理包含使用其大小等于运算元大小的资料来执行一字串操作。对齐之后,可使用其大小大于运算元大小的资料来执行一字串操作。实行重覆字串操作包括如果一运算元大小是一预先决定犬小,则发出一第一预先决定反覆运算(iteration)次数;以及否则,发出一第二预先决定反覆运算次数。实行重覆字串操作包括判定一重覆字串操作的所要求之反覆运算次数是否在一预先决定多数字范围内,并且针对在该范围内的任何所要求之反覆运算次数以精确发出所要求之反覆运算次数之值。
申请公布号 TWI257572 申请公布日期 2006.07.01
申请号 TW092123586 申请日期 2003.08.27
申请人 英特尔公司 发明人 拉贾希S. 帕莎萨拉喜;麦哈分 帕莎萨拉喜;史考特 狄恩 罗杰斯;周宪
分类号 G06F9/34 主分类号 G06F9/34
代理机构 代理人 陈长文 台北市松山区敦化北路201号7楼
主权项 1.一种用于执行重覆字串操作之方法,该方法包括: 存取一关于一具有一运算元大小之重覆字串操作 的要求; 将一来源资料位置或一目标资料位置之一对齐于 一可被一预先决定整数除尽的位置,该对齐处理包 含使用其大小等于该运算元大小的资料来执行一 或多项字串操作;以及 对齐之后,可使用其大小大于运算元大小的资料来 执行一或多项字串操作。 2.如申请专利范围第1项之方法,进一步包括将该来 源资料位置及该目标资料位置都对齐于可被该预 先决定整数除尽的多个位置,其中该等一或多项字 串操作导致该来源资料位置及该目标资料位置对 齐。 3.如申请专利范围第2项之方法,其中该等对齐用位 置表示位元组、该预先决定整数等于八,以及在该 对齐处理后所执行之该等一或多项字串操作包括: 从该来源资料位置载入一具有八个位元组之大小 的资料;以及 将具有八个位元组之大小的该资料储存至该目标 资料位置。 4.如申请专利范围第2项之方法,其中该等对齐用位 置表示位元组、该预先决定整数等于十六,以及在 该对齐处理后所执行之该等一或多项字串操作包 括: 从该来源资料位置载入一具有十六个位元组之大 小的资料;以及 将具有十六个位元组之大小的该资料储存至该目 标资料位置。 5.如申请专利范围第1项之方法,其中该来源资料位 置及该目标资料位置中只有其中一项对齐于一可 被该预先决定整数除尽的对齐用位置。 6.如申请专利范围第5项之方法,其中只有该目标资 料位置对齐于一可被该预先决定整数除尽的对齐 用位置。 7.如申请专利范围第6项之方法,其中该对齐用位置 表示位元组、该预先决定整数等于十六、该来源 资料位置对齐于一可被入除尽的对齐用位置,以及 在该对齐处理后所执行之该等一或多项字串操作 包括: 从该来源资料位置载入一具有八个位元组之大小 的第一组资料; 将该来源资料位置向前移动八个位元组; 从该来源资料位置载入一具有八个位元组之大小 的第二组资料; 将该第一组资料与该第二组资料合并成一组十六 位元资料集;以及 将该组十六位元资料集储存至该目标资料位置。 8.如申请专利范围第6项之方法,其中该对齐用位置 表示位元组、该预先决定整数等于十六,以及在该 对齐处理后所执行之该等一或多项字串操作包括: 从一可被十六除尽且位于或低于该来源资料位置 之最接近对齐用位置,载入一具有十六个位元组之 大小的第一组资料; 从一可被十六除尽且位于或高于该来源资料位置 之最接近对齐用位置,载入一具有十六个位元组之 大小的第二组资料; 将该第一组资料与该第二组资料合并成一组合并 之十六位元资料集,该组合并之十六位元资料集相 对应于位于该来源资料位置之资料;以及 将该组合并之十六位元资料集储存至该目标资料 位置。 9.如申请专利范围第1项之方法,其中在该对齐处理 后所执行之该等一或多项字串操作包括: 从一可被一第一预先决定整数除尽且位于或低于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第二组资料; 从一可被二第二预先决定整数除尽且位于或高于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第二组资料; 将该第一组资料与该第二组资料合并成一组合并 之十六位元资料集,该组合并之十六位元资料集具 有一第三预先决定大小且相对应于位于该来源资 料位置之资料;以及 将该组合并之十六位元资料集储存至该目标资料 位置。 10.如申请专利范围第1项之方法,其中该对齐用位 置表示位元组,该预先决定整数等于其大小大于该 运算元大小之位元组数量。 11.如申请专利范围第1项之方法,其中该对齐用位 置表示位元组,以及该预先决定整数系选自由八与 十六所组成之群组。 12.如申请专利范围第1项之方法,其中在该对齐处 理后所执行之该等一或多项字串操作包括前向步 进。 13.如申请专利范围第1项之方法,其中在该对齐处 理后所执行之该等一或多项字串操作包括反向步 进。 14.如申请专利范围第1项之方法,其中该方法系由 一处理器来执行。 15.一种包含一已有储存指令之储存媒体的物品,当 一机器执行所储存之指令时会导致至少下列动作: 存取一关于一具有一运算元大小之重覆字串操作 的要求; 将一来源资料位置或一目标资料位置之一对齐于 一可被一预先决定整数除尽的位置,该对齐处理包 含使用其大小等于一运算元大小的资料来执行一 或多项字串操作;以及 对齐之后,可使用其大小大于运算元大小的资料来 执行一或多项字串操作。 16.如申请专利范围第15项之物品,其中当一机器执 行所储存之指令时会导致至少下列动作:将该来源 资料位置及该目标资料位置都对齐于可被读预先 决定整数除尽的多个位置,其中该等一或多项字串 操作导致该来源资料位置及该目标资料位置对齐 。 17.如申请专利范围第15项之物品,其中在该对齐处 理后所执行之该等一或多项字串操作包括: 从一可被一第一预先决定整数除尽且位于或低于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第一组资料; 从一可被一第二预先决定整数除尽且位于或高于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第二组资料; 将该第一组资料与该第二组资料合并成一合并之 十六位元资料集,该合并之十六位元资料集具有一 第三预先决定大小且相对应于位于该来源资料位 置之资料;以及 将该组合并之十六位元资料集储存至该目标资料 位置。 18.一种用于执行重覆字串操作之装置,该装置包括 用于执行至少下列操作之电路: 存取一关于一具有一运算元大小之重覆字串操作 的要求; 将一来源资料位置或一目标资料位置之一对齐于 一可被一预先决定整数除尽的位置,该对齐处理包 含使用其大小等于一运算元大小的资料来执行一 或多项字串操作;以及 对齐之后,可使用其大小大于运算元大小的资料来 执行一或多项字串操作。 19.如申请专利范围第18项之装置,其中该电路将该 来源资料位置及该目标资料位置都对齐于可被该 预先决定整数除尽的多个位置,其中该等一或多项 字串操作导致该来源资料位置及该目标资料位置 对齐。 20.如申请专利范围第18项之装置,其中在该对齐处 理后所执行之该等一或多项字串操作包括: 从一可被一第一预先决定整数除尽且位于或低于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第一组资料; 从一可被一第二预先决定整数除尽且位于或高于 该来源资料位置之最接近对齐用位置,载入一具有 该预先决定整数之大小的第二组资料; 将该第一组资料与该第二组资料合并成一合并之 十六位元资料集,该合并之十六位元资料集具有一 第三预先决定大小且相对应于位于该来源资料位 置之资料;以及 将该组合并之十六位元资料集储存至该目标资料 位置。 21.如申请专利范围第18项之装置,其中该电路包含 一已有储存指令的记忆体,用于执行一种用于执行 重覆字串操作之装置,该装置包括用于执行下列操 作中至少一项操作: 存取一关于一具有一运算元大小之重覆字串操作 的要求; 将一来源资料位置或一目标资料位置之一对齐于 一可被一预先决定整数除尽的位置,该对齐处理包 含使用其大小等于一运算元大小的资料来执行一 或多项字串操作;以及 对齐之后,可使用具大小大于运算元大小的资料来 执行一或多项字串操作。 22.如申请专利范围第18项之装置,其中该电路包含 一用以执行下列操作中至少一项操作之处理器: 存取一关于一具有一运算元大小之重覆字串操作 的要求; 将一来源资料位置或一目标资料位置之一对齐于 一可被一预先决定整数除尽的位置,该对齐处理包 含使用其大小等于一运算元大小的资料来执行一 或多项字串操作;以及 对齐之后,可使用其大小大于运算元大小的资料来 执行一或多项字串操作。 23.如申请专利范围第18项之装置,其中一种电路包 括: 一记忆体; 一处理器;以及 一滙流排,其连接该记忆体及该处理器。 24.一种用于执行重覆字串操作之方法,该方法包括 : 判定一与一重覆字串操作相关的运算元大小; 如果该运算元大小是一预先决定大小,则发出一第 一预先决定反覆运算次数;以及 否则,发出一第二预先决定反覆运算次数。 25.如申请专利范围第24项之方法,其中会依据重覆 字串操作的所要求反覆运算次数之预测,来选择该 第一预先决定反覆运算次数。 26.如申请专利范围第24项之方法,其中该第一预先 决定反覆运算次数等于三,该第二预先决定反覆运 算次数等于八,以及针对字组或双字组之运算元大 小,发出八次反覆运算。 27.如申请专利范围第24项之方法,进一步包括: 判定重覆字串操作的所要求之反覆运算次数是否 大于该发出之预先决定反覆运算次数,该发出之预 先决定反覆运算次数等于该第一预先决定反覆运 算次数或该第二预先决定反覆运算次数;以及 视需要发出多个额外反覆运算,而得以精确发出该 重覆字串操作的所要求反覆运算次数 28.如申请专利范围第27项之方法,其中在发出该预 先决定反覆运算次数之后,判定所要求之反覆运算 次数是否大于该预先决定次数。 29.如申请专利范围第27项之方法,其中在发出该预 先决定反覆运算次数之前,先判定所要求之反覆运 算次数是否大于该预先决定次数。 30.一种用于执行重覆字串操作之装置,该装置包括 用于执行至少下列操作之电路: 判定一与一重覆字串操作相关的运算元大小; 如果该运算元大小是一预先决定大小,则发出一第 一预先决定反覆运算次数;以及 否则,发出一第二预先决定反覆运算次数。 31.如申请专利范围第30项之装置,其中该电路包含 一已有储存指令的记忆体,用于执行一种用于执行 重覆字串操作之装置,该装置包括用于执行下列操 作中至少一项操作: 判定一与一重覆字串操作相关的运算元大小; 如果该运算元大小是一预先决定大小,则发出一第 一预先决定反覆运算次数;以及 否则,发出一第二预先决定反覆运算次数。 32.如申请专利范围第30项之装置,其中该电路包含 一用以执行下列操作中至少一项操作之处理器: 判定一与一重覆字串操作相关的运算元大小; 如果该运算元大小是一预先决定大小,则发出一第 一预先决定反覆运算次数;以及 否则,发出一第二预先决定反覆运算次数。 33.如申请专利范围第30项之装置,其中该电路可运 作以执行至少下列进一步操作: 判定重覆字串操作的所要求反覆运算次数是否大 于该发出之预先决定反覆运算次数,该发出之预先 决定反覆运算次数等于该第一预先决定反覆运算 次数或该第二预先决定反覆运算次数;以及 视需要发出多个额外反覆运算,而得以精确发出该 重覆字串操作的所要求反覆运算次数。 34.一种包含一已有储存指令之储存媒体的物品,当 一机器执行所储存之指令时会导致至少下列动作: 判定一与一重覆字串操作相关的运算元大小; 如果该运算元大小是一预先决定大小,则发出一第 一预先决定反覆运算次数;以及 否则,发出一第二预先决定反覆运算次数。 35.如申请专利范围第34项之物品,其中储存媒体上 已有储存指令,当一机器执行所储存之指令时会导 致至少下列进一步动作: 判定重覆字串操作的所要求反覆运算次数是否大 于该发出之预先决定反覆运算次数,该发出之预先 决定反覆运算次数等于该第一预先决定反覆运算 次数或该第二预先决定反覆运算次数;以及 视需要发出多个额外反覆运算,而得以精确发出该 重覆字串操作的所要求反覆运算次数。 36.一种用于执行重覆字串操作之方法,该方法包括 : 精确发出一重覆字串操作的所要求反覆运算次数; 以及 执行所要求反覆运算次数之字串操作,该字串操作 系用来转输具有一特定位元组长度的资料,该执行 动作包括: 使用一硬体计数器,以储存一用于识别一来源资料 位置及一目标资料位置的反覆运算値; 在硬体中,将储存在一硬体计数器中的反覆运算値 乘以该特定位元组长度,以判定该来源资料位置及 该目标资料位置的实际记忆体位址位移; 在每次反覆运算之后,以壹为单元来变更储存在该 硬体计数器中的该反覆运算値;以及 将该实际记忆体位址位移提供给微码。 37.一种用于执行重覆字串操作之装置,该装置包括 用于执行至少下列操作之电路: 精确发出一重覆字串操作的所要求反覆运算次数; 以及 执行所要求反覆运算次数之字串操作,该字串操作 系用来转输具有一特定位元组长度的资料,该执行 动作包括: 使用一硬体计数器,以储存一用于识别一来源资料 位置及一目标资料位置的反覆运算値; 在硬体中,将储存在一硬体计数器中的反覆运算値 乘以该特定位元组长度,以判定该来源资料位置及 该目标资料位置的实际记忆体位址位移; 在每次反覆运算之后,以壹为单元来变更储存在该 硬体计数器中的该反覆运算値;以及 将该实际记忆体位址位移提供给微码。 38.一种包含一已有储存指令之储存媒体的物品,当 一机器执行所储存之指令时会至少导致下列动作: 针对在该预先决定范围内的任何所要求反覆运算 次数,精确发出所要求的反覆运算次数之任何値; 以及 执行所要求反覆运算次数之字串操作,该字串操作 系用来转输具有一特定位元组长度的资料,该执行 动作包括: 使用一硬体计数器,以储存一用于识别一来源资料 位置及一目标资料位置的反覆运算値; 在硬体中,将储存在一硬体计数器中的反覆运算値 乘以该特定位元组长度,以判定该来源资料位置及 该目标资料位置的实际记忆体位址位移; 在每次反覆运算之后,以壹为单元来变更储存在该 硬体计数器中的该反覆运算値;以及 将该实际记忆体位址位移提供给微码。 图式简单说明: 图1显示一种用于执行所揭示之重覆字串操作之系 统的方块图。 图2显示用于执行短型重覆字串操作之处理程序的 流程图。 图3显示用于执行中长型重覆字串操作之处理程序 的流程图。 图4显示在执行图3所示之处理程序过程中执行反 覆运算之处理程序的流程图。 图5显示用于执行长型重覆字串操作之处理程序的 流程图。 图6、7、8A、8B及9显示在执行图5所示之处理程序 过程中执行快速重覆字串操作之处理程序的流程 图。 图10显示以平行于重覆字串操作方式来执行内部 操作处理(overhead)之处理程序的流程图。
地址 美国