CN113900713B - 一种粗粒度可重构阵列并行指令配置装置及处理器 - Google Patents

一种粗粒度可重构阵列并行指令配置装置及处理器 Download PDF

Info

Publication number
CN113900713B
CN113900713B CN202111497877.2A CN202111497877A CN113900713B CN 113900713 B CN113900713 B CN 113900713B CN 202111497877 A CN202111497877 A CN 202111497877A CN 113900713 B CN113900713 B CN 113900713B
Authority
CN
China
Prior art keywords
switching
layer
input
equal
unit
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
CN202111497877.2A
Other languages
English (en)
Other versions
CN113900713A (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.)
Jiangsu Qingwei Intelligent Technology Co ltd
Original Assignee
Jiangsu Qingwei Intelligent Technology 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 Jiangsu Qingwei Intelligent Technology Co ltd filed Critical Jiangsu Qingwei Intelligent Technology Co ltd
Priority to CN202111497877.2A priority Critical patent/CN113900713B/zh
Publication of CN113900713A publication Critical patent/CN113900713A/zh
Application granted granted Critical
Publication of CN113900713B publication Critical patent/CN113900713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • 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)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

本发明提供一种粗粒度可重构阵列并行指令配置装置及处理器。所述装置包括指令下发单元、处理单元、交换网络和路径控制单元;交换网络采用butterfly结构,设有n个输入端口和n个输出端口,指令下发单元的N个输出端口分别与交换网络的一个输入端口相连,M个处理单元分别与交换网络的一个输出端口相连;路径控制单元通过输出相应的控制码至交换网络使其n个输入端口和n个输出端口一一对应连通,从而使指令下发单元从其输出端口发送的指令经交换网络并行传送到处理单元。本发明能够实现指令的并行传输,提高了指令传输速度;相比于crossbar结构无论是连线数量还是交换单元的数量都有了大幅下降,降低了硬件成本。

Description

一种粗粒度可重构阵列并行指令配置装置及处理器
技术领域
本发明涉及处理器技术领域,具体涉及一种用于处理单元指令配置的装置及方法。
背景技术
1999年,加州大学伯克利分校可重构技术研究中心的Dehon和Wawrzynel将可重构计算定义为具有如下特征的计算组织结构:一是在其制造之后,芯片的功能仍可定制以解决任何问题;二是很大程度地实现从任务到芯片的空间映射以完成计算。任何满足上述特征的计算方式都可称之为可重构计算。第一个特征说明可重构计算是在生产后可编程的,所以它具有类似于通用处理器的灵活性;第二个特征说明可重构计算使用空间并行计算方式,拥有较高的空间并行度,所以它具有类似于ASIC的高性能和低功耗,即高能量效率。
为了拥有较高的并行度,CGRA(Coarse-Grained Reconfigurable Array,粗粒度可重构阵列)处理器内部都会有一个数量庞大的处理单元阵列,例如Google在2017年发布的PIXEL 2手机中搭载的Pixel Vision Core采用了CGRA技术,其内部包含了12*12个处理单元(Processing Element,PE)的计算阵列,中心的8*8阵列支持数学运算,外围PE仅支持数据传输,所有的处理单元通过花环网络连接到一起,其整体结构如图4所示。CGRA处理器在切换不同计算任务时,需要动态更新各个PE单元中的指令。在PE数量较多的情况下,高效地进行配置刷新成为了一个较大挑战。
常用的指令配置通路结构有两种:一种为链状结构;一种为crossbar结构。链状结构如图5所示,即使用一条或多条总线将各个PE串联在一起,每个PE根据总线上的ID信息确认当前配置的指令是否属于自己,将不属于自己的配置信息传递给下一级。这种结构的优点是硬件结构简单,但由于每次只能配置一个或少数几个PE(可以用多条连同时配置),其配置效率很低,会极大地影响PE阵列任务切换的效率。crossbar结构如图6所示,图中由一个指令下发单元以及M个PE单元构成。指令下发单元包含N个下发端口,且每个下发端口都与全部PE单元相连,在每个PE单元内部也有一组N选1逻辑用于从N个接入的配置端口中选取当前与自己对应的端口并接收其传输的数据。这种结构的优点在于,随着指令下发单元端口数量的增加可以极大地提升指令的配置速度,但这也成为限制其规模的瓶颈。随着端口数量的增加,无论是指令下发单元与PE之间连线的数量,还是每个PE内部N选1逻辑的复杂度都会随之增加,其整体的复杂度为N*M。对于N和M较大的情况下,电路复杂度可以认为是无法接受的。
发明内容
为了解决现有技术中存在的上述问题,本发明提供一种粗粒度可重构阵列并行指令配置装置及处理器。
为了实现上述目的,本发明采用以下技术方案。
第一方面,本发明提供一种粗粒度可重构阵列并行指令配置装置,所述装置包括指令下发单元、处理单元、交换网络和路径控制单元;交换网络采用butterfly结构,设有n个输入端口和n个输出端口,指令下发单元的N个输出端口分别与交换网络的一个输入端口相连,M个处理单元分别与交换网络的一个输出端口相连;路径控制单元通过输出相应的控制码至交换网络使其n个输入端口和n个输出端口一一对应连通,从而使指令下发单元从其输出端口发送的指令经交换网络并行传送到处理单元;其中,n为2的幂次方,且n≥max{N,M}。
进一步地,所述交换网络包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络的输入端口相连,第m层交换单元的输出端与交换网络的输出端口相连,m=log2n。
更进一步地,每个交换单元设有2个输入端、2个输出端和2个与路径控制单元相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通。
更进一步地,所述交换网络的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i+n/2个交换单元的第2个输入端I 1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i-n/2个交换单元的第2个输入端I 1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端O p i,1与第p+1层的第i个交换单元的第1个输入端I p+1 i,1相连,0≤i≤2m-p-1;
i个交换单元的第2个输出端O p i,2与第p+1层的第i+2m-p-1个交换单元的第2个输 入端
Figure 671814DEST_PATH_IMAGE001
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个输 入端
Figure 261058DEST_PATH_IMAGE002
相连,2m-p-1i≤2m-p-1;
第m层第i个交换单元的第1个输出端O m i,1有效,且与交换网络的第i个输出端口Ii相连,0≤i≤n-1。
更进一步地,n=8,m=3。
第二方面,本发明提供一种处理器,所述处理器包括所述粗粒度可重构阵列并行指令配置装置。
进一步地,所述交换网络包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络的输入端口相连,第m层交换单元的输出端与交换网络的输出端口相连,m=log2n。
更进一步地,每个交换单元设有2个输入端、2个输出端和2个与路径控制单元相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通。
更进一步地,所述交换网络的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i+n/2个交换单元的第2个输入端I 1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i-n/2个交换单元的第2个输入端I 1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端O p i,1与第p+1层的第i个交换单元的第1个输入端I p+1 i,1相连,0≤i≤2m-p-1;
i个交换单元的第2个输出端O p i,2与第p+1层的第i+2m-p-1个交换单元的第2个输 入端
Figure 978479DEST_PATH_IMAGE001
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个 输入端
Figure 45792DEST_PATH_IMAGE002
相连,2m-p-1i≤2m-p-1;
第m层第i个交换单元的第1个输出端O m i,1有效,且与交换网络的第i个输出端口Ii相连,0≤i≤n-1。
更进一步地,n=8,m=3。
与现有技术相比,本发明具有以下有益效果。
本发明通过设置指令下发单元、处理单元、交换网络和路径控制单元,交换网络采用butterfly结构,设有n个输入端口和n个输出端口,n为2的幂次方,指令下发单元的N个输出端口分别与交换网络的一个输入端口相连,M个处理单元分别与交换网络的一个输出端口相连,路径控制单元通过输出相应的控制码至交换网络使其n个输入端口和n个输出端口一一对应连通,从而使指令下发单元从其输出端口发送的指令经交换网络并行传送到处理单元。本发明能够实现指令的并行传输,提高了指令传输速度;其结构复杂度为nlog2n,相比于crossbar结构无论是连线数量还是交换单元的数量都有了大幅下降,降低了硬件成本。
附图说明
图1为本发明实施例一种粗粒度可重构阵列并行指令配置装置的组成框图,图中,1-指令下发单元,2-交换网络,3-处理单元,4-路径控制单元。
图2为交换网络(n=8,m=3)的结构示意图。
图3为一个交换单元的4个状态示意图。
图4为现有Pixel Vision Core阵列结构的指令配置通路示意图。
图5为现有链状结构的指令配置通路示意图。
图6为现有crossbar结构的指令配置通路示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种粗粒度可重构阵列并行指令配置装置的组成框图,所述装置包括指令下发单元1、处理单元3、交换网络2和路径控制单元4;交换网络2采用butterfly结构,设有n个输入端口和n个输出端口,指令下发单元1的N个输出端口分别与交换网络2的一个输入端口相连,M个处理单元3分别与交换网络2的一个输出端口相连;路径控制单元4通过输出相应的控制码至交换网络2使其n个输入端口和n个输出端口一一对应连通,从而使指令下发单元1从其输出端口发送的指令经交换网络2并行传送到处理单元3;其中,n为2的幂次方,且n≥max{N,M}。
本实施例给出一种粗粒度可重构阵列并行指令配置装置,所述装置属于处理器内部硬件电路。所述装置主要由指令下发单元1、处理单元3、交换网络2和路径控制单元4组成,各部分的连接关系如图1所示。下面分别介绍每一部分的功能原理。
指令下发单元1,主要用于向处理单元3发送指令。本实施例中,指令下发单元1通过交换网络2将下发的指令传送到处理单元3。如图1所示,指令下发单元1设有N个输出端口,每个输出端口与交换网络2的一个输入端口相连。因此,指令下发单元1下发的多个指令可同时并行加到交换网络2的输入端口,以便实现并行传输。
处理单元3,主要用于接收指令下发单元1下发的指令。本实施例中,处理单元3通过交换网络2接收指令下发单元1下发的指令。如图1所示,M个处理单元3分别与交换网络2的一个输出端口相连。因此,多个处理单元3可同时并行从交换网络2的多个输出端口接收指令下发单元1下发的指令。
交换网络2,是所述装置的核心部分,主要用于将指令下发单元1下发的指令并行传送到处理单元3。交换网络2采用butterfly结构,包括相同数量的输入端口和输出端口,且端口数量n为2的幂次方。另外,为了保证指令下发单元1所有N个输出端口下发的指令都能并行发送,保证M个处理单元3都能并行接收下发指令,交换网络2端口的数量需不小于M和N,即n≥max{N,M}。交换网络2的输入端口与输出端口一一对应,即每次传输一个输入端口只与一个输出端口连通;一个输出端口也只与一个输入端口连通。但相互连通的输入端口和输出端口的序号并不固定,任意一个输入端口可与任意一个输出端口连通,共有n!种不同的连通方案。本实施例通过设置交换网络2,可实现下发指令的并行传输,提高了指令传输速度;其结构复杂度为nlog2n,相比于crossbar结构无论是连线数量还是交换单元的数量都有了大幅下降,降低了硬件成本。
路径控制单元4,主要用于实现交换网络2的输入端口与输出端口一一对应的连通,或者说选择下发指令传输的路径。交换网络2是由很多的交换单元组成的,每个交换单元相当一个简单的交换机,其输入/输出的切换由加至其控制端的二进制码即控制码决定。因此,路径控制单元4通过向交换网络2输出不同的控制码得到下发指令不同的传输路径。
作为一可选实施例,所述交换网络2包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络2的输入端口相连,第m层交换单元的输出端与交换网络2的输出端口相连,m=log2n。
本实施例给出了交换网络2的一种结构。本实施例中,交换网络2包括m个交换层,每个交换层包括n个交换单元,m=log2n,共n*log2n个交换单元。图2给出了n=8、m=3时交换网络2的结构,图2中m个交换层从左到右排列,最左边的是第1层交换单元,从其输入端引出连接线得到交换网络2的n个输入端口;最右边的是第m层交换单元,从其输出端引出连接线得到交换网络2的n个输出端口。
作为一可选实施例,每个交换单元设有2个输入端、2个输出端和2个与路径控制单元4相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通。
本实施例给出了单个交换单元的一种技术方案。本实施例中,每个交换单元设有2个输入端和2个输出端,如图3所示,共有4种不同的状态。这4种不同的状态通过在交换单元的2个控制端(与路径控制单元4相连)加4种不同的控制码得到。具体地,当控制码为00时为第1个状态,第1个输出端有效且与第1个输入端连通;当控制码为01时为第2个状态,第1个输出端有效且与第2个输入端连通;当控制码为10时为第3个状态,第2个输出端有效且与第1个输入端连通;当控制码为11时为第4个状态,第2个输出端有效且与第2个输入端连通。
作为一可选实施例,所述交换网络2的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i+n/2个交换单元的第2个输入端I 1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i-n/2个交换单元的第2个输入端I 1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端O p i,1与第p+1层的第i个交换单元的第1个输入端I p+1 i,1相连,0≤i≤2m-p-1;
i个交换单元的第2个输出端O p i,2与第p+1层的第i+2m-p-1个交换单元的第2个输 入端
Figure 797847DEST_PATH_IMAGE001
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个 输入端
Figure 89151DEST_PATH_IMAGE002
相连,2m-p-1i≤2m-p-1;
第m层第i个交换单元的第1个输出端O m i,1有效,且与交换网络的第i个输出端口Ii相连,0≤i≤n-1。
作为一可选实施例,n=8,m=3。
本实施例给出了一种具体的交换网络结构,即包括3个交换层,每层8个交换单元,如图2所示。
本发明实施例还提供一种处理器,所述处理器包括第一实施例的所述装置。
本实施例处理器中的装置,如图1所示,此处不再赘述。后面的实施例也是如此,均不再展开说明。
作为一可选实施例,所述交换网络2包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络2的输入端口相连,第m层交换单元的输出端与交换网络2的输出端口相连,m=log2n。
作为一可选实施例,每个交换单元设有2个输入端、2个输出端和2个与路径控制单元4相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通。
作为一可选实施例,所述交换网络2的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i+n/2个交换单元的第2个输入端I 1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I 1 i,1、第1层第i-n/2个交换单元的第2个输入端I 1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端O p i,1与第p+1层的第i个交换单元的第1个输入端I p+1 i,1相连,0≤i≤2m-p-1;
i个交换单元的第2个输出端O p i,2与第p+1层的第i+2m-p-1个交换单元的第2个输 入端
Figure 285079DEST_PATH_IMAGE001
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个输 入端
Figure 421662DEST_PATH_IMAGE002
相连,2m-p-1i≤2m-p-1;
第m层第i个交换单元的第1个输出端O m i,1有效,且与交换网络的第i个输出端口Ii相连,0≤i≤n-1。
更进一步地,当交换网络2的所有交换单元的控制码均为00时,指令下发单元1发送到交换网络2第i个输入端口Ii的指令,由交换网络2第i个输出端口Oi传送到与之相连的处理单元3,0≤i≤n-1。
更进一步地,n=8,m=3。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (4)

1.一种粗粒度可重构阵列并行指令配置装置,其特征在于,所述装置包括指令下发单元、处理单元、交换网络和路径控制单元;交换网络采用butterfly结构,设有n个输入端口和n个输出端口,指令下发单元的N个输出端口分别与交换网络的一个输入端口相连,M个处理单元分别与交换网络的一个输出端口相连;路径控制单元通过输出相应的控制码至交换网络使其n个输入端口和n个输出端口一一对应连通,从而使指令下发单元从其输出端口发送的指令经交换网络并行传送到处理单元;其中,n为2的幂次方,且n≥max{N,M};
所述交换网络包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络的输入端口相连,第m层交换单元的输出端与交换网络的输出端口相连,m=log2n;
每个交换单元设有2个输入端、2个输出端和2个与路径控制单元相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通;
所述交换网络的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I1 i,1、第1层第i+n/2个交换单元的第2个输入端I1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端
Figure FDA0003498949150000011
第1层第i-n/2个交换单元的第2个输入端I1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端Op i,1与第p+1层的第i个交换单元的第1个输入端Ip+1 i,1相连,0≤i≤2m-p-1;
第i个交换单元的第2个输出端Op i,2与第p+1层的第i+2m-p-1个交换单元的第2个输入端
Figure FDA0003498949150000021
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个输入端
Figure FDA0003498949150000022
相连,2m-p-1≤i≤2m-p-1;
第m层第i个交换单元的第1个输出端Om i,1有效,且与交换网络的第i个输入端口Ii相连,0≤i≤n-1。
2.根据权利要求1所述的粗粒度可重构阵列并行指令配置装置,其特征在于,当交换网络的所有交换单元的控制码均为00时,指令下发单元发送到交换网络第i个输入端口Ii的指令,由交换网络第i个输出端口Oi传送到与之相连的处理单元,0≤i≤n-1。
3.根据权利要求2所述的粗粒度可重构阵列并行指令配置装置,其特征在于,n=8,m=3。
4.一种处理器,其特征在于,所述处理器包括权利要求1所述的装置;
所述交换网络包括m层交换单元,每层包括n个交换单元,第1层交换单元的输入端与交换网络的输入端口相连,第m层交换单元的输出端与交换网络的输出端口相连,m=log2n;
每个交换单元设有2个输入端、2个输出端和2个与路径控制单元相连的控制端,当2个控制端的控制码为00、01时,第1个输出端有效且分别与第1个输入端和第2个输入端连通;控制码为10、11时,第2个输出端有效且分别与第1个输入端和第2个输入端连通;
所述交换网络的连接方法如下:
当0≤i≤n/2-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端I1 i,1、第1层第i+n/2个交换单元的第2个输入端I1 i+n/2,2相连;当n/2≤i≤n-1时,交换网络的第i个输入端口Ii分别与第1层第i个交换单元的第1个输入端
Figure FDA0003498949150000023
第1层第i-n/2个交换单元的第2个输入端I1 i-n/2,2相连;
将第p层的n个交换单元和2n个输出端、第p+1层的n个交换单元和2n个输入端均按排列顺序分为k=2p组,每组2m-p个交换单元、2*2m-p个输出端或输入端,1≤p≤m-1;
第p层每组内第i个交换单元的第1个输出端Op i,1与第p+1层的第i个交换单元的第1个输入端Ip+1 i,1相连,0≤i≤2m-p-1;
第i个交换单元的第2个输出端Op i,2与第p+1层的第i+2m-p-1个交换单元的第2个输入端
Figure FDA0003498949150000031
相连,0≤i≤2m-p-1-1,或与第p+1层的第i-2m-p-1个交换单元的第2个输入端
Figure FDA0003498949150000032
相连,2m-p-1≤i≤2m-p-1;
第m层第i个交换单元的第1个输出端Om i,1有效,且与交换网络的第i个输入端口Ii相连,0≤i≤n-1。
CN202111497877.2A 2021-12-09 2021-12-09 一种粗粒度可重构阵列并行指令配置装置及处理器 Active CN113900713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111497877.2A CN113900713B (zh) 2021-12-09 2021-12-09 一种粗粒度可重构阵列并行指令配置装置及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111497877.2A CN113900713B (zh) 2021-12-09 2021-12-09 一种粗粒度可重构阵列并行指令配置装置及处理器

Publications (2)

Publication Number Publication Date
CN113900713A CN113900713A (zh) 2022-01-07
CN113900713B true CN113900713B (zh) 2022-06-07

Family

ID=79025661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111497877.2A Active CN113900713B (zh) 2021-12-09 2021-12-09 一种粗粒度可重构阵列并行指令配置装置及处理器

Country Status (1)

Country Link
CN (1) CN113900713B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114355171B (zh) * 2022-03-15 2022-12-23 江苏清微智能科技有限公司 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852048A (en) * 1985-12-12 1989-07-25 Itt Corporation Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion
DE602005014636D1 (de) * 2005-08-22 2009-07-09 Panasonic Corp Dynamisch rekonfigurierbare und geteilte Vorrichtung für die Basisband-Verarbeitung
CN103019656B (zh) * 2012-12-04 2016-04-27 中国科学院半导体研究所 可动态重构的多级并行单指令多数据阵列处理系统
CN103984677A (zh) * 2014-05-30 2014-08-13 东南大学 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN111401533A (zh) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 一种神经网络专用计算阵列及其计算方法
CN112732639B (zh) * 2021-04-01 2021-06-25 南京大学 一种粗粒度动态可重构处理器及其数据处理方法

Also Published As

Publication number Publication date
CN113900713A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
CN109740739B (zh) 神经网络计算装置、神经网络计算方法及相关产品
US8270830B2 (en) Optical network for cluster computing
US20130156425A1 (en) Optical Network for Cluster Computing
KR20010015731A (ko) 복합 어레이 처리에 대한 방법 및 장치
EP3844884B1 (en) Tiled switch matrix data permutation circuit
US7523292B2 (en) Array-type processor having state control units controlling a plurality of processor elements arranged in a matrix
CA2478573C (en) An apparatus for controlling access in a data processor
CN105975251B (zh) 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN113900713B (zh) 一种粗粒度可重构阵列并行指令配置装置及处理器
US11342944B2 (en) Computational memory with zero disable and error detection
US20040133750A1 (en) Apparatus for controlling access in a data processor
CN111404555B (zh) 一种循环移位网络控制方法、系统、存储介质、译码器
CN110059797B (zh) 一种计算装置及相关产品
CN101317172A (zh) 快速傅立叶变换电路
CN110059809B (zh) 一种计算装置及相关产品
CN111079908A (zh) 片上网络数据处理方法、存储介质、计算机设备和装置
JP2015503785A (ja) Fft/dftの逆順ソーティングシステム、方法およびその演算システム
US10805233B2 (en) Fractal-tree communication structure and method, control apparatus and intelligent chip
CN112787799A (zh) 一种Poseidon Hash算法实现电路及其实现方法
CN111078286B (zh) 数据通信方法、计算系统和存储介质
CN105260162A (zh) 一种矢量排列电路及矢量处理器
CN113722266B (zh) 一种桥接器、加速设备互连系统及数据加速处理方法
CN112346704B (zh) 一种用于卷积神经网络的全流水线型乘加单元阵列电路
CN111078624B (zh) 片上网络处理系统和片上网络数据处理方法
CN107844672B (zh) 时钟树单元、时钟网络结构及fpga时钟结构

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