TWI765446B - 管線式資料傳輸方法及資料管線裝置 - Google Patents
管線式資料傳輸方法及資料管線裝置 Download PDFInfo
- Publication number
- TWI765446B TWI765446B TW109142693A TW109142693A TWI765446B TW I765446 B TWI765446 B TW I765446B TW 109142693 A TW109142693 A TW 109142693A TW 109142693 A TW109142693 A TW 109142693A TW I765446 B TWI765446 B TW I765446B
- Authority
- TW
- Taiwan
- Prior art keywords
- write
- read
- sequence
- equation
- rounds
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
- Memory System (AREA)
Abstract
本發明提出一種管線式資料傳輸方法及資料管線裝置。資料管線裝置包含一上游模組、一下游模組及耦接於上游模組及下游模組之間的一緩衝區。緩衝區包含複數儲存單位。管線式資料傳輸方法包含:執行複數寫讀回合;在每一寫讀回合中,上游模組按照一寫入順序依序分別對各儲存單位執行一寫入動作;及在每一寫讀回合中,下游模組按照一讀取順序依序分別對各儲存單位執行一讀取動作;其中,在連續兩個寫讀回合中,在後的寫讀回合中的寫入順序與在前的寫讀回合中的讀取順序相同。
Description
本發明是有關於一種資料傳輸技術,特別是指一種管線式資料傳輸方法及資料管線裝置。
為了避免頻繁向記憶體儲存與讀取造成功率消耗,兩電子元件之間的資料傳遞,可在兩者間串接緩衝區(Buffer)來供資料傳送端存放要傳遞的資料,同時供資料接收端讀取存放在緩衝區的資料。然而,兩電子元件同時對同一緩衝區進行儲存與讀取,難免會產生資料遺失的問題。例如,緩衝區的某一區域寫入了資料,該區域還沒來得及被讀取即被寫入新的資料。特別是,當兩電子元件對於緩衝區的存取順序不同時,特別容易發生此問題。
為了克服此問題,有一種使用兩個緩衝區的方法,資料傳送端交替對兩緩衝區寫入資料供資料讀取端讀取。如此,雖然可以解決資料丟失的問題,但需要兩倍的緩衝區成本。
鑑於上述問題,本發明提出一種管線式資料傳輸方法,應用於一資料管線裝置。資料管線裝置包含一上游模組、一下游模組及耦接於上游模組及下游模組之間的一緩衝區。緩衝區包含複數儲存單位。管線式資料傳輸方法包含:執行複數寫讀回合;在每一寫讀回合中,上游模組按照一寫入順序依序分別對各儲存單位執行一寫入動作;及在每一寫讀回合中,下游模組按照一讀取順序依序分別對各儲存單位執行一讀取動作;其中,在連續兩個寫讀回合中,在後的寫讀回合中的寫入順序與在前的寫讀回合中的讀取順序相同。
本發明一實施例另提出一種資料管線裝置,包含一上游模組、一下游模組及一緩衝區。緩衝區耦接於上游模組及下游模組之間,並包含複數儲存單位。上游模組及下游模組執行複數寫讀回合。在每一寫讀回合中,上游模組按照一寫入順序依序分別對各儲存單位執行一寫入動作,下游模組按照一讀取順序依序分別對各儲存單位執行一讀取動作。在連續兩個寫讀回合中,在後的寫讀回合中的寫入順序與在前的寫讀回合中的讀取順序相同。
根據本發明實施例所提出的資料管線裝置及管線式資料傳輸方法,在使用單一緩衝區的情形下,可供上游模組及下游模組各自使用其寫入順序與讀取順序來存取緩衝區,同時可避免未讀取的資料被覆寫所造成的資料丟失問題。
參照圖1,係為本發明一實施例之資料管線裝置的架構示意圖。資料管線裝置100包含一上游模組110、一下游模組120及耦接於上游模組110及下游模組120之間的一緩衝區130。上游模組110與下游模組120分別為兩個獨立的電子器件。在一些實施例中,上游模組110為影像感測器,下游模組120為影像編碼器,所傳輸的資料為影像資料。為便於說明,於後將以此應用場景為例進行說明,然而本發明並非以此應用場景為限。在一些實施例中,下游模組120為符合高效率視訊編碼(High Efficiency Video Coding,HEVC)架構的影像編碼器。
參照圖2,係為本發明一實施例之管線式資料傳輸方法的流程圖。所述管線式資料傳輸方法應用於前述資料管線裝置100,使得上游模組110可將資料傳輸給下游模組120。
在步驟S210中,係執行複數個寫讀回合。亦即,在完成一個寫讀回合之後,接續執行下一個寫讀回合。換言之,在完成一個寫讀回合之前,不會進入下一個寫讀回合。一個寫讀回合是指,上游模組110將一筆資料完整寫入至緩衝區130,且下游模組120將該筆資料完整從緩衝區130讀取出來。所述一筆資料,以影像資料為例,可例如是一張影像、一張影像的某一條帶(Slice)等。在一些實施例中,在上游模組110寫入資料的過程中(該資料尚未完整寫入),下游模組120即開始讀取該資料。在一些實施例中, 在一個寫/讀回合內,讀操作在寫操作完成之後開始。在兩個連續的寫/讀回合之間,下一個回合寫操作可以在上一個回合讀操作完成之前開始。
參照圖3,係為本發明一實施例之對緩衝區130執行寫入動作的示意圖。緩衝區130包含複數儲存單位131。儲存單位131是執行一次寫入動作或讀取動作的最小單位。儲存單位131包含一個或多個儲存單元(圖未示)。所述儲存單元係為緩衝區130中的最小記憶單位。例如,一個儲存單元的儲存量為一個位元組,而一個儲存單位131的儲存量為四個位元組(即一個儲存單位131具有四個儲存單元)。為了方便說明,在此僅以緩衝區130具有20個儲存單位131為例,但本發明不以此數量為限,應可包含更少或更多的儲存單位131。在此,儲存單位131是呈四行五列的二維排列方式。在一些實施例中,一列儲存單位131的個數(於此為五個)與影像資料的跨距(Stride)呈正相關,具體來說,一列儲存單位131能儲存影像的複數列像素資料。在一些實施例中,一行儲存單位131的個數(於此為四個)與影像資料的高呈正相關,亦即一行儲存單位131能儲存影像的複數行像素資料。在一些實施例中,一個儲存單位131可以儲存一個編碼樹單元(Coding Tree Unit,CTU)。
在步驟S220中,在每一個寫讀回合中,上游模組110會按照一寫入順序依序分別對各儲存單位131執行一寫入動作。如圖3所示,儲存單位131中所標註的數字為對於各儲存單位131執行寫入動作的序數。數字「1」表示第一個執行寫入動作的儲存單位131,數字「2」表示第二個執行寫入動作的儲存單位131,以此類推。在如圖3所示之例中,是依次從左至右寫入第一列的儲存單位131後,再從左至右寫入第二列的儲存單位131,接著從左至右寫入第三列的儲存單位131,最後從左至右寫入第四列的儲存單位131,一般可稱此種順序為光柵順序(Raster order)。
在步驟S230中,在每一個寫讀回合中,下游模組120會按照一讀取順序依序分別對各儲存單位131執行一讀取動作。參照圖4,係為本發明一實施例之對緩衝區130執行讀取動作的示意圖。儲存單位131中所標註的數字為對於各儲存單位131執行讀取動作的序數。數字「1」表示第一個執行讀取動作的儲存單位131,數字「2」表示第二個執行讀取動作的儲存單位131,以此類推。在如圖4所示之例中,是依次從上至下讀取左起第一行的儲存單位131後,再從上至下讀取左起第二行的儲存單位131,接著從上至下讀取左起第三行的儲存單位131,續而從上至下讀取左起第四行的儲存單位131,最後從上至下讀取左起第五行的儲存單位131,一般可稱此種順序為塊順序(Tile order)。
為了方便說明,下述實施例將儲存單位131的位址定義為如圖3所示的序數。也就是說,第一列第一行的儲存單位131的位址為「1」,第一列第二行的儲存單位131的位址為「2」,以此類推。前述寫入順序是指按照執行寫入動作的次序排列對應各個儲存單位131的位址而形成的序列。前述讀取順序是指按照執行讀取動作的次序排列對應各個儲存單位131的位址而形成的序列。
參照表1,係顯示本發明一實施例之複數寫讀回合的寫入順序和讀取順序。可以看到,在連續兩個寫讀回合中,在後的寫讀回合中的寫入順序與在前的寫讀回合中的讀取順序相同。例如,第二寫讀回合的寫入順序與第一寫讀回合的讀取順序相同,第三寫讀回合的寫入順序與第二寫讀回合的讀取順序相同。如此一來,在連續兩個寫讀回合中,若在後的寫讀回合中的寫入順序的執行序數小於在前的寫讀回合中的讀取順序的執行序數,就不會讓還沒有讀取的儲存單位131被寫入新的資料而造成資料遺失。例如,當讀取順序的執行序數為「5」時,寫入順序的執行序數可為「1」、「2」、「3」、「4」,但不可為「5」或其後的序數。所述執行序數是指當前要執行寫入動作的儲存單位131的位址其位於寫入順序中的序數。例如,在第二寫讀回合中的寫入順序中,若當前是要對位址為「16」的儲存單位131執行寫入動作,則執行序數為「4」。
表1
第一寫讀回合 | 第二寫讀回合 | 第三寫讀回合 | 第四寫讀回合 | 第五寫讀回合 | 第六寫讀回合 | 第七寫讀回合 | 第八寫讀回合 | 第九寫讀回合 | ||||||||||
序數 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 | 寫入順序 | 讀取順序 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 |
3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 |
4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 |
5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 |
6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 |
7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 |
8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 |
9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 |
10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 |
11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 |
12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 |
13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 |
14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 | 15 | 14 |
15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 | 19 | 15 |
16 | 16 | 19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 |
17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 | 18 | 10 | 10 | 8 | 8 | 17 |
18 | 18 | 10 | 10 | 8 | 8 | 17 | 17 | 5 | 5 | 2 | 2 | 6 | 6 | 7 | 7 | 12 | 12 | 18 |
19 | 19 | 15 | 15 | 14 | 14 | 9 | 9 | 3 | 3 | 11 | 11 | 13 | 13 | 4 | 4 | 16 | 16 | 19 |
20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 |
p | 1 | 5 | 5 | 6 | 6 | 11 | 11 | 17 | 17 | 9 | 9 | 7 | 7 | 16 | 16 | 4 | 4 | 1 |
參照表1,在同一個寫讀回合中的寫入順序和讀取順序不同。藉此,可以讓上游模組110與下游模組120分別按照其需求的方式來寫入與讀取。例如,作為影像感測器的上游模組110是分別逐列將影像資料寫入緩衝區130,而作為影像編碼器的下游模組120是需要逐塊從緩衝區130讀取出影像資料以進行編碼。
參照表1,在同一個寫讀回合中的寫入順序和讀取順序之間具有一映射關係,並且各寫讀回合的映射關係為相同。也就是說,在同一寫讀回合中,寫入順序與讀取順序的同一序數的兩位址之間具有一映射關係;在每一寫讀回合中,寫入順序中的位址映射到讀取順序中的位址是相同的。例如,在第一寫讀回合中,在寫入順序中序數為「2」的位址為「2」,在讀取順序中序數同樣為「2」的位址為「6」,而在其他寫讀回合中,寫入順序中的位址「2」均映射至讀取順序中的位址「6」(例如第二寫讀回合中的序數「5」)。表2所示為本發明一實施例的寫入順序中的位址與讀取順序中的位址間的映射關係。
表2
位址 | ||||||||||||||||||||
寫入順序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
讀取順序 | 1 | 6 | 11 | 16 | 2 | 7 | 12 | 17 | 3 | 8 | 13 | 18 | 4 | 9 | 14 | 19 | 5 | 10 | 15 | 20 |
參照圖5,係為本發明一實施例之管線式資料傳輸方法的細部流程圖。首先,於步驟S510中,設定參數的初始值。所述參數為後述計算式所用到的參數,將於後說明。
在步驟S520中,上游模組110對當前位址的儲存單位131執行寫入動作;下游模組120對當前位址的儲存單位131執行動作。對上游模組110而言,當前位址為寫入順序中對應當前執行序數的位址;對下游模組120而言,當前位址為讀取順序中對應當前執行序數的位址。上游模組110的當前執行序數與下游模組120的當前執行序數可以是不同的。
在完成步驟S520之後,進入步驟S530,取得下一個執行序數的位址,以供作為下一次執行寫入或讀取動作的當前位址,計算式如式(1)所示。
為當前序數的寫入位址或讀取位址,
為下一個序數的寫入位址或讀取位址。n為當前序數。p為當前位址與下一個位址的位移量。若經式(1)取得的
大於z,則依據式(2)更新
。z為儲存單位131的數量。在此例中,z為20。n、p、z為正整數。在此補充說明前述步驟S510中,所設定的參數的初始值:n為1,
為1,上游模組110的p初始值為1,下游模組120的p初始值為5。
在步驟S540中,判斷影像資料是否寫入或讀取完成。若是,則進入步驟S550;若否,則返回步驟S520,繼續執行下一次寫入或讀取動作。
在步驟S550中,判斷是否執行下一個寫讀回合(亦即判斷本次寫讀回合的寫入順序或讀取順序是否完成)。若是,則進入步驟S560,以更新參數數值,計算式如式(3)所示;若否,則結束流程。式(3)係為p與s的乘積除以z之後取其小於或等於的最大整數(或稱「下取整」),再加上p與s的乘積除與z的餘數後的結果,作為下一讀寫回合的p值。s為正整數。在此例中,s與影像資料的跨距呈正相關,具體來說,s為一列儲存單位131的數量(於此為5),但本發明實施例不已此為限,s亦可設定為其他數值。各個寫讀回合中分別對應於寫入順序與讀取順序的p值詳如表1所示。
在另一實施例中,不使用式(3),而是透過式(3-1)至式(3-3)來更新參數數值,可免除乘法與除法計算,可提升計算效能或降低硬體成本。在執行式(3-1)之前,執行p次式(3-2)來取得q值。在執行p次式(3-2)的過程中,檢查每次執行式(3-2)後的結果,若計算得的q值大於z,則依據式(3-3)更新q值,再接續下一次的式(3-2)計算。最後,利用計算得的最終q值作為新的p值(即式(3-1)),並將q值重置為0。在此補充說明前述步驟S510中,所設定的參數的初始值還包括:q的初始值為0。
綜上所述,根據本發明實施例所提出的資料管線裝置100及管線式資料傳輸方法,在使用單一緩衝區130的情形下,可供上游模組110及下游模組120各自使用其寫入順序與讀取順序來存取緩衝區130,同時可避免未讀取的資料被覆寫所造成的資料丟失問題。
100:資料管線裝置
110:上游模組
120:下游模組
130:緩衝區
131:儲存單位
S210,S220,S230:步驟
S510,S520,S530,S540,S550,S560:步驟
[圖1]為本發明一實施例之資料管線裝置的架構示意圖。
[圖2]為本發明一實施例之管線式資料傳輸方法的流程圖。
[圖3]為本發明一實施例之對緩衝區執行寫入動作的示意圖。
[圖4]為本發明一實施例之對緩衝區執行讀取動作的示意圖。
[圖5]為本發明一實施例之管線式資料傳輸方法的細部流程圖。
S210,S220,S230:步驟
Claims (14)
- 一種管線式資料傳輸方法,應用於一資料管線裝置,該資料管線裝置包含一上游模組、一下游模組及耦接於該上游模組及該下游模組之間的一緩衝區,該緩衝區包含複數儲存單位,該管線式資料傳輸方法包含:執行複數寫讀回合;在每一該寫讀回合中,該上游模組按照一寫入順序依序分別對各該儲存單位執行一寫入動作;及在每一該寫讀回合中,該下游模組按照一讀取順序依序分別對各該儲存單位執行一讀取動作;其中,在連續兩個該些寫讀回合中,在後的該寫讀回合中的該寫入順序與在前的該寫讀回合中的該讀取順序相同,在同一個該寫讀回合中的該寫入順序和該讀取順序不同,且在同一個該寫讀回合中的該寫入順序和該讀取順序之間具有一映射關係。
- 如請求項1所述之管線式資料傳輸方法,其中各該寫讀回合的該映射關係為相同。
- 如請求項1所述之管線式資料傳輸方法,其中在連續兩個該寫讀回合中,在後的該寫讀回合中的該寫入順序的執行序數小於在前的該寫讀回合中的該讀取順序的執行序數。
- 如請求項1所述之管線式資料傳輸方法,其中該寫入順序與該讀取順序的至少其一係為按照執行相關動作的次序排列對應各該儲存單位的一位址而形成的序列,其表示為式(1),若經式(1)取得的 Add(n+1)大於z,則依據式(2)更新Add(n+1),其中Add(n)為當前序數的寫入位址,Add(n+1)為下一個序數的寫入位址,z為該些儲存單位的數量,n為當前序數,n、p、z為正整數Add(n+1)=Add(n)+p 式(1) Add(n+1)=Add(n+1)-z+1 式(2)。
- 如請求項4所述之管線式資料傳輸方法,其中當該寫讀回合完成後,依據式(3-1)以更新p值;p=q 式(3-1) q=q+s 式(3-2) q=q-z+1 式(3-3)其中,在執行式(3-1)之前,執行p次式(3-2)來取得q值,其中每次執行式(3-2)後的q值若大於z,則依據式(3-3)更新q值,q為正整數。
- 如請求項5或6所述之管線式資料傳輸方法,其中每一該寫讀回合是寫入一影像資料至該緩衝區及從該緩衝區讀取該影像資料,其中s與該影像資料的跨距呈正相關。
- 一種資料管線裝置,包含:一上游模組;一下游模組;及 一緩衝區,耦接於該上游模組及該下游模組之間,並包含複數儲存單位;其中,該上游模組及該下游模組執行複數寫讀回合,在每一該寫讀回合中,該上游模組按照一寫入順序依序分別對各該儲存單位執行一寫入動作,該下游模組按照一讀取順序依序分別對各該儲存單位執行一讀取動作;其中,在連續兩個該些寫讀回合中,在後的該寫讀回合中的該寫入順序與在前的該寫讀回合中的該讀取順序相同,在同一個該寫讀回合中的該寫入順序和該讀取順序不同,且在同一個該寫讀回合中的該寫入順序和該讀取順序之間具有一映射關係。
- 如請求項8所述之資料管線裝置,其中各該寫讀回合的該映射關係為相同。
- 如請求項8所述之資料管線裝置,其中在連續兩個該寫讀回合中,在後的該寫讀回合中的該寫入順序的執行序數小於在前的該寫讀回合中的該讀取順序的執行序數。
- 如請求項8所述之資料管線裝置,其中該寫入順序與該讀取順序的至少其一係為按照執行相關動作的次序排列對應各該儲存單位的一位址而形成的序列,其表示為式(1),若經式(1)取得的Add(n+1)大於z,則依據式(2)更新Add(n+1),其中Add(n)為當前序數的寫入位址,Add(n+1)為下一個序數的寫入位址,z為該些儲存單位的數量,n為當前序數,n、p、z為正整數Add(n+1)=Add(n)+p 式(1) Add(n+1)=Add(n+1)-z+1 式(2)。
- 如請求項11所述之資料管線裝置,其中當該寫讀回合完成後,依據式(3-1)以更新p值;p=q 式(3-1) q=q+s 式(3-2) q=q-z+1 式(3-3)其中,在執行式(3-1)之前,執行p次式(3-2)來取得q值,其中每次執行式(3-2)後的q值若大於z,則依據式(3-3)更新q值,q為正整數。
- 如請求項12或13所述之資料管線裝置,其中s與資料的跨距呈正相關。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109142693A TWI765446B (zh) | 2020-12-03 | 2020-12-03 | 管線式資料傳輸方法及資料管線裝置 |
US17/301,038 US20220179583A1 (en) | 2020-12-03 | 2021-03-23 | Data buffer method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109142693A TWI765446B (zh) | 2020-12-03 | 2020-12-03 | 管線式資料傳輸方法及資料管線裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI765446B true TWI765446B (zh) | 2022-05-21 |
TW202223624A TW202223624A (zh) | 2022-06-16 |
Family
ID=81849015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109142693A TWI765446B (zh) | 2020-12-03 | 2020-12-03 | 管線式資料傳輸方法及資料管線裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220179583A1 (zh) |
TW (1) | TWI765446B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281548A (zh) * | 2013-05-13 | 2013-09-04 | 四川虹微技术有限公司 | 一种实时高清深度估计系统 |
CN106293578A (zh) * | 2016-07-27 | 2017-01-04 | 青岛海信电器股份有限公司 | 显卡、图像显示装置、图像显示方法和系统 |
US20180121108A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Mitigating data loss |
CN109845282A (zh) * | 2019-01-04 | 2019-06-04 | 京东方科技集团股份有限公司 | 图像数据处理方法及传输装置、图像显示方法及存储介质 |
-
2020
- 2020-12-03 TW TW109142693A patent/TWI765446B/zh active
-
2021
- 2021-03-23 US US17/301,038 patent/US20220179583A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281548A (zh) * | 2013-05-13 | 2013-09-04 | 四川虹微技术有限公司 | 一种实时高清深度估计系统 |
CN106293578A (zh) * | 2016-07-27 | 2017-01-04 | 青岛海信电器股份有限公司 | 显卡、图像显示装置、图像显示方法和系统 |
US20180121108A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Mitigating data loss |
CN109845282A (zh) * | 2019-01-04 | 2019-06-04 | 京东方科技集团股份有限公司 | 图像数据处理方法及传输装置、图像显示方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220179583A1 (en) | 2022-06-09 |
TW202223624A (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416422B (zh) | 一种基于fpga的卷积神经网络实现方法及装置 | |
US11593594B2 (en) | Data processing method and apparatus for convolutional neural network | |
WO2018196863A1 (zh) | 卷积加速和计算处理方法、装置、电子设备及存储介质 | |
WO2022037257A1 (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
CN106846235B (zh) | 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统 | |
CN109886395B (zh) | 一种面向多核图像处理卷积神经网络的数据读取方法 | |
CN112905530B (zh) | 片上架构、池化计算加速器阵列、单元以及控制方法 | |
CN107748723B (zh) | 支持无冲突跨步按块访问的存储方法及访存装置 | |
WO2022016926A1 (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN102054264A (zh) | 图像处理器和电子装置以及图像处理方法 | |
CN111583094A (zh) | 一种基于fpga的图像脉冲编码方法及系统 | |
CN104952088A (zh) | 一种对显示数据进行压缩和解压缩的方法 | |
CN111028136B (zh) | 一种人工智能处理器处理二维复数矩阵的方法和设备 | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
US20070022261A1 (en) | Method of interleaving asymmetric memory arrays | |
CN111125628A (zh) | 人工智能处理器处理二维数据矩阵的方法和设备 | |
CN110515872B (zh) | 直接内存存取方法、装置、专用计算芯片及异构计算系统 | |
TWI765446B (zh) | 管線式資料傳輸方法及資料管線裝置 | |
WO2019127416A1 (zh) | 连通域检测方法、电路、设备、计算机可读存储介质 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
CN110490312B (zh) | 一种池化计算方法和电路 | |
CN109800867B (zh) | 一种基于fpga片外存储器的数据调用方法 | |
CN111191774B (zh) | 面向精简卷积神经网络的低代价加速器架构及其处理方法 | |
WO2023184754A1 (zh) | 可配置实时视差点云计算装置及方法 | |
CN116107959A (zh) | 缓存方法、图像传输方法、电子设备及存储介质 |