程序计数器的地址计算方法及装置制造方法及图纸

技术编号:2889785 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及程序计数器的地址计算方法及装置,它由程序计数器,算术逻辑单元及存储控制装置进行地址计算,其步骤为:(a)在第一时钟周期,根据计数器内含的第一地址提取第一指令;将第一地址的高位组地址存储至存储装置中;(b)在第二时钟周期,计数器的高位组地址加一运算值;执行第一指令,产生标志信号和第二地址的低位组地址;根据标志信号,或是第一地址的高位组地址,或是经运算后的第一地址的高位组地址,作为第二地址的高位组地址;按照第二地址提取第二指令。(*该技术在2016年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种地址的计算方法及装置,尤指一种程序计数器的地址计算方法及装置。请参阅附图说明图1,传统的CISC结构中,因为不会面临采用管线结构(pipeline)时,需于特定时刻更新程序计数器地址的问题,所以,当程序计数器与8-bit相对地址相加时,如有溢位(carry)产生,只需再多加一时钟(clock),以完成相加的运算,即可于第三时钟周期结束前更新程序计数器的地址,但其较为费时的结构,并非现今使用者乐于采用的方式。因为目前均采用管线并行处理的方式,且一般的程序计数器(Program Counter)均为上数计数器,故程序计数器的内含值必须在固定的系统时钟(system clock)中被算出,因此,当程序计数器的低位组地址(PCL)与一8-bit相对地址相加时,若两者的相加结果大于255,则必然会产生溢位(carry),且在采用管线并行处理的方式下,又必须于下一时钟立即更新程序计数器的地址,因此,上述问题急待解决。而已知作法之一则限定程序计数器的低位组地址(k1)与一8-bit相对地址(A)的相加结果小于256,以防止溢位产生,此作法并未考虑溢位发生时所遭遇的问题,因而造成使用者的困扰,其电路方块示意图,请参阅图2。另请参阅图3,已知作法之二,虽可解决溢位产生时所遭遇的问题,但其必须多耗费一系统时钟,以分别完成程序计数器的低位组与程序计数器的高位组的运算,即程序计数器的地址需于第三时钟周期结束前,始被更新,其作法亦较为费时。而已知作法之三,例如在High-End的32-bit的RISC结构中,为了在特定个数时钟中计算出地址,因此采用额外的算术逻辑单元(ALU)专作地址计算,一般称为地址产生单元(Address Generation Unit,AGU),此作法则需耗费较大硬件设备。本专利技术的主要目的,即在于提供一种程序计数器的地址计算方法,其可解决溢位或是不同一页的问题,并可于一固定系统时钟中计算出地址。本专利技术的次要目的,即在于提供一种程序计数器的地址计算装置,其可解决溢位或是不同一页的问题,并可于一固定系统时钟中计算出地址。根据本专利技术的主要目的,其构想在于提供一种程序计数器的地址计算方法,其步骤可包含a)于一第一时钟周期时,根据该程序计数器内含的一第一地址以提取一第一指令至一算术逻辑单元中,并将该第一地址的高位组地址存储至一存储控制装置中;以及b)于一第二时钟周期时,根据该存储控制装置所产生的一触发信号,以将该程序计数器的高位组所存储的该第一地址的高位组地址加一运算值,且该算术逻辑单元执行该第一指令,以产生一标志信号以及一存储于该程序计数器的低位组中的运算地址;其中,该运算地址是用来作为一第二地址的低位组地址使用,且于该第二时钟周期结束前根据该标志信号,将已存储于该存储控制装置中的该第一地址的高位组地址予以回存至该程序计数器的高位组内,或保留该经加一运算值后的该第一地址的高位组地址于该程序计数器的高位组中,以作为该第二地址的高位组地址使用;如此即可按照存储于该程序计数器中的该第二地址,提取一第二指令。依据上述构想,其中该第一地址及该第二地址均为一16-bit地址。依据上述构想,其中该存储控制装置是可包含一控制线路与一数据缓冲装置。依据上述构想,其中于该步骤(a)中,该存储动作可由该数据缓冲装置完成。依据上述构想,其中该数据缓冲装置可以是一缓冲器(Buffer)。依据上述构想,其中于该步骤(b)中,产生该触发信号的动作可由该控制线路完成。依据上述构想,其中于该步骤(b)中,该运算值可为1。依据上述构想,其中于该步骤(b)中,该算术逻辑单元是将该第一地址的低位组地址与一相对地址,并进行一逻辑运算,且该相对地址可为一8-bit地址。依据上述构想,其中于该步骤(b)中,该标志信号可位于一低电平状态,而该第一地址的高位组地址将回存至该程序计数器的高位组中,且该第二地址的高位组地址即为该第一地址的高位组地址。依据上述构想,其中于该步骤(b)中,该标志信号可位于一高电平状态,而该经加一运算值之后的该第一地址的高位组地址将保留在该程序计数器的高位组中,且该第二地址的高位组地址是该经加一运算值后的该第一地址的高位组地址。根据本专利技术的次要目的,其构想是提供一种程序计数器的地址计算装置,它包含一程序计数器,是用来在一第一时钟周期时存储一第一地址和提供该第一地址的高位组地址,且在一第二时钟周期时存储一经加一运算值后的该第一地址的高位组地址以及一运算地址;一算术逻辑单元,电连接于该程序计数器,该算术逻辑单元在该第一时钟周期时根据该程序计数器所内含的该第一地址,以提取一第一指令至该算术逻辑单元中,并于该第二时钟周期时执行该第一指令,以产生该运算地址及一标志信号;其中,该运算地址是用来作为一第二地址的低位组地址使用,且该运算地址予以存储至该程序计数器的低位组中;以及一存储控制装置,电连接于该程序计数器以及该算术逻辑单元,该存储控制装置是用来在该第一时钟周期结束前输入并存储该第一地址的高位组地址,且于该第二时钟周期时产生一触发信号,以将该程序计数器的高位组中所存储的该第一地址的高位组地址加一运算值;其中,于该第二时钟周期结束前,该存储控制装置可根据该标志信号,将已存储于该存储装置中的该第一地址的高位组地址回存至该程序计数器的高位组中,或保留该经加一运算值后的该第一地址的高位组地址于该程序计数器的高位组中,以作为一第二地址的高位组地址使用;按照存储于该程序计数器中的该第二地址,提取一第二指令。依据上述构想,其中该程序计数器为一上数计数器(up-counter)。依据上述构想,其中该程序计数器为一16-bit计数器。依据上述构想,其中该算术逻辑单元将该第一地址的低位组地址与一相对地址,并进行一逻辑运算,且该相对地址可为一8-bit地址。依据上述构想,其中该运算值可为1。依据上述构想,其中该标志信号可位于一低电平状态,而该第一地址的高位组地址将回存至该程序计数器的高位组中,且该第二地址的高位组地址为该第一地址的高位组地址。依据上述构想,其中该标志信号可位于一高电平状态,而该经加一运算值后的该第一地址的高位组地址是保留在该程序计数器的高位组中,且该第二地址的高位组地址是该经加一运算值后的该第一地址的高位组地址。依据上述构想,其中该存储控制装置是包含一控制线路和一数据缓冲装置。依据上述构想,其中该数据缓冲装置可为一缓冲器(buffer)。依据上述构想,其中产生该触发信号的动作可由该控制线路完成。本专利技术按照下列示意图及详细说明,得以一更深入的了解。图1为已知CISC结构中,计算地址时的时钟周期图。图2为已知管线并行处理方式下,不考虑溢位产生的程序计数器电路方块示意图。图3为已知管线并行处理方式下,计算地址时的时钟周期图。图4为本专利技术的程序计数器的地址计算装置电路方块示意图。图5为本专利技术的程序计数器计算地址时的时钟周期图。为使贵审查委员更进一步了解本专利技术,请参阅图4,它是本专利技术的程序计数器的地址计算装置电路方块示意图。图中包含程序计数器1、程序计数器的低位组11、程序计数器的高位组12、算术逻辑单元2、存储单元3、存储控制装置4、控制线路41、数据缓冲装置42、相对地址(A)、第一地址的低位组地址(A1)、运算地址(A2本文档来自技高网...

【技术保护点】
一种程序计数器的地址计算方法,其步骤可包含:a)于一第一时钟周期时,根据该程序计数器内含的一第一地址以提取一第一指令至一算术逻辑单元中,并将该第一地址的高位组地址存储至一存储控制装置中;以及b)于一第二时钟周期时,根据该存储控制装置 所产生的一触发信号,以将该程序计数器的高位组所存储的该第一地址的高位组地址加一运算值,且该算术逻辑单元执行该第一指令,以产生一标志信号以及一存储于该程序计数器的低位组中的运算地址;其中,该运算地址是用来作为一第二地址的低位组地址使用,且于该第二时钟周期结束前根据该标志信号,将已存储于该存储控制装置中的该第一地址的高位组地址予以回存至该程序计数器的高位组内,或保留该经加一运算值后的该第一地址的高位组地址于该程序计数器的高位组中,以作为该第二地址的高位组地址使用;如此即可根据存储于该程序计数器中的该第二地址,以提取一第二指令。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈宝龙
申请(专利权)人:合泰半导体股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1