本发明属于芯片设计领域,具体涉及一种带优先级的单输入存储结构及方法。
背景技术:
随着各行业生产力的不断提高,对计算机性能的需求也是日益提升,云计算、云存储等已经深入到生活中,因此,在有限的成本中如何提高计算机的存储效率,是现在研究存储技术的一大难题,目前急需节省存储资源开销,提升计算机整体数据处理能力,提高工作效率的手段。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种带优先级的单输入存储结构及方法,是非常有必要的。
技术实现要素:
本发明的目的在于,针对上述急需提高存储效率,节省存储资源的手段的缺陷,提供一种带优先级的单输入存储结构及方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种带优先级的单输入存储结构,包括输入端、输出端、优先级确定模块、数据存储模块、输出控制模块以及优先级更改模块;
输入端,用于数据串行输入;
优先级确定模块,用于根据输入端写入数据的先后顺序确定数据的优先级;先写入的数据优先级高,后写入的数据优先级低;
数据存储模块,用于存储数据和数据的优先级;
输出控制模块,用于按优先级高低从输出端输出数据;
输出端,用于数据输出;
优先级更改模块,用于输出端输出数据后,将数据存储模块中所有数据的优先级都升高一级。
进一步地,还包括地址检测模块;
地址检测模块,用于解析输入端写入的数据的地址,判断在数据存储模块中是否存在相同地址的数据;
优先级确定模块,用于根据输入端写入数据的地址以及写入数据的先后顺序确定数据的优先级;当在数据存储模块中存在相同地址的数据时,输入端写入数据的优先级比数据存储模块中相同地址的数据的优先级低一级;
优先级更改模块,还用于在数据存储模块中存在相同地址的数据时,找出数据存储模块中优先级低于该相同地址数据优先级的所有数据,将这些数据的优先级都降低一级;
数据存储模块,还用于存储数据的地址。
进一步地,优先级确定模块,当在数据存储模块中不存在相同地址的数据时,根据输入端写入数据的先后顺序确定数据的优先级。
进一步地,数据的地址为数据的目的地址。
本发明还给出如下技术方案:
一种带优先级的单输入存储方法,包括如下步骤:
输入端串行输入数据;
根据输入端写入数据的先后顺序确定数据的优先级;先写入的数据优先级高,后写入的数据优先级低;
存储数据和数据的优先级;
按优先级高低从输出端输出数据;
将数据存储模块中所有数据的优先级都升高一级。保证每次从存储结构输出的数据优先级都是最高的。
进一步地,根据输入端写入数据的先后顺序确定数据的优先级步骤中,还包括如下步骤:
解析输入端写入的数据的地址,判断在数据存储模块中是否存在相同地址的数据;
根据输入端写入数据的地址以及写入数据的先后顺序确定数据的优先级;
当在数据存储模块中存在相同地址的数据时,输入端写入数据的优先级比数据存储模块中相同地址的数据的优先级低一级;
找出数据存储模块中优先级低于该相同地址数据优先级的所有数据,将这些数据的优先级都降低一级;
存储数据和数据的优先级步骤中,还包括存储数据地址。保证相同地址的数据可以连续读出进行处理,提高了数据从存储结构传输到外部处理结构的工作效率。
进一步地,当在数据存储模块中不存在相同地址的数据时,根据输入端写入数据的先后顺序确定数据的优先级。
进一步地,数据的地址为数据的目的地址。
本发明的有益效果在于:
本发明对输入的数据按照优先级进行排列,根据优先级先后进行输出,能够大幅度提高数据输出处理的效率,提升计算机整体的处理数据能力。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的结构连接示意图;
图2为本发明的方法流程图;
图3为本发明实施例的数据存储示意图一;
图4为本发明实施例的数据存储示意图二;
图5为本发明实施例的数据存储示意图三;
图6为本发明实施例的数据存储示意图四;
其中,1-输入端;2-输出端;3-优先级确定模块;4-数据存储模块;5-输出控制模块;6-优先级更改模块;7-地址检测模块。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
如图1所示,本发明提供一种带优先级的单输入存储结构,包括输入端、输出端、优先级确定模块、数据存储模块、输出控制模块、优先级更改模块、地址检测模块;
输入端,用于数据串行输入;
地址检测模块,用于解析输入端写入的数据的目的地址,判断在数据存储模块中是否存在相同目的地址的数据;
优先级确定模块,用于根据输入端写入数据的目的地址以及写入数据的先后顺序确定数据的优先级;当在数据存储模块中存在相同目的地址的数据时,输入端写入数据的优先级比数据存储模块中相同目的地址的数据的优先级低一级;当在数据存储模块中不存在相同目的地址的数据时,根据输入端写入数据的先后顺序确定数据的优先级;
数据存储模块,用于存储数据、数据的优先级和数据目的地址;
优先级更改模块,用于在数据存储模块中存在相同目的地址的数据时,找出数据存储模块中优先级低于该相同目的地址数据优先级的所有数据,将这些数据的优先级都降低一级;用于输出端输出数据后,将数据存储模块中所有数据的优先级都升高一级;
输出控制模块,用于按优先级高低从输出端输出数据;
输出端,用于数据输出。
如图2所示,本发明还提供一种带优先级的单输入存储方法,包括如下步骤:
输入端串行输入数据;
解析输入端写入的数据的目的地址,判断在数据存储模块中是否存在相同目的地址的数据;
当在数据存储模块中存在相同目的地址的数据时,输入端写入数据的优先级比数据存储模块中相同目的地址的数据的优先级低一级;
找出数据存储模块中优先级低于该相同目的地址数据优先级的所有数据,将这些数据的优先级都降低一级;
当在数据存储模块中不存在相同目的地址的数据时,根据输入端写入数据的先后顺序确定数据的优先级;先写入的数据优先级高,后写入的数据优先级低;
存储数据、数据的优先级以及数据的目的地址;
按优先级高低从输出端输出数据;
将数据存储模块中所有数据的优先级都升高一级。
应用图2所示方法的实施例,以数据优先级8深度为例,最高优先级为1,低一级的优先级为2,以此类推,优先级数值为8的为最低优先级;如图3所示,数据存储模块块中已有a数据、b数据、c数据和d数据,a数据的优先级为1,地址为0002;b数据的优先级为2,地址为0006;c数据的优先级为3,地址为0005,d数据的优先级为4,地址为0001;
此时,输入端串行输入e数据和f数据;
解析e数据的地址为0008,f数据的地址为0003;
判断在数据存储模块中是否存在0008和0003地址的数据;
在数据存储模块中不存在0008和0003地址的数据,根据e数据和f数据先后顺序确定数据的优先级;即e数据的优先级为5,f数据的优先级为6;
存储e数据、e数据的优先级以及e数据的地址0008;
存储f数据、f数据的优先级以及f数据的地址0003;
按优先级高低从输出端输出数据;即数据输出时,先输出优先级为1的a数据;
将数据存储模块中所有数据的优先级都升高一级,生成结果如图4所示;
如图5所示,在图4所示的数据存储模块的基础上,输入端串行输入g数据;
解析g数据的地址为0001;
判断在数据存储模块中是否存在0001地址的数据;
在数据存储模块中存在0001地址的数据,g数据的优先级比0001地址对应的d数据的优先级3低一级,即g数据的优先级为4;
找出数据存储模块中优先级低于0001地址d数据优先级3的所有数据,即e数据和f数据,将e数据的优先级4和f数据的优先级5都降低一级,即e数据的优先级变为5,f数据的优先级变为6;
存储g数据、g数据的优先级4以及g数据的地址0001;生成结果如图5所示;
按优先级高低从输出端输出数据;即数据输出时,先输出优先级为1的b数据;
将数据存储模块中所有数据的优先级都升高一级,生成结果如图6所示。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。