CN119149458A - 一种指令存储器和电子设备 - Google Patents
一种指令存储器和电子设备 Download PDFInfo
- Publication number
- CN119149458A CN119149458A CN202411304717.5A CN202411304717A CN119149458A CN 119149458 A CN119149458 A CN 119149458A CN 202411304717 A CN202411304717 A CN 202411304717A CN 119149458 A CN119149458 A CN 119149458A
- Authority
- CN
- China
- Prior art keywords
- instruction
- read
- interface
- controller
- address
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 claims abstract description 9
- 239000000872 buffer Substances 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本申请涉及一种指令存储器和电子设备,所述指令存储器为多存储体存储器,包括n个存储体、控制器和总线模块,n个存储体均与控制器连接,总线模块与控制器连接,总线模块还与m个处理器核连接;n和m为预设的值;总线模块,用于当其接收到任意一个处理器核的读命令时,将读命令发送给控制器,并接收控制器返回的指令,将控制器返回的指令通过对应的核接口发送给对应的处理器核;控制器,用于根据读命令从对应的存储体读取指令,并将读取的指令返回给总线模块。所述电子设备包括所述指令存储器,所述方法基于所述指令存储器实现,通过本申请,能够减少指令存储器的芯片面积和功耗消耗。
Description
技术领域
本申请涉及集成电路技术领域,具体涉及一种指令存储器和电子设备。
背景技术
指令存储器是用于存储处理器(CPU)要执行的指令,为了提升报文处理性能,处理器通常会设置多个处理器核(CPU核)进行负载分担,同时多个处理器核运行相同的报文处理程序,以提升PPS(中文全称为:每秒钟处理的报文数量,英文全称为:Packet PerSecond),例如32核、64核、96核等,每个处理器核都设置了专属的指令存储器,每个处理器核运行时都固定从各自专属的指令存储器中取指令进行执行。这些指令存储器一般会使用芯片中的片上SRAM(中文全称为:静态随机存取存储器,英文全称为:Static Random-Access Memory)实现,由于每个处理器核都设置一个专属的指令存储器,会增大指令存储器的芯片面积和功耗消耗,特别是处理器核的数量比较多的情况,芯片面积和功耗消耗的增大比较明显。
发明内容
本申请的目的在于提供一种指令存储器和电子设备,解决每个处理器核都设置一个专属的指令存储器,会增大指令存储器的芯片面积和功耗消耗的技术问题。
根据本申请第一方面,提供一种指令存储器,所述指令存储器为多存储体存储器,包括n个存储体、控制器和总线模块,所述n个存储体均与所述控制器连接,所述总线模块与所述控制器连接,所述总线模块还与m个处理器核连接;n和m为预设的值;
所述总线模块,用于将所述读命令发送给所述控制器,并接收所述控制器返回的指令,将所述控制器返回的指令通过对应的核接口发送给对应的处理器核;
所述控制器,用于根据所述读命令从对应的存储体读取指令,并将读取的指令返回给总线模块。
在一具体实施方式中,所述总线模块包括控制器接口和m个核接口,所述总线通过所述控制器接口与所述控制器连接,所述总线通过所述m个核接口分别与所述m个处理器核连接,所述m个核接口与所述m个处理器核一一对应;所述读命令携带有接口id和读地址;
所述控制器,具体用于解析所述读命令得到接口id和读地址,根据所述读地址从对应的存储体读取指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块;
所述总线模块,具体用于根据所述读地址将所述读命令发送给所述控制器,以及,对所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核。
在一具体实施方式中,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述控制器接口包括n个控制单元接口,所述总线通过所述n个控制单元接口分别与所述n个控制单元连接,所述n个控制单元接口与所述n个控制单元一一对应;
所述控制单元,用于当其接收到所述读命令时,解析所述读命令得到接口id和读地址,根据所述读地址从与其对应的存储体读取指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块;
所述总线模块,具体用于根据所述读地址将所述读命令发送给对应的控制单元,以及,对所述对应的控制单元返回的所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核。
在一具体实施方式中,所述总线模块,具体用于同一时钟周期接收到多个处理器核的读指令,且所述多个处理器核的读指令请求访问同一个存储体时,采用轮询调度策略处理所述多个处理器核的读指令。
在一具体实施方式中,所述指令存储器包括写接口,所述控制器均与所述写接口连接;
所述写接口,用于接收写命令,并将所述写命令发送给所述控制器;
所述控制器,还用于根据所述写命令获得待写指令和写地址,并根据所述写地址将所述待写指令写入对应的存储体。
在一具体实施方式中,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述读命令携带有接口id和读地址;
所述写接口,用于接收写命令,解析所述写命令得到写地址和待写指令,根据所述写地址将所述写地址和待写指令发送给对应的控制单元;
所述控制单元,用于当其接收到所述写地址和待写指令时,根据所述写地址将所述待写指令写入与其对应的存储体。
在一具体实施方式中,所述总线模块为交叉开关矩阵。
在一具体实施方式中,所述指令存储器用于存储二进制执行程序,所述二进制执行程序按执行顺序依次划分多段程序,所述多段程序均分到所述n个存储体进行存储,每段程序包括至少一条指令,每个存储体的一个深度地址的存储空间存储一段程序。
根据本申请第二方面,提供一种电子设备,包括网络处理器和如上所述的指令存储器,所述网络处理器包括所述m个处理器核。
在一具体实施方式中,所述网络处理器还包括n个读指令缓存器,所述n个读指令缓存器与所述m个处理器核一一对应;
所述读指令缓存器,用于暂时存放与其对应的CPU核的预取指。
本申请实施例提供了一种指令存储器和电子设备,m个处理器核共享一个指令存储器,其中,该一个指令存储器划分为n个存储体(bank),即由n个存储体拼接形成一个指令存储器,n个存储体均存储有指令,在访问指令存储器时,m个处理器核将读指令发送给总线模块,总线模块将读指令发给控制器,控制器根据读指令从对应的存储体中读取相应的指令,并通过总线模块将读取的指令发送给对应的处理器核,n个存储体都可以响应m个处理器核的读访问,因此有利于指令存储器的带宽跑满,相对于为每一个处理器核设置一个专属的指令存储器而言,减少了指令存储器的数量,有利于减少芯片面积和功耗消耗,将使指令存储器所占用的芯片面积减小到原有的1/m,节约了用户成本。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请的一个实施例中一种指令存储器的示意图。
图2为图1的指令存储器中存储体的指令存放的示意图。
图3为本申请的另一个实施例中一种指令存储器的示意图。
图4为本申请的一个实施例中一种电子设备的示意图。
具体实施方式
附图的详细说明意在作为本申请的一些实施例的说明,而非意在代表本申请能够得以实现的仅有形式。应理解的是,相同或等同的功能可以由意在包含于本申请的精神和范围之内的不同实施例完成。
本申请的一个实施例提供一种指令存储器,本实施例的指令存储器为多存储体存储器(多bank存储器),包括n个存储体(bank)、控制器、总线模块,所述n个存储体均与所述控制器连接,所述总线模块与所述控制器连接,所述总线模块还与网络处理器的m个处理器核(CPU Core)连接;n和m为预设的值。
图1所示为本申请的指令存储器的具体例子,图1所示的指令存储器的内部划分为4个存储体,即n等于4,m等于8,4个存储体分别定义为bank0、bank1、bank2和bank3,每个存储体为一个较小位宽的SRAM,拼接形成一个较大位宽的指令存储器,假设指令存储器总共可以提供存储指令的空间为8K指令(地址空间32KB=32*1024B=32*1024*8bit),则每个存储体存放1/4的指令空间即2K指令(地址空间为8KB),8K指令的32KB地址空间0x0-0x7FFF在4个bank中的存放顺序如图2所示;在图2中,4个存储体中横向存放,每个存储体的位宽为256bit,假设每条指令为4Byte(1Byte=8bit),则每个存储体的每个地址单元(存储体的一行为一个地址单元,存储体的行数表示存储体的深度,存储体的列数表示一个地址单元的位宽,即一个地址单元包括多少个bit)可以存放8条指令,按指令的执行顺序对指令存放入对应的存储体的对应地址单元,在存放指令时,是一行一行进行存放的,先将4个存储体的当前行存满,再进行4个存储体的下一行存放,例如,指令0-7存放在bank0的地址0,则指令8-15存放在bank1,指令16-23存放在bank2的地址0,指令24-31存放在bank3,指令32-39存放在bank0的地址1,指令40-47存放在bank0的地址2,指令48-55存放在bank0的地址3,指令56-63存放在bank0的地址4,指令64-71存放在bank0的地址0,以此类推,这样最终整个8K指令,32KB指令地址空间在4个存储体中的分别如下:
Bank0中包含的指令地址为:[i*0x80+0x0,i*0x80+0x1F],Bank1中包含的指令地址为:[i*0x80+0x20,i*0x80+0x3F],Bank2中包含的指令地址为:
[i*0x80+0x40,i*0x80+0x5F],Bank3中包含的指令地址为:[i*0x80+0x60,i*0x80+0x7F],i=0~255。
所述总线模块,用于当其接收到任意一个处理器核的读命令时,将所述读命令发送给所述控制器,并接收所述控制器返回的指令,将所述控制器返回的指令通过对应的核接口发送给对应的处理器核;具体而言,任意一个处理器核在执行程序过程中需要读取某个指令(例如指令a)时,通过与其对应连接的一个核接口向所述总线模块发送一条读命令,该读命令至少包含读取所述某个指令(例如指令a)的相关信息(例如存储指令a的地址信息);示例性地,通过对所述读命令进行解析可以确定要读取的哪一个存储体的哪个地址单元的指令;
所述控制器,用于根据所述读命令从对应的存储体读取指令,并将读取的指令返回给总线模块;具体而言,存储体在响应读访问输出数据时,是以一个地址单元的位宽为单元进行输出数据的,在图1~2的例子中,一条读命令访问读取一个存储体的一个地址单元的8条指令,这样4个存储体共可以提供最大8*4*Freq/s的指令读取性能,其中,Freq为指令存储器和处理器核的工作时钟频率,假设每个处理器核的IPC=1(每时钟周期执行的指令数),则每个处理器核全速运行需要的指令读取带宽为Freq/s,这样8个处理器核全速运行所需总的指令读取带宽为8*Freq/s,则包含4个存储体的多bank指令存储器提供的指令读取带宽有4倍的加速比。处理器核在接收到总线模块返回的8条指令后,首先执行请求访问的一条指令,然后顺序执行其他指令,例如请求访问的一条指令为指令5,处理器核在接收到总线模块返回的8条指令为指令0~7,则先执行指令5,然后继续执行指令6~7,至于指令0~4则不执行,如果指令6发生跳转到指令9,则需要访问指令存储器的bank1读取指令9,而不执行指令7。
需说明的是,指令存储器采用n个存储体的设计,同时每个地址存放k条指令,每个指令周期指令存储器可以提供最大n*k条指令的读取能力,对于m个处理器核每个时钟周期最大需要读取m条指令,这样指令存储器可以提供n*k/m倍的加速比。这保证了在多个核取指冲突到一个bank,以及在每个bank每个周期读回的指令有无效指令的情况下,即有带宽损耗的情况下,依然可以满足多个核满负荷运行时对指令带宽的需求从而保证m个处理器核能全速运行。
基于以上实施例的描述可知,相对于为每一个处理器核设置一个专属的指令存储器而言,减少了指令存储器的数量,有利于减少芯片面积和功耗消耗,将使指令存储器所占用的芯片面积减小到原有的1/m,节约了用户成本;而且,如果为每一个处理器核设置一个专属的指令存储器,由于单个处理器核在处理网络业务时由于IO访问或者取包送包都会有一些等待周期,因此,并不能把专属的指令存储器的带宽跑满,从单个指令存储器来看读取带宽并不能充分利用,而本实施例在一个时钟周期内,指令存储器最大可以支持n个处理器核同时访问,即n个处理器在同一时钟周期分别访问n个存储体,同时,每个存储体可以被m个处理器核访问,即m个处理器共享n个存储体,因此,假设某个处理器核在处理网络业务时处于等待周期,但此时存储体不会因为该某个处理器处于等待周期而停止工作,因为其他处理器核也会访问存储体,有利于指令存储器的带宽跑满。
在一些实施例中,所述总线模块包括控制器接口和m个核接口,所述总线通过所述控制器接口与所述控制器连接,所述总线通过所述m个核接口分别与所述m个处理器核连接,所述m个核接口与所述m个处理器核一一对应;所述读命令携带有接口id和读地址,所述接口id用于指示是哪一个处理器核发起的访问,后续可以根据所述接口id将读取的指令返回给发起访问的对应处理器核,所述读地址用于指示要从哪一个存储体的哪一个地址单元读取指令数据。
所述控制器,具体用于解析所述读命令得到所述接口id和读地址,根据所述读地址从对应的存储体读取存储体的一个地址单元的指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块;具体而言,存储体为SRAM,所述控制器根据所述读地址从对应的存储体读取存储体的一个地址单元的指令时,具体根据所述读命令生成SRAM读访问命令,将所述SRAM读访问命令发送给对应的存储体,存储体响应所述SRAM读访问命令,输出与所述读地址对应的一个地址单元的指令给所述控制器;进一步地,为了总线模块能够将指令返回给发起访问的处理器核,所述控制器将读取的指令和所述接口id生成读数据后返回给总线模块。
所述总线模块,具体用于根据所述读地址将所述读命令发送给所述控制器,以及,对所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核。
在一些实施例中,如图3所示,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述控制器接口包括n个控制单元接口,所述总线通过所述n个控制单元接口分别与所述n个控制单元连接,所述n个控制单元接口与所述n个控制单元一一对应;
所述控制单元,用于当其接收到所述读命令时,解析所述读命令得到接口id和读地址,根据所述读地址从与其对应的存储体读取指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块。
所述总线模块,具体用于根据所述读地址将所述读命令发送给对应的控制单元,以及,对所述对应的控制单元返回的所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核;具体而言,所述总线模块根据所述读地址确定要从哪一个存储体中读取目标指令,例如要从bank0读取指令a,则将所述读命令发送给与bank0对应的控制单元。
在一些实施例中,所述总线模块,具体用于同一时钟周期接收到多个处理器核的读指令,且所述多个处理器核的读指令请求访问同一个存储体时,采用轮询调度(RoundRobin Scheduling)策略处理所述多个处理器核的读指令。
具体而言,本实施例中的所述轮询调度策略指的是按照设定的合理顺序平等地选择同一时钟周期接收到多个处理器核的读指令进行处理,让多个处理器核的读指令的进程轮流读取指令。
在一些实施例中,所述指令存储器包括写接口,所述控制器均与所述写接口连接;
所述写接口,用于接收写命令,并将所述写命令发送给所述控制器;
所述控制器,还用于根据所述写命令获得待写指令和写地址,并根据所述写地址将所述待写指令写入对应的存储体。
在一些实施例中,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述读命令携带有接口id和读地址;
所述写接口,用于接收写命令,解析所述写命令得到写地址和待写指令,根据所述写地址将所述写地址和待写指令发送给对应的控制单元;
所述控制单元,用于当其接收到所述写地址和待写指令时,根据所述写地址将所述待写指令写入与其对应的存储体。
具体而言,采用本实施例的指令存储器共享方案后,m个处理器核可以只用下发一份程序,从而减少启动时控制平面的初始化操作,减小系统启动时间,使芯片快速进入工作状态。
在一些实施例中,所述总线模块为交叉开关矩阵(Cross-Bar/XBAR),例如采用AXI(Advanced eXtensible Interface)总线,AXI总线是一种面向高性能、高带宽、低延迟的片内总线;
具体而言,所述核接口支持outstanding操作,outstanding操作是指处理器核在前一个操作还没有完成的时候,发出下一个操作或下几个操作。
所述总线模块还可以通过处理器核提供的访问地址的转换处理,使每个存储体中分散的地址段,变成了一整段连续地址空间,这样便于借助于标准的AXI总线组件来实现多处理器核的访问。例如图1~2所示的例子,由于每个存储体的指令地址空间是以0x20(32bit)为粒度,为一段非连续的空间,为使在AXI-XBAR上看到的每个控制单元接口的地址空间连续,以便于根据地址空间决定访问到哪个控制单元接口,从处理器核发过来的读地址
cpu_fetch_inst_addr[14:0](0x0-0x7FFF),可以进行相应的转换然后连接到AXI-XBAR的处理器核接口上。
在一些实施例中,所述指令存储器用于存储二进制执行程序,所述二进制执行程序按执行顺序依次划分多段程序,所述多段程序均分到所述n个存储体进行存储,每段程序包括至少一条指令,每个存储体的一个深度地址的存储空间存储一段程序。
具体而言,本实施例的指令存储器的整个地址空间横向切分到多个存储体上,例如图2所示,将二进制执行程序以8条指令32byte地址空间为一个粒度段,例如,{段0,段1,段2,段3,段4,…,段N},分别放在bank0地址0、bank1地址0、bank2地址0、bank3地址0、bank0地址1、bank1地址1、bank2地址1、bank3地址1,…,以让每个处理器核执行程序时读取的指令能均分到4个存储体上,由于输入的报文会以负载分担方式依次送到各个处理器核处理,所以各个处理器核基本上依次开始处理报文,这样保证了大多数情况下,处理器核在同一时钟周期会访问到不同的存储体。
如图4所示,本申请的另一个实施例还提供一种电子设备,包括网络处理器和如上所述的指令存储器,所述网络处理器包括所述m个处理器核。
在一些实施例中,所述网络处理器还包括n个读指令缓存器(Buffer),所述n个读指令缓存器与所述m个处理器核一一对应;
所述读指令缓存器,用于暂时存放与其对应的CPU核的预取指令。
具体而言,各个处理器核由于程序跳转可能在同一时刻访问到同一个存储体,为了避免此时带宽不足造成的损耗,在各个处理核处设计一个比较小的读指令缓存器,用于暂存各个处理核的预取指令。
需说明的是,本实施例的方法基于上述实施例的指令存储器实现,因此,本实施例未详述的内容可以参阅上述实施例的指令存储器的描述内容得到,故此处不进行赘述。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种指令存储器,其特征在于,所述指令存储器为多存储体存储器,包括n个存储体、控制器和总线模块,所述n个存储体均与所述控制器连接,所述总线模块与所述控制器连接,所述总线模块还与m个处理器核连接;n和m为预设的值;
所述总线模块,用于当其接收到任意一个处理器核的读命令时,将所述读命令发送给所述控制器,并接收所述控制器返回的指令,将所述控制器返回的指令通过对应的核接口发送给对应的处理器核;
所述控制器,用于根据所述读命令从对应的存储体读取指令,并将读取的指令返回给总线模块。
2.根据权利要求1所述的指令存储器,其特征在于,所述总线模块包括控制器接口和m个核接口,所述总线通过所述控制器接口与所述控制器连接,所述总线通过所述m个核接口分别与所述m个处理器核连接,所述m个核接口与所述m个处理器核一一对应;所述读命令携带有接口id和读地址;
所述控制器,具体用于解析所述读命令得到接口id和读地址,根据所述读地址从对应的存储体读取指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块;
所述总线模块,具体用于根据所述读地址将所述读命令发送给所述控制器,以及,对所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核。
3.根据权利要求2所述的指令存储器,其特征在于,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述控制器接口包括n个控制单元接口,所述总线通过所述n个控制单元接口分别与所述n个控制单元连接,所述n个控制单元接口与所述n个控制单元一一对应;
所述控制单元,用于当其接收到所述读命令时,解析所述读命令得到接口id和读地址,根据所述读地址从与其对应的存储体读取指令,并将读取的指令和所述接口id生成读数据,将所述读数据返回给总线模块;
所述总线模块,具体用于根据所述读地址将所述读命令发送给对应的控制单元,以及,对所述对应的控制单元返回的所述读数据进行解析得到所述接口id和所述返回的指令,并根据所述接口id将所述返回的指令通过对应的核接口发送给对应的处理器核。
4.根据权利要求3所述的指令存储器,其特征在于,所述总线模块,具体用于同一时钟周期接收到多个处理器核的读指令,且所述多个处理器核的读指令请求访问同一个存储体时,采用轮询调度策略处理所述多个处理器核的读指令。
5.根据权利要求1所述的指令存储器,其特征在于,所述指令存储器包括写接口,所述控制器均与所述写接口连接;
所述写接口,用于接收写命令,并将所述写命令发送给所述控制器;
所述控制器,还用于根据所述写命令获得待写指令和写地址,并根据所述写地址将所述待写指令写入对应的存储体。
6.根据权利要求5所述的指令存储器,其特征在于,所述控制器包括n个控制单元,所述n个控制单元与所述n个存储体一一对应连接;所述读命令携带有接口id和读地址;
所述写接口,用于接收写命令,解析所述写命令得到写地址和待写指令,根据所述写地址将所述写地址和待写指令发送给对应的控制单元;
所述控制单元,用于当其接收到所述写地址和待写指令时,根据所述写地址将所述待写指令写入与其对应的存储体。
7.根据权利要求6所述的指令存储器,其特征在于,所述总线模块为交叉开关矩阵。
8.根据权利要求1~7中任一项所述的指令存储器,其特征在于,所述指令存储器用于存储二进制执行程序,所述二进制执行程序按执行顺序依次划分多段程序,所述多段程序均分到所述n个存储体进行存储,每段程序包括至少一条指令,每个存储体的一个深度地址的存储空间存储一段程序。
9.一种电子设备,其特征在于,包括网络处理器和权利要求1~8中任一项所述的指令存储器,所述网络处理器包括所述m个处理器核。
10.根据权利要求9所述的电子设备,其特征在于,所述网络处理器还包括n个读指令缓存器,所述n个读指令缓存器与所述m个处理器核一一对应;
所述读指令缓存器,用于暂时存放与其对应的CPU核的预取指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411304717.5A CN119149458A (zh) | 2024-09-19 | 2024-09-19 | 一种指令存储器和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411304717.5A CN119149458A (zh) | 2024-09-19 | 2024-09-19 | 一种指令存储器和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119149458A true CN119149458A (zh) | 2024-12-17 |
Family
ID=93809210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411304717.5A Pending CN119149458A (zh) | 2024-09-19 | 2024-09-19 | 一种指令存储器和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119149458A (zh) |
-
2024
- 2024-09-19 CN CN202411304717.5A patent/CN119149458A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
EP1671230B1 (en) | Efficient system management synchronization and memory allocation | |
KR101622311B1 (ko) | 적응가능한 수의 오픈 로우들을 갖는 메모리 디바이스 | |
CN108139994B (zh) | 内存访问方法及内存控制器 | |
CN116324744A (zh) | 具有多个命令子队列和对应的仲裁器的存储器控制器 | |
EP1540485A2 (en) | Out of order dram sequencer | |
US12204478B2 (en) | Techniques for near data acceleration for a multi-core architecture | |
CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN118484137A (zh) | 存储器系统或子系统中的等待时间指示 | |
CN102541782A (zh) | Dram访问控制装置与控制方法 | |
US6751704B2 (en) | Dual-L2 processor subsystem architecture for networking system | |
CN112558861B (zh) | 一种面向多核处理器阵列的数据加载和存储系统及方法 | |
CN110399219B (zh) | 内存访问方法、dmc及存储介质 | |
CN111158753A (zh) | 具有数据预取功能的Flash控制器结构及其实现方法 | |
CN119149458A (zh) | 一种指令存储器和电子设备 | |
US20030088737A1 (en) | Bandwidth enhancement for uncached devices | |
CN114595173A (zh) | 一种数据传输方法、系统及计算机可读存储介质 | |
JP2009037639A (ja) | ストリーミングidメソッドによるdmac発行メカニズム | |
JP7595229B1 (ja) | ファイングレインdramにおける通常アクセス性能を回復するための方法及び装置 | |
WO2023184224A1 (en) | Techniques to utilize near memory compute circuitry for memory-bound workloads | |
JP2007172129A (ja) | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム | |
JP2006155220A (ja) | 半導体集積回路及びそのアクセス制御方法 | |
Zhou et al. | The virtual open page buffer for multi-core and multi-thread processors | |
CN118503162A (zh) | Sram控制器、电子设备及sram控制方法 | |
CN113609034A (zh) | 处理器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |