存储器控制电路、芯片及计算装置的制作方法

文档序号:33006963发布日期:2023-01-18 05:09阅读:44来源:国知局
存储器控制电路、芯片及计算装置的制作方法

1.本公开涉及计算机技术领域,尤其是一种存储器控制电路、芯片及计算装置。


背景技术:

2.存储器是计算机系统中的记忆设备,用来存放程序和数据。存储器是计算机系统或者专用集成电路可以频繁使用的基础,通过对存储器的读取与写入,各种电路才能实现设计者预设的功能。比如在神经网络的专用集成电路中,存储器就负担了权重等参数的存储任务,能够正确且快速的读取存储器中的参数是实现各种复杂运算的前提。可以说,绝大多数的应用场景下的电路使用都需要存储器的介入。
3.传统的存储器的静态功耗占据整体功耗比例正在越发增大。而基于阻变的存储器是新兴存储器的一种,其使用高阻态与低阻态存储数据。与传统的晶体管存储器相比,基于阻变的存储器具有掉电不掉数据的特性,因此其可以在不使用时通过断电来降低其功耗,因此其被称为非易失存储器。而与传统非易失存储器,如闪存相比,基于阻变的存储器能够做到更小的尺寸。
4.在已经存在的诸如上述阻变存储器等新兴存储器的基础上,如何进一步降低功耗,提高存储器的能量效率,是目前需要重点改进的方向。


技术实现要素:

5.本公开的实施例提供了一种存储器控制电路,该电路包括:总控制器、地址解码器、数据存储器和存储块控制器,其中,数据存储器包括至少两个存储块和至少两个状态控制开关组,至少两个存储块中的存储块和至少两个状态控制开关组中的状态控制开关组一一对应,至少两个存储块中的每个存储块包括至少两个存储单元;地址解码器用于接收目标数据操作指令,并从目标数据操作指令中提取目标存储单元地址、目标块地址和操作类型码,其中,目标块地址表示目标存储单元地址指示的目标存储单元所在的目标存储块的地址;将目标块地址发送至存储块控制器;将目标存储单元地址和操作类型码发送至总控制器;存储块控制器用于根据目标块地址,将目标存储块对应的目标状态控制开关组设置为接通状态;总控制器用于根据目标存储单元地址,按照操作类型码指示的操作方式对目标存储单元进行操作。
6.在一些实施例中,总控制器还用于:响应于接收到状态控制指令,将状态控制指令发送至地址解码器,其中,状态控制指令的类型包括以下至少一项:电源开关指令、时钟开关指令;地址解码器还用于:对状态控制指令进行解码,得到状态控制指令对应的存储块的块地址;将块地址发送至总控制器;总控制器还用于:基于块地址和状态控制指令,控制块地址对应的状态控制开关组中的目标状态控制开关执行对应的状态调整操作。
7.在一些实施例中,电路还包括指令缓存器,指令缓存器用于:接收并缓存包含目标数据操作指令的数据操作指令集合,并将数据操作指令集合发送至地址解码器。
8.在一些实施例中,存储块控制器包括电源控制器和时钟控制器,状态控制开关组
包括电源开关和时钟开关;电源控制器用于根据目标块地址,将目标存储块对应的目标电源开关接通;时钟控制器用于根据目标块地址,将目标存储块对应的目标时钟开关接通。
9.在一些实施例中,电源控制器还用于:在将目标存储块对应的目标电源开关接通后,响应于当前时刻与目标电源开关的接通时刻之间的时间差大于或等于预设时长,且在时间差内未再次接收到从新的数据操作指令提取的目标块地址,将目标电源开关断开。
10.在一些实施例中,时钟控制器还用于:根据目标块地址,将目标存储块对应的目标时钟开关接通,并将除目标时钟开关以外的其他时钟开关断开。
11.在一些实施例中,地址解码器用于:获取数据操作指令集合;从数据操作指令集合中的每个数据操作指令提取块地址,得到块地址集合,并将块地址集合发送至电源控制器;将目标块地址发送至时钟控制器;电源控制器用于根据块地址集合,将至少两个存储块中的对应于块地址集合中的每个块地址的目标电源开关接通;时钟控制器用于根据目标块地址,将目标存储块对应的目标时钟开关接通。
12.在一些实施例中,总控制器还用于:在总控制器为空闲状态的情况下,响应于接收到目标存储单元地址和操作类型码,或接收到状态控制指令,将总控制器的状态调整为忙状态;在总控制器为忙状态的情况下,响应于接收到数据存储器发送的操作结束反馈信号,或接收到存储块控制器发送的控制结束反馈信号,将总控制器当前的状态调整为空闲状态。
13.根据本公开实施例的另一个方面,提供了一种芯片,该芯片包括上述存储器控制电路。
14.根据本公开实施例的另一个方面,提供了一种计算装置,该计算装置包括上述芯片。
15.本公开上述实施例提供的存储器控制电路、芯片及计算装置,通过设置总控制器、地址解码器、数据存储器和存储块控制器,由地址解码器接收目标数据操作指令,并从目标数据操作指令中提取目标存储单元地址、目标块地址和操作类型码,将目标块地址发送至存储块控制器;将目标存储单元地址和操作类型码发送至总控制器,然后由存储块控制器根据目标块地址,将目标存储块对应的目标状态控制开关组设置为接通状态,由总控制器根据目标存储单元地址对目标存储单元进行操作,从而实现了对数据存储器进行动态地分块控制,减少了在对数据存储器进行读写操作过程中,不被用来读写的存储块消耗的能量,进而提高了存储器的能量利用效率。
16.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
17.通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
18.图1是本公开一示例性实施例提供的存储器控制电路的结构示意图。
19.图2是本公开一示例性实施例提供的存储器控制电路的另一结构示意图。
20.图3是本公开一示例性实施例提供的总控制器的状态机流程图。
具体实施方式
21.下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
22.应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
23.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
24.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
25.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
26.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
27.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
28.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
29.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
30.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
31.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
32.申请概述
33.在上述背景技术描述的方案的基础上,本公开实施例重点解决的技术问题为:如何在较大数据容量的存储器中更细粒度地进行读写控制,以提升整个存储器的能量效率。
34.例如,对于支持高并发的阻变存储器来说,每次激活所有的存储阵列不仅会带来庞大的漏功耗浪费,同时其静态功耗的消耗也是不可估量的,为了短时间的高并发需求而产生如此大的资源浪费,违背了阻变存储器低功耗与非易失的初衷。
35.当诸如阻变存储器等类型的存储器用在神经网络计算场景时,存储器需要存储大量的参数。由于神经网络每层参数的参数量不同,因此相对较大的阻变存储器,在空闲状态下的静态功耗是不可避免的。此外,在对阻变存储器进行高并发地读写访问时,低阻值的阻变存储器会带来大量的漏电流,从而产生功耗浪费。
36.因此,本公开实施例提出了一种存储器控制电路,通过设置存储块控制器来动态控制存储器中的各个存储块的工作状态,减少在读写过程中空闲存储块的功耗与资源浪费,从而达到降低功耗的目的。若将该电路应用到阻变存储器上,可以在阻变存储器高存储
密度和非易失性的基础上,进一步降低阻变存储器的功耗。
37.示例性结构
38.图1是本公开一示例性实施例提供的存储器控制电路的结构示意图。该电路包含的各个组成部分可以集成到一个芯片中,也可以设置到不同的芯片或电路板中,这些芯片或电路板之间建立数据通信的链路。
39.如图1所示,该电路包括:总控制器101、地址解码器102、数据存储器103和存储块控制器104。其中,数据存储器103包括至少两个存储块和至少两个状态控制开关组,至少两个存储块中的存储块和至少两个状态控制开关组中的状态控制开关组一一对应,至少两个存储块中的每个存储块包括至少两个存储单元。
40.在本实施例中,上述数据存储器103可以用来存储各种数据,例如,当本实施例提供的电路应用在神经网络计算领域时,上述数据存储器103可以存储神经网络的参数(或称权重数据)。
41.上述数据存储器103可以为各种类型的存储器,例如ram(随机存储器)、rom(只读存储器)等。可选的,上述数据存储器103可以是阻变存储器。阻变存储器具有非易失特性,这样可以保证在没有电源供给的情况下稳定存储数据。阻变存储器还具有高密度性特性,阻变存储器相比传统的存储器拥有更高的存储密度,因此同等面积下可以存储更多的数据,还可以支持较大带宽的读写操作。由于阻变存储器本身的密度相比传统存储器更大,因此在使用阻变存储器时可以节省更多的空间来设置外围控制电路,大大降低了设计电路的难度。阻变存储器的节约占用面积的特点,可以被用来对阻变存储器阵列的控制粒度进行更精细地配置,有助于得到更细粒度的存储块的阻变存储器控制电路。
42.上述数据存储器103可以是由多个存储单元组成的存储阵列,存储阵列可以被进一步划分为多个存储块,每个存储块的大小可以根据需要设置。例如,每个存储块包括的存储单元可以呈4
×
4排列。如图1所示,数据存储器103包括n个存储块(存储块0-存储块n-1),每个存储块对应于一个状态控制开关组(包括状态控制开关组0-状态控制开关组n-1)。存储块控制器104用于控制各个状态控制开关组的状态(包括接通和断开两种状态),进而控制每个存储块的状态。
43.在本实施例中,上述地址解码器102用于接收目标数据操作指令,并从目标数据操作指令中提取目标存储单元地址、目标块地址和操作类型码。其中,目标块地址表示目标存储单元地址指示的目标存储单元所在的目标存储块的地址。
44.目标块地址可以采用各种形式的数据来表示,例如,可以采用预先定义的二进制块地址编码表示,即预先建立二进制块地址编码的每个比特位与数据存储器的每个存储块的对应关系,若某个存储块被选择为目标存储块,则可以将该存储块对应的比特位置1。如图1所示,当n为4时,若存储块0为目标存储块,则目标块地址为1000,类似的,若存储块3为目标存储块,则目标块地址为0001,若存储块2和存储块3同时为目标存储块,即存储块2和存储块3被同时激活,则目标块地址为0011。
45.目标存储单元地址可以包括行地址和列地址,行地址和列地址可以采用各种形式的数据表示,例如采用无符号二进制数表示。操作类型码用于表示利用目标数据操作指令对目标存储单元进行操作的类型,通常,操作类型码可以表示读操作或写操作。
46.地址解码器102可以进一步将目标块地址发送至存储块控制器104,以及将目标存
储单元地址和操作类型码发送至总控制器101。
47.在本实施例中,存储块控制器104用于根据目标块地址,将目标存储块对应的目标状态控制开关组设置为接通状态。当目标状态控制开关组设置为接通状态时,总控制器101可以对目标存储单元进行读或写操作。
48.目标状态控制开关组可以包括至少一个开关,这些开关可以分别连接到电源端、时钟端等接口,当开关接通时,可以为对应的目标存储块供应电源、时钟等资源。
49.在本实施例中,总控制器101用于根据目标存储单元地址,按照操作类型码指示的操作方式对目标存储单元进行操作。通常,操作类型码指示的操作方式可以为读操作或写操作。总控制器101可以将外部输入的数据写入目标存储单元,或从目标存储单元读出存储的数据。
50.本公开的上述实施例提供的电路,通过设置总控制器、地址解码器、数据存储器和存储块控制器,由地址解码器接收目标数据操作指令,并从目标数据操作指令中提取目标存储单元地址、目标块地址和操作类型码,将目标块地址发送至存储块控制器;将目标存储单元地址和操作类型码发送至总控制器,然后由存储块控制器根据目标块地址,将目标存储块对应的目标状态控制开关组设置为接通状态,由总控制器根据目标存储单元地址对目标存储单元进行操作,从而实现了对数据存储器进行动态地分块控制,减少了在对数据存储器进行读写操作过程中,不被用来读写的存储块消耗的能量,进而提高了存储器的能量利用效率。
51.在一些可选的实现方式中,总控制器101还用于:响应于接收到状态控制指令,将状态控制指令发送至地址解码器102。
52.上述状态控制指令可以是本公开实施例的存储器控制电路以外的其他电路发送的。状态控制指令可以包括块地址,用于对该块地址对应的存储块的工作状态进行调整。可选的,状态控制指令的类型可以包括以下至少一项:电源开关指令、时钟开关指令等。其中,电源开关指令用于控制对应的存储块的供电状态,时钟开关指令用于控制对应的存储块的时钟状态。
53.例如,在神经网络计算场景,上述数据存储器103用来存储网络参数。神经网络的架构级别设计时,将不同层的网络参数存储进了不同的存储块内,于是使用者在编写神经网络控制器时,可以主动将不需要访问的网络层参数对应的存储块关闭掉,这些存储块不再需要提供电源或时钟等资源,这样既可以降低功耗,又通过该指令的对外开放提升了使用数据存储器103的灵活性。
54.地址解码器102还用于:对状态控制指令进行解码,得到状态控制指令对应的存储块的块地址,并将块地址发送至总控制器101。
55.状态控制指令可以包括块地址,还可以包括指令类型码,指令类型码可以表示状态控制指令控制的对象的类型。例如,指令类型码可以表示指令类型为电源开关指令或时钟开关指令。
56.总控制器101还用于:基于块地址和状态控制指令,控制块地址对应的状态控制开关组中的目标状态控制开关执行对应的状态调整操作。
57.上述目标状态控制开关与状态控制指令的类型对应,例如,状态控制指令为电源开关指令时,目标状态控制开关为电源开关;状态控制指令为时钟开关指令时,目标状态控
制开关为时钟开关。
58.可选的,总控制器101可以将状态控制指令包含的块地址发送至存储块控制器104,由存储块控制器104控制块地址对应的上述目标状态控制开关进行调整。
59.例如,若状态控制指令为电源开关指令,总控制器101可以将块地址发送到存储块控制器104包括的电源控制器,由开关电源控制器控制块地址对应的电源开关接通或断开;若状态控制指令为时钟开关指令,总控制器101可以将块地址发送到存储块控制器104包括的时钟控制器,由时钟控制器控制块地址对应的时钟开关接通或断开。
60.本实施例通过接收外部输入的状态控制指令,可以实现对各个存储块的电源、时钟等资源进行灵活地控制,有针对性地随时对任意存储块的资源利用状态进行调整,有助于针对性地降低数据存储器的功耗。
61.在一些可选的实现方式中,如图2所示,该电路还包括指令缓存器105,指令缓存器105用于:
62.接收并缓存包含目标数据操作指令的数据操作指令集合,并将数据操作指令集合发送至地址解码器102。如图2所示,指令缓存器105中存储有数据操作指令0-数据操作指令m组成的数据操作指令集合。地址解码器102可以进一步对数据操作指令集合中的每个数据操作指令进行解码。
63.其中,目标数据操作指令可以是数据操作指令集合中任意指定的数据操作指令。通常,目标数据操作指令是数据操作指令集合中,存入指令缓存器105最早的数据操作指令,例如,图2所示的数据操作指令0即为目标数据操作指令。由此,数据操作指令集合中的各个指令可以按照时间顺序,依次由总控制器101对各指令指示的存储单元进行读写操作。在总控制器利用指令缓存器105中的数据操作指令集合进行读写操作时,数据操作指令集合可以采用先进先出的方式进行管理。如图2所示,当总控制器对数据操作指令0对应的数据存储单元进行读写操作结束后,将数据操作指令0从数据操作指令集合中移除,将数据操作指令1作为新的目标数据操作指令。若指令缓存器105接收到新的数据操作指令,则将该数据操作指令存入如图2所示的数据操作指令m的上方。
64.需要说明的是,图2所示的指令缓存器仅仅是一个示意图,其包含的数据操作指令的排列顺序表示被用来进行数据读写操作的顺序,并非实际的物理存储空间的排列顺序。
65.本实施例通过设置指令缓存器105,可以同时接收并缓存多条数据操作指令,从而地址解码器102可以对多条数据操作指令进行解码,在需要对大量数据进行读写操作的情况下,避免逐条接收数据操作指令并解码消耗的时间,并可以在总控制器101对数据存储器103进行读写操作期间,提前由存储块控制器104对多个存储块对应的状态控制开关组进行控制以提高功耗利用效率,并且有助于提高数据读写的效率。
66.在一些可选的实现方式中,如图2所示,存储块控制器104包括电源控制器1041和时钟控制器1042,状态控制开关组包括电源开关和时钟开关。作为示例,图2中的存储块0-存储块n-1分别对应于一个电源开关和时钟开关(如图中所示的电源开关0-电源开关n-1,时钟开关0-时钟开关n-1)。电源开关在电源控制器1041的控制下,可以将对应存储块包括的每个存储单元与电源端口接通或断开。时钟开关在时钟控制器1042的控制下,可以将对应存储块包括的每个存储单元与时钟端口接通或断开。
67.电源控制器1041用于根据上述目标块地址,将目标存储块对应的目标电源开关接
通。
68.时钟控制器1042用于根据所示目标块地址,将目标存储块对应的目标时钟开关接通。
69.在本实施例中,由于目标块地址包含在目标数据操作指令中,因此,目标块地址对应的目标存储块待用来进行读写操作,因此,电源控制器1041和时钟控制器1042根据目标块地址将目标电源开关和目标时钟开关接通以支持目标存储块的读写操作。若电源控制器1041接收到一个或多个块地址,即可将接收的块地址对应的电源开关接通。若时钟控制器1042接收到一个或多个块地址,即可将接收的块地址对应的时钟开关接通。
70.可选的,电源控制器1041和时钟控制器1042还可以分别单独接收电源开关指令和时钟开关指令。电源开关指令可以包括块地址和表示将电源开关接通或断开的编码,从而根据该编码对块地址对应的电源开关接通或断开。类似的,时钟开关指令可以包括块地址和表示将时钟开关接通或断开的编码,从而根据该编码对块地址对应的时钟开关接通或断开。
71.本实施例通过设置电源控制器1041和时钟控制器1042,以及设置各个存储块对应的电源开关和时钟开关,可以针对性地对数据存储器103中的各个存储块的电源和时钟资源进行分配与供给,进而提高了电源和时钟资源的利用效率,降低了功耗。
72.在一些可选的实现方式中,电源控制器1041还用于:
73.在将目标存储块对应的目标电源开关接通后,响应于当前时刻与目标电源开关的接通时刻之间的时间差大于或等于预设时长,且在时间差内未再次接收到从新的数据操作指令提取的目标块地址,将目标电源开关断开。
74.作为示例,可以通过设置时钟周期数l来设置上述预设时长,若在将目标电源开关接通后,经过l个时钟周期,未再次接收到上述目标块地址,即经过l个时钟周期后,仍未对目标存储块进行读写操作,可以将目标电源开关断开。
75.本实施例通过设置预设时长,实现了将目标电源开关接通后,若一段时间未对目标存储块进行读写操作,自动断开电源与目标存储块的连接,从而达到降低功耗的目的。
76.可选的,电源控制器1041还可以在接收到上述目标块地址的同时,将目标存储块对应的目标电源开关接通,并将除目标电源开关以外的其他电源开关断开。从而在连续、依次根据多条数据操作指令对数据存储器103进行读写操作时,将不进行数据读写的存储块的电源及时断开,进一步降低功耗。
77.在一些可选的实现方式中,时钟控制器1042还用于:
78.根据目标块地址,将目标存储块对应的目标时钟开关接通,并将除目标时钟开关以外的其他时钟开关断开。
79.在本实施例中,时钟控制器1042在接收到目标块地址后,将目标时钟开关接通的同时,将其他时钟开关断开。
80.本实施例实现了在连续、依次根据多条数据操作指令对数据存储器103进行读写操作时,将不进行数据读写的存储块的时钟及时断开,进一步降低功耗。
81.可选的,在将目标存储块对应的目标时钟开关接通后,响应于当前时刻与目标时钟开关的接通时刻之间的时间差大于或等于预设时长,且在时间差内未再次接收到从新的数据操作指令提取的目标块地址,将目标时钟开关断开。从而通过设置预设时长,实现了将
目标时钟开关接通后,若一段时间未对目标存储块进行读写操作,自动断开时钟与目标存储块的连接,从而达到降低功耗的目的。
82.在一些可选的实现方式中,地址解码器102用于:
83.获取数据操作指令集合;从数据操作指令集合中的每个数据操作指令提取块地址,得到块地址集合,并将块地址集合发送至电源控制器1041;将目标块地址发送至时钟控制器1042。
84.可选的,地址解码器102可以从如图2所示的指令缓存器105中获取数据操作指令集合,也可以接收外部电路发送的数据操作指令集合。需要说明的是,这里的数据操作指令集合中的数据操作指令可以是依次发送到地址解码器102中的,地址解码器102依次对数据操作指令进行解码,提取得到上述地址集合。地址集合中的每个地址也可以是依次发送给电源控制器1041的。
85.电源控制器1041用于根据块地址集合,将至少两个存储块中的对应于块地址集合中的每个块地址的目标电源开关接通。
86.时钟控制器1042用于根据目标块地址,将目标存储块对应的目标时钟开关接通。
87.具体的,由于电源开关执行开关动作时消耗的时间比较长,而时钟开关执行开关动作相对较迅速,因此,本实施例实现了将尚未进行读写操作的存储块的电源开关提前接通,从而达到节约开关时间的目的。由于时钟开关执行的动作较快,因此,可以在基于每个数据操作指令执行读写操作的同时,直接同时控制时钟开关即可。
88.本实施例通过批量接通多个存储块的电源开关,并单独接通目标存储块的时钟开关,有效利用了电源开关和时钟开关的特点,在降低数据存储器103的功耗的基础上,进一步提高了数据存储器103的数据读写效率。
89.在一些可选的实现方式中,总控制器101还用于:
90.在总控制器101为空闲状态的情况下,响应于接收到目标存储单元地址和操作类型码,或接收到状态控制指令,将总控制器101的状态调整为忙状态;
91.在总控制器101为忙状态的情况下,响应于接收到数据存储器103发送的操作结束反馈信号,或接收到存储块控制器104发送的控制结束反馈信号,将总控制器101当前的状态调整为空闲状态。
92.作为示例,可以用数字“1”表示空闲状态,用数字“0”表示忙状态。在空闲状态下,若接收到上述目标数据操作指令包括的目标存储单元地址和操作类型码,则总控制器101将当前状态调整为忙状态,忙状态可以根据当前所进行的操作的类型,分为读态、写态、时钟开关态、电源开关态、等待态。若总控制器101将当前状态调整为忙状态,可以向上述地址解码器102、存储块控制器104(包括时钟控制器1042和电源控制器1041)发送表示忙状态的数字“0”。在忙状态下,若接收到操作结束反馈信号或控制结束反馈信号,表示对数据缓存器的读写操作结束或对状态控制开关(包括电源开关指令和时钟开关指令)的控制操作结束,此时可以处理下一条数据操作指令或状态控制指令。
93.如图3所示,其示出了本实施例提供的一个总控制器101的状态机流程图。具体地,图3所示的状态机包括六种状态,分别为:
94.空闲态,此时总控制器101可以对外输出空闲态信号(例如用数字1表示),表示能接收指令输入。
95.读态,在空闲态若接收到读指令,则进入读态。在读态时,总控制器101向外输出忙状态信号(例如用数字0表示),并且开始从数据存储器103读取数据。具体为,将对应行地址、列地址、块地址对应的存储单元激活,并从数据存储器103输出端读出对应值,由于读操作需要一定时间,因此在读操作开始后,进入等待态。
96.写态,在空闲态若接收到写指令,则进入写态。在写态时,总控制器101向外输出忙状态信号,并且开始向数据存储器103写入数据。具体为,将对应行地址、列地址、块地址对应的存储单元激活,并向数据存储器103的输入端提供待写入数值,由于写过程需要一定时间,因此在写操作开始后,进入等待态。
97.时钟开关态,在空闲态若接收到时钟开关指令则进入时钟开关态。在时钟开关态,总控制器101向外输出忙状态信号,并且发送对应块地址与时钟开关指令至时钟控制器1042,控制对应的时钟开关。例如,若块地址用上述二进制块地址编码表示时,将值为“1”的比特位对应的存储块的时钟关断,将值为“0”的比特位对应的存储块的时钟接通。由于时钟开关过程需要一定时间,因此发送出对应块地址后,进入等待态。
98.电源开关态,在空闲态若接受到电源开关指令则进入电源开关态。在电源开关态,总控制器101向外输出忙状态信号,并且发送对应块地址与电源开关指令至电源控制器1041,控制对应的电源开关。例如,若块地址用上述二进制块地址编码表示时,将值为“1”的比特位对应的存储块的电源关断,将值为“0”的比特位对应的存储块的电源接通。由于电源开关过程需要一定时间,因此发送出对应块地址后,进入等待态。
99.等待态,在总控制器101接收任意的指令后均会进入等待态。之后会等待指令完成,若从电源控制器1041、时钟控制器1042或者数据存储器103中收到指令完成的反馈信号,此刻即表示整个指令完成,状态跳转至空闲态等待下一次指令。
100.本实施例通过设置控制器的状态为忙状态或闲状态,可以有助于根据各条指令有序地对数据存储器103和存储块控制器104进行操作,并且还可以在此基础上通过设置状态机实现总控制器101对数据存储器103的控制,有助于提高对数据存储器103和存储块控制器104的操作效率。
101.本公开的实施例还提供了一种芯片,芯片上集成了存储器控制电路,存储器控制电路的技术细节如图1-图3和相关描述所示,此处不再展开描述。
102.本公开的实施例还提供了一种计算装置,该计算装置包括上述实施例描述的芯片。此外,该计算装置还可以包括输入装置、输出装置以及必要的存储器(该存储器可以与上述数据存储器103相同或不同)等。其中,输入装置可以包括诸如鼠标、键盘、触控屏、通信网络连接器等,用于输入数据操作指令等。输出装置可以包括诸如显示器、打印机、以及通信网络及其所连接的远程输出设备等等,用于输出从数据存储器读取的数据等。存储器用于存储上述输入装置输入的数据,以及存储器控制电路运行过程中产生的数据。存储器可以包括易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。
103.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作
用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
104.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。
105.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
106.可能以许多方式来实现本公开的电路。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的电路。用于电路中的方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的电路的功能的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的电路的功能的程序的记录介质。
107.还需要指出的是,在本公开的电路中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
108.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
109.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1