Plis. ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах: прСимущСства ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

КакиС прСимущСства ΠΈΠΌΠ΅ΡŽΡ‚ ΠŸΠ›Π˜Π‘ ΠΏΠ΅Ρ€Π΅Π΄ графичСскими процСссорами Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. Как ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠŸΠ›Π˜Π‘ эффСктивнСС графичСских процСссоров ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с нСбольшими объСмами Π΄Π°Π½Π½Ρ‹Ρ…. КакиС инструмСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для программирования ΠŸΠ›Π˜Π‘.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы (ΠŸΠ›Π˜Π‘) ΠΈΠΌΠ΅ΡŽΡ‚ ряд сущСствСнных прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ графичСскими процСссорами (GPU) ΠΏΡ€ΠΈ использовании Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах:

  • Π‘ΠΎΠ»Π΅Π΅ высокая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с нСбольшими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ для Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
  • МСньшСС врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов
  • Π‘ΠΎΠ»Π΅Π΅ высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшСС энСргопотрСблСниС
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ АЦП

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

ΠŸΠ›Π˜Π‘ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… этапах ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:


  • ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сигналов
  • БыстроС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡƒΡ€ΡŒΠ΅ (Π‘ΠŸΠ€)
  • Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ направлСнности
  • ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½ΠΎ-врСмСнная адаптивная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (STAP)
  • Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ²
  • ДоплСровская Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ
  • ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ двиТущихся Ρ†Π΅Π»Π΅ΠΉ

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с нСбольшими объСмами Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠ›Π˜Π‘ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с GPU ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π­Ρ‚ΠΎ обусловлСно нСсколькими Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ:

  • АрхитСктура ΠŸΠ›Π˜Π‘ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠŸΠ›Π˜Π‘ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ пропускной способности Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для GPU
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ нСобходимости ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ тысячи ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠ°ΠΊ Π² GPU
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Ρ€Π°ΠΊΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠŸΠ›Π˜Π‘ ΠΈ GPU Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ

Алгоритм Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠŸΠ›Π˜Π‘ ΠΈ GPU Π½Π° этом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ наглядно дСмонстрируСт прСимущСства ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:


  • ΠŸΠ›Π˜Π‘ Altera Stratix V (460K логичСских элСмСнтов):
    • ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° 360×360: 91 GFLOPS
    • ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° 60×60: 84 GFLOPS (2 ядра)
    • ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° 30×30: 75 GFLOPS (3 ядра)
  • GPU NVIDIA (1.35 TFLOPS):
    • ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° 512×512: 58.4 GFLOPS
    • ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° 1024×1024: 67.96 GFLOPS

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠŸΠ›Π˜Π‘ дСмонстрируСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ… мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ для Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для программирования ΠŸΠ›Π˜Π‘

Для эффСктивного программирования ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСциализированныС инструмСнты:

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DSP Builder Advanced Blockset ΠΎΡ‚ Altera — позволяСт эффСктивно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π½Π° ΠŸΠ›Π˜Π‘
  • Π―Π·Ρ‹ΠΊ OpenCL с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ для ΠŸΠ›Π˜Π‘ — обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ портирования ΠΊΠΎΠ΄Π° с GPU Π½Π° ΠŸΠ›Π˜Π‘
  • Π―Π·Ρ‹ΠΊΠΈ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Verilog ΠΈ VHDL — Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ срСдства программирования ΠŸΠ›Π˜Π‘

Π­Π½Π΅Ρ€Π³ΠΎΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах

Одним ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… прСимущСств ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах являСтся ΠΈΡ… высокая ΡΠ½Π΅Ρ€Π³ΠΎΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚:


  • ΠŸΠ›Π˜Π‘: 5-10 GFLOPS/Π’Ρ‚ Π² зависимости ΠΎΡ‚ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
  • GPU: ΠΎΠΊΠΎΠ»ΠΎ 0.25 GFLOPS/Π’Ρ‚ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠŸΠ›Π˜Π‘ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π² 20-40 Ρ€Π°Π· мСньшС энСргии Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с GPU. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π±ΠΎΡ€Ρ‚ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π³Π΄Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, вСс ΠΈ энСргопотрСблСниС ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ.

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ примСнСния ΠŸΠ›Π˜Π‘ Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠŸΠ›Π˜Π‘ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ пСрспСктивы ΠΈΡ… примСнСния Π² Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах:

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² дСсятки TFLOPS ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ энСргопотрСблСнии
  • РСализация слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм для бСспилотных Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠ²
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-опрСдСляСмых Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм с Π³ΠΈΠ±ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ

ИспользованиС соврСмСнных ΠŸΠ›Π˜Π‘ позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΏΡ€ΠΈ сниТСнии ΠΈΡ… массогабаритных характСристик ΠΈ энСргопотрСблСния. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ возмоТности для развития Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ назначСния.



ΠŸΠ›Π˜Π‘ β€” ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ

ЛогичСскиС устройства ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: фиксированной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅. Как слСдуСт ΠΈΠ· названия, устройства с фиксированной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ (Π»ΠΈΠ±ΠΎ Π½Π°Π±ΠΎΡ€) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послС ΠΈΡ… изготовлСния. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ устройства Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартными издСлиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ логичСской Смкости, скорости ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… напряТСний, ΠΈ ΠΈΡ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² любоС врСмя для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ΠŸΠ›Π˜Π‘

Π’ русскоязычной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ ΠŸΠ›Π˜Π‘ (программируСмая логичСская ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Π°Ρ схСма). Π’ англоязычной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ принято Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ разновидности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… микросхСм: PLA, PAL, GAL, SPLD, CPLD, ASIC, FPGA, FPAA, FPID, SoCΠΈ Ρ‚.Π΄.

ΠŸΠ›Π˜Π‘ PLA (Programmable Logic Array)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы PLA

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠŸΠŸΠ—Π£. Π’ Π΄Π°Π½Π½Ρ‹Ρ… устройствах ΠΎΠ±Π° массива элСмСнтов ΠΈ , ΠΈ Β  ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. На рисункС схСматично прСдставлСн Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ содСрТащий Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ плоскости ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°.

ΠŸΠ›Π˜Π‘ PAL (Programmable Array Logic)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы PAL

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠŸΠŸΠ—Π£. Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ послСдних, Π² Π΄Π°Π½Π½Ρ‹Ρ… схСмах массив элСмСнтов являСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ, Π° массив — Π½Π΅Ρ‚. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ PAL с трСмя Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ трСмя Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ.

ΠŸΠ›Π˜Π‘ GAL (Generic Array Logic)

Устройства PAL ΠΈ PLA – ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, ΠΈΡ… конфигурация Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°; Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ… микросхСмы GAL основаны Π½Π° EEPROM ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΡ‹ GAL Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ Lattice Semiconductor. АналогичныС устройства, PEEL (programmable electrically erasable logic), Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ International CMOS Technology (ICT).

ΠŸΠ›Π˜Π‘ SPLD (Simple Programmable Logic Devices)

Π’ англоязычной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ микросхСмы PROM, PAL, PLA, GAL принято ΠΎΠ±ΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ SPLD.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы SPLD

ΠŸΠ›Π˜Π‘ CPLD (Complex PLD). Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘, содСрТащая ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС Π±Π»ΠΎΠΊΠΈ — макроячСйки (Π°Π½Π³Π». macrocells), соСдинённыС с внСшними Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ шинами.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы CPLD

БущСствСнный ΠΏΡ€ΠΎΡ€Ρ‹Π² Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π² 1984Π³., ΠΊΠΎΠ³Π΄Π° компания Altera ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° CPLD, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² сочСтаниС CMOS ΠΈ EPROM Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ИспользованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CMOS ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ плотности ΠΈ слоТности ΠΏΡ€ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшом ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ энСргии, Π° ячСйки (Π°Π½Π³Π». cells) EPROM оказались ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ срСдством для использования ΠΈΡ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ создании ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² оборудования.

ΠŸΠ›Π˜Π‘ ASIC (Application Specific IC)

Заказная ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Π°Ρ схСма для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° способна Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с высокой ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ. ЯвляСтся своСго Ρ€ΠΎΠ΄Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ ΠŸΠ›Π˜Π‘. Π’ русскоязычной Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β — Π‘ΠœΠš – Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ кристалл, Ρ‚.

Π΅. Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° с масочным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ англоязычной Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ASIC ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, структурированныС ASIC, схСмы Π½Π° стандартных элСмСнтах ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΠ°Π·Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы.

ΠŸΠ›Π˜Π‘ FPGA (Field Programmable Gate Array)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы FPGA

Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘, содСрТащая логичСскиС элСмСнты ΠΈ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для FPGA хранится Π² распрСдСлённой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти микросхСмы, поэтому трСбуСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊ 80-Ρ… Π³ΠΎΠ΄Π°ΠΌ 20 столСтия Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… микросхСм слоТилась ситуация, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ниша ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ слоТных ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… Π² производствС микросхСм ASIC ΠΈ PLD (SPLD ΠΈ CPLD). Π­Ρ‚Π° ниша заполнилась микросхСмами FPGA. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ FPGA являСтся ΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xilinx Росс Π€Ρ€ΠΈΠΌΠ΅Π½ — ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ кристалла ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (FPGA).

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠŸΠ›Π˜Π‘ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ созданию ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… структур ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ… достоинства FPGA ΠΈ CPLD – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСмСйство FLEX (Flexible Logic Element Matrix) ΠΎΡ‚ Altera.

ΠŸΠ›Π˜Π‘ FPAA (Field Programmable Analog Array)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы FPAA

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ схСмы Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° дискрСтных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…. Π’ рядС случаСв аналоговая Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТной настройки. Π Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ создания Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… устройств (ΠΈΠ½ΠΎΠ³Π΄Π° для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ полосы частот спСктра) позволяСт использованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… микросхСм. На настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… микросхСм являСтся компания Anadigm.

ΠŸΠ›Π˜Π‘ FPID (Field Programmable Interconnect Device)

Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы содСрТат ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ соСдинСния ΠΈ Π±Π»ΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ содСрТат логичСских Π±Π»ΠΎΠΊΠΎΠ². Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ соСдинСния своих Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π² соотвСтствии с Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠŸΡ€ΠΈ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΈ создании динамичСски ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… систСм Ρ‚Π°ΠΊΠΈΠ΅ микросхСмы вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. БоСдиняя ΠŸΠ›Π˜Π‘ Ρ‡Π΅Ρ€Π΅Π· FPIC ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… мСТсоСдинСния, Ρ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ с ТСсткой трассировкой (ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ Π΄Ρ€. ).

ΠŸΠ›Π˜Π‘ SoC (System on Chip)

УмСньшСниС топологичСских Π½ΠΎΡ€ΠΌ проСктирования ΠΈ ряд тСхнологичСских ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ Π΄ΠΎΠ²Π΅Π»ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ соврСмСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… логичСских ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм Π΄ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ Π² нСсколько ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² эквивалСнтных Π²Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΉ, Π° быстродСйствиС — Π΄ΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… частот Π² сотни ΠΌΠ΅Π³Π°Π³Π΅Ρ€Ρ†. На Ρ‚Π°ΠΊΠΈΡ… кристаллах Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ всю Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ систСму (процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ, интСрфСйсы, ΠΈ Π΄Ρ€.).

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘

ΠŸΠ›Π˜Π‘ SPLD

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΡ‹ SPLD ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ производитСлями. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ всСмирно извСстныС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Texas Instruments, NXP, Lattice. Π£ Lattice Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Β«mature devicesΒ», Ρ‚. Π΅. Π·Ρ€Π΅Π»Ρ‹Π΅, ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹Π΅. Для программирования логичСских ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… схСм SPLD Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (логичСскиС компиляторы) для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, Ρ‚Π°Π±Π»ΠΈΡ† истинности ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ состояний Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» JEDEC* β€” Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² стандартизированной Ρ„ΠΎΡ€ΠΌΠ΅ список ΠΏΠ»Π°Π²ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ. Π’ дальнСйшСм, ΠΏΡ€ΠΈ появлСнии Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠŸΠ›Π˜Π‘, логичСскиС компиляторы стали Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ языками HDL (Hardware Description Language). На сайтС NXP ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² SPLD, Π² AN036 рассматриваСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ микросхСмы PLC42VA12 Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ интСрфСйса I2C.

Компания Altera ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния CPLD сСрии MAX V**:

1. ΠŸΠ›Π˜Π‘ CPLD примСняСтся для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ количСства ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… стандартных устройств.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ CPLD для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ количСства ΠΏΠΎΡ€Ρ‚ΠΎΠ²

2. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы CPLD ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для создания мостов (bridge’s) ΠΌΠ΅ΠΆΠ΄Ρƒ интСрфСйсами, Ρ‚. Π΅. для соСдинСния Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ нСсовмСстимых ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ устройств.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ CPLD для создания мостов

3. Π’Π°ΠΊ ΠΆΠ΅ ΠŸΠ›Π˜Π‘ CPLD примСняСтся для управлСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ источников питания ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ CPLD для управлСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ источников питания

4. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ логичСскиС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы CPLD ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠŸΠ›Π˜Π‘ CPLD для управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств

5. ΠŸΠ›Π˜Π‘ CPLD для управлСния стандартными Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ устройствами Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ посрСдством ΡˆΠΈΡ€ΠΎΡ‚Π½ΠΎ-ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½ΠΎΠΉ модуляции (ШИМ) Π±Π΅Π· примСнСния ЦАП. LUT-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° CPLD, Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ микросхСмы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ прямоС соСдинСниС этой микросхСмы с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ стандартными Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ использовании ШИМ.

————————————
*JEDEC Standard JESD3-C, Standard Data Transfer Format Between Data Preparation System and Programmable Logic Device Programmer, June 1994.
**Altera, WP-01146-1.2

Коок Π”.А.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠŸΠ›Π˜Π‘ ?

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΠ›Π˜Π‘ и процСссоры (CPU) ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ устройств ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠ›Π˜Π‘ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, а процСссоры (CPU)Β β€” для Π΅Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы (Π Π›Π‘) Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°ΡŽΡ‚ свои возмоТности ΠΈΒ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΒ Ρ€Π΅Π·ΠΊΠΎΠΌΡƒ росту Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ в области ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠ›Π˜Π‘ сохранили Ρ‚Π΅ΠΌΠΏΡ‹ увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, в то врСмя ΠΊΠ°ΠΊ процСссоры отставали в обСспСчСнии ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала Π²Β Π Π›Π‘ Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎΒ Π±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ ΡΡ‚ΠΎΠ»ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ к использованию процСссорных ускоритСлСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ графичСскиС ускоритСли (GPU).

Π—Π° послСдниС нСсколько Π»Π΅Ρ‚ GPU ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, извСстныС ΠΊΠ°ΠΊ GP-GPU, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΠΈΠΊΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой в сСкунду (FLOPs). ΠŸΠ›Π˜Π‘, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ использовавшиСся для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ сигнала (DSP) с фиксированной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… подходящими для быстрой ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π Π›Π‘.

Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠŸΠ›Π˜Π‘ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 5Β TFLOPs, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ядро Intel 14 Нм Tri-Gate. МоТно ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΒ 100Β GFLOPs/Π’Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ изготовлСния ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ². Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠŸΠ›Π˜Π‘ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ язык OpenCL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² графичСских процСссорах.

Β 

ΠžΡ†Π΅Π½ΠΊΠ° ΠŸΠ›Π˜Π‘ с ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² GFLOPs

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠŸΠ›Π˜Π‘ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Β 1+ пиковая TFLOPs [1], в то врСмя ΠΊΠ°ΠΊ новСйшиС графичСскиС процСссоры AMD ΠΈΒ Nvidia ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π΄ΠΎΒ 4Β TFLOPs. Однако для ΠŸΠ›Π˜Π‘ с пиковой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Β GFLOPs ΠΈΠ»ΠΈ TFLOPs имССтся ΠΌΠ°Π»ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ устройства Π²Β ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ. На нСм просто указываСтся ΠΎΠ±Ρ‰Π΅Π΅ число тСорСтичСских слоТСний ΠΈΒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ в сСкунду. Π­Ρ‚ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠŸΠ›Π˜Π‘ Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ GPU ΠΏΠΎΒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ и объСмам Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π Π›Π‘.

ΠžΠ±Ρ‰ΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ срСднСй слоТности являСтся быстроС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡƒΡ€ΡŒΠ΅ (FFT). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π Π›Π‘ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ в частотной области, ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ FFT. НапримСр, расчСт FFT Π½Π°Β 4096Β Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° ΠΈΒ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… комплСксных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ Π·Π°Β ΠΎΠ΄ΠΈΠ½ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ». КаТдоС ядро с алгоритмом FFT ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ 80Β GFLOPs, а большая ΠŸΠ›Π˜Π‘, созданная ΠΏΠΎΒ 28‑нм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сСмь Ρ‚Π°ΠΊΠΈΡ… ядСр.

Однако, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ на рис.Β 1, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° FFT на этой ΠŸΠ›Π˜Π‘ Ρ€Π°Π²Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ 400Β GFLOPs. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ основан на компиляции в срСдС OpenCL, Π±Π΅Π· опробования Π½Π°Β ΠŸΠ›Π˜Π‘.β€―ΠŸΡ€ΠΈ использовании Π»ΠΎΠ³ΠΈΠΊΠΈ блокирования ΠΈΒ Design Space Explorer (DSE) ΠΏΡ€ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ сСмиядСрная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° смоТСт Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ fmax одноядСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ эту Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΒ 500Β GFLOPs, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ с болСС Ρ‡Π΅ΠΌ 10Β GFLOPs/Π’Ρ‚ ΠΏΡ€ΠΈ использовании ΠŸΠ›Π˜Π‘, ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΒ 28‑нм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Рис. 1. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘ с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ FFT Stratix V 5SGSD8 ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния сравнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² графичСских процСссоров, ΠΎΠ½ΠΈ Π½Π΅Β ΡΠ²Π»ΡΡŽΡ‚ΡΡ эффСктивными на этих Π΄Π»ΠΈΠ½Π°Ρ… быстрого прСобразования Π€ΡƒΡ€ΡŒΠ΅, и поэтому Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности здСсь нС прСдставлСны. ИспользованиС GPU становится эффСктивным с длинами быстрого прСобразования Π€ΡƒΡ€ΡŒΠ΅ Π½Π°Β Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотнях тысяч Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ускорСниС для процСссора. Однако ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ прСобразования Π€ΡƒΡ€ΡŒΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСны ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π³Π΄Π΅ Π΄Π»ΠΈΠ½Ρ‹ 512–8192Β Ρ‚ΠΎΡ‡Π΅ΠΊ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΡ€ΠΌΠΎΠΉ.

Π’ Ρ†Π΅Π»ΠΎΠΌ полСзная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Β GFLOPs Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ прСдставляСт собой долю ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ тСорСтичСской ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΒ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ для сравнСния Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ прСдставлСниС характСристик для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π₯отя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ‚Π°Π±Π»ΠΈΡ† истинности ΠΈΒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎΒ ΠΎΠ½ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π Π›Π‘.

Β 

Алгоритм Ρ‚Π°Π±Π»ΠΈΡ† истинности

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π°Β ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΠΈΠΊΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Β GFLOPs, в тСхнологичСских устройствах ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ Π²Β Π²ΠΈΠ΄Π΅ сторонних ΠΎΡ†Π΅Π½ΠΎΠΊ с использованиСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² достаточной слоТности. ΠžΠ±Ρ‰ΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с пространствСнно-Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ (Space-Time Adaptive Processing, STAP) Π Π›Π‘ являСтся Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Β Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Π΅ для эффСктивного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ мноТСствСнных ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈΒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован в коррСляционных ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ….

Алгоритм Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΒ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ числСнного прСдставлСния ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой для получСния ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². НСобходимыС вычислСния ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ N3, Π³Π΄Π΅ NΒ β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π Π›Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Β Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ являСтся высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚Β Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ и пропускной способности для Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ часто составляСт Π±ΠΎΠ»Π΅Π΅ 100Β GFLOPs.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 1 прСдставлСны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° графичСского процСссора Nvidia с номиналом Π²Β 1,35Β TFLOPs и использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΒ XilinxΒ Virtex6Β XC6VSX475T, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠŸΠ›Π˜Π‘ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ сигнала с фиксированной запятой (DSP) ΡΒ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ распрСдСлСния 475K LCs. Π­Ρ‚ΠΈ устройства схоТи по плотности ΡΒ ΠŸΠ›Π˜Π‘ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LAPACK ΠΈΒ MAGMA ΡΠ²Π»ΡΡŽΡ‚ΡΡ коммСрчСскими Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, в то врСмя ΠΊΠ°ΠΊ ядро графичСского процСссора ΡΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Β GFLOPs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ язык программирования OpenCL, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ в унивСрситСтС ΡˆΡ‚Π°Ρ‚Π° ВСннСсси [2]. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ со всСй ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ больший ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Β ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ… ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π° 1. Π―Π΄Ρ€ΠΎ графичСского процСссора ΠΈΒ ΠŸΠ›Π˜Π‘Β Xilinx с таблицами истинности Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LAPACK GFLOPs

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° «Магма», GFLOPs

Π―Π΄Ρ€ΠΎ графичСского процСссора,
GFLOPs

ΠŸΠ›Π˜Π‘,

GFLOPs

512 (SP)

512 (DP)

19,49

11,99

22,21

20,52

58,4

57,49

19,23

768 (SP)

768 (DP)

29,53

18,12

38,53

36,97

81,87

54,02

20,38

1024 (SP)

1024 (DP)

36,07

22,06

57,01

49,6

67,96

42,42

21

2048 (SP)

2048 (DP)

65,55

32,21

117,49

87,78

96,15

52,74

–

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.
SPΒ β€” одинарная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ; DPΒ β€” двойная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠ›Π˜Π‘ StratixΒ V ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (460K логичСских элСмСнтов (LEs)) ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π»Π°ΡΡŒ ΡΒ ΠŸΠ›Π˜Π‘ Altera с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ на опСрациях ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности. Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Β Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠŸΠ›Π˜Π‘ StratixΒ V с алгоритмом Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ ΡƒΒ Xilinx. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Altera Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ QR-Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΉ слоТности. Алгоритм Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΈΒ QR-Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ядра ΠΎΡ‚Β ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera.

Π’Π°Π±Π»ΠΈΡ†Π° 2. ΠŸΠ›Π˜Π‘ Altera с таблицами истинности Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΈΒ QR

Алгоритм (комплСкс, одинарная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ)

Π Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ мноТСство

fmax,
ΠœΠ“Ρ†

GFLOPs

Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΈΠΉ

360Γ—360

90

190

92

60Γ—60

60

255

42

30Γ—30

30

285

25

QR

450Γ—450

75

225

135

400Γ—400

100

201

159

250Γ—400

100

203

162

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ для ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² унивСрситСтС ВСннСсси, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 512Γ—512, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera начинаСтся с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² 360Γ—360 для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΈ 450Γ—450 для QR-разлоТСния. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ядро графичСского процСссора ΠΎΡ‡Π΅Π½ΡŒ нСэффСктивно ΠΏΡ€ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, поэтому Π½Π΅Ρ‚ смысла ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для ускорСния процСссора Π² этих случаях. Напротив, ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшим Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π­Ρ‚Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ систСмам Π½ΡƒΠΆΠ½Π° довольно высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, выраТаСмая Π² тысячах ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π² сСкунду. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ мСньшиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π΄Π°ΠΆΠ΅ Π·Π° счСт раздСлСния большой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎ всСму ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera проводился ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ядру с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ. КаТдоС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠ΅ ядро с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ мноТСство ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΊΠ°Π½Π°Π»Π°. Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ опрСдСляСт рСсурсы ΠŸΠ›Π˜Π‘. Π‘ΠΎΠ»ΡŒΡˆΠΈΠΉ (360Γ—360) Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ большСС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ мноТСство, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ядро Π² этом ΠŸΠ›Π˜Π‘ с 91 GFLOPs. МСньший (60Γ—60) Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мСньшС рСсурсов, поэтому Π΄Π²Π° ядра ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности, Π½Π° 2Γ—42 = 84 GFLOPs. НаимСньший (30Γ—30) Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ допускаСт использованиС Ρ‚Ρ€Π΅Ρ… ядСр, Π² ΠΎΠ±Ρ‰Π΅ΠΉ слоТности 3Γ—25 = 75 GFLOPs.

ΠŸΠ›Π˜Π‘ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ с мСньшими Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π Π›Π‘. ПониТСнная ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ядра графичСских процСссоров связана ΡΒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΊΠ°ΠΊ N3, Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ°ΠΊ N2, ΠΈ, Π²Β ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, ΡƒΠ·ΠΊΠΈΠΌΠΈ мСстами Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ядра графичСского процСссора, создавая мСньшС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π΅Π΅ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ в сСкунду Ρ€Π΅Π·ΠΊΠΎ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈΠ·-Π·Π° увСличСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Π’Β ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ становится слишком Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΈΒ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Β Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Β Π Π›Π‘.

ΠŸΡ€ΠΈ использовании прСобразования Π€ΡƒΡ€ΡŒΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° вычислСния увСличиваСтся Π΄ΠΎΒ Nlog2N, в то врСмя ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ N.β€―ΠžΠΏΡΡ‚ΡŒΒ ΠΆΠ΅, ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ядро графичСского процСссора становится эффСктивной Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмой. Напротив, ΠŸΠ›Π˜Π‘ являСтся эффСктивным Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ устройством для всСх Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π³Π΄Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ прСобразования Π€ΡƒΡ€ΡŒΠ΅ нСбольшиС, а пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ являСтся основным ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.

Β 

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ проСктирования графичСского процСссора ΠΈΒ ΠŸΠ›Π˜Π‘

Π―Π΄Ρ€ΠΎ графичСского процСссора программируСтся с использованиСм Π»ΠΈΠ±ΠΎ собствСнного языка CUDA ΠΎΡ‚Β Nvidia, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ стандарта языка программирования OpenCL. Π­Ρ‚ΠΈ языки ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ по своим возмоТностям, с той СдинствСнной Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ CUDA ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ на графичСских процСссорах Nvidia.

ΠŸΠ›Π˜Π‘, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹Β Verilog ΠΈΠ»ΠΈΒ VHDL. Ни один из этих языков ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅Β ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ программирования ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, хотя послСдниС вСрсии Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΡƒΡΡ‚ΡŒ ΠΈΒ Π½Π΅Β ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обобщСния, чисСл ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. НапримСр, в языкС описания Verilog простая вСщСствСнная пСрСмСнная являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ числа ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности стандарта IEEE, а вСщСствСнная пСрСмСнная — Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности стандарта IEEE.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DSP Builder Advanced Blockset

Π‘ΠΈΠ½Ρ‚Π΅Π· Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π²Β ΠŸΠ›Π˜Π‘ с использованиСм Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ нСэффСктивСн, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹Β Xilinx Π½Π°Β Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Core Generator Ρ„ΠΈΡ€ΠΌΡ‹Β Xilinx ΡΒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ядром, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ описаний элСмСнтов, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π’Π΅ΠΌ Π½Π΅Β ΠΌΠ΅Π½Π΅Π΅ корпорация Altera ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΄Π²Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. ΠŸΠ΅Ρ€Π²Π°Ρ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ в использовании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DSP Builder Advanced Blockset с тСхнологиСй проСктирования ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Mathworks Π½Π°Β Π±Π°Π·Π΅ Model-Based Design. Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ числа ΠΊΠ°ΠΊ с фиксированной, Ρ‚Π°ΠΊ ΠΈΒ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ сСмь Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ точности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΡƒΡŽ, ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΈΒ Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ по стандарту IEEE. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ, которая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для эффСктивного примСнСния Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²Β Π΅Π³ΠΎ способности эффСктивно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π½Π°Β ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠŸΠ›Π˜Π‘ с фиксированной запятой, ΠΎΒ Ρ‡Π΅ΠΌ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΈΡ… ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Β 100Β GFLOPs Π½Π°Β Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈ срСднСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠŸΠ›Π˜Π‘ ΠΏΠΎΒ 28‑нм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Для сравнСния, использованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ Π½Π°Β Ρ‚Π΅Ρ…Β ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠŸΠ›Π˜Π‘ Ρ„ΠΈΡ€ΠΌΡ‹Β Xilinx Π±Π΅Π· этой возмоТности синтСза Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 20Β GFLOPs ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΒ Ρ‚ΠΎΠΌΡƒΒ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ [2].

Π―Π·Ρ‹ΠΊ программирования OpenCL для ΠŸΠ›Π˜Π‘

Π―Π·Ρ‹ΠΊ программирования OpenCL сходСн с языками программирования ядра графичСского процСссора. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ OpenCLΒ [3] для ΠŸΠ›Π˜Π‘ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ OpenCL, написанный для AMD ΠΈΠ»ΠΈ Nvidia GPU, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирован Π½Π°Β ΠŸΠ›Π˜Π‘.β€―ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, компилятор OpenCL ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ядра графичСского процСссора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ›Π˜Π‘ Π±Π΅Π· нСобходимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² проСктирования ΠŸΠ›Π˜Π‘.

ИспользованиС OpenCL ΡΒ ΠŸΠ›Π˜Π‘ Π΄Π°Π΅Ρ‚ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… прСимущСств ΠΏΠΎΒ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ядром графичСского процСссора. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ядра графичСских процСссоров, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΏΠΎΒ Π²Ρ…ΠΎΠ΄Ρƒ/Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ. ВсС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈΒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором Ρ‡Π΅Ρ€Π΅Π· интСрфСйс PCI Express (PCIe). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊΒ ΠΏΠΎΡ‚Π΅Ρ€Π΅ скорости ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядром процСссора, Ρ‡Ρ‚ΠΎ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка программирования OpenCL для ΠŸΠ›Π˜Π‘

ΠŸΠ›Π˜Π‘ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстны благодаря высокой пропускной способности Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π²Β ΠŸΠ›Π˜Π‘ ΠΈΒ ΠΈΠ·Β Π½Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Gigabit Ethernet (GbE), Serial RapidIO (SRIO) ΠΈΠ»ΠΈ нСпосрСдствСнно Ρ‡Π΅Ρ€Π΅Π· АЦП и ЦАП. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ Altera ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»Π° спСцифичСскоС для производитСля Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ стандарта OpenCL для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ являСтся ваТнСйшСй ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π²Β Π Π›Π‘, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ нСпосрСдствСнно от формирования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ направлСнности, ΡΒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ с фиксированной запятой, ΠΈΒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразования с пониТСниСм частоты на стадии ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой для сТатия ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°. Π­Ρ„Ρ„Π΅ΠΊΡ‚ Π”ΠΎΠΏΠ»Π΅Ρ€Π°, пространствСнно-врСмСнная адаптация, ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° сообщСния (MTI) двиТущСйся Ρ†Π΅Π»ΠΈ ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ на рис.Β 2. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚ ΡƒΠ·ΠΊΠΈΡ… мСст процСссора ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π²Β ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ ядра графичСского процСссора, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Β Ρ†Π΅Π»ΠΎΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ.

Рис. 2. Основная Π±Π»ΠΎΠΊ-схСма ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала Π Π›Π‘

ΠŸΠ›Π˜Π‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ΅ врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Π΅ΠΌ ядро графичСского процСссора, Π΄Π°ΠΆΠ΅ нСзависимо ΠΎΡ‚Β ΡƒΠ·ΠΊΠΈΡ… мСст Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π₯ΠΎΡ€ΠΎΡˆΠΎ извСстно, Ρ‡Ρ‚ΠΎ ядра графичСских процСссоров для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ тысячи ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈΠ·-Π·Π° Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΒ Π²Ρ‹Π²ΠΎΠ΄Π΅ из памяти ΠΈΒ Π΄Π°ΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ядрами графичСского процСссора. ΠŸΠΎΒ ΡΡƒΡ‚ΠΈ, ядро графичСского процСссора Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ядра процСссора ΠΎΡ‚Β ΠΏΠΎΡ‚Π΅Ρ€ΠΈ скорости ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΒ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для любой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΠ›Π˜Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ вмСсто этого Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ «крупнозСрнистого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°Β», ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создаСтся мноТСство ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ·Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°Β ΠΎΠ΄ΠΈΠ½ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ». ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… зависит от рСсурсов ΠŸΠ›Π˜Π‘, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡ… Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС, Ρ‡Π΅ΠΌ количСство ядСр графичСского процСссора. Π’Π΅ΠΌ Π½Π΅Β ΠΌΠ΅Π½Π΅Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Ρ€Π°ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ядро графичСского процСссора. ОсновноС прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²Β Π½ΠΈΠ·ΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅, критичСском Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΈΡ… прилоТСниях.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство ΠŸΠ›Π˜Π‘ состоит Π²Β Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ энСргопотрСблСнии, Π²Β Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Ρ€Π΅Π·ΠΊΠΎ сниТСно ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ GFLOPs/Π’Ρ‚. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠŸΠ›Π˜Π‘ с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ 5–6Β GFLOPs/Π’Ρ‚ для Ρ‚Π°ΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠ°ΠΊ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ ΠΈΒ QR-Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΒ ΠΎΠΊΠΎΠ»ΠΎ 10Β GFLOPs/Π’Ρ‚ для простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ быстроС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡƒΡ€ΡŒΠ΅. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ энСргоэффСктивности графичСского процСссора Π½Π°ΠΉΡ‚ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, но с использованиСм ядра графичСского процСссора ΡΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ 50Β GFLOPs с алгоритмом Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ и срСднСго потрСблСния энСргии Π²Β 200Β Π’Ρ‚ получаСтся 0,25Β GFLOPs/Π’Ρ‚, Ρ‡Ρ‚ΠΎ Π²Β Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Ρ€Π°Π· большС энСргии, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½Π½ΠΎΠΉ Π½Π°Β ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ FLOPs.

Для Π±ΠΎΡ€Ρ‚ΠΎΠ²ΠΎΠΉ самолСтной Π Π›Π‘ ΠΈΠ»ΠΈ станции, установлСнной Π½Π°Β Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅, Ρ€Π°Π·ΠΌΠ΅Ρ€, вСс и потрСбляСмая ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ (SWaP) ΠΈΠΌΠ΅ΡŽΡ‚ пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. МоТно Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС Ρ€Π°Π΄ΠΈΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠ΅Π»Π΅Π½Π³ бСспилотников ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ в дСсятки TFLOPs Π²Β Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… систСмах. Доступная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ с допустимым Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΒ ΠΎΡ…Π²Π°Ρ‚ΠΎΠΌ соврСмСнной Π Π›Π‘.

БопоставлСнный Ρ‚Ρ€Π°ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…

OpenCL ΠΈΒ DSP Builder ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ «сопоставлСнный Ρ‚Ρ€Π°ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…Β» (рис.Β 3), Π³Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ в цСлях Ρ€Π΅Π·ΠΊΠΎΠ³ΠΎ сокращСния количСства Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… многорСгистровых схСм цикличСского сдвига, Ρ‡Ρ‚ΠΎ, в свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ встраиваниС с использованиСм ΠŸΠ›Π˜Π‘ для ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ³ΠΎ ΠΈΒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Рис. 3. РСализация сопоставлСнного Ρ‚Ρ€Π°ΠΊΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой

Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ частоты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ многорСгистровой схСмы цикличСского сдвига процСсс синтСза ΠΈΡ‰Π΅Ρ‚ возмоТности компСнсации потрСбности Π² частой Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ большСй ΡˆΠΈΡ€ΠΈΠ½Ρ‹ мантиссы. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования фиксированных ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ 27Γ—27 ΠΈ 36Γ—36 допускаСт бóльшиС ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ, Ρ‡Π΅ΠΌ 23 Π±ΠΈΡ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, Π° Ρ‚Π°ΠΊΠΆΠ΅ созданиС ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ 54Γ—54 ΠΈ 72Γ—72 допускаСт бóльшиС ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ, Ρ‡Π΅ΠΌ 52 Π±ΠΈΡ‚Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… схСм суммирования с фиксированной запятой, с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ встроСнных схСм ускорСнного пСрСноса, Π»ΠΎΠ³ΠΈΠΊΠ° ΠŸΠ›Π˜Π‘ оптимизируСтся.

Π’Π°ΠΌ, Π³Π΄Π΅ трСбуСтся нормализация ΠΈ дСнормализация, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом являСтся использованиС ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Для мантиссы ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности Π² 24 Π±ΠΈΡ‚Π° (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π±ΠΈΡ‚) ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ 24Γ—24 сдвигаСт Π²Π²ΠΎΠ΄ ΠΏΡƒΡ‚Π΅ΠΌ умноТСния Π½Π° 2n. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования фиксированных ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ 27Γ—27 ΠΈ 36Γ—36 позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ мантиссы Π² рСализациях ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для создания Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² мноТитСля для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности.

БкалярноС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Β FLOPs, ΠΈΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹. РСализация скалярного произвСдСния Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности Π΄Π»ΠΈΠ½ΠΎΠΉ 64Β ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 64 мноТитСля ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΡΒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ суммированиСм Π½Π°Β 63 сумматорах ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Вакая рСализация ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого количСства многорСгистровых схСм цикличСского сдвига.

ВмСсто этого Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ 64Β ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ показатСля, самого ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΈΠ·Β 64‑х. Π—Π°Ρ‚Π΅ΠΌ эти 64Β Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ схСмы суммирования с фиксированной запятой ΠΈΒ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²Β ΠΊΠΎΠ½Ρ†Π΅. Π­Ρ‚Π° опСрация ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π²Β Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ обходится Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ суммирования, ΠΈΒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° на рис. Β 4. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой стандарта IEEE 754 число с наибольшим ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ опрСдСляСт ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²Β ΠΊΠΎΠ½Ρ†Π΅, поэтому это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ просто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ показатСля ΠΊΒ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ в расчСтС.

Рис. 4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ скалярного произвСдСния Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²

Однако ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сигнала Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ округлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Β ΠΊΠΎΠ½Ρ†Π΅ расчСта. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ компСнсируСтся ΠΏΡƒΡ‚Π΅ΠΌ использования наибольшСй ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±ΠΈΡ‚Π° мантиссы свСрх Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ трСбуСтся ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, 27–36Β Π±ΠΈΡ‚. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ мантиссы выполняСтся мноТитСлями ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ произвСдСния Π½Π°Β ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС.

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°Β ΠΎΠ΄ΠΈΠ½ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ». АрхитСктуры ядра графичСского процСссора ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎΒ Π½Π΅Β ΠΌΠΎΠ³ΡƒΡ‚ эффСктивно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ суммированиС. Π­Ρ‚Π° Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ обусловлСна трСбованиями Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ядра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (для связи Π΄Ρ€ΡƒΠ³ с другом), Ρ‚Π΅ΠΌ самым ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ в соСдинСниях Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠŸΠ›Π˜Π‘.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ «сопоставлСнный Ρ‚Ρ€Π°ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…Β» Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой стандарта IEEE 754, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Β Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.

Π’Π°Π±Π»ΠΈΡ†Π° 3. Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ разлоТСния Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ (одинарная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ)

Π Π°Π·ΠΌΠ΅Ρ€ комплСксной
Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (nΓ—n)

Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ мноТСство

Ошибка
ΠΏΡ€ΠΈ использовании
MATLAB.
ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Ошибка
ΠΏΡ€ΠΈ использовании
DSP Builder Advanced Blockset
с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ RTL

360Γ—360

50

2,1112Γ—10–6

1,1996Γ—10–6

60Γ—60

100

2,8577Γ—10–7

1,3644Γ—10–7

30Γ—30

100

1,5488Γ—10–6

9,0267Γ—10–8

Π­Ρ‚ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ обращСния большой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° разлоТСния Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ. Π­Ρ‚ΠΎΡ‚Β ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ трСмя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами:

  • Π²Β MATLAB+Simulink ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности стандарта IEEE 754;
  • Π²Β RTL ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ «сопоставлСнный Ρ‚Ρ€Π°ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…Β»;
  • Π²Β MATLAB ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности.

РСализация Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²Β ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ Ρ€Π°Π· (109), Ρ‡Π΅ΠΌ рСализация ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ошибок, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π²Β MATLAB с одинарной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, Π²Β RTL с одинарной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΒ Π²Β MATLAB с двойной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° сопоставлСнного Ρ‚Ρ€Π°ΠΊΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ продСмонстрирован для Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ошибки во всСх слоТных элСмСнтах Π²Β Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΈΒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ элСмСнта с максимальной ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒΡŽ. Буммарная ошибка ΠΈΠ»ΠΈ Π½ΠΎΡ€ΠΌΠ° рассчитываСтся с использованиСм Π½ΠΎΡ€ΠΌΡ‹ ЀробСниуса:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΠΎΡ€ΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ошибки всСх элСмСнтов, Ρ‚ΠΎΒ ΠΎΠ½Π° часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ошибки.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, инструмСнты ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² DSP Builder Advanced Blockset and OpenCL со всСй ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ принятыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ расчСта для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠŸΠ›Π˜Π‘ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния. ΠŸΠΈΠΊΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Β 100Β GFLOPs/Π’Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ благодаря Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌ тСхнологичСским инновациям.

Β 

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π Π›Π‘ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΠΎΠ²Ρ‹Π΅ процСссорныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’Β Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΌΡƒ SWaP, ΠŸΠ›Π˜Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ мСньшСС врСмя оТидания ΠΈΒ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Β GFLOPs, Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π°Β Π±Π°Π·Π΅ процСссоров. Π­Ρ‚ΠΈ прСимущСства Π±ΡƒΠ΄ΡƒΡ‚ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ явными с ввСдСниСм Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния ΠŸΠ›Π˜Π‘, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ OpenCL ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Altera обСспСчиваСт ΠΏΠΎΡ‡Ρ‚ΠΈ прямой ΠΏΡƒΡ‚ΡŒ программистам ядра графичСских процСссоров для ΠΎΡ†Π΅Π½ΠΊΠΈ достоинства этой Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала. Π―Π·Ρ‹ΠΊ программирования OpenCL 1.2 совмСстим с полным Π½Π°Π±ΠΎΡ€ΠΎΠΌ матСматичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π­Ρ‚ΠΎ позволяСт Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Β Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠŸΠ›Π˜Π‘ ΠΏΠΎΒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ свСртывания, управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ DDR и сопряТСния с хост-процСссором PCIe.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±Π΅Π·ΡŠΡΠ΄Π΅Ρ€Π½Ρ‹Ρ… графичСских процСссоров корпорация Altera ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ инструмСнт ΠΏΠΎΡ‚ΠΎΠΊΠ° DSP Builder Advanced Blockset, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ DSP-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с высоким fmax и фиксированной ΠΈΠ»ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, сохраняя ΠΏΡ€ΠΈ этом прСимущСства модСлирования на основС Mathworks и срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ инструмСнт использовался Π²Β Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π Π›Π‘ с использованиСм ΠŸΠ›Π˜Π‘ для Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса и модСлирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Ρ‚ΡƒΒ ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ fmax, ΠΊΠ°ΠΊ ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ HDL.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² β„–4-2014 ΠΆΡƒΡ€Π½Π°Π»Π° Β«ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ»

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

  1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ TFLOPs Π½Π°Β ΠŸΠ›Π˜Π‘ с тСхнологиСй 28Β Π½Π°Π½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ². altera.com/literature/wp/wp‑01142‑teraflops.pdfΒ /ссылка устарСла/
  2. Depeng Yang, Junqing Sun, Jun Ku Lee, Getao Liang, Davidβ€―D.β€―Jenkins, Gregoryβ€―D. β€―Peterson, and Husheng Li. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ разлоТСния Π₯ΠΎΠ»Π΅Ρ†ΠΊΠΎΠ³ΠΎ на графичСском процСссорС ΠΈΒ ΠŸΠ›Π˜Π‘.
  3. РСализация программирования ΠŸΠ›Π˜Π‘ языком OpenCL Standard. altera.com/literature/wp/wp‑01173‑opencl.pdf /ссылка устарСла/

Β 

PLIS — Wiktionary

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅: PLRIS , PLIS , ΠΈ PLI

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • 1 Albanian
    • 1.1 Этимология 1
      • 1.1.1 ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹
      • 1.1.2 Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅
        • 1.1.2.1 Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹
        • 1.1.2.2 ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹
    • 1.2 Этимология 2
      • 1.2.1 Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅
        • 1.2.1.1 ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹
    • 1.3 ΠšΠ°Ρ‚Π°Π»ΠΎΠΆΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π°
  • 2 французский
    • 2.1 ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅
    • 2.2 Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅
    • 2.3 Анаграммы
  • 3 Гаитянский ΠΊΡ€Π΅ΠΎΠ»ΡŒΡΠΊΠΈΠΉ
    • 3.1 Этимология
    • 3. 2 ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ
      • 3.2.1 Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅
  • 4 высокой чСткости
    • 4.1 Этимология
    • 4.2 Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅
    • 4.3 ΠšΠ°Ρ‚Π°Π»ΠΎΠΆΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π°
  • 5 маврикийский ΠΊΡ€Π΅ΠΎΠ»ΡŒΡΠΊΠΈΠΉ
    • 5.1 ΠŸΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅
    • 5.2 Этимология 1
      • 5.2.1 Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅
        • 5.2.1.1 БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹
    • 5.3 Этимология 2
      • 5.3.1 Π“Π»Π°Π³ΠΎΠ»
  • 6 Π’ΠΎΠΊ Писин
    • 6.1 Этимология
    • 6.2 ΠœΠ΅ΠΆΠ΄ΠΎΠΌΠ΅Ρ‚ΠΈΠ΅

Албанский [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

Этимология 1 , ΠΎΡ‚ΠΊΠ°Π»Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΎΡ‚ΠΊΠ°Π»Ρ‹Π²Π°Ρ‚ΡŒΡΡΒ»).

[1] Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ протоалбанскому *plitja , ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ родствСнному санскритскому ΰ€«ΰ€²ΰ€€ΰ€Ώ (phΓ‘lati, Β«Π»ΠΎΠΏΠ½ΡƒΡ‚ΡŒ, Ρ€Π°ΡΠΊΠΎΠ»ΠΎΡ‚ΡŒΡΡΒ»), латинскому spolium («содранная ΠΊΠΎΠΆΠ°Β»). [2]

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. мноТСствСнноС число
плисат )

  1. ΠΊΠΎΠΌ (Π·Π΅ΠΌΠ»ΠΈ), ΠΊΠΎΠΌΠΎΠΊ
  2. ΠΊΠΎΠΆΠ½Ρ‹ΠΉ мСшок, ΠΏΡ‹ΠΆ
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹
  • PLISOJ
  • Etymology 2 [Edit]

    ΠΎΡ‚ протоалбанского *P (i) LITJA , Cognate со старым высоким Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΠΌ FILZ , Latin Pellis , Pilleus , Grek , Pilleus , , ( (9014 40189. , праславянский *ΠΏΡŒΠ»ΡΡ‚ΡŒ . [3]

    Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ [ΠŸΡ€Π°ΠΉΡ‚ΠΈ]

    PLIS M ( НСопрСдСлСнный плюс.

    1. ΡˆΠ΅Ρ€ΡΡ‚ΡΠ½ΠΎΠΉ Π²ΠΎΠΉΠ»ΠΎΠΊ
    2. фСтровая Ρ‚ΡŽΠ±Π΅Ρ‚Π΅ΠΉΠΊΠ°
    3. войлочная ΠΏΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ°, помСщаСмая ΠΏΠΎΠ΄ ярмо ΠΈΠ»ΠΈ Π²ΡŒΡŽΡ‡Π½ΠΎΠ΅ сСдло для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ шСи тягловых ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ…
    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
    • плисар
    • ΠžΡ€Π΅Π», Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ (1998), «плис», Π² Албанском этимологичСском словарС , Π›Π΅ΠΉΠ΄Π΅Π½, Бостон, КСльн: Brill, β†’ ISBN , стр. 335

    • Pronunciation[edit]

      • Audio (file)

      Noun[edit]

      plis Β  m

      1. мноТСствСнноС число ΠΎΡ‚ pli

      Анаграммы0031


      Гаитянский ΠΊΡ€Π΅ΠΎΠ»ΡŒΡΠΊΠΈΠΉ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      Этимология[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      ΠžΡ‚ французского плюс («большС»).

      ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      плис

      1. ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅
      Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
      • pase

      Этимология

      Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      плис

      1. лошадь

      Бсылки[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      • Π—ΠΈΠ³ΠΌΡƒΠ½Ρ‚ Π€Ρ€Π°ΠΉΠ·ΠΈΠ½Π³Π΅Ρ€, Π­Ρ€ΠΈΠ½ Π¨Π΅ΠΉ, Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Hdi (2002, β†’ ISBN
      • Topics in Chadic linguistics 3 , volume 3 (2007), page 71

      Mauritian Creole[edit]

      Pronunciation[edit]

      • IPA (key) : /plis/

      Etymology 1 [ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      ΠžΡ‚ французского плюс .

      Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      плис

      1. плюс
      2. Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
      3. Π²Ρ‹Π³ΠΎΠ΄Π°, прСимущСство
      БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]
      • pli

      Этимология 2

      Π“Π»Π°Π³ΠΎΠ»[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      плис

      1. МСдиа Ρ„ΠΎΡ€ΠΌΠ° плисС ; ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ.

      Π’ΠΎΠΊ Писин[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      Этимология[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      Π‘ английского поТалуйста .

      ΠœΠ΅ΠΆΠ΄ΠΎΠΌΠ΅Ρ‚ΠΈΠ΅[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

      ΠΏΠ»ΠΈΠ·

      1. поТалуйста

      mise en plis Π½Π° английском языкС

      mise en plis

      Β 

      сущ.

      Β 

      поставил [ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅] процСсс ΡƒΠΊΠ»Π°Π΄ΠΊΠΈ волос

      ΡˆΠ°ΠΌΠΏΡƒΠ½ΡŒ ΠΈ ΡƒΠΊΠ»Π°Π΄ΠΊΠ°.

      Β 

      ΠžΠ±Π·ΠΎΡ€

      мис Π΄Π΅ Ρ„ΠΎΠ½Π΄

      ΠΌΠΈΠ·Π°Π½ ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅

      мизансцСна

      мизансцСна

      мис ан плис

      вопрос

      мизансцСна

      скряга

      скряга (сур)

      ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свой словарный запас с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°ΡˆΠΈΡ… вСсСлых Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½ ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌ

      • {{randomImageQuizHook.

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *