Processing Element — parallel hisoblash tuzilmasida arifmetik yoki mantiqiy ishning bir qismini bajaradigan eng kichik takrorlanuvchi hisoblash birligi. PE registrlar, ALU yoki multiply-accumulate blok, lokal boshqaruv va ba’zan kichik xotirani o‘z ichiga oladi. Ko‘p PE birga ishlaganda vektor, matritsa, signal yoki grafik hisoblari tezlashadi.
Tuzilma konteksti
Termin yagona qat’iy apparat o‘lchamini anglatmaydi. Systolic array’da PE har takt operandni qo‘shnisidan olib, ko‘paytirib jamlaydi va ma’lumotni keyingi elementga uzatadi. GPUda unga yaqin birlik skalyar ALU lane bo‘lishi mumkin. FPGA dizaynida PE foydalanuvchi yaratgan pipeline va DSP bloklar to‘plamidir.
Shuning uchun “1024 processing element”ni turli chiplar orasida to‘g‘ridan-to‘g‘ri unumdorlik sifatida solishtirish mumkin emas. Har PEning operand kengligi, takt chastotasi, bir sikldagi amallari, lokal xotirasi va foydalanish darajasi hisobga olinadi.
Ma’lumot oqimi
PElar umumiy registr fayli, tarmoq-on-chip, qo‘shnichilik liniyasi yoki broadcast orqali ma’lumot oladi. Hisoblash arzon, ma’lumot ko‘chirish qimmat bo‘lishi mumkin. Lokal reuse bir operandni bir necha amal uchun saqlab, tashqi xotira trafikini kamaytiradi.
Output-stationary dataflow’da qisman natija bitta PEda qoladi, weight-stationary usulda esa og‘irlik saqlanadi. Qaysi oqim samarali ekani operator shakli va xotira iyerarxiyasiga bog‘liq. Mapping compiler tensor yoki sikl iteratsiyalarini vaqt va PE indekslari bo‘yicha taqsimlaydi.
Boshqaruv
SIMD massivida bitta control unit ko‘p PEga bir buyruq yuboradi. Har element o‘z ma’lumotida bir xil amalni bajaradi; predikat ayrimlarini o‘chirishi mumkin. MIMD tizimda PE yoki yadro mustaqil instruction streamga ega. Birinchi model nazoratni ixcham qiladi, ikkinchisi notekis ishga mosroq.
PE band bo‘lmay qolishi ma’lumot kelmasligi, notekis vazifa taqsimoti yoki maska sabab yuz beradi. Peak operations soni barcha element doim foydali ish qilgan ideal holatdir. Amaldagi utilization va xotira bandwidth real throughputni belgilaydi.
Ishonchlilik va masshtab
Katta massivda bir PE xatosi butun natijaga ta’sir qilishi mumkin. Server darajasidagi akselerator parity, ECC va nosoz elementni o‘chirish mexanizmlaridan foydalanishi mumkin. Chip ishlab chiqarishdagi nuqson uchun zaxira qator yoki ustun mavjud bo‘lishi ehtimol.
Masshtab ortganda clock, reset va quvvat signallarini minglab elementga tarqatish ham murakkablashadi. Hierarchical control va power gating foydalanilmayotgan bloklarni o‘chiradi. PE dizayni faqat hisoblash formulasi emas, fizik aloqa va energiya chegarasi bilan birga tanlanadi.
Dasturlash modeli
PE massivini qo‘lda boshqarish har elementga vazifa xaritalash va aloqa jadvalini yozishni talab qilishi mumkin. Yuqori darajadagi compiler esa sikl nestini tahlil qilib spatial mapping hosil qiladi. Dependency masofasi qaysi PE qaysi taktda natija olishini belgilaydi; noto‘g‘ri jadval eski qiymat yoki tarmoq to‘qnashuviga olib keladi.
Boundary PElar ichki elementdan kamroq qo‘shniga ega bo‘lishi mumkin. Stencil hisobida halo ma’lumot tashqi xotira yoki boshqa chipdan keladi. Double buffering bir blok hisoblanayotganda keyingi blokni yuklab, aloqa kechikishini yashiradi. Buffer sig‘imi va sinxronizatsiya to‘g‘ri bo‘lmasa elementlar ma’lumot kutib bo‘sh qoladi.
PE orasidagi sinxronizatsiya barrier, token yoki statik takt jadvali bilan bajariladi. Bitta element kechiksa butun wavefront ushlanishi mumkin; elastik buffer lokal o‘zgarishni yutadi, lekin maydon va boshqaruv xarajatini oshiradi.
Bog‘liq tushunchalar
systolic array, SIMD, dataflow architecture, accelerator, local memory, tensor processing