Intel logotipi

Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005

Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-mahsulot

Ushbu hujjat haqida

Ushbu hujjat to'g'ridan-to'g'ri xotiraga kirishni (DMA) tezlatuvchi Funktsional birlik (AFU) amalga oshirishni va apparat yoki simulyatsiyada ishlash uchun dizaynni qanday yaratishni tavsiflaydi.

Maqsadli auditoriya

Maqsadli auditoriya Intel FPGA qurilmasiga ulangan xotiradagi ma'lumotlarni mahalliy buferlash uchun tezlatkich funksiyasini (AF) talab qiladigan apparat yoki dasturiy ta'minot ishlab chiqaruvchilardan iborat.

Konventsiyalar

Hujjat konventsiyalari

Konventsiya Tavsif
# Buyruqning ildiz sifatida kiritilishini bildiruvchi buyruq oldidan keladi.
$ Buyruq foydalanuvchi sifatida kiritilishi kerakligini bildiradi.
Bu shrift Filenomlar, buyruqlar va kalit so'zlar ushbu shriftda chop etiladi. Ushbu shriftda uzun buyruq satrlari chop etiladi. Uzoq buyruq satrlari keyingi qatorga o'tishi mumkin bo'lsa-da, qaytarish buyruqning bir qismi emas; enter tugmasini bosmang.
Burchak qavslar orasida paydo bo'ladigan to'ldiruvchi matnni tegishli qiymat bilan almashtirish kerakligini bildiradi. Burchak qavslarini kiritmang.

Qisqartmalar

Qisqartmalar

Qisqartmalar Kengayish Tavsif
AF Tezlatgich funktsiyasi Ilovani tezlashtiradigan FPGA mantig'ida amalga oshirilgan kompilyatsiya qilingan Hardware Accelerator tasviri.
AFU Tezlatgichning funktsional birligi Uskuna tezlatgichi FPGA mantig'ida amalga oshirilgan bo'lib, unumdorlikni oshirish uchun protsessordan dastur uchun hisoblash operatsiyasini o'chiradi.
API Ilova dasturlash interfeysi Dasturiy ta'minot dasturlarini yaratish uchun pastki dastur ta'riflari, protokollari va vositalari to'plami.
CCI-P Asosiy kesh interfeysi CCI-P - bu AFUlarning xost bilan aloqa qilish uchun foydalanadigan standart interfeysi.
DFH Qurilma xususiyati sarlavhasi Xususiyatlarni qo'shishning kengaytiriladigan usulini ta'minlash uchun xususiyatlar sarlavhalarining bog'langan ro'yxatini yaratadi.
davom etdi…

Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

Qisqartmalar Kengayish Tavsif
FIM FPGA interfeysi menejeri FPGA interfeysi birligi (FIU) va xotira, tarmoq va boshqalar uchun tashqi interfeyslarni o'z ichiga olgan FPGA apparati.

Tezlatgich funktsiyasi (AF) ish vaqtida FIM bilan interfeysga kiradi.

FIU FPGA interfeysi birligi FIU - bu PCIe*, UPI kabi platforma interfeyslari va CCI-P kabi AFU tomoni interfeyslari o'rtasida ko'prik vazifasini bajaradigan platforma interfeysi qatlami.
MPF Xotira xususiyatlari zavodi MPF - bu AFUlar FIU bilan tranzaktsiyalar uchun CCI-P trafikni shakllantirish operatsiyalarini ta'minlash uchun foydalanishi mumkin bo'lgan asosiy qurilish bloki (BBB).

Tezlashtirish lug'ati

FPGA lug'atiga ega Intel® Xeon® CPU uchun tezlashtirish to'plami

Muddati Qisqartirish Tavsif
FPGA bilan Intel Xeon® CPU uchun Intel® Acceleration Stack Tezlashtirish to'plami Intel FPGA va Intel Xeon protsessorlari o'rtasida ishlash uchun optimallashtirilgan ulanishni ta'minlaydigan dasturiy ta'minot, proshivka va vositalar to'plami.
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi Intel FPGA PAC PCIe FPGA tezlatgich kartasi.

PCIe shinasi orqali Intel Xeon protsessoriga qo'shiladigan FPGA interfeys menejerini (FIM) o'z ichiga oladi.

  • DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005

DMA AFU tavsifi

Kirish

To'g'ridan-to'g'ri xotiraga kirish (DMA) AFU, masalanample xost protsessor va FPGA o'rtasida xotira uzatishni qanday boshqarishni ko'rsatadi. Xost xotirasi va FPGA mahalliy xotirasi oʻrtasida maʼlumotlarni koʻchirish uchun siz DMA AFU-ni dizayningizga integratsiya qilishingiz mumkin. DMA AFU quyidagi submodullarni oʻz ichiga oladi:

  • Xotira xususiyatlari zavodi (MPF) asosiy qurilish bloki (BBB)
  • Avalon® xotira xaritasidagi (Avalon-MM) adapteriga asosiy kesh interfeysi (CCI-P)
  • DMA BBB o'z ichiga olgan DMA test tizimi

Ushbu submodullar quyida DMA AFU Hardware Components mavzusida batafsil tavsiflangan.

Tegishli ma'lumotlar

  • DMA AFU apparat komponentlari 6-sahifada
  • Avalon interfeysining texnik xususiyatlari

Avalon-MM protokoli, shu jumladan o'qish va yozish tranzaktsiyalari uchun vaqt diagrammasi haqida ko'proq ma'lumot olish uchun.

DMA AFU dasturiy ta'minot to'plami

FPGA to'plamiga ega Intel Xeon CPU uchun Intel Acceleration Stack file (*.tar.gz), o'z ichiga DMA AFU example. Bu sobiqample foydalanuvchi maydoni drayverini taqdim etadi. Xost ilovasi ushbu drayverdan foydalanadi, shunda DMA ma'lumotlarni xost va FPGA xotirasi o'rtasida o'tkazadi. Uskuna ikkiliklari, manbalar va foydalanuvchi maydoni drayveri quyidagi katalogda mavjud: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU bilan tajriba o'tkazishdan oldin, Open Programmable Acceleration Engine (OPAE) dasturiy paketini o'rnatishingiz kerak. O'rnatish bo'yicha ko'rsatmalar uchun Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack-da OPAE dasturiy ta'minot paketini o'rnatish bo'yicha tezkor qo'llanmaga qarang. Ushbu Tezkor ishga tushirish qo'llanmasi, shuningdek, Open Programmable Acceleration Engine (OPAE) va AFU ni sozlash haqida asosiy ma'lumotlarni o'z ichiga oladi. Open Programmable Acceleration Engine (OPAE) dasturiy paketini o'rnatgandan so'ng, kabiample xost ilovasi va DMA AFU foydalanuvchi maydoni drayveri quyidagi katalogda mavjud: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. s ni ishga tushirish uchunampIntel FPGA PAC D5005 uskunangizdagi fpga_dma_test xost dasturi uchun DMA AFU Ex-ni ishga tushirish bo'limidagi qadamlarga qarang.ample. Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

Tegishli ma'lumotlar

  • Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack Tez boshlash qo'llanmasi
  • OPAE dasturiy ta'minot paketini o'rnatish

DMA AFU apparat komponentlari

DMA AFU FPGA interfeysi birligi (FIU) va FPGA xotirasi bilan ishlaydi. FPGA xotirasining batafsil spetsifikatsiyalari uchun Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun FPGA interfeysi menejeri ma'lumotlar varag'iga qarang. Hozirda mavjud uskuna ushbu xotira konfiguratsiyasini belgilaydi. Kelajakdagi apparat turli xil xotira konfiguratsiyalarini qo'llab-quvvatlashi mumkin. DMA AFU dan quyidagi manba va maqsad manzillari oʻrtasida maʼlumotlarni nusxalash uchun foydalanishingiz mumkin:

  • Xostdan qurilmaga FPGA xotirasi
  • Xostga qurilma FPGA xotirasi

Platforma dizayneri tizimi, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMA ning ko'p qismini amalga oshiradi

  • AFU. Platforma dizayneri tizimida amalga oshirilgan DMA AFU ning bir qismini quyida topish mumkin

joylashuvi:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Siz DMA BBBni quyidagi manzilda topishingiz mumkin:

  • $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb

DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005

DMA AFU apparat blok diagrammasi

Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-1

DMA AFU FPGA interfeysi birligi (FIU) bilan interfeys uchun quyidagi ichki modullarni o'z ichiga oladi:

  • Xotiraga asoslangan IO (MMIO) dekoder mantig'i: MMIO o'qish va yozish tranzaktsiyalarini aniqlaydi va ularni CCI-P RX 0 kanalidan ajratadi. Bu MMIO trafigi hech qachon MPF ​​BBB ga etib bormasligini va mustaqil MMIO buyruq kanali tomonidan xizmat ko'rsatilishini ta'minlaydi.
  • Xotira xususiyatlari zavodi (MPF): Ushbu modul DMA dan o'qilgan javoblar chiqarilgan tartibda qaytishini ta'minlaydi. Avalon-MM protokoli to'g'ri tartibda qaytish uchun javoblarni o'qishni talab qiladi.
  • CCI-P to Avalon-MM adapter: Ushbu modul CCI-P va Avalon-MM tranzaktsiyalari o'rtasida quyidagi tarzda tarjima qilinadi:
  • CCI-P to Avalon-MMIO adapter: Bu yo'l CCI-P MMIO tranzaksiyalarini Avalon-MM tranzaksiyalariga aylantiradi.
  • Avalon to CCI-P Host Adapter: Bu yo'llar DMA uchun xost xotirasiga kirish uchun faqat o'qish va faqat yozish uchun alohida yo'llarni yaratadi.
  • DMA test tizimi: Ushbu modul DMA BBB atrofida DMA ustalarini AFUdagi mantiqning qolgan qismiga ochib berish uchun o'rash vazifasini bajaradi. U DMA BBB va CCI-P to Avalon adapter o'rtasidagi interfeysni ta'minlaydi. Shuningdek, u DMA BBB va mahalliy FPGA SDRAM banklari o'rtasidagi interfeysni ta'minlaydi.

Tegishli ma'lumotlar
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun FPGA interfeys menejeri ma'lumotlar varaqasi

DMA test tizimi

DMA test tizimi DMA BBB ni FPGA dizaynining qolgan qismiga, jumladan CCI-P moslashuvi va mahalliy FPGA xotirasiga ulaydi.

DMA test tizimining blok diagrammasi
Ushbu blok diagrammasi DMA test tizimining ichki qismlarini ko'rsatadi. DMA test tizimi 1-betdagi 7-rasmda monolit blok sifatida ko'rsatilgan.Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-2

DMA test tizimi quyidagi ichki modullarni o'z ichiga oladi:

  • Far Reach Bridge/Pipeline Bridge: Topologiyani boshqarish va Fmax dizaynini yaxshilash uchun sozlanishi kechikish bilan quvur liniyasi ko'prigi.
  • DMA AFU Device Feature Header (DFH): Bu DMA AFU uchun DFH. Bu DFH ofset 0x100 (DMA BBB DFH) da joylashgan keyingi DFH ga ishora qiladi.
  • Null DFH: Ushbu komponent DFH bog'langan ro'yxatini tugatadi. Agar dizaynga ko'proq DMA BBB qo'shsangiz, null DFH asosiy manzili DFH bog'langan ro'yxatining oxirida joylashganligiga ishonch hosil qiling.
  • MA asosiy qurilish bloki (BBB): Ushbu blok ma'lumotlarni xost va mahalliy FPGA xotirasi o'rtasida ko'chiradi. Shuningdek, u tavsiflovchi zanjirlarga kirish uchun xost xotirasiga ham kiradi.

DMA BBB

DMA BBB quyi tizimi Avalon-MM tranzaksiyalari yordamida ma'lumotlarni manbadan maqsad manzillarga uzatadi. DMA drayveri tizim ichidagi turli komponentlarning boshqaruv va holat registriga kirish orqali DMA BBB ni boshqaradi. DMA drayveri, shuningdek, uzatish identifikatorlari bilan bog'lanish uchun umumiy xotiradan foydalangan holda DMA BBB ni boshqaradi. DMA BBB FPGA xotirasidagi ma'lumotlarga 0x0 ofsetida kirish imkonini beradi. DMA BBB 0x1_0000_0000_0000 ofsetida xost xotirasidagi ma'lumotlar va identifikatorlardan foydalanadi.

DMA BBB platformasi dizaynerining blok diagrammasi
Ushbu blok diagrammasi ba'zi ichki Quvur liniyasi ko'prigi IP yadrolarini o'z ichiga olmaydi.Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-6

DMA tezlatgich funktsional birligi foydalanuvchi qo'llanmasi: Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005

DMA AFU tavsifi

DMA BBB platformasi dizayneridagi komponentlar quyidagi funktsiyalarni bajaradi:

  • Far Reach ko'prigi/quvur ko'prigi: Topologiyani boshqarish va Fmax dizaynini yaxshilash uchun sozlanishi kechikish bilan quvur liniyasi ko'prigi mavjud.
  • MA BBB DFH: Bu DMA BBB uchun qurilma xususiyati sarlavhasi. Bu DFH 0x100 (Null DFH) ofsetida joylashgan keyingi DFHga ishora qiladi.
  • Frontend deskriptori: Deskriptorlarni olish va ularni dispetcherga o'tkazish uchun javobgar. DMA uzatish tugagach, frontend dispetcherdan holat shakllanishini oladi va xost xotirasida identifikatorni qayta yozadi.
  • Dispetcher: Ushbu blok DMA so'rovlarini o'qish va yozish ustasiga o'tkazishni rejalashtiradi.
  • Magistrni o'qing: Ushbu blok xost yoki mahalliy FPGA xotirasidan ma'lumotlarni o'qish va uni Write Master-ga oqim ma'lumotlari sifatida yuborish uchun javobgardir.
  • Usta yozing: Ushbu blok Read Master-dan oqim ma'lumotlarini qabul qilish va tarkibni xost yoki mahalliy FPGA xotirasiga yozish uchun javobgardir.

Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing

DMA AFU ikkita xotirani qo'llab-quvvatlaydi views: DMA view va uy egasi view. DMA view 49 bitli manzil maydonini qo'llab-quvvatlaydi. DMA ning pastki yarmi view mahalliy FPGA xotirasiga xaritalar. DMA ning yuqori yarmi view xost xotirasi uchun xaritalar. Mezbon view DFH jadvallari kabi MMIO kirishlari orqali kirish mumkin bo'lgan barcha registrlarni va DMA AFU ichida ishlatiladigan turli IP yadrolarining boshqaruv/holat registrlarini o'z ichiga oladi. MMIO DMA BBB da ro'yxatdan o'tadi va AFU 32 va 64 bitli kirishni qo'llab-quvvatlaydi. DMA AFU 512 bitli MMIO kirishlarini qo'llab-quvvatlamaydi. DMA BBB ichidagi dispetcher registrlariga kirish 32 bit bo'lishi kerak (Deskriptor old tomoni 64 bitli registrlarni amalga oshiradi).

DMA AFU registrlari xaritasi

DMA AFU registr xaritasi birlik ichidagi barcha joylarning mutlaq manzillarini beradi. Ushbu registrlar xostda joylashgan view chunki ularga faqat xost kirishi mumkin.

DMA AFU xotira xaritasi

Bayt manzillari ofsetlari Ism Baytlarda oraliq Tavsif
0x0 DMA AFU DFH 0x40 DMA AFU uchun qurilma xususiyati sarlavhasi. ID_L 0x9081f88b8f655caa, ID_H esa 0x331db30c988541ea qilib o‘rnatiladi. DMA AFU DFH keyingi DFH (DMA BBB DFH) ni topish uchun 0x100 ofsetga ishora qilish uchun parametrlangan. DMA AFU DFH ning asosiy manzilini o'zgartirmasligingiz kerak, chunki u CCIP spetsifikatsiyasi bilan belgilangan 0x0 manzilida joylashgan bo'lishi kerak.
0x100 DMA BBB 0x100 DMA BBB boshqaruvi va holat registrlari interfeysini belgilaydi. Qo'shimcha ma'lumot uchun DMA BBB registr xaritasiga murojaat qilishingiz mumkin. 0 ofsetdagi DMA BBB ichida DMA BBB o'zining DFH ni o'z ichiga oladi. Ushbu DFH keyingi DFH ni ofset 0x100 (NULL DFH) da topish uchun sozlangan. Agar siz ko'proq DMA BBB qo'shsangiz, ularni 0x100 masofada joylashtiring va NULL DFH oxirgi DMA ni 0x100 ga kuzatib borishiga ishonch hosil qiling.
0x200 NULL DFH 0x40 DFH bog'langan ro'yxatini tugatadi. ID_L 0x90fe6aab12a0132f va ID_H 0xda1182b1b3444e23 ga o‘rnatiladi. NULL DFH apparatdagi oxirgi DFH sifatida parametrlangan. Shuning uchun NULL DFH 0x200 manzilida joylashgan. Agar siz tizimga qo'shimcha DMA BBB qo'shsangiz, eng yuqori manzilda qolishi uchun NULL DFH asosiy manzilini mos ravishda oshirishingiz kerak. DMA drayveri va sinov ilovasi ushbu uskunadan foydalanmaydi.

Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing

DMA BBB xotira xaritasi
Quyidagi bayt manzillari DMA AFU tizimidagi (0x100) DMA BBB asosiy manzilidan nisbiy ofsetdir.

Bayt manzillari ofsetlari Ism Baytlarda oraliq Tavsif
0x0 DMA BBB DFH 0x40 DMA AFU uchun qurilma xususiyati sarlavhasi. ID_L 0xa9149a35bace01ea va ID_H 0xef82def7f6ec40fc ga o'rnatiladi. DMA BBB DFH keyingi DFH ofseti uchun 0x100 ga ishora qilish uchun parametrlangan. Bu keyingi ofset boshqa DMA BBB, boshqa DFH (ushbu dizaynga kiritilmagan) yoki NULL DFH bo'lishi mumkin.
0x40 Dispetcher 0x40 Dispetcher uchun boshqaruv porti. DMA drayveri bu joydan DMA ni boshqarish yoki uning holatini so'rash uchun foydalanadi.
0x80 Frontend deskriptori 0x40 Deskriptorning old qismi xost xotirasidan deskriptorlarni o'qiydi va DMA uzatish tugallangandan so'ng deskriptorni qayta yozadigan maxsus komponent hisoblanadi. Haydovchi birinchi deskriptor xost xotirasida yashaydigan frontendga ko'rsatma beradi, so'ngra frontend apparati drayver bilan birinchi navbatda xost xotirasida saqlangan deskriptorlar bilan aloqa qiladi.

DMA AFU manzil maydoni

Xost 4-betdagi 12-jadvalda va 5-betdagi 13-jadvalda keltirilgan registrlarga kirishi mumkin. DMA BBB quyi tizimi toʻliq 49-bitli manzil maydoniga kirish huquqiga ega. Ushbu manzil maydonining pastki yarmi mahalliy FPGA xotiralarini o'z ichiga oladi. Ushbu manzil maydonining yuqori yarmi 48 bitli xost manzil xotirasini o'z ichiga oladi. Quyidagi rasmda xost va DMA ko'rsatilgan viewxotira s.

DMA AFU va Xost Views Xotira

Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-3

Qurilma xususiyatlari sarlavhasi bog'langan ro'yxat

DMA AFU dizayni sobiqample bog'langan ro'yxatni tashkil etuvchi uchta qurilma xususiyati sarlavhasini (DFH) o'z ichiga oladi. Bu bog'langan ro'yxat s imkonini beradiample DMA AFU ni aniqlash uchun ilova hamda DMA BBB ni aniqlash uchun haydovchi. DFH ro'yxati oxirida NULL DFHni o'z ichiga oladi. Bog'langan ro'yxatning oxiriga null DFH qo'shilishi dizayningizga ko'proq DMA BBB qo'shish imkonini beradi. Siz shunchaki NULL DFHni boshqa BBBlardan keyingi manzilga ko'chirishingiz kerak. Har bir DMA BBB keyingi DFH BBB ning asosiy manzilidan 0x100 bayt masofada joylashgan bo'lishini kutadi. Quyidagi rasmda DMA AFU dizayni uchun bog'langan ro'yxat ko'rsatilganample.

Xarita va manzil bo'shliqlarini ro'yxatdan o'tkazing

DMA AFU Device Feature Header (DFH) zanjiri

Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-4

Dasturiy ta'minotni dasturlash modeli

DMA AFU siz o'zingizning xost ilovangizda foydalanishingiz mumkin bo'lgan dasturiy ta'minot drayverini o'z ichiga oladi. fpga_dma.cpp va fpga_dma.h filequyidagi joyda joylashgan s dasturiy ta'minot drayverini amalga oshiradi:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ushbu drayver quyidagi funktsiyalarni qo'llab-quvvatlaydi:

API Tavsif
fpgaCountDMACchannels DMA BBB uchun qurilma funksiyalar zanjirini skanerlaydi va barcha mavjud kanallarni hisoblaydi.
fpgaDMAOpen DMA kanaliga tutqichni ochadi.
fpgaDMAClose DMA kanaliga tutqichni yopadi.
fpgaDMATransferInit DMA uzatishni ifodalovchi ob'ektni ishga tushiradi.
fpgaDMATtransferReset DMA uzatish atributi obyektini standart qiymatlarga qaytaradi.
fpgaDMATransferDestroy DMA uzatish atributi ob'ektini yo'q qiladi.
fpgaDMATransferSetSrc O'tkazmaning manba manzilini o'rnatadi. Bu manzil 64 baytga teng bo'lishi kerak.
fpgaDMATtransferSetDst O'tkazmaning maqsad manzilini belgilaydi. Bu manzil 64 baytga teng bo'lishi kerak.
fpgaDMATtransferSetLen O'tkazish uzunligini baytlarda o'rnatadi. Paketsiz o'tkazmalar uchun siz uzatish uzunligini 64 baytga ko'p qilib belgilashingiz kerak. Paket o'tkazmalari uchun bu shart emas.
fpgaDMATransferSetTransferType O'tkazish turini o'rnatadi. Yuridik qadriyatlar quyidagilardir:

• HOST_MM_TO_FPGA_MM = TX (AFU uchun xost)

• FPGA_MM_TO_HOST_MM = RX (xost uchun AFU)

fpgaDMATransferSetTransferCallback Asinxron uzatish tugallanganligi to'g'risida bildirishnoma olish uchun qayta qo'ng'iroqni ro'yxatdan o'tkazadi. Qayta qo'ng'iroqni belgilasangiz, fpgaDMATransfer darhol qaytadi (asinxron uzatish).

Qayta qo'ng'iroqni belgilamasangiz, fpgaDMATransfer uzatish tugallangandan so'ng qaytadi (sinxron/blokirovkali uzatish).

fpgaDMATtransferSetLast Oxirgi transferni ko'rsatadi, shuning uchun DMA oldindan yuklangan o'tkazmalarni qayta ishlashni boshlashi mumkin. Standart qiymat - DMA o'tkazmalar ustida ishlay boshlashdan oldin quvur liniyasidagi 64 ta o'tkazma.
fpgaDMATtransfer DMA uzatishni amalga oshiradi.

API, kiritish va chiqish argumentlari haqida ko'proq ma'lumot olish uchun sarlavhaga qarang file joylashgan $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

Dasturiy ta'minotni dasturlash modeli

Dasturiy ta'minot drayveridan foydalanish modeli haqida ko'proq bilish uchun README-ga qarang file $OPAE_PLATFORM_ROOT/hw/s da joylashganamples/dma_afu/README.md

Ishlayotgan DMA AFU Example

Boshlashdan oldin:

  • Siz sobiq bilan tanish bo'lishingiz kerakamples Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 uchun Intel Acceleration Stack Tez boshlash qo'llanmasida.
  • Siz muhit o'zgaruvchisini belgilashingiz kerak. Atrof-muhit o'zgaruvchisi siz foydalanayotgan Intel Acceleration Stack versiyasiga bog'liq:
    • Joriy versiya uchun muhit o'zgaruvchisini $OPAE_PLATFORM_ROOT ga o'rnating
  • Intel Threading Building Blocks (TBB) kutubxonasini o'rnatishingiz kerak, chunki DMA drayveri unga tayanadi.
  • s-ni ishga tushirish uchun siz ikkita 1 GB hajmli ulkan sahifalarni o'rnatishingiz kerakampilova. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

DMA Accelerator Function (AF) bit oqimini yuklab olish, dastur va drayverni yaratish va eski dizaynni ishga tushirish uchun quyidagi amallarni bajaring.ampga:

  1. DMA ilovasi va drayverlar katalogiga oʻzgartirish: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Drayv va dasturni yarating: make
  3. DMA AFU bit oqimini yuklab oling: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Xost xotirasidan FPGA qurilmasi xotirasiga 100 MB ni 1 MB qismlarga yozish uchun xost ilovasini ishga tushiring va uni qayta o‘qing: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Tegishli ma'lumotlar
Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 Intel korporatsiyasi uchun Intel Acceleration Stack Tez boshlash qo'llanmasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

DMA AFU ni kompilyatsiya qilish Example

AFni kompilyatsiya qilish uchun sintez yaratish muhitini yaratish uchun afu_synth_setup buyrug'idan quyidagi tarzda foydalaning:

  1. DMA AFU ga o'zgartirishampkatalog: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Dizayn yaratish katalogini yarating: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Maqsadli apparat platformasi uchun AF yaratish uchun afu_synth_setup tomonidan yaratilgan sintez yaratish katalogidan terminal oynasidan quyidagi buyruqlarni kiriting: cd build_synth run.sh run.sh AF yaratish skripti bir xil baza bilan AF tasvirini yaratadi. filenomi AFU platformasi konfiguratsiyasi sifatida file (.json) manzilida .gbs qo'shimchasi bilan:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

AFU ni simulyatsiya qilish Example

Intel FPGA PAC uchun Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Tez ishga tushirish qo‘llanmasiga murojaat qilishni tavsiya qiladi.amples va muhitingizni sozlash uchun. Quyidagi amallarni bajarishdan oldin OPAE_PLATFORM_ROOT muhit oʻzgaruvchisi OPAE SDK oʻrnatish katalogiga oʻrnatilganligini tekshiring. DMA AFU uchun apparat simulyatorini sozlash uchun quyidagi amallarni bajaring:

  1. DMA AFU ga o'zgartirishample katalog: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Yangi katalogda ASE muhitini yarating va uni AFU simulyatsiyasi uchun sozlang: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. ASE qurish katalogiga o'ting: cd build_ase_dir
  4. Drayv va dasturni yarating: make
  5. Simulyatsiya qiling: sim yarating

Sampapparat simulyatoridan chiqdi:

[SIM] ** DIQQAT: dasturiy ta'minotni ishga tushirishdan oldin ** [SIM] Ilova ishlaydigan terminalda env(ASE_WORKDIR) ni o'rnating (nusxalash va joylashtirish) => [SIM] $SHELL | Ishga tushirish: [SIM] ———+—————————————————— [SIM] bash/zsh | eksport 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] Boshqa har qanday $SHELL uchun Linux administratoringiz bilan maslahatlashing [SIM] [SIM] Simulyatsiyaga tayyor… [SIM] Simulyatorni yopish uchun CTRL-C tugmalarini bosing…

Simulyatsiya muhitida DMA AFU dasturini kompilyatsiya qilish va ishga tushirish uchun quyidagi amallarni bajaring:

  1. Yangi terminal oynasini oching.
  2. Katalogni quyidagiga o'zgartiring: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

AFU ni simulyatsiya qilish Example

  1. Uskuna simulyatsiyasidagi yuqoridagi qadamlardan terminal oynasiga atrof-muhitni o'rnatish satrini (qobig'ingizga mos keladigan qatorni tanlang) nusxa ko'chiring. s dagi quyidagi qatorlarga qarangampapparat simulyatoridan chiqish. [SIM] bash/zsh | eksport 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
  2. Dasturiy ta'minotni kompilyatsiya qiling: $ make USE_ASE=1
  3. Xost xotirasidan FPGA qurilma xotirasiga 4 KB bo‘laklarga 1 KB yozish uchun xost ilovasini ishga tushiring: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Tegishli ma'lumotlar
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Tez boshlash foydalanuvchi qo‘llanmasi

DMA ish faoliyatini yaxshilash uchun optimallashtirish

fpga_dma_test.cpp da NUMA (xotiraga bir xil bo'lmagan kirish) optimallashtirishni amalga oshirish protsessorga mahalliy bo'lmagan xotiraga (boshqa protsessorga mahalliy xotira) kirishdan ko'ra tezroq o'z mahalliy xotirasiga kirish imkonini beradi. Oddiy NUMA konfiguratsiyasi quyidagi diagrammada ko'rsatilgan. Mahalliy kirish yadrodan mahalliy xotiraga bir xil yadroga kirishni anglatadi. Masofaviy kirish 0-tugundagi yadro 1-tugunning mahalliy xotirasida joylashgan xotiraga kirganda olingan yo'lni ko'rsatadi.

Odatiy NUMA konfiguratsiyasi

Intel.-FPGA-dasturlashtiriladigan-tezlashtirish-karta-D5005-fig-5

Sinov ilovangizda NUMA optimallashtirishni amalga oshirish uchun quyidagi koddan foydalaning:

// Agar so'ralsa, tegishli yaqinlikni o'rnating, agar (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(rekvizitlar, (uint8_t *) & avtobus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(rekvizitlar, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(rekvizitlar, (uint8_t *) & func);ON_ERR_GOTOFunction “ON_ERR_t (uintXNUMX_t *) & destroy() // hwloc_topology_t topologiyasidan qurilmani toping; hwloc_topology_init(&topologiya); hwloc_topology_set_flags(topologiya, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashini kafolatlaydi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi. *Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

DMA ish faoliyatini yaxshilash uchun optimallashtirish

hwloc_topology_load(topologiya); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologiya, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologiya, 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 bu %s\n”, str);#endif if (xotira_yaxshiligi) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologiya, obj2->tugun, HWLOC_MEMBIND_LOCK MEMBIND_MEMBIND_MEMBIND_MEMBIND_YOG'RIB | #else retval =hwloc_set_membind_nodeset(topologiya, obj2->nodeset, HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (cpu_affinity) { retval = hwloc_set_cpubind(topologiya, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }

DMA Accelerator Funktsional Unit foydalanuvchi qoʻllanmasi arxivlari

Intel Acceleration Stack versiyasi Foydalanuvchi qoʻllanmasi (PDF)
2.0 DMA Accelerator Functional Unit (AFU) foydalanuvchi qo'llanmasi

DMA Accelerator Funktsional Unit foydalanuvchi qoʻllanmasi uchun hujjatlarni koʻrib chiqish tarixi

 

Hujjat versiyasi

Intel tezlashtirish Stack versiyasi  

O'zgarishlar

 

 

2020.08.03

2.0.1 (Intel bilan qo'llab-quvvatlanadi

Quartus® Prime Pro Edition Edition 19.2)

 

AF tasviri tuzatildi file bo'limda nom DMA AFU ni kompilyatsiya qilish Example.

 

 

2020.04.17

2.0.1 (Intel bilan qo'llab-quvvatlanadi

Quartus Prime Pro Edition Edition 19.2)

 

 

dagi bayonotni tuzatdi Maqsadli auditoriya bo'limi.

 

 

2020.02.20

2.0.1 (Intel bilan qo'llab-quvvatlanadi

Quartus Prime Pro Edition Edition 19.2)

 

 

Ruxsat etilgan matn terish xatosi.

 

 

 

 

2019.11.04

 

 

2.0.1 (Intel bilan qo'llab-quvvatlanadi

Quartus Prime Pro Edition Edition 19.2)

• FPGA-ni oldindan tuzilgan AFU bo'limida sozlashda fpgaconf fpgasupdate bilan almashtirildi DMA AFU-ni ishga tushirish Example.

• Subtitr qo‘shildi Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 hujjat sarlavhasiga.

• $OPAE_PLATFORM_ROOT muhit o‘zgaruvchisi qo‘shildi.

• O'zgartirilgan bo'lim Dasturiy ta'minotni dasturlash modeli kichik tahrirlar uchun.

• Yangi bo'lim qo'shildi DMA AFU ni kompilyatsiya qilish Example.

• O'zgartirilgan bo'lim DMA ish faoliyatini yaxshilash uchun optimallashtirish kichik tahrirlar uchun.

 

 

2019.08.05

2.0 (Intel bilan qo'llab-quvvatlanadi

Quartus Prime Pro nashri 18.1.2)

 

 

Dastlabki nashr.

Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi.

  • Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.

 

Hujjatlar / manbalar

Intel FPGA dasturlashtiriladigan tezlashtirish kartasi D5005 [pdf] Foydalanuvchi uchun qoʻllanma
FPGA dasturlashtiriladigan tezlashtirish kartasi, D5005, FPGA dasturlashtiriladigan tezlashtirish kartasi D5005, DMA tezlatgich funktsional birligi

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *