1.一种具有二次索引结构的存储设备,其特征在于,所述设备,包括:多队列存储单元,为一块双端口存储,所述双端口存储从逻辑上被划分为N个FIFO,所述FIFO具有单独的读端口和写端口,能够对单元内任意FIFO同时进行读写操作;索引表模块,为一块双端口存储,用于存储所述N个FIFO的索引信息,每个FIFO的索引信息存储在所述索引表模块中的一行;两个索引寄存器,用于暂存从所述索引表模块中读取出来的索引信息以供读操作和写操作同时使用。
2.根据权利要求1所述的具有二次索引结构的存储设备,其特征在于,所述索引表模块使用一块N行的双端口存储。
3.根据权利要求1所述的具有二次索引结构的存储设备,其特征在于,所述索引表模块中的每一行的索引信息由下面的元素构成{头部指针,尾部指针,空满信息};头部指针指向多队列存储中对应的FIFO的头部,尾部指针指向多队列存储中对应FIFO的尾部;空满信息表示此FIFO的状态,是空队列还是满队列。
4.根据权利要求1所述的具有二次索引结构的存储设备,其特征在于,对某个FIFO的读写应该首先根据FIFO的号码到索引表中取出索引信息,然后根据索引信息里面头部指针或者尾部指针索引到对应的FIFO的头部或者尾部,从而进行读或者写操作。
5.根据权利要求1所述的具有二次索引结构的存储设备,其特征在于,所述索引寄存器使用通用寄存器实现。
6.根据权利要求1所述的具有二次索引结构的存储设备,其特征在于,所述索引寄存器的结构为{索引状态,FIFO号,头部指针,尾部指针,空满信息};索引状态表示此索引寄存器的状态,是四种状态中的一种:空闲、读、写、读写,FIFO号表示此索引寄存器的内容代表哪个FIFO的索引信息,同时也代表了此索引寄存器对应于所述索引表模块中的哪一行,头部指针指向多队列存储单元中对应的FIFO的头部,尾部指针指向多队列存储模块中对应FIFO的尾部,空满信息表示对应FIFO的状态,是空队列还是满队列。
7.一种具有二次索引结构的存储设备的操作方法,其特征在于,所述方法,包括下列步骤:步骤100.多队列存储单元,为一块双端口存储,所述多队列存储单元有一个读端口和一个写端口,外部设备输入期望操作的FIFO号,查看两个索引寄存器中的FIFO号,判断是否存在一个索引寄存器中的FIFO号与当前要操作的FIFO号相同,若存在,则执行步骤200;否则,执行步骤300;步骤200.使用此匹配的索引寄存器来操作对应的FIFO;步骤300.选择两个索引寄存器中索引状态为空闲状态的索引寄存器,根据此索引寄存器的FIFO号把索引寄存器的内容写回到索引表中以更新所述索引表,同时根据将要操作的FIFO号从索引表中把新的索引信息从索引表中读取到此索引寄存器中,并更新索引寄存器的索引状态和FIFO号。
8.根据权利要求7所述的具有二次索引结构的存储设备的操作方法,其特征在于,所述索引表中的每一行的索引信息由下面的元素构成{头部指针,尾部指针,空满信息};头部指针指向多队列存储中对应的FIFO的头部,尾部指针指向多队列存储中对应FIFO的尾部;空满信息表示此FIFO的状态,是空队列还是满队列。
9.根据权利要求7所述的具有二次索引结构的存储设备的操作方法,其特征在于,所述索引寄存器的结构为{索引状态,FIFO号,头部指针,尾部指针,空满信息};索引状态表示此索引寄存器的状态,是四种状态中的一种:空闲、读、写、读写,FIFO号表示此索引寄存器的内容代表哪个FIFO的索引信息,同时也代表了此索引寄存器对应于所述索引表模块中的哪一行,头部指针指向多队列存储单元中对应的FIFO的头部,尾部指针指向多队列存储模块中对应FIFO的尾部,空满信息表示对应FIFO的状态,是空队列还是满队列。
10.根据权利要求7所述的具有二次索引结构的存储设备的操作方法,其特征在于,当所述索引寄存器的内容将要被一个新的FIFO的索引信息所替换时,当前索引寄存器中存储的索引信息需要先写回到索引表中以更新索引表对应的行。
展开