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

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

【技术实现步骤摘要】

本专利技术微电子
,涉及数据存储控制,特别是一种片上多核共享存储控制器,该存储控制器可用于处理片上多核处理器对存储器的访问,通过访问信息调度,控制片上多核处理器对存储器访问信息的执行次序以加快访问信息执行速度满足多核处理器对存储器频繁访问的请求。
技术介绍
处理器系统中,多个处理器可以通过命令总线向片外存储器发送指令,访问存储器。这些指令通常存储在存储控制器中,存储控制器通过指令译码,得到访问信息。现在,很多处理器都被集成在单个芯片上,称之为片上系统S0C,这样的多个处理器也称作为片上多核处理器。片上多核处理器通过命令总线向片外存储器发送多条指令,即发送多个存 储器访问请求。传统的片上多核共享存储控制器结构示意图如图I所示,片上多核处理器100通过命令总线向片外存储器120发送指令,由存储控制器128控制执行这些指令,当存储控制器128接收到指令后,把这些指令存储到指令队列102中;仲裁模块104基于一定的仲裁算法从指令队列中读取出指令,指令读取出后输入到指令译码和地址产生模块106中,译码出指令的信息,该指令的信息包括指令所要访问的存储器地址,指令的类型,传输数据的个数,处理器的编号,以及处理器内部存储数据的地址。译码出来的指令信息,送给存储接口模块108,由存储接口模块108发送地址和命令给片外存储器120,片外存储器120接收到地址和命令后,开始对存储器进行正式的访问,进行行选通,经历行选通时间后,进行列选择。列选后如果是读指令,需要经历一段读潜伏期的时间后,数据开始进行传输,即数据由片外存储器120发送到数据通路模块110,片上多核处理器100接收数据通路模块110的数据。如果是写指令,需要经历I个周期后,数据开始进行传输,即数据由片上多核处理器100发送到数据通路模块110,片外存储器120从数据通路模块110接收数据,数据传输完成后再经历写回时间。数据传输完成之后,本条指令执行完成,接着进行预充电,预充电完成之后给仲裁模块104 —个仲裁信号,读取出下一条指令。上述传统的片上多核共享存储控制器执行指令时,由于前一条指令执行完成之后,不管后一条指令和前一条指令所访问的存储器是相同存储块的相同行,还是不同存储块,接下来的操作都是预充电,经历预充电时间后,读取出后一条指令,再执行该条指令,依次经历行选、行选通时间和列选,因而指令执行的时间很长,这对于片上多核处理器频繁访问存储器而言,会造成很大的访问延迟。
技术实现思路
本专利技术的目的在于针对上述现有技术的缺陷,提出了一种基于访问信息调度的片上多核共享存储控制器,以减少指令执行的时间,满足片上多核处理器对存储器的频繁访问。本专利技术的技术方案是这样实现的一、技术原理对于前后两条指令而言,在一条指令执行完成之后,接下来的操作取决于后一条指令地址,指令地址分为以下三种情况当后一条指令地址和前一条指令地址指向的是不同存储块时,进行后一条指令的行选;当后一条指令地址和前一条指令地址指向的是相同存储块的不同行时,进行预充电操作,然后进行后一条指令的行选; 当后一条指令地址和前一条指令地址指向的是相同存储块的相同行时,进行后一条指令的列选。上述三种情况中,当后一条指令地址和前一条指令地址指向的是相同存储块的相同行时,通过进行后一条指令的行选,可以节省前一条指令的预充电和后一条指令的行选时间。对于该种情况而言,其指令执行时间最短。基于上述原理,对于片上多核处理器频繁访问片外存储器而言,为了减少指令的执行时间,后一条指令可以在前一条指令还未执行完之前仲裁出来,仲裁出该指令后进行译码,译码得到访问信息。通过对该访问信息的调度,优先执行相同存储块相同行的指令,该指令地址和前一条指令地址指向的是相同存储块的相同行,这样就可以减少指令的执行时间,缩短对存储器的访问延迟。二、技术方案I、本专利技术的基于访问信息调度的片上多核共享存储控制器,包括指令存储模块,用于存放片上多核处理器发出的访存指令,并在指令提取信号的作用下,提取出该访存指令,输入到指令译码和地址产生模块中,该访存指令包括指令类型、地址信息和对应于片上多核处理器的信息;指令译码和地址产生模块,用于对指令进行译码,得到访问信息,该访问信息包括访问存储器地址、指令类型、传输数据的个数、处理器编号和处理器内部存储数据的地址;访问信息输入到访问信息暂存模块,访问信息中的访问存储器地址输入到访问信息调度模块; 访问信息调度模块,用于对访问存储器地址和当前执行的指令地址进行比较,得到两者的地址关系,并将该地址关系输出到访问信息暂存模块中;在输出地址关系的同时,给指令存储模块发送一个指令提取信号,提取下一条指令;其中,当前执行的指令地址,是指访问信息仲裁模块从不同访问信息存储队列中读取出来的访问信息中的地址;访问信息暂存模块,用于存储指令译码和地址产生模块译码输出的访问信息,并根据访问信息调度模块输出过来的地址关系,把其存储的访问信息存储到不同访问信息存储队列中,即当地址关系为不同存储块时,则访问信息暂存模块把访问信息输入到不同存储块访问信息中;当地址关系为相同存储块相同行时,则访问信息暂存模块把访问信息输入到相同存储块相同行访问信息中;当地址关系为相同存储块不同行时,则访问信息暂存模块把访问信息输入到相同存储块不同行访问信息中;不同访问信息存储队列,用于存储三种不同类型访问信息,分别为不同存储块访问信息、相同存储块相同行访问信息、以及相同存储块不同行访问信息;这三种不同类型访问信息拥有的优先级不同,相同存储块相同行访问信息优先级最高,其次是不同存储块访问信息,相同存储块不同行访问信息拥有最低的优先级;访问信息仲裁模块,用于根据不同访问信息存储队列中的三种不同类型访问信息拥有优先级的不同,从不同访问信息存储队列中读取出访问信息;读取出来的访问信息,输入给推拉模块,同时,该访问信息中的地址分别输入到访问信息调度模块和存储接口模块;推拉模块,用于接 收来自访问信息仲裁模块读取出来的访问信息,并控制片外存储器和片上多核处理器之间的数据传输;存储接口模块,用于发送地址和命令给片外存储器,并将数据通路模块中的数据传输到片外存储器,或者将片外存储器读出的数据写入到数据通路模块;数据通路模块,用于接收片外存储器读出的数据和片上处理器发来的数据,并负责匹配片外存储器和片上多核处理器之间数据传输的时序要求;上述存储控制器,其特征在于上述指令类型,包括读指令和写指令。上述地址信息,是指访问存储器地址,它包括行地址、列地址和存储块地址。上述对应于处理器的信息,是指传输数据的个数、处理器编号和处理器内部存储数据的地址。上述片外存储器为双倍速率同步动态随机存储器或者第二代双倍速率同步动态随机存储器。上述存储控制器,其特征在于,所述的访问信息调度模块,包括访问存储器地址存储子模块用于存储由指令译码和地址产生模块输出的访问存储器地址,并把该地址输入到地址比较子模块;比较子模块用于比较访问存储器地址和当前执行的指令地址,得到地址关系,并把该地址关系输入到地址关系寄存器;当前执行的指令地址存储子模块用于存储当前执行的指令地址,并把该地址输入到地址比较子模块;地址关系寄存器用于存储地址比较子模块输出过来的地址关系,并把该地址关系输出到访问信息暂存模块;指令本文档来自技高网
...

【技术保护点】
一种基于访问信息调度的片上多核共享存储控制器,包括:指令存储模块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之间数据传输的时序要求。...

【技术特征摘要】

【专利技术属性】
技术研发人员:马佩军邹辉辉史江一赵伟峰董伟李康郝跃
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1