当前位置: 首页 > 专利查询>李晓波专利>正文

一种在处理器中设计寄存器的方法及装置制造方法及图纸

技术编号:2853256 阅读:134 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机技术范畴中的计算机体系结构技术领域,具体说是在处理器中实现寄存器的方法及装置。该方法,用较便宜的RAM资源存储单元代替较昂贵的传统的寄存器资源的逻辑门电路来设计寄存器;为解决在同一时刻读/写多个‘寄存器’数据的目的,采用多个可并行操作的、多端口的RAM模块来保存多套寄存器的内容,即生成多套‘寄存器’副本;根据处理器所有指令中同时需要读取寄存器数据的+最大个数来确定生成‘寄存器’副本的个数;为了保证数据的一致性,一个需写回‘寄存器’的数据将被同时写回到所有的‘寄存器’副本中。该装置包括:存储器子装置及其接口、读管理/控制子装置及其接口、写管理/控制子装置及其接口。

【技术实现步骤摘要】

本专利技术涉及计算机技术范畴中的处理器体系结构领域,具体说是在处理器中设计寄存器(组)的方法及装置。
技术介绍
一种新型的计算机体系结构已被专利技术,该种新型的计算机体系结构的主要特点是在不需中断处理的前提条件下,在同一个处理器中在同一时刻能够并行与并发地执行多道程序。以下称在同一个处理器中在同一时刻能够执行多道程序的体系结构的计算机为L结构计算机,采用L计算机结构的处理器称为L结构处理器。然而,在相关的专利文件中有关寄存器(组)的设计有一定的缺陷。寄存器(组)是处理器的一个十分重要的组成部分,不仅为用户编制其应用软件系统提供了极大的便利,也为提高处理器的处理速度起到了关键性的作用。在传统体系结构的处理器中,由于在同一时刻仅有一道程序在执行中,故只需设计一套寄存器(组)即可。然而,在同一时刻能够并行与并发地执行多道程序的处理器中、即L结构处理器中,寄存器(组)的设计就成为一个制约系统综合性能的十分重要的问题。如果仅设置一组寄存器(组)供多道程序共用,显然不能发挥多道程序在同一时刻并行与并发执行的优势。如果为每一道可并行与并发执行的程序都设置一组寄存器(组),当可并行与并发执行的程序道数较大时,则需设置的寄存器(组)的个数也将较大,显然是不可行的。再如果硬性规定一个处理器最大允许并行与并发执行的程序的道数为N(N>1)并设置N组寄存器(组),同样不能很好地发挥L结构处理器的优势。
技术实现思路
有鉴于此,本专利技术根据L结构处理器的特点,提出一种在L结构处理器中设计寄存器(组)的方法。该方法用较便宜的存储器存储单元代替较昂贵的、传统的寄存器逻辑门电路来设计寄存器(组),以使L结构处理器基本不限制最大允许并行与并发执行程序的道数的目的。本专利技术的主要思想之一是用较便宜的RAM资源的存储单元代替较昂贵的寄存器资源的逻辑门电路来设计寄存器(组)。用RAM资源来完成寄存器的功能,最主要的是如何解决同时读取多个‘寄存器’数据的问题。本专利技术的另一个主要思想是采用多个可并行操作的、多端口的RAM模块来保存多套寄存器(组)的内容,即生成多套‘寄存器’副本,以此达到可在同一时刻读/写多个‘寄存器’数据的目的。根据处理器的所有指令中同时需要读取寄存器数据的最大个数来确定生成‘寄存器’副本的个数。如果每个RAM有多个读端口,则酌情减少‘寄存器’副本的个数。例如,当处理器的所有指令中同时需要读取寄存器数据的最大个数等于2时,可用一个双读端口RAM来实现。为了保证数据的一致性,一个需写回‘寄存器’的数据将被同时写回到所有的‘寄存器’副本中。如果处理器的所有指令中同时需要写回寄存器数据的最大个数大于1,则每个RAM的写端口的个数也大于1。在L结构处理器的各功能部件之间传递的信息/数据主要是程序驱动器PD。一个程序驱动器PD包含有驱动一道程序执行所需要的所有信息,包括当前指令的信息。指令信息包括当前指令所要求执行的操作的信息;如果该条指令需要进行读寄存器操作,则该条指令的信息亦包括读寄存器的个数、编号及读出的寄存器内容的存放处等信息;如果该指令需要进行写寄存器操作,则该条指令的信息也包括写寄存器的编号、被写数据的存放处等信息。有关程序驱动器的详细定义,请参考有关L结构处理器的专利文件。一种在处理器中设计寄存器的装置,其硬件部分的主要构成至少是●存储器子装置该子装置由多个独立的RAM模块所组成;RAM模块的个数等于在处理器的所有指令中同时请求读寄存器的最大个数;每个RAM模块有一个读端口和一个写端口;读端口和写端口可并行操作;每个端口都由一组数据、地址等信号线所组成;每个RAM模块的深度等于处理器最大允许并行/并发执行的程序道数与每道程序允许使用的最大寄存器个数的乘积;每个RAM模块的宽度等于寄存器的最大位数;当RAM模块有多个读端口时,RAM模块的个数相应降低;当处理器的所有指令中同时请求写寄存器的最大个数大于1时,则要求每个RAM模块写端口的个数也大于1;●读管理/控制子装置主要由一个用于接收请求/发送已完成读寄存器操作的PD的输入/输出端口、N个读地址输出端口、N个读数据输入端口、以及相应的管理/控制逻辑所组成;其主要作用是a)接收请求读寄存器操作的程序驱动器PD;b)从上述PD的指定处取得n(n≤N)个待读寄存器的编号;c)从上述PD的指定处取得程序道号;d)将上述n个寄存器编号与程序道号组合成n个RAM模块的读地址;e)将上述n个RAM模块的读地址发送给n个相应的RAM模块;f)启动上述n个RAM模块的读操作;g)将读出的n个数据写回到PD中n个事先指定的单元中;h)将上述完成读寄存器操作的PD返回给某个事先指定的处理器功能部件进行下一步的处理;●写管理/控制子装置主要由一个用于接收请求/发送已完成写寄存器操作的PD的输入/输出端口、一个写地址输出端口、一个写数据输出端口、以及相应的控制逻辑所组成;其主要作用是a)接收请求写寄存器操作的程序驱动器PD;b)从上述PD的指定处取得待写寄存器的编号和待写入的数据;c)从上述PD的指定处取得程序道号;d)将上述寄存器编号与程序道号组合成一个RAM模块的写地址;e)将上述RAM模块的写地址发送给相应的RAM模块;f)启动上述RAM模块的写操作;g)将上述完成写寄存器操作的PD返回给某个事先指定的处理器功能部件进行下一步的处理。所述的在处理器中设计寄存器的装置,该装置的读管理/控制子装置的PD输入/输出端口与L结构处理器的程序驱动器PD配送装置DU的某个端口相连,完成同时读取多个寄存器内容的操作;即当某个PD驱动的当前指令请求读取n个寄存器的内容时,L结构处理器的程序驱动器PD配送装置DU将会把该PD发送到该装置的读管理/控制子装置的PD输入/输出端口;当该装置的读管理/控制子装置完成‘寄存器’读操作、并将读出的‘寄存器’内容写入到该PD后,将会通过其PD输入/输出端口将已完成读寄存器操作的PD发送给L结构处理器的程序驱动器PD配送装置DU;之后,DU将视情况将该PD送往某个L结构处理器功能部件进行下一步的处理。所述的在处理器中设计寄存器的装置,该装置的写管理/控制子装置的输入/输出端口与L结构处理器的程序驱动器PD配送装置DU的另一个端口相连,完成将一个操作结果写回到指定寄存器的功能;即当某个PD驱动的当前指令请求写寄存器操作时,L结构处理器的程序驱动器PD配送装置DU将会把该PD发送到该装置的写管理/控制子装置的PD输入/输出端口;当该装置的写管理/控制子装置完成‘寄存器’写操作后,将会通过其PD输入/输出端口将已完成写寄存器操作的PD发送给L结构处理器的程序驱动器PD配送装置DU;之后,DU将视情况将该PD送往某个L结构处理器功能部件进行下一步的处理。本专利技术技术构思下的一些基本说明。而依据本专利技术的技术构想所做的任何等效变换,均应属于本专利技术的保护范围。附图说明图1是寄存器(组)装置的原理性结构框图。图2是寄存器(组)装置的读操作工作流程示意图。图3是寄存器(组)装置的写操作工作流程示意图。图4是L结构处理器原理性结构框图。图5是采用本专利技术的寄存器(组)装置的L结构处理器原理性结构框图。具体实施例方式图1是本文所述的寄存器(组)装置的原理性结构框图。设处理器最大允许并行/并发执行的程本文档来自技高网...

【技术保护点】
一种在处理器中设计寄存器的方法,其特征在于,用RAM存储单元代替传统的寄存器逻辑门电路来设计寄存器;采用多个可并行操作的、多端口的RAM模块来保存多套寄存器的内容,即生成多套‘寄存器’副本,以此达到可在同一时刻读/写多个‘寄存器’数据的目的。

【技术特征摘要】
1.一种在处理器中设计寄存器的方法,其特征在于,用RAM存储单元代替传统的寄存器逻辑门电路来设计寄存器;采用多个可并行操作的、多端口的RAM模块来保存多套寄存器的内容,即生成多套‘寄存器’副本,以此达到可在同一时刻读/写多个‘寄存器’数据的目的。2.根据权利要求1所述的在处理器中设计寄存器的方法,其特征在于,根据处理器的所有指令中同时需要读取寄存器数据的最大个数来确定生成‘寄存器’副本的个数;如果每个RAM有多个读端口,则酌情减少‘寄存器’副本的个数;当处理器的所有指令中同时需要读取寄存器数据的最大个数等于2时,可用一个双读端口RAM来实现。3.根据权利要求1或2所述的在处理器中设计寄存器的方法,其特征在于,为了保证数据的一致性,一个需写回‘寄存器’的数据将被同时写回到所有的‘寄存器’副本中;如果处理器的所有指令中同时需要写回寄存器数据的最大个数大于1,则每个RAM的写端口的个数也大于1。4.根据权利要求1或2或3所述的在处理器中设计寄存器的方法,其特征在于,其读操作的主要工作流程如下步骤1若L结构处理器的寄存器读子装置的当前PD要求读寄存器操作,转步骤2;否则,在下一个新的PD到达该寄存器读子装置时转步骤1;步骤2从L结构处理器的寄存器读子装置的当前PD的某n(n≤N)个特定单元中取得该PD所需要读取的n个寄存器的编号;若PD驱动的当前指令需要读取寄存器的个数小于N,可增设控制信号以控制只读那些需要读取的寄存器;也可以同时启动读N个寄存器的操作,只是控制仅输出或仅使用那些需要读取的寄存器的内容;步骤3在每个寄存器编号的前面并置上该道程序的程序道号,形成n个RAM模块的地址;步骤4依据步骤2得出的n个RAM模块地址,依次分别发送给n个RAM模块读地址寄存器,同时启动该n个RAM模块的读操作,以同时读取n个数据;步骤5将由步骤3读取的n个数据写入到当前PD指定的某n个单元中;在下一个新的PD到达该寄存器读装置时转步骤1。5.根据权利要求1或2或3所述的在处理器中设计寄存器的方法,其特征在于,其写操作的主要工作流程如下步骤1若L结构处理器的寄存器写装置的当前PD要求写寄存器操作,转步骤2;否则,在下一个新的PD到达该寄存器写子装置时转步骤1;步骤2从L结构处理器的寄存器写子装置的当前PD的某个特定单元中取得该PD所需要写回的数据;步骤3从L结构处理器的寄存器写子装置的当前PD的某个特定单元中取得该PD所需要写回的寄存器的编号;步骤4在该寄存器序号的前面并置上该道程序的程序道号,形成一个RAM模块的地址;步骤5将由步骤1得到的写回数据与步骤3得到的写回地址分配给所有的RAM模块;同时启动N个RAM模块的写操作,以同时将需要写回的数据写回到所有的RAM模块的指定的地址单元中;在下一个新的PD到达该寄存器写装置时转步骤1。6.一种在处理器中设计寄存器的装置,其特征在于,其硬件部分的主要构成至少是●存储器子装置该子装置由多个独立的RAM模块所组成;RAM模块的个数等于在处理器的所有指令中同时请求读寄存器的最大个数;每个RAM模块有一个读端口和一个写端口;读端口和写端口可并行操作;每个端口都由一组数据、地址等信号线所组...

【专利技术属性】
技术研发人员:李晓波
申请(专利权)人:李晓波
类型:发明
国别省市:43[中国|湖南]

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

1