CN110618833B - 指令处理方法及存储控制器 - Google Patents
指令处理方法及存储控制器 Download PDFInfo
- Publication number
- CN110618833B CN110618833B CN201810631831.7A CN201810631831A CN110618833B CN 110618833 B CN110618833 B CN 110618833B CN 201810631831 A CN201810631831 A CN 201810631831A CN 110618833 B CN110618833 B CN 110618833B
- Authority
- CN
- China
- Prior art keywords
- instruction
- instruction buffer
- processor
- buffer
- valid
- 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.)
- Active
Links
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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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/30098—Register arrangements
Abstract
本发明提出一种指令处理方法及存储控制器。指令处理方法适用于存储控制器。存储控制器包括处理器及周边元件。指令处理方法包括:在处理器中配置第一指令缓冲器及第二指令缓冲器;在存储控制器中配置同步器,同步器在预定时间间隔改变标记的值以将第一指令缓冲器或第二指令缓冲器设定为有效;以及当第一指令缓冲器为有效且处理器发布指令时,处理器将指令暂存在第一指令缓冲器且周边元件的其中之一存取第一指令缓冲器中的指令以执行对应操作。因此,本发明的指令处理方法及存储控制器能有效降低总线延迟并提升指令执行速度。
Description
技术领域
本发明涉及一种指令处理方法及存储控制器,尤其涉及一种能够提升指令执行速度的指令处理方法及存储控制器。
背景技术
图1是悉知的一种存储控制器的方块图。在图1中,存储控制器100具有处理器110、系统总线120、指令缓冲器130及周边元件140(1)~140(N)。当处理器110发布指令时,指令会从指令路径101被传送到指令缓冲器130并暂存于指令缓冲器130中。周边元件140(1)~140(N)可通过系统总线120到指令缓冲器130中存取指令并执行指令。然而,由于存储控制器100的全部元件都附接在系统总线120上,这会产生了相当大的总线延迟。此总线延迟会严重影响处理器的处理量(throughput)。因此,如何降低存储控制器100的总线延迟是本领域技术人员应致力的目标。
发明内容
有鉴于此,本发明提供一种指令处理方法及存储控制器,能有效降低总线延迟并提升指令执行速度。
本发明提出一种指令处理方法,适用于存储控制器。存储控制器包括处理器及多个周边元件。处理器通过系统总线(system bus)耦接到周边元件。指令处理方法包括:在处理器中配置第一指令缓冲器(command buffer)及第二指令缓冲器,第一指令缓冲器及第二指令缓冲器通过处理器的区域总线(local bus)耦接到处理器的处理器核心,其中区域总线的延迟(latency)小于系统总线的延迟;在存储控制器中配置同步器,同步器耦接到处理器及周边元件,同步器在预定时间间隔改变标记的值以将第一指令缓冲器或第二指令缓冲器设定为有效;以及当第一指令缓冲器为有效且处理器发布指令时,处理器将指令暂存在第一指令缓冲器且周边元件的其中之一存取第一指令缓冲器中的指令以执行对应操作。
在本发明的一实施例中,上述处理器及周边元件在每个预定时间间隔接收标记。
在本发明的一实施例中,当标记的值为第一值时第一指令缓冲器为有效且第二指令缓冲器为无效,当标记的值为第二值时第二指令缓冲器为有效且第一指令缓冲器为无效。
在本发明的一实施例中,当第一指令缓冲器为有效且对应指令的虚拟指令被传送到第二指令缓冲器时,周边元件不存取虚拟指令。
在本发明的一实施例中,上述虚拟指令为处理器核心计算该指令过程所产生的暂时数据。
在本发明的一实施例中,当第一指令缓冲器为有效且对应指令的虚拟指令被传送到第一指令缓冲器时,周边元件不存取虚拟指令并在虚拟指令被指令覆写后才存取指令。
本发明提出一种存储控制器,包括处理器及多个周边元件。处理器通过系统总线耦接到周边元件。处理器中配置了第一指令缓冲器及第二指令缓冲器。第一指令缓冲器及第二指令缓冲器通过处理器的区域总线耦接到处理器的处理器核心。区域总线的延迟小于系统总线的延迟。存储控制器中配置了同步器。同步器耦接到处理器及周边元件。同步器在预定时间间隔改变标记的值以将第一指令缓冲器或第二指令缓冲器设定为有效。以及当第一指令缓冲器为有效且处理器发布指令时,处理器将指令暂存在第一指令缓冲器且周边元件的其中之存取第一指令缓冲器中的指令以执行对应操作。
在本发明的一实施例中,上述处理器及周边元件在每个预定时间间隔接收标记。
在本发明的一实施例中,当标记的值为第一值时第一指令缓冲器为有效且第二指令缓冲器为无效,当标记的值为第二值时第二指令缓冲器为有效且第一指令缓冲器为无效。
在本发明的一实施例中,当第一指令缓冲器为有效且对应指令的虚拟指令被传送到第二指令缓冲器时,周边元件不存取虚拟指令。
在本发明的一实施例中,上述虚拟指令为处理器核心计算该指令过程所产生的暂时数据。
在本发明的一实施例中,当第一指令缓冲器为有效且对应指令的虚拟指令被传送到第一指令缓冲器时,周边元件不存取虚拟指令并在虚拟指令被指令覆写后才存取指令。
基于上述,本发明的指令处理方法及存储控制器会在处理器中配置第一指令缓冲器及第二指令缓冲器,在同一时间点只有一个指令缓冲器是有效的。当对应一个指令的虚拟指令被传送到无效的指令缓冲器时,周边元件不存取无效的指令缓冲器中的虚拟指令。当对应一个指令的虚拟指令被传送到有效的指令缓冲器时,由于区域总线的延迟小于系统总线的延迟,周边元件在存取有效的指令缓冲器中的虚拟指令之前,虚拟指令就会被指令所覆写。这使得周边元件存取到正确的指令而非虚拟指令。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是悉知的一种存储控制器的方块图。
图2是根据本发明一实施例的存储控制器的方块图。
图3是根据本发明另一实施例的存储控制器的方块图。
图4是根据本发明一实施例的指令处理方法的流程图。
附图标记说明
100、200、300:存储控制器
101、201:指令路径
110、210、310:处理器
120、220、320:系统总线
130:指令缓冲器
140(1)~140(N)、240(1)~240(N)、340(1)~340(N):周边元件
211、311:处理器核心
230:指令缓冲器
260、360:区域总线
301:第一指令路径
302:第二指令路径
331:第一指令缓冲器
332:第二指令缓冲器
350:同步器
S401、S402、S403:指令处理方法的步骤
具体实施方式
图2是根据本发明一实施例的存储控制器的方块图。
请参照图2,本发明一实施例的存储控制器200包括处理器210及周边元件240(1)~240(N)。处理器210通过系统总线220耦接到周边元件240(1)~240(N)。处理器210包括处理器核心211及指令缓冲器230。处理器核心211通过区域总线260耦接到指令缓冲器230。在处理器核心211下达指令时,指令会经由指令路径201传送到指令缓冲器230。指令缓冲器230例如是静态随机存取存储器(Static Random Access Memory,SRAM)、快取存储器(cache memory)或其他类似元件。周边元件240(1)~240(N)会从指令缓冲器230中存取指令并执行指令。由于区域总线260的延迟小于系统总线220的延迟,因此本实施例的指令路径201的延迟可被最小化以提升指令执行速度。
存储控制器200可耦接到主机系统(未示出于图中)及可复写式非易失性存储器模块(未示出于图中)。存储控制器200可接收主机系统的指令来存取可复写式非易失性存储器模块。
图3是根据本发明另一实施例的存储控制器的方块图。
请参照图3,本发明一实施例的存储控制器300包括处理器310及周边元件340(1)~340(N)。处理器310通过系统总线320耦接到周边元件340(1)~340(N)。处理器310包括处理器核心311、第一指令缓冲器331及第二指令缓冲器332。处理器核心311通过区域总线360耦接到第一指令缓冲器331及第二指令缓冲器332。在处理器核心311下达指令时,指令会分别经由第一指令路径301及第二指令路径302传送到第一指令缓冲器331及第二指令缓冲器332。第一指令缓冲器331及第二指令缓冲器332例如是静态随机存取存储器(StaticRandom Access Memory,SRAM)、快取存储器(cache memory)或其他类似元件。周边元件340(1)~340(N)会从第一指令缓冲器331及第二指令缓冲器332中存取指令并执行指令。第一指令缓冲器331及第二指令缓冲器332可以是两个不同的物理存储器或是一个物理存储器中的不同存储器地址区段。
存储控制器300可耦接到主机系统(未示出于图中)及可复写式非易失性存储器模块(未示出于图中)。存储控制器300可接收主机系统的指令来存取可复写式非易失性存储器模块。
在本实施例中,存储控制器300还包括同步器350。同步器350耦接到处理器核心311及周边元件340(1)~340(N)。同步器350会提供一个标记到处理器核心311及周边元件340(1)~340(N)。标记的值会在预定时间间隔改变。预定时间间隔可以是数毫秒到数微秒,本发明不对此作出限制。举例来说,标记的值会每隔一段时间间隔在0与1之间来回切换。当标记的值为0时,第一指令缓冲器331为有效且第二指令缓冲器332为无效。当标记的值为1时,第一指令缓冲器331为无效且第二指令缓冲器332为有效。处理器核心311会发布指令到有效的指令缓冲器,且周边元件340(1)~340(N)也会从有效的指令缓冲器存取指令以执行对应操作。
当处理器核心311在产生指令的计算过程中,会产生许多暂时数据或变数(或称为虚拟指令)且这些虚拟指令需要暂存在指令缓冲器中。处理器核心311无法控制虚拟指令暂存在哪个指令缓冲器中。也就是说,即使处理器核心311可将指令暂存在有效的指令缓冲器中,但处理器核心311还是有可能会将虚拟指令暂存在无效的指令缓冲器中。
当第一指令缓冲器331为有效且对应一指令的虚拟指令被传送到第二指令缓冲器332时,周边元件340(1)~340(N)不会存取虚拟指令。因为周边元件340(1)~340(N)可从同步器350发出的标记得知在这个时间点第二指令缓冲器332为无效而不会存取第二指令缓冲器332中的虚拟指令。
当第一指令缓冲器331为有效且对应一指令的虚拟指令被传送到第一指令缓冲器331时,周边元件340(1)~340(N)不会存取虚拟指令,而是在虚拟指令被指令覆写后才存取指令。详细来说,由于区域总线360的延迟小于系统总线320的延迟,当虚拟指令写入第一指令缓冲器331之后会立即被指令所覆写。因此当虚拟指令写入第一指令缓冲器331且周边元件340(1)~340(N)知有指令在第一指令缓冲器331时,周边元件340(1)~340(N)到第一指令缓冲器331只会存取到已经覆写在虚拟指令的地址上的指令。
在本实施例中,处理器310包括了区域总线360、第一指令缓冲器331及第二指令缓冲器332。通过同一个时间点只有一个指令缓冲器为有效的设置,可以让周边元件340(1)~340(N)不会存取到不该存取的虚拟指令而造成系统错误。同时还能通过区域总线360提升指令存取及执行的速度,从而增加系统的数据处理量。
图4是根据本发明一实施例的指令处理方法的流程图。
请参照图4,在步骤S401中,在处理器310中配置第一指令缓冲器331及第二指令缓冲器332,第一指令缓冲器331及第二指令缓冲器332通过处理器310的区域总线360耦接到处理器310的处理器核心311,其中区域总线360的延迟小于系统总线320的延迟。
在步骤S402中,在存储控制器300中配置同步器350,同步器350耦接到处理器310及周边元件340(1)~340(N),同步器350在预定时间间隔改变标记的值以将第一指令缓冲器331或第二指令缓冲器332设定为有效。
在步骤S403中,当第一指令缓冲器331为有效且处理器310发布指令时,处理器310将指令暂存在第一指令缓冲器331且周边元件340(1)~340(N)的其中之一存取第一指令缓冲器331中的指令以执行对应操作。
综上所述,本发明的指令处理方法及存储控制器会在处理器中配置第一指令缓冲器及第二指令缓冲器,在同一时间点只有一个指令缓冲器是有效的。当对应一个指令的虚拟指令被传送到无效的指令缓冲器时,周边元件不存取无效的指令缓冲器中的虚拟指令。当对应一个指令的虚拟指令被传送到有效的指令缓冲器时,由于区域总线的延迟小于系统总线的延迟,周边元件在存取有效的指令缓冲器中的虚拟指令之前,虚拟指令就会被指令所覆写。这使得周边元件存取到正确的指令而非虚拟指令。因此,本发明的指令处理方法及存储控制器能有效降低总线延迟并提升指令执行速度。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (10)
1.一种指令处理方法,其特征在于,适用于存储控制器,所述存储控制器包括处理器及多个周边元件,所述处理器通过系统总线耦接到所述多个周边元件,所述指令处理方法包括:
在所述处理器中配置第一指令缓冲器及第二指令缓冲器,所述第一指令缓冲器及所述第二指令缓冲器通过所述处理器的区域总线耦接到所述处理器的处理器核心,其中所述区域总线的延迟小于所述系统总线的延迟;
在所述存储控制器中配置同步器,所述同步器耦接到所述处理器及所述多个周边元件,所述同步器在预定时间间隔改变标记的值以将所述第一指令缓冲器或所述第二指令缓冲器设定为有效;以及
当所述第一指令缓冲器为有效且所述处理器发布指令时,所述处理器将所述指令暂存在所述第一指令缓冲器且所述多个周边元件的其中之一存取所述第一指令缓冲器中的所述指令以执行对应操作,
其中当所述标记的值为第一值时所述第一指令缓冲器为有效且所述第二指令缓冲器为无效,当所述标记的值为第二值时所述第二指令缓冲器为有效且所述第一指令缓冲器为无效。
2.根据权利要求1所述的指令处理方法,其特征在于,其中所述处理器及所述多个周边元件在每个所述预定时间间隔接收所述标记。
3.根据权利要求1所述的指令处理方法,其特征在于,其中当所述第一指令缓冲器为有效且对应所述指令的虚拟指令被传送到所述第二指令缓冲器时,所述多个周边元件不存取所述虚拟指令。
4.根据权利要求3所述的指令处理方法,其特征在于,其中所述虚拟指令为所述处理器核心计算所述指令过程所产生的暂时数据。
5.根据权利要求1所述的指令处理方法,其特征在于,其中当所述第一指令缓冲器为有效且对应所述指令的虚拟指令被传送到所述第一指令缓冲器时,所述多个周边元件不存取所述虚拟指令并在所述虚拟指令被所述指令覆写后才存取所述指令。
6.一种存储控制器,其特征在于,包括:
处理器;以及
多个周边元件,所述处理器通过系统总线耦接到所述多个周边元件,其中
所述处理器中配置了第一指令缓冲器及第二指令缓冲器,所述第一指令缓冲器及所述第二指令缓冲器通过所述处理器的区域总线耦接到所述处理器的处理器核心,其中所述区域总线的延迟小于所述系统总线的延迟;
所述存储控制器中配置了同步器,所述同步器耦接到所述处理器及所述多个周边元件,所述同步器在预定时间间隔改变标记的值以将所述第一指令缓冲器或所述第二指令缓冲器设定为有效;以及
当所述第一指令缓冲器为有效且所述处理器发布一指令时,所述处理器将所述指令暂存在所述第一指令缓冲器且所述多个周边元件的其中之一存取所述第一指令缓冲器中的所述指令以执行对应操作,
其中当所述标记的值为第一值时所述第一指令缓冲器为有效且所述第二指令缓冲器为无效,当所述标记的值为第二值时所述第二指令缓冲器为有效且所述第一指令缓冲器为无效。
7.根据权利要求6所述的存储控制器,其特征在于,其中所述处理器及所述多个周边元件在每个所述预定时间间隔接收所述标记。
8.根据权利要求6所述的存储控制器,其特征在于,其中当所述第一指令缓冲器为有效且对应所述指令的虚拟指令被传送到所述第二指令缓冲器时,所述多个周边元件不存取所述虚拟指令。
9.根据权利要求8所述的存储控制器,其特征在于,其中所述虚拟指令为所述处理器核心计算所述指令过程所产生的暂时数据。
10.根据权利要求6所述的存储控制器,其特征在于,其中所述当所述第一指令缓冲器为有效且对应所述指令的虚拟指令被传送到所述第一指令缓冲器时,所述多个周边元件不存取所述虚拟指令并在所述虚拟指令被所述指令覆写后才存取所述指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810631831.7A CN110618833B (zh) | 2018-06-19 | 2018-06-19 | 指令处理方法及存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810631831.7A CN110618833B (zh) | 2018-06-19 | 2018-06-19 | 指令处理方法及存储控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618833A CN110618833A (zh) | 2019-12-27 |
CN110618833B true CN110618833B (zh) | 2022-01-11 |
Family
ID=68920406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810631831.7A Active CN110618833B (zh) | 2018-06-19 | 2018-06-19 | 指令处理方法及存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618833B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889063A (zh) * | 2006-08-04 | 2007-01-03 | 北京中星微电子有限公司 | 数字信号处理器子系统及其数据处理方法 |
CN101136000A (zh) * | 2006-09-01 | 2008-03-05 | 飞思卡尔半导体公司 | 实现sd主机/从属设备的应用处理器电路和电子设备 |
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN104050066A (zh) * | 2013-03-15 | 2014-09-17 | 飞思卡尔半导体公司 | 多核处理的系统及方法 |
CN107025069A (zh) * | 2016-01-13 | 2017-08-08 | 桑迪士克科技有限责任公司 | 非易失性存储器的数据路径控制 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331856B1 (en) * | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US7930519B2 (en) * | 2008-12-17 | 2011-04-19 | Advanced Micro Devices, Inc. | Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit |
US8601192B2 (en) * | 2009-06-08 | 2013-12-03 | Panasonic Corporation | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device |
US9384153B2 (en) * | 2012-08-31 | 2016-07-05 | Freescale Semiconductor, Inc. | Virtualized local storage |
-
2018
- 2018-06-19 CN CN201810631831.7A patent/CN110618833B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889063A (zh) * | 2006-08-04 | 2007-01-03 | 北京中星微电子有限公司 | 数字信号处理器子系统及其数据处理方法 |
CN101136000A (zh) * | 2006-09-01 | 2008-03-05 | 飞思卡尔半导体公司 | 实现sd主机/从属设备的应用处理器电路和电子设备 |
CN102207916A (zh) * | 2011-05-30 | 2011-10-05 | 西安电子科技大学 | 一种基于指令预取的多核共享存储器控制设备 |
CN104050066A (zh) * | 2013-03-15 | 2014-09-17 | 飞思卡尔半导体公司 | 多核处理的系统及方法 |
CN107025069A (zh) * | 2016-01-13 | 2017-08-08 | 桑迪士克科技有限责任公司 | 非易失性存储器的数据路径控制 |
Also Published As
Publication number | Publication date |
---|---|
CN110618833A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3674877B1 (en) | Method for accessing extended memory, device, and system | |
JP6928123B2 (ja) | メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム | |
JP5272274B2 (ja) | メモリアクセスの順序を変更するシステム、装置、および方法 | |
EP3314612B1 (en) | Method and apparatus for reducing read latency for a block erasable non-volatile memory | |
US9052835B1 (en) | Abort function for storage devices by using a poison bit flag wherein a command for indicating which command should be aborted | |
KR102442495B1 (ko) | 메모리 프로토콜 | |
US11379381B2 (en) | Main memory device having heterogeneous memories, computer system including the same, and data management method thereof | |
US20150100744A1 (en) | Methods and apparatuses for requesting ready status information from a memory | |
US20070220361A1 (en) | Method and apparatus for guaranteeing memory bandwidth for trace data | |
CN110580229B (zh) | 扩展线宽存储器侧高速缓存系统和方法 | |
CN109952567B (zh) | 用于旁通高级dram存储器控制器的内部高速缓存的方法和装置 | |
CN107710175B (zh) | 存储器模块以及操作系统和方法 | |
CN111580749A (zh) | 存储节点、混合存储器控制器及控制混合存储器组的方法 | |
JP5129023B2 (ja) | キャッシュメモリ装置 | |
CN110618833B (zh) | 指令处理方法及存储控制器 | |
EP3224729A1 (en) | Memory management device | |
CN115858417B (zh) | 缓存数据处理方法、装置、设备及存储介质 | |
US10599364B2 (en) | Command processing method and storage controller | |
US9817767B2 (en) | Semiconductor apparatus and operating method thereof | |
US8127082B2 (en) | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations | |
CN112835532A (zh) | 用于缓存控制的方法以及计算装置 | |
JP2003058420A (ja) | Nand型フラッシュメモリからのデータ読み出し方法 | |
CN107015932B (zh) | 微控制器 | |
KR20140109237A (ko) | 메모리 구조를 분석하는 방법 및 장치 | |
JPH0414147A (ja) | 中央演算処理装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |