TWI701554B - 適用於雜湊演算法的電路系統 - Google Patents

適用於雜湊演算法的電路系統 Download PDF

Info

Publication number
TWI701554B
TWI701554B TW107145386A TW107145386A TWI701554B TW I701554 B TWI701554 B TW I701554B TW 107145386 A TW107145386 A TW 107145386A TW 107145386 A TW107145386 A TW 107145386A TW I701554 B TWI701554 B TW I701554B
Authority
TW
Taiwan
Prior art keywords
circuit
memory
units
logic
logic operation
Prior art date
Application number
TW107145386A
Other languages
English (en)
Other versions
TW202022618A (zh
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 TW107145386A priority Critical patent/TWI701554B/zh
Publication of TW202022618A publication Critical patent/TW202022618A/zh
Application granted granted Critical
Publication of TWI701554B publication Critical patent/TWI701554B/zh

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

本發明提供一種適用於雜湊演算法的電路系統,包含:多排記憶體電路單元,每一排該記憶體電路單元均包含多個位元與一組存取埠以存取該多個位元的部分,其中每一組存取埠包含多個資料存取埠與多個位址存取埠;邏輯運算單元,用於執行邏輯運算以取得一雜湊值,該雜湊值係用於指定存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元;以及記憶體管理邏輯電路,用於分別連接該邏輯運算單元與該多排記憶體電路單元所分別對應的該組存取埠。

Description

適用於雜湊演算法的電路系統
本發明關於一種電路系統,特別是適用於雜湊演算法的電路系統。
雜湊(hash)或哈希演算法在計算機領域當中有非常廣泛的應用,特別是用在資訊安全的部分。傳統的做法,都是以軟體來執行雜湊演算法。而目前興起的區塊鏈與虛擬貨幣,也大量使用雜湊演算法。
請參考圖1所示,其為用於執行雜湊演算法的現有計算機系統100的一方塊示意圖。該計算機系統100包含一中央處理器101,以及與中央處理器101相連接的一或多個動態隨機存取記憶體140。上述的中央處理器101與各個動態隨機存取記憶體140都是獨立封裝,安裝在同一塊或不同塊的電路板上。目前流行的記憶體連接規格是JEDEC固態電子協會規定的雙倍率同步動態隨機存取記憶體(DDR SDRAM)的各式規格。
上述的中央處理器101包含一或多個計算核心110,各自連接到一記憶體管理器120,該記憶體管理器120連接到快取記憶體(cache)130與多個動態隨機存取記憶體140。當上述的一或多個計算核心110執行雜湊演算法時,需要將內容存取到系統記憶體當中,也就是動態隨機存取記憶體140當中。
無論記憶體管理器120是否將所欲存取的系統記憶體內容快取到該快取記憶體130當中,也無論快取記憶體130的管理方式採用直寫(write-through)或是寫回(write-back),由於記憶體管理器120與動態隨機存取記憶體140之間的連線線路是在晶片封裝體的外面,暴露在外界的電磁干擾信號當中,所以在快取記憶體130與動態隨機存取記憶體140之間的存取動作無法使用中央處理器101內所採用的高速時脈信號,例如1GHz以上的時脈信號,而必須採用較慢的時脈信號,例如100~200MHz。
由此可知,利用中央處理器101執行雜湊演算法就會受限於上述記憶體存取的瓶頸。因此,亟需一種可以無需通過瓶頸就能夠在晶片內部高速執行雜湊演算法的電路系統,以便提高計算的效率。
根據一實施例,本發明提供一種適用於雜湊演算法的電路系統,包含:多排記憶體電路單元,每一排該記憶體電路單元均包含多個位元與一組存取埠以存取該多個位元的部分,其中每一組存取埠包含多個資料存取埠與多個位址存取埠;邏輯運算單元,用於執行邏輯運算以取得一雜湊值,該雜湊值係用於指定存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元;以及記憶體管理邏輯電路,用於分別連接該邏輯運算單元與該多排記憶體電路單元所分別對應的該組存取埠。
在一實施例中,為了調整不同線路長度所造成的延遲與時脈不匹配,該電路系統更包含:暫存緩衝器單元,用於分別連接至少一排該記憶體電路單元與該記憶體管理邏輯電路,以便暫存自該至少一排該記憶體電路單元所存取的內容。
在一實施例中,為了適應不同種類的同步與非同步晶片實作技術,該多排記憶體電路單元包含下列其中一種電路或其任意組合:靜態隨機存取記憶體(SRAM);正反器(flip-flop);以及鎖存器(latch)。
在一實施例中,為了同時提供多個邏輯運算單元以增進執行效率,其中該邏輯運算單元更包含多個第二邏輯運算單元,其中每一個第二邏輯運算單元分別連接至該記憶體管理邏輯電路,並且用於執行第二邏輯運算以分別產生一第二雜湊值,其中該第二雜湊值係用於存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元。
在一實施例中,為了同時提供多個邏輯運算單元以增進執行效率,該邏輯運算單元更包含多個第一邏輯運算單元,其中每一個第一邏輯運算單元用於執行第一邏輯運算,以分別令該多個第二邏輯運算單元其中之一執行該第二邏輯運算。在該實施例中,該邏輯運算單元更包含一交換器電路(crossbar),用於分別連接該多個第二邏輯運算單元與該多個第一邏輯運算單元。
在一實施例中,為了替多個不衝突的存取指令進行排程,該記憶體管理邏輯電路更包含先進先出的序列,當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,係依照存取的先後順序,排入該序列依序進行處理。
在一實施例中,為了替多個不衝突的存取指令進行排程,當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,該記憶體管理邏輯電路係不依照存取的先後順序(out-of-order)的方式進行處理。
在一實施例中,為了替衝突的存取指令進行排程,該記憶體 管理邏輯電路更包含仲裁邏輯電路,當有多個該第二邏輯運算單元產生欲存取相同排的該記憶體電路單元時,該仲裁邏輯電路係依照該多個第二邏輯運算單元所各自對應的編號的優先順序進行處理。
在一實施例中,該邏輯運算包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法。
在一實施例中,為了方便安排繞線與盡可能讓線路的長度一致,該多排記憶體電路單元與該邏輯運算單元位於同一晶片,其中該邏輯運算單元被該多排記憶體電路單元包圍在該晶片當中。
根據本發明所提供的電路系統,可以無需通過傳統的記憶體存取瓶頸就能夠在晶片內部高速執行雜湊演算法,進而提高計算的效率。
100‧‧‧計算機系統
101‧‧‧中央處理器
110‧‧‧計算核心
120‧‧‧記憶體管理器
130‧‧‧快取記憶體
140‧‧‧動態隨機存取記憶體
200‧‧‧電路系統
210‧‧‧記憶體電路單元
220‧‧‧邏輯運算單元
230‧‧‧記憶體管理邏輯電路
300‧‧‧電路系統
310‧‧‧暫存緩衝器單元
320‧‧‧第二邏輯運算單元
330‧‧‧記憶體管理邏輯電路
331‧‧‧邏輯運算單元介面
333‧‧‧排程邏輯電路
335‧‧‧仲裁邏輯電路
339‧‧‧記憶體介面
400‧‧‧電路系統
410‧‧‧第一邏輯運算單元
420‧‧‧交換器電路
圖1為用於執行雜湊演算法的現有計算機系統100的一方塊示意圖。
圖2為根據本發明一實施例的一電路系統200的一方塊示意圖。
圖3為根據本發明一實施例的一電路系統300的一方塊示意圖。
圖4為根據本發明一實施例的一電路系統400的一方塊示意圖。
本發明將詳細描述一些實施例如下。然而,除了所揭露的實施例外,本發明亦可以廣泛地運用在其他的實施例施行。本發明的範圍並不受該些實施例的限定,乃以其後的申請專利範圍為準。而為提供更清楚的描述及使熟悉該項技藝者能理解本發明的發明內容,圖示內各部分並沒有依照其相對的尺寸而繪圖,某些尺寸與其他相關尺度的比例會被突顯而 顯得誇張,且不相關的細節部分亦未完全繪出,以求圖示的簡潔。此外,本發明的各流程圖所示的各個步驟當中,可以插入其他與本發明無關的其他步驟。除非有因果依存關係,本發明也不限定各個步驟的執行順序。
請參考圖2所示,其為根據本發明一實施例的一電路系統200的一方塊示意圖。該電路系統200包含多排記憶體電路單元210,邏輯運算單元220,以及用於分別連接該邏輯運算單元220與該多排記憶體電路單元210的記憶體管理邏輯電路230。
在一實施例中,該電路系統200可以實施在同一晶片上,包含在同一封裝體內。在另一實施例中,該電路系統200可以實施在多個晶片上,但同樣包含在同一封裝體內。為了抵抗外界的電磁干擾,該封裝體可以包含金屬外殼或其他屏蔽電磁干擾的措施。在該實施例中,該多排記憶體電路單元210與該邏輯運算單元220可以位於不同的晶片上。
在一實施例中,如圖2所示,該多排記憶體電路單元210與該邏輯運算單元220位於同一晶片,其中該邏輯運算單元220被該多排記憶體電路單元210包圍在該晶片當中。然而,由於繞線的緣故,可能有某些記憶體電路單元210無法完全包圍該邏輯運算單元220。在一實施例中,本發明對於包圍的定義是:該電路系統200中有八成的記憶體電路單元210較該邏輯運算單元220更靠近該晶片的邊緣。
每一排該記憶體電路單元210包含多個位元,並且具有一組存取埠。該組存取埠包含多個資料存取埠與多個位址存取埠以指定其內含的多個位元。該組存取埠還可以包含指令存取埠,用於對該排該記憶體電路單元210下達讀取或寫入的指令。該排該記憶體電路單元210也可以透過 指令存取埠來回復本身的狀態。本發明並不限定有幾排該記憶體電路單元210,也不限定每一排該記憶體電路單元210包含多少個位元,也不限定上述該組存取埠所包含的資料存取埠、位址存取埠與指令存取埠的個數。
在一實施例中,該記憶體電路單元210可以包含靜態隨機存取記憶體(static random access memory,SRAM),例如以金屬氧化物半導體場效電晶體(MOSFET)、雙極性電晶體(bipolar transistor)等元器件實作的靜態隨機存取記憶體。在另一實施例中,該記憶體電路單元210可以包含各種形式的正反器(flip-flop),例如RS正反器、D正反器、JK正反器、T正反器、同步正反器、主從正反器等元器件。在更一實施例中,該記憶體電路單元210可以包含各種閂鎖電路(latch),例如RS閂鎖、門控D閂鎖等。
該邏輯運算單元220可以包含邏輯運算與/或數值運算的電路,內含一個暫存器檔案,用於暫存邏輯運算與/或數值運算所需的數值。在一實施例中,該邏輯運算單元220可以執行邏輯運算以得到一雜湊值,該雜湊值係用於指定存取該多排記憶體電路單元210當中的某一排該記憶體電路單元210當中的部分位元。該邏輯運算包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法。
該存取指令係傳送至該記憶體管理邏輯電路230。該記憶體管理邏輯電路230係透過被指定的該記憶體電路單元210的該組存取埠對被指定的部分位元進行儲存或讀取。由於上述的邏輯運算,存取指令的傳送與處理均使用同一晶片或同一封裝體內部的高速時脈信號運行,比起圖1所示的現有技術相比,圖2所示實施例的記憶體存取速度要遠高於圖1範例中對動態隨機存取記憶體140的存取速度。據此,本發明所提供的實施例可以 提供無需通過瓶頸就能夠在晶片內部高速執行雜湊演算法的電路系統,進而提高計算的效率。
請參考圖3所示,其為根據本發明一實施例的一電路系統300的一方塊示意圖。該電路系統300包含了多排記憶體電路單元210、一記憶體管理邏輯電路330,以及多個暫存緩衝器單元310。每一個暫存緩衝器單元310用於分別連接至少一排該記憶體電路單元210與該記憶體管理邏輯電路330,以便暫存自該至少一排該記憶體電路單元210所存取的內容。由於在實作上,每一排記憶體電路單元210與記憶體管理邏輯電路330的線路並不是等長,所以某些排的記憶體電路單元210需要對應的暫存緩衝器單元310來暫存內容,以便對應到下一個或下幾個時脈信號。圖3的實施例所包含的多個暫存緩衝器單元310所暫存的時間可以相同,但也可以不同,端賴其所連接的記憶體電路單元210與記憶體管理邏輯電路330的線路長度而定。
該電路系統300包含了多個第二邏輯運算單元320,分別連接到該記憶體管理邏輯電路330。這些第二邏輯運算單元320的集合可以被視為圖2所示的邏輯運算單元220。而前述關於邏輯運算單元220的敘述,可以適用於這些第二邏輯運算單元320。
第二邏輯運算單元320用於執行第二邏輯運算以分別產生一第二雜湊值,其中該第二雜湊值係用於存取該多排記憶體電路單元210當中的某一排該記憶體電路單元210當中的部分位元。在一實施例中,該第二邏輯運算包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法或是其部分。因此,該電路系統300可以同時計算多個偽隨機數(nonce)。
每一個該第二邏輯運算單元320可以具有獨特的編號,用於識別該第二邏輯運算單元320。在一實施例中,第二邏輯運算單元320的編號也可以用於表示該第二邏輯運算單元320的存取指令的優先度。當有兩個或以上的第二邏輯運算單元320要對同一排記憶體電路單元210進行存取時,即發生存取衝突(collision),該記憶體管理邏輯電路330可以根據造成存取衝突的多個第二邏輯運算單元320的編號大小,來決定那一個第二邏輯運算單元320所發出的存取指令具有優先執行的權利。舉例來說,可以令編號較大的第二邏輯運算單元320的存取指令優先執行,也可以令編號較小的第二邏輯運算單元320的存取指令優先執行。上述的編號可以是利用硬體決定,也可以利用軟體進行設定。本發明並不限定利用軟體重新設定各個第二邏輯運算單元320編號的時機與次數。
當這些第二邏輯運算單元320所產生的多個第二雜湊值指定存取不同排該記憶體電路單元210的時候,該記憶體管理邏輯電路330可以同時執行多個存取動作,而增進計算效率。在某些實施例中,該電路系統300的計算效率可以用每秒執行多少個雜湊運算(hash rate per second)作為指標。當該電路系統300具有越多排記憶體電路單元210時,越不容易發生存取衝突(collision),亦即記憶體存取的效率就越高,每秒可以執行更多個雜湊運算。然而,記憶體電路單元210的排數越多,其繞線的複雜程度也就隨即增加。付出的代價可能是要增加前述的暫存緩衝器單元310數量,以及其所要占用的晶片面積。在一實施例中,第二邏輯運算單元320的數量約為記憶體電路單元210的排數的6-10倍之間。
圖3所示的記憶體管理邏輯電路330包含一邏輯運算單元介 面331,用於分別連接到上述的多個第二邏輯運算單元320,以便接收存取指令與回覆存取結果。該邏輯運算單元介面331可以包含一交換器電路(crossbar)與/或一多工器電路(MUX)。
圖3所示的記憶體管理邏輯電路330包含一記憶體介面339,用於分別連接到上述的多排記憶體電路單元210,以便儲存或提取記憶體內容。該記憶體介面339可以包含交換器電路(crossbar)與/或多工器電路(MUX)。
該記憶體管理邏輯電路330可以包含一排程邏輯電路333與一仲裁邏輯電路335。當有多個沒有衝突的存取指令進入該邏輯運算單元介面331之後,這些存取指令會進入該排程邏輯電路333進行處理。在一實施例中,該排程邏輯電路333可以包含一或多個先進先出的序列,依照存取指令的先後順序,排入該一或多個序列中進行處理。在另一實施例中,由於這些存取指令沒有造成衝突,因此該排程邏輯電路333可以利用亂序或是不依照先後順序(out-of-order)的方式進行處理。
當有衝突的多個存取指令進入該仲裁邏輯電路335之後,如前所述,該仲裁邏輯電路335可以根據發出這些存取指令的第二邏輯運算單元320的標號進行仲裁,決定哪一個存取指令優先存取衝突的該排記憶體電路單元210。
排程邏輯電路333與仲裁邏輯電路335當前所決定處理的多個存取指令會同時進入到記憶體介面339,以便儲存或提取記憶體內容。所提取的記憶體內容則會反向回到邏輯運算單元介面331。儲存或提取內容或許會經過前面所提到的暫存緩衝器單元310。
請參考圖4所示,其為根據本發明一實施例的一電路系統400的一方塊示意圖。與圖3所示的電路系統300相比,電路系統400更包含了多個第一邏輯運算單元410與一交換器(crossbar)電路420。電路系統400所包含的其餘元器件均和電路系統300相似,故不在此贅敘。
電路系統400的多個第一邏輯運算單元410、多個第二邏輯運算單元320與該交換器電路420的集合可以被視為圖2所示的邏輯運算單元220。而前述關於邏輯運算單元220的敘述,可以適用於多個第一邏輯運算單元410、多個第二邏輯運算單元320與該交換器電路420的集合。
每一個第一邏輯運算單元410用於執行第一邏輯運算,以分別令該多個第二邏輯運算單元320其中之一執行該第二邏輯運算。在一實施例中,該第一邏輯運算與第二邏輯運算各自包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法的部分。因此,該電路系統400可以同時計算多個偽隨機數(nonce)。在一實施例中,第二邏輯運算可以是計算偽隨機數的演算法的DAG page(改良版的DAGGER hashimoto演算法)的部分,而第一邏輯運算則是計算偽隨機數的演算法的其餘部分。由於第一邏輯運算所需要的回合次數約為第二邏輯運算所需要回合次數的四分之一,因此第一邏輯運算單元410的數量可以約為第二邏輯運算單元320的四分之一。舉例來說,第一邏輯運算需要做一次64回的迴圈與固定時間長度的運算,其所花的時間約為64個單位時間加上某一常數時間。而第二邏輯運算需要做256回的迴圈與另一固定時間長度的運算,其所花的時間約為256個單位時間加上另一常數時間。若不計這些固定時間長度的運算,則兩者的單位時間約為64:256,亦即1:4。
該交換器電路420係用於連接每一個第一邏輯運算單元410與每一個第二邏輯運算單元320,其可以同時允許多對第一邏輯運算單元410與第二邏輯運算單元320的連接。
根據一實施例,本發明提供一種適用於雜湊演算法的電路系統,包含:多排記憶體電路單元,每一排該記憶體電路單元均包含多個位元與一組存取埠以存取該多個位元的部分,其中每一組存取埠包含多個資料存取埠與多個位址存取埠;邏輯運算單元,用於執行邏輯運算以取得一雜湊值,該雜湊值係用於指定存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元;以及記憶體管理邏輯電路,用於分別連接該邏輯運算單元與該多排記憶體電路單元所分別對應的該組存取埠。
在一實施例中,為了調整不同線路長度所造成的延遲與時脈不匹配,該電路系統更包含:暫存緩衝器單元,用於分別連接至少一排該記憶體電路單元與該記憶體管理邏輯電路,以便暫存自該至少一排該記憶體電路單元所存取的內容。
在一實施例中,為了適應不同種類的同步與非同步晶片實作技術,該多排記憶體電路單元包含下列其中一種電路或其任意組合:靜態隨機存取記憶體(SRAM);正反器(flip-flop);以及鎖存器(latch)。
在一實施例中,為了同時提供多個邏輯運算單元以增進執行效率,其中該邏輯運算單元更包含多個第二邏輯運算單元,其中每一個第二邏輯運算單元分別連接至該記憶體管理邏輯電路,並且用於執行第二邏輯運算以分別產生一第二雜湊值,其中該第二雜湊值係用於存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元。
在一實施例中,為了同時提供多個邏輯運算單元以增進執行效率,該邏輯運算單元更包含多個第一邏輯運算單元,其中每一個第一邏輯運算單元用於執行第一邏輯運算,以分別令該多個第二邏輯運算單元其中之一執行該第二邏輯運算。在該實施例中,該邏輯運算單元更包含一交換器電路(crossbar),用於分別連接該多個第二邏輯運算單元與該多個第一邏輯運算單元。
在一實施例中,為了替多個不衝突的存取指令進行排程,該記憶體管理邏輯電路更包含先進先出的序列,當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,係依照存取的先後順序,排入該序列依序進行處理。
在一實施例中,為了替多個不衝突的存取指令進行排程,當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,該記憶體管理邏輯電路係不依照存取的先後順序(out-of-order)的方式進行處理。
在一實施例中,為了替衝突的存取指令進行排程,該記憶體管理邏輯電路更包含仲裁邏輯電路,當有多個該第二邏輯運算單元產生欲存取相同排的該記憶體電路單元時,該仲裁邏輯電路係依照該多個第二邏輯運算單元所各自對應的編號的優先順序進行處理。
在一實施例中,該邏輯運算包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法。
在一實施例中,為了方便安排繞線與盡可能讓線路的長度一致,該多排記憶體電路單元與該邏輯運算單元位於同一晶片,其中該邏輯運算單元被該多排記憶體電路單元包圍在該晶片當中。
根據本發明所提供的電路系統,可以無需通過傳統的記憶體存取瓶頸就能夠在晶片內部高速執行雜湊演算法,進而提高計算的效率。
200‧‧‧電路系統
210‧‧‧記憶體電路單元
220‧‧‧邏輯運算單元
230‧‧‧記憶體管理邏輯電路

Claims (11)

  1. 一種適用於雜湊演算法的電路系統,包含:多排記憶體電路單元,每一排該記憶體電路單元均包含多個位元與一組存取埠以存取該多個位元的部分,其中每一組存取埠包含多個資料存取埠與多個位址存取埠;邏輯運算單元,用於執行邏輯運算以取得一雜湊值,該雜湊值係用於指定存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元;以及記憶體管理邏輯電路,用於分別連接該邏輯運算單元與該多排記憶體電路單元所分別對應的該組存取埠。
  2. 如申請專利範圍第1項的電路系統,更包含:暫存緩衝器單元,用於分別連接至少一排該記憶體電路單元與該記憶體管理邏輯電路,以便暫存自該至少一排該記憶體電路單元所存取的內容。
  3. 如申請專利範圍第1項的電路系統,其中該多排記憶體電路單元包含下列其中一種電路或其任意組合:靜態隨機存取記憶體(SRAM);正反器(flip-flop);以及鎖存器(latch)。
  4. 如申請專利範圍第1項的電路系統,其中該邏輯運算單元更包含多個第二 邏輯運算單元,其中每一個第二邏輯運算單元分別連接至該記憶體管理邏輯電路,並且用於執行第二邏輯運算以分別產生一第二雜湊值,其中該第二雜湊值係用於存取該多排記憶體電路單元當中的某一排該記憶體電路單元當中的部分位元。
  5. 如申請專利範圍第4項的電路系統,其中該邏輯運算單元更包含多個第一邏輯運算單元,其中每一個第一邏輯運算單元用於執行第一邏輯運算,以分別令該多個第二邏輯運算單元其中之一執行該第二邏輯運算。
  6. 如申請專利範圍第5項的電路系統,其中該邏輯運算單元更包含一交換器電路(crossbar),用於分別連接該多個第二邏輯運算單元與該多個第一邏輯運算單元。
  7. 如申請專利範圍第4項的電路系統,其中該記憶體管理邏輯電路更包含先進先出的序列,當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,係依照存取的先後順序,排入該序列依序進行處理。
  8. 如申請專利範圍第4項的電路系統,其中當有多個該第二邏輯運算單元欲存取不同排的該記憶體電路單元時,該記憶體管理邏輯電路係不依照存取的先後順序(out-of-order)的方式進行處理。
  9. 如申請專利範圍第4項的電路系統,其中該記憶體管理邏輯電路更包含仲 裁邏輯電路,當有多個該第二邏輯運算單元產生欲存取相同排的該記憶體電路單元時,該仲裁邏輯電路係依照該多個第二邏輯運算單元所各自對應的編號的優先順序進行處理。
  10. 如申請專利範圍第1項的電路系統,其中該邏輯運算包含乙太幣(Ethereum)中計算偽隨機數(nonce)的演算法。
  11. 如申請專利範圍第1項的電路系統,其中該多排記憶體電路單元與該邏輯運算單元位於同一晶片,其中該邏輯運算單元被該多排記憶體電路單元包圍在該晶片當中。
TW107145386A 2018-12-13 2018-12-13 適用於雜湊演算法的電路系統 TWI701554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107145386A TWI701554B (zh) 2018-12-13 2018-12-13 適用於雜湊演算法的電路系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107145386A TWI701554B (zh) 2018-12-13 2018-12-13 適用於雜湊演算法的電路系統

Publications (2)

Publication Number Publication Date
TW202022618A TW202022618A (zh) 2020-06-16
TWI701554B true TWI701554B (zh) 2020-08-11

Family

ID=72175634

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145386A TWI701554B (zh) 2018-12-13 2018-12-13 適用於雜湊演算法的電路系統

Country Status (1)

Country Link
TW (1) TWI701554B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113500A (en) * 1989-08-23 1992-05-12 Unisys Corporation Multiple cooperating and concurrently operating processors using individually dedicated memories
US6393531B1 (en) * 1998-12-04 2002-05-21 Advanced Micro Devices, Inc. Queue based data control mechanism for queue based memory controller
US6504785B1 (en) * 1998-02-20 2003-01-07 Silicon Aquarius, Inc. Multiprocessor system with integrated memory
US20030217239A1 (en) * 2002-05-14 2003-11-20 Jeddeloh Joseph M. Out of order DRAM sequencer
TW200928774A (en) * 2007-12-31 2009-07-01 Ind Tech Res Inst Multicore interface with dynamic task management capability and task loading/offloading method thereof
CN107276745A (zh) * 2017-06-23 2017-10-20 上海兆芯集成电路有限公司 实施安全哈希算法的处理器以及数字信号处理方法
TW201802971A (zh) * 2016-07-13 2018-01-16 矽品精密工業股份有限公司 封裝堆疊結構之製法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113500A (en) * 1989-08-23 1992-05-12 Unisys Corporation Multiple cooperating and concurrently operating processors using individually dedicated memories
US6504785B1 (en) * 1998-02-20 2003-01-07 Silicon Aquarius, Inc. Multiprocessor system with integrated memory
US6393531B1 (en) * 1998-12-04 2002-05-21 Advanced Micro Devices, Inc. Queue based data control mechanism for queue based memory controller
US20030217239A1 (en) * 2002-05-14 2003-11-20 Jeddeloh Joseph M. Out of order DRAM sequencer
TW200928774A (en) * 2007-12-31 2009-07-01 Ind Tech Res Inst Multicore interface with dynamic task management capability and task loading/offloading method thereof
TW201802971A (zh) * 2016-07-13 2018-01-16 矽品精密工業股份有限公司 封裝堆疊結構之製法
CN107276745A (zh) * 2017-06-23 2017-10-20 上海兆芯集成电路有限公司 实施安全哈希算法的处理器以及数字信号处理方法

Also Published As

Publication number Publication date
TW202022618A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
JP6130594B2 (ja) 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法
US6918012B2 (en) Streamlined cache coherency protocol system and method for a multiple processor single chip device
JP2018018513A (ja) メモリシステム、プロセシングシステム、及びメモリスタックを動作させる方法
KR20010080682A (ko) 큐 기반 메모리 컨트롤러
US11474959B2 (en) Memory module with reduced read/write turnaround overhead
KR20100054155A (ko) 프로세서의 하이 어소시에이티브 캐시 메모리를 위한 scr 매커니즘
JPS6297036A (ja) 計算機システム
Ecco et al. Tackling the bus turnaround overhead in real-time SDRAM controllers
US7500066B2 (en) Method and apparatus for sharing instruction memory among a plurality of processors
TWI701554B (zh) 適用於雜湊演算法的電路系統
CN112988654A (zh) 适用于哈希算法的电路系统
CN115269199A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US8452920B1 (en) System and method for controlling a dynamic random access memory
US20140052941A1 (en) Calculation processing device and control method for calculation processing device
US20150170720A1 (en) Multiple port shared memory
CN112286863A (zh) 处理暨存储电路
US6493775B2 (en) Control for timed access of devices to a system bus
US20120054439A1 (en) Method and apparatus for allocating cache bandwidth to multiple processors
CN110647357A (zh) 同步多线程处理器
US8438335B2 (en) Probe speculative address file
CN112965816B (zh) 内存管理技术及计算机系统
TWI786476B (zh) 處理暨儲存電路
US20240103860A1 (en) Predicates for Processing-in-Memory
US9361103B2 (en) Store replay policy
Ecco et al. Technical report: Designing high-performance real-time SDRAM controllers for many-core systems (revision 1.0)