កាតបង្កើនល្បឿនកម្មវិធី Intel FPGA D5005
អំពីឯកសារនេះ។
ឯកសារនេះពណ៌នាអំពីការអនុវត្តអង្គចងចាំដោយផ្ទាល់ (DMA) អង្គភាពបង្កើនល្បឿនមុខងារ (AFU) និងរបៀបបង្កើតការរចនាដើម្បីដំណើរការលើផ្នែករឹង ឬក្នុងការក្លែងធ្វើ។
ទស្សនិកជនដែលមានបំណង
ទស្សនិកជនដែលមានបំណងរួមមានអ្នកបង្កើតផ្នែករឹង ឬកម្មវិធីដែលទាមទារមុខងារបង្កើនល្បឿន (AF) ដើម្បីបណ្ដុះទិន្នន័យក្នុងមូលដ្ឋានក្នុងអង្គចងចាំដែលភ្ជាប់ទៅឧបករណ៍ Intel FPGA ។
អនុសញ្ញា
អនុសញ្ញាឯកសារ
អនុសញ្ញា | ការពិពណ៌នា |
# | នាំមុខពាក្យបញ្ជាដែលបង្ហាញថាពាក្យបញ្ជាត្រូវបញ្ចូលជា root ។ |
$ | បង្ហាញថាពាក្យបញ្ជាត្រូវបញ្ចូលជាអ្នកប្រើប្រាស់។ |
ពុម្ពអក្សរនេះ។ | Fileឈ្មោះ ពាក្យបញ្ជា និងពាក្យគន្លឹះត្រូវបានបោះពុម្ពនៅក្នុងពុម្ពអក្សរនេះ។ បន្ទាត់ពាក្យបញ្ជាវែងត្រូវបានបោះពុម្ពនៅក្នុងពុម្ពអក្សរនេះ។ ទោះបីជាបន្ទាត់ពាក្យបញ្ជាវែងអាចរុំទៅបន្ទាត់បន្ទាប់ក៏ដោយ ការត្រឡប់មកវិញមិនមែនជាផ្នែកនៃពាក្យបញ្ជាទេ។ កុំចុចបញ្ចូល។ |
ចង្អុលបង្ហាញអត្ថបទកន្លែងដាក់ដែលលេចឡើងរវាងតង្កៀបមុំត្រូវតែត្រូវបានជំនួសដោយតម្លៃសមស្រប។ កុំបញ្ចូលតង្កៀបមុំ។ |
អក្សរកាត់
អក្សរកាត់
អក្សរកាត់ | ការពង្រីក | ការពិពណ៌នា |
AF | មុខងារបង្កើនល្បឿន | រូបភាពឧបករណ៍បង្កើនល្បឿនផ្នែករឹងដែលបានចងក្រងត្រូវបានអនុវត្តនៅក្នុងតក្កវិជ្ជា FPGA ដែលបង្កើនល្បឿនកម្មវិធី។ |
AFU | ឯកតាមុខងារបង្កើនល្បឿន | Hardware Accelerator បានអនុវត្តនៅក្នុងតក្កវិជ្ជា FPGA ដែលបញ្ចេញប្រតិបត្តិការគណនាសម្រាប់កម្មវិធីពី CPU ដើម្បីកែលម្អដំណើរការ។ |
API | ចំណុចប្រទាក់កម្មវិធីកម្មវិធី | សំណុំនៃការកំណត់ទម្រង់បែបបទរង ពិធីការ និងឧបករណ៍សម្រាប់បង្កើតកម្មវិធីកម្មវិធី។ |
CCI-P | ចំណុចប្រទាក់ឃ្លាំងសម្ងាត់ស្នូល | CCI-P គឺជាចំណុចប្រទាក់ស្តង់ដារ AFUs ប្រើដើម្បីទំនាក់ទំនងជាមួយម៉ាស៊ីន។ |
ឌីអេចអេ | បឋមកថាមុខងារឧបករណ៍ | បង្កើតបញ្ជីភ្ជាប់នៃបឋមកថាមុខងារ ដើម្បីផ្តល់នូវវិធីពង្រីកបន្ថែមនៃលក្ខណៈពិសេស។ |
បន្ត… |
សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃការបញ្ជាក់ឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
អក្សរកាត់ | ការពង្រីក | ការពិពណ៌នា |
FIM | កម្មវិធីគ្រប់គ្រងចំណុចប្រទាក់ FPGA | ផ្នែករឹង FPGA ដែលមានអង្គភាពចំណុចប្រទាក់ FPGA (FIU) និងចំណុចប្រទាក់ខាងក្រៅសម្រាប់អង្គចងចាំ បណ្តាញ។ល។
មុខងារបង្កើនល្បឿន (AF) ភ្ជាប់ជាមួយ FIM នៅពេលដំណើរការ។ |
FIU | អង្គភាពចំណុចប្រទាក់ FPGA | FIU គឺជាស្រទាប់ចំណុចប្រទាក់វេទិកាដែលដើរតួជាស្ពានរវាងចំណុចប្រទាក់វេទិកាដូចជា PCIe*, UPI និង AFU-side interfaces ដូចជា CCI-P ។ |
MPF | រោងចក្រលក្ខណៈសម្បត្តិនៃការចងចាំ | MPF គឺជាប្លុកអាគារមូលដ្ឋាន (BBB) ដែល AFUs អាចប្រើដើម្បីផ្តល់ប្រតិបត្តិការរាងអក្សរ CCI-P សម្រាប់ប្រតិបត្តិការជាមួយ FIU ។ |
សទ្ទានុក្រមការបង្កើនល្បឿន
ជង់បង្កើនល្បឿនសម្រាប់ស៊ីភីយូ Intel® Xeon® ជាមួយ FPGAs សទ្ទានុក្រម
រយៈពេល | អក្សរកាត់ | ការពិពណ៌នា |
Intel® Acceleration Stack សម្រាប់ CPU Intel Xeon® ជាមួយ FPGAs | ជង់បង្កើនល្បឿន | បណ្តុំនៃសូហ្វវែរ កម្មវិធីបង្កប់ និងឧបករណ៍ដែលផ្តល់នូវការភ្ជាប់ដំណើរការដែលប្រសើរឡើងរវាង Intel FPGA និងប្រព័ន្ធដំណើរការ Intel Xeon ។ |
កាតបង្កើនល្បឿនកម្មវិធី Intel FPGA | ក្រុមហ៊ុន Intel FPGA PAC | កាតបង្កើនល្បឿន PCIe FPGA ។
មានកម្មវិធីគ្រប់គ្រងចំណុចប្រទាក់ FPGA (FIM) ដែលភ្ជាប់ជាមួយប្រព័ន្ធដំណើរការ Intel Xeon នៅលើឡានក្រុង PCIe ។ |
- មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ឯកតាមុខងារ DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005
ការពិពណ៌នា DMA AFU
សេចក្តីផ្តើម
ការចូលប្រើអង្គចងចាំផ្ទាល់ (DMA) AFU ឧample បង្ហាញពីរបៀបគ្រប់គ្រងការផ្ទេរអង្គចងចាំរវាងម៉ាស៊ីនដំណើរការ និង FPGA ។ អ្នកអាចបញ្ចូល DMA AFU ទៅក្នុងការរចនារបស់អ្នក ដើម្បីផ្លាស់ទីទិន្នន័យរវាងអង្គចងចាំម៉ាស៊ីន និងអង្គចងចាំមូលដ្ឋាន FPGA ។ DMA AFU រួមមានម៉ូឌុលរងខាងក្រោម៖
- Memory Properties Factory (MPF) Basic Building Block (BBB)
- ចំណុចប្រទាក់ស្នូលឃ្លាំងសម្ងាត់ (CCI-P) ទៅអាដាប់ធ័រ Avalon® Memory-Mapped (Avalon-MM)
- ប្រព័ន្ធតេស្ត DMA ដែលមាន DMA BBB
ម៉ូឌុលរងទាំងនេះត្រូវបានពិពណ៌នាលម្អិតនៅក្នុងប្រធានបទផ្នែករឹងរបស់ DMA AFU ខាងក្រោម។
ព័ត៌មានពាក់ព័ន្ធ
- សមាសធាតុផ្នែករឹង DMA AFU នៅទំព័រ 6
- ភាពជាក់លាក់នៃចំណុចប្រទាក់ Avalon
សម្រាប់ព័ត៌មានបន្ថែមអំពីពិធីការ Avalon-MM រួមទាំងដ្យាក្រាមពេលវេលាសម្រាប់ប្រតិបត្តិការអាន និងសរសេរ។
កញ្ចប់កម្មវិធី DMA AFU
Intel Acceleration Stack សម្រាប់ CPU Intel Xeon ជាមួយនឹងកញ្ចប់ FPGAs file (*.tar.gz) រួមមាន DMA AFU exampលេ អតីតample ផ្តល់នូវកម្មវិធីបញ្ជាទំហំអ្នកប្រើប្រាស់។ កម្មវិធីម៉ាស៊ីនប្រើកម្មវិធីបញ្ជានេះ ដែល DMA ផ្លាស់ទីទិន្នន័យរវាងម៉ាស៊ីន និងអង្គចងចាំ FPGA ។ ប្រព័ន្ធគោលពីរផ្នែករឹង ប្រភព និងកម្មវិធីបញ្ជាចន្លោះអ្នកប្រើប្រាស់មាននៅក្នុងថតខាងក្រោម៖ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu ។ មុនពេលពិសោធន៍ជាមួយ DMA AFU អ្នកត្រូវតែដំឡើងកញ្ចប់កម្មវិធី Open Programmable Acceleration Engine (OPAE) ។ សូមមើលការដំឡើងកញ្ចប់កម្មវិធី OPAE នៅក្នុង Intel Acceleration Stack Quick Start Guide សម្រាប់ Intel FPGA Programmable Acceleration Card D5005 សម្រាប់ការណែនាំអំពីការដំឡើង។ មគ្គុទ្ទេសក៍ចាប់ផ្តើមរហ័សនេះក៏រួមបញ្ចូលផងដែរនូវព័ត៌មានមូលដ្ឋានអំពី Open Programmable Acceleration Engine (OPAE) និងការកំណត់រចនាសម្ព័ន្ធ AFU មួយ។ បន្ទាប់ពីដំឡើងកម្មវិធី Open Programmable Acceleration Engine (OPAE) កញ្ចប់កម្មវិធីample host application និង DMA AFU user space driver មាននៅក្នុងថតខាងក្រោម៖ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw ។ ដើម្បីដំណើរការ sampកម្មវិធីម៉ាស៊ីន, fpga_dma_test នៅលើផ្នែករឹង Intel FPGA PAC D5005 របស់អ្នក សូមមើលជំហាននៅក្នុងផ្នែក ដំណើរការ DMA AFU Exampលេ សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ព័ត៌មានពាក់ព័ន្ធ
- Intel Acceleration Stack មគ្គុទ្ទេសក៍ចាប់ផ្តើមរហ័សសម្រាប់ Intel FPGA Programmable Acceleration Card D5005
- ការដំឡើងកញ្ចប់កម្មវិធី OPAE
សមាសធាតុផ្នែករឹង DMA AFU
ចំណុចប្រទាក់ DMA AFU ជាមួយ FPGA Interface Unit (FIU) និងអង្គចងចាំ FPGA ។ សូមមើលតារាងទិន្នន័យកម្មវិធីគ្រប់គ្រងចំណុចប្រទាក់ FPGA សម្រាប់ Intel FPGA Programmable Acceleration Card D5005 សម្រាប់ព័ត៌មានលម្អិតនៃអង្គចងចាំ FPGA ។ ផ្នែករឹងដែលមាននាពេលបច្ចុប្បន្នកំណត់ការកំណត់រចនាសម្ព័ន្ធអង្គចងចាំនេះ។ ផ្នែករឹងនាពេលអនាគតអាចគាំទ្រការកំណត់រចនាសម្ព័ន្ធអង្គចងចាំផ្សេងៗគ្នា។ អ្នកអាចប្រើ DMA AFU ដើម្បីចម្លងទិន្នន័យរវាងប្រភព និងទីតាំងគោលដៅខាងក្រោម៖
- ម៉ាស៊ីនសម្រាប់អង្គចងចាំ FPGA ឧបករណ៍
- អង្គចងចាំ FPGA ឧបករណ៍ទៅម៉ាស៊ីន
ប្រព័ន្ធអ្នករចនាវេទិកា $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys អនុវត្តភាគច្រើននៃ DMA
- AFU ផ្នែកមួយនៃ DMA AFU ដែលបានអនុវត្តនៅក្នុងប្រព័ន្ធអ្នករចនាវេទិកាអាចរកបាននៅក្នុងដូចខាងក្រោម
ទីតាំង៖ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ អ្នកអាចស្វែងរក DMA BBB នៅទីតាំងខាងក្រោម៖
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ឯកតាមុខងារ DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005
ដ្យាក្រាមប្លុកផ្នែករឹង DMA AFU
DMA AFU រួមបញ្ចូលម៉ូឌុលខាងក្នុងខាងក្រោមដើម្បីភ្ជាប់ជាមួយ FPGA Interface Unit (FIU)៖
- Memory-Mapped IO (MMIO) Decoder Logic៖ រកឃើញ MMIO អាន និងសរសេរប្រតិបត្តិការ ហើយបំបែកវាចេញពី CCI-P RX channel 0 ដែលពួកគេមកដល់។ នេះធានាថាចរាចរណ៍ MMIO មិនដែលទៅដល់ MPF BBB ហើយត្រូវបានផ្តល់សេវាដោយបណ្តាញបញ្ជា MMIO ឯករាជ្យ។
- Memory Properties Factory (MPF)៖ ម៉ូឌុលនេះធានាថា អានការឆ្លើយតបពី DMA ត្រឡប់មកវិញ តាមលំដាប់ដែលពួកគេត្រូវបានចេញ។ ពិធីការ Avalon-MM តម្រូវឱ្យអានការឆ្លើយតបដើម្បីត្រឡប់តាមលំដាប់ត្រឹមត្រូវ។
- CCI-P ទៅ Avalon-MM អាដាប់ទ័រ៖ ម៉ូឌុលនេះបកប្រែរវាងប្រតិបត្តិការ CCI-P និង Avalon-MM ដូចខាងក្រោម៖
- CCI-P ទៅ Avalon-MMIO អាដាប់ទ័រ៖ ផ្លូវនេះបកប្រែប្រតិបត្តិការ CCI-P MMIO ទៅជាប្រតិបត្តិការ Avalon-MM ។
- Avalon ទៅ CCI-P Host Adapter៖ ផ្លូវទាំងនេះបង្កើតផ្លូវសម្រាប់តែអាន និងសរសេរដាច់ដោយឡែកសម្រាប់ DMA ដើម្បីចូលប្រើអង្គចងចាំម៉ាស៊ីន។
- ប្រព័ន្ធតេស្ត DMA៖ ម៉ូឌុលនេះបម្រើជាឧបករណ៍រុំជុំវិញ DMA BBB ដើម្បីបង្ហាញចៅហ្វាយនាយ DMA ទៅនឹងតក្កវិជ្ជាដែលនៅសល់ក្នុង AFU ។ វាផ្តល់នូវចំណុចប្រទាក់រវាង DMA BBB និង CCI-P ទៅ Avalon អាដាប់ធ័រ។ វាក៏ផ្តល់នូវចំណុចប្រទាក់រវាង DMA BBB និងធនាគារ FPGA SDRAM ក្នុងស្រុកផងដែរ។
ព័ត៌មានពាក់ព័ន្ធ
សន្លឹកទិន្នន័យកម្មវិធីគ្រប់គ្រងចំណុចប្រទាក់ FPGA សម្រាប់ Intel FPGA Programmable Acceleration Card D5005
ប្រព័ន្ធសាកល្បង DMA
ប្រព័ន្ធសាកល្បង DMA ភ្ជាប់ DMA BBB ទៅនឹងការរចនា FPGA ដែលនៅសល់ រួមទាំងការបន្សាំ CCI-P និងអង្គចងចាំ FPGA មូលដ្ឋាន។
ដ្យាក្រាមប្លុកប្រព័ន្ធសាកល្បង DMA
ដ្យាក្រាមប្លុកនេះបង្ហាញពីផ្នែកខាងក្នុងនៃប្រព័ន្ធសាកល្បង DMA ។ ប្រព័ន្ធសាកល្បង DMA ត្រូវបានបង្ហាញជាប្លុក monolithic នៅក្នុងរូបភាពទី 1 នៅទំព័រ 7 ។
ប្រព័ន្ធសាកល្បង DMA រួមមានម៉ូឌុលខាងក្នុងដូចខាងក្រោមៈ
- ស្ពានឆ្ងាយ Reach/Pipeline Bridge៖ ស្ពានបំពង់ដែលមានភាពយឺតយ៉ាវដែលអាចលៃតម្រូវបានរួមបញ្ចូលដើម្បីគ្រប់គ្រង topology និងកែលម្អការរចនា Fmax ។
- បឋមកថាមុខងារឧបករណ៍ DMA AFU (DFH): នេះគឺជា DFH សម្រាប់ DMA AFU ។ DFH នេះចង្អុលទៅ DFH បន្ទាប់ដែលមានទីតាំងនៅអុហ្វសិត 0x100 (DMA BBB DFH) ។
- Null DFH៖ សមាសធាតុនេះបញ្ចប់បញ្ជីភ្ជាប់ DFH ។ ប្រសិនបើអ្នកបន្ថែម DMA BBBs បន្ថែមទៀតទៅក្នុងការរចនា សូមប្រាកដថាអាសយដ្ឋានមូលដ្ឋាន DFH ទុកជាមោឃៈមានទីតាំងនៅចុងបញ្ចប់នៃបញ្ជីភ្ជាប់ DFH ។
- MA Basic Building Block (BBB)៖ ប្លុកនេះផ្លាស់ទីទិន្នន័យរវាងម៉ាស៊ីន និងអង្គចងចាំ FPGA មូលដ្ឋាន។ វាក៏ចូលប្រើអង្គចងចាំម៉ាស៊ីនផងដែរ ដើម្បីចូលប្រើខ្សែសង្វាក់ពិពណ៌នា។
DMA BBB
ប្រព័ន្ធរង DMA BBB ផ្ទេរទិន្នន័យពីប្រភពទៅអាសយដ្ឋានគោលដៅដោយប្រើប្រតិបត្តិការ Avalon-MM ។ កម្មវិធីបញ្ជា DMA គ្រប់គ្រង DMA BBB ដោយចូលទៅកាន់ការត្រួតពិនិត្យ និងចុះបញ្ជីស្ថានភាពនៃសមាសធាតុផ្សេងៗនៅក្នុងប្រព័ន្ធ។ កម្មវិធីបញ្ជា DMA ក៏គ្រប់គ្រង DMA BBB ផងដែរ ដោយប្រើអង្គចងចាំរួម ដើម្បីទំនាក់ទំនងអ្នកពណ៌នាផ្ទេរ។ DMA BBB ចូលប្រើទិន្នន័យក្នុងអង្គចងចាំ FPGA នៅអុហ្វសិត 0x0 ។ DMA BBB ចូលប្រើទិន្នន័យ និងអ្នកពណ៌នាក្នុងអង្គចងចាំម៉ាស៊ីននៅអុហ្វសិត 0x1_0000_0000_0000 ។
ដ្យាក្រាមប្លុកអ្នករចនាវេទិកា DMA BBB
ដ្យាក្រាមប្លុកនេះមិនរាប់បញ្ចូលស្នូល IP ស្ពានបំពង់ខាងក្នុងមួយចំនួន។
មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ឯកតាមុខងារ DMA Accelerator: Intel FPGA Programmable Acceleration Card D5005
ការពិពណ៌នា DMA AFU
សមាសធាតុនៅក្នុង DMA BBB Platform Designer អនុវត្តមុខងារដូចខាងក្រោម៖
- ស្ពានឆ្ងាយរាជ/ស្ពានបំពង់បង្ហូរប្រេង៖ ស្ពានបំពង់ដែលមានភាពយឺតយ៉ាវដែលអាចលៃតម្រូវបានរួមបញ្ចូលដើម្បីគ្រប់គ្រង topology និងកែលម្អការរចនា Fmax ។
- MA BBB DFH: នេះគឺជាបឋមកថាលក្ខណៈពិសេសឧបករណ៍សម្រាប់ DMA BBB ។ DFH នេះចង្អុលទៅ DFH បន្ទាប់ដែលមានទីតាំងនៅអុហ្វសិត 0x100 (Null DFH) ។
- ការពិពណ៌នាផ្នែកខាងមុខ៖ ទទួលខុសត្រូវក្នុងការទៅយកអ្នកពណ៌នា និងផ្ទេរពួកវាទៅអ្នកចែកចាយ។ នៅពេលការផ្ទេរ DMA បញ្ចប់ ផ្នែកខាងមុខទទួលបានការបង្កើតស្ថានភាពពី Dispatcher ហើយសរសេរជាន់លើអ្នកពិពណ៌នានៅក្នុងអង្គចងចាំម៉ាស៊ីន។
- អ្នកចែកចាយ៖ ប្លុកនេះកំណត់ពេល DMA ផ្ទេរសំណើទៅអ្នកអាន និងសរសេរមេ។
- អានលោកគ្រូ៖ ប្លុកនេះទទួលខុសត្រូវចំពោះការអានទិន្នន័យពីម៉ាស៊ីន ឬអង្គចងចាំ FPGA មូលដ្ឋាន ហើយផ្ញើវាជាទិន្នន័យស្ទ្រីមទៅ Write Master ។
- សរសេរលោកគ្រូ៖ ប្លុកនេះទទួលខុសត្រូវចំពោះការទទួលទិន្នន័យស្ទ្រីមពី Read Master និងសរសេរមាតិកាទៅកាន់មេ ឬអង្គចងចាំ FPGA មូលដ្ឋាន។
ចុះឈ្មោះទីតាំងផែនទី និងអាសយដ្ឋាន
DMA AFU គាំទ្រអង្គចងចាំពីរ views: DMA view និងម្ចាស់ផ្ទះ view. ឌីអេមអេ view គាំទ្រទំហំអាសយដ្ឋាន 49 ប៊ីត។ ពាក់កណ្តាលខាងក្រោមនៃ DMA view ផែនទីទៅកាន់អង្គចងចាំ FPGA មូលដ្ឋាន។ ពាក់កណ្តាលខាងលើនៃ DMA view ផែនទីសម្រាប់អង្គចងចាំ។ ម្ចាស់ផ្ទះ view រួមបញ្ចូលទាំងការចុះឈ្មោះទាំងអស់ដែលអាចចូលដំណើរការបានតាមរយៈការចូលប្រើ MMIO ដូចជាតារាង DFH និងការចុះបញ្ជីការគ្រប់គ្រង/ស្ថានភាពនៃស្នូល IP ផ្សេងៗដែលប្រើនៅខាងក្នុង DMA AFU ។ MMIO ចុះឈ្មោះក្នុង DMA BBB និង AFU គាំទ្រការចូលប្រើ 32- និង 64- ប៊ីត។ DMA AFU មិនគាំទ្រការចូលប្រើ MMIO 512 ប៊ីតទេ។ ការចូលប្រើការចុះឈ្មោះ Dispatcher នៅខាងក្នុង DMA BBB ត្រូវតែមាន 32 ប៊ីត (Descriptor frontend អនុវត្តការចុះឈ្មោះ 64-bit)។
DMA AFU ចុះឈ្មោះផែនទី
ផែនទីចុះឈ្មោះ DMA AFU ផ្តល់អាសយដ្ឋានដាច់ខាតនៃទីតាំងទាំងអស់នៅក្នុងអង្គភាព។ ការចុះឈ្មោះទាំងនេះស្ថិតនៅក្នុងម៉ាស៊ីន view ព្រោះវាគ្រាន់តែជាម៉ាស៊ីនដែលអាចចូលប្រើពួកវាបាន។
ផែនទីអង្គចងចាំ DMA AFU
អុហ្វសិតអាសយដ្ឋានបៃ | ឈ្មោះ | វិសាលភាពជាបៃ | ការពិពណ៌នា |
0x0 | DMA AFU DFH | 0x40 | បឋមកថាមុខងារឧបករណ៍សម្រាប់ DMA AFU ។ ID_L ត្រូវបានកំណត់ទៅ 0x9081f88b8f655caa ហើយ ID_H ត្រូវបានកំណត់ទៅ 0x331db30c988541ea ។ DMA AFU DFH ត្រូវបានកំណត់ប៉ារ៉ាម៉ែត្រដើម្បីចង្អុលទៅអុហ្វសិត 0x100 ដើម្បីស្វែងរក DFH បន្ទាប់ (DMA BBB DFH) ។ អ្នកមិនត្រូវកែប្រែអាសយដ្ឋានមូលដ្ឋានរបស់ DMA AFU DFH ទេព្រោះវាត្រូវតែមានទីតាំងនៅអាសយដ្ឋាន 0x0 ដូចដែលបានកំណត់ដោយការបញ្ជាក់របស់ CCIP ។ |
0x100 | DMA BBB | 0x100 | បញ្ជាក់ការគ្រប់គ្រង DMA BBB និងចំណុចប្រទាក់ចុះឈ្មោះស្ថានភាព។ អ្នកអាចមើលផែនទីចុះឈ្មោះ DMA BBB សម្រាប់ព័ត៌មានបន្ថែម។ នៅក្នុង DMA BBB នៅអុហ្វសិត 0 DMA BBB រួមបញ្ចូល DFH ផ្ទាល់របស់វា។ DFH នេះត្រូវបានកំណត់ដើម្បីស្វែងរក DFH បន្ទាប់នៅអុហ្វសិត 0x100 (NULL DFH) ។ ប្រសិនបើអ្នកបន្ថែម DMA BBBs បន្ថែមទៀត គម្លាតពួកវា 0x100 ដាច់ពីគ្នា ហើយធានាថា NULL DFH ធ្វើតាម DMA ចុងក្រោយដោយ 0x100។ |
0x200 | NULL DFH | 0x40 | បញ្ចប់បញ្ជីភ្ជាប់ DFH ។ ID_L ត្រូវបានកំណត់ទៅ 0x90fe6aab12a0132f ហើយ ID_H ត្រូវបានកំណត់ទៅ 0xda1182b1b3444e23 ។ NULL DFH ត្រូវបានគេកំណត់ថាជា DFH ចុងក្រោយនៅក្នុងផ្នែករឹង។ សម្រាប់ហេតុផលនេះ NULL DFH មានទីតាំងនៅអាសយដ្ឋាន 0x200 ។ ប្រសិនបើអ្នកបន្ថែម DMA BBBs ទៅក្នុងប្រព័ន្ធ អ្នកត្រូវបង្កើនអាសយដ្ឋានមូលដ្ឋាន NULL DFH ទៅតាមនោះ ដូច្នេះវានៅតែស្ថិតនៅអាសយដ្ឋានខ្ពស់បំផុត។ កម្មវិធីបញ្ជា និងកម្មវិធីសាកល្បង DMA មិនប្រើផ្នែករឹងនេះទេ។ |
សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃការបញ្ជាក់ឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ចុះឈ្មោះទីតាំងផែនទី និងអាសយដ្ឋាន
ផែនទីអង្គចងចាំ DMA BBB
អាសយដ្ឋានបៃខាងក្រោមគឺជាអុហ្វសិតដែលទាក់ទងពីអាសយដ្ឋានមូលដ្ឋាន DMA BBB នៅក្នុងប្រព័ន្ធ DMA AFU (0x100)។
អុហ្វសិតអាសយដ្ឋានបៃ | ឈ្មោះ | វិសាលភាពជាបៃ | ការពិពណ៌នា |
0x0 | DMA BBB DFH | 0x40 | បឋមកថាមុខងារឧបករណ៍សម្រាប់ DMA AFU ។ ID_L ត្រូវបានកំណត់ទៅ 0xa9149a35bace01ea ហើយ ID_H ត្រូវបានកំណត់ទៅ 0xef82def7f6ec40fc ។ DMA BBB DFH ត្រូវបានកំណត់ដើម្បីចង្អុលទៅ 0x100 សម្រាប់អុហ្វសិត DFH បន្ទាប់។ អុហ្វសិតបន្ទាប់នេះអាចជា DMA BBB មួយផ្សេងទៀត DFH ផ្សេងទៀត (មិនរួមបញ្ចូលក្នុងការរចនានេះ) ឬ NULL DFH ។ |
0x40 | អ្នកបញ្ជូន | 0x40 | ច្រកត្រួតពិនិត្យសម្រាប់អ្នកបញ្ជូន។ កម្មវិធីបញ្ជា DMA ប្រើទីតាំងនេះដើម្បីគ្រប់គ្រង DMA ឬសួរស្ថានភាពរបស់វា។ |
0x80 | អ្នកពិពណ៌នា Frontend | 0x40 | ផ្នែកខាងមុខនៃអ្នកពណ៌នាគឺជាសមាសធាតុផ្ទាល់ខ្លួនដែលអានការពិពណ៌នាពីអង្គចងចាំម៉ាស៊ីន ហើយសរសេរជាន់ពីលើអ្នកពណ៌នានៅពេលការផ្ទេរ DMA បញ្ចប់។ កម្មវិធីបញ្ជាណែនាំផ្នែកខាងមុខដែលអ្នកពិពណ៌នាដំបូងរស់នៅក្នុងអង្គចងចាំម៉ាស៊ីន ហើយបន្ទាប់មកផ្នែករឹងផ្នែកខាងមុខទាក់ទងជាមួយអ្នកបើកបរជាចម្បង ទោះបីជាអ្នកពណ៌នាត្រូវបានរក្សាទុកក្នុងអង្គចងចាំម៉ាស៊ីនក៏ដោយ។ |
DMA AFU Address Space
ម៉ាស៊ីនអាចចូលប្រើការចុះឈ្មោះដែលបានរាយក្នុងតារាងទី 4 នៅទំព័រ 12 និងតារាងទី 5 នៅទំព័រ 13 ។ ប្រព័ន្ធរង DMA BBB មានសិទ្ធិចូលប្រើទំហំអាសយដ្ឋានពេញ 49 ប៊ីត។ ពាក់កណ្តាលខាងក្រោមនៃទំហំអាសយដ្ឋាននេះរួមបញ្ចូលទាំងការចងចាំ FPGA ក្នុងតំបន់។ ពាក់កណ្តាលខាងលើនៃទំហំអាសយដ្ឋាននេះរួមបញ្ចូលអង្គចងចាំអាសយដ្ឋានម៉ាស៊ីន 48 ប៊ីត។ តួលេខខាងក្រោមបង្ហាញពីម៉ាស៊ីន និង DMA views នៃការចងចាំ។
DMA AFU និងម្ចាស់ផ្ទះ Views នៃការចងចាំ
មុខងារឧបករណ៍បឋមកថាភ្ជាប់បញ្ជី
DMA AFU រចនា example មានបឋមកថាមុខងារឧបករណ៍ចំនួនបី (DFH) ដែលបង្កើតជាបញ្ជីភ្ជាប់។ បញ្ជីភ្ជាប់នេះអនុញ្ញាតឱ្យ sample កម្មវិធីដើម្បីកំណត់អត្តសញ្ញាណ DMA AFU ក៏ដូចជាអ្នកបើកបរដើម្បីកំណត់អត្តសញ្ញាណ DMA BBB ។ បញ្ជី DFH រួមបញ្ចូល NULL DFH នៅចុងបញ្ចប់។ ការដាក់បញ្ចូល DFH ទុកជាមោឃៈនៅចុងបញ្ចប់នៃបញ្ជីដែលបានភ្ជាប់អនុញ្ញាតឱ្យអ្នកបន្ថែម DMA BBBs បន្ថែមទៀតទៅក្នុងការរចនារបស់អ្នក។ អ្នកគ្រាន់តែត្រូវផ្លាស់ទី NULL DFH ទៅអាសយដ្ឋានបន្ទាប់ពី BBBs ផ្សេងទៀត។ DMA BBB នីមួយៗរំពឹងថា DFH បន្ទាប់នឹងមានទីតាំងនៅ 0x100 បៃពីអាសយដ្ឋានមូលដ្ឋានរបស់ BBB ។ រូបខាងក្រោមបង្ហាញពីបញ្ជីភ្ជាប់សម្រាប់ DMA AFU design exampលេ
ចុះឈ្មោះទីតាំងផែនទី និងអាសយដ្ឋាន
ផ្នែកក្បាលមុខងារឧបករណ៍ DMA AFU (DFH) ខ្សែសង្វាក់
គំរូកម្មវិធីកុំព្យូទ័រ
DMA AFU រួមបញ្ចូលកម្មវិធីបញ្ជាកម្មវិធីដែលអ្នកអាចប្រើនៅក្នុងកម្មវិធីម៉ាស៊ីនផ្ទាល់ខ្លួនរបស់អ្នក។ fpga_dma.cpp និង fpga_dma.h files ដែលមានទីតាំងនៅទីតាំងខាងក្រោមអនុវត្តកម្មវិធីបញ្ជាកម្មវិធី៖ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw កម្មវិធីបញ្ជានេះគាំទ្រមុខងារដូចខាងក្រោម៖
API | ការពិពណ៌នា |
fpgaCountDMAchannels | ស្កេនខ្សែសង្វាក់មុខងារឧបករណ៍សម្រាប់ DMA BBBs និងរាប់ប៉ុស្តិ៍ដែលមានទាំងអស់។ |
fpgaDMAOpen | បើកចំណុចទាញទៅកាន់ប៉ុស្តិ៍ DMA ។ |
fpgaDMAClose | បិទចំណុចទាញទៅឆានែល DMA ។ |
fpgaDMATransferInit | ចាប់ផ្តើមវត្ថុដែលតំណាងឱ្យការផ្ទេរ DMA ។ |
fpgaDMATransferReset | កំណត់វត្ថុគុណលក្ខណៈផ្ទេរ DMA ឡើងវិញទៅតម្លៃលំនាំដើម។ |
fpgaDMATransferDestroy | បំផ្លាញវត្ថុគុណលក្ខណៈផ្ទេរ DMA ។ |
fpgaDMATransferSetSrc | កំណត់អាសយដ្ឋានប្រភពនៃការផ្ទេរ។ អាសយដ្ឋាននេះត្រូវតែតម្រឹម 64 បៃ។ |
fpgaDMATransferSetDst | កំណត់អាសយដ្ឋានគោលដៅនៃការផ្ទេរប្រាក់។ អាសយដ្ឋាននេះត្រូវតែតម្រឹម 64 បៃ។ |
fpgaDMATransferSetLen | កំណត់ប្រវែងផ្ទេរជាបៃ។ សម្រាប់ការផ្ទេរមិនមែនកញ្ចប់ អ្នកត្រូវតែកំណត់ប្រវែងផ្ទេរទៅជាពហុគុណនៃ 64 បៃ។ សម្រាប់ការផ្ទេរកញ្ចប់ព័ត៌មាន នេះមិនមែនជាតម្រូវការទេ។ |
fpgaDMATransferSetTransferType | កំណត់ប្រភេទផ្ទេរ។ តម្លៃផ្លូវច្បាប់គឺ៖
• HOST_MM_TO_FPGA_MM = TX (ម្ចាស់ផ្ទះទៅ AFU) • FPGA_MM_TO_HOST_MM = RX (AFU ទៅជាម្ចាស់ផ្ទះ) |
fpgaDMATransferSetTransferCallback | ចុះឈ្មោះការហៅត្រឡប់មកវិញសម្រាប់ការជូនដំណឹងអំពីការបញ្ចប់ការផ្ទេរអសមកាល។ ប្រសិនបើអ្នកបញ្ជាក់ការហៅត្រឡប់មកវិញ fpgaDMATransfer ត្រឡប់ភ្លាមៗ (ការផ្ទេរអសមកាល)។
ប្រសិនបើអ្នកមិនបញ្ជាក់ការហៅត្រឡប់មកវិញទេ fpgaDMATransfer ត្រឡប់មកវិញបន្ទាប់ពីការផ្ទេរបានបញ្ចប់ (ការផ្ទេរសមកាលកម្ម/រារាំង)។ |
fpgaDMATransferSetLast | បង្ហាញពីការផ្ទេរចុងក្រោយ ដូច្នេះ DMA អាចចាប់ផ្តើមដំណើរការការផ្ទេរដែលបានទាញយកជាមុន។ តម្លៃលំនាំដើមគឺ 64 ការផ្ទេរនៅក្នុងបំពង់ មុនពេល DMA ចាប់ផ្តើមដំណើរការលើការផ្ទេរ។ |
fpgaDMATransfer | អនុវត្តការផ្ទេរ DMA ។ |
សម្រាប់ព័ត៌មានបន្ថែមអំពីអាគុយម៉ង់ API ធាតុបញ្ចូល និងលទ្ធផល សូមមើលបឋមកថា file មានទីតាំងនៅ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel សាជីវកម្ម។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានអះអាងថាជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
គំរូកម្មវិធីកុំព្យូទ័រ
ដើម្បីដឹងបន្ថែមអំពីគំរូនៃការប្រើប្រាស់កម្មវិធីបញ្ជាកម្មវិធី សូមមើល README file មានទីតាំងនៅ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md
កំពុងដំណើរការ DMA AFU Example
មុនពេលអ្នកចាប់ផ្តើម៖
- អ្នកគួរតែស្គាល់អតីតamples នៅក្នុង Intel Acceleration Stack Quick Start Guide សម្រាប់ Intel FPGA Programmable Acceleration Card D5005 ។
- អ្នកត្រូវតែកំណត់អថេរបរិស្ថាន។ អថេរបរិស្ថានគឺអាស្រ័យលើកំណែ Intel Acceleration Stack ដែលអ្នកកំពុងប្រើ៖
- សម្រាប់កំណែបច្ចុប្បន្ន សូមកំណត់អថេរបរិស្ថានទៅជា $OPAE_PLATFORM_ROOT
- អ្នកត្រូវតែដំឡើងបណ្ណាល័យ Intel Threading Building Blocks (TBB) ចាប់តាំងពីកម្មវិធីបញ្ជា DMA ពឹងផ្អែកលើវា។
- អ្នកក៏ត្រូវរៀបចំទំព័រទំហំ 1 GB ពីរផងដែរ ដើម្បីដំណើរការ sampកម្មវិធី le ។ $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
អនុវត្តជំហានខាងក្រោមដើម្បីទាញយក DMA Accelerator Function (AF) bitstream ដើម្បីបង្កើតកម្មវិធី និងកម្មវិធីបញ្ជា និងដើម្បីដំណើរការការរចនា exampលេ៖
- ប្តូរទៅកម្មវិធី DMA និងថតកម្មវិធីបញ្ជា៖ cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- បង្កើតកម្មវិធីបញ្ជា និងកម្មវិធី៖ បង្កើត
- ទាញយក DMA AFU bitstream: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- ប្រតិបត្តិកម្មវិធីម៉ាស៊ីនដើម្បីសរសេរ 100 MB ក្នុងផ្នែក 1 MB ពីអង្គចងចាំម៉ាស៊ីនទៅអង្គចងចាំឧបករណ៍ FPGA ហើយអានវាត្រឡប់មកវិញ៖ ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
ព័ត៌មានពាក់ព័ន្ធ
Intel Acceleration Stack មគ្គុទ្ទេសក៍ចាប់ផ្តើមរហ័សសម្រាប់ Intel FPGA Programmable Acceleration Card D5005 Intel Corporation ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ការចងក្រង DMA AFU Example
ដើម្បីបង្កើតបរិយាកាសសំយោគដើម្បីចងក្រង AF សូមប្រើពាក្យបញ្ជា afu_synth_setup ដូចខាងក្រោម៖
- ប្តូរទៅ DMA AFU sampថតឯកសារ៖ $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- បង្កើតថតបង្កើតការរចនា៖ afu_synth_setup –source hw/rtl/filelist.txt build_synth
- ពីថតឯកសារបង្កើតសំយោគដែលបង្កើតដោយ afu_synth_setup បញ្ចូលពាក្យបញ្ជាខាងក្រោមពីបង្អួចស្ថានីយដើម្បីបង្កើត AF សម្រាប់វេទិកាផ្នែករឹងគោលដៅ៖ cd build_synth run.sh ស្គ្រីបជំនាន់ run.sh AF បង្កើតរូបភាព AF ដែលមានមូលដ្ឋានដូចគ្នា fileដាក់ឈ្មោះជាការកំណត់រចនាសម្ព័ន្ធវេទិការបស់ AFU file (.json) ដែលមានបច្ច័យ .gbs នៅទីតាំង៖$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ការក្លែងធ្វើ AFU Example
Intel ណែនាំអ្នកឱ្យយោងទៅលើ Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start Guide សម្រាប់ Intel FPGA PAC របស់អ្នកដើម្បីឱ្យស៊ាំនឹងការក្លែងធ្វើអតីតស្រដៀងគ្នា។amples និងដើម្បីរៀបចំបរិស្ថានរបស់អ្នក។ មុនពេលអ្នកបន្តតាមជំហានខាងក្រោម សូមផ្ទៀងផ្ទាត់ថាអថេរបរិស្ថាន OPAE_PLATFORM_ROOT ត្រូវបានកំណត់ទៅថតការដំឡើង OPAE SDK ។ បំពេញជំហានខាងក្រោមដើម្បីដំឡើង hardware simulator សម្រាប់ DMA AFU៖
- ប្តូរទៅ DMA AFU sampថតឯកសារ៖ ស៊ីឌី $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- បង្កើតបរិយាកាស ASE នៅក្នុងថតថ្មី ហើយកំណត់រចនាសម្ព័ន្ធវាសម្រាប់ការក្លែងធ្វើ AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ប្តូរទៅថត ASE build៖ cd build_ase_dir
- បង្កើតកម្មវិធីបញ្ជា និងកម្មវិធី៖ បង្កើត
- ធ្វើការក្លែងធ្វើ៖ ធ្វើស៊ីម
Sample លទ្ធផលពីឧបករណ៍ក្លែងធ្វើផ្នែករឹង៖
[SIM] ** យកចិត្តទុកដាក់៖ មុននឹងដំណើរការកម្មវិធី** [SIM] កំណត់ env(ASE_WORKDIR) នៅក្នុង terminal ដែលកម្មវិធីនឹងដំណើរការ (copy-and-paste) => [SIM] $SHELL | ដំណើរការ៖ [SIM] ———+—————————————————— [SIM] bash/zsh | នាំចេញ ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] សម្រាប់ $SHELL ផ្សេងទៀត សូមពិគ្រោះជាមួយអ្នកគ្រប់គ្រង Linux របស់អ្នក [SIM] [SIM] Ready for simulation… [SIM] ចុច CTRL-C ដើម្បីបិទ simulator…បំពេញជំហានខាងក្រោមដើម្បីចងក្រង និងប្រតិបត្តិកម្មវិធី DMA AFU នៅក្នុងបរិយាកាសក្លែងធ្វើ៖
- បើកបង្អួចស្ថានីយថ្មី។
- ប្តូរថតទៅជា៖ cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃការបញ្ជាក់ឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ការក្លែងធ្វើ AFU Example
- ចម្លងខ្សែអក្សររៀបចំបរិស្ថាន (ជ្រើសរើសខ្សែអក្សរដែលសមរម្យសម្រាប់សែលរបស់អ្នក) ពីជំហានខាងលើក្នុងការក្លែងធ្វើផ្នែករឹងទៅបង្អួចស្ថានីយ។ សូមមើលបន្ទាត់ខាងក្រោមនៅក្នុង sample លទ្ធផលពីឧបករណ៍ក្លែងធ្វើផ្នែករឹង។ [ស៊ីម] bash/zsh | នាំចេញ ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- ចងក្រងកម្មវិធី៖ $ make USE_ASE=1
- ប្រតិបត្តិកម្មវិធីម៉ាស៊ីនដើម្បីសរសេរ 4 KB ក្នុងផ្នែក 1 KB ពីអង្គចងចាំម៉ាស៊ីនត្រឡប់ទៅអង្គចងចាំឧបករណ៍ FPGA នៅក្នុងរបៀបរង្វិលជុំវិញ៖ ./ fpga_dma_test -s 4096 -p 1024 -r mtom
ព័ត៌មានពាក់ព័ន្ធ
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Quick Start User Guide
ការបង្កើនប្រសិទ្ធភាពសម្រាប់ការអនុវត្ត DMA ដែលប្រសើរឡើង
ការអនុវត្តការបង្កើនប្រសិទ្ធភាព NUMA (ការចូលប្រើសតិមិនឯកសណ្ឋាន) នៅក្នុង fpga_dma_test.cpp អនុញ្ញាតឱ្យដំណើរការដំណើរការអង្គចងចាំមូលដ្ឋានរបស់វាលឿនជាងការចូលប្រើអង្គចងចាំដែលមិនមែនជាមូលដ្ឋាន (អង្គចងចាំក្នុងមូលដ្ឋានទៅអង្គចងចាំផ្សេងទៀត) ។ ការកំណត់រចនាសម្ព័ន្ធ NUMA ធម្មតាត្រូវបានបង្ហាញនៅក្នុងដ្យាក្រាមខាងក្រោម។ ការចូលប្រើមូលដ្ឋានតំណាងឱ្យការចូលប្រើពីស្នូលមួយទៅអង្គចងចាំក្នុងមូលដ្ឋានទៅស្នូលដូចគ្នា។ ការចូលប្រើពីចម្ងាយបង្ហាញពីផ្លូវដែលបានយកនៅពេលដែលស្នូលនៅលើ Node 0 ចូលប្រើអង្គចងចាំដែលស្ថិតនៅក្នុងអង្គចងចាំមូលដ្ឋានទៅ Node 1 ។
ការកំណត់រចនាសម្ព័ន្ធ NUMA ធម្មតា។
ប្រើកូដខាងក្រោមដើម្បីអនុវត្តការបង្កើនប្រសិទ្ធភាព NUMA នៅក្នុងកម្មវិធីសាកល្បងរបស់អ្នក៖
// កំណត់ភាពស្និទ្ធស្នាលត្រឹមត្រូវប្រសិនបើត្រូវបានស្នើសុំប្រសិនបើ (cpu_affinity || memory_affinity) { unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func); ON_ERR_GOTO(yet, propertiesFunction) // ស្វែងរកឧបករណ៍ពី topology hwloc_topology_t topology; hwloc_topology_init(&topology); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មគ្រប់ពេលវេលាដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។ * ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានទាមទារជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ការបង្កើនប្រសិទ្ធភាពសម្រាប់ការអនុវត្ត DMA ដែលប្រសើរឡើង
hwloc_topology_load(topology); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topology, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topology, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2,” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET គឺ %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET គឺ %s\n”, str);#endif ប្រសិនបើ (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBCMEMBINDWIND_HREAD BYNODESET); #else retval =hwloc_set_membind_nodeset(topology, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } ប្រសិនបើ (cpu_affinity) { retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
បណ្ណសារមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់អង្គភាពមុខងារ DMA Accelerator
Intel Acceleration Stack Version | មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ (PDF) |
2.0 | មគ្គុទ្ទេសក៍អ្នកប្រើឧបករណ៍បង្កើនល្បឿន DMA (AFU) |
ប្រវត្តិកែប្រែឯកសារសម្រាប់ការណែនាំអំពីមុខងាររបស់ឧបករណ៍បង្កើនល្បឿន DMA
កំណែឯកសារ |
ការបង្កើនល្បឿនរបស់ Intel កំណែជង់ |
ការផ្លាស់ប្តូរ |
2020.08.03 |
2.0.1 (គាំទ្រជាមួយ Intel
Quartus® Prime Pro Edition Edition 19.2) |
កែរូបភាព AF file ឈ្មោះនៅក្នុងផ្នែក ការចងក្រង DMA AFU Example. |
2020.04.17 |
2.0.1 (គាំទ្រជាមួយ Intel
Quartus Prime Pro Edition Edition 19.2) |
បានកែសេចក្តីថ្លែងការណ៍មួយនៅក្នុង ទស្សនិកជនដែលមានបំណង ផ្នែក។ |
2020.02.20 |
2.0.1 (គាំទ្រជាមួយ Intel
Quartus Prime Pro Edition Edition 19.2) |
ការវាយអក្សរថេរ។ |
2019.11.04 |
2.0.1 (គាំទ្រជាមួយ Intel Quartus Prime Pro Edition Edition 19.2) |
• ជំនួស fpgaconf ជាមួយ fpgasupdate នៅពេលកំណត់រចនាសម្ព័ន្ធ FPGA ជាមួយ AFU ដែលត្រូវបានសាងសង់ជាមុននៅក្នុងផ្នែក កំពុងដំណើរការ DMA AFU Example.
• បានបន្ថែមចំណងជើងរង កាតបង្កើនល្បឿនកម្មវិធី Intel FPGA D5005 ទៅចំណងជើងឯកសារ។ • អថេរបរិស្ថានបន្ថែម $OPAE_PLATFORM_ROOT ។ • ផ្នែកដែលបានកែប្រែ គំរូកម្មវិធីកុំព្យូទ័រ សម្រាប់ការកែសម្រួលតូចតាច។ • បានបន្ថែមផ្នែកថ្មី។ ការចងក្រង DMA AFU Example. • ផ្នែកដែលបានកែប្រែ ការបង្កើនប្រសិទ្ធភាពសម្រាប់ការអនុវត្ត DMA ដែលប្រសើរឡើង សម្រាប់ការកែសម្រួលតូចតាច។ |
2019.08.05 |
2.0 (គាំទ្រជាមួយ Intel
Quartus Prime Pro Edition 18.1.2) |
ការចេញផ្សាយដំបូង។ |
សាជីវកម្ម Intel ។ រក្សារសិទ្ធគ្រប់យ៉ាង។ Intel, និមិត្តសញ្ញា Intel និងសញ្ញា Intel ផ្សេងទៀតគឺជាពាណិជ្ជសញ្ញារបស់ Intel Corporation ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន។ Intel ធានាការអនុវត្តផលិតផល FPGA និង semiconductor របស់ខ្លួនទៅនឹងលក្ខណៈបច្ចេកទេសបច្ចុប្បន្នស្របតាមការធានាស្តង់ដាររបស់ Intel ប៉ុន្តែរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរផលិតផល និងសេវាកម្មណាមួយនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Intel សន្មត់ថាគ្មានទំនួលខុសត្រូវ ឬការទទួលខុសត្រូវដែលកើតចេញពីកម្មវិធី ឬការប្រើប្រាស់ព័ត៌មាន ផលិតផល ឬសេវាកម្មណាមួយដែលបានពិពណ៌នានៅទីនេះ លើកលែងតែមានការយល់ព្រមជាលាយលក្ខណ៍អក្សរដោយ Intel ។ អតិថិជនរបស់ Intel ត្រូវបានណែនាំឱ្យទទួលបានកំណែចុងក្រោយបំផុតនៃលក្ខណៈបច្ចេកទេសឧបករណ៍ មុនពេលពឹងផ្អែកលើព័ត៌មានដែលបានបោះពុម្ពផ្សាយណាមួយ និងមុនពេលធ្វើការបញ្ជាទិញផលិតផល ឬសេវាកម្ម។
- ឈ្មោះ និងម៉ាកផ្សេងទៀតអាចត្រូវបានអះអាងថាជាកម្មសិទ្ធិរបស់អ្នកដទៃ។
ឯកសារ/ធនធាន
![]() |
កាតបង្កើនល្បឿនកម្មវិធី Intel FPGA D5005 [pdf] ការណែនាំអ្នកប្រើប្រាស់ កាតបង្កើនល្បឿនកម្មវិធី FPGA, D5005, កាតបង្កើនល្បឿនកម្មវិធី FPGA D5005, ឯកតាមុខងារបង្កើនល្បឿន DMA |