发明名称 用以对微处理系统中之统一的记忆体进行存取的方法
摘要 一方法及架构对具有二阶段时钟之微处理系统中之统一的记忆体进行存取,此统一的记忆体被存取于第一指令期间。当遭遇到程式码不连续时,在指令周期期间以假存取来对统一的记忆体进行第一次存取。当遭遇到程式码不连续时,在指令周期期间以资料存取来对统一的记忆体进行第二次存取,就像在环路的最后一个指令的情况一样,或者以指令存取来对统一的记忆体进行第二次存取,就像在跳越指令的情况一样。
申请公布号 TWI297457 申请公布日期 2008.06.01
申请号 TW093133246 申请日期 2004.11.01
申请人 联发科技股份有限公司 发明人 佛瑞德瑞克 包陶德
分类号 G06F9/30(2006.01) 主分类号 G06F9/30(2006.01)
代理机构 代理人 洪澄文 台北市大安区信义路4段279号3楼;颜锦顺 台北市大安区信义路4段279号3楼
主权项 1.一种用以对微处理系统中之统一的记忆体进行 存取的方法,该微处理系统具有一微处理器、一一 级管线、及一二阶段时钟,使得指令被执行于单一 指令周期中,该方法包含: (a)自该统一的记忆体中提取程式指令; (b)判定在一单一指令周期期间,该所提取之程式指 令是否将会需要三次统一的记忆体存取,用以适当 地执行该所提取之程式指令,该所提取之程式指令 的适当执行为该微处理器在单一指令周期中,实施 由该所提取之程式指令所请求的操作; (c)当判定该所提取之程式指令需要三次统一的记 忆体存取,用以适当地执行该所提取之程式指令时 ,在和该所提取之程式指令相关的指令周期期间, 以假存取来对该统一的记忆体进行第一次存取; (d)当判定该所提取之程式指令需要三次统一的记 忆体存取,用以适当地执行该所提取之程式指令时 ,在和来自该统一的记忆体之该所提取之程式指令 相关的指令周期期间,自指令暂存器中提取下一个 程式指令;及 (e)当判定来自该统一的记忆体之该第一存取的该 所提取之程式指令需要三次统一的记忆体存取,用 以适当地执行来自该统一的记忆体之该第一存取 的该所提取之程式指令时,在和来自该统一的记忆 体之该第一存取的该所提取之程式指令相关的指 令周期期间,以资料存取来对该统一的记忆体进行 第二次存取。 2.如申请专利范围第1项之方法,其中,该资料存取 为读资料存取。 3.如申请专利范围第1项之方法,其中,该资料存取 为写资料存取。 4.如申请专利范围第1项之方法,其中,来自该统一 的记忆体之该第一存取的该所提取之程式指令为 环路的最后一个指令。 5.如申请专利范围第1项之方法,其中,该指令暂存 器为指令堆叠,藉以致能用于巢式环路之程式指令 提取。 6.一种用以对微处理系统中之统一的记忆体进行 存取的方法,该微处理系统具有微处理器、一级管 线、及二阶段时钟,使得指令被执行于单一指令周 期中,该方法包含: (a)在第一指令周期期间,自该统一的记忆体中提取 对应于第二指令周期期间之程式指令; (b)判定对应于该第二指令周期期间之该所提取的 程式指令是否为有条件程式码不连续; (c)当判定对应于该第二指令周期期间之该所提取 的程式指令为有条件程式码不连续时,在该第二指 令周期期间,以假存取来对该统一的记忆体进行第 一次存取;及 (d)当判定对应于该第二指令周期期间之该所提取 的程式指令为有条件程式码不连续时,在该第二指 令周期期间,对该统一的记忆体进行第二次存取以 读取新的指令,藉以使来自该统一的记忆体之用于 该第二指令周期期间的指令存取延迟一半的周期 。 7.如申请专利范围第6项之方法,其中,该有条件程 式码不连续为跳越指令。 8.如申请专利范围第6项之方法,其中,该有条件程 式码不连续为呼叫指令。 9.一种用以对微处理系统中之统一的记忆体进行 存取的方法,该微处理系统具有微处理器、一级管 线、及二阶段时钟,使得指令被执行于单一指令周 期中,该方法包含: (a)自该统一的记忆体中提取程式指令; (b)判定该所提取之程式指令是否为环路启动指令; (c)当该所提取之程式指令为环路启动指令时,将该 环路之第一个指令储存在指令暂存器中; (d)执行该环路; (e)判定在该环路的执行期间之所提取的指令是否 为该环路的最后一个指令; (f)在和该环路之该所提取之最后一个指令相关联 的指令周期期间,以假存取来对该统一的记忆体进 行第一次存取; (g)在和该环路之该所提取之最后一个指令相关联 的指令周期期间,自该指令暂存器中提取该环路之 第一个指令;以及 (h)在和该环路之该所提取之最后一个指令相关联 的指令周期期间,以资料存取来对该统一的记忆体 进行第二次存取。 10.如申请专利范围第9项之方法,其中,该资料存取 为读资料存取。 11.如申请专利范围第9项之方法,其中,该资料存取 为写资料存取。 12.如申请专利范围第9项之方法,其中,该指令暂存 器为指令堆叠,藉以致能用于巢式环路之程式指令 提取。 13.一种用以在环路指令期间对微处理系统中之统 一的记忆体进行存取的方法,该方法包含: (a)在第一指令周期期间,自该统一的记忆体中提取 程式指令; (b)判定程式指令的类型; (c)自该统一的记忆体中预提取下一个指令; (d)当判定该类型之程式指令为环路的第一个指令 时,将该所预提取之指令保存在暂存器中; (e)当判定该类型之程式指令为环路的最后一个指 令时,自该暂存器中提取一指令; (f)在该环路之最后一个指令的执行期间,以假存取 来对该统一的记忆体进行存取;及 (g)在该环路之最后一个指令的执行期间,以资料存 取来对该统一的记忆体进行第二次存取。 14.如申请专利范围第13项之方法,其中,当判定该类 型之程式指令为环路的第一个指令以致能巢式环 路及可中断环路时,将该预提取指令保存在堆叠中 ,且当判定该类型之程式指令为该环路的最后一个 指令时,自该堆叠中提取下一个指令。 图式简单说明: 图1系依据本发明概念之数位讯号处理子系统架构 的方块图; 图2系例举依据本发明概念之资料记忆体资料存取 的时序图; 图3系例举依据本发明概念之程式记忆体资料存取 的时序图; 图4及图5系例举依据本发明概念之程式记忆体指 令存取的时序图; 图6系例举依据本发明概念之基本管线、线内码、 指令读的时序图; 图7系例举依据本发明概念之程式计数不连续指令 读的时序图; 图8系例举依据本发明概念之程式计数不连续End of Loop到Top of Loop指令读的时序图; 图9例举依据本发明概念之用于邻近记忆体的管线 及程式记忆体滙流排; 图10例举依据本发明概念之用于End of Loop指令之邻 近记忆体用的管线及程式记忆体滙流排; 图11例举依据本发明概念之用于Start of Loop, DO UNTIL 指令之邻近记忆体用的管线及程式记忆体滙流排; 图12例举依据本发明概念之用于单一指令环路之 邻近记忆体用的管线及程式记忆体滙流排; 图13例举依据本发明之概念的程式位址产生电路; 图14例举依据本发明概念之用于程式位址产生电 路的电路逻辑; 图15例举依据本发明概念之用于程式记忆体介面 的逻辑电路; 图16例举依据本发明概念之用于邻近记忆体、程 式记忆体、及存取的管线及程式记忆体滙流排; 图17例举依据本发明之概念,用于代替执行指令I2 所采用之中断之邻近记忆体用的管线及程式记忆 体滙流排;以及 图18例举依据本发明概念之用于各种存取之位址 的产生。
地址 新竹市新竹科学工业园区笃行一路1号