发明名称 用于浮点协处理器的寄存器文件分组编址、读写控制方法
摘要 本发明公开了一种用于浮点协处理器的寄存器文件分组编址、读写控制方法,包括寄存器文件分组编址和寄存器文件的读写控制两大步骤。其中将寄存器文件分组编址是将一个一维的线性地址转变为了一个两维的行列结构;寄存器文件的读写控制是为每一组寄存器都提供一套读写控制信号、地址信号和数据信号,其中每一组的地址信号对应于要访问寄存器地址的最高位到第三位,即rs[n:2],数据信号、读写控制信号是每组专属的,读写控制信号根据指令操作类型译码,产生指示单、双、四精度操作的操作类型信号;应用操作类型信号判断寄存器组选择的类型。
申请公布号 CN101930356B 申请公布日期 2013.03.20
申请号 CN201010261146.3 申请日期 2010.08.24
申请人 中国航天科技集团公司第九研究院第七七一研究所 发明人 张洵颖;裴茹霞;肖建青;赵华;李红桥
分类号 G06F9/30(2006.01)I 主分类号 G06F9/30(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 朱海临
主权项 一种用于浮点协处理器的寄存器文件分组编址、读写控制方法,其中,寄存器文件中的寄存器位宽为32位,其特征在于,包括下述两大步骤:(1)寄存器文件分组编址将寄存器文件分为四组,即每次最大寄存器访问数目为4,同时,改变寄存器的编址模式,将原来统一线性编址的模式改为基于分组的“之”字型编址,即,对于2n+1个的浮点寄存器来讲,其地址为n+1位的二进制地址,在分成四组之后,每一组中采用统一线性编址,称为组内偏移地址,该组内偏移地址对应于原地址rs[n:0]的rs[n:2]部分,原地址rs[n:0]的rs[1:0]部分作为四组寄存器的组号出现,这样将一个一维的线性地址转变为了一个两维的行列结构;对于单精度数据的访问则对应于对RAM0、RAM1、RAM2或者RAM3中的一个寄存器组中一个寄存器的访问;双精度数据的访问则对应于RAM0和RAM1,或RAM2和RAM3两两成对的寄存器分组中相同偏移地址的访问;四精度数据的访问则对应于对四个分组中相同偏移地址的同时访问;(2)寄存器文件的读写控制在步骤(1)分组编址的情况下,为每一组寄存器都提供一套读写控制信号、地址信号和数据信号,其中每一组的地址信号对应于要访问寄存器地址的最高位到第三位,即rs[n:2],数据信号、读写控制信号是每组专属的,其中,读写控制信号按照如下的步骤生成:1)根据指令操作类型译码,产生指示单、双、四精度操作的操作类型信号;2)应用操作类型信号判断寄存器组选择的类型,其中单精度时由要访问寄存器地址的最低两位rs[1:0]的对应值来确定寄存器组选通并提供读或写控制信号;双精度时由要访问寄存器地址的第二位rs[1]来确定寄存器组选通并提供读或写控制信号;四精度时所有的四个寄存器组都选通并提供读或写控制信号;对于支持单、双、四精度的浮点协处理器而言,其最大处理位宽为128位,其源操作数和运算结果在进入数据路径前都被拼接成128位的模式,对于单精度来讲,其低96位补“0”;双精度时低64位补“0”,四精度 时则为对应的128位的数据,根据这样的数据结构,每个寄存器组的数据信号的生成步骤如下:1)数据读出时,读出使能的寄存器组都将数据送出,根据操作类型指示信号,单精度时,寄存器组输出的数据和低96位的“0”相拼接,双精度时寄存器组输出的数据和低64位的“0”相拼接,四精度时寄存器组输出的数据直接得到128位的操作数;2)数据写入时,根据操作类型指示信号和寄存器组选择信号进行128位数据的写入分配,单精度时,将128位的高32位全部送到四组寄存器的数据信号上,配合寄存器组写使能和组选择信号完成对选择的寄存器组的rs[n:2]地址的写入;双精度时将128位的高64位按照地址对齐模式送至RAM0和RAM1,或RAM2和RAM3两两成对的寄存器组的数据信号上,配合寄存器组写使能和组选择信号将64位结果的高低各32位的数据写入选择的两个寄存器组的rs[n:2]中;四精度时,将128位的结果按照地址对齐模式分为4个32位数据,并分别送至四个寄存器的数据信号上,配合寄存器组写使能和组选择信号实现4组寄存器文件中rs[n:2]的写入。
地址 710054 陕西省西安市太乙路189号