CN114442996A - 计算芯片、算力板和数字货币挖矿机 - Google Patents

计算芯片、算力板和数字货币挖矿机 Download PDF

Info

Publication number
CN114442996A
CN114442996A CN202011194830.4A CN202011194830A CN114442996A CN 114442996 A CN114442996 A CN 114442996A CN 202011194830 A CN202011194830 A CN 202011194830A CN 114442996 A CN114442996 A CN 114442996A
Authority
CN
China
Prior art keywords
logic circuit
combinational logic
computing chip
cell
register
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
CN202011194830.4A
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.)
Shenzhen MicroBT Electronics Technology Co Ltd
Original Assignee
Shenzhen MicroBT Electronics 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 Shenzhen MicroBT Electronics Technology Co Ltd filed Critical Shenzhen MicroBT Electronics Technology Co Ltd
Priority to CN202011194830.4A priority Critical patent/CN114442996A/zh
Priority to KR1020237017734A priority patent/KR102599118B1/ko
Priority to PCT/CN2021/098781 priority patent/WO2022088683A1/zh
Priority to TW110120773A priority patent/TWI776543B/zh
Priority to US17/633,084 priority patent/US11579875B2/en
Publication of CN114442996A publication Critical patent/CN114442996A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/12Sizing, e.g. of transistors or gates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

本公开涉及一种计算芯片、算力板和数字货币挖矿机。其中,计算芯片包括以流水线结构布置的多个运算级,每个运算级包括:第一组合逻辑电路,第一组合逻辑电路占据彼此相邻的多个第一单元格点,至少一部分第一单元格点位于第一非完整列中;一个或多个第二组合逻辑电路,每个第二组合逻辑电路占据一个或多个第二单元格点,至少一部分第二单元格点位于第二非完整列中;以及多个寄存器,每个寄存器占据多个第三单元格点,至少一部分第三单元格点位于第一非完整列或第二非完整列中;其中,第一单元格点、第二单元格点和第三单元格点占据计算芯片上的相同的面积。

Description

计算芯片、算力板和数字货币挖矿机
技术领域
本公开涉及数字货币技术领域,具体来说,涉及一种计算芯片、算力板和数字货币挖矿机。
背景技术
数字货币一般是虚拟加密的,且为P2P(Peer-to-Peer)形式,例如比特币。数字货币的独特之处在于,它一般不依靠特定货币机构发行,而是依据特定算法通过大量运算来产生。例如,比特币交易使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。
使用数字货币挖矿机可以进行数字货币的挖矿,其核心是根据挖矿机的运算能力来获得奖励,即数字货币挖矿机是工作量证明(proof of power,POW)型的。在通常的数字货币挖矿机中,可以根据算法的特点基于流水线结构来设计计算芯片。具体而言,可以将运算逻辑划分成若干级以流水线结构布置的运算级,其中每个运算级可以具有相似的功能设计和运算结构。
目前,运算级中的各种电路或器件通常被设计为占据计算芯片中的矩形区域,矩形区域由若干行数和列数的单元格点组成,其中,单元格点是指芯片设计中的最小单位。然而,由于电路或器件本身的特点,某些矩形区域中的空间可能并未被充分地利用,即某些单元格点可能并未被用于任何电路或器件。因此,现有的计算芯片的布局还不够紧凑,会导致计算芯片或包含该计算芯片的其它设备所占的空间较大。
发明内容
本公开的目的在于提供一种计算芯片、算力板和数字货币挖矿机。
根据本公开的第一方面,提供了一种计算芯片,所述计算芯片包括以流水线结构布置的多个运算级,每个运算级包括:
第一组合逻辑电路,所述第一组合逻辑电路占据彼此相邻的多个第一单元格点,至少一部分第一单元格点位于第一非完整列中,在第一非完整列中,第一单元格点的数目小于第一预设数目N1,其中,所述第一预设数目N1为所述计算芯片中的每一列能够容纳的最大单元格点数目;
一个或多个第二组合逻辑电路,每个第二组合逻辑电路占据一个或多个第二单元格点,至少一部分第二单元格点位于第二非完整列中,在第二非完整列中,第二单元格点的数目小于或等于第二预设数目N2,其中,N2=N1/2;以及
多个寄存器,每个寄存器占据多个第三单元格点,至少一部分第三单元格点位于第一非完整列或第二非完整列中;
其中,第一单元格点、第二单元格点和第三单元格点在所述计算芯片上占据相同的面积。
在一些实施例中,至少另一部分第一单元格点位于第一完整列中,在第一完整列中,第一单元格点的数目等于所述第一预设数目N1。
在一些实施例中,在第一非完整列中,第一单元格点的数目大于或等于所述第二预设数目N2。
在一些实施例中,在同一个第一组合逻辑电路中,第一非完整列的数目等于一。
在一些实施例中,在所述计算芯片中的数据流动方向上,所述第一组合逻辑电路的输入端直接连接于寄存器,且所述第一组合逻辑电路的输出端直接连接于寄存器。
在一些实施例中,在所述计算芯片中的数据流动方向上,所述第一组合逻辑电路的输入端直接连接于第二组合逻辑电路,或所述第一组合逻辑电路的输出端直接连接于第二组合逻辑电路。
在一些实施例中,第一组合逻辑电路包括加法器。
在一些实施例中,当同一个第二组合逻辑电路占据的第二单元格点的数目大于所述第二预设数目N2时,超出所述第二预设数目N2的第二单元格点位于所述计算芯片的中间一行或两行上。
在一些实施例中,至少一个第二组合逻辑电路占据位于同一个第二完整列中的第三预设数目N3的第二单元格点,其中,N3=N1-2。
在一些实施例中,在所述计算芯片中的数据流动方向上,最先的第二组合逻辑电路的输入端直接连接于寄存器,且最末的第二组合逻辑电路的输出端直接连接于寄存器。
在一些实施例中,在所述计算芯片中的数据流动方向上,至少一个第二组合逻辑电路的输入端直接连接于第一组合逻辑电路,或至少一个第二组合逻辑电路的输出端直接连接于第一组合逻辑电路。
在一些实施例中,每个寄存器包括具有相等的第四位数N0的低比特位子寄存器与高比特位子寄存器,其中,N0=(N1-2)/2。
在一些实施例中,所述低比特位子寄存器包括N0个第一存储单元和一个第一时钟单元;
所述高比特位子寄存器包括N0个第二存储单元和一个第二时钟单元;
其中,所述第一时钟单元和所述第二时钟单元共同连接于相同的时钟信号源。
在一些实施例中,第一时钟单元和第二时钟单元位于所述计算芯片的中间两行上。
在一些实施例中,所述第一组合逻辑电路的第一位数为2N0或2N0-1;
所述第二组合逻辑电路的第二位数小于或等于2NO;以及
所述寄存器的第三位数为2N0。
根据本公开的第二方面,还提供了一种算力板,所述算力板包括一个或多个如上所述的计算芯片。
根据本公开的第三方面,还提供了一种数字货币挖矿机,所述数字货币挖矿机包括一个或多个如上所述的算力板。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是一种计算芯片的结构示意图;
图2是另一种计算芯片的结构示意图;
图3是根据本公开的一示例性实施例的计算芯片的结构示意图;
图4是又一种计算芯片的结构示意图;
图5是根据本公开的另一示例性实施例的计算芯片的结构示意图。
注意,在以下描述的实施例中,在一些情况中在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。本领域技术人员应当理解,这些示例仅仅以说明的方式来指示本公开的实施方式,而不是以穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出一些具体部件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,并且为非限制性的。因此,示例性实施例的其它示例可以具有不同的值。
根据本公开的第一方面,提出了一种计算芯片,通过改变其中电路或器件的布局,使该计算芯片更加紧凑,以减小其占用的空间。
如图1至图5所示,计算芯片可以包括以流水线结构布置的多个运算级(图中所示为第M-1级、第M级和第M+1级,并具体示出了第M级的示意性结构)。在图1至图5的计算芯片中,数据大体上沿着从左到右的方向流动,也就是说,从第M-1级输出的数据流动到第M级,经第M级处理后,数据继续流动到第M+1级以待处理。在计算芯片中,不同的运算级可以具有相似的功能设计和运算结构,从而实现相应的算法。
如图1至图5所示,对于计算芯片中的每个运算级而言,其可以包括时序逻辑电路和组合逻辑电路。在时序逻辑电路中,任意时刻的输出不仅取决于当时的输入信号,还取决于该时序逻辑电路原来的状态;而在组合逻辑电路中,任意时刻的输出仅仅取决于该时刻的输入,与该组合逻辑电路原来的状态无关。时序逻辑电路和组合逻辑电路的位数是彼此对应的,以方便执行算法。例如,组合逻辑电路的位数可以小于或等于时序逻辑电路的位数。
如上文中所述,在计算芯片中,芯片设计的最小单位可以被称为单元格点。可以理解的是,每个时序逻辑电路或组合逻辑电路可以占据计算芯片中的整数个单元格点。此外,在一些计算芯片中,为了便于排布,为每个时序逻辑电路或组合逻辑电路分配呈矩形阵列状排布的若干个单元格点,即对于每个时序逻辑电路或组合逻辑电路而言,其可以占据计算芯片中的一块矩形区域。
以图1至图5所示的计算芯片为例,其中的时序逻辑电路可以包括寄存器300,组合逻辑电路可以包括第一组合逻辑电路100和第二组合逻辑电路200,且第一组合逻辑电路100可以包括加法器,而第二组合逻辑电路200可以包括除了执行加法运算之外的其它的常规逻辑电路。其中,第一组合逻辑电路100可以占据彼此相邻的多个第一单元格点,第二组合逻辑电路200可以占据一个或多个第二单元格点,以及寄存器300可以占据多个第三单元格点。需要注意的是,这里的第一单元格点、第二单元格点、第三单元格点旨在区分属于不同电路或器件的单元格点,但是第一单元格点、第二单元格点和第三单元格点在计算芯片上占据的面积是相同的。
在计算芯片中,寄存器300可以用于存储在前的组合逻辑电路所输出的数据,并在时钟信号的控制下,在适当的时刻将所存储的数据传输到在后的组合逻辑电路中,以待进一步处理。
在一些实施例中,寄存器300可以是多比特位寄存器,其可以包括多个存储单元和至少一个时钟单元,且每个存储单元或时钟单元可以分别占据多个第三单元格点,并排布在计算芯片中的同一列上。
进一步地,为了方便更灵活地设置计算芯片中的空间,寄存器300可以由具有较低位数的若干个子寄存器组成。在图1至图5所示的示例中,寄存器300可以包括具有相等的第四位数N0的低比特位子寄存器310与高比特位子寄存器320,以便实现均衡的空间布置。可以理解的是,当低比特位子寄存器310与高比特位子寄存器320的第四位数均为N0时,它们所组成的寄存器300的第三位数为2N0。在具体的示例中,N0可以为4、8、16或32等。
其中,低比特位子寄存器310可以包括N0个第一存储单元和一个第一时钟单元,高比特位子寄存器320可以包括N0个第二存储单元和一个第二时钟单元,且第一时钟单元和第二时钟单元可以共同连接于相同的时钟信号源,以使同一个寄存器300中的所有时钟同步。
进一步地,为了简化第一时钟单元和第二时钟单元的连接,可以将第一时钟单元和第二时钟单元设置在计算芯片的中间两行上,而分别朝向计算芯片的两侧排布第一存储单元和第二存储单元。
在图1至图5所示的示例中,计算芯片中的每一列能够容纳的最大单元格点数目,即第一预设数目N1可以根据寄存器300所占据的行数来决定,在这里,N1=2N0+2。具体而言,在一个寄存器300中,多个第一存储单元可以分别位于计算芯片中从上到下(从低比特位到高比特位)的第1行至第N0行,第一时钟单元可以位于第N0+1行,第二时钟单元可以位于第N0+2行,而多个第二存储单元分别位于第N0+3行至第2N0+2行。
为了方便描述,本公开中所述的每个第二组合逻辑电路200所占据的第二单元格点的数目小于或等于第一预设数目N1。然而,可以理解的是,也可以采用其它方式来定义第二组合逻辑电路200,使其所占据的第二单元格点的数目大于第一预设数目N1。在这种情况下,本领域技术人员仍然能够根据本公开所描述的技术方案,对第二组合逻辑电路200或计算芯片中的其它电路或器件的布局进行调整,以充分利用原本空置的单元格点,使得计算芯片更加紧凑。
如图1至图5所示,在计算芯片中的数据流动方向上,可以连续地设置一个或多个第二组合逻辑电路200。在一些实施例中,最先的第二组合逻辑电路200的输入端可直接连接于寄存器300,且最末的第二组合逻辑电路200的输出端可直接连接于不同于前述寄存器的另外的寄存器300。
当然,在其它一些实施例中,至少一个第二组合逻辑电路的输入端和/或输出端也可以与第一组合逻辑电路直接相连。在一具体示例中,某个相应的第二组合逻辑电路的输入端可以与上一个运算级中的第一组合逻辑电路直接相连,或者某个相应的第二组合逻辑电路的输出端可以与下一个运算级中的第一组合逻辑电路直接相连。
根据算法的不同,第二组合逻辑电路200所执行的运算可以是多样化的,相应地,每个第二组合逻辑电路200所需占据的第二单元格点的数目可能不同,并且在一些情况下,同一个第二组合逻辑电路200中的第二单元格点可以是不连续分布的。因此,可以根据第二组合逻辑电路200对计算芯片的布局进行调整,以期充分地利用空间。
在一些情况下,与上述寄存器300类似,一个第二组合逻辑电路200可以由具有较低位数的若干个第二组合逻辑子电路组成。在图1至图5所示的示例中,第二组合逻辑电路200可以包括低比特位第二组合逻辑子电路210和高比特位第二组合逻辑子电路220。由于第二组合逻辑电路200中不包括时钟单元,其第二位数一般小于或等于2N0,且计算芯片上用于布置第二组合逻辑电路200的区域中,位于计算芯片中间两行的单元格点可以被空置。特别地,在一些情况下,至少一个第二组合逻辑电路200占据位于同一个第二完整列中的第三预设数目N3的第二单元格点,其中,N3=N1-2。
如图1至图5所示,在计算芯片中的数据流动方向上,还设置有第一组合逻辑电路100。在一些实施例中,第一组合逻辑电路100的输入端可直接连接于寄存器300,而第一组合逻辑电路100的输出端可直接连接于不同于前述寄存器的另外的寄存器300,以实现对数据的相应处理。与寄存器300的第三位数2N0相关,第一组合逻辑电路100的第一位数可以是2N0或2N0-1。
当然,在其它一些实施例中,第一组合逻辑电路的输入端和/或输出端也可以与第二组合逻辑电路直接相连,以实现相应的运算。
当第一组合逻辑电路100为加法器时,由于功能上的要求,对应于第一组合逻辑电路100的多个第一单元格点通常是彼此相邻的。当为了充分利用计算芯片上的空间而调整各种电路或器件的布局时,需要考虑上述限制条件。
如图1所示,在一种较理想的情况下,第一组合逻辑电路100、第二组合逻辑电路200和寄存器300分别完全地或基本完全地占据相应的矩形区域中的所有单元格点。当然,在第二组合逻辑电路200中,低比特位第二组合逻辑子电路210和高比特位第二组合逻辑子电路220之间可能会存在空置的一行或两行,但这对计算芯片的整体空间利用率的影响并不大。
在一些情况下,如果一个第二组合逻辑电路所需占据的第二单元格点的数目很少,那么可以将这个第二组合逻辑电路设置在原先被空置的中间一行或两行中,从而使得该第二组合逻辑电路不再需要占据计算芯片中单独的一列,因此有助于减少单元格点的总列数,从而减少所需的计算芯片的面积。
如图2所示,在一些情况下,如果一个第二组合逻辑电路200所需占据的第二单元格点的数目小于或等于第二预设数目N2(N2=N1/2),且计算芯片中的原本中间空置的一行或两行单元格点不够布置这个第二组合逻辑电路200,则其将占据新的一列单元格点,导致计算芯片中的空间的浪费。在图2的具体示例中,中间的第二组合逻辑电路200仅占据了一列中的一半或不到一半的单元格点。
在这种情况下,如图3所示,可以将原本空置的格点右侧的第二组合逻辑子单元和/或子寄存器逐个向左移动,当移动到第一组合逻辑电路100时,可以将第一组合逻辑电路100中的部分第一单元格点布置为与第二组合逻辑子单元或子寄存器共享同一个列,从而充分利用计算芯片中的空间。换句话说,在第一组合逻辑电路100中,至少一部分第一单元格点位于第一非完整列中,在第一非完整列中,第一单元格点的数目小于第一预设数目N1;同时在第二组合逻辑电路200中,至少一部分第二单元格点位于第二非完整列中,在第二非完整列中,第二单元格点的数目小于或等于第二预设数目N2;且在寄存器300中,至少一部分第三单元格点位于第一非完整列或第二非完整列中,即第一组合逻辑电路100、第二组合逻辑电路200和寄存器300中的至少两者可以共享计算芯片中的同一列上的单元格点。
在一些实施例中,第一组合逻辑电路100所占据的第一单元格点的数目较多,因此至少另一部分第一单元格点是位于第一完整列中的,在第一完整列中,第一单元格点的数目等于第一预设数目N1。此时,包括第一完整列和第一非完整列两者的第一组合逻辑电路100将占据一L型区域。
由于针对第二组合逻辑电路200和寄存器300的重新布局是以第二组合逻辑子电路或子寄存器为单位进行的,且每个第二组合逻辑子电路或每个子寄存器的比特位数通常分别为第二组合逻辑电路200和寄存器300的比特位数的一半(在有些情况下,第二组合逻辑子电路的比特位数小于第二组合逻辑电路200的比特位数的一半),因此一列中可能空置的单元格点的数目通常大于或等于N2,相应地,在第一非完整列中,第一单元格点的数目可以大于或等于第二预设数目N2。
进一步地,为了尽可能减少计算芯片中的单元格点的数目,在同一个第一组合逻辑电路100中,第一非完整列的数目可以等于一,以避免过多的第一非完整列导致计算芯片中单元格点的总列数增加。
在另一些情况下,如图4所示,同一个第二组合逻辑电路200占据的第二单元格点的数目可能大于第二预设数目N2,即占据了同一列中超过一半的单元格点。
在这种情况下,如图5所示,可以将超出第二预设数目N2的第二单元格点布置在计算芯片的中间一行或两行上,以便将一列中的至少一半的单元格点空出,从而方便将原本在右侧的第二组合逻辑子电路和/或子寄存器逐个地向左移动,而不用再对第二组合逻辑子电路和/或子寄存器进行拆分,从而有助于保障电路或器件的整体性。当移动到第一组合逻辑电路100时,可以将第一组合逻辑电路100中的部分第一单元格点布置为与第二组合逻辑子单元或子寄存器共享同一个列,从而充分利用计算芯片中的空间。
在本公开的方案中,利用第二组合逻辑电路200的比特位数的非完整性,通过改变第一组合逻辑电路100、第二组合逻辑电路200和/或寄存器300所占据的单元格点的布局,具体地,不局限于为每个第一组合逻辑电路100、第二组合逻辑电路200或寄存器300都分配相应的矩形区域,而是将第一单元格点、第二单元格点和第三单元格点中的至少两种属于不同电路或器件的单元格点布置在计算芯片的同一个列中,实现了计算芯片中的面积的充分利用,提高了整体利用率。
根据本公开的第二方面,还提出了一种算力板,如上所述的计算芯片可以被包括在算力板中。具体来说,算力板可以包括一个或多个计算芯片。多个计算芯片可以并行地执行计算任务。
根据本公开的第三方面,还提出了一种数据货币挖矿机,如上所述的算力板可以被包括在数字货币挖矿机中,该数字货币挖矿机优选地用于执行加密货币的挖掘。例如数字货币挖矿机可以是比特币挖矿机。具体来说,数字货币挖矿机可以包括一个或多个算力板。多个算力板可以并行地执行计算任务,例如执行SHA-256算法。
如在此所使用的,词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、设备或部件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式连接(或者通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应注意,如本文所使用的,词语“包括”、“包含”、“具有”和任何其它变体说明存在所指出的特征、整体、步骤、操作、元件和/或部件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
本领域技术人员还应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的实施例可以任意彼此组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对上面的实施例进行修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

Claims (17)

1.一种计算芯片,其特征在于,所述计算芯片包括以流水线结构布置的多个运算级,每个运算级包括:
第一组合逻辑电路,所述第一组合逻辑电路占据彼此相邻的多个第一单元格点,至少一部分第一单元格点位于第一非完整列中,在第一非完整列中,第一单元格点的数目小于第一预设数目N1,其中,所述第一预设数目N1为所述计算芯片中的每一列能够容纳的最大单元格点数目;
一个或多个第二组合逻辑电路,每个第二组合逻辑电路占据一个或多个第二单元格点,至少一部分第二单元格点位于第二非完整列中,在第二非完整列中,第二单元格点的数目小于或等于第二预设数目N2,其中,N2=N1/2;以及
多个寄存器,每个寄存器占据多个第三单元格点,至少一部分第三单元格点位于第一非完整列或第二非完整列中;
其中,第一单元格点、第二单元格点和第三单元格点在所述计算芯片上占据相同的面积。
2.根据权利要求1所述的计算芯片,其特征在于,至少另一部分第一单元格点位于第一完整列中,在第一完整列中,第一单元格点的数目等于所述第一预设数目N1。
3.根据权利要求1所述的计算芯片,其特征在于,在第一非完整列中,第一单元格点的数目大于或等于所述第二预设数目N2。
4.根据权利要求1所述的计算芯片,其特征在于,在同一个第一组合逻辑电路中,第一非完整列的数目等于一。
5.根据权利要求1所述的计算芯片,其特征在于,在所述计算芯片中的数据流动方向上,所述第一组合逻辑电路的输入端直接连接于寄存器,或所述第一组合逻辑电路的输出端直接连接于寄存器。
6.根据权利要求1所述的计算芯片,其特征在于,在所述计算芯片中的数据流动方向上,所述第一组合逻辑电路的输入端直接连接于第二组合逻辑电路,或所述第一组合逻辑电路的输出端直接连接于第二组合逻辑电路。
7.根据权利要求1所述的计算芯片,其特征在于,第一组合逻辑电路包括加法器。
8.根据权利要求1所述的计算芯片,其特征在于,当同一个第二组合逻辑电路占据的第二单元格点的数目大于所述第二预设数目N2时,超出所述第二预设数目N2的第二单元格点位于所述计算芯片的中间一行或两行上。
9.根据权利要求1所述的计算芯片,其特征在于,至少一个第二组合逻辑电路占据位于同一个第二完整列中的第三预设数目N3的第二单元格点,其中,N3=N1-2。
10.根据权利要求1所述的计算芯片,其特征在于,在所述计算芯片中的数据流动方向上,最先的第二组合逻辑电路的输入端直接连接于寄存器,且最末的第二组合逻辑电路的输出端直接连接于寄存器。
11.根据权利要求1所述的计算芯片,其特征在于,在所述计算芯片中的数据流动方向上,至少一个第二组合逻辑电路的输入端直接连接于第一组合逻辑电路,或至少一个第二组合逻辑电路的输出端直接连接于第一组合逻辑电路。
12.根据权利要求1所述的计算芯片,其特征在于,每个寄存器包括具有相等的第四位数N0的低比特位子寄存器与高比特位子寄存器,其中,N0=(N1-2)/2。
13.根据权利要求12所述的计算芯片,其特征在于,所述低比特位子寄存器包括N0个第一存储单元和一个第一时钟单元;
所述高比特位子寄存器包括N0个第二存储单元和一个第二时钟单元;
其中,所述第一时钟单元和所述第二时钟单元共同连接于相同的时钟信号源。
14.根据权利要求13所述的计算芯片,其特征在于,第一时钟单元和第二时钟单元位于所述计算芯片的中间两行上。
15.根据权利要求12所述的计算芯片,其特征在于,所述第一组合逻辑电路的第一位数为2N0或2N0-1;
所述第二组合逻辑电路的第二位数小于或等于2N0;以及
所述寄存器的第三位数为2N0。
16.一种算力板,其特征在于,所述算力板包括一个或多个根据权利要求1至15中任一项所述的计算芯片。
17.一种数字货币挖矿机,其特征在于,所述数字货币挖矿机包括一个或多个根据权利要求16所述的算力板。
CN202011194830.4A 2020-10-30 2020-10-30 计算芯片、算力板和数字货币挖矿机 Pending CN114442996A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202011194830.4A CN114442996A (zh) 2020-10-30 2020-10-30 计算芯片、算力板和数字货币挖矿机
KR1020237017734A KR102599118B1 (ko) 2020-10-30 2021-06-08 계산 칩, 해시 보드 및 데이터 처리 장치
PCT/CN2021/098781 WO2022088683A1 (zh) 2020-10-30 2021-06-08 计算芯片、算力板和数据处理设备
TW110120773A TWI776543B (zh) 2020-10-30 2021-06-08 計算晶片、算力板和數據處理設備
US17/633,084 US11579875B2 (en) 2020-10-30 2021-06-08 Computing chip, hashrate board and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011194830.4A CN114442996A (zh) 2020-10-30 2020-10-30 计算芯片、算力板和数字货币挖矿机

Publications (1)

Publication Number Publication Date
CN114442996A true CN114442996A (zh) 2022-05-06

Family

ID=81323624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011194830.4A Pending CN114442996A (zh) 2020-10-30 2020-10-30 计算芯片、算力板和数字货币挖矿机

Country Status (5)

Country Link
US (1) US11579875B2 (zh)
KR (1) KR102599118B1 (zh)
CN (1) CN114442996A (zh)
TW (1) TWI776543B (zh)
WO (1) WO2022088683A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114912405A (zh) * 2021-02-08 2022-08-16 深圳比特微电子科技有限公司 采用全定制布局摆放的芯片以及用于实现挖矿算法的电子装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4249193A (en) * 1978-05-25 1981-02-03 International Business Machines Corporation LSI Semiconductor device and fabrication thereof
KR100262438B1 (ko) * 1991-05-08 2000-08-01 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
KR0175373B1 (ko) * 1995-09-28 1999-04-01 김광호 칩 면적을 줄인 시변 교차 필터
KR101286769B1 (ko) * 2009-12-15 2013-07-16 한국전자통신연구원 계수 평균화 기법을 적용한 계수 곱셈기 및 이를 이용한 디지털 델타-시그마 변조기
CN102185587B (zh) * 2011-03-21 2013-07-24 浙江大学 一种低功耗的两相结构多阶内插半带滤波器
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US9024657B2 (en) * 2012-10-11 2015-05-05 Easic Corporation Architectural floorplan for a structured ASIC manufactured on a 28 NM CMOS process lithographic node or smaller
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
CN210958338U (zh) * 2019-07-31 2020-07-07 国网内蒙古东部电力有限公司电力科学研究院 基于fpga芯片的三相数字锁相环、svpwm调制器及电网谐波电流控制系统
CN111459458A (zh) 2020-06-03 2020-07-28 深圳比特微电子科技有限公司 运算电路、芯片和计算装置
CN111600699A (zh) 2020-06-17 2020-08-28 深圳比特微电子科技有限公司 用于实现散列算法的电路和方法
CN111562808A (zh) 2020-06-22 2020-08-21 深圳比特微电子科技有限公司 时钟电路系统、计算芯片、算力板和数字货币挖矿机
CN213042269U (zh) * 2020-10-30 2021-04-23 深圳比特微电子科技有限公司 计算芯片、算力板和数字货币挖矿机

Also Published As

Publication number Publication date
KR20230079496A (ko) 2023-06-07
TW202207025A (zh) 2022-02-16
US11579875B2 (en) 2023-02-14
KR102599118B1 (ko) 2023-11-06
WO2022088683A1 (zh) 2022-05-05
US20220276868A1 (en) 2022-09-01
TWI776543B (zh) 2022-09-01

Similar Documents

Publication Publication Date Title
JP2671120B2 (ja) データ処理セルおよびデータプロセッサ
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
Singh et al. PITIA: an FPGA for throughput-intensive applications
JP2018055677A (ja) 外積累算演算のためのプロセッサおよび方法
CN213042269U (zh) 计算芯片、算力板和数字货币挖矿机
US11042360B1 (en) Multiplier circuitry for multiplying operands of multiple data types
CN110007896B (zh) 具有时钟选通的用于执行矩阵乘法的硬件单元
CN112114776A (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
US20210326111A1 (en) FPGA Processing Block for Machine Learning or Digital Signal Processing Operations
CN111708512A (zh) 加法器、运算电路、芯片和计算装置
US20170168775A1 (en) Methods and Apparatuses for Performing Multiplication
CN114442996A (zh) 计算芯片、算力板和数字货币挖矿机
EP0338757A2 (en) A cell stack for variable digit width serial architecture
US8595668B1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
CN214670605U (zh) 采用全定制布局摆放的芯片以及用于实现挖矿算法的电子装置
EP4155901A1 (en) Systems and methods for sparsity operations in a specialized processing block
CN109196465B (zh) 双精度浮点运算
CN113743046B (zh) 存算一体版图结构和数据拆分存算一体版图结构
US20210064339A1 (en) Arithmetic circuit, and neural processing unit and electronic apparatus including the same
CN114675804A (zh) 用于低延时模块化乘法的系统和方法
Mandal et al. A comparative study of Arithmetic Multipliers
US11947889B2 (en) Chips placed in full-custom layout and electronic device for implementing mining algorithm
JPH01220528A (ja) パリテイ発生器
Patan et al. Design and implementation of optimized register file for streaming applications
EP4195027A1 (en) Computational circuit with hierarchical accumulator

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