CN111240581B - 存储器访问控制方法、装置和电子设备 - Google Patents

存储器访问控制方法、装置和电子设备 Download PDF

Info

Publication number
CN111240581B
CN111240581B CN201811440175.9A CN201811440175A CN111240581B CN 111240581 B CN111240581 B CN 111240581B CN 201811440175 A CN201811440175 A CN 201811440175A CN 111240581 B CN111240581 B CN 111240581B
Authority
CN
China
Prior art keywords
field
module
memory
access
address field
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
Application number
CN201811440175.9A
Other languages
English (en)
Other versions
CN111240581A (zh
Inventor
谭洪贺
陈亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Horizon Robotics Technology Research and Development Co Ltd
Original Assignee
Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Horizon Robotics Technology Research and Development Co Ltd filed Critical Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority to CN201811440175.9A priority Critical patent/CN111240581B/zh
Priority to US16/697,954 priority patent/US11144215B2/en
Priority to JP2019215224A priority patent/JP6890804B2/ja
Priority to KR1020190156742A priority patent/KR102322593B1/ko
Priority to TW108143814A priority patent/TWI729595B/zh
Publication of CN111240581A publication Critical patent/CN111240581A/zh
Application granted granted Critical
Publication of CN111240581B publication Critical patent/CN111240581B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

公开了一种存储器访问控制方法、装置和电子设备。根据一实施例,提供一种存储器访问控制方法,所述存储器包括并列设置的多个存储器模块,所述方法包括:接收包括寻址字段的访问指令,所述寻址字段包括用于控制并行访问的并行控制字段、用于指示存储器模块的模块地址字段、以及用于指示存储器模块内的地址的模块内地址字段;解析所述访问指令以确定所述并行控制字段、所述模块地址字段和所述模块内地址字段;基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块;以及访问所述要访问的一个或多个存储器模块内的、由所述模块内地址字段指定的地址。该方法可以兼顾存储器访问的灵活性和效率二者,从而加快运行效率。

Description

存储器访问控制方法、装置和电子设备
技术领域
本申请总体上涉及计算机领域,更特别地,涉及一种存储器访问控制方 法、装置和电子设备。
背景技术
计算机硬件水平一直在持续发展,其中存储器容量也越来越大。大容量 存储器通常包括多个存储器模块,也称为存储器颗粒。例如,用作内存的动 态随机存取存储器(DRAM)和用作高速缓存的静态随机存取存储器 (SRAM)均可以包括多个存储器模块,若存储器模块的数据宽度为32比 特,则访问数据宽度为32比特,若存储器模块的数据宽度为64比特,则访 问数据宽度为64比特,通过将访问数据宽度设置成与存储器模块的数据宽 度相同,从而可以对每个存储器模块进行灵活的访问。但是,这种方案的问 题在于每个周期最大只能够访问存储器模块的数据宽度所确定的数据量,使 得带宽受到限制。如果需要访问的数据量超过了存储器模块的数据宽度,比 如1024比特,则需要多个周期才能从存储器模块中获得。另一方面,为了 提高数据存取效率,可以将访问数据宽度设定为比单个存储器模块的数据宽 度更大的值例如512比特,同步访问例如16个32比特数据宽度的存储器模块,或者8个64比特数据宽度的存储器模块,这样虽然可以增加带宽,提 高了一个周期访问的数据量,但是访问的灵活度就降低了。
发明内容
为了解决上述技术问题,提出了本申请。
根据本申请的一个方面,提供了一种存储器访问控制方法,所述存储器 包括并列设置的多个存储器模块,所述方法包括:接收包括寻址字段的访问 指令,所述寻址字段包括用于控制并行访问的并行控制字段、用于指示存储 器模块的模块地址字段、以及用于指示存储器模块内的地址的模块内地址字 段;解析所述访问指令以确定所述并行控制字段、所述模块地址字段和所述 模块内地址字段;基于所述并行控制字段和所述模块地址字段确定要访问的 一个或多个存储器模块;以及访问所述要访问的一个或多个存储器模块内的、由所述模块内地址字段指定的地址。
根据本申请的另一个方面,提供了一种存储器访问控制装置,用于控制 对存储器的访问,所述存储器包括并列设置的多个存储器模块,所述控制装 置包括:指令解析单元,用于解析包括寻址字段的访问指令,所述寻址字段 包括用于控制并行访问的并行控制字段、用于指示存储器模块的模块地址字 段、以及用于指示存储器模块内的地址的模块内地址字段;模块确定单元, 用于基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个 存储器模块;以及访问执行单元,用于执行对所述要访问的一个或多个存储 器模块内的、由所述模块内地址字段指定的地址的访问。
根据本申请的另一个方面,提供了一种电子设备,包括:处理器;以及 存储器,在所述存储器中存储有程序指令,所述程序指令在被所述处理器运 行时使得所述处理器执行上述存储器访问控制方法。
根据本申请的另一个方面,提供了一种可读存储介质,其上存储有程序 指令,所述程序指令在被处理器运行时使得所述处理器执行上述存储器访问 控制方法。
本申请的存储器访问控制方法和装置及电子设备可以灵活地控制要 访问的一个或多个存储器模块,从而能够兼顾访问灵活性和访问带宽,提高 访问效率。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其 他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一 步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请, 并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或 步骤。
图1图示了根据本申请实施例的存储器访问控制系统的结构示意图;
图2图示了根据本申请实施例的存储器访问控制方法的流程图;
图3图示了根据本申请实施例的访问指令中的寻址字段的第一示例结构 的示意图;
图4图示了根据本申请实施例的访问指令中的寻址字段的第二示例结构 的示意图;
图5图示了根据本申请实施例的访问指令中的寻址字段的第三示例结构 的示意图;
图6图示了根据本申请实施例的访问指令中的寻址字段的第四示例结构 的示意图;
图7图示了根据本申请实施例的访问指令中的寻址字段的第五示例结构 的示意图;
图8图示了根据本申请实施例的存储器访问控制装置的功能框图;以及
图9图示了根据本申请实施例的电子设备的结构框图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述 的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理 解,本申请不受这里描述的示例实施例的限制。
申请概述
如上所述,组成存储器的存储器模块的数据宽度一般为例如32比特或 者64比特,访问数据宽度一般也为32比特或者64比特,以实现对每个存 储器模块的灵活访问。但是,这种方案的问题在于每个周期只能够访问32 比特或64比特,使得带宽受到限制。另一方面,如果将总线带宽定为512 或1024比特,同步访问多个存储器模块,虽然可以提高一个周期访问的数 据量,但是访问的灵活度又降低了,例如必须同步访问多个存储器模块,而 不能灵活地对单个存储器模块进行访问。
针对上述技术问题,本申请的基本构思通过在访问指令中包括寻址字 段,寻址字段包括用于控制并行访问的并行控制字段、用于指示存储器模块 的模块地址字段、以及用于指示存储器模块内的地址的模块内地址字段,可 实现对存储器中的各个存储器模块的灵活访问,例如可以同时访问多个存储 器模块,也可以仅访问单个存储器模块。在同时访问多个存储器模块时,可 以访问连续的多个存储器模块,也可以访问不连续的(间隔开的)多个存储 器模块。这样,确保了访问的灵活性,而且通过同时访问多个存储器模块, 可以在一个周期访问更多数据,提高访问效率。
这里,本领域技术人员可以理解,本申请的存储器访问控制方案可以应 用于各种存储器的访问控制,只要该存储器包括可并行访问的多个存储器模 块。典型地,本申请的存储器访问控制方案可以应用于常用作高速缓存的静 态随机存取存储器(SRAM)和常用作内存的动态随机存取存储器(DRAM)。 还应理解,本申请的原理并不局限于存储器中的多个存储器模块均为相同类 型,而是所述多个存储器模块也可为不同类型的存储器模块。
另外,本领域技术人员可以理解,本申请提供的存储器访问控制方法可 以应用于现有的硬件架构例如CPU、GPU或FPGA系统等,也可以通过专 门开发的用于执行上述访问指令的新硬件架构来实现。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的 各种非限制性实施例。
示例性系统
图1图示了根据本申请实施例的示例性存储器访问控制系统的结构示意 图。如图1所示,存储器12可包括并列设置的多个存储器模块,这里示为8 个存储器模块RAM0至RAM7,每个存储器模块RAM0-7可以是SRAM, 也可以是DRAM,或者还可以是其他类型的存储器模块。当然,存储器12 也可以包括更少或更多数量的存储器模块,例如2个、4个、16个、32个等。
虽然为了描述的方便,这里以每个RAM作为一个存储器模块为例进行 了说明,但是应理解的是,一个存储器模块也可以包括多个RAM,每个存 储器模块中的多个RAM可以作为一个组,被同步地操作,这样可以增大每 个存储器模块的数据宽度。或者,在需要时还可以将多个存储器模块分为一 个组,对该组进行操作。在本发明的教导下,对这些组的操作对于本领域技 术人员而言是显而易见的。
存储器访问控制单元11可用于控制处理器例如CPU 10对存储器12的 访问。例如,存储器访问控制单元11可以接收来自CPU 10的访问指令,基 于该访问指令来访问存储器12中的相应模块内的具体地址,以读取或写入 相应的数据。如前所述,通过访问指令,可以实现对存储器12的灵活访问, 例如仅访问单个模块,也可以并行地访问多个模块。
基于访问指令实现存储器的访问控制的示例和利用访问指令进行的访 问过程的示例将在下面结合附图来进一步详细描述。
示例性方法
图2图示了根据本申请实施例的存储器访问控制方法的流程图。
如图2所示,根据本申请一实施例的存储器访问控制方法100可包括:
S110,接收包括寻址字段的访问指令,所述寻址字段包括用于控制并行 访问的并行控制字段、用于指示存储器模块的模块地址字段、以及用于指示 存储器模块内的地址的模块内地址字段;
S120,解析所述访问指令以确定所述并行控制字段、所述模块地址字段 和所述模块内地址字段;
S130,基于所述并行控制字段和所述模块地址字段确定要访问的一个或 多个存储器模块;以及
S140,访问所述要访问的一个或多个存储器模块内的、由所述模块内地 址字段指定的地址。
在步骤S110中,例如可接收来自CPU 10的访问指令,该访问指令之前 可存储在指令存储单元中,例如存储在CPU 10的指令寄存器(IR)中。访 问指令可包括例如寻址字段,其指示该指令要访问的存储器地址,如下面描 述的那样,可以是单个地址,也可以是并行访问的多个地址。虽然未示出, 但是访问指令还可以包括例如读写指示字段、数据字段等,读写指示字段可 以指示该访问指令是读取指令还是写入指令,数据字段可包括要写入的数据 等。
如前所述,在本发明的实施例中,通过设计访问指令的寻址字段,来实 现对存储器12中的一个或多个存储器模块的灵活访问。图3图示了根据本 申请实施例的访问指令中的寻址字段的第一示例结构的示意图。如图3所示, 寻址字段20可包括并行控制字段22,模块地址字段24和模块内地址字段 26。应注意,各个字段的顺序不限于图示的示例,而是可以是任何期望的顺 序。
模块地址字段24可指定要访问的存储器模块,其可包括多个比特b1、 b2、…、bj,以用于指示2j个存储器模块。例如,当存储器12包括22=4个 存储器模块时,模块地址字段24可包括两比特数据,其取值可以是“00”、 “01”、“10”或“11”,以分别指定四个存储器模块。类似地,当存储器12包括8个存储器模块时,模块地址字段24可包括三比特数据;当存储器12包括16个存储器模块时,模块地址字段24可包括四比特数据。当然,当 模块地址字段24包括j比特数据时,存储器12包括的存储器模块的个数可 以小于2j,只要保证利用模块地址字段24可以对每个模块进行寻址即可。 为了简单起见,下面将以模块地址字段24包括五比特数据(j=5),存储器 12包括32个存储器模块RAM0-31为例来进行说明。
模块内地址字段26可用于指示要访问的存储器模块内的地址,其包括 的比特数取决于存储器模块的大小。例如,当每个存储器模块为1024×8比 特大小时,模块内地址字段26可包括10比特数据,以对210=1024个地址进 行寻址,其中1024(1k)是存储器模块的存储空间长度,8是位宽。当存储 器模块的存储空间长度为16k时,模块内地址字段26可包括15比特数据。
如上所述,通过模块地址字段24和模块内地址字段26,可以确定要访 问的特定存储器模块中的特定地址。为了实现对一个或多个存储器模块的灵 活访问,寻址字段20还可包括并行控制字段22,以指示要并行访问的一个 或多个存储器模块。在图3的示例中,并行控制字段22包括模块控制码23, 模块控制码23可包括一个或多个比特a1、a2、…、ai,模块控制码23的比 特数i可以例如等于模块地址字段24的比特数j,从而如下面详细描述的那样,可以对模块地址字段24的每个比特进行控制码操作。在另一些实施例 中,模块控制码23的比特数i也可以少于模块地址字段24的比特数j,从 而仅对模块地址字段24的部分比特进行控制码操作。
这里,控制码操作是指,模块控制码23可以指示模块地址字段24内的 对应比特具有任意取值,例如“0”或“1”,而非模块地址字段24本身限 定的值。以模块控制码23和模块地址字段24均具有5比特为例来说明,模 块地址字段24可包括任意的5比特取值b1b2b3b4b5,以指示第1至第32存 储器模块中的任意一个模块。模块控制码23可具有取值例如00001,其指示 模块地址字段24中的对应比特b5可以为任意取值“0”或“1”,从而可以 并行访问b1b2b3b40和b1b2b3b41这两个存储器模块;当模块控制码23具有取 值例如00011时,其指示模块地址字段24中的对应比特b4和b5可以为任意 取值“0”或“1”,从而可以并行访问b1b2b300、b1b2b301、b1b2b310和b1b2b311 这四个存储器模块;以此类推,当模块控制码23具有取值例如11111时, 则可以并行访问所有32个存储器模块。当然,可以限制模块控制码23的比 特数i,以最多只能访问部分存储器模块。例如,当系统总线带宽仅等于16 个存储器模块的位宽之和时,控制码模块23可以仅包括4比特,从而最多 可以并行访问16个存储器模块,以不超出总线带宽的限制。在一特定示例 中,模块控制码23的所有比特可以取值为零,此时只能访问b1b2b3b4b5这一 个存储器模块。
在上面的示例中,模块控制码23从最低位起包括连续的取值“1”,从 而指示可以访问连续的多个存储器模块。在另一些实施例中,模块控制码23 也可以包括一个或多个低位零值,例如取值为00010,此时可并行访问 b1b2b30b5和b1b2b31b5这两个不连续的存储器模块;当取值为01010时,其指 示可并行访问b10b30b5、b10b31b5、b11b30b5和b11b31b5这四个不连续的存储 器模块。简言之,模块控制码23可以指示模块地址字段24中的任意比特可 具有任意取值,从而灵活地访问一个或多个连续的或不连续的存储器模块。
这样,如上所述,通过基于模块控制码23将模块地址字段24中的对应 比特取任意值,可以得到一个或多个存储器模块地址,从而可以并行地访问 对应的一个或多个存储器模块,实现了极大的访问灵活性,确保了高的数据 存取效率。
图4图示了根据本申请实施例的访问指令中的寻址字段的第二示例结构 的示意图。如图4所示,第二示例结构与图3的第一示例结构具有许多相同 字段,下面将避免对其的重复说明,而仅描述不同之处。
如图4所示,并行控制字段22可包括模块数量字段25,其指示从模块 地址字段24指定的存储器模块开始,要并行访问的存储器模块的数量。模 块数量字段25可包括与模块地址字段24相同的比特数,例如图4所示的p1、 p2、...、pj,从而最多可并行访问全部存储器模块。模块数量字段25的比 特数也可以少于模块地址字段24,例如前者为4,而后者为5,则最多可并 行访问32个存储器模块中的16个模块。这里,通过模块数量字段25,可以 并行地访问从模块地址字段24指定的模块起连续的多个模块。例如,当模 块数量字段25为00010时,可以访问从模块地址字段24指定的模块起的、 地址为b1b2b3b4b5+00、b1b2b3b4b5+01、b1b2b3b4b5+10的3个存储器模块;当 模块数量字段25为00011时,则可以访问从模块地址字段24指定的模块起 的、地址为b1b2b3b4b5+00、b1b2b3b4b5+01、b1b2b3b4b5+10和b1b2b3b4b5+11的 4个存储器模块;在一实施例中,当模块数量字段25的取值为0时,则只能 访问模块地址字段24指定的一个模块本身。
在一些实施例中,当根据模块数量字段25和模块地址字段24来确定要 并行访问的多个模块时,可以采用循环寻址。例如,当模块地址字段24指 定总共32个模块中的第31个模块,而模块数量字段25的值为00011时, 可以访问第31、32、1和2这四个模块。
可以看出,与图3的示例相比,通过采用模块数量字段25,能够更容易 地确定要并行访问的多个模块的起始模块和末尾模块;而在图3的示例中, 起始模块的某模块地址比特值一般为零,而末尾模块的该比特值一般为一。
在一些实施例中,还可以配合模块数量字段25,来访问从模块地址字段 24指定的模块起的多个不连续的模块。图5示出了这样的实施例。其中,图 5所示的访问指令中的寻址字段的第三示例结构与图4的第二示例结构具有 许多相同之处,下面将避免对其的重复说明,而仅描述不同之处。
如图5所示,并行控制字段22除了包括模块数量字段25之外,还包括 步长字段27,以用于指示要访问的多个存储器模块之间的间隔步长。也就是 说,基于并行控制字段22中的模块数量字段25和步长字段27以及模块地 址字段24,可以确定从模块地址字段24指定的存储器模块起的、具有步长 字段27指示的间隔步长的、模块数量字段25指示数量的存储器模块。步长 字段27的比特数可以少于模块地址字段24和/或模块数量字段25的比特数,例如图5仅示出了两个比特s1和s2作为示例。假定模块地址字段24的取值 为“00010”,即指定32个存储器模块中的第3个存储器模块,模块数量字 段25的取值为00011,即访问4个存储器模块(00010+00000、00010+00001、 00010+00010、00010+00011),步长字段27的取值为01,即间隔为1个模 块,则最终确定要并行访问的模块为第3、第5、第7和第9模块。当步长字段27的取值为00时,表示间隔为零,则可以访问连续的多个模块。如上 所述,通过设置步长字段27,可以根据需要访问连续的或不连续的多个存储 器模块。
图6图示了根据本申请实施例的访问指令中的寻址字段的第四示例结构 的示意图。如图6所示,第四示例结构与图3的第一示例结构具有许多相同 字段,下面将避免对其的重复说明,而仅描述不同之处。
如图6所示,除了包括并行控制字段22、模块地址字段24和模块内地 址字段26之外,访问指令中的寻址字段还可以包括循环控制指令30,以控 制可并行访问的一个或多个存储器模块的范围。在图6的示例中,循环控制 指令30可包括与模块控制码23类似的循环控制码31,其例如包括多个比特 c1、c2、…、ck。循环控制码31的比特数k应大于或等于模块控制码23的比 特数i,但是应小于或等于模块地址字段24的比特数j,例如它们可以彼此相等,即i=j=k。与模块控制码23类似,循环控制码31指示模块地址字段 24中的对应比特可具有任意值,从而确定一个或多个存储器模块地址,将其 作为并行访问的地址循环范围。应理解,基于模块控制码23确定的并行访 问模块地址应落在基于循环控制码31确定的循环范围内,因此,模块地址 字段24中的与模块控制码23对应的比特应包括在与循环控制码31对应的 比特范围内。这样,并行访问可以从并行控制字段22中的模块控制码23和 模块地址字段24一起确定的一个或多个存储器模块开始,并且在基于循环 控制码31确定的循环范围内循环。也就是说,当访问到达存储器模块的末 尾时,地址会增加而继续访问下一个模块,如果下一个模块的地址在循环范 围内,则可以继续访问下一个模块;而如果下一个模块在循环范围外,则应 跳转到循环范围的起始模块,从而确保在循环范围内循环寻址。如上所述, 通过循环寻址,可以将存储器访问限定在期望的循环范围内,从而避免例如内存或缓存溢出等问题。
例如,假设模块地址字段24为00010,模块控制码23为00001,循环 控制码31为00011,则可以并行地访问第3(00010)和第4(00011)模块, 并且访问应在第1(00000)、第2(00001)、第3(00010)和第4(00011) 模块内循环。访问从第3和第4模块内的、由模块内地址字段26确认的地 址开始,随着访问进行,地址会增加,当到达第3和第4模块的末尾时,地址增加会到达第5和第6模块的开始,由于第5模块和第6模块在循环范围 外,所以此时会基于循环控制码23确定的循环范围而强制跳转到循环范围 的开始处,即第1模块和第2模块,从而会继续访问第1和第2模块。
图7图示了根据本申请实施例的访问指令中的寻址字段的第五示例具体 结构的示意图。如图7所示,第五示例结构与图5所示的第三示例结构和图 6所示的第四示例结构有诸多相同之处,下面将避免对其的重复说明,而仅 描述不同之处。
如图7所示,循环控制字段30可包括起始字段33和末尾字段35,起始 字段指示起始存储器模块,末尾字段35指示末尾存储器模块,从而二者一 起指示循环寻址的范围。例如,起始字段33可以直接包括起始存储器模块 的模块地址,末尾字段35可以直接包括末尾存储器模块的模块地址,或者 可以包括从起始字段33指示的起始模块开始可以访问的存储器模块的数量, 从而可以计算得到末尾存储器模块的模块地址。通过设置起始字段33和末 尾字段35,可以更明确、直观地确定循环访问的范围。在访问时,对存储器 12的访问应在由起始字段33指示的起始存储器模块和末尾字段35指示的末 尾存储器模块之间循环寻址。
例如,假定在32个存储器模块0-31中,循环范围为0-7,基于模块地 址字段24以及并行控制字段22中的模块数量字段25和步长字段27确定的 要并行访问的存储器模块是5和7,那么当到达存储器模块末尾时,会继续 访问存储器模块6和8。虽然存储器模块6在循环范围内,但是存储器模块 8不在循环范围内,会自动跳转到循环范围的开始处,所以会继续访问存储 器模块6和0。
另一方面,当基于模块地址字段24以及模块数量字段25和步长字段27 确定的要并行访问的存储器模块时,也应在循环范围内。例如,当循环范围 为0-7,而基于模块地址字段24、模块数量字段25和步长字段27确定的要 并行访问的存储器模块是6和8时,需要在循环范围内循环寻址,从而最终 确定的要并行访问的存储器模块应是6和0。
在关于图6和图7描述的示例中,虽然为了描述方便,而将循环控制字 段30作为与并行控制字段22并列的一个字段进行了描述,但是应理解,循 环控制字段30也可以被视为并行控制字段22中的一个子字段,这并不影响 其应用原理。
上面描述了访问指令中的寻址字段的各种示例,下面返回图1,在步骤 S120中,解析访问指令以确定并行控制字段22、模块地址字段24和模块内 地址字段26。应理解,访问指令的结构,包括各个字段的顺序和长度等,可 以是预知的,通过解析步骤S120,可以确定访问指令中的各个字段,包括 上面详细描述的寻址字段中的各个子字段,的相应字段值。
继续参照图1,在步骤S130中,基于并行控制字段和模块地址字段确 定要访问的一个或多个存储器模块。该步骤的细节已经在上面关于图3到图 7的描述中进行了说明,在此不再赘述。
在步骤S140中,访问所述要访问的一个或多个存储器模块内的、由所 述模块内地址字段指定的地址。如前所述,访问可以根据指令类型而是读取 或写入操作等。当读取或写入多个数据时,地址可相应地增加。应注意,如 前所述,如果访问指令中的寻址字段确定了循环寻址范围,则访问地址应在 该循环范围内。
示例性装置
图8图示了根据本申请实施例的存储器访问控制装置的功能框图。
根据本申请实施例的存储器访问控制装置200用于控制例如CPU 10对 包括并列设置的多个存储器模块的存储器12的访问。如图8所示,存储器 访问控制装置200可选地可包括指令撷取单元210,用于从指令存储单元取 得访问指令。例如,指令撷取单元210可以从CPU 10的指令寄存器IR中取 得访问指令。
存储器访问控制装置200可包括指令解析单元220,用于对所取得的访 问指令进行解析。访问指令可包括上面参照图3-7描述的寻址字段,指令解 析单元220可解析各个字段以确定各个字段的值。
然后,根据指令解析单元220的解析结果,访问控制装置200中的访问 模块确定单元230可以基于并行控制字段和模块地址字段确定要并行访问的 一个或多个存储器模块。这里,并行控制字段可以具有图3-7所示的任一结 构或者这些结构的组合,而且如前所述,必要时,并行控制字段可包含循环 控制字段。基于并行控制字段和模块地址字段来确定要并行访问的一个或多 个存储器模块的过程已经在上面参照图3-7进行的描述中得到了详细说明, 这里不再重复描述。
继续参照图8,存储器访问控制装置200还可包括访问执行单元240, 用于执行对所确定的一个或多个存储器模块内的、由模块内地址字段指定的 地址的并行访问。在一个示例中,存储器访问控制装置200还可以可选地包 括指令缓存单元250,用于将解析后的访问指令存储在缓存队列中,以供访 问执行单元240执行。
这里,本领域技术人员可以理解,上述存储器访问控制装置200中的各 个单元和模块的具体功能和操作已经在上面参考图1到图7的描述中得到了 详细介绍,并因此,将省略其重复描述。
如上所述,根据本申请实施例的存储器访问控制装置200可以实现在各 种终端设备中,例如包括SRAM和/或DRAM阵列的计算机等。在一个示例 中,根据本申请实施例的存储器访问控制装置200可以作为一个软件模块和 /或硬件模块而集成到终端设备中。例如,该存储器访问控制装置200可以是 该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所 开发的一个应用程序;当然,该存储器访问控制装置200同样可以是该终端 设备的众多硬件模块之一。
示例性电子设备
图9图示了根据本申请实施例的电子设备的结构框图。
如图9所示,电子设备300可包括处理器310和存储器320。
处理器310可以是中央处理单元(CPU)或者具有数据处理能力和/或指 令执行能力的其他形式的处理单元,比如图形处理单元(GPU),或者也可 以是其他类型的处理单元,并且可以控制电子设备300中的其他组件以执行 期望的功能。
存储器320可以包括一个或多个计算机程序产品,所述计算机程序产品 可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性 存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高 速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器 (ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多 个计算机程序指令,处理器310可以运行所述程序指令,以实现上文所述的 本申请的各个实施例的存储器访问控制方法以及/或者其他期望的功能。在所 述计算机可读存储介质中还可以存储诸如访问数据等各种内容。
在一个示例中,电子设备300还可以包括:输入装置330和输出装置340, 这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置330可以包括例如键盘、鼠标等。
该输出装置340可以向外部输出各种信息,包括程序运行结果等。该输 出设备340可以包括例如显示器、扬声器、打印机、以及通信网络及其所连 接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备300中与本申请有关的组 件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据 具体应用情况,电子设备300还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品, 其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处 理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例 的存储器访问控制方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编 写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象 的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言, 诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备 上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用 户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务 器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算 机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本 说明书上述“示例性方法”部分中描述的根据本申请各种实施例的存储器访 问控制方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可 读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括 但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者 任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具 有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、 只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、 便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述 的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是, 在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优 点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具 体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限 制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子 并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。 如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、 装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇, 指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词 汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用 的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是 可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方 案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或 者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而 易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范 围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的 原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本 申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和 实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子 组合。

Claims (10)

1.一种存储器访问控制方法,所述存储器包括并列设置的多个存储器模块,所述方法包括:
接收包括寻址字段的访问指令,所述寻址字段包括用于控制并行访问的并行控制字段、用于指示存储器模块的模块地址字段、以及用于指示存储器模块内的地址的模块内地址字段;
解析所述访问指令以确定所述并行控制字段、所述模块地址字段和所述模块内地址字段;
基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块;以及
访问所述要访问的一个或多个存储器模块内的、由所述模块内地址字段指定的地址,
其中,所述并行控制字段包括模块数量字段,所述模块数量字段指示要并行访问的存储器模块的数量,且
其中,基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块包括:
将从所述模块地址字段指定的存储器模块起的、所述模块数量字段指示数量的存储器模块确定为要访问的一个或多个存储器模块。
2.如权利要求1所述的方法,其中,所述并行控制字段包括模块控制码,所述模块控制码指示所述模块地址字段内的对应比特具有任意值,且
其中,基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块包括基于所述模块控制码,将所述模块地址字段内的对应比特取任意值,从而得到与要访问的一个或多个存储器模块相关联的一个或多个存储器模块地址。
3.如权利要求2所述的方法,其中,所述并行控制字段包括的比特数等于或小于所述模块地址字段包括的比特数。
4.如权利要求1所述的方法,其中,所述并行控制字段还包括步长字段,所述步长字段指示要访问的多个存储器模块之间的间隔步长,且
其中,基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块包括:
将从所述模块地址字段指定的存储器模块起的、具有所述步长字段指示的间隔步长的、所述模块数量字段指示数量的存储器模块确定为要访问的一个或多个存储器模块。
5.如权利要求2所述的方法,其中,所述寻址字段还包括循环控制字段,所述循环控制字段包括循环控制码,所述循环控制码指示所述模块地址字段内的对应比特具有任意值,基于所述循环控制码和所述模块地址字段确定包括一个或多个存储器模块的循环范围,
其中,所述模块地址字段中的与所述模块控制码对应的比特包括在与循环控制码对应的比特的范围内,且
其中,对所述存储器的访问从由所述并行控制字段和所述模块地址字段确定的要访问的一个或多个存储器模块开始,并且在所述循环范围内循环寻址。
6.如权利要求5所述的方法,其中,所述循环控制码的比特数等于或大于所述模块控制码的比特数。
7.如权利要求1所述的方法,其中,所述访问指令还包括循环控制字段,所述循环控制字段包括指示起始存储器模块的起始字段和指示末尾存储器模块的末尾字段,对所述存储器的访问从由所述并行控制字段和所述模块地址字段确定的要访问的一个或多个存储器模块开始,并且在所述起始存储器模块和所述末尾存储器模块之间循环寻址。
8.一种存储器访问控制装置,用于控制对存储器的访问,所述存储器包括并列设置的多个存储器模块,所述控制装置包括:
指令解析单元,用于解析包括寻址字段的访问指令,所述寻址字段包括用于控制并行访问的并行控制字段、用于指示存储器模块的模块地址字段、以及用于指示存储器模块内的地址的模块内地址字段;
模块确定单元,用于基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块;以及
访问执行单元,用于执行对所述要访问的一个或多个存储器模块内的、由所述模块内地址字段指定的地址的访问,
其中,所述并行控制字段包括模块数量字段,所述模块数量字段指示要并行访问的存储器模块的数量,且
其中,基于所述并行控制字段和所述模块地址字段确定要访问的一个或多个存储器模块包括:
将从所述模块地址字段指定的存储器模块起的、所述模块数量字段指示数量的存储器模块确定为要访问的一个或多个存储器模块。
9.一种电子设备,包括:
处理器;以及
存储器,在所述存储器中存储有程序指令,所述程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-7中的任一项所述的方法。
10.一种可读存储介质,其上存储有程序指令,所述程序指令在被处理器运行时使得所述处理器执行如权利要求1-7中的任一项所述的方法。
CN201811440175.9A 2018-11-29 2018-11-29 存储器访问控制方法、装置和电子设备 Active CN111240581B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811440175.9A CN111240581B (zh) 2018-11-29 2018-11-29 存储器访问控制方法、装置和电子设备
US16/697,954 US11144215B2 (en) 2018-11-29 2019-11-27 Method, apparatus and electronic device for controlling memory access
JP2019215224A JP6890804B2 (ja) 2018-11-29 2019-11-28 メモリアクセスを制御するための方法、機器、及び電子装置
KR1020190156742A KR102322593B1 (ko) 2018-11-29 2019-11-29 메모리 액세스 제어를 위한 방법, 장치 및 전자 장치
TW108143814A TWI729595B (zh) 2018-11-29 2019-11-29 記憶體存取控制方法、裝置和電子設備

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811440175.9A CN111240581B (zh) 2018-11-29 2018-11-29 存储器访问控制方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111240581A CN111240581A (zh) 2020-06-05
CN111240581B true CN111240581B (zh) 2023-08-08

Family

ID=68731848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811440175.9A Active CN111240581B (zh) 2018-11-29 2018-11-29 存储器访问控制方法、装置和电子设备

Country Status (5)

Country Link
US (1) US11144215B2 (zh)
JP (1) JP6890804B2 (zh)
KR (1) KR102322593B1 (zh)
CN (1) CN111240581B (zh)
TW (1) TWI729595B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02116943A (ja) * 1988-10-26 1990-05-01 Nec Corp 情報処理装置
CN1218564A (zh) * 1996-03-15 1999-06-02 微米技术有限公司 执行直接存储器访问(dma)字节交换的方法和装置
US5960450A (en) * 1990-01-31 1999-09-28 Hewlett-Packard Company System and method for accessing data between a host bus and system memory buses in which each system memory bus has a data path which is twice the width of the data path for the host bus
CN1639683A (zh) * 2002-03-07 2005-07-13 诺基亚有限公司 用于并行访问多个存储器模块的方法和设备
CN102197382A (zh) * 2008-10-23 2011-09-21 美信集成产品公司 多层内容保护微控制器
CN102652311A (zh) * 2009-12-10 2012-08-29 国际商业机器公司 高速访问存储器和方法
CN103853668A (zh) * 2012-12-04 2014-06-11 三星电子株式会社 存储器控制器及其执行的操作方法、以及存储器系统
CN104937577A (zh) * 2013-03-15 2015-09-23 惠普发展公司,有限责任合伙企业 支持扩展写入的存储器模块控制器
CN106469118A (zh) * 2015-08-19 2017-03-01 深圳市博巨兴实业发展有限公司 一种存储器内存分配访问方法及装置
KR20170117326A (ko) * 2016-04-13 2017-10-23 로베르트 보쉬 게엠베하 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN108139992A (zh) * 2016-08-09 2018-06-08 华为技术有限公司 访问存储设备的方法和存储设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323965A (en) 1980-01-08 1982-04-06 Honeywell Information Systems Inc. Sequential chip select decode apparatus and method
JPH0476643A (ja) 1990-07-12 1992-03-11 Fujitsu Ltd 主記憶初期化制御方式
JP2000122919A (ja) 1998-10-13 2000-04-28 Mitsubishi Electric Corp プロセッサ及びメモリ制御方法
JP2003186866A (ja) 2001-12-20 2003-07-04 Sharp Corp データ駆動型情報処理装置およびその処理方法
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7243205B2 (en) 2003-11-13 2007-07-10 Intel Corporation Buffered memory module with implicit to explicit memory command expansion
KR20070086246A (ko) 2004-11-15 2007-08-27 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 처리 시스템, 캐시 시스템 및 프리페치 데이터 전송 방법
US7827345B2 (en) * 2005-08-04 2010-11-02 Joel Henry Hinrichs Serially interfaced random access memory
US8006044B2 (en) 2006-12-21 2011-08-23 Intel Corporation Flexible selection command for non-volatile memory
JP2010244164A (ja) 2009-04-02 2010-10-28 Renesas Electronics Corp Dmaコントローラ、情報処理装置、及びdma管理方法
KR102432754B1 (ko) * 2013-10-21 2022-08-16 에프엘씨 글로벌 리미티드 최종 레벨 캐시 시스템 및 이에 대응하는 방법
US9389793B2 (en) * 2014-03-06 2016-07-12 Freescale Semiconductor, Inc. Trusted execution and access protection for embedded memory
US10235103B2 (en) * 2014-04-24 2019-03-19 Xitore, Inc. Apparatus, system, and method of byte addressable and block addressable storage and retrival of data to and from non-volatile storage memory
US10032492B2 (en) 2016-03-18 2018-07-24 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, driver IC, computer and electronic device
JP6961997B2 (ja) 2017-05-15 2021-11-05 富士通株式会社 情報処理装置、メモリ制御装置および情報処理装置の制御方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02116943A (ja) * 1988-10-26 1990-05-01 Nec Corp 情報処理装置
US5960450A (en) * 1990-01-31 1999-09-28 Hewlett-Packard Company System and method for accessing data between a host bus and system memory buses in which each system memory bus has a data path which is twice the width of the data path for the host bus
CN1218564A (zh) * 1996-03-15 1999-06-02 微米技术有限公司 执行直接存储器访问(dma)字节交换的方法和装置
CN1639683A (zh) * 2002-03-07 2005-07-13 诺基亚有限公司 用于并行访问多个存储器模块的方法和设备
CN102197382A (zh) * 2008-10-23 2011-09-21 美信集成产品公司 多层内容保护微控制器
CN102652311A (zh) * 2009-12-10 2012-08-29 国际商业机器公司 高速访问存储器和方法
CN103853668A (zh) * 2012-12-04 2014-06-11 三星电子株式会社 存储器控制器及其执行的操作方法、以及存储器系统
CN104937577A (zh) * 2013-03-15 2015-09-23 惠普发展公司,有限责任合伙企业 支持扩展写入的存储器模块控制器
CN106469118A (zh) * 2015-08-19 2017-03-01 深圳市博巨兴实业发展有限公司 一种存储器内存分配访问方法及装置
KR20170117326A (ko) * 2016-04-13 2017-10-23 로베르트 보쉬 게엠베하 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN108139992A (zh) * 2016-08-09 2018-06-08 华为技术有限公司 访问存储设备的方法和存储设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
寻址与存储功能一体化的存储器设计;徐翔宇;余玲;;大众科技;第18卷(第04期);第24-25+46页 *

Also Published As

Publication number Publication date
TWI729595B (zh) 2021-06-01
US11144215B2 (en) 2021-10-12
KR102322593B1 (ko) 2021-11-08
JP6890804B2 (ja) 2021-06-18
US20200174682A1 (en) 2020-06-04
KR20200066236A (ko) 2020-06-09
JP2020087477A (ja) 2020-06-04
TW202105187A (zh) 2021-02-01
CN111240581A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
US10545672B2 (en) Method for accessing extended memory, device, and system
TWI442318B (zh) 間接暫存器存取之系統及方法
US7627743B2 (en) Method and circuit implementation for multiple-word transfer into/from memory subsystems
US20230185649A1 (en) Streaming engine with deferred exception reporting
US11294675B2 (en) Writing prefetched data into intra-core caches of cores identified by prefetching instructions
US11120329B2 (en) Multicast network and memory transfer optimizations for neural network hardware acceleration
US20150143057A1 (en) Adaptive data prefetching
CN108205447B (zh) 使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎
JP2018534666A (ja) インメモリ処理及び狭幅データポートを備えたコンピュータデバイス
CN114048151A (zh) 主机内存访问方法、装置及电子设备
CN111240581B (zh) 存储器访问控制方法、装置和电子设备
US20080177930A1 (en) Fully associative banking for memory
US9971579B2 (en) Processor and command processing method performed by same
CN112631955B (zh) 数据处理方法、装置、电子设备以及介质
US20120198213A1 (en) Packet handler including plurality of parallel action machines
US20030172246A1 (en) Circular addressing algorithms providing increased compatibility with one or more higher-level programming languages
US6502177B1 (en) Single cycle linear address calculation for relative branch addressing
US20240078046A1 (en) Computer system and method for data access
CN107193757B (zh) 数据预取方法、处理器和设备
US9021234B2 (en) Indirect designation of physical configuration number as logical configuration number based on correlation information, within parallel computing
US10817288B2 (en) Combined instruction for addition and checking of terminals
TW202144998A (zh) 控制命令列隊的裝置及方法
JP5559932B2 (ja) 半導体装置
KR0170288B1 (ko) 메모리 엑세스 장치 및 그 방법
JP2004152292A (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