TWI742437B - Operating method for serially-connected computation chips and computing system thereof - Google Patents

Operating method for serially-connected computation chips and computing system thereof Download PDF

Info

Publication number
TWI742437B
TWI742437B TW108135170A TW108135170A TWI742437B TW I742437 B TWI742437 B TW I742437B TW 108135170 A TW108135170 A TW 108135170A TW 108135170 A TW108135170 A TW 108135170A TW I742437 B TWI742437 B TW I742437B
Authority
TW
Taiwan
Prior art keywords
computing
chip
instruction
control circuit
sub
Prior art date
Application number
TW108135170A
Other languages
Chinese (zh)
Other versions
TW202113593A (en
Inventor
蔡鎮年
金胤軒
Original Assignee
香港商蜜蜂計算(香港)股份有限公司
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 香港商蜜蜂計算(香港)股份有限公司 filed Critical 香港商蜜蜂計算(香港)股份有限公司
Priority to TW108135170A priority Critical patent/TWI742437B/en
Publication of TW202113593A publication Critical patent/TW202113593A/en
Application granted granted Critical
Publication of TWI742437B publication Critical patent/TWI742437B/en

Links

Images

Abstract

An operating method for serially-connected computation chips and a computing system thereof are provided. The computing system includes a control circuit and a computation board. The computation board includes a series of connected computation chips. In the operating method, a computation topic is received, and a plurality of sub-topics in the topic are obtained through computation. An instruction set for each of the sub-topics is formed. In the meantime, a length of every instruction and a transmission time for each instruction transmitted to the computation chip are obtained. Therefore, the control circuit can determine a time to transmit the instruction to the computation chip. After obtaining a computation result by enquiry, the control circuit can actively transmit an instruction with respect to a next sub-topic to the computation chip according to the execution time.

Description

序列式計算晶片運作方法與計算系統Sequential computing chip operation method and computing system

本發明關於一種計算系統的運作方法,特別是指能夠估計指令長度與傳送到計算晶片的時間而能主動傳送下一個指令的序列式計算晶片運作方法與計算系統。The present invention relates to an operating method of a computing system, in particular to a sequential computing chip operating method and computing system capable of estimating the length of the instruction and the time to be transmitted to the computing chip and actively transmitting the next instruction.

在習知技術中,一台具有多個處理器(或計算晶片)的電腦系統處理一般任務時,即便每個處理器處理能力有差異,加上要處理的指令差異,使得整體花費時間不同,但以整體電腦系統而言,卻未考量這些差異,且因為顧及系統穩定性,並未針對這些差異提出差異化的管理措施。In the conventional technology, when a computer system with multiple processors (or computing chips) handles general tasks, even if the processing capabilities of each processor are different, and the instructions to be processed are different, the overall time spent is different. However, as far as the overall computer system is concerned, these differences are not considered, and because system stability is taken into consideration, differentiated management measures have not been proposed for these differences.

在上述電腦系統中,若執行特定任務的作法是將計算任務拆分為多個子題目,每個子題目分派給每個處理器,讓每個處理器分別運算各子題目,子題目會分切為多個指令集並傳送到處理器,而常見的方式是一致地在一固定時間(如設定固定指令長度、固定運算時間等),再根據此固定時間分派下次指令,習知技術並沒有提出有效方案可以充分運用電腦系統處理能力。In the above-mentioned computer system, if the method of performing a specific task is to divide the calculation task into multiple sub-topics, each sub-topic is assigned to each processor, and each processor is allowed to calculate each sub-topic separately, and the sub-topics will be divided into Multiple instruction sets are sent to the processor, and the common way is to uniformly set a fixed time (such as setting a fixed instruction length, fixed operation time, etc.), and then dispatch the next instruction according to this fixed time. The conventional technology has not proposed Effective solutions can make full use of the processing power of the computer system.

舉例來說,在區塊鏈應用中採礦使用的礦機的設計中,一般是採用具有多個計算晶片的算力板,而此設計是為了取得獎勵而搶先解題的需求上,或是參與一礦池(mining pool)執行採礦的解題,但在提昇整體運算能力的方法中,除了增加處理能力(如添購礦機、增加處理器時脈等)外,需要更為細緻的優化程序。For example, in the design of mining machines used in blockchain applications, computing power boards with multiple computing chips are generally used, and this design is for the need to solve problems first in order to obtain rewards, or to participate in a Mining pools perform mining problem solving, but in the method of improving the overall computing power, in addition to increasing processing power (such as purchasing mining machines, increasing processor clocks, etc.), more detailed optimization procedures are required.

根據揭露書所揭示的一種序列式計算晶片運作方法,方法應用於具有多個計算晶片的一算力板與一控制電路形成的計算系統,所述方法的主要概念是要根據運算題目得出指令長度並估計出每個指令傳送到計算晶片的時間,使得計算系統可以得出傳送下個指令的時間,能有效優化整體計算效能。According to a sequential computing chip operation method disclosed in the disclosure, the method is applied to a computing system formed by a computing power board with multiple computing chips and a control circuit. The main concept of the method is to derive instructions based on computing problems. Length and estimate the time for each instruction to be transmitted to the computing chip, so that the computing system can calculate the time to transmit the next instruction, which can effectively optimize the overall computing performance.

在序列式計算晶片運作方法中,由控制電路接收題目,題目可以是一外部系統提出的運算需求,可根據題目計算得出題目中子題目,其中處理單元經解析每個子題目後形成一或多個指令,並可得出每個指令的長度與計算出每個指令傳送到所分派子題目的計算晶片的傳送時間。In the sequential computing chip operation method, the control circuit receives the question. The question can be an arithmetic requirement proposed by an external system. The question can be calculated based on the question. The processing unit forms one or more sub-questions after analyzing each sub-question. It can calculate the length of each instruction and calculate the transmission time of each instruction to the computing chip assigned to the subtopic.

接著,控制電路可根據所得出指令長度與各指令的傳送時間決定傳送下一個指令至計算晶片的時間。因此,當每個指令傳送至計算晶片後,控制電路可以根據所得出傳送指令的時間傳送下一個指令至計算晶片。Then, the control circuit can determine the time for transmitting the next instruction to the computing chip according to the obtained instruction length and the transmission time of each instruction. Therefore, after each instruction is transmitted to the computing chip, the control circuit can transmit the next instruction to the computing chip according to the obtained transmission instruction time.

並且,進一步地,在各計算晶片運算各子題目時,控制電路可定時而持續地向計算晶片發出一詢問指令,以取得一計算結果。Furthermore, when each calculation chip calculates each sub-topic, the control circuit can periodically and continuously issue an inquiry command to the calculation chip to obtain a calculation result.

若計算系統為一礦機,而所述外部系統即為礦池,礦機接收礦池提出的具有獎勵的計算需求。If the computing system is a mining machine and the external system is a mining pool, the mining machine receives the computing demand with rewards proposed by the mining pool.

優選地,控制電路可將子題目中一或多個指令傳送到各計算晶片,並以各計算晶片中一或多個暫存器儲存。Preferably, the control circuit can transmit one or more commands in the subtopics to each computing chip and store them in one or more registers in each computing chip.

在計算系統的實施例中,計算系統主要元件為控制電路與算力板,算力板上設有多個序列式連結的計算晶片,各計算晶片設有暫存器,並由控制電路中運行上述序列式計算晶片運作方法。In the embodiment of the computing system, the main components of the computing system are the control circuit and the computing power board. The computing power board is provided with multiple computing chips connected in sequence, and each computing chip is equipped with a register and is operated by the control circuit. The above-mentioned sequential formula calculates the chip operation method.

優選地,所述控制電路包括一通訊單元,用以連線外部系統;一記憶單元,用以儲存與外部系統傳輸的訊息以及與算力板來往的數據;以及一處理單元,用以處理自外部系統接收的計算需求,形成分派給各計算晶片的多個子題目。在方法中,即以處理單元進一步取得各指令的指令長度、估計傳輸各指令至所分派之計算晶片的傳輸時間,以得出各計算晶片傳送下個指令至計算晶片的時間,計算晶片演算子題目時,過程中通過詢問指令得到計算結果後,再接續傳送下個子題目的指令。Preferably, the control circuit includes a communication unit for connecting to an external system; a memory unit for storing information transmitted with the external system and data exchanged with the hash board; and a processing unit for processing self The computing requirements received by the external system form multiple sub-topics assigned to each computing chip. In the method, the processing unit further obtains the instruction length of each instruction, estimates the transmission time of each instruction to the assigned computing chip, and obtains the time for each computing chip to transmit the next instruction to the computing chip, and calculates the chip arithmetic When questioning, after the calculation result is obtained through the inquiry instruction in the process, the instruction of the next sub-topic is sent continuously.

為使能更進一步瞭解本發明的特徵及技術內容,請參閱以下有關本發明的詳細說明與圖式,然而所提供的圖式僅用於提供參考與說明,並非用來對本發明加以限制。In order to further understand the features and technical content of the present invention, please refer to the following detailed description and drawings about the present invention. However, the provided drawings are only for reference and description, and are not used to limit the present invention.

以下是通過特定的具體實施例來說明本發明的實施方式,本領域技術人員可由本說明書所公開的內容瞭解本發明的優點與效果。本發明可通過其他不同的具體實施例加以施行或應用,本說明書中的各項細節也可基於不同觀點與應用,在不悖離本發明的構思下進行各種修改與變更。另外,本發明的附圖僅為簡單示意說明,並非依實際尺寸的描繪,事先聲明。以下的實施方式將進一步詳細說明本發明的相關技術內容,但所公開的內容並非用以限制本發明的保護範圍。The following are specific specific examples to illustrate the implementation of the present invention. Those skilled in the art can understand the advantages and effects of the present invention from the content disclosed in this specification. The present invention can be implemented or applied through other different specific embodiments, and various details in this specification can also be based on different viewpoints and applications, and various modifications and changes can be made without departing from the concept of the present invention. In addition, the drawings of the present invention are merely schematic illustrations, and are not drawn according to actual dimensions, and are stated in advance. The following embodiments will further describe the related technical content of the present invention in detail, but the disclosed content is not intended to limit the protection scope of the present invention.

應當可以理解的是,雖然本文中可能會使用到“第一”、“第二”、“第三”等術語來描述各種元件或者信號,但這些元件或者信號不應受這些術語的限制。這些術語主要是用以區分一元件與另一元件,或者一信號與另一信號。另外,本文中所使用的術語“或”,應視實際情況可能包括相關聯的列出項目中的任一個或者多個的組合。It should be understood that although terms such as "first", "second", and "third" may be used herein to describe various elements or signals, these elements or signals should not be limited by these terms. These terms are mainly used to distinguish one element from another, or one signal from another signal. In addition, the term "or" used in this document may include any one or a combination of more of the associated listed items depending on the actual situation.

揭露書提出一種序列式計算晶片運作方法與計算系統,所述計算系統例如一礦機(mining machine),並連接礦池等外部系統,用以接收礦池提出的具有獎勵的計算需求,例如常見為針對特定加密貨幣(cryptocurrency)的交易執行數學解題,即採礦的任務。The disclosure paper proposes a sequential computing chip operation method and computing system. The computing system, such as a mining machine, is connected to an external system such as a mining pool to receive computing requirements with rewards proposed by the mining pool, such as common Perform mathematical problem solving for specific cryptocurrency transactions, that is, mining tasks.

根據揭露書提出的計算系統實施例,可參考圖1所示實現序列式計算晶片運作方法的計算系統的架構實施例圖,圖中顯示計算系統的實施例主要電路包括控制電路103與算力板105,控制電路103的目的是連線外部系統,如此例中的礦池101,取得計算題目後,根據算力板105的設置,分配其中計算晶片(C1、C2、C3、C4、C5…)的計算任務(子題目)。According to the embodiment of the computing system proposed in the disclosure, reference may be made to the structural embodiment diagram of the computing system that implements the sequential computing chip operation method shown in FIG. 105. The purpose of the control circuit 103 is to connect to an external system. The mining pool 101 in this example, after obtaining the calculation problem, allocates the calculation chips (C1, C2, C3, C4, C5...) according to the setting of the calculation board 105. Calculation tasks (subtopics).

控制電路103主要元件有對外連線的通訊單元131,用以連線外部系統,如礦池101,如有線或無線的通訊模組與對應電路,包括可自礦池101接收計算題目,並回傳計算結果至礦池101。控制電路103主要元件包括一記憶單元133,用以儲存與外部系統傳輸的訊息以及與算力板105來往的數據。控制電路103的主要電路還包括一處理單元135,用以處理自外部系統接收的計算需求,如礦池101提出的計算題目,題目將形成分派給各計算晶片的多個子題目,處理單元135解析子題目後形成每個子題目中的指令集,可以逐一傳送至各計算晶片。The main components of the control circuit 103 include an externally connected communication unit 131 for connecting to external systems, such as the mining pool 101, such as wired or wireless communication modules and corresponding circuits, including the ability to receive calculation problems from the mining pool 101 and return Pass the calculation result to the mining pool 101. The main components of the control circuit 103 include a memory unit 133 for storing information transmitted with the external system and data exchanged with the computing power board 105. The main circuit of the control circuit 103 also includes a processing unit 135 for processing calculation requirements received from an external system, such as a calculation problem proposed by the mining pool 101. The problem will form multiple sub-topics assigned to each computing chip. The processing unit 135 analyzes After the sub-topics, the instruction set in each sub-topic is formed, which can be sent to each computing chip one by one.

特別的是,處理單元135用以處理自外部系統接收的計算需求,計算得出分派給各計算晶片的多個子題目,以及形成各子題目的指令集,在序列式計算晶片運作方法實施例中,並計算(或估算)各個計算晶片處理各子題目所花費的時間。其中,處理單元135可取得各指令的指令長度,以及估計傳輸各指令至所分派之計算晶片的傳輸時間,使得控制電路103可用來判斷出傳送下一個指令的時間,藉以減少指令傳送到各計算晶片的等待時間,以利後續動作,可有效提昇整理系統的計算效率。In particular, the processing unit 135 is used to process the computing requirements received from the external system, calculate multiple sub-topics assigned to each computing chip, and form the instruction set for each sub-topic. In the embodiment of the sequential computing chip operation method , And calculate (or estimate) the time it takes for each computing chip to process each sub-topic. Among them, the processing unit 135 can obtain the instruction length of each instruction and estimate the transmission time for transmitting each instruction to the assigned computing chip, so that the control circuit 103 can be used to determine the time to transmit the next instruction, thereby reducing the transmission of the instruction to each computing chip. The waiting time of the chip to facilitate subsequent actions can effectively improve the calculation efficiency of the finishing system.

在此一提的是,得出指令傳送到計算晶片的時間為根據一種鮑率(Baud Rate)所計算得出,指令傳輸時間的計算可為指令長度除以鮑率。鮑率是符號傳輸速率的一種度量,例如1鮑指每秒傳輸1個符號,於序列式計算晶片運作方法中,可表示指令傳送的速率,傳送速率的單位例如每秒傳輸的符號數,或是每秒傳輸位元(bps),而實際鮑率的設計與整體系統硬體架構有關,根據每個需求設計的算力板105可能會有不同的鮑率。It is mentioned here that the calculation of the command transmission time to the computing chip is based on a baud rate (Baud Rate), and the command transmission time can be calculated as the command length divided by the baud rate. The baud rate is a measure of the symbol transmission rate. For example, 1 baud refers to the transmission of 1 symbol per second. In the sequential computing chip operation method, it can indicate the rate of command transmission. The unit of the transmission rate is the number of symbols transmitted per second, or It is transmitted bits per second (bps), and the design of the actual baud rate is related to the overall system hardware architecture. The power board 105 designed according to each requirement may have a different baud rate.

所依據的參數至少包括:每個指令的長度(L1, L2, L3…),指令長度將影響指令之間傳輸的時間,也使得控制電路103可以根據指令長度與傳輸時間得出傳送下一個指令到計算晶片(C1、C2、C3、C4、C5…)的時間。在此一提的是,實際運行時,控制電路103根據指令長度與傳輸時間得到指令之間傳送的時間間隔,在所述序列式連接的計算晶片的架構下,控制電路103傳送指令至算力板105上的第一個計算晶片後,即可依據此指令間時間間隔傳送下一個指令,而接收到指令的計算晶片可接著根據指令傳送的目的地循序傳送下去至目的計算晶片。The parameters based on at least include: the length of each command (L1, L2, L3...), the length of the command will affect the transmission time between commands, and also enable the control circuit 103 to transfer the next command according to the length of the command and the transmission time Time to calculate chips (C1, C2, C3, C4, C5...). It is mentioned here that in actual operation, the control circuit 103 obtains the time interval between the transmission of instructions according to the length of the instruction and the transmission time. Under the architecture of the serially connected computing chip, the control circuit 103 transmits the instruction to the computing power. After the first computing chip on the board 105, the next command can be sent according to the time interval between commands, and the computing chip that receives the command can then be sent to the destination computing chip in sequence according to the destination of the command transfer.

根據實施圖例,控制電路103通過特定連接介面電性連接算力板105,算力板105上設有多個以序列連接(串聯)的計算晶片C1、C2、C3、C4、C5等,控制電路103電性連接算力板105之間的連接線路如一種通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter,UART)。計算晶片形成計算系統中基本的運算單元,當指令從控制電路板103傳送至算力板105,之後經過序列連線傳送到各計算晶片(C1、C2、C3、C4、C5…),將先儲存至各計算晶片的暫存器,執行運算,完成運算後,回傳結果給控制電路103。According to the example of the embodiment, the control circuit 103 is electrically connected to the computing power board 105 through a specific connection interface. The computing power board 105 is provided with a plurality of computing chips C1, C2, C3, C4, C5 connected in series (series), etc., the control circuit The connection line 103 is electrically connected to the computing power board 105, such as a Universal Asynchronous Receiver/Transmitter (UART). The computing chip forms the basic computing unit in the computing system. When the instruction is transmitted from the control circuit board 103 to the computing power board 105, and then sent to each computing chip (C1, C2, C3, C4, C5...) through the serial connection, it will be sent first. It is stored in the register of each computing chip, the calculation is performed, and after the calculation is completed, the result is returned to the control circuit 103.

除了專門用來提供他人運算或儲存需求的運算系統或各種形式的運算節點,揭露書提出的算力板上計算晶片可獨立參與分配電腦資源的系統。根據實施例,運行為計算系統中基本運算單元的計算晶片20可以內建或外接方式結合於電子裝置,實施例如圖2所示的計算晶片20可以內建電路模組的方式,或是以外接裝置連接參與這個電腦資源分配系統,如此,使用此計算晶片20的終端節點還可通過其中運行的程序取得由需求端提供的報償。In addition to computing systems or various types of computing nodes that are specifically used to provide computing or storage needs of others, the computing chip on the computing power board proposed in the disclosure can independently participate in the system of allocating computer resources. According to the embodiment, the computing chip 20 operating as the basic computing unit in the computing system can be integrated with the electronic device in a built-in or external manner. For example, the computing chip 20 shown in FIG. The device is connected to participate in the computer resource allocation system. In this way, the terminal node using the computing chip 20 can also obtain compensation from the demand side through the program running in it.

根據圖2顯示揭露書所提出的計算晶片20的實施方式,可以採用一種特殊應用積體電路(Application-specific integrated circuit,ASIC),利用其中多種加密電路的多種邏輯組合執行各種運算需求,包括可以支援多種加密演算法的加密雜湊運算,如加密貨幣演算,除了可以方便實現在一個連接於物聯網終端裝置上的內建或外接元件外,更具備省電的效果,並可因為特殊應用積體電路的架構而可針對特定運算目的而設計。According to Figure 2 shows the implementation of the computing chip 20 proposed in the disclosure, a special application integrated circuit (Application-specific integrated circuit, ASIC) can be used, and various logic combinations of multiple encryption circuits can be used to perform various calculation requirements, including Supports cryptographic hash operations of multiple cryptographic algorithms, such as cryptocurrency arithmetic. In addition to being easily implemented on a built-in or external component connected to an IoT terminal device, it also has a power saving effect and can be used for special applications. The structure of the circuit can be designed for specific computing purposes.

圖示為計算晶片20的主要電路元件,如設有處理智能合約來往指令的處理單元201,本身為具有可分配運算能力的處理器;包括儲存運行此系統的軟體程式的記憶單元202,記憶單元202包括計算晶片中的一或多個暫存器(register),可用於暫存指令、資料和位址,於所揭示的計算系統中,計算晶片20中的暫存器用於儲存控制電路傳送的指令。The figure shows the main circuit components of the computing chip 20. For example, there is a processing unit 201 for processing smart contract commands. It is a processor with distributable computing power; it includes a memory unit 202 that stores software programs that run this system. 202 includes one or more registers in the computing chip, which can be used to temporarily store instructions, data, and addresses. In the disclosed computing system, the register in the computing chip 20 is used to store data transmitted by the control circuit. instruction.

儲存數據的電路使得計算晶片20可以成為貢獻為儲存節點,電路如儲存單元203;通訊單元205為計算晶片20對外通訊的電路,使得計算晶片20可以獨立連接網路,但仍可通過所連接的終端節點連網,而對外通訊主要是能夠主動發布計算晶片20中可參與分配的算力、記憶體中的儲存空間等,以通過智能合約記錄於區塊鏈上。The circuit for storing data allows the computing chip 20 to become a contributing storage node, such as the storage unit 203; the communication unit 205 is a circuit for the computing chip 20 to communicate with each other, so that the computing chip 20 can be independently connected to the network, but can still pass through the connected The terminal nodes are connected to the Internet, and the external communication is mainly to actively release the computing power that can participate in the distribution of the computing chip 20, the storage space in the memory, etc., so as to be recorded on the blockchain through a smart contract.

計算晶片20更包括處理各種由控制電路分派計算任務的任務排程單元204,任務排程單元204可依據外部系統的計算需求進行排程,例如可以接收礦池提出的運算題目,以及能夠根據智能合約的指示執行運算任務以能處理來往的資料流,包括回應智能合約使用電腦資源的數據證明。計算晶片20另包括執行特定目的的加密解密任務的加密計算單元206,其中支援各種加密演算法。舉例來說,計算晶片20提供所運行環境的加密貨幣執行對應的加密演算法,因此可以針對各節點支援的加密貨幣而執行對應的加密演算法,並能根據各種運算需求執行對應的演算法。例如在挖礦時,需要加密計算單元206執行特定幣別所需的演算工作,以及與特定電子裝置連結的介面控制單元208,因此,當計算晶片20應用在特定加密需求時,可以控制改變當中的加密演算法。計算晶片20可通過介面控制單元208連接其他算力板上的計算晶片,執行接收指令與數據傳輸等。The computing chip 20 further includes a task scheduling unit 204 for processing various computing tasks assigned by the control circuit. The task scheduling unit 204 can schedule according to the computing requirements of the external system. The contract's instructions perform computing tasks to process the data flow, including data proofs in response to the use of computer resources by the smart contract. The computing chip 20 further includes an encryption calculation unit 206 that performs specific-purpose encryption and decryption tasks, and supports various encryption algorithms. For example, the computing chip 20 provides the cryptocurrency in the operating environment to execute the corresponding cryptographic algorithm. Therefore, the corresponding cryptographic algorithm can be executed for the cryptocurrency supported by each node, and the corresponding algorithm can be executed according to various computing requirements. For example, during mining, the encryption calculation unit 206 is required to perform the calculation work required for a specific currency, and the interface control unit 208 connected to a specific electronic device. Therefore, when the computing chip 20 is applied to specific encryption requirements, it can be controlled to change. Encryption algorithm. The computing chip 20 can be connected to other computing chips on the computing power board through the interface control unit 208 to execute receiving instructions and data transmission.

根據序列式計算晶片運作方法的實施例,得出各子題目中的指令長度以及傳輸時間,以得出每次傳送指令的時間,計算系統可以通過考量每個指令的特性、算力板上的每個計算單元之間的差異,以及整個計算系統環境而提出適應式的運算運作方法,這個適應式的運作方法可提昇整體計算效能。According to the embodiment of the sequential calculation chip operation method, the instruction length and transmission time in each sub-topic are obtained to obtain the time for each instruction to be transmitted. The computing system can consider the characteristics of each instruction and the computing power on the board. The difference between each computing unit and the entire computing system environment proposes an adaptive operation method. This adaptive operation method can improve the overall computing performance.

圖3顯示計算系統中控制電路自外部系統接收到計算任務,此如圖示的題目3,為了加速得出計算結果的效率,可根據計算系統中算力板的設置,將題目3分工讓多個計算晶片分別計算多個子題目,如此圖例示意表示的子題目一31、子題目二32與子題目三33,將每個子題目(31, 32, 33)分別派送至不同的計算晶片執行運算。Figure 3 shows that the control circuit in the computing system receives the calculation task from the external system, as shown in question 3. In order to speed up the efficiency of the calculation results, according to the setting of the computing system in the computing system, the task 3 can be divided into more tasks. A computing chip calculates multiple sub-problems separately, and the sub-problems (31, 32, 33) are sent to different computing chips to perform the calculations.

每個子題目可包括一或多個指令,指令的數量依照實際需求有多有少,圖例中示意顯示子題目一31包括有指令301, 302與303,子題目二32包括指令304, 305, 306,子題目三33則包括指令307, 308, 309等。每個子題目經控制電路派送至各計算晶片後,由各計算晶片中的一或多個暫存器儲存,如此例顯示晶片暫存器一R1儲存了所接收的指令301至303,晶片暫存器二R2儲存了所接收的指令304至306,以及晶片暫存器三R3儲存了所接收的指令307至309。Each subtopic can include one or more instructions, and the number of instructions depends on actual needs. The illustration shows that subtopic 31 includes instructions 301, 302 and 303, and subtopic 32 includes instructions 304, 305, 306. , Sub-topic three 33 includes instructions 307, 308, 309 and so on. After each sub-topic is sent to each computing chip by the control circuit, it is stored in one or more registers in each computing chip. This example shows that the chip register R1 stores the received commands 301 to 303, and the chip temporarily stores it. The second device R2 stores the received commands 304 to 306, and the third chip register R3 stores the received commands 307 to 309.

根據序列式計算晶片運作方法的實施例,在派送各子題目之前,可以根據各指令長度與傳輸時間得出每次傳送指令到計算晶片的時間。圖4所示為此序列式計算晶片運作方法流程實施例,方法更應用於具有多個計算晶片的算力板與控制電路形成的計算系統上,圖例主要描述得出傳送指令至各計算晶片的時間的流程。According to the embodiment of the sequential calculation chip operation method, before each sub-topic is dispatched, the time for each command to be transmitted to the calculation chip can be obtained according to the length of each command and the transmission time. Figure 4 shows an embodiment of the process flow of the sequential computing chip operation method. The method is more applied to a computing system formed by a computing power board with multiple computing chips and a control circuit. The legend mainly describes how to send commands to each computing chip. The flow of time.

一開始,計算系統接收外部系統提出的運算題目(步驟S401),題目由許多需要分派給多個計算晶片的子題目所組成,控制電路中的處理單元可從每個題目計算得出子題目(步驟S403),還可解析出每個子題目中包括的指令,這時,在傳送各子題目中指令至每個計算晶片的階段,將先取得每個指令的長度與根據鮑率所計算的每個指令所需要的傳輸時間。At the beginning, the computing system receives the calculation problem proposed by the external system (step S401). The problem consists of many sub-problems that need to be assigned to multiple computing chips. The processing unit in the control circuit can calculate the sub-problems from each problem (step S401). Step S403), the instructions included in each sub-topic can also be parsed. At this time, in the stage of transmitting the instructions in each sub-topic to each calculation chip, the length of each instruction and each calculated based on the baud rate will be obtained first. The transmission time required for the command.

如圖示流程所述,先取得各指令長度,也就是計算出每個指令處理時間(參數一:L1, L2, L3…)(步驟S405),估計傳輸指令所需時間(參數二:D1, D2, D3…)(步驟S407),以能根據每個指令的長度與傳輸時間估計出控制電路傳送下個指令的時間(步驟S409)。當每個子題目的指令逐一傳送到計算晶片的暫存器,於完成子題目中所有指令傳送後,計算晶片將開始執行當中暫存的指令。As described in the flow chart, first obtain the length of each instruction, that is, calculate the processing time of each instruction (parameter one: L1, L2, L3...) (step S405), and estimate the time required to transmit the instruction (parameter two: D1, D2, D3...) (step S407), to estimate the time for the control circuit to transmit the next command based on the length and transmission time of each command (step S409). When the instructions of each subtopic are transferred to the register of the computing chip one by one, the computing chip will start to execute the temporarily stored instructions after completing all the instructions in the subtopics.

進一步地,根據圖5所示流程,為描述控制電路執行序列式計算晶片運作方法的實施例流程圖。Further, according to the flow shown in FIG. 5, it is a flowchart describing an embodiment of a method for the control circuit to execute a sequential computing chip operation.

當控制電路接收到運算題目後,可依照計算系統的算力板設置分派而計算得出多個子題目,並解析子題目而形成其中一或多個指令,經上述實施例流程後,如步驟S501,控制電路已經得到傳送每個指令至計算晶片的時間。這時,如步驟S503,控制電路根據得到的傳送下一個指令的時間傳送指令,並逐一傳送子題目的指令。當傳送子題目的指令後,控制電路可定時而持續地傳送詢問指令至各計算晶片,用以詢問各計算晶片計算得到的結果(步驟S505)。After the control circuit receives the calculation problem, it can calculate a number of sub-problems according to the power board settings of the computing system, and parse the sub-problems to form one or more instructions. After the above-mentioned embodiment process, as in step S501 , The control circuit has been given the time to transmit each instruction to the computing chip. At this time, in step S503, the control circuit transmits instructions according to the obtained time for transmitting the next instruction, and transmits the instructions of the subtopics one by one. After transmitting the commands of the sub-topics, the control circuit can periodically and continuously transmit the query commands to each computing chip to query the results obtained by each computing chip (step S505).

在控制電路定時向各計算晶片發出詢問指令時,當解完子題目後,計算晶片可以根據此詢問指令而回應計算結果給控制電路。之後,經接收到各計算晶片的計算結果後,控制電路判斷尚未完成題目,表示仍有下一個子題目,繼續傳送下一個子題目的一或多個指令(步驟S507),並繼續上述步驟;反之,若已經完成題目(是),即完成此流程,產生結果。在此一提的是,此結果可以是從礦池分派的任務,因此需要交付礦池,再從中獲取報償。When the control circuit periodically issues an inquiry instruction to each computing chip, after the sub-problem is solved, the computing chip can respond to the calculation result to the control circuit according to the inquiry instruction. Afterwards, after receiving the calculation results of each calculation chip, the control circuit judges that the problem has not been completed, indicating that there is still the next sub-topic, and continues to transmit one or more instructions for the next sub-topic (step S507), and continues the above steps; On the contrary, if the question has been completed (Yes), the process is completed and the result is generated. It is mentioned here that this result can be a task assigned from the mining pool, so it needs to be delivered to the mining pool and then get compensation from it.

在此流程中,控制電路根據運算題目所發送之指令為用來控制晶片動作之控制訊號,其控制的方式是透過特定介面(如UART)將某些有意義的數值寫入到計算晶片內,並且,所述指令長度隨著計算需求差異而不同,指令長度可能介於8到128位元(bits),所稱指令長度會因需求而有不同設計,在一個計算題目中,關於指令集的架構,不同的指令可能會有不同長度,有別於習知使用固定指令長度來估計整體計算時間的作法,揭露書提出的方法將考量各個指令長度與傳輸時間,以得出傳送每個指令的時間。In this process, the command sent by the control circuit according to the calculation problem is the control signal used to control the action of the chip. The control method is to write some meaningful values into the calculation chip through a specific interface (such as UART), and , The instruction length varies with the difference in computing requirements, the instruction length may be between 8 and 128 bits (bits), the said instruction length will be designed differently depending on the requirements, in a computing problem, the structure of the instruction set Different instructions may have different lengths, which is different from the conventional method of using a fixed instruction length to estimate the overall calculation time. The method proposed in the disclosure book will consider the length of each instruction and the transmission time to obtain the time to transmit each instruction .

舉例來說,當計算系統中的控制電路從外部系統(如礦池)收到題目之後,會根據相關的加解密演算法,找出一些子題目,這些子題目需要通過一或多個指令才能傳送完成。假設控制電路現在有一個子題目,其內容為分別為「x, y, z」,形成一個指令集,各子題目指令集中的多個指令將分別傳送到計算晶片的暫存器X;另一子題目的多個指令將傳送到計算晶片的暫存器Y;另有子題目具有多個指令,同樣地,也將這些指令傳送到晶片的暫存器Z。For example, when the control circuit in the computing system receives a question from an external system (such as a mining pool), it will find some sub-topics based on the relevant encryption and decryption algorithms, and these sub-topics need to pass one or more instructions. The transfer is complete. Assuming that the control circuit now has a sub-topic, the contents of which are "x, y, z" respectively, forming an instruction set. Multiple instructions in each sub-topic instruction set will be transferred to the register X of the computing chip. Multiple commands of the subtopic will be transferred to the register Y of the computing chip; another subtopic has multiple commands, and similarly, these commands will be transferred to the register Z of the chip.

綜上所述,根據上述實施例所描述的序列式計算晶片運作方法與計算系統,是指能夠估計出計算系統運算題目中的每個指令長度與傳輸時間得出傳送下一個指令的時間,而降低以固定時間傳送每個指令的等待時間,讓計算系統主動傳送指令至序列式計算晶片,計算系統可為應用在採礦的礦機上,所述方法可以通過提昇個別計算晶片的運算效率而優化整體運算效能。To sum up, the sequential computing chip operation method and computing system described in the above embodiments refer to the ability to estimate the length and transmission time of each instruction in the computing system's computing problem to obtain the time to transmit the next instruction, and Reduce the waiting time for transmitting each instruction at a fixed time, allowing the computing system to actively transmit instructions to the sequential computing chip. The computing system can be applied to mining machines. The method can be optimized by improving the computing efficiency of individual computing chips. Overall computing performance.

以上所公開的內容僅為本發明的優選可行實施例,並非因此侷限本發明的申請專利範圍,所以凡是運用本發明說明書及圖式內容所做的等效技術變化,均包含於本發明的申請專利範圍內。The content disclosed above is only the preferred and feasible embodiments of the present invention, and does not limit the scope of the patent application of the present invention. Therefore, all equivalent technical changes made using the description and schematic content of the present invention are included in the application of the present invention. Within the scope of the patent.

101:礦池 103:控制電路 131:通訊單元 133:記憶單元 135:處理單元 105:算力板 C1、C2、C3、C4、C5:計算晶片 20:計算晶片 201:處理單元 202:記憶單元 203:儲存單元 204:任務排程單元 206:加密計算單元 208:介面控制單元 205:通訊單元 3:題目 31:子題目一 32:子題目二 33:子題目三 301,302,303,304,305,306,307,308,309:指令 R1:晶片暫存器一 R2:晶片暫存器二 R3:晶片暫存器三 步驟S401~S409:序列式計算晶片運作流程之一 步驟S501~S507:序列式計算晶片運作流程之二101: Mining Pool 103: control circuit 131: Communication unit 133: memory unit 135: Processing Unit 105: Hashboard C1, C2, C3, C4, C5: Computing chip 20: Computing chip 201: Processing Unit 202: memory unit 203: storage unit 204: Task scheduling unit 206: Encrypted Computing Unit 208: Interface Control Unit 205: Communication unit 3: title 31: Subtopic One 32: Subtopic Two 33: Subtopic Three 301,302,303,304,305,306,307,308,309: instructions R1: Chip register one R2: Chip register two R3: Chip register three Steps S401~S409: One of the operation flow of sequential computing chip Steps S501~S507: Sequence calculation chip operation process 2

圖1顯示實現序列式計算晶片運作方法的計算系統的架構實施例圖;FIG. 1 shows an embodiment diagram of the architecture of a computing system that implements a sequential computing chip operation method;

圖2顯示計算晶片的電路方塊實施例圖;Figure 2 shows an embodiment diagram of a circuit block of a computing chip;

圖3顯示為題目與指令集的關係圖;Figure 3 shows the relationship diagram between the title and the instruction set;

圖4所示為序列式計算晶片運作方法中得出傳送指令至各計算晶片的時間的實施例流程圖;以及FIG. 4 is a flowchart of an embodiment of obtaining the time for transmitting instructions to each computing chip in the sequential computing chip operation method; and

圖5所示為控制電路執行序列式計算晶片運作方法的實施例流程圖。FIG. 5 is a flowchart of an embodiment of a method for controlling a sequential computing chip to be executed by a control circuit.

S401:接收題目S401: Receive questions

S403:取得子題目S403: Get sub-topic

S405:取得子題目中各指令長度(L1,L2,L3...)S405: Get the length of each instruction in the subtopic (L1, L2, L3...)

S407:估計傳輸指令所需時間(D1,D2,D3...)S407: Estimate the time required to transmit instructions (D1, D2, D3...)

S409:根據指令長度與傳輸時間計算傳送下個指令的時間S409: Calculate the time to transmit the next instruction according to the instruction length and transmission time

Claims (10)

一種計算系統,包括:一控制電路,用以連接一外部系統,接收一題目;一算力板,通過一連接介面電性連接該控制電路,該算力板上設有序列式連結的多個計算晶片;其中該控制電路中運行一序列式計算晶片運作方法,包括:根據所接收的該題目,計算得出該題目中多個子題目,以及形成每個子題目的一或多個指令;得出各個子題目中一或多個指令個別的一指令長度、估計傳輸各指令至該多個計算晶片中每個計算晶片的一傳輸時間,以得出傳送下一個指令的時間;以及針對該多個計算晶片的每個計算晶片,根據所得到傳送下一個指令的時間傳送下一個指令至該多個計算晶片中所分派之計算晶片。 A computing system includes: a control circuit for connecting to an external system to receive a question; a power board, which is electrically connected to the control circuit through a connection interface, and the power board is provided with a plurality of serially connected Calculation chip; wherein the control circuit runs a sequential calculation chip operation method, including: according to the received problem, calculate multiple sub-topics in the problem, and form one or more instructions for each sub-topic; A command length of one or more commands in each sub-topic, an estimated transmission time of each command to each computing chip of the plurality of computing chips, so as to obtain the time for sending the next command; and for the plurality of computing chips Each calculation chip of the calculation chip transmits the next instruction to the allocated calculation chip among the plurality of calculation chips according to the obtained time for transmitting the next instruction. 如請求項1所述的計算系統,其中該控制電路包括:一通訊單元,用以連線該外部系統;一記憶單元,用以儲存與該外部系統傳輸的訊息以及與該算力板來往的數據;以及一處理單元,用以處理自該外部系統接收的該題目,得出分派給該多個計算晶片的多個子題目,以及形成各子題目的該一或多個指令;其中,該處理單元根據該指令長度與各指令的傳輸時間判斷出傳送下一個指令的時間。 The computing system according to claim 1, wherein the control circuit includes: a communication unit for connecting to the external system; a memory unit for storing information transmitted with the external system and communication with the computing power board Data; and a processing unit for processing the question received from the external system to obtain a plurality of sub-topics assigned to the plurality of computing chips, and the one or more instructions forming each sub-topic; wherein, the processing The unit judges the time to transmit the next instruction based on the instruction length and the transmission time of each instruction. 如請求項2所述的計算系統,其中該計算系統為一礦機,該外部系統為一礦池,該礦機接收該礦池提出的一具有獎勵的一計算需求。 The computing system according to claim 2, wherein the computing system is a mining machine, the external system is a mining pool, and the mining machine receives a computing request with a reward proposed by the mining pool. 如請求項3所述的計算系統,其中,於各計算晶片運算各子題 目時,該控制電路通過一詢問指令得到各計算晶片的計算結果,以得出傳送下一個子題目的指令的時間。 The computing system according to claim 3, wherein each sub-problem is calculated on each computing chip At this time, the control circuit obtains the calculation result of each calculation chip through an inquiry instruction to obtain the time for transmitting the instruction of the next sub-topic. 如請求項4所述的計算系統,其中該控制電路定時而持續地傳送該詢問指令至各計算晶片,由各計算晶片根據該詢問指令回應該計算結果。 The computing system according to claim 4, wherein the control circuit periodically and continuously transmits the query command to each computing chip, and each computing chip responds to the calculation result according to the query command. 如請求項1至5中任一項所述的計算系統,其中該多個計算晶片中每個計算晶片包括一或多個暫存器,用以暫存該控制電路傳送的指令。 The computing system according to any one of claims 1 to 5, wherein each computing chip of the plurality of computing chips includes one or more registers for temporarily storing the instructions sent by the control circuit. 一種序列式計算晶片運作方法,應用於具有多個計算晶片的一算力板與一控制電路形成的一計算系統,包括:由該控制電路自一外部系統接收一題目;於該控制電路中,根據所接收的該題目,計算得出該題目中多個子題目,以及形成每個子題目的一或多個指令;得出各個子題目中一或多個指令個別的一指令長度、估計傳輸各指令至該多個計算晶片中每個計算晶片的一傳輸時間,以得出傳送下一個指令的時間;以及根據所得到傳送下一個指令的時間傳送下一個指令至該多個計算晶片中所分派之計算晶片。 A sequential computing chip operation method, applied to a computing system formed by a computing power board with multiple computing chips and a control circuit, includes: receiving a problem from an external system by the control circuit; in the control circuit, According to the received question, calculate multiple sub-topics in the question, and one or more instructions that form each sub-topic; obtain the individual instruction length of one or more instructions in each sub-topic, and estimate the transmission of each instruction A transmission time to each computing chip of the plurality of computing chips to obtain the time for transmitting the next instruction; and transmitting the next instruction to the assigned one of the plurality of computing chips according to the obtained time for transmitting the next instruction Calculate the wafer. 如請求項7所述的序列式計算晶片運作方法,其中該計算系統為一礦機,該外部系統為一礦池,該礦機接收該礦池提出的一具有獎勵的一計算需求。 The sequential computing chip operation method according to claim 7, wherein the computing system is a mining machine, the external system is a mining pool, and the mining machine receives a computing request with a reward proposed by the mining pool. 如請求項8所述的序列式計算晶片運作方法,其中,於各計算晶片運算各子題目時,該控制電路通過一詢問指令得到各計算晶片的計算結果,以得出傳送下一個子題目的指令的時間。 The sequential computing chip operation method described in claim 8, wherein when each computing chip calculates each sub-problem, the control circuit obtains the calculation result of each computing chip through an inquiry command to obtain the transfer of the next sub-problem The time of the instruction. 如請求項7至9中任一項所述的序列式計算晶片運作方法,其中該多個計算晶片中每個計算晶片包括一或多個暫存器,用以暫存該控制電路傳送的指令。The sequential computing chip operation method according to any one of claim items 7 to 9, wherein each computing chip of the plurality of computing chips includes one or more registers for temporarily storing commands sent by the control circuit .
TW108135170A 2019-09-27 2019-09-27 Operating method for serially-connected computation chips and computing system thereof TWI742437B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108135170A TWI742437B (en) 2019-09-27 2019-09-27 Operating method for serially-connected computation chips and computing system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108135170A TWI742437B (en) 2019-09-27 2019-09-27 Operating method for serially-connected computation chips and computing system thereof

Publications (2)

Publication Number Publication Date
TW202113593A TW202113593A (en) 2021-04-01
TWI742437B true TWI742437B (en) 2021-10-11

Family

ID=76604160

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108135170A TWI742437B (en) 2019-09-27 2019-09-27 Operating method for serially-connected computation chips and computing system thereof

Country Status (1)

Country Link
TW (1) TWI742437B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108693934A (en) * 2018-06-28 2018-10-23 北京比特大陆科技有限公司 A kind of digital cash digs mine machine and digital cash digs mine system
CN208607648U (en) * 2018-06-25 2019-03-15 北京嘉楠捷思信息技术有限公司 Travelling wave carry adder, and data operation unit, chip, force calculation board and calculation equipment using same
CN109522117A (en) * 2018-10-25 2019-03-26 深圳市圆世科技有限责任公司 Data dispatch system on a kind of chain towards under isomerous environment
TWI661312B (en) * 2018-06-29 2019-06-01 國立交通大學 Method and management system of distributed computation
US10313108B2 (en) * 2016-06-29 2019-06-04 Intel Corporation Energy-efficient bitcoin mining hardware accelerators

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313108B2 (en) * 2016-06-29 2019-06-04 Intel Corporation Energy-efficient bitcoin mining hardware accelerators
CN208607648U (en) * 2018-06-25 2019-03-15 北京嘉楠捷思信息技术有限公司 Travelling wave carry adder, and data operation unit, chip, force calculation board and calculation equipment using same
CN108693934A (en) * 2018-06-28 2018-10-23 北京比特大陆科技有限公司 A kind of digital cash digs mine machine and digital cash digs mine system
TWI661312B (en) * 2018-06-29 2019-06-01 國立交通大學 Method and management system of distributed computation
CN109522117A (en) * 2018-10-25 2019-03-26 深圳市圆世科技有限责任公司 Data dispatch system on a kind of chain towards under isomerous environment

Also Published As

Publication number Publication date
TW202113593A (en) 2021-04-01

Similar Documents

Publication Publication Date Title
CN107111517B (en) Optimized allocation and/or generation of virtual machines for reducer tasks
CN107003887A (en) Overloaded cpu setting and cloud computing workload schedules mechanism
US9354938B2 (en) Sequential cooperation between map and reduce phases to improve data locality
US8903981B2 (en) Method and system for achieving better efficiency in a client grid using node resource usage and tracking
KR20160087706A (en) Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform
KR20140080434A (en) Device and method for optimization of data processing in a mapreduce framework
Rapp et al. Power-and cache-aware task mapping with dynamic power budgeting for many-cores
CN109154897B (en) Distributed processing method, storage medium, and distributed processing system
CN101652750A (en) Data processing device, distributed processing system, data processing method, and data processing program
CN113407352A (en) Method, processor, device and readable storage medium for processing task
CN107436798A (en) A kind of process access method and device based on NUMA node
CN110247979A (en) A kind of scheduling scheme determines method, apparatus and electronic equipment
US11544113B2 (en) Task scheduling for machine-learning workloads
TWI742437B (en) Operating method for serially-connected computation chips and computing system thereof
WO2019037527A1 (en) Usb interface request scheduling method and apparatus, and device
Stavrinides et al. Security, cost and energy aware scheduling of real-time IoT workflows in a mist computing environment
CN105634694B (en) A kind of method and system of transmitting data between nodes
Chhabra et al. Qualitative parametric comparison of load balancing algorithms in parallel and distributed computing environment
Chatterjee et al. A multi-objective deadline-constrained task scheduling algorithm with guaranteed performance in load balancing on heterogeneous networks
JPWO2018235124A1 (en) Distributed arrangement apparatus, distributed arrangement system, and distributed arrangement method
CN104156332A (en) High-performance parallel computing method based on external PCI-E connection
Miranda et al. Dynamic communication-aware scheduling with uncertainty of workflow applications in clouds
JP6973292B2 (en) VM priority control system and VM priority control method
CN110109861A (en) A kind of task executing method and device
Nain et al. Optimizing service stipulation uncertainty with deep reinforcement learning for internet vehicle systems