CN110175049B - 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法 - Google Patents

一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法 Download PDF

Info

Publication number
CN110175049B
CN110175049B CN201910411863.0A CN201910411863A CN110175049B CN 110175049 B CN110175049 B CN 110175049B CN 201910411863 A CN201910411863 A CN 201910411863A CN 110175049 B CN110175049 B CN 110175049B
Authority
CN
China
Prior art keywords
load
access
data
store
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.)
Active
Application number
CN201910411863.0A
Other languages
English (en)
Other versions
CN110175049A (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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201910411863.0A priority Critical patent/CN110175049B/zh
Publication of CN110175049A publication Critical patent/CN110175049A/zh
Application granted granted Critical
Publication of CN110175049B publication Critical patent/CN110175049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • 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

Abstract

本发明公开了一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法,包括RISC处理器,RISC处理器通过系统互连总线与总线桥接器相连,总线桥接器连接至存储器控制器,存储器控制器连接至内部/外部存储器。本发明能够提高对存储器数据的读写访问效率,并且提供对支持“地址未对齐”数据访问操作的高有效、高可靠的管控途径。

Description

一种支持地址未对齐的数据拆分与聚合访问的处理系统及 方法
技术领域
本发明涉及嵌入式存储器处理领域,具体涉及一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法。
背景技术
现代计算机中内存空间都是按照字节来划分的,从理论上讲对任何类型的变量的访问都可以从任何地址开始,但实际情况是在访问特定类型的变量时通常只能在特定的内存空间进行访问,这种限定被称为“地址对齐”,它让各种数据类型按照一定的规则在内存空间上进行排列。例如,典型的32位系统中一般有字节对齐(8位)、半字对齐(16位)、字对齐(32位)、双字对齐(64位)等对齐方式,分别对齐到连续地址(被1整除)、偶数地址(被2整除)、字地址(被4整除)、双字地址(被8整除)上,这些整除值也被称为“对齐系数”。
随着嵌入式处理器性能需求的不断增长,某些对存储空间敏感的应用更倾向于采用连续地址空间的数据访问方式,而这种方式可能会频繁的出现“地址未对齐”的现象。由于目前的RISC处理器普遍都将“地址未对齐”作为一种异常事件,并交给软件进行相关处理,这往往需要几十或者上百个处理器周期,因此极大的降低了在这种应用下所能获得的数据访问效率。虽然文献《支持硬件非对齐存储访问的RISC处理器加载/存储单元》(专利申请号:201410582342.9)提出在遇到“地址未对齐”的存储器数据访问时,不产生异常事件并直接通过硬件拆分逻辑分成多个满足“地址对齐”规则的子操作来实现,这样可以提高在该应用下的处理性能;但是,它具有潜在的可靠性问题,无法适用于诸如航空航天等恶劣环境,因为一个常规的满足“地址对齐”规则的存储器数据访问可能受环境因素的影响突变成一个“地址未对齐”的操作,而且它还没有任何异常指示就自动执行了,最终必然导致错误结果。显然,针对程序执行中出现的“地址未对齐”情况,如何实现一种有效可靠的存储器数据访问,目前并没有很好的解决措施。
另外,在提高存储器数据访问效率方面,目前的技术也只是针对处理器或者只是针对存储器控制器独立进行优化,并没有一种统一通用、能够协调处理器与存储器控制器的面向整个处理系统的优化方法。
发明内容
本发明的目的在于提供一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法,以解决现有技术存在的问题,本发明能够提高对存储器数据的读写访问效率,并且提供对支持“地址未对齐”数据访问操作的高有效、高可靠的管控途径。
为达到上述目的,本发明采用如下技术方案:
一种支持地址未对齐的数据拆分与聚合访问的处理系统,包括RISC处理器,RISC处理器通过系统互连总线与总线桥接器相连,总线桥接器连接至存储器控制器,存储器控制器连接至内部/外部存储器;
所述RISC处理器包括指令流水线,指令流水线产生的load/store访问传输至地址未对齐检测逻辑,当地址未对齐检测逻辑检测到地址未对齐指示信号时,且地址未对齐使能位无效时,地址未对齐检测逻辑将load/store访问传输至异常触发逻辑,否则,地址未对齐检测逻辑将load/store访问直接传输至数据Cache或通过第一数据拆分逻辑传输至数据Cache,同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,Load队列的数据传输至寄存器文件,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列,数据Cache的数据直接传输至寄存器文件,Load队列和Store队列将load访问和store访问依次经过数据聚合逻辑和数据访问接口传输至系统互连总线。
进一步地,总线桥接器包括第二数据拆分逻辑,所述第二数据拆分逻辑用于将猝发传输请求拆分成满足存储器控制器要求的load访问和store访问。
进一步地,当地址未对齐检测逻辑没有检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问直接传输至数据Cache;当地址未对齐检测逻辑检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问通过第一数据拆分逻辑传输至数据Cache。
一种支持地址未对齐的数据拆分与聚合访问的处理方法,包括以下步骤:
步骤一:用户根据使用条件配置地址未对齐使能位,当地址未对齐使能位无效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问产生地址未对齐指示信号时,该load/store访问使得异常触发逻辑产生异常,RISC处理器执行异常程序;
当地址未对齐使能位无效或有效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问没有产生地址未对齐指示信号时,该load/store访问直接传输至数据Cache,同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列;
当地址未对齐使能位有效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问产生地址未对齐指示信号时,地址未对齐检测逻辑将该load/store访问传输至第一数据拆分逻辑,第一数据拆分逻辑将未对齐的load/store访问拆分成多个满足地址对齐规则的load/store访问,然后将满足地址对齐规则的load/store访问传输至数据Cache;同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列;
步骤二:采用数据聚合逻辑将Store队列中的多个满足地址对齐规则的store访问聚合成一个满足地址对齐规则的连续猝发store访问,同时采用数据聚合逻辑将Load队列中多个满足地址对齐规则的load访问聚合成一个满足地址对齐规则的连续猝发load访问;
步骤三:采用数据访问接口将连续猝发store访问和连续猝发load访问按照系统互连总线协议生成满足系统互连总线协议的连续猝发store访问和连续猝发load访问;
步骤四:采用总线桥接器将满足系统互连总线协议的连续猝发store访问和连续猝发load访问通过存储器控制器传输给内部/外部存储器;
步骤五:内部/外部存储器将load访问的数据依次经过存储器控制器、总线桥接器、系统互连总线、数据访问接口及数据聚合逻辑传输至Load队列,当数据Cache产生Cache缺失指示信号时,将Load队列的数据传输至寄存器文件,当数据Cache没有产生Cache缺失指示信号时,将数据Cache的数据直接传输至寄存器文件。
进一步地,步骤四中总线桥接器包括第二数据拆分逻辑,当连续猝发store访问和连续猝发load访问不满足存储器控制器要求时,采用第二数据拆分逻辑将连续猝发store访问和连续猝发load访问拆分为满足存储器控制器要求的单个store访问和单个load访问;当连续猝发store访问和连续猝发load访问满足存储器控制器要求时,总线桥接器直接将连续猝发store访问和连续猝发load访问传输至存储器控制器。
与现有技术相比,本发明具有以下有益的技术效果:
(1)该系统能够支持所有符合“地址对齐”或“地址未对齐”规则的存储器数据访问,特别是针对“地址未对齐”操作,可以根据应用的性能需求或可靠性需求来进行配置选择是否使能,从而为用户提供了更多的灵活性。
(2)系统中RISC处理器内部的数据拆分逻辑确保了在“地址未对齐”条件下,任何一个load/store操作都能被划分成多个满足“地址对齐”规则的子操作,并进行快速的数据Cache访问,从而支持RISC处理器对存储数据的高效读写功能。
(3)系统中RISC处理器内部的数据聚合逻辑将所有原始的load/store操作分别按同一主存块中地址相邻的取数访问,以及地址相邻但不重叠的存数访问进行聚合拼接,从而形成一系列最大128位数据位宽的连续性load/store操作并发送到系统互连总线上,该聚合逻辑可以避免RISC处理器对系统存储器的冗余访问,从而减少访存延迟和RISC处理器流水线的等待,有助于提高整个系统的性能。
(4)系统中RISC处理器对外的数据访问接口采用64位地址、128位数据、16位字节有效位的统一标识结构,从而能够支持32位和64位RISC处理器的load/store最大双字访问带宽,并且完全不用关心该load/store访问的“地址对齐”属性情况,因此更容易实现与系统互连总线的兼容集成与数据传输。
(5)系统中总线桥接器提供了从RISC处理器统一数据访问接口到内部或外部存储器的数据访问匹配控制。对于支持猝发传输的存储设备,总线桥接器直接下放来自于统一数据访问接口的load/store操作;对于仅支持按“地址对齐”的小位宽数据传输的存储设备,总线桥接器可通过自身的数据拆分逻辑将其分割成满足要求的load/store子操作进行访问。因此,通过该总线桥接器整个系统可以兼容各种类型的存储器设备,适用性更强。
本发明方法具有以下有益的技术效果:
(1)用户可根据处理系统的性能需求或可靠性需求选择实时配置是否使能地址未对齐,因此本发明方法适用性强,操作简单、灵活。
(2)通过数据聚合逻辑将指令流水线发出的缓存在Load队列或Store队列里的多个小位宽load/store访问聚合成一个连续猝发的load访问或store访问,并以乱序访问方式发送到系统互连总线上,提高了总线传输带宽和RISC处理器的访存效率。
(3)通过总线桥接器实现了整个处理系统到下游存储器件的兼容性互连,保证数据传输类型的自适应匹配,因此本发明通用性强、实用价值高。
附图说明
图1为本发明用于实现数据拆分与聚合访问的处理系统结构图;
图2为基于统一数据访问标识的针对load/store半字访问的数据拆分逻辑结构示意图;
图3为基于统一数据访问标识的针对load/store单字访问的数据拆分逻辑结构示意图;
图4为基于统一数据访问标识的针对load/store双字访问的数据拆分逻辑结构示意;
图5为基于统一数据访问标识的针对load/store访问的数据聚合逻辑结构图。
具体实施方式
下面对本发明作进一步详细描述:
本发明涉及到基于RISC处理器的系统芯片中用以支持“地址未对齐”的数据访问,以及提高整个系统存储器数据访问效率的数据拆分与聚合方法和结构,本发明提出的实现存储器数据拆分与聚合访问的处理系统主要针对RISC处理器和总线桥接器采用了如下方面的技术手段:
(1)针对RISC处理器,在硬件上设置实现“地址未对齐”数据访问操作的使能控制逻辑。当面向存储空间敏感需采用连续地址访问的应用环境时,用户可配置该使能位,以支持硬件级的“地址未对齐”操作,从而提高存储器数据访问的效率;当面向高可靠的应用环境时,用户可配置成不使能“地址未对齐”操作,使得所有非预期的“地址未对齐”数据访问都触发异常,并由软件进行异常处理。
(2)针对RISC处理器,设置一套支持最大双字数据访问的有效位可统一配置的数据访问接口。结合目前处理器典型位宽为32位和64位,因此本发明将数据访问接口统一定义成64位地址总线、128位数据总线以及对应的16位数据字节有效标识。当RISC处理器为32位时,该数据访问接口的高位部分保留不用;当RISC处理器为64位时,该数据访问接口的所有地址线、数据线以及对应的数据字节有效标识位都被使用。
(3)针对RISC处理器,实现load(取数)访问在发生“地址未对齐”现象时可选用的数据拆分逻辑和异常触发逻辑。当处理器检测到有“地址未对齐”的load访问时,如果此时没有使能“地址未对齐”操作,则直接触发异常,并且该load操作不会访问数据Cache,也不会通过处理器的数据访问接口发送到系统互连总线上;如果此时使能了“地址未对齐”操作,则硬件自动将该load访问拆分成若干个满足“地址对齐”规则的子操作去访问数据Cache,若Cache命中,则处理器不会向系统互连总线发送任何请求,若Cache缺失,则处理器将原始“地址未对齐”的load访问发送到系统互连总线上。总的来说,该“地址未对齐”的load操作只可能在访问处理器内部的数据Cache时才被拆分,而处理器要么不向系统互连总线发送load访问请求,要么则发送原始的未被拆分的load请求。当load访问结束后,根据Cache命中情况,将读取的数据写回到处理器内部的通用寄存器文件(GPR)中。
(4)针对RISC处理器,实现load(取数)访问在数据访问接口上的数据聚合逻辑。由于处理器内部的load队列(LQ)记录了当前未触发异常但发生Cache缺失的load访问,而这些访问是要发送到系统互连总线上的,并且它们可能是对同一个主存块中相邻地址的字节、半字、字或双字进行访问,为了避免这些load访问多次去请求同一个主存块所带来的冗余开销和性能损失,本发明将处理器中这些相邻地址的load访问聚合成一个最大128位数据位宽的load访问并发送到系统互连总线上。
(5)针对RISC处理器,实现store(存数)访问在发生“地址未对齐”现象时可选用的数据拆分逻辑和异常触发逻辑。当处理器检测到有“地址未对齐”的store访问时,如果此时没有使能“地址未对齐”操作,则直接触发异常,并且该store操作不会访问数据Cache,也不会通过处理器的数据访问接口发送到系统互连总线上;如果此时使能了“地址未对齐”操作,则硬件自动将该store访问拆分成若干个满足“地址对齐”规则的子操作去访问数据Cache,若Cache命中,则处理器使用拆分后的store子操作去更新数据Cache,否则不更新数据Cache,但此时无论数据Cache是否命中,处理器都将原始的“地址未对齐”的store访问发送到系统互连总线上。
(6)针对RISC处理器,实现store(存数)访问在数据访问接口上的数据聚合逻辑。由于处理器内部的store队列(SQ)记录了当前未触发异常的所有store访问,而这些访问是要发送到系统互连总线上的,并且它们可能是对同一个主存块中地址相邻但不重叠的字节、半字、字或双字进行访问,为了支持处理器对存储器的猝发连续访问,提高数据写操作的效率,本发明将处理器中这些地址相邻但不重叠的store访问聚合成一个最大128位数据位宽的store访问并发送到系统互连总线上。
(7)针对总线桥接器,实现来自于系统互连总线上的RISC处理器数据读写操作到片内或片外存储器访问属性的转换。总线桥接器接收RISC处理器经过聚合逻辑后的统一位宽的数据读写访问请求,并根据系统中集成的存储器控制器的功能特性,判断该聚合操作是否在存储器控制器的处理范围内,如果是,则直接放行;否则,总线桥接器将该聚合操作进行相应的数据拆分,以满足存储器控制器的访问控制需求。
下面结合附图及实施例对本发明作进一步详细描述:
图1给出了本发明用于实现数据拆分与聚合访问的处理系统,它主要涉及RISC处理器和总线桥接器两大部分的设计,RISC处理器通过系统互连总线与总线桥接器相连,总线桥接器连接至存储器控制器,存储器控制器连接至内部/外部存储器;所述RISC处理器包括指令流水线,指令流水线产生的load/store访问传输至地址未对齐检测逻辑,当地址未对齐检测逻辑检测到地址未对齐指示信号时,且地址未对齐使能位无效时,地址未对齐检测逻辑将load/store访问传输至异常触发逻辑,否则,地址未对齐检测逻辑将load/store访问直接传输至数据Cache或通过第一数据拆分逻辑传输至数据Cache,同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,Load队列的数据传输至寄存器文件,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列,数据Cache的数据直接传输至寄存器文件,Load队列和Store队列将load访问和store访问依次经过数据聚合逻辑和数据访问接口传输至系统互连总线。总线桥接器包括第二数据拆分逻辑,所述第二数据拆分逻辑用于将猝发传输请求拆分成满足存储器控制器要求的load访问和store访问,当地址未对齐检测逻辑没有检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问直接传输至数据Cache;当地址未对齐检测逻辑检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问通过第一数据拆分逻辑传输至数据Cache。
图2给出了基于统一数据访问标识的针对load/store半字访问的数据拆分逻辑结构示意。load/store半字访问在发生“地址未对齐”现象时,被拆分成两个字节访问子操作。
图3给出了基于统一数据访问标识的针对load/store单字访问的数据拆分逻辑结构示意。load/store单字访问在发生“地址未对齐”现象时,可能被拆分成2个半字访问子操作,也可能被拆分成两个字节和一个半字访问的3个子操作。
图4给出了基于统一数据访问标识的针对load/store双字访问的数据拆分逻辑结构示意。load/store双字访问在发生“地址未对齐”现象时,可能被拆分成两个半字和一个单字访问的3个子操作,也可能被拆分成两个字节、一个半字和一个单字访问的4个子操作。
图5给出了基于统一数据访问标识的针对load/store访问的数据聚合逻辑结构。对于load访问,无论它们是字节、半字、单字或双字操作,只要它们位于同一主存块中的相邻地址,即便有访问重叠区,都可以被聚合成一个最大位宽为128位的load操作。对于store访问,同样无论是字节、半字、单字或双字操作,只要地址相邻并且没有重叠区就可以被聚合成一个最大128位的store操作。
实施例
将本发明应用于一款基于PowerPC架构的RISC处理器系统芯片中,通过设置“地址未对齐”使能控制逻辑,在系统出现“地址未对齐”访问操作时,可以选择RISC处理器是通过产生异常的软件方式来进行处理,还是选择由内部设置的数据拆分逻辑的硬件方式自动处理,这在可靠性和高效性方面给用户提供了更大的灵活性。另外,本发明设计的基于统一数据访问接口的数据聚合逻辑还可以降低RISC处理器对系统存储器发出冗余的load/store访问请求,提高了系统的总体性能;设置总线桥接器可以匹配RISC处理器与存储器控制器的访问时序,从而能够兼容各种存储设备,通用性强。

Claims (5)

1.一种支持地址未对齐的数据拆分与聚合访问的处理系统,其特征在于,包括RISC处理器,RISC处理器通过系统互连总线与总线桥接器相连,总线桥接器连接至存储器控制器,存储器控制器连接至内部/外部存储器;
所述RISC处理器包括指令流水线,指令流水线产生的load/store访问传输至地址未对齐检测逻辑,当地址未对齐检测逻辑检测到地址未对齐指示信号时,且地址未对齐使能位无效时,地址未对齐检测逻辑将load/store访问传输至异常触发逻辑,否则,地址未对齐检测逻辑将load/store访问直接传输至数据Cache或通过第一数据拆分逻辑传输至数据Cache,同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,Load队列的数据传输至寄存器文件,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列,数据Cache的数据直接传输至寄存器文件,Load队列和Store队列将load访问和store访问依次经过数据聚合逻辑和数据访问接口传输至系统互连总线。
2.根据权利要求1所述的一种支持地址未对齐的数据拆分与聚合访问的处理系统,其特征在于,总线桥接器包括第二数据拆分逻辑,所述第二数据拆分逻辑用于将猝发传输请求拆分成满足存储器控制器要求的load访问和store访问。
3.根据权利要求1所述的一种支持地址未对齐的数据拆分与聚合访问的处理系统,其特征在于,当地址未对齐检测逻辑没有检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问直接传输至数据Cache;当地址未对齐检测逻辑检测到地址未对齐指示信号时,地址未对齐检测逻辑将load/store访问通过第一数据拆分逻辑传输至数据Cache。
4.一种支持地址未对齐的数据拆分与聚合访问的处理方法,根据权利要求1所述的一种支持地址未对齐的数据拆分与聚合访问的处理系统,其特征在于,包括以下步骤:
步骤一:用户根据使用条件配置地址未对齐使能位,当地址未对齐使能位无效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问产生地址未对齐指示信号时,该load/store访问使得异常触发逻辑产生异常,RISC处理器执行异常程序;
当地址未对齐使能位无效或有效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问没有产生地址未对齐指示信号时,该load/store访问直接传输至数据Cache,同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列;
当地址未对齐使能位有效,且地址未对齐检测逻辑检测到指令流水线中的load/store访问产生地址未对齐指示信号时,地址未对齐检测逻辑将该load/store访问传输至第一数据拆分逻辑,第一数据拆分逻辑将未对齐的load/store访问拆分成多个满足地址对齐规则的load/store访问,然后将满足地址对齐规则的load/store访问传输至数据Cache;同时地址未对齐检测逻辑将load/store访问中的store访问传输至Store队列,当数据Cache产生Cache缺失指示信号时,load/store访问中的load访问传输至Load队列,当数据Cache没有产生Cache缺失指示信号时,load/store访问中的load访问不传输至Load队列;
步骤二:采用数据聚合逻辑将Store队列中的多个满足地址对齐规则的store访问聚合成一个满足地址对齐规则的连续猝发store访问,同时采用数据聚合逻辑将Load队列中多个满足地址对齐规则的load访问聚合成一个满足地址对齐规则的连续猝发load访问;
步骤三:采用数据访问接口将连续猝发store访问和连续猝发load访问按照系统互连总线协议生成满足系统互连总线协议的连续猝发store访问和连续猝发load访问;
步骤四:采用总线桥接器将满足系统互连总线协议的连续猝发store访问和连续猝发load访问通过存储器控制器传输给内部/外部存储器;
步骤五:内部/外部存储器将load访问的数据依次经过存储器控制器、总线桥接器、系统互连总线、数据访问接口及数据聚合逻辑传输至Load队列,当数据Cache产生Cache缺失指示信号时,将Load队列的数据传输至寄存器文件,当数据Cache没有产生Cache缺失指示信号时,将数据Cache的数据直接传输至寄存器文件。
5.根据权利要求4所述的一种支持地址未对齐的数据拆分与聚合访问的处理方法,其特征在于,步骤四中总线桥接器包括第二数据拆分逻辑,当连续猝发store访问和连续猝发load访问不满足存储器控制器要求时,采用第二数据拆分逻辑将连续猝发store访问和连续猝发load访问拆分为满足存储器控制器要求的单个store访问和单个load访问;当连续猝发store访问和连续猝发load访问满足存储器控制器要求时,总线桥接器直接将连续猝发store访问和连续猝发load访问传输至存储器控制器。
CN201910411863.0A 2019-05-17 2019-05-17 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法 Active CN110175049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910411863.0A CN110175049B (zh) 2019-05-17 2019-05-17 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910411863.0A CN110175049B (zh) 2019-05-17 2019-05-17 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法

Publications (2)

Publication Number Publication Date
CN110175049A CN110175049A (zh) 2019-08-27
CN110175049B true CN110175049B (zh) 2021-06-08

Family

ID=67691455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910411863.0A Active CN110175049B (zh) 2019-05-17 2019-05-17 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法

Country Status (1)

Country Link
CN (1) CN110175049B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666508A (en) * 1995-06-07 1997-09-09 Texas Instruments Incorporated Four state two bit recoded alignment fault state circuit for microprocessor address misalignment fault generation
CN101299192B (zh) * 2008-06-18 2010-06-02 中国科学院计算技术研究所 一种非对齐访存的处理方法
GB2482710A (en) * 2010-08-12 2012-02-15 Advanced Risc Mach Ltd Enabling stack access alignment checking independently of other memory access alignment checking
CN104407880A (zh) * 2014-10-27 2015-03-11 杭州中天微系统有限公司 支持硬件非对齐存储访问的risc处理器加载/存储单元
CN105242904B (zh) * 2015-09-21 2018-05-18 中国科学院自动化研究所 用于处理器指令缓冲与循环缓冲的装置及其操作方法
CN107908573B (zh) * 2017-11-09 2020-05-19 苏州浪潮智能科技有限公司 一种缓存数据的方法及装置

Also Published As

Publication number Publication date
CN110175049A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
US7197588B2 (en) Interrupt scheme for an Input/Output device
CN111506534B (zh) 具有非阻塞高性能事务信用系统的多核总线架构
US8521977B2 (en) Information processing apparatus and access control method
US9003082B2 (en) Information processing apparatus, arithmetic device, and information transferring method
US8549231B2 (en) Performing high granularity prefetch from remote memory into a cache on a device without change in address
US9021155B2 (en) Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
KR100555394B1 (ko) Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘
US8234407B2 (en) Network use of virtual addresses without pinning or registration
US8478922B2 (en) Controlling a rate at which adapter interruption requests are processed
US8364853B2 (en) Fibre channel input/output data routing system and method
US8145878B2 (en) Accessing control and status register (CSR)
US8583988B2 (en) Fibre channel input/output data routing system and method
JP5591729B2 (ja) トレースデータの優先度の選択
US9489316B2 (en) Method and device implementing execute-only memory protection
US8677027B2 (en) Fibre channel input/output data routing system and method
US20040139295A1 (en) Acceleration of input/output (I/O) communication through improved address translation
US11741039B2 (en) Peripheral component interconnect express device and method of operating the same
CN110175049B (zh) 一种支持地址未对齐的数据拆分与聚合访问的处理系统及方法
US7581042B2 (en) I/O hub resident cache line monitor and device register update
US8364854B2 (en) Fibre channel input/output data routing system and method
US8738811B2 (en) Fibre channel input/output data routing system and method
US7917659B2 (en) Variable length command pull with contiguous sequential layout
CN116795493B (zh) 一种处理指令的方法、处理系统和计算机可读存储介质
US20070300032A1 (en) Early Directory Access of A Double Data Rate Elastic Interface
EP4020226A1 (en) Inter-node messaging controller

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