CN115421899A - 可重构处理器多端口可配缓存访问方法及装置 - Google Patents

可重构处理器多端口可配缓存访问方法及装置 Download PDF

Info

Publication number
CN115421899A
CN115421899A CN202210719004.XA CN202210719004A CN115421899A CN 115421899 A CN115421899 A CN 115421899A CN 202210719004 A CN202210719004 A CN 202210719004A CN 115421899 A CN115421899 A CN 115421899A
Authority
CN
China
Prior art keywords
access
memory
space
access request
request
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
Application number
CN202210719004.XA
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202210719004.XA priority Critical patent/CN115421899A/zh
Publication of CN115421899A publication Critical patent/CN115421899A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了一种可重构处理器多端口可配缓存访问方法及装置,涉及大规模集成电路技术领域,该方法包括:基于地址空间参数和访存延时参数,利用标志存储器和寄存器将多个访问请求分配至多个存储空间;按照预设端口优先级信息确定每个存储空间的目标访问请求;将目标访问请求的读访存请求发送至数据存储体;将目标访问请求的写操作请求发送至写缓冲区,进行数据写入。本发明可以使需要访问地址空间更大的PEA通过缓存空间模式访存,让某些需要访存延时更小的PEA通过缓冲空间模式访存,在性能和灵活性上兼顾缓存空间和缓冲空间的优点;在没有复制标志存储器的情况下实现多端口对缓存的访问;避免对缓存空间的污染,减少缺失率。

Description

可重构处理器多端口可配缓存访问方法及装置
技术领域
本发明涉及大规模集成电路技术领域,尤其是涉及一种可重构处理器多端口可配缓存访问方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
以冯诺依曼架构为核心的计算机和微处理器在过去取得了巨大的成功,因为以指令流驱动为特征的处理器通常具有很强的灵活性。目前,指令流驱动的处理器通常包 括通用处理器(General Purpose Processer,GPP)、可编程数字信号处理器 (ProgrammableDigital Signal Processor,PDSP)、专用指令集处理器(Application SpecificInstruction-set Processor,ASIP)和嵌入式处理器。然而,也正是由于指令驱动 的执行方式,以及有限的计算单元和存储带宽,此类处理器的性能和功耗很不理想, 无法满足与日俱增的应用计算需求。上世纪90年代兴起的专用集成电路(Application SpecificIntegrated Circuits,ASIC)采用的就是数据流驱动的计算架构。这一架构与通 用处理器的最大差别就在于前者的行为是确定的,控制向量事先存储在控制器中,等 待数据流去触发不同的状态即可。ASIC无需指令集,可以针对不同的应用去设计最 优的数据通路,从而达到优良的性能和较低的功耗。但是ASIC也存在致命的缺陷, 因为它的灵活性和可扩展性极差,无法适用于日益演变的应用场景和功能。随着制程 不断向前发展,专用集成电路的制造费用变得非常昂贵,其漫长的设计周期也制约了 它的向前发展。现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种可 重构的硬件,它利用硬件描述语言(VHDL和Verilog HDL)和特殊的工艺(EEPROM、 SRAM和反熔丝等),可以将设计快速映射成实际的电路。FPGA也有其缺点,那就 是设计的粒度太小、造价昂贵以及性能较ASIC差。
在这些背景下,一种面向数据密集和计算密集的粗粒度可重构架构(Coarse-Grained Reconfigurable Architecture,CGRA)的处理器应运而生,其通常包 含多个处理单元阵列(Processing Element Array,PEA)和多个处理单元(Processing Element,PE),每个处理单元阵列有可能同时访问存储器,这带来了存储墙的问题。 缓冲(Buffer)的访存带宽相比于缓存(Cache)的访存带宽较高,但它只能访问固定 大小的存储空间。因此,为粗粒度可重构架构处理器设计高带宽的片上缓存成为研究 重点。
发明内容
本发明提供了一种可重构处理器多端口可配缓存访问方法及装置,可以优化粗粒度可重构架构处理器的片上缓存。
第一方面,本发明实施例提供了一种可重构处理器多端口可配缓存访问方法,该方法包括:
收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将所述多个访问请求分配至多个存储空间;所述存储空间包括缓存空间和缓冲空 间;所述访问请求包括读访存请求和写操作请求;
按照预设端口优先级信息确定每个所述存储空间的目标访问请求;
将所述目标访问请求的读访存请求发送至所述数据存储体,以访问所述数据存储体;
将所述目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
第二方面,本发明实施例还提供一种可重构处理器多端口可配缓存访问装置,该装置包括:
存储空间选择模块,用于收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将所述多个访问请求分配至多个存储空间;所述存储空 间包括缓存空间和缓冲空间;所述访问请求包括读访存请求和写操作请求;
访问请求确定模块,用于按照预设端口优先级信息确定每个所述存储空间的目标访问请求;
数据读取模块,用于将所述目标访问请求的读访存请求发送至所述数据存储体,以访问所述数据存储体;
数据写入模块,用于将所述目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上 述可重构处理器多端口可配缓存访问方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述可重构处理器多端口可配缓存访问方法的计算机程序。
本发明实施例带来了以下有益效果:本发明实施例提供了一种可重构处理器多端口可配缓存访问方法及装置,该方法包括:收到多个访问请求时,基于地址空间参数 和访存延时参数,利用标志存储器和寄存器将多个访问请求分配至多个存储空间;存 储空间包括缓存空间和缓冲空间;访问请求包括读访存请求和写操作请求;按照预设 端口优先级信息确定每个存储空间的目标访问请求;将目标访问请求的读访存请求发 送数据存储体,以访问数据存储体;将目标访问请求的写操作请求发送至写缓冲区, 以进行数据写入。本发明实施例可以通过地址空间参数和访存延时参数实现对缓存空 间和缓冲空间使用比例的配置,通过对两者比例的配置,可以使需要访问地址空间更 大的PEA通过缓存空间模式访存,让某些需要访存延时更小的PEA通过缓冲空间模 式访存,从而在性能和灵活性上兼顾缓存空间和缓冲空间的优点;该方法按照预设端 口优先级信息确定每个所述存储空间的目标访问请求,可以在没有复制标志存储器的 情况下实现多端口对缓存的访问;该方法将写操作请求发送至写缓冲区,以进行数据 写入,将写数据单独放置到一个写缓冲区域,以避免对缓存空间的污染,这样可以减 少缺失率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的可重构处理器多端口可配缓存访问方法流程图;
图2为本发明实施例提供的可重构处理器多端口可配缓存访问装置结构框图;
图3为本发明实施例提供的PEA和PE的结构示意图;
图4为本发明实施例提供的片上缓存的整体结构示意图;
图5为本发明实施例提供的存储器接口示意图;
图6为本发明实施例提供的访存控制器示意图;
图7为本发明实施例提供的电子设备的系统组成结构示意图;
图8为本发明实施例提供的流水线结构示意图;
图9为本发明实施例提供的写缓冲区的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
粗粒度可重构架构处理器的结构是一种层次化的结构,包含多个处理单元和多个处理单元阵列。
CGRA中参与计算的核心单元是处理单元阵列PEA和处理单元PE,它们的结构 如图3所示。PEA模块内部集成了一个8×8PE矩阵、PE的全局寄存器Global Reg、 协处理器接口Coprocessor Interface、数据控制器Data Control、数据共享存储器Shared Memory、PEA控制器PEA Control和配置控制器Context Control。处理单元PE的结 构中,内部的核心部分有:PE控制器PE Control、配置存储器(Context Memory, CM)、局部寄存器(Local Reg,LR)、PE路由器Router、Debug模块Deb以及PE 执行单元,包括算数逻辑单元(ArithmeticLogic Unit,ALU)、乘法器(Multiplier, MUL)和访存单元(Load Store Unit,LSU)。其中,控制任务循环迭代的硬件主要是 PEA控制器PEA Control和PE控制器PE Control,以及存储迭代次数的全局寄存器 Global Reg和局部寄存器Local Reg。
参见图4所示的片上缓存的整体结构,处理单元阵列接口接收8个PEA的访存 请求,将其暂存在先入先出存储器(First In First Out,FIFO)里;访存控制器获取 请求,根据配置访问Cache空间或Buffer空间,若访问Buffer则接下来直接访问 数据存储体(DataBanks),若访问Cache则增加一个访问标志存储体(Flag Banks) 的流程;预取控制器(Prefetch Controller)根据PEA的请求和Cache命中或缺失的 信息,发起对片外数据的预取请求;写缓冲区(Write Buffer)将没有落在Buffer空 间的写数据暂存下来;主端口接口(Master Interface)仲裁来自写缓存和预取控制器 的请求,访问片外主存DRAM;从端接口(Slave Interface)将片外数据搬运到Buffer 空间;划分控制器(Partition Controller)为每个PEA划分缓存空间;替换控制器 (Replace Controller)在发生缺失时决定替换哪一路的数据;存储器接口(Mem Interface)仲裁上述的所有访问片上存储体的请求,并将这些请求送到对应的存储体 上。本专利主要介绍多端口可配缓存的多端口结构、可配机制、流水线结构以及写缓 冲区(边框加粗部分)。
基于此,本发明实施例提供的一种可重构处理器多端口可配缓存访问方法及装置,基于CGRA的这种结构,该方法实现可配置的流水线设计多端口片上缓存。可 配置是指用户可以配置其中属于缓存(Cache)空间和缓冲(Buffer)空间的数据比例; 流水的是指片上缓存采用流水线的设计,PEA可以命中缓存空间的数据或者连续地 访问缓冲空间的数据;多端口是指该片上缓存拥有8个端口,可以同时接收来自8 个处理单元阵列的访存请求。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种可重构处理器多端口可配缓存访问方法进行详细介绍。
本发明实施例提供了一种可重构处理器多端口可配缓存访问方法,参见图1所示的一种可重构处理器多端口可配缓存访问方法流程图,该方法包括以下步骤:
步骤S102,收到多个访问请求时,基于地址空间参数和访存延时参数,利用标 志存储器和寄存器将多个访问请求分配至多个存储空间。
在本发明实施例中,可重构处理器可以从多个端口接收访问请求,收到多个访问请求时,基于预先获取的地址空间参数和访存延时参数,利用标志存储器和寄存器将 每个访问请求分配至一个存储空间。存储空间包括缓存空间和缓冲空间。标志存储器 用于确定缓存空间,寄存器用于确定缓冲空间。
其中,地址空间参数,用于描述访问请求对地址空间的需求程度,访存延时参数,用于描述访问请求对访存延时的需求程度。根据访问请求对地址空间和访存延时的需 求程度,确定使用缓存空间和缓冲空间的比例,之后再将多个访问请求分配至确定好 的多个存储空间。
在本发明实施例中,缓存空间可以是高速缓存Cache,缓冲空间可以是缓冲器Buffer。
需要说明的是,高速缓存Cache缓存某段数据的机制是这样的:首先根据请求访问对应的标志存储器;然后对比标志存储器的tag和请求地址的tag字段,若两者相 等且标志存储器的valid为1,则命中;最后根据命中的索引访问数据存储体。而缓 冲器Buffer的缓存机制中没有第一步访问标志存储器的操作,因此其访问时间会缩 短。但是Buffer只能映射内存中的某一固定的空间,因此用一个寄存器buffer tag存 放Buffer的地址信息,从而实现更加灵活的地址访存。这样一来,Buffer其实就相当 于一个比较大的缓存行。
另外需要说明的是,buffer tag是从端口输入的地址决定的;Buffer的空间大小是通过位宽为6的buffer config信号控制的,它的值为0至32。访存控制器(memcontroller)中的仲裁器(arbiter)对Buffer或Cache进行访问。访存控制器的结构框图如图6所示,它主要的模块包括Cache控制器、Buffer控制器、仲裁器和二选一多路器。
步骤S104,按照预设端口优先级信息确定每个存储空间的目标访问请求。
由于每个存储空间可能收到多个端口的多个访问请求,因此,需要对存储空间如何处理多个访问请求进行控制。按照预设端口优先级信息对每个存储空间收到的访问 请求进行排序,根据排序结果确定存储空间处理访问请求的顺序,将存储空间当前处 理的访问请求作为目标访问请求。
步骤S106,将目标访问请求的读访存请求发送至数据存储体,以访问数据存储体。
在本发明实施例中,访问请求包括读访存请求和写操作请求。仲裁器将读访存请求通过Cache控制器或Buffer控制器发送到数据存储体。
需要说明的是,多端口功能的实现依赖于存储器接口(Memory interface)。如图5所示,数据存储体(Data Banks)的存储器接口内部的结构是这样的:因为有8个 PEA的访存端口、一个预取端口和一个从端口(slave port),以及32个数据存储体, 所以需要32个10选1的多路选择器将10个请求落到某一存储体上。存储器接 口在其中起到了仲裁器的作用,将不同的请求发送到对应的存储体上,若发生存储体 冲突则及时暂停来自PEA的请求。
步骤S108,将目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
在本发明实施例中,仲裁器将写操作请求发送到写缓冲区。将写数据单独放置到一个写缓冲区域(write buffer),以避免对缓存空间的污染,这样可以减少缺失率。
需要说明的是,实际上,无论是直写还是写回,都需要一个写缓冲区来暂存写数据,否则直接与片外的DRAM交互会产生性能的损失。因此本发明实施例提供了一 个存储空间不大的写缓冲区,且支持8路同时写,在尽可能减少片上存储面积的同时 提高性能。现有方案中写缓冲区通常需要表项来标记每个数据属于哪个地址,从而完 成数据的写回。考虑到由于PEA的写序列长度都在64及以上,因此只需要标记写序 列的首个数据的地址,而不需要为每个数据进行标记,这样就节省了表项的存储空间。 相比于传统的写缓冲每一条缓存行都需要一个表项,本发明实施例的该方式减少了 87.5%的表项使用。写缓冲区的结构如图9所示。其中,每个存储体的大小为128× 256bit=4KB,因此总大小为32KB;表项A71~A00记录记录每次写操作的首数据地 址;计数器cnt7~0计数每个存储体是否已满;轮询仲裁器在已满的存储体中选择一 个进行片外写操作。另外,若写操作落在Buffer空间,则由程序员管理,由从端口将 写数据从片上搬运到片外。
相比于传统缓存中的写缓冲区,本发明实施例可实现个端口同时写,并根据PEA访存的特点减少了地址表项的使用。
本发明实施例提供了一种可重构处理器多端口可配缓存访问方法,该方法包括:收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器 将多个访问请求分配至多个存储空间;存储空间包括缓存空间和缓冲空间;访问请求 包括读访存请求和写操作请求;按照预设端口优先级信息确定每个存储空间的目标访 问请求;将目标访问请求的读访存请求发送至数据存储体,以访问数据存储体;将目 标访问请求的写操作请求发送至写缓冲区,以进行数据写入。本发明实施例可以通过 地址空间参数和访存延时参数实现对缓存空间和缓冲空间使用比例的配置,通过对两 者比例的配置,可以使需要访问地址空间更大的PEA通过缓存空间模式访存,让某 些需要访存延时更小的PEA通过缓冲空间模式访存,从而在性能和灵活性上兼顾缓 存空间和缓冲空间的优点;该方法按照预设端口优先级信息确定每个存储空间的目标 访问请求,可以在没有复制标志存储器的情况下实现多端口对缓存的访问;该方法将 写操作请求发送至写缓冲区,以进行数据写入,将写数据单独放置到一个写缓冲区域, 以避免对缓存空间的污染,这样可以减少缺失率。
在一个实施例中,标志存储器中包括缓存空间的标志信息;寄存器中包括缓冲空间的标志信息;基于地址空间参数和访存延时参数,利用标志存储器和寄存器将多个 访问请求发送至多个存储空间,可以按照如下步骤执行:
根据地址空间参数和访存延时参数,判断访问请求的访存需求类型;访存需求类型包括地址空间型和访存延时型;若访存需求类型为地址空间型,则根据缓存空间的 标志信息,将访问请求发送至缓存空间;若访存需求类型为访存延时型,则根据缓冲 空间的标志信息,将访问请求发送至缓冲空间。
传统的缓存中有Cache和Buffer两种不同的结构,前者需要对比标志存储器,访问延迟高,但访问的地址空间大,后者访问延迟低,但访问的地址空间小。在本发明 实施例中,可配的结构通过写入一些配置,包括地址空间参数和访存延时参数,使得 缓存在不同大小的Cache和Buffer之间可变,让某些需要访问地址空间更大的PEA 通过Cache模式访存,让某些需要访存延时更小的PEA通过Buffer模式访存,从而 兼具两者的优点。
缓冲空间的数据是由程序员维护的,通过从端口搬运到片上供PEA使用。程序 员可以使访存空间局部性很强的PEA访问Buffer空间,然后控制数据的搬运和搬出。 这样一来,片上缓存既有了灵活的Cache,又有了吞吐率更高访问更快的Buffer,兼 顾了访存带宽和灵活性。
在一个实施例中,数据存储体的地址包括第一分区信息和第二分区信息,第一分区的位置在第二分区之前;将目标访问请求的读访存请求发送至数据存储体,可以按 照如下步骤执行:
利用第一分区信息确定目标数据存储体;利用第二分区信息确定目标数据存储体中的目标缓存行;将目标访问请求的读访存请求发送至目标缓存行。
在本发明实施例中,根据第一分区信息在多个存储空间中确定目标访问请求对应的数据存储体,之后,再根据第二分区信息在目标访问请求对应的数据存储体中确定 即将使用的缓存行。
需要说明的是,由于数据存储体的存储空间为1MB,因此地址为16位,其中高 6位,即第一分区信息,为存储体寻址地址,低10位,即第二分区信息,为存储体 内部SRAM的寻址地址。之所以采用存储体高位寻址的方式,是因为要考虑到数据 存储体内缓存行可能存在重新划分和配置的情况,这种情况,使地址空间发生了变化, 使用存储体高位寻址的方式,可以防止存储体低位交叉寻址的方式使得划分和配置之 后的寻址变得非常麻烦的情况出现。
该方法改变了传统结构中低位存储体寻址的方式,采用高位存储体寻址的方式使得动态配置数据存储体中缓存行的实现更加容易。
需要说明的是,标志存储器即标志存储体。标志存储体存储了缓存行的标志信息,包括标记它是否有效的vld字段,以及缓存行的高位地址tag字段。同理,存储标 志位的标志存储体内部也集成了类似的仲裁器,但少了一个从端口,因为从端口不需 要访问标志位。而且,预取控制器端口只读取或改写标志存储体中存储的vld字段, 不改写其中的tag字段。另外,标志存储体与数据存储体不同之处还在于,它对每个 端口的请求和发送到对应存储体的寻址,是通过划分控制器发送的路有效位信号 (way_bit)和路索引号(way)决定的。way_bit的位宽与总共路的数目一致,也即32 位对应位为高电平时,表示需要访问这一路对应的标志存储体。路索引号总共有8 个,因为每个PEA最高可分配8路缓存空间。
在一个实施例中,多个访问请求包括预取端口请求、从端口请求和处理单元阵列端口请求;按照预设端口优先级信息确定每个存储空间的目标访问请求,可以按照如 下步骤执行:
按照预设端口优先级信息确定预取端口请求、从端口请求和处理单元阵列端口请求对存储空间的访问顺序;按照访问顺序确定目标访问请求。
在本发明实施例中,预设端口优先级信息用于仲裁预取端口、从端口和PEA端 口的优先级。端口优先级信息可以根据实际需求进行设置,例如,可以设置优先级是 预取端口>从端口>PEA端口,按照这个访问顺序,可以将预取端口的访问请求作为 目标访问请求。
在一个实施例中,处理单元阵列端口请求包括多个处理单元阵列请求;按照访问顺序确定目标访问请求,可以按照如下步骤执行:
对多个处理单元阵列请求进行轮询处理,确定存储空间的目标访问请求。
在本发明实施例中,对多个处理单元阵列的访问请求按照轮询仲裁的优先级进行处理。仲裁的优先级采用固定优先级加轮询仲裁的优先级,这样在逻辑简单且硬件开 销较少的同时保证一定的公平性。
需要说明的是,现有方案中,多端口结构通常只有2个PEA端口,因为更多的 端口需要复制更多的标志存储器,使得面积大大增加。在本发明实施例中,利用固定 优先级仲裁和轮询仲裁,多端口结构可以实现8个PEA端口,在没有复制标志存储 器的情况下实现了多端口的结构。
在一个实施例中,将目标访问请求的读访存请求发送至数据存储体,可以按照如下步骤执行:
利用多级寄存器将目标访问请求的读访存请求发送至数据存储体。
在本发明实施例中,每级寄存器可以用于完成一个时钟周期的工作。参见图8, 图中每个矩形框对应一个时钟周期,可见,对于Buffer,需要第一级流水线寄存器和 第六级流水线寄存器这两级寄存器完成两个时钟周期来访问片上存储器。对于 Cache,需要第一级至第六级流水线寄存器来访问片上存储器。在第六级流水线寄存 器之后,发送至数据存储器,进入3个时钟周期的延迟阶段。为了增加Cache模式 下的访存带宽,可以采用流水线的设计,利用多级寄存器,可以将缓存命中的延时分 散到多个时钟周期,从而提高带宽和时钟频率。这样一来,无论是Cache方式还是 Buffer方式的访存都可以将多个访存延时重叠起来,大大提高了带宽。
需要说明的是,Cache和Buffer的机制是不同的,因此它们访问片上存储器所需的时间也是不同的。对于Buffer,只需要2个时钟周期即可完成访问,加上数据存储 体的3个时钟周期延迟,共需5个时钟周期;对于Cache,在命中的情况下需要6个 时钟周期才能开始访问数据存储体,这是因为它增加了访问标志存储器的3个周期以 及判断命中或缺失的1个周期,这样共需9个时钟周期。
另外需要说明的是,流水线结构在电路中很常见,本发明实施例做出的改进主要是结合了Cache和Buffer两种长度不同的流水线。
在一个实施例中,还可以执行如下步骤:
利用状态机控制多级寄存器将目标访问请求的读访存请求发送至数据存储体。
在本发明实施例中,为Cache设计了一个状态机使其更好地支持流水线结构。参见图8,注意到Cache访问标志存储器是有3周期的延时的,因此需要一个有限状态 机来控制是否进行Cache的流水访问。复位时进入IDLE状态,表示闲置且无请求发 生。接收到来自PEA的请求后,进入FLAG状态表示访问标志存储器,WAIT 0至 WAIT 2表示需要等待3个时钟周期才能知道是否命中。若命中,则进入HIT状态; 若缺失,则进入MISS状态。在HIT状态下,若上一个来自PEA的请求地址为缓存 行的最后一个数据时,则进入IDLE状态,否则进入流水状态PIPE。在MISS状态 下,若Cache控制器的ready信号为1,表示Cache准备好,则进入流水状态PIPE, 否则一直为MISS状态。在PIPE状态下,若Cache控制器的ready信号为0,表示Cache未准备好(可能是缺失引起的,也可能是数据存储器的访存冲突引起的),则 进入IDLE状态;或者PEA的请求地址为缓存行的第一个数据或最后一个数据,也 进入IDLE状态,否则一直为PIPE状态。PIPE状态下的Cache可以流水地访问标 志存储器而不必等待。
本发明提供了一种可重构处理器多端口可配缓存访问方法及装置,该方法可用于面向可重构处理器可配置流水线设计的多端口片上缓存,该方法可以实现:一是部分 共享的多端口,8个可重构处理单元阵列可以同时访存,理想情况下可以提高8倍 的带宽;二是可配的缓存机制,程序员可以配置Cache和Buffer的比例,从而在性 能和灵活性上寻找折衷的方案。以Cache方式访存时,可以访问任意的地址空间, 但是它的命中速度较慢。以Buffer方式访存时,它的访存时间较短,但只能访问某 一程序员配置好的固定空间;三是流水线的设计,不管Buffer还是Cache都能流水 地访存,多周期的访存延时在连续命中的情况下可以完全重叠。相比于多周期的设计, 理想情况下以流水的Cache方式可以提高9倍访存带宽,Buffer方式可以提高5 倍访存带宽;四是多端口的写缓冲区,它在支持8路同时写操作的同时减少了表项寄 存器的使用。
本发明实施例中还提供了一种可重构处理器多端口可配缓存访问装置,如下面的实施例所述。由于该装置解决问题的原理与可重构处理器多端口可配缓存访问方法相 似,因此该装置的实施可以参见可重构处理器多端口可配缓存访问方法的实施,重复 之处不再赘述。参见图2所示的可重构处理器多端口可配缓存访问装置结构框图,该 装置包括:
存储空间选择模块21,用于收到多个访问请求时,基于地址空间参数和访存延 时参数,利用标志存储器和寄存器将多个访问请求分配至多个存储空间;存储空间包 括缓存空间和缓冲空间;访问请求包括读访存请求和写操作请求;访问请求确定模块 22,用于按照预设端口优先级信息确定每个存储空间的目标访问请求;数据读取模块 23,用于将目标访问请求的读访存请求发送至数据存储体,以访问数据存储体;数据 写入模块24,用于将目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
在一个实施例中,标志存储器中包括缓存空间的标志信息;寄存器中包括缓冲空间的标志信息;存储空间选择模块,用于:根据地址空间参数和访存延时参数,判断 访问请求的访存需求类型;访存需求类型包括地址空间型和访存延时型;若访存需求 类型为地址空间型,则根据缓存空间的标志信息,将访问请求发送至缓存空间;若访 存需求类型为访存延时型,则根据缓冲空间的标志信息,将访问请求发送至缓冲空间。
在一个实施例中,数据存储体的地址包括第一分区信息和第二分区信息,第一分区的位置在第二分区之前;数据写入模块,还用于:利用第一分区信息确定目标数据 存储体;利用第二分区信息确定目标数据存储体中的目标缓存行;将目标访问请求的 读访存请求发送至目标缓存行。
在一个实施例中,多个访问请求包括预取端口请求、从端口请求和处理单元阵列端口请求;访问请求确定模块,用于:按照预设端口优先级信息确定预取端口请求、 从端口请求和处理单元阵列端口请求对存储空间的访问顺序;按照访问顺序确定目标 访问请求。
在一个实施例中,处理单元阵列端口请求包括多个处理单元阵列请求;访问请求确定模块,具体用于:对多个处理单元阵列请求进行轮询处理,确定存储空间的目标 访问请求。
在一个实施例中,数据读取模块,用于:利用多级寄存器将目标访问请求的读访存请求发送至数据存储体。
在一个实施例中,数据读取模块,具体用于:利用状态机控制多级寄存器将目标访问请求的读访存请求发送至数据存储体。
基于同一发明构思,本发明实施例中还提供了一种用于实现上述可重构处理器多端口可配缓存访问方法中的全部或部分内容的电子设备实施例。该电子设备具体包含 有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线; 其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移 动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现 上述可重构处理器多端口可配缓存访问方法的实施例及用于实现上述可重构处理器 多端口可配缓存访问装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图7为本发明实施例中提供的一种电子设备的系统组成结构示意图。如图7所示,该电子设备70可以包括处理器701和存储器702;存储器702耦合到处理器701。值 得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构, 以实现电信功能或其他功能。
在一个实施例中,可重构处理器多端口可配缓存访问方法实现的功能可以被集成到处理器701中。其中,处理器701可以被配置为进行如下控制:
收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将多个访问请求分配至多个存储空间;存储空间包括缓存空间和缓冲空间;访问 请求包括读访存请求和写操作请求;按照预设端口优先级信息确定每个存储空间的目 标访问请求;将目标访问请求的读访存请求发送至数据存储体,以访问数据存储体; 将目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
由上可知,本发明的实施例中提供的电子设备,本发明实施例可以通过地址空间参数和访存延时参数实现对缓存空间和缓冲空间使用比例的配置,通过对两者比例的 配置,可以使需要访问地址空间更大的PEA通过缓存空间模式访存,让某些需要访 存延时更小的PEA通过缓冲空间模式访存,从而在性能和灵活性上兼顾缓存空间和 缓冲空间的优点;该方法按照预设端口优先级信息确定每个所述存储空间的目标访问 请求,可以在没有复制标志存储器的情况下实现多端口对缓存的访问;该方法将写操 作请求发送至写缓冲区,以进行数据写入,将写数据单独放置到一个写缓冲区域,以 避免对缓存空间的污染,这样可以减少缺失率。
在另一个实施例中,可重构处理器多端口可配缓存访问装置可以与处理器701 分开配置,例如可以将可重构处理器多端口可配缓存访问装置配置为与处理器701 连接的芯片,通过处理器的控制来实现可重构处理器多端口可配缓存访问方法的功 能。
如图7所示,该电子设备70还可以包括:通信模块703、输入单元704、音频处 理单元705、显示器706、电源707。值得注意的是,电子设备70也并不是必须要包 括图7中所示的所有部件;此外,电子设备70还可以包括图7中没有示出的部件, 可以参考现有技术。
如图7所示,处理器701有时也称为控制器或操作控件,可以包括微处理器或其 他处理器装置和/或逻辑装置,该处理器701接收输入并控制电子设备70的各个部件 的操作。
其中,存储器702,例如可以是缓存空间、闪存、硬驱、可移动介质、易失性存 储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的 信息,此外还可存储执行有关信息的程序。并且处理器701可执行该存储器702存储 的该程序,以实现信息存储或处理等。
输入单元704向处理器701提供输入。该输入单元704例如为按键或触摸输入装置。电源707用于向电子设备70提供电力。显示器706用于进行图像和文字等显示 对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器702可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选 择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器702还 可以是某种其它类型的装置。存储器702包括缓冲存储器7021(有时被称为缓冲空 间)。存储器702可以包括应用/功能存储部7022,该应用/功能存储部7022用于存储 应用程序和功能程序或用于通过处理器701执行电子设备70的操作的流程。
存储器702还可以包括数据存储部7023,该数据存储部7023用于存储数据,例 如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器702 的驱动程序存储部7024可以包括电子设备的用于通信功能和/或用于执行电子设备的 其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块703即为经由天线708发送和接收信号的发送机/接收机。通信模块(发送机/接收机)703耦合到处理器701,以提供输入信号和接收输出信号,这可以和常 规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块703,如蜂 窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)703还 经由音频处理单元705耦合到扬声器709和麦克风710,以经由扬声器709提供音频 输出,并接收来自麦克风710的音频输入,从而实现通常的电信功能。音频处理单元 705可以包括任何合适的缓冲空间、解码器、放大器等。另外,音频处理单元705还 耦合到处理器701,从而使得可以通过麦克风710能够在本机上录音,且使得可以通 过扬声器709来播放本机上存储的声音。
本发明的实施例中还提供了一种用于实现上述实施例中可重构处理器多端口可配缓存访问方法中全部步骤的一种计算机可读存储介质,该计算机可读存储介质上存 储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的可重构处理器多 端口可配缓存访问方法的全部步骤,例如,该处理器执行该计算机程序时实现下述步 骤:
收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将多个访问请求分配至多个存储空间;存储空间包括缓存空间和缓冲空间;访问 请求包括读访存请求和写操作请求;按照预设端口优先级信息确定每个存储空间的目 标访问请求;将目标访问请求的读访存请求发送至数据存储体,以访问数据存储体; 将目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
由上可知,本发明的实施例中提供的计算机可读存储介质,本发明实施例可以通过地址空间参数和访存延时参数实现对缓存空间和缓冲空间使用比例的配置,通过对 两者比例的配置,可以使需要访问地址空间更大的PEA通过缓存空间模式访存,让 某些需要访存延时更小的PEA通过缓冲空间模式访存,从而在性能和灵活性上兼顾 缓存空间和缓冲空间的优点;该方法按照预设端口优先级信息确定每个所述存储空间 的目标访问请求,可以在没有复制标志存储器的情况下实现多端口对缓存的访问;该 方法将写操作请求发送至写缓冲区,以进行数据写入,将写数据单独放置到一个写缓 冲区域,以避免对缓存空间的污染,这样可以减少缺失率。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多 步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品 执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理 器或者多线程处理的环境)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件 方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序 代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于 系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参 见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种 实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些 要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示 的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的 装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发 明的限制。
除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例 如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可 以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部 的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明 中的具体含义。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局 限于这些方面和/或实施例的任意组合和/或置换。可单独使用本发明的每个方面和/ 或实施例,或者与一个或更多其他方面和/或其他实施例结合使用。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施 例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领 域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方 案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、 变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范 围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求 的保护范围为准。

Claims (10)

1.一种可重构处理器多端口可配缓存访问方法,其特征在于,包括:
收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将所述多个访问请求分配至多个存储空间;所述存储空间包括缓存空间和缓冲空间;所述访问请求包括读访存请求和写操作请求;
按照预设端口优先级信息确定每个所述存储空间的目标访问请求;
将所述目标访问请求的读访存请求发送至数据存储体,以访问所述数据存储体;
将所述目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
2.根据权利要求1所述的方法,其特征在于,所述标志存储器中包括缓存空间的标志信息;所述寄存器中包括缓冲空间的标志信息;
基于地址空间参数和访存延时参数,利用标志存储器和寄存器将所述多个访问请求发送至多个存储空间,包括:
根据地址空间参数和访存延时参数,判断所述访问请求的访存需求类型;所述访存需求类型包括地址空间型和访存延时型;
若访存需求类型为地址空间型,则根据所述缓存空间的标志信息,将所述访问请求发送至所述缓存空间;
若访存需求类型为访存延时型,则根据所述缓冲空间的标志信息,将所述访问请求发送至所述缓冲空间。
3.根据权利要求1所述的方法,其特征在于,所述数据存储体的地址包括第一分区信息和第二分区信息,所述第一分区的位置在所述第二分区之前;
将所述目标访问请求的读访存请求发送至数据存储体,包括:
利用所述第一分区信息确定目标数据存储体;
利用所述第二分区信息确定所述目标数据存储体中的目标缓存行;
将所述目标访问请求的读访存请求发送至所述目标缓存行。
4.根据权利要求1所述的方法,其特征在于,所述多个访问请求包括预取端口请求、从端口请求和处理单元阵列端口请求;
按照预设端口优先级信息确定每个所述存储空间的目标访问请求,包括:
按照预设端口优先级信息确定所述预取端口请求、所述从端口请求和所述处理单元阵列端口请求对所述存储空间的访问顺序;
按照所述访问顺序确定目标访问请求。
5.根据权利要求4所述的方法,其特征在于,所述处理单元阵列端口请求包括多个处理单元阵列请求;
按照所述访问顺序确定目标访问请求,包括:
对所述多个处理单元阵列请求进行轮询处理,确定所述存储空间的目标访问请求。
6.根据权利要求1-5任一项所述的方法,其特征在于,将所述目标访问请求的读访存请求发送至所述数据存储体,包括:
利用多级寄存器将所述目标访问请求的读访存请求发送至所述数据存储体。
7.根据权利要求6所述的方法,其特征在于,还包括:
利用状态机控制所述多级寄存器将所述目标访问请求的读访存请求发送至所述数据存储体。
8.一种可重构处理器多端口可配缓存访问装置,其特征在于,包括:
存储空间选择模块,用于收到多个访问请求时,基于地址空间参数和访存延时参数,利用标志存储器和寄存器将所述多个访问请求分配至多个存储空间;所述存储空间包括缓存空间和缓冲空间;所述访问请求包括读访存请求和写操作请求;
访问请求确定模块,用于按照预设端口优先级信息确定每个所述存储空间的目标访问请求;
数据读取模块,用于将所述目标访问请求的读访存请求发送至数据存储体,以访问所述数据存储体;
数据写入模块,用于将所述目标访问请求的写操作请求发送至写缓冲区,以进行数据写入。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述可重构处理器多端口可配缓存访问方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述可重构处理器多端口可配缓存访问方法的计算机程序。
CN202210719004.XA 2022-06-23 2022-06-23 可重构处理器多端口可配缓存访问方法及装置 Pending CN115421899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210719004.XA CN115421899A (zh) 2022-06-23 2022-06-23 可重构处理器多端口可配缓存访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210719004.XA CN115421899A (zh) 2022-06-23 2022-06-23 可重构处理器多端口可配缓存访问方法及装置

Publications (1)

Publication Number Publication Date
CN115421899A true CN115421899A (zh) 2022-12-02

Family

ID=84196536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210719004.XA Pending CN115421899A (zh) 2022-06-23 2022-06-23 可重构处理器多端口可配缓存访问方法及装置

Country Status (1)

Country Link
CN (1) CN115421899A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982091A (zh) * 2023-03-21 2023-04-18 深圳云豹智能有限公司 基于rdma引擎的数据处理方法与系统、介质、设备
CN116048816A (zh) * 2023-03-23 2023-05-02 摩尔线程智能科技(北京)有限责任公司 数据请求处理方法、装置、电子设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982091A (zh) * 2023-03-21 2023-04-18 深圳云豹智能有限公司 基于rdma引擎的数据处理方法与系统、介质、设备
CN115982091B (zh) * 2023-03-21 2023-06-23 深圳云豹智能有限公司 基于rdma引擎的数据处理方法与系统、介质、设备
CN116048816A (zh) * 2023-03-23 2023-05-02 摩尔线程智能科技(北京)有限责任公司 数据请求处理方法、装置、电子设备和存储介质
CN116048816B (zh) * 2023-03-23 2023-08-22 摩尔线程智能科技(北京)有限责任公司 数据请求处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN107657581B (zh) 一种卷积神经网络cnn硬件加速器及加速方法
US20210286756A1 (en) Execution engine for executing single assignment programs with affine dependencies
US10452551B2 (en) Programmable memory prefetcher for prefetching multiple cache lines based on data in a prefetch engine control register
KR100349787B1 (ko) 싱글칩마이크로컴퓨터
US6289434B1 (en) Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
CN108228094B (zh) 存储器侧高速缓存中通路的伺机增加
CN115421899A (zh) 可重构处理器多端口可配缓存访问方法及装置
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
KR20110104330A (ko) 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치
US7082499B2 (en) External memory control device regularly reading ahead data from external memory for storage in cache memory, and data driven type information processing apparatus including the same
US11301250B2 (en) Data prefetching auxiliary circuit, data prefetching method, and microprocessor
CN112035397A (zh) 包括fpga的电子系统及其操作方法
US6606684B1 (en) Multi-tiered memory bank having different data buffer sizes with a programmable bank select
CN112667289A (zh) 一种cnn推理加速系统、加速方法及介质
CN112486908A (zh) 层次化的多rpu多pea的可重构处理器
US7483283B2 (en) Apparatus for efficient streaming data access on reconfigurable hardware and method for automatic generation thereof
CN112948285A (zh) 灵活高速缓存分配技术的基于优先级的高速缓存行驱逐算法
JPH1055311A (ja) インターリーブ式キャッシュ
US20110066813A1 (en) Method And System For Local Data Sharing
US5905999A (en) Cache sub-array arbitration
Balfour et al. Operand registers and explicit operand forwarding
JPH09244951A (ja) 順不同に命令を実行するコンピュータのためのシステム
EP3929732A1 (en) Matrix data scatter and gather by row
US7181575B2 (en) Instruction cache using single-ported memories
US6957319B1 (en) Integrated circuit with multiple microcode ROMs

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