CN211906256U - 电子系统 - Google Patents
电子系统 Download PDFInfo
- Publication number
- CN211906256U CN211906256U CN201921606117.9U CN201921606117U CN211906256U CN 211906256 U CN211906256 U CN 211906256U CN 201921606117 U CN201921606117 U CN 201921606117U CN 211906256 U CN211906256 U CN 211906256U
- Authority
- CN
- China
- Prior art keywords
- memory
- information
- processor
- cache
- piece
- 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.)
- Withdrawn - After Issue
Links
- 230000015654 memory Effects 0.000 claims abstract description 130
- 102100027867 FH2 domain-containing protein 1 Human genes 0.000 description 10
- 101001060553 Homo sapiens FH2 domain-containing protein 1 Proteins 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 101001012154 Homo sapiens Inverted formin-2 Proteins 0.000 description 8
- 102100030075 Inverted formin-2 Human genes 0.000 description 8
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- 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/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
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开的各实施例涉及电子系统。电子系统包括:处理器;存储器组,配置为与处理器交互并且包括高速缓存存储器、第一存储器和第二存储器,第一存储器被配置为至少存储第一信息组中的第一信息片段,第二存储器被配置为至少存储第二信息组中的第二信息片段;以及控制电路装置,配置为:在处理器对第一信息片段的第一请求之后,执行从第一存储器获得的第一信息片段到处理器的第一供给;以及在处理器对第二信息片段的第二请求之后,执行从第二存储器获得的第二信息片段到处理器的第二供给,即使第一信息组当前正在从第一存储器被传送以将第一信息组加载到高速缓存存储器中。
Description
技术领域
本公开的各实施例涉及电子系统。
背景技术
当一行指令(其包含处理器所请求的前面的指令并且被存储在外部存储器中)被加载以存储在高速缓存存储器中时,需要避免对位于另一个存储器(例如内部闪存)中的一组指令(例如中断程序)的执行时间产生不利影响。
实用新型内容
根据本公开的一个方面,提供了一种电子系统,包括:处理器;存储器组,被配置为与所述处理器交互并且包括高速缓存存储器、第一存储器和第二存储器,所述第一存储器被配置为至少存储第一信息组中的第一信息片段,所述第二存储器被配置为至少存储第二信息组中的第二信息片段;以及控制电路装置,被配置为:在所述处理器对所述第一信息片段的第一请求之后,执行从所述第一存储器获得的所述第一信息片段到所述处理器的第一供给;以及在所述处理器对所述第二信息片段的第二请求之后,执行从所述第二存储器获得的所述第二信息片段到所述处理器的第二供给,即使所述第一信息组当前正在从所述第一存储器被传送以将所述第一信息组加载到所述高速缓存存储器中。
在一些实施例中,所述控制电路装置将在所述第二请求之后的第二高速缓存未命中之后进行所述第二供给。
在一些实施例中,所述控制电路装置包括:高速缓存控制器,耦合在所述处理器和所述存储器组之间,并具有第一接口、第二接口和第三接口;第一总线,耦合在所述第一接口和所述第一存储器之间;第二总线,耦合在所述第二接口和所述第二存储器之间;以及第三总线,耦合在所述第三接口和所述处理器之间;其中所述高速缓存控制器被配置为:经由所述第三接口和所述第三总线将所述第一信息片段供给到所述处理器,所述第一信息片段由所述第一存储器在所述第一总线上递送;以及经由所述第三接口和所述第三总线将所述第二信息片段供给到所述处理器,所述第二信息片段由所述第二存储器在所述第二总线上递送。
在一些实施例中,所述控制电路装置被配置为:如果在所述第一信息组准备好被加载到所述高速缓存存储器的高速缓存行之前,所述第二信息组准备好被加载到所述高速缓存行中,则阻止所述第一信息组到所述高速缓存行中的所述加载。
在一些实施例中,所述第一接口包括:缓冲存储器,所述缓冲存储器被配置为存储从所述第一存储器获得的所述第一信息组;并且其中高速缓存控制器被配置为使所述第一信息组的所述存储中止。
在一些实施例中,所述第一信息片段包括将由所述处理器执行的至少一个指令。
在一些实施例中,所述第二信息片段包括中断程序的至少一个指令。
在一些实施例中,电子系统还包括:微控制器,所述微控制器包含所述处理器、所述高速缓存存储器、所述第二存储器和所述高速缓存控制器;并且其中所述第一存储器在所述微控制器的外部。
根据另一方面,提出了一种系统,其包括处理器以及被配置为与处理器交互的存储器组。存储器组至少包括高速缓存存储器、被配置为至少存储第一信息组中的第一信息片段的第一存储器,以及被配置为至少存储第二信息组中的第二信息片段的第二存储器。系统还包括控制电路装置,其被配置为在来自处理器的对第一信息片段的第一请求之后,进行从第一存储器获得的第一信息片段到处理器的第一供给。然后,在来自处理器的对第二信息片段的第二请求之后,控制电路装置被配置为:进行从第二存储器获得的第二信息片段到处理器的第二供给,即使第一信息组在从第一存储器传送以将其加载到高速缓存存储器中(诸如到该高速缓存存储器的高速缓存行中)的过程中。
根据一个实施例,如果第二信息片段是可高速缓存的,则控制电路装置被配置为在第二请求之后的第二高速缓存未命中之后执行第二供给。
在一个实施例中,控制电路装置包括在处理器和存储器组之间耦合的高速缓存控制器,该高速缓存控制器至少具有第一接口、第二接口和第三接口。控制电路装置还包括在第一接口和第一存储器之间耦合的第一总线、在第二接口和第二存储器之间耦合的第二总线,以及在第三接口和处理器之间耦合的第三总线。
高速缓存控制器被有利地配置为:经由第三接口和第三总线将第一信息片段提供给处理器,该第一信息片段由第一存储器在第一总线上递送;以及经由第三接口和第三总线将第二信息片段提供给处理器,第二信息片段由第二存储器在第二总线上递送。
根据一个实施例,控制电路装置被配置为:如果在第一信息组准备好被加载到高速缓存行之前,第二信息组准备好被加载到高速缓存存储器的相同的高速缓存行中,则防止加载第一信息组。
更准确地,在这种情况下,根据一个实施例,第一接口包括缓冲存储器,其被配置为存储从第一存储器获得的第一信息组,并且高速缓存控制器被配置为使存储第一信息组的过程中止。
如上所述,第一信息片段可以包括将由处理器执行的至少一个指令,而第二信息片段可以包括中断程序的至少一个指令。
系统可以包括微控制器,微控制器包含处理器、高速缓存存储器、第二存储器和高速缓存控制器,其中第一存储器是微控制器外部的存储器。
附图说明
从对实施例和应用的详细描述中,本实用新型的其他优点和特性将变得显而易见,该实施例和应用不以任何方式进行限制,并且在附图中:
图1是根据本公开的系统的框图。
图2是图1的高速缓存控制器的框图。
图3是操作图1的系统的方法的流程图。
图4是图3的流程图的继续的流程图。
图5是图3的流程图的继续的流程图,并且示出了图4的流程图的备选方法步骤。
具体实施方式
在图1中,附图标记1表示系统,特别是微控制器,例如由ST微电子以编号STM32销售的微控制器。
该微控制器包括中央计算单元或处理器10,以及存储器组,在这种情况下,该存储器组包括在微控制器外部的存储器17、内部存储器16(例如闪存)和另一个内部存储器15(例如随机存储存储器(RAM))。
外部存储器17耦合到具有常规结构的存储器控制器14。
微控制器1还包括耦合到高速缓存控制器11的高速缓存存储器12,例如2路关联存储器。
高速缓存控制器11经由包括输入端口和输出端口的互连电路13,耦合至存储器控制器14、存储器15以及存储器16。
这种互连电路的结构可以包括多层互连电路,以及用于在互连电路中交换和路由事项的协议。在Venkateswara Rao等人的题目为“A Frame work on AMBA bus basedCommunication Architecture to improve the Real Time Computing Performance inMPSoC”,International Journal of Computer Applications(0975-8887),第91卷-第5期,2014年4月的文章中详细描述了可以使用的示例多层互连电路,其内容通过引用以其整体并入本文。附加地,作为指导但不限于,例如,可以使用由ARM公司以编号NIC-400(版本R0p3)销售的互连电路。
互连电路13通过两条总线BS1和BS2连接到高速缓存控制器11。
高速缓存控制器还通过第三总线BS3和第四总线BS4连接到微处理器,如下所述,第四总线BS4允许配置高速缓存控制器的寄存器。
不同的总线可以具有任何合适的结构,例如,使用例如由ARM公司(2001,2006)发行的文件AMBA 3AHB-Lite Protocol V1.0Specification中描述的协议的AHB总线,其内容通过引用以其整体并入本文。
高速缓存控制器11(耦合在处理器10与存储器组15、16和17、第一总线BS1、第二总线BS2和第三总线BS3之间)在此形成控制电路装置,该控制电路装置被配置为:在来自处理器10的对第一信息片段(例如第一指令)的第一请求之后,进行从第一存储器17中获得的第一指令到处理器10的第一供给,然后,在来自处理器10的对第二信息片段的第二请求之后,进行从第二存储器16获得的第二信息片段到处理器10的第二供给,即使其中出现第一指令的那组指令正在从第一存储器17传送以将其加载到高速缓存存储器12的高速缓存行中。
下面详细描述这种方法的实施例的一个示例。
更具体地参考图2,可以看出,在该示例实施例中,高速缓存控制器11包括耦合到第一总线BS1的第一接口111、耦合到第二总线BS2的第二接口112,以及耦合到第三总线BS3的第三接口113。
高速缓存控制器还包括耦合到总线BS4的寄存器接口116。
第三接口113包括状态机,该状态机旨在管理与连接到处理器10的总线的对话。
该接口113接收来自处理器的请求,包括存储器中所需信息(指令)的地址,并在它们可用时将指令提供给处理器。
第一接口111被配置为接收从处理器10向外部存储器17发出的对指令的请求,并且用于将对应的指令提供给处理器10。
附加地,如果指令形成第一存储器中的指令组的一部分,则第一接口111包括缓冲存储器,该缓冲存储器被配置为存储从存储器17获得的该组指令,然后,当存储完成时,将通知发送给高速缓存控制电路114,高速缓存控制电路114控制对高速缓存存储器12的写入和读取。
第二接口112具有与第一接口111相同的结构,并且在这种情况下,第二接口112被配置为接收从处理器10向外部存储器16发出的对指令的请求,并且将指令返回给处理器10。
两个接口111和112还包括状态机。
如上所述,接口116使高速缓存控制器的寄存器能够响应于从处理器发出的配置指令进行配置,并且使得有可能基于与来自处理器的请求相关联的地址来指定存储对应的信息或指令的存储器。
现在将更具体地参考图3至图5,以便描述本公开的方法的实施例的一个示例。
在图3中,在步骤S30中,假定处理器10正在总线BS3上发送对指令INF1的请求,该指令存在于指令组LM1中,在该示例中,假定该指令组LM1占据外部存储器17的一行。
在步骤S31中,高速缓存控制器首先检查该指令INF1是否已经被存储在高速缓存存储器12的高速缓存行中。
如果不存在高速缓存未命中,即如果该指令INF1已经被存储在高速缓存存储器的高速缓存行中,则高速缓存控制器将指令INF1提供给处理器10(步骤S32)。
如果存在高速缓存未命中,也就是说,如果指令INF1未被存储在高速缓存存储器的高速缓存行中,则高速缓存控制器将请求发送到第一接口111,以使指令组LM1(其占据存储器17的行并且包含指令INF1)在总线BS1上被传输到该第一接口111,指令INF1首先被传输(步骤S33)。
然后,在步骤S34中,高速缓存控制器在总线BS3上将指令INF1提供给处理器10。
并行地,整个指令组LM1被加载到第一接口111的缓冲存储器中(步骤S35)。
还假定在请求指令INF1之后,在步骤S36中,处理器发送对第二指令INF2的第二请求,此时,该第二次请求被存储在第二指令组LM2中,在本示例中,假定该第二指令组占据内部存储器16中的行LM2。
在该示例中,假定包含组LM2的存储器的该部分是可高速缓存的,也就是说也旨在被存储在高速缓存存储器中。
因此,在步骤S37中,高速缓存控制器检查是否存在高速缓存未命中。
如果不存在高速缓存未命中,也就是说,如果指令INF2已经存在于高速缓存存储器中,则高速缓存控制器将指令INF2提供给处理器10(步骤S38)。
相反,如果存在高速缓存未命中,则第二接口112将读取内部存储器16,以便在总线BS2上获得包含指令INF2的指令组LM2(步骤S39)。
同样在这里,指令INF2首先被提供给接口112。
在步骤S40中,高速缓存控制器将该指令INF2提供给处理器10,即使第一接口111的缓冲存储器中的信息组LM1的加载仍在进行中(步骤S35)。
因此,如果该指令INF2启动了中断程序,则可以立即执行该中断程序,而无需等待将信息组LM1加载到接口111的缓冲存储器中的结束。
然后,将整个信息组LM2加载到接口112的缓冲存储器中(步骤S41),以用于随后存储在高速缓存存储器的高速缓存行中的目的。
这在图4中更详细地示出。更准确地,当将信息组LM1加载到第一接口111的缓冲存储器中完成(步骤S35)时,该接口向高速缓存控制电路装置114发送通知。
然后,在步骤S42中,后一电路将将该信息组LM1加载到高速缓存存储器12的高速缓存行LC1中。
关于信息组LM2执行相同的过程。当该组被加载(步骤S41)到第一接口112的缓冲存储器中时,该第一接口112向高速缓存控制电路发送通知,然后,该高速缓存控制电路装置将该指令组LM2加载到高速缓存存储器12的高速缓存行LC2中(步骤S43)。
当高速缓存行LC1和LC2不同时,没有问题。然而,在某些情况下,高速缓存行LC1可以与高速缓存行LC2相同。换句话说,指令组LM1和指令组LM2旨在被存储在相同的高速缓存行(例如高速缓存行LC1)中。在图5中示出了这种情况。
因此,如上所述,在对指令INF1的第一请求之后,指令组LM1被加载到第一接口111的缓冲存储器中(步骤S35)。该指令组LM1旨在随后被加载到高速缓存存储器12的高速缓存行LC1中。
并行地,包含处理器所需的第二指令INF2的指令组LM2被加载到第二接口112的缓冲存储器中(步骤S41)。如果在加载S35进行时中止了加载S41,则高速缓存控制电路114然后将指令组LM2加载到高速缓存行LC1中(步骤S43)。为了确保该指令组LM2不会被指令组LM1覆盖,高速缓存控制器发送指令,以用于中止指令组LM1到接口111的缓冲存储器中的当前加载(步骤S50)。
因此,本文的技术使得可以并行地管理对包含例如将由处理器执行的指令的不同存储器的访问,并且避免在从另一个存储器(例如外部存储器)获得的一系列指令被加载到缓冲存储器中,以用于加载到高速缓存存储器的高速缓存行中时,对存储在存储器(例如内部存储器)中的中断程序的执行产生不利影响。无论中断程序是否可缓存,这都适用。
附加地,如果分别存储在例如两个存储器的两个存储行中的两个指令系列是可高速缓存的,并且旨在被存储在相同的高速缓存行中,则高速缓存存储器中的描述的替换策略是有利的。实际上,如果第二请求(在第一请求之后)产生的第二指令系列在之前的请求产生的第一指令系列之前准备好被加载到高速缓存行中,则提供过程的中止,导致将第一指令系列加载到高速缓存行中。
Claims (8)
1.一种电子系统,其特征在于,包括:
处理器;
存储器组,被配置为与所述处理器交互并且包括高速缓存存储器、第一存储器和第二存储器,所述第一存储器被配置为至少存储第一信息组中的第一信息片段,所述第二存储器被配置为至少存储第二信息组中的第二信息片段;以及
控制电路装置,被配置为:
在所述处理器对所述第一信息片段的第一请求之后,执行从所述第一存储器获得的所述第一信息片段到所述处理器的第一供给;以及
在所述处理器对所述第二信息片段的第二请求之后,执行从所述第二存储器获得的所述第二信息片段到所述处理器的第二供给,即使所述第一信息组当前正在从所述第一存储器被传送以将所述第一信息组加载到所述高速缓存存储器中。
2.根据权利要求1所述的电子系统,其特征在于,所述控制电路装置将在所述第二请求之后的第二高速缓存未命中之后进行所述第二供给。
3.根据权利要求2所述的电子系统,其特征在于,所述控制电路装置包括:
高速缓存控制器,耦合在所述处理器和所述存储器组之间,并具有第一接口、第二接口和第三接口;
第一总线,耦合在所述第一接口和所述第一存储器之间;
第二总线,耦合在所述第二接口和所述第二存储器之间;以及
第三总线,耦合在所述第三接口和所述处理器之间;
其中所述高速缓存控制器被配置为:
经由所述第三接口和所述第三总线将所述第一信息片段供给到所述处理器,所述第一信息片段由所述第一存储器在所述第一总线上递送;以及
经由所述第三接口和所述第三总线将所述第二信息片段供给到所述处理器,所述第二信息片段由所述第二存储器在所述第二总线上递送。
4.根据权利要求3所述的电子系统,其特征在于,所述控制电路装置被配置为:如果在所述第一信息组准备好被加载到所述高速缓存存储器的高速缓存行之前,所述第二信息组准备好被加载到所述高速缓存行中,则阻止所述第一信息组到所述高速缓存行中的所述加载。
5.根据权利要求4所述的电子系统,其特征在于,所述第一接口包括:缓冲存储器,所述缓冲存储器被配置为存储从所述第一存储器获得的所述第一信息组;并且其中高速缓存控制器被配置为使所述第一信息组的所述存储中止。
6.根据权利要求1所述的电子系统,其特征在于,所述第一信息片段包括将由所述处理器执行的至少一个指令。
7.根据权利要求1所述的电子系统,其特征在于,所述第二信息片段包括中断程序的至少一个指令。
8.根据权利要求1所述的电子系统,其特征在于,还包括:微控制器,所述微控制器包含所述处理器、所述高速缓存存储器、所述第二存储器和所述高速缓存控制器;并且其中所述第一存储器在所述微控制器的外部。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1858771 | 2018-09-26 | ||
FR1858771A FR3086409A1 (fr) | 2018-09-26 | 2018-09-26 | Procede de gestion de la fourniture d'informations, en particulier des instructions, a un microprocesseur et systeme correspondant |
Publications (1)
Publication Number | Publication Date |
---|---|
CN211906256U true CN211906256U (zh) | 2020-11-10 |
Family
ID=65243871
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912337.2A Active CN110955386B (zh) | 2018-09-26 | 2019-09-25 | 管理向微处理器提供诸如指令的信息的方法和对应的系统 |
CN201921606117.9U Withdrawn - After Issue CN211906256U (zh) | 2018-09-26 | 2019-09-25 | 电子系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912337.2A Active CN110955386B (zh) | 2018-09-26 | 2019-09-25 | 管理向微处理器提供诸如指令的信息的方法和对应的系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11275589B2 (zh) |
EP (1) | EP3629185B1 (zh) |
CN (2) | CN110955386B (zh) |
FR (1) | FR3086409A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955386A (zh) * | 2018-09-26 | 2020-04-03 | 意法半导体(格勒诺布尔2)公司 | 管理向微处理器提供诸如指令的信息的方法和对应的系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811215A (en) * | 1986-12-12 | 1989-03-07 | Intergraph Corporation | Instruction execution accelerator for a pipelined digital machine with virtual memory |
US5848432A (en) * | 1993-08-05 | 1998-12-08 | Hitachi, Ltd. | Data processor with variable types of cache memories |
US5826109A (en) * | 1994-01-04 | 1998-10-20 | Intel Corporation | Method and apparatus for performing multiple load operations to the same memory location in a computer system |
US6516384B1 (en) * | 1999-12-30 | 2003-02-04 | Intel Corporation | Method and apparatus to perform a round robin and locking cache replacement scheme |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US8171225B2 (en) * | 2007-06-28 | 2012-05-01 | Intel Corporation | Cache for a multi thread and multi core system and methods thereof |
US20110082981A1 (en) * | 2008-04-22 | 2011-04-07 | Nxp B.V. | Multiprocessing circuit with cache circuits that allow writing to not previously loaded cache lines |
US8261019B2 (en) * | 2009-02-13 | 2012-09-04 | Oracle America, Inc. | Conveying critical data in a multiprocessor system |
KR101635395B1 (ko) * | 2010-03-10 | 2016-07-01 | 삼성전자주식회사 | 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법 |
US8504777B2 (en) * | 2010-09-21 | 2013-08-06 | Freescale Semiconductor, Inc. | Data processor for processing decorated instructions with cache bypass |
KR20130057890A (ko) * | 2011-11-24 | 2013-06-03 | 시게이트 테크놀로지 인터내셔날 | 하이브리드 드라이브 및 그 데이터 전송 방법 |
US11514001B2 (en) * | 2018-04-17 | 2022-11-29 | EMC IP Holding Company LLC | Concurrent computations operating on same data for CPU cache efficiency |
FR3086409A1 (fr) * | 2018-09-26 | 2020-03-27 | Stmicroelectronics (Grenoble 2) Sas | Procede de gestion de la fourniture d'informations, en particulier des instructions, a un microprocesseur et systeme correspondant |
-
2018
- 2018-09-26 FR FR1858771A patent/FR3086409A1/fr active Pending
-
2019
- 2019-09-12 EP EP19196986.4A patent/EP3629185B1/fr active Active
- 2019-09-17 US US16/573,299 patent/US11275589B2/en active Active
- 2019-09-25 CN CN201910912337.2A patent/CN110955386B/zh active Active
- 2019-09-25 CN CN201921606117.9U patent/CN211906256U/zh not_active Withdrawn - After Issue
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955386A (zh) * | 2018-09-26 | 2020-04-03 | 意法半导体(格勒诺布尔2)公司 | 管理向微处理器提供诸如指令的信息的方法和对应的系统 |
CN110955386B (zh) * | 2018-09-26 | 2023-09-01 | 意法半导体(格勒诺布尔2)公司 | 管理向微处理器提供诸如指令的信息的方法和对应的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110955386B (zh) | 2023-09-01 |
CN110955386A (zh) | 2020-04-03 |
US20200097294A1 (en) | 2020-03-26 |
EP3629185B1 (fr) | 2024-06-26 |
US11275589B2 (en) | 2022-03-15 |
FR3086409A1 (fr) | 2020-03-27 |
EP3629185A1 (fr) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250254B2 (en) | Offloading input/output (I/O) virtualization operations to a processor | |
CN108153683B (zh) | 用于在存储器中的地址范围之间传输数据的装置和方法 | |
EP2472412B1 (en) | Explicitly regioned memory organization in a network element | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
US10079916B2 (en) | Register files for I/O packet compression | |
US8799611B2 (en) | Managing allocation of memory pages | |
US7948498B1 (en) | Efficient texture state cache | |
US20230195633A1 (en) | Memory management device | |
US11599483B2 (en) | Dedicated cache-related block transfer in a memory system | |
US7010725B2 (en) | Method and apparatus for getting dump of a computer system | |
CN211906256U (zh) | 电子系统 | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
CN113536168B (zh) | 组件处理方法及设备 | |
US20170199841A1 (en) | Pre-registering memory regions for remote direct memory access in a distributed file system | |
TWI759397B (zh) | 用於比較並交換異動的裝置、主機設備及方法 | |
CN117591450A (zh) | 一种数据处理系统、方法、设备及介质 | |
CN105103138B (zh) | 用于实时应用的嵌入式存储器管理方案 | |
US7356647B1 (en) | Cache with integrated capability to write out entire cache | |
WO2017011021A1 (en) | Systems and methods facilitating reduced latency via stashing in systems on chips | |
US8214597B2 (en) | Cache tentative read buffer | |
CN117194283A (zh) | 基于risc-v指令集的向量读写指令的处理方法 | |
CN106354421B (zh) | 筛选方法、筛选器及数据一致性维护系统 | |
US11726920B2 (en) | Tag processing for external caches | |
US9430401B2 (en) | Implementing paging optimization to avoid populate on page fault during an IO read | |
US10489304B2 (en) | Memory address translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned | ||
AV01 | Patent right actively abandoned | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20201110 Effective date of abandoning: 20230901 |
|
AV01 | Patent right actively abandoned |
Granted publication date: 20201110 Effective date of abandoning: 20230901 |