发明名称 一种执行含有符号参考之指令的方法和装置
摘要 本发明之方法和装置系含有一解码器,一连接到解码器的记忆体,和一连接到解码器的执行级。解码器接收指令,如果该指令含有符号参考,就由解码器来决定该符号参考是否已被解析为数值运算元。符号参考在执行时被动态解析成数值运算元,但并不修改指令中的符号参考,而是将该符号参考所对应的数值运算元存在一数值参考表中,以加速后续执行此指令,因为解析符号参考可藉数值参考表迅速完成,而不需要搜寻整个资料物件。
申请公布号 TW490635 申请公布日期 2002.06.11
申请号 TW087105697 申请日期 1998.04.15
申请人 财团法人工业技术研究院 发明人 赖襄治;马瑞良;汪自强;尚希圣;吴坤城
分类号 G06F12/08;G06F9/30 主分类号 G06F12/08
代理机构 代理人
主权项 1.一种指令的执行方法,至少包含下述步骤: 每次执行一指令时: 当该指令含有符号参考时,判定此符号参考是否已 被解析成数値运算元; 如果该符号参考已被解析成数値运算元,则 (i)从一数値参考表中读出该符号参考所解析成之 数値运算元; (ii)将前述读出之数値运算元取代该符号参考,并 执行该指令。2.如申请专利范围第1项所述之指令 执行方法,其中之步骤(i)的数値运算元系由该指令 之位址所索引至的前述数値参考表之位置中读出 。3.如申请专利范围第1项所述之指令执行方法,其 中尚至少包括一步骤,从一数値参考缓冲区中读出 一已解析指标,用以标示该符号参考是否已经被解 析成数値运算元。4.如申请专利范围第1项所述之 指令执行方法,尚至少包括下列步骤: 如果该符号参考尚未被解析成数値运算元,则 (1)从一对应每一符号参考和其相对数値运算元之 储存位置的资料物件中,搜寻对应该未被解析符号 参考之数値运算元的数値参考; (2)从该数値参考所标示之记忆体储存位置中,读出 对应该符号参考之数値运算元,并将此数値运算元 储存在前述数値参考表中; (3)将该符号参考标示为已完成解析; (4)将前述读出之数値运算元取代该指令中之该符 号参考,并执行该指令。5.如申请专利范围第1项所 述之指令执行方法,其中之指令系从指令快取记忆 体阵列中读出,且其中提供一镜射数値参考缓冲区 用以储存已解析指标,而每一指标对应一特定符号 参考并标示着它是否已被解析成数値运算元,此方 法又至少包含如下步骤: 产生一该指令之撷取位址; 将该撷取位址解码为一第一解码存取位址; 将指令从指令快取记忆体阵列由第一解码存取位 址所指向的快取记忆体之一阵列位置中读出; 在判定符号参考是否已被解析成数値运算元之步 骤中尚包含一步骤,从该数値参考缓冲区中第一解 码存取位址所指的储存位置,读出该符号参考之已 解析指标。6.如申请专利范围第5项所述之指令执 行方法,其中之数値参考表系储存在数値参考缓冲 区中,而步骤(i)尚至少包含下列步骤: 只有当该已解析指标系标示着该符号参考已完成 解析时,才将前述数値运算元从第一解码存取位址 所指向的该数値参考缓冲区中一特定位置处读出 。7.如申请专利范围第5项所述之指令执行方法,其 中之数値参考表系储存在除该数値参考缓冲区外 之另一记忆体中。8.如申请专利范围第5项所述之 指令执行方法,其中至少有一被执行的指令含有一 数値参考运算元,和一镜射静态数値参考缓冲区, 其中存着第二组指标,用以表示相对应的数値参考 运算元已完成解析,此方法尚至少包含下列步骤: 如该指令含数値参考运算元,则从第一解码存取位 址所指到的镜射静态数値参考缓冲区位置中,读出 该第二组指标中相对应于该数値参考运算元的指 标。9.如申请专利范围第5所述之指令执行方法,其 中至少一被执行指令含有一数値参考运算元,且一 非镜射静态数値参考缓冲区储存着第二组指标,用 以表示相对应的数値参考运算元是否已完成解析, 此方法尚至少包含下列步骤: 将该撷取位址解码以产生一第二解码存取位址; 如果该指令含有一数値参考运算元,则由此第二解 码存取位址所指到的非镜射静态数値参考缓冲区 位置中,读出该第二组指标中相对应于该数値参考 运算元的指标。10.如申请专利范围第1项所述之指 令执行方法,其中之指令乃从指令快取记忆体中读 出,且其中以非镜射数値参考缓冲区来储存已解析 指标,每一指标用以表示相对应的符号参考是否之 被解析为数値参考,此方法尚至少包含下列步骤: 产生一该指令之撷取位址; 将该撷取位址解码为一第一解码存取位址; 将指令从指令快取记忆体阵列由第一解码存取位 址所指向的快取记忆体之一阵列位置中读出; 将该撷取位址解码为一第二解码存取位址; 在判是符号参考是否已被解析成数値运算元之步 骤中尚包含一步骤,从该数値参考缓冲区中第二解 码存取位址所指的储存位置,读出该符号参考之已 解析指标。11.如申请专利范围第10项所述之指令 执行方法,其中之数値参考表系储存在数値参考缓 冲区的记忆体阵列中,且步骤(i)尚至少包含下列步 骤: 只有当该已解析指标系标示着该符号参考已完成 解析时,才将前述数値运算元从第二解码存取位址 所指向的该数値参考缓冲区中一特定位置处读出 。12.如申请专利范围第10项所述之指令执行方法, 其中之数値参考表系储存在除该数値参考缓冲区 外的另一记忆体中。13.如申请专利范围第10项所 述之指令执行方法,其中至少有一被执行的指令含 有一数値参考运算元,且一镜射静态数値参考缓冲 区储存着第二组指标,用以标示每一指标相对应的 数値参考运算元是否已完成解析,此方法尚至少包 含下列步骤: 如果该指令含有一数値参考运算元,则由第一解码 存取位址所指到的镜射静态数値参考缓冲区位置 中,读出该第二组指标中相对应于该数値参考运算 元的指标。14.如申请专利范围第10项所述之指令 执行方法,其中至少有一被执行的指令含有一数値 参考运算元,且有一非镜射静态数値参考缓冲区, 用以储存第二组指标,其中每一指标表示相对应的 数値参考运算元已完成解析,此方法尚包含下列步 骤: 将该撷取位址解码以产生一第三解码存取位址; 如果指令含有一数値参考运算元,则从第三解码存 取位址所指向的非镜射静态数値参考缓冲区中,读 出该第二组指标中相对应于该数値参考运算元的 指标。15.一个执行含有符号参考指令的处理单元, 至少包含: 一解码器,负责接收指令,如果此指令含有符号参 考,则决定该符号参考是否已被解析; 一连接到解码器的记忆体,如果该符号参考已被解 析成数値运算元,则从一数値参考表中读出相对应 的该数値运算元; 一个执行级,以读出之该数値运算元取代该符号参 考并执行该指令。16.如申请专利范围第15项所述 之处理单元,该处理装置系为一处理机者。17.如申 请专利范围第15或16项所述之处理单元,其中之记 忆体从该指令之位址所索引的该数値参表栏位中 读出该数値运算元。18.如申请专利范围第15或16项 所述之处理单元,其中之记忆体从数値参考缓冲区 中读出已解析指标,表示该符号参考是否已被解析 成数値运算元。19.如申请专利范围第15或16项所述 之处理单元,其中如果符号参考尚未被解析成数値 运算元,则执行级从一对应每一符号参考和其相对 数値运算元之储存位置的资料物件中,搜寻连接该 符号参考和其对应数値运算元之数値参考;该记忆 体将未解析符号参考对应之数値运算元读出后,储 存在记忆体中的该数値参考表内;且执行级通知解 码器该符号参考已完成解析,并将读回之数値运算 元取代指令中之该符号参考,且执行该指令。20.如 申请专利范围第15或16项所述之处理单元,尚至少 包含: 一解码器,将产生之该指令的撷取位址解码成第一 解码存取位址; 一指令快取记忆体其具一记忆体阵列,用以储存该 指令,而该指令系由第一解码存取位址所指向的该 快取记忆体之一阵列位置中读出; 一数値参考缓冲区,用以储存该符号参考之已解析 指标,而该指标系从该数値参考缓冲区中第一解码 存取位址所索引的储存位置被读出。21.如申请专 利范围第20项所述之处理单元,其中之数値参考缓 冲区包含一记忆体阵列,用以储存该数値参考表, 和从第一解码存取位址所索引的该数値参考表之 特定位置中,读出该数値运算元,并且只有在当该 符号参考之已解析指标标示出已完成解析时,才去 读出其所对应之数値运算元。22.如申请专利范围 第20项所述之处理单元,其中之数値参考表系储存 在数値参考缓冲区以外之记忆体中。23.如申请专 利范围第20项所述之处理单元,其中至少一个被执 行之指令含有一数値参考运算元,此处理单元尚至 少包含: 一镜射静态数値参考缓冲区,用以储存第二组指标 ,其中每一个指标,表示是否其对应之数値参考运 算元已完成解析,且如果该指令包含一数値参考运 算元需要读取相对应的已解析指标,则从第一解码 存取位址指向之该静态数値参考缓冲区位置中读 出。24.如申请专利范围专20项所述之处理单元,至 少有一被执行的指令包含一数値参考运算元,此处 理单元尚至少包含: 一第二解码器,将该撷取位址解码成第二解码存取 位址; 一非镜射静态数値参考缓冲区,用以储存第二组指 标,以标示相对应之数値参考运算元是否已完成解 析,如果该指令包含一数値参考运算元,且需要读 取相对应的已解析指标,则从第二解码存取位址指 向之该静态数値参考缓冲区位置中读出。25.如申 请专利范围第15或16项所述之处理单元,尚至少包 含: 一第一解码器,将该撷取位址解码成第一解码存取 位址; 一指令快取记忆体其具一记忆体阵列,用以储存该 指令,而该指令系由第一解码存取位址所指向的该 快取记忆体之一阵列位置中读出; 一第二解码器,将该撷取位址解码成第二解码存取 位址; 一非镜射数値参考缓冲区,用以储存已解析指标, 其中每个指标对应符号参考,且标示该符号参考是 否已被解析为数値运算元,而可从第二解码存取位 址所指向的数値参考缓冲区中,读出该符号参考之 已解析指标。26.如申请专利范围第25项所述之处 理单元,其中之数値参考缓冲区具记忆体阵列,以 储存一数値参考表,和从第二解码存取位址所索引 的该数値参考表之特定位置中,读出该数値运算元 ,并且只有在当该符号参考之已解析指标标示出已 完成解析时,才去读出其所对应之数値运算元。27. 如申请专利范围第25项所述之处理单元,其中之数 値参考表系储存于数値参考缓冲区以外之记忆体 中。28.如申请专利范围第25项所述之处理单元,其 中至少一被执行指令含有数値参考运算元,且该处 理单元尚含一镜射静态数値参考缓冲区,用以储存 第二组指标,以标示相对应之数値参考运算元是否 已完成解析,如果该指令包含一数値参考运算元, 且需要读取相对应的已解析指标,则从第一解码存 取位址指向之该静态数値参考缓冲区位置中读出 。29.如申请专利范围第25项所述之处理单元,其中 至少一被执行之指令含有一数値参考运算元,此处 理单元尚至少包含: 一第三解码器,将该撷取位址解码成第三解码存取 位址; 一非镜射静态数値参考缓冲区,用以储存第二组指 标,以标示相对应之数値参考运算元是否已完成解 析,如果该指令包含一数値参考运算元,且需要读 取相对应的已解析指标,则从第三解码存取位址指 向之该静态数値参考缓冲区位置中读出。图式简 单说明: 图1至3为传统之指令和资料快取记忆体架构。 图4为本发明之一实施例,处理器架构。 图5为本发明之一实施例,将一符号参考解析成数 値运算元。 图6为根据本发明一实施例以执行含符号参考之指 令流程图。 图7为根据本发明一实施例之镜射数値参考缓冲区 。
地址 新竹县竹东镇中兴路四段一九五号