CN102750257A - 基于访问信息调度的片上多核共享存储控制器 - Google Patents

基于访问信息调度的片上多核共享存储控制器 Download PDF

Info

Publication number
CN102750257A
CN102750257A CN2012102081150A CN201210208115A CN102750257A CN 102750257 A CN102750257 A CN 102750257A CN 2012102081150 A CN2012102081150 A CN 2012102081150A CN 201210208115 A CN201210208115 A CN 201210208115A CN 102750257 A CN102750257 A CN 102750257A
Authority
CN
China
Prior art keywords
visit information
address
module
storage
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102081150A
Other languages
English (en)
Other versions
CN102750257B (zh
Inventor
马佩军
邹辉辉
史江一
赵伟峰
董伟
李康
郝跃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201210208115.0A priority Critical patent/CN102750257B/zh
Publication of CN102750257A publication Critical patent/CN102750257A/zh
Application granted granted Critical
Publication of CN102750257B publication Critical patent/CN102750257B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于访问信息调度的片上多核共享存储控制器,主要解决现有技术指令提取慢以及执行时间长的问题。其包括:指令存储模块、指令译码和地址产生模块、访问信息暂存模块、访问信息调度模块、推拉模块、不同访问信息存储队列、访问信息仲裁模块、数据通路模块、存储接口模块。访问信息调度模块对访问存储器地址和当前执行的指令地址进行比较,得到地址关系;访问信息暂存模块根据地址关系把访问信息存储到不同访问信息存储队列;访问信息仲裁模块从不同访问信息存储队列中,优先读取出相同存储块相同行访问信息,并执行该访问信息。本发明具有访问信息执行速度快,访问延迟少的优点,可用于控制片上多核处理器对片外存储器的频繁访问。

Description

基于访问信息调度的片上多核共享存储控制器
技术领域
本发明微电子技术领域,涉及数据存储控制,特别是一种片上多核共享存储控制器,该存储控制器可用于处理片上多核处理器对存储器的访问,通过访问信息调度,控制片上多核处理器对存储器访问信息的执行次序以加快访问信息执行速度满足多核处理器对存储器频繁访问的请求。
背景技术
处理器系统中,多个处理器可以通过命令总线向片外存储器发送指令,访问存储器。这些指令通常存储在存储控制器中,存储控制器通过指令译码,得到访问信息。现在,很多处理器都被集成在单个芯片上,称之为片上系统SOC,这样的多个处理器也称作为片上多核处理器。片上多核处理器通过命令总线向片外存储器发送多条指令,即发送多个存储器访问请求。
传统的片上多核共享存储控制器结构示意图如图1所示,片上多核处理器100通过命令总线向片外存储器120发送指令,由存储控制器128控制执行这些指令,当存储控制器128接收到指令后,把这些指令存储到指令队列102中;仲裁模块104基于一定的仲裁算法从指令队列中读取出指令,指令读取出后输入到指令译码和地址产生模块106中,译码出指令的信息,该指令的信息包括:指令所要访问的存储器地址,指令的类型,传输数据的个数,处理器的编号,以及处理器内部存储数据的地址。
译码出来的指令信息,送给存储接口模块108,由存储接口模块108发送地址和命令给片外存储器120,片外存储器120接收到地址和命令后,开始对存储器进行正式的访问,进行行选通,经历行选通时间后,进行列选择。列选后如果是读指令,需要经历一段读潜伏期的时间后,数据开始进行传输,即数据由片外存储器120发送到数据通路模块110,片上多核处理器100接收数据通路模块110的数据。
如果是写指令,需要经历1个周期后,数据开始进行传输,即数据由片上多核处理器100发送到数据通路模块110,片外存储器120从数据通路模块110接收数据,数据传输完成后再经历写回时间。
数据传输完成之后,本条指令执行完成,接着进行预充电,预充电完成之后给仲裁模块104一个仲裁信号,读取出下一条指令。
上述传统的片上多核共享存储控制器执行指令时,由于前一条指令执行完成之后,不管后一条指令和前一条指令所访问的存储器是相同存储块的相同行,还是不同存储块,接下来的操作都是预充电,经历预充电时间后,读取出后一条指令,再执行该条指令,依次经历行选、行选通时间和列选,因而指令执行的时间很长,这对于片上多核处理器频繁访问存储器而言,会造成很大的访问延迟。
发明内容
本发明的目的在于针对上述现有技术的缺陷,提出了一种基于访问信息调度的片上多核共享存储控制器,以减少指令执行的时间,满足片上多核处理器对存储器的频繁访问。
本发明的技术方案是这样实现的:
一、技术原理
对于前后两条指令而言,在一条指令执行完成之后,接下来的操作取决于后一条指令地址,指令地址分为以下三种情况:
当后一条指令地址和前一条指令地址指向的是不同存储块时,进行后一条指令的行选;
当后一条指令地址和前一条指令地址指向的是相同存储块的不同行时,进行预充电操作,然后进行后一条指令的行选;
当后一条指令地址和前一条指令地址指向的是相同存储块的相同行时,进行后一条指令的列选。
上述三种情况中,当后一条指令地址和前一条指令地址指向的是相同存储块的相同行时,通过进行后一条指令的行选,可以节省前一条指令的预充电和后一条指令的行选时间。对于该种情况而言,其指令执行时间最短。
基于上述原理,对于片上多核处理器频繁访问片外存储器而言,为了减少指令的执行时间,后一条指令可以在前一条指令还未执行完之前仲裁出来,仲裁出该指令后进行译码,译码得到访问信息。通过对该访问信息的调度,优先执行相同存储块相同行的指令,该指令地址和前一条指令地址指向的是相同存储块的相同行,这样就可以减少指令的执行时间,缩短对存储器的访问延迟。
二、技术方案
1、本发明的基于访问信息调度的片上多核共享存储控制器,包括:
指令存储模块,用于存放片上多核处理器发出的访存指令,并在指令提取信号的作用下,提取出该访存指令,输入到指令译码和地址产生模块中,该访存指令包括指令类型、地址信息和对应于片上多核处理器的信息;
指令译码和地址产生模块,用于对指令进行译码,得到访问信息,该访问信息包括:访问存储器地址、指令类型、传输数据的个数、处理器编号和处理器内部存储数据的地址;访问信息输入到访问信息暂存模块,访问信息中的访问存储器地址输入到访问信息调度模块;
访问信息调度模块,用于对访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系,并将该地址关系输出到访问信息暂存模块中;在输出地址关系的同时,给指令存储模块发送一个指令提取信号,提取下一条指令;其中,当前执行的指令地址,是指访问信息仲裁模块从不同访问信息存储队列中读取出来的访问信息中的地址;
访问信息暂存模块,用于存储指令译码和地址产生模块译码输出的访问信息,并根据访问信息调度模块输出过来的地址关系,把其存储的访问信息存储到不同访问信息存储队列中,即:当地址关系为不同存储块时,则访问信息暂存模块把访问信息输入到不同存储块访问信息中;当地址关系为相同存储块相同行时,则访问信息暂存模块把访问信息输入到相同存储块相同行访问信息中;当地址关系为相同存储块不同行时,则访问信息暂存模块把访问信息输入到相同存储块不同行访问信息中;
不同访问信息存储队列,用于存储三种不同类型访问信息,分别为不同存储块访问信息、相同存储块相同行访问信息、以及相同存储块不同行访问信息;这三种不同类型访问信息拥有的优先级不同,相同存储块相同行访问信息优先级最高,其次是不同存储块访问信息,相同存储块不同行访问信息拥有最低的优先级;
访问信息仲裁模块,用于根据不同访问信息存储队列中的三种不同类型访问信息拥有优先级的不同,从不同访问信息存储队列中读取出访问信息;读取出来的访问信息,输入给推拉模块,同时,该访问信息中的地址分别输入到访问信息调度模块和存储接口模块;
推拉模块,用于接收来自访问信息仲裁模块读取出来的访问信息,并控制片外存储器和片上多核处理器之间的数据传输;
存储接口模块,用于发送地址和命令给片外存储器,并将数据通路模块中的数据传输到片外存储器,或者将片外存储器读出的数据写入到数据通路模块;
数据通路模块,用于接收片外存储器读出的数据和片上处理器发来的数据,并负责匹配片外存储器和片上多核处理器之间数据传输的时序要求;
上述存储控制器,其特征在于:
上述指令类型,包括读指令和写指令。
上述地址信息,是指访问存储器地址,它包括行地址、列地址和存储块地址。
上述对应于处理器的信息,是指传输数据的个数、处理器编号和处理器内部存储数据的地址。
上述片外存储器为双倍速率同步动态随机存储器或者第二代双倍速率同步动态随机存储器。
上述存储控制器,其特征在于,所述的访问信息调度模块,包括:
访问存储器地址存储子模块:用于存储由指令译码和地址产生模块输出的访问存储器地址,并把该地址输入到地址比较子模块;
比较子模块:用于比较访问存储器地址和当前执行的指令地址,得到地址关系,并把该地址关系输入到地址关系寄存器;
当前执行的指令地址存储子模块:用于存储当前执行的指令地址,并把该地址输入到地址比较子模块;
地址关系寄存器:用于存储地址比较子模块输出过来的地址关系,并把该地址关系输出到访问信息暂存模块;
指令提取信号子模块:用于在地址关系寄存器输出地址关系时,发送指令提取信号给指令存储模块。
上述存储控制器,其特征在于,所述数据通路模块包括:
数据写总线:用于接收来自于片上处理器的数据,并传输给片外存储器;
数据读总线:用于接收来自于片外存储器的数据,并传输给片上处理器。
上述的存储控制器,其特征在于,所述推拉模块包括
推子模块:用于将片上处理器的数据传输给片外存储器;
拉子模块:用于将片外存储器的数据传输给片上处理器。
2、本发明基于访问信息调度的片上多核共享存储控制方法,包括如下步骤:
(1)在指令提取信号的作用下,提取出片上多核处理器发来的访存指令;
(2)对访存指令进行译码,得到访问信息;
(3)将访问信息中的访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系;
(4)根据地址关系,对访问信息进行分类存储;
(5)将分类存储的访问信息读取出来;
(6)执行读取出来的分类存储的访问信息。
上述方法中,其中步骤(4)中所述的根据地址关系,对访问信息进行分类存储,按如下方式进行:
当地址关系为不同存储块时,则将访问信息存储到不同存储块访问信息中;
当地址关系为相同存储块相同行时,则把访问信息存储到相同存储块相同行访问信息中;
当地址关系为相同存储块不同行时,则把访问信息存储到相同存储块不同行访问信息中。
上述方法中,其中步骤(5)中所述的将分类存储的访问信息读取出来,按如下步骤进行:
(5a)检测相同存储块相同行访问信息有无访问信息,如果有访问信息,则从相同存储块相同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5b);
(5b)检测不同存储块访问信息有无访问信息,如果有访问信息,则从不同存储块访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5c);
(5c)检测相同存储块不同行访问信息有无访问信息,如果有访问信息,则从相同存储块不同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,同样返回到步骤(5a)。
上述方法中,其中步骤(6)中所述的执行分类存储的访问信息,按如下步骤进行:
(6a)根据访问信息中的处理器编号先选择相应的处理器,再根据访问信息中的指令类型确定后续操作,如果访问信息中的指令类型是写指令,则执行步骤(6b);如果访问信息中的指令类型是读指令,则执行步骤(6c);
(6b)把访问信息中传输数据的个数和处理器内部存储数据的地址写入到片上处理器;同时,发送一个数据请求信号给片上处理器,请求传送数据,执行步骤(6d);
(6c)把访问信息中传输数据的个数和访问存储器地址写入到片外存储器中,同时把处理器内部存储数据的地址写入到片上处理器,执行步骤(6e);
(6d)片上处理器接收到数据请求信号后,根据处理器内部存储数据的地址和传输数据的个数读取出数据;同时发送一个数据同步信号给片外存储器,执行步骤(6f);
(6e)片外存储器根据地址和传输数据的个数读取出数据;同时,发送一个数据同步信号给片上处理器,执行步骤(6g);
(6f)片外存储器接收到数据同步信号后,接收片上多核处理器读取出的数据;
(6g)片上处理器接收到数据同步信号后,接收片外存储器读取出的数据,并把该数据存储到处理器内部存储数据的地址中。
本发明与传统存储控制器相比具有以下优点:
(a)本发明的指令存储模块由于在指令提取信号的作用下,提取出片上处理器发来的访存指令,该指令提取信号是在指令执行完成之前,由访问信息调度模块产生;传统的存储控制器,在指令执行完成之后,才能提取出访存指令;因此相比与传统存储控制器而言,本发明的存储控制器可以使得访存指令得到提前提取;
(b)本发明由于优先执行相同存储块相同行访问信息,而相同存储块相同行访问信息所需执行时间最短,因而加快了访问信息的执行速度,减小了对片外存储器的访问延迟。
附图说明
图1是传统的存储控制器结构示意图;
图2是本发明的存储控制器结构图;
图3是本发明的存储控制器中访问信息调度模块结构图;
图4是本发明的存储控制器中推拉模块结构图;
图5是本发明的存储控制器中数据通路模块结构图;
图6是本发明的存储控制方法实现流程总图;
图7是本发明存储控制方法中对访问信息进行分类存储的子流程图;
图8是本发明存储控制方法中读取访问信息的子流程图;
图9是本发明存储控制方法中将片上处理器的数据传输到片外存储器的子流程图;
图10是本发明存储控制方法中将片外存储器的数据传输到片上处理器的子流程图;
具体实施方式
本发明通过举例的方式展示,但是并不限制于附图,在附图中相同的参考号代表相似的结构。
以下结合具体实施例,对本发明做进一步详细的描述:
参照图2,本发明基于访问信息调度的片上多核共享存储控制器包括:指令存储模块2、指令译码和地址产生模块3、访问信息暂存模块4、访问信息调度模块5、不同访问信息存储队列6、访问信息仲裁模块7、数据通路模块8、推拉模块9和存储接口模块1。其中:
指令存储模块2,用于存储片上多核处理器11发来的访存指令,并在指令提取信号的作用下,提取出该访存指令,输入到指令译码和地址产生模块3;该访存指令包括指令类型、地址信息和对应于片上多核处理器的信息;其中,所述的指令类型,包括读指令和写指令;所述的地址信息,是指访问存储器地址,它包括行地址、列地址和存储块地址;所述的对应于处理器的信息,是指传输数据的个数、处理器编号和处理器内部存储数据的地址;
指令译码和地址产生模块3,用于对访存指令进行译码,得到访问信息;该访问信息包括:访问存储器地址、指令类型、传输数据的个数、处理器编号和处理器内部存储数据地址;访问信息输入到访问信息暂存模块4,访问信息中的访问存储器地址输入到访问信息调度模块5;
访问信息调度模块5,用于根据访问存储器地址和当前执行的指令地址,输出两者的地址关系,并把该地址关系输入到访问信息暂存模块4,同时发送指令提取信号给指令存储模块2;其中,当前执行的指令地址,是指访问信息仲裁模块7从不同访问信息存储队列6中读取出来的访问信息中的地址;
参照图3,该访问信息调度模块,包括:
访问存储器地址存储子模块51:用于存储由指令译码和地址产生模块3输出的访问存储器地址,并把该地址输入到地址比较子模块52;
地址比较子模块52:用于比较访问存储器地址和当前执行的指令地址,得到地址关系,并把该地址关系输入到地址关系寄存器54;
当前执行的指令地址存储子模块53:用于存储当前执行的指令地址,并把该地址输入到地址比较子模块52;
地址关系寄存器54:用于存储地址比较模块输出过来的地址关系,并把该地址关系输出到访问信息暂存模块4;
指令提取信号子模块55:用于在地址关系寄存器输出地址关系时,发送指令提取信号给指令存储模块2;
访问信息暂存模块4,用于存储指令译码和地址产生模块译码3输出的访问信息,并根据访问信息调度模块5输出过来的地址关系,把存储的访问信息分类存储到不同访问信息队列6中,即当地址关系为不同存储块时,则访问信息暂存模块把访问信息存储到不同存储块访问信息中;当地址关系为相同存储块相同行时,则访问信息暂存模块把访问信息存储到相同存储块相同行访问信息中;当地址关系为相同存储块不同行时,则访问信息暂存模块把访问信息存储到相同存储块不同行访问信息中;
不同访问信息存储队列6,用于存储三种不同类型访问信息;该三种不同类型访问信息分别为不同存储块访问信息、相同存储块相同行访问信息、以及相同存储块不同行访问信息;这三种不同类型访问信息拥有的优先级不同,相同存储块相同行访问信息优先级最高,其次是不同存储块访问信息,相同存储块不同行访问信息拥有最低的优先级;
访问信息仲裁模块7,用于根据不同访问信息存储队列6中三种不同类型访问信息优先级的不同读取出访问信息,并把该读取出来的访问信息输入到推拉模块9;同时,该访问信息中的地址分别输入到访问信息调度模块5和存储接口模块1;
推拉模块9,用于接收访问信息仲裁模块7读取的访问信息,控制片外存储器12和片上多核处理器11之间的数据传输;
参照图4,该推拉模块9,包括:
推子模块91:用于将片上处理器11的数据传输给片外存储器12;
拉子模块92:用于将片外存储器12的数据传输给片上处理器11;
所述片外存储器12,为双倍速率同步动态随机存储器或者第二代双倍速率同步动态随机存储器;
存储接口模块1,用于把访问信息仲裁模块7读取出的访问信息中的地址发送到片外存储器12,在发送地址给片外存储器12的同时,存储接口模块1发送命令给片外存储器12,对片外存储器12进行访问;
数据通路模块8,用于接收片外存储器12读出的数据和片上处理器11发来的数据,并负责匹配片外存储器12和片上多核处理器11之间数据传输的时序要求;
参照图5,该数据通路模块8,包括:
数据写总线81:用于接收来自于片上处理器11的数据,并传输给片外存储器12;
数据读总线82:用于接收来自于片外存储器12的数据,并传输给片上处理器11。
上述存储控制器的原理如下:
指令存储模块2在指令提取信号的作用下,提取出片上多核处理器11发来的访存指令,并把该访存指令输入到指令译码和地址产生模块3;指令译码和地址产生模块3对访存指令进行译码,得到访问信息;并把该访问信息输入到访问信息暂存模块4中,访问信息中的地址输入到访问信息调度模块5;访问信息调度模块5将访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系,并把该地址关系输入到访问信息暂存模块4,同时发送一个指令提取信号给指令存储模块2;访问信息暂存模块4根据地址关系,对访问信息暂存模块中的访问信息进行分类存储,存储到不同访问信息存储队列6中;访问信息仲裁模块7根据不同访问信息存储队列6中三种不同访问信息的优先级的不同,从不同访问信息存储队列6中读取出访问信息;读取出的访问信息输入到推拉模块9,该访问信息中的地址分别输入到访问信息调度模块5和存储接口模块1中;推拉模块9接收到访问信息仲裁模块7读取出的访问信息后,将片外存储器12读出的数据发送到数据通路模块8中的数据读总线82上,然后片上处理器11接收读总线82上的数据;或者将片上处理器11读出的数据发送到数据通路模块8中的数据写总线81上,然后片外存储器12接收数据写总线81的数据。
参照图6,本发明的存储控制方法,包括如下步骤:
步骤1:在指令提取信号作用下,提取出片上多核处理器发来的访存指令。
当片上多核处理器发出第一条访存指令时,可以立即提取出该访存指令;当片上多核处理器发出第二条及后续的访存指令时,需要在指令提取信号的作用下,提取出第二条及后续的访存指令;该指令提取信号是由高电平和低电平组成的一组电压信号,其中高电平保持一个时钟周期,其余时间为低电平;该指令提取信号为高电平时,提取出片上多核处理器发出的访存指令。
步骤2:对访存指令进行译码,得到访问信息。
步骤3:将访问信息中的访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系。
当访问存储器地址和当前执行的指令地址指向片外相同存储块的相同行时,则地址关系为相同存储块相同行;
当访问存储器地址和当前执行的指令地址指向片外不同存储块时,则地址关系为不同存储块;
当访问存储器地址和当前执行的指令地址指向片外相同存储块的不同行时,则地址关系为相同存储块不同行。
步骤4:根据地址关系,对访问信息进行分类存储。
参照图7,本步骤的具体实现如下:
当地址关系为不同存储块时,则将访问信息存储到不同存储块访问信息中;
当地址关系为相同存储块相同行时,则把访问信息存储到相同存储块相同行访问信息中;
当地址关系为相同存储块不同行时,则把访问信息存储到相同存储块不同行访问信息中。
步骤5:将分类存储的访问信息读取出来。
参照图8,本步骤的具体实现如下:
(5a)检测相同存储块相同行访问信息有无访问信息,如果有访问信息,则从相同存储块相同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5b);
(5b)检测不同存储块访问信息有无访问信息,如果有访问信息,则从不同存储块访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5c);
(5c)检测相同存储块不同行访问信息有无访问信息,如果有访问信息,则从相同存储块不同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,同样返回到步骤(5a)。
步骤6:执行读取出来的分类存储的访问信息。
参照图9和图10,本步骤的具体实现如下:
(6a)根据访问信息中的处理器编号先选择相应的处理器,再根据访问信息中的指令类型确定后续操作,如果访问信息中的指令类型是写指令,则执行步骤(6b);如果访问信息中的指令类型是读指令,则执行步骤(6c);
(6b)把访问信息中传输数据的个数和处理器内部存储数据的地址写入到片上处理器;同时,发送一个数据请求信号给片上处理器,请求传送数据,执行步骤(6d);
(6c)把访问信息中传输数据的个数和访问存储器地址写入到片外存储器中,同时把处理器内部存储数据的地址写入到片上处理器,执行步骤(6e);
(6d)片上处理器接收到数据请求信号后,根据处理器内部存储数据的地址和传输数据的个数读取出数据;同时发送一个数据同步信号给片外存储器,执行步骤(6f);
(6e)片外存储器根据地址和传输数据的个数读取出数据;同时,发送一个数据同步信号给片上处理器,执行步骤(6g);
(6f)片外存储器接收到数据同步信号后,接收片上多核处理器读取出的数据;
(6g)片上处理器接收到数据同步信号后,接收片外存储器读取出的数据,并把该数据存储到处理器内部存储数据的地址中。
以上所述仅是本发明的一个具体实例,并不构成对本发明的任何限制,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (9)

1.一种基于访问信息调度的片上多核共享存储控制器,包括:
指令存储模块2,用于存放片上多核处理器11发出的访存指令,并在指令提取信号的作用下,提取出该访存指令,输入到指令译码和地址产生模块3中,该访存指令包括指令类型、地址信息和对应于片上多核处理器的信息;
指令译码和地址产生模块3,用于对指令进行译码,得到访问信息;该访问信息包括:访问存储器地址、指令类型、传输数据的个数、处理器编号和处理器内部存储数据的地址;访问信息输入到访问信息暂存模块4,访问信息中的访问存储器地址输入到访问信息调度模块5;
访问信息调度模块5,用于对访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系,并将该地址关系输出到访问信息暂存模块4中;在输出地址关系的同时,给指令存储模块2发送一个指令提取信号,提取下一条指令;其中,当前执行的指令地址,是指访问信息仲裁模块7从不同访问信息存储队列6中读取出来的访问信息中的地址;
访问信息暂存模块4,用于存储指令译码和地址产生模块3译码输出的访问信息,并根据访问信息调度模块5输出过来的地址关系,把其存储的访问信息分类存储到不同访问信息存储队列6中,即:当地址关系为不同存储块时,则访问信息暂存模块4把访问信息存储到不同存储块访问信息中;当地址关系为相同存储块相同行时,则访问信息暂存模块4把访问信息存储到相同存储块相同行访问信息中;当地址关系为相同存储块不同行时,则访问信息暂存模块4把访问信息存储到相同存储块不同行访问信息中;
不同访问信息存储队列6,用于存储三种不同类型访问信息,分别为不同存储块访问信息、相同存储块相同行访问信息、以及相同存储块不同行访问信息;这三种不同类型访问信息拥有的优先级不同,相同存储块相同行访问信息优先级最高,其次是不同存储块访问信息,相同存储块不同行访问信息拥有最低的优先级;
访问信息仲裁模块7,用于根据不同访问信息存储队列6中的三种不同类型访问信息拥有优先级的不同,从不同访问信息存储队列6中读取出访问信息;读取出来的访问信息,输入给推拉模块9,同时,该访问信息中的地址分别输入到访问信息调度模块5和存储接口模块1;
推拉模块9,用于接收来自访问信息仲裁模块7读取出来的访问信息,并控制片外存储器12和片上多核处理器11之间的数据传输;
存储接口模块1,用于发送地址和命令给片外存储器12,并将数据通路模块8中的数据传输到片外存储器12,或者将片外存储器12读出的数据写入到数据通路模块8;
数据通路模块8,用于接收片外存储器12读出的数据和片上处理器11发来的数据,并负责匹配片外存储器12和片上多核处理器11之间数据传输的时序要求。
2.根据权利要求1所述的存储控制器,其特征在于,
所述的指令类型,包括读指令和写指令;
所述的地址信息,是指访问存储器地址,它包括行地址、列地址和存储块地址;
所述的对应于处理器的信息,是指传输数据的个数、处理器编号和处理器内部存储数据的地址;
所述的片外存储器12为双倍速率同步动态随机存储器或者第二代双倍速率同步动态随机存储器。
3.根据权利要求1所述的存储控制器,其特征在于,所述的访问信息调度模块5,包括:
访问存储器地址存储子模块51:用于存储由指令译码和地址产生模块3输出的访问存储器地址,并把该地址输入到地址比较子模块52;
地址比较子模块52:用于比较访问存储器地址和当前执行的指令地址,得到地址关系,并把该地址关系输入到地址关系寄存器54;
当前执行的指令地址存储子模块53:用于存储当前执行的指令地址,并把该地址输入到地址比较子模块52;
地址关系寄存器54:用于存储地址比较子模块52输出过来的地址关系,并把该地址关系输出到访问信息暂存模块4;
指令提取信号子模块55:用于在地址关系寄存器54输出地址关系时,发送指令提取信号给指令存储模块2。
4.根据权利要求1所述的存储控制器,其特征在于,所述数据通路模块8包括:
数据写总线81:用于接收来自于片上处理器11的数据,并传输给片外存储器12;
数据读总线82:用于接收来自于片外存储器12的数据,并传输给片上处理器11。
5.根据权利要求1所述的存储控制器,其特征在于,所述推拉模块9包括
推子模块91:用于将片上处理器11的数据传输给片外存储器12;
拉子模块92:用于将片外存储器12的数据传输给片上处理器11。
6.一种基于访问信息调度的片上多核共享存储控制方法,包括如下步骤:
(1)在指令提取信号的作用下,提取出片上多核处理器发来的访存指令;
(2)对访存指令进行译码,得到访问信息;
(3)将访问信息中的访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系;
(4)根据地址关系,对访问信息进行分类存储;
(5)将分类存储的访问信息读取出来;
(6)执行读取出来的分类存储的访问信息。
7.根据权利要求6所述的方法,其中步骤(4)中所述的根据地址关系,对访问信息进行分类存储,按如下方式进行:
当地址关系为不同存储块时,则将访问信息存储到不同存储块访问信息中;
当地址关系为相同存储块相同行时,则把访问信息存储到相同存储块相同行访问信息中;
当地址关系为相同存储块不同行时,则把访问信息存储到相同存储块不同行访问信息中。
8.根据权利要求6所述的方法,其中步骤(5)中所述的将分类存储的访问信息读取出来,按如下步骤进行:
(5a)检测相同存储块相同行访问信息有无访问信息,如果有访问信息,则从相同存储块相同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5b);
(5b)检测不同存储块访问信息有无访问信息,如果有访问信息,则从不同存储块访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5c);
(5c)检测相同存储块不同行访问信息有无访问信息,如果有访问信息,则从相同存储块不同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,同样返回到步骤(5a)。
9.根据权利要求6所述的方法,其中步骤(6)中所述的执行分类存储的访问信息,按如下步骤进行:
(6a)根据访问信息中的处理器编号先选择相应的处理器,再根据访问信息中的指令类型确定后续操作,如果访问信息中的指令类型是写指令,则执行步骤(6b);如果访问信息中的指令类型是读指令,则执行步骤(6c);
(6b)把访问信息中传输数据的个数和处理器内部存储数据的地址写入到片上处理器;同时,发送一个数据请求信号给片上处理器,请求传送数据,执行步骤(6d);
(6c)把访问信息中传输数据的个数和访问存储器地址写入到片外存储器中,同时把处理器内部存储数据的地址写入到片上处理器,执行步骤(6e);
(6d)片上处理器接收到数据请求信号后,根据处理器内部存储数据的地址和传输数据的个数读取出数据;同时发送一个数据同步信号给片外存储器,执行步骤(6f);
(6e)片外存储器根据地址和传输数据的个数读取出数据;同时,发送一个数据同步信号给片上处理器,执行步骤(6g);
(6f)片外存储器接收到数据同步信号后,接收片上多核处理器读取出的数据;
(6g)片上处理器接收到数据同步信号后,接收片外存储器读取出的数据,并把该数据存储到处理器内部存储数据的地址中。
CN201210208115.0A 2012-06-21 2012-06-21 基于访问信息调度的片上多核共享存储控制器 Expired - Fee Related CN102750257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210208115.0A CN102750257B (zh) 2012-06-21 2012-06-21 基于访问信息调度的片上多核共享存储控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210208115.0A CN102750257B (zh) 2012-06-21 2012-06-21 基于访问信息调度的片上多核共享存储控制器

Publications (2)

Publication Number Publication Date
CN102750257A true CN102750257A (zh) 2012-10-24
CN102750257B CN102750257B (zh) 2014-08-20

Family

ID=47030455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210208115.0A Expired - Fee Related CN102750257B (zh) 2012-06-21 2012-06-21 基于访问信息调度的片上多核共享存储控制器

Country Status (1)

Country Link
CN (1) CN102750257B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104977860A (zh) * 2014-04-04 2015-10-14 发那科株式会社 使用多核心处理器执行顺序程序的控制装置
CN105573933A (zh) * 2014-10-17 2016-05-11 瑞昱半导体股份有限公司 处理器及存取存储器的方法
CN107589958A (zh) * 2016-07-07 2018-01-16 福州瑞芯微电子股份有限公司 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法
CN107728936A (zh) * 2017-09-05 2018-02-23 华为技术有限公司 用于传输数据处理请求的方法和装置
CN107977232A (zh) * 2017-10-24 2018-05-01 上海华为技术有限公司 一种数据处理方法、数据处理电路和网络设备
CN108172249A (zh) * 2017-12-22 2018-06-15 湖南国科微电子股份有限公司 一种NAND Flash访问操作方法、装置及系统
CN112769966A (zh) * 2019-10-21 2021-05-07 阿里巴巴集团控股有限公司 一种地址信息分配方法、装置以及电子设备
CN113138711A (zh) * 2020-01-20 2021-07-20 北京希姆计算科技有限公司 一种存储管理装置及芯片
WO2023077846A1 (zh) * 2021-11-02 2023-05-11 华为技术有限公司 数据处理方法、设备、系统及装置
CN116756063A (zh) * 2023-08-16 2023-09-15 深圳砺驰半导体科技有限公司 数据传输电路、方法及系统级芯片
CN117312199A (zh) * 2023-11-30 2023-12-29 杭州海康威视数字技术股份有限公司 多端口访问仲裁方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089975A (zh) * 2006-06-14 2007-12-19 株式会社日立制作所 记录方法和光盘记录装置
US20080059442A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation System and method for automatically expanding referenced data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089975A (zh) * 2006-06-14 2007-12-19 株式会社日立制作所 记录方法和光盘记录装置
US20080059442A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation System and method for automatically expanding referenced data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PEI-JUN MA ET AL.: "The application and optimization of SDRAM controller in multicore multithreaded SoC", 《2010 10TH IEEE INTERNATIONAL CONFERENCE ON SOLID-STATE AND INTEGRATED CIRCUIT TECHNOLOGY (ICSICT)》 *
郭御风 等: "基于SOC的对象存储控制器的设计与实现", 《计算机科学》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104977860A (zh) * 2014-04-04 2015-10-14 发那科株式会社 使用多核心处理器执行顺序程序的控制装置
CN104977860B (zh) * 2014-04-04 2017-11-17 发那科株式会社 使用多核心处理器执行顺序程序的控制装置
US10127045B2 (en) 2014-04-04 2018-11-13 Fanuc Corporation Machine tool controller including a multi-core processor for dividing a large-sized program into portions stored in different lockable instruction caches
CN105573933A (zh) * 2014-10-17 2016-05-11 瑞昱半导体股份有限公司 处理器及存取存储器的方法
CN105573933B (zh) * 2014-10-17 2018-10-09 瑞昱半导体股份有限公司 处理器及存取存储器的方法
CN107589958A (zh) * 2016-07-07 2018-01-16 福州瑞芯微电子股份有限公司 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法
CN107589958B (zh) * 2016-07-07 2020-08-21 瑞芯微电子股份有限公司 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法
CN107728936A (zh) * 2017-09-05 2018-02-23 华为技术有限公司 用于传输数据处理请求的方法和装置
US11169743B2 (en) 2017-09-05 2021-11-09 Huawei Technologies Co., Ltd. Energy management method and apparatus for processing a request at a solid state drive cluster
WO2019047834A1 (zh) * 2017-09-05 2019-03-14 华为技术有限公司 用于传输数据处理请求的方法和装置
CN107728936B (zh) * 2017-09-05 2020-10-09 华为技术有限公司 用于传输数据处理请求的方法和装置
CN107977232A (zh) * 2017-10-24 2018-05-01 上海华为技术有限公司 一种数据处理方法、数据处理电路和网络设备
WO2019080852A1 (zh) * 2017-10-24 2019-05-02 华为技术有限公司 一种数据处理方法、数据处理电路和网络设备
CN108172249A (zh) * 2017-12-22 2018-06-15 湖南国科微电子股份有限公司 一种NAND Flash访问操作方法、装置及系统
CN108172249B (zh) * 2017-12-22 2021-09-17 湖南国科微电子股份有限公司 一种NAND Flash访问操作方法、装置及系统
CN112769966A (zh) * 2019-10-21 2021-05-07 阿里巴巴集团控股有限公司 一种地址信息分配方法、装置以及电子设备
CN112769966B (zh) * 2019-10-21 2023-08-25 阿里巴巴集团控股有限公司 一种地址信息分配方法、装置以及电子设备
CN113138711A (zh) * 2020-01-20 2021-07-20 北京希姆计算科技有限公司 一种存储管理装置及芯片
CN113138711B (zh) * 2020-01-20 2023-11-17 北京希姆计算科技有限公司 一种存储管理装置及芯片
WO2023077846A1 (zh) * 2021-11-02 2023-05-11 华为技术有限公司 数据处理方法、设备、系统及装置
CN116756063A (zh) * 2023-08-16 2023-09-15 深圳砺驰半导体科技有限公司 数据传输电路、方法及系统级芯片
CN116756063B (zh) * 2023-08-16 2023-12-15 深圳砺驰半导体科技有限公司 数据传输电路、方法及系统级芯片
CN117312199A (zh) * 2023-11-30 2023-12-29 杭州海康威视数字技术股份有限公司 多端口访问仲裁方法、装置、设备及存储介质
CN117312199B (zh) * 2023-11-30 2024-03-08 杭州海康威视数字技术股份有限公司 多端口访问仲裁方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN102750257B (zh) 2014-08-20

Similar Documents

Publication Publication Date Title
CN102750257B (zh) 基于访问信息调度的片上多核共享存储控制器
CN102207916B (zh) 一种基于指令预取的多核共享存储器控制设备
US9411757B2 (en) Memory interface
US9032162B1 (en) Systems and methods for providing memory controllers with memory access request merging capabilities
CN103543954A (zh) 一种数据存储管理方法和装置
CN103077132B (zh) 一种高速缓存处理方法及协议处理器高速缓存控制单元
CN101344870B (zh) 一种复用性强的fifo控制模块及其管理内存的方法
EP1922627B1 (en) Delayed memory access request arbitration
US20120102262A1 (en) Memory control device, storage device, and memory control method
US9263106B2 (en) Efficient command mapping scheme for short data burst length memory devices
TW201732612A (zh) 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點
US20100257336A1 (en) Dependency Matrix with Reduced Area and Power Consumption
CN102541782A (zh) Dram访问控制装置与控制方法
CN104536921A (zh) 一种edma控制器分离式并行数据通道的设计方法
CN102236623A (zh) 信号控制设备和信号控制方法
CN101656658B (zh) 一种提高队列管理中出队效率的方法和装置
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
US20060200606A1 (en) Bus connection method and apparatus
CN102236622A (zh) 提高动态存储器带宽利用率的动态存储器控制器及方法
US20170024146A1 (en) Memory controller, information processing device, and control method
US8156260B2 (en) Data transfer device and method for selecting instructions retained in channel unit based on determined priorities due to the number of waiting commands/instructions
EP2899644A1 (en) Device and method for inter-core communication in multi-core processor
US20070101032A1 (en) Bus arbitration circuit and bus arbitration method
US8219745B2 (en) Memory controller to utilize DRAM write buffers
EP3528132A1 (en) Slave device, control system, communication method for response data and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140820

Termination date: 20190621