CN102750257B - 基于访问信息调度的片上多核共享存储控制器 - Google Patents
基于访问信息调度的片上多核共享存储控制器 Download PDFInfo
- Publication number
- CN102750257B CN102750257B CN201210208115.0A CN201210208115A CN102750257B CN 102750257 B CN102750257 B CN 102750257B CN 201210208115 A CN201210208115 A CN 201210208115A CN 102750257 B CN102750257 B CN 102750257B
- Authority
- CN
- China
- Prior art keywords
- visit information
- address
- module
- instruction
- data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Multi Processors (AREA)
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 (8)
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所述的方法,其中步骤(5)中所述的将分类存储的访问信息读取出来,按如下步骤进行:
(5a)检测相同存储块相同行访问信息有无访问信息,如果有访问信息,则从相同存储块相同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5b);
(5b)检测不同存储块访问信息有无访问信息,如果有访问信息,则从不同存储块访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,执行步骤(5c);
(5c)检测相同存储块不同行访问信息有无访问信息,如果有访问信息,则从相同存储块不同行访问信息中读取出访问信息,读取出访问信息后,返回到步骤(5a);如果没有访问信息,同样返回到步骤(5a)。
8.根据权利要求6所述的方法,其中步骤(6)中所述的执行分类存储的访问信息,按如下步骤进行:
(6a)根据访问信息中的处理器编号先选择相应的处理器,再根据访问信息中的指令类型确定后续操作,如果访问信息中的指令类型是写指令,则执行步骤(6b);如果访问信息中的指令类型是读指令,则执行步骤(6c);
(6b)把访问信息中传输数据的个数和处理器内部存储数据的地址写入到片上处理器;同时,发送一个数据请求信号给片上处理器,请求传送数据,执行步骤(6d);
(6c)把访问信息中传输数据的个数和访问存储器地址写入到片外存储器中,同时把处理器内部存储数据的地址写入到片上处理器,执行步骤(6e);
(6d)片上处理器接收到数据请求信号后,根据处理器内部存储数据的地址和传输数据的个数读取出数据;同时发送一个数据同步信号给片外存储器,执行步骤(6f);
(6e)片外存储器根据地址和传输数据的个数读取出数据;同时,发送一个数据同步信号给片上处理器,执行步骤(6g);
(6f)片外存储器接收到数据同步信号后,接收片上多核处理器读取出的数据;
(6g)片上处理器接收到数据同步信号后,接收片外存储器读取出的数据,并把该数据存储到处理器内部存储数据的地址中。
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 CN102750257A (zh) | 2012-10-24 |
CN102750257B true 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) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5808450B1 (ja) * | 2014-04-04 | 2015-11-10 | ファナック株式会社 | マルチコアプロセッサを使用して逐次プログラムを実行する制御装置 |
CN105573933B (zh) * | 2014-10-17 | 2018-10-09 | 瑞昱半导体股份有限公司 | 处理器及存取存储器的方法 |
CN107589958B (zh) * | 2016-07-07 | 2020-08-21 | 瑞芯微电子股份有限公司 | 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法 |
CN112214166B (zh) * | 2017-09-05 | 2022-05-24 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
CN107977232B (zh) * | 2017-10-24 | 2020-05-08 | 上海华为技术有限公司 | 一种数据处理方法、数据处理电路和网络设备 |
CN108172249B (zh) * | 2017-12-22 | 2021-09-17 | 湖南国科微电子股份有限公司 | 一种NAND Flash访问操作方法、装置及系统 |
CN112769966B (zh) * | 2019-10-21 | 2023-08-25 | 阿里巴巴集团控股有限公司 | 一种地址信息分配方法、装置以及电子设备 |
CN113138711B (zh) * | 2020-01-20 | 2023-11-17 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN116069439A (zh) * | 2021-11-02 | 2023-05-05 | 华为技术有限公司 | 数据处理方法、设备、系统及装置 |
CN116756063B (zh) * | 2023-08-16 | 2023-12-15 | 深圳砺驰半导体科技有限公司 | 数据传输电路、方法及系统级芯片 |
CN117312199B (zh) * | 2023-11-30 | 2024-03-08 | 杭州海康威视数字技术股份有限公司 | 多端口访问仲裁方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089975A (zh) * | 2006-06-14 | 2007-12-19 | 株式会社日立制作所 | 记录方法和光盘记录装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136020A (zh) * | 2006-08-31 | 2008-03-05 | 国际商业机器公司 | 自动扩展参考数据的系统和方法 |
-
2012
- 2012-06-21 CN CN201210208115.0A patent/CN102750257B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089975A (zh) * | 2006-06-14 | 2007-12-19 | 株式会社日立制作所 | 记录方法和光盘记录装置 |
Non-Patent Citations (4)
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)》.2010,第324-326页. |
The application and optimization of SDRAM controller in multicore multithreaded SoC;Pei-Jun Ma et al.;《2010 10th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT)》;20101104;第324-326页 * |
基于SOC的对象存储控制器的设计与实现;郭御风 等;《计算机科学》;20101231;第37卷(第12期);第283-186页 * |
郭御风 等.基于SOC的对象存储控制器的设计与实现.《计算机科学》.2010,第37卷(第12期),第283-286页. |
Also Published As
Publication number | Publication date |
---|---|
CN102750257A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750257B (zh) | 基于访问信息调度的片上多核共享存储控制器 | |
CN103198856B (zh) | 一种ddr控制器及请求调度方法 | |
US9032162B1 (en) | Systems and methods for providing memory controllers with memory access request merging capabilities | |
KR101527308B1 (ko) | 메모리 인터페이스 | |
CN101344870B (zh) | 一种复用性强的fifo控制模块及其管理内存的方法 | |
CN103543954A (zh) | 一种数据存储管理方法和装置 | |
EP1922627B1 (en) | Delayed memory access request arbitration | |
CN106095604A (zh) | 一种多核处理器的核间通信方法及装置 | |
CN103279309A (zh) | 基于fpga的ddr控制装置及方法 | |
CN107562369A (zh) | 存储器控制器、存储缓冲器芯片和存储系统 | |
CN113641603A (zh) | 一种基于axi协议的ddr仲裁与调度方法及系统 | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN103064791A (zh) | 用于短数据突发长度存储器设备的有效命令映射方案 | |
CN102236623A (zh) | 信号控制设备和信号控制方法 | |
US10157123B1 (en) | Methods and apparatus for a scheduler for memory access | |
EP2899644A1 (en) | Device and method for inter-core communication in multi-core processor | |
US9620215B2 (en) | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode | |
CN102236622A (zh) | 提高动态存储器带宽利用率的动态存储器控制器及方法 | |
US20070101032A1 (en) | Bus arbitration circuit and bus arbitration method | |
CN112749106A (zh) | 一种基于fpga的中断管理方法 | |
CN103020535A (zh) | 一种带比较功能的数据加解密系统 | |
US20060123187A1 (en) | Memory controller to utilize DRAM write buffers | |
CN106814973B (zh) | 存储器的割包控制器、存储器及存储器的割包控制方法 | |
CN101667448B (zh) | 存储器存取控制装置及其相关控制方法 | |
CN109299033A (zh) | 一种处理器接口装置以及处理器数据处理方法 |
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 |