SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Программирование обработки
       видео на процессорах
           NXP TriMedia

                 Марат Арсаев
                  Video Group
           CS MSU Graphics & Media Lab




19.03.09                                 1
Only for
Maxus 



               Содержание доклада

            Введение
            Архитектура систем PNX1x00
            Оптимизация обработки видео
            Пример фильтра
            Выводы




                                            2
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus        Введение




Процессоры для обработки видео и аудио

                                            3
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 



              Введение

      TriMedia — чипы для встроенных систем
      Идеально подходят для low-power систем
      Гибок и легко программируем
      Расширенные встроенные средства
      Широко используется во всем мире




                                                4
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 



               Содержание доклада

            Введение
            Архитектура систем PNX1x00
            Оптимизация обработки видео
            Пример фильтра
            Выводы




                                            5
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus        Архитектура систем
              PNX1x00
                                                               SDRAM


                                                             MAIN MEMORY

   Изменение формата на лету                                 INTERFACE


                                               VIDEO IN                       VIDEO OUT

Использование встроенных
вспомогательных средств:
                                               AUDIO IN                      AUDIO OUT




     скейлер  FRC
                                                TIMERS                        SPDIF OUT
     
                                                                        SYNCHRONOUS
     сеть
                                             I2C INTERFACE
                                                                       SERIAL INTERFACE
     


     видео декодеры
                                                                               IMAGE
                                            VLD COPROCESSOR
                                                                           COPROCESSOR


     нестандартные выходы                              INSTR                   PCI/XIO         TO PCI/XIO
                                                      CACHE                 INTERFACE            BUS
                                            VLIW CPU
                                                        DATA
                                                       CACHE



                                                                           INTERNAL BUS (DATA HIGHWAY)


                                                                                                    6
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus         Архитектура
               чипов TM
                                                                         SDRAM



                                                                         Arbiter
                               224-bit Instruction Bus

                                                                                     Peripherals
                                                     TriMedia CPU Core
           DSP-CPU
                                                     32-64KB
               VLIW Instruction
                                                Instruction Cache
           27-40 Functional Units

                      128                             16-128KB                       Peripherals
                     32-bit
                   registers
                                                     Data Cache
                                                                                   64-bit Data Highway

                                1-2 R/W*32-bit Data Bus                                                  7
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus           Архитектура CPU


   Архитектура VLIW процессра:
              5 32-битных слотов операций
              каждая операция обращается к необходимым ей ФЭ
              ФЭ обращаются к массиву регистров




                                                                8
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus          Архитектура CPU

                                                     Register file (128 x 32 bit registers)
                                                            15 read and 5 write ports
Reg0                всегда 0
                                           R R R R R R R R R R R R R R R            W W W W W
Reg1                всегда 1
Reg2 — Reg127       общего назначения
                                                                   Cross Bar
                                     guard
                                         src1src2result


                                      Functional Functional                    Functional      Functional
                                          unit       unit          .......    .    unit            unit
                                            1          2                            X-1              X
  Instruction cache

                               Instruction
                                  issue    Issue slot Issue slot     Issue slot   Issue slot     Issue slot
                                 register      1          2              3            4              5

                                                                                                              9
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus          Архитектура CPU

   От версии к версии меняются:
              набор, количество и параметры ФЭ
              набор встроенных препроцессоров:
                   скейлер                 s0

                   интерполятор            s1
                                            d0
              поддерживаемые декодеры
                   Н264                    s0
                   MPEG2, MPEG4            s1
                   аудио кодеки            d0


                                                  10
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus        Поддерживаемые
              операции

      Инструкция – константа (не нужно обращаться в кэш)
      Супероперации (super_ld32, super_quadumedian, и т.д.)
                      Целочисленная арифметика :
             +- , логические операции, сравнения, abs, и т.д.
                             Pack, merge, и т.д.
                                Сдвиги:
                              <<, >>, rol, и т.д.
           Специфические операции сборки векторов ( abcd %
                                 efgh > cdef)
                                                                  11
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus          Поддерживаемые
                операции

                                       DSP ALU:
                                       
                                   Clipping operations
                                    SIMD операции
                             a b c d        e f g h   a+e b+f c+g d+h
                     Quadadd(                              ,            ) =>
                              Motion Estimation операции
                                     DSP MUL:
                                       
              SIMD умножения над 8- и 16-битными операндами
                FIR инструкции h
                      a b c d e f g
                                    над 8- и 16-битными данными
                         Ifir8ii(                    ,                 ) =>
                                                                                12
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus        Таблица задержек
              ФЭ ТМ3260
                                   Latency /
           Functional Unit Quantity Delay Recovery Issue Slots
           constant           5        1     1     1 2 3 4 5
           integer ALU        5        1     1     1 2 3 4 5
           load/store         2        3     1             4 5
           DSP ALU            3        2     1     1    3    5
           DSP MUL            2        3     1        2 3
           shifter            5        1     1     1 2 3 4 5
           branch             3        3     1        2 3 4
           int/float mul      2        3     1        2 3
           float ALU          2        3     1     1       4
           float compare      1        1     1          3
           float sqrt/div     1       17     16       2

                                                                 13
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 


              Кэш данных TM3260
                                 До 5 операций регистр-регистр
       1 такт
                               127   126                          0
                                                                      Файл регистров

   до трех тактов                          Обмен в обе стороны


                                               16 Кбайт                Кэш данных


     до 40 тактов                                    Обмен между основной
                                                       Памятью и шиной


                                               x Мбайт                   SDRAM

                                                                                 14
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 


              Управление кэшем
   Кэш — одна из самых узких и в то же время
   гибких мест процессоров TriMedia
   Начиная с процессора 3270 кэш явно
   программируем
    При неэффективном программировании
   процессор может простаивать до 90% времени




                                                15
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 


              Управление кэшем


   Встроенная реализация пре-
   кэширования: необходимо верно
   выставить начало, конец региона,
   текущий указатель и размер
   выборки кэша




                                            16
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 



               Содержание доклада
            Введение
            Архитектура систем PNX1x00
            Оптимизация обработки видео
            Пример фильтра
            Выводы




                                            17
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus        Стандартные
              оптимизации

     Разворачивание циклов, использование look-up
    tables
       Использование встроенных и SIMD операций
       Эффективные выборки из кэша




                                                     18
CS MSU Graphics & Media Lab (Video Group)
Only for


              Пример оптимизаций
Maxus 




    Развертка циклов позволяет компилятору автоматически
    распараллелить код




                                                           19
CS MSU Graphics & Media Lab (Video Group)
Only for


              Пример оптимизаций
Maxus 




   Используем встроенные операции: ume8uu




                                            20
CS MSU Graphics & Media Lab (Video Group)
Only for


              Пример оптимизаций
Maxus 




   Новый код:




                                            21
CS MSU Graphics & Media Lab (Video Group)
Only for


              Пример оптимизаций
Maxus 




   Разворчиваем цикл дальше:




                                            22
CS MSU Graphics & Media Lab (Video Group)
Only for


              Пример оптимизаций
Maxus 




   Итого операций:
   Было:
   16*16*(разность + abs + суммирование) = 768 операций
      Стало:
   8*(8 МЕ операций + 8 суммирований) = 128 операций
   Учитывая развертку циклов, для последней реализации
   будет сгенерирован весьма эффективный код




                                                          23
CS MSU Graphics & Media Lab (Video Group)
Only for


             Пример оптимизаций
Maxus 




   Возможно уточнение при
   помощи полупиксельной
   интерполяции, используя
   funshift, mergeodd, bilinear
   — благодоря этому операции
   ведутся над регистрами, без
   обращения в кэш




                                            24
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 



               Содержание доклада
            Введение
            Архитектура систем PNX1x00
            Оптимизация обработки видео
            Пример фильтра
            Выводы




                                            25
CS MSU Graphics & Media Lab (Video Group)
Bilateral denoising on
Only for
Maxus 



              TM3260
    Рассмотрим цифровую камеру и попробуем
    запрограммировать Bilateral denoising на
    встроенном чипе TM3260




                                            Bayer Bilateral Denoising on TriMedia3270
                                            H.Phelippeau, M.Akil, Universite Paris-Est, Labinfo, Noisy-le-
                                            Grand Cedex France, 2007                                         26
CS MSU Graphics & Media Lab (Video Group)
Bilateral denoising on
Only for
Maxus 



              TM3260
    Будем работать с Байесовской
    матрицей цветов




           x — координата текущего пикселя
           у — координата обрабатываемого
                        пикселя
           u(x) — соответствующее значение
                        пикселя
           С(х) — нормализующая константа
                    β — окно фильтра
            h, ρ — Гауссовское распределение   27
CS MSU Graphics & Media Lab (Video Group)
Bilateral denoising on
Only for
Maxus 



              TM3260

      Окно фильтра для зеленого 7х7, для красного и синего - 9х9




                                                                   28
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

              Прямая реализация




              Так не программируют даже на PC!

                                                 29
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

              Look-up tables


      Используя
    симметричность
  заводим таблицу на
       8*255 float
       значений




                                            30
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

              Loop unrolling


    Развернем внутренний цикл в 4 раза
    — такая простая операция на VLIW
      процессорах высоко повышает
             эффективность




                                            31
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

              Custom operations


     В таком представлении удобно использовать встроенные функции
     ТМ векторной обработки данных — super_ld32 и dspuquadabssub.




                                                                    32
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

              Custom operations



           Результат — уменьшение загрузки более чем в два раза!




                                                                   33
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

               Сравнение

  Простейшая оптимизация дает прирост почти в
  100 раз




                                                34
CS MSU Graphics & Media Lab (Video Group)
Проблемы дальнейшей
Only for
Maxus 



               оптимизации
  Загрузка подряд идущих 9 байтов требует двух
  операций super_ld32. Попробуем использовать
  окно 8х8
  Половина загруженных значений не
  используются — изменим реализацию для
  обработки всех цветов за раз




                                                  35
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

               Оптимизация загрузок
  Выход — считать весь центральный блок за итерацию в окне 8х8




                                                                 36
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 

                Результаты




   Уменьшение окна до 6х6 позволило авторам выйграть в скорости
                          еще в 1.3 раза.

   Даже малейшие оптимизации сильно влияют на скорость работы
               алгоритма благодаря компилятору

                                                                  37
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 


                Выводы

    Процессоры TriMedia — мощное и удобное
    средство программирования обработки видео
    При хорошем уровне разроботки можно добиться
    высокой производительности
    NXP предлагает встроенный программный пакет
    ME/MC, кодеровдекодеров, фильтров с которыми
    можно соревноваться




                                                    38
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 


                Вопросы




                                            ?

                                                39
CS MSU Graphics & Media Lab (Video Group)
Only for
Maxus 



               Список литературы
          "TriMedia CPU Optimization" Torsten Fink, Manoj Koul and Chuck Peplinski,TM
           Center of Excellence, August 2006
          "TriMedia Optimizations by Hand" Torsten Fink, Manoj Koul and Chuck
           Peplinski, TM Center of Excellence, August 2006
          "Bayer Bilateral Denoising on TriMedia3270" H.Phelippeau, M.Akil, Universite
           Paris-Est, Labinfo, Noisy-le-Grand Cedex France, 2007
          "TM3260 Architecture Databook" Koninklijke Philips Electronics N.V. 2003.
          "PNX15xx Series Data Book" Koninklijke Philips Electronics N.V. 2006.
          "Motion Estimation Performance of the TM3270 Processor" Jan-Willem van
           de Waerdt, Jean-Paul van Itegem, Gerrit A.Slavenburg, Philips Semiconductors,
           San Jose, CA, USA, NVIDIA Corporation Santa Clara, CA, USA, 2005




                                                                                           40
CS MSU Graphics & Media Lab (Video Group)

Weitere ähnliche Inhalte

Was ist angesagt?

Архитектура платформы Cisco ASR 9000
 Архитектура платформы Cisco ASR 9000 Архитектура платформы Cisco ASR 9000
Архитектура платформы Cisco ASR 9000Cisco Russia
 
Мейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиМейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиVasily Sartakov
 
Развитие платформы Cisco ASR 9000: Технологическое лидерство.
Развитие платформы Cisco ASR 9000: Технологическое лидерство. Развитие платформы Cisco ASR 9000: Технологическое лидерство.
Развитие платформы Cisco ASR 9000: Технологическое лидерство. Cisco Russia
 
Технология ASR 9000 nV — кластеры и сателлиты.
Технология ASR 9000 nV — кластеры и сателлиты. Технология ASR 9000 nV — кластеры и сателлиты.
Технология ASR 9000 nV — кластеры и сателлиты. Cisco Russia
 
57
5757
57JIuc
 
диспетчерская производственного предприятия, базовое решение на Ihse
диспетчерская производственного предприятия, базовое решение на Ihseдиспетчерская производственного предприятия, базовое решение на Ihse
диспетчерская производственного предприятия, базовое решение на IhseKVM Tech
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Ontico
 
Развитие платформы Cisco ASR 9000
Развитие платформы Cisco ASR 9000Развитие платформы Cisco ASR 9000
Развитие платформы Cisco ASR 9000Cisco Russia
 
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитов
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитовВиртуализация ASR 9000: объединение шасси в кластер и подключение сателлитов
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитовCisco Russia
 
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XПодробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XCisco Russia
 
Процессоры нетрадиционной архитектуры
Процессоры нетрадиционной архитектурыПроцессоры нетрадиционной архитектуры
Процессоры нетрадиционной архитектурыАнтон Широков
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системpianist2317
 
Обновления в серии маршрутизаторов ASR9k
Обновления в серии маршрутизаторов ASR9kОбновления в серии маршрутизаторов ASR9k
Обновления в серии маршрутизаторов ASR9kCisco Russia
 
Развитие платформы ASR 9000
Развитие платформы ASR 9000Развитие платформы ASR 9000
Развитие платформы ASR 9000Cisco Russia
 

Was ist angesagt? (17)

Архитектура платформы Cisco ASR 9000
 Архитектура платформы Cisco ASR 9000 Архитектура платформы Cisco ASR 9000
Архитектура платформы Cisco ASR 9000
 
Мейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиМейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памяти
 
Развитие платформы Cisco ASR 9000: Технологическое лидерство.
Развитие платформы Cisco ASR 9000: Технологическое лидерство. Развитие платформы Cisco ASR 9000: Технологическое лидерство.
Развитие платформы Cisco ASR 9000: Технологическое лидерство.
 
Технология ASR 9000 nV — кластеры и сателлиты.
Технология ASR 9000 nV — кластеры и сателлиты. Технология ASR 9000 nV — кластеры и сателлиты.
Технология ASR 9000 nV — кластеры и сателлиты.
 
57
5757
57
 
диспетчерская производственного предприятия, базовое решение на Ihse
диспетчерская производственного предприятия, базовое решение на Ihseдиспетчерская производственного предприятия, базовое решение на Ihse
диспетчерская производственного предприятия, базовое решение на Ihse
 
Prez osob mikroproc
Prez osob mikroprocPrez osob mikroproc
Prez osob mikroproc
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
 
Развитие платформы Cisco ASR 9000
Развитие платформы Cisco ASR 9000Развитие платформы Cisco ASR 9000
Развитие платформы Cisco ASR 9000
 
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитов
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитовВиртуализация ASR 9000: объединение шасси в кластер и подключение сателлитов
Виртуализация ASR 9000: объединение шасси в кластер и подключение сателлитов
 
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XПодробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
 
Процессоры нетрадиционной архитектуры
Процессоры нетрадиционной архитектурыПроцессоры нетрадиционной архитектуры
Процессоры нетрадиционной архитектуры
 
ASUS VGA
ASUS VGAASUS VGA
ASUS VGA
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и систем
 
Обновления в серии маршрутизаторов ASR9k
Обновления в серии маршрутизаторов ASR9kОбновления в серии маршрутизаторов ASR9k
Обновления в серии маршрутизаторов ASR9k
 
Развитие платформы ASR 9000
Развитие платформы ASR 9000Развитие платформы ASR 9000
Развитие платформы ASR 9000
 

Ähnlich wie Обзор процессоров Phillips Nexperia

Расширения h264 и предобзор h265
Расширения h264 и предобзор h265Расширения h264 и предобзор h265
Расширения h264 и предобзор h265MSU GML VideoGroup
 
Декодирование видео на GPU
Декодирование видео на GPUДекодирование видео на GPU
Декодирование видео на GPUMSU GML VideoGroup
 
Применение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияПрименение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияMSU GML VideoGroup
 
Презентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptxПрезентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptxssuserfd3c1c
 
58
5858
58JIuc
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningSkolkovo Robotics Center
 
интеграция спектрометра ионной подвижности с современными компьютерными систе...
интеграция спектрометра ионной подвижности с современными компьютерными систе...интеграция спектрометра ионной подвижности с современными компьютерными систе...
интеграция спектрометра ионной подвижности с современными компьютерными систе...stabfondik
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Cisco Russia
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Mikhail Kurnosov
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системAnatoly Levenchuk
 
35
3535
35JIuc
 
Cisco Hyperflex
Cisco HyperflexCisco Hyperflex
Cisco HyperflexКРОК
 
WhereShock Platform 4CIO 09.2018
WhereShock Platform 4CIO 09.2018WhereShock Platform 4CIO 09.2018
WhereShock Platform 4CIO 09.2018Vadim Podolniy
 
ARM vs Intel microarchitecture
ARM vs Intel microarchitectureARM vs Intel microarchitecture
ARM vs Intel microarchitectureIlya Kryukov
 
Обзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияОбзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияMSU GML VideoGroup
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиIBS
 

Ähnlich wie Обзор процессоров Phillips Nexperia (20)

Расширения h264 и предобзор h265
Расширения h264 и предобзор h265Расширения h264 и предобзор h265
Расширения h264 и предобзор h265
 
Декодирование видео на GPU
Декодирование видео на GPUДекодирование видео на GPU
Декодирование видео на GPU
 
Применение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияПрименение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зрения
 
Презентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptxПрезентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptx
 
58
5858
58
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
 
Обзор OpenCL
Обзор OpenCLОбзор OpenCL
Обзор OpenCL
 
интеграция спектрометра ионной подвижности с современными компьютерными систе...
интеграция спектрометра ионной подвижности с современными компьютерными систе...интеграция спектрометра ионной подвижности с современными компьютерными систе...
интеграция спектрометра ионной подвижности с современными компьютерными систе...
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
 
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
 
Модульные промышленные ПК Advantech
Модульные промышленные ПК AdvantechМодульные промышленные ПК Advantech
Модульные промышленные ПК Advantech
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных систем
 
35
3535
35
 
Cisco Hyperflex
Cisco HyperflexCisco Hyperflex
Cisco Hyperflex
 
WhereShock Platform 4CIO 09.2018
WhereShock Platform 4CIO 09.2018WhereShock Platform 4CIO 09.2018
WhereShock Platform 4CIO 09.2018
 
ARM vs Intel microarchitecture
ARM vs Intel microarchitectureARM vs Intel microarchitecture
ARM vs Intel microarchitecture
 
Обзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияОбзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зрения
 
12.pptx
12.pptx12.pptx
12.pptx
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 

Mehr von MSU GML VideoGroup

Обзор алгоритмов генерации ракурсов для многоракурсных видео
Обзор алгоритмов генерации ракурсов для многоракурсных видеоОбзор алгоритмов генерации ракурсов для многоракурсных видео
Обзор алгоритмов генерации ракурсов для многоракурсных видеоMSU GML VideoGroup
 
Некоторые методы сегментации видео
Некоторые методы сегментации видеоНекоторые методы сегментации видео
Некоторые методы сегментации видеоMSU GML VideoGroup
 
Обзор методов сравнения фильмов
Обзор методов сравнения фильмовОбзор методов сравнения фильмов
Обзор методов сравнения фильмовMSU GML VideoGroup
 
Обзор методов оценки True-motion
Обзор методов оценки True-motionОбзор методов оценки True-motion
Обзор методов оценки True-motionMSU GML VideoGroup
 
Методы цветокоррекции стереовидео
Методы цветокоррекции стереовидеоМетоды цветокоррекции стереовидео
Методы цветокоррекции стереовидеоMSU GML VideoGroup
 
Некоторые методы сопоставления стерео
Некоторые методы сопоставления стереоНекоторые методы сопоставления стерео
Некоторые методы сопоставления стереоMSU GML VideoGroup
 
Некоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийНекоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийMSU GML VideoGroup
 
Некоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоНекоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоMSU GML VideoGroup
 
Способы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиСпособы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиMSU GML VideoGroup
 
Некоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаНекоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаMSU GML VideoGroup
 
Обзор методов сопоставления шаблона и изображения
Обзор методов сопоставления шаблона и изображенияОбзор методов сопоставления шаблона и изображения
Обзор методов сопоставления шаблона и изображенияMSU GML VideoGroup
 
Способы построения saliency map
Способы построения saliency mapСпособы построения saliency map
Способы построения saliency mapMSU GML VideoGroup
 
Research & Development методы, проблемы и ошибки
Research & Development методы, проблемы и ошибкиResearch & Development методы, проблемы и ошибки
Research & Development методы, проблемы и ошибкиMSU GML VideoGroup
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовMSU GML VideoGroup
 
Некоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныНекоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныMSU GML VideoGroup
 
Использование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоИспользование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоMSU GML VideoGroup
 
Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012MSU GML VideoGroup
 
Обзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCОбзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCMSU GML VideoGroup
 
Алгоритмы для задачи матирования
Алгоритмы для задачи матированияАлгоритмы для задачи матирования
Алгоритмы для задачи матированияMSU GML VideoGroup
 
Исправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоИсправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоMSU GML VideoGroup
 

Mehr von MSU GML VideoGroup (20)

Обзор алгоритмов генерации ракурсов для многоракурсных видео
Обзор алгоритмов генерации ракурсов для многоракурсных видеоОбзор алгоритмов генерации ракурсов для многоракурсных видео
Обзор алгоритмов генерации ракурсов для многоракурсных видео
 
Некоторые методы сегментации видео
Некоторые методы сегментации видеоНекоторые методы сегментации видео
Некоторые методы сегментации видео
 
Обзор методов сравнения фильмов
Обзор методов сравнения фильмовОбзор методов сравнения фильмов
Обзор методов сравнения фильмов
 
Обзор методов оценки True-motion
Обзор методов оценки True-motionОбзор методов оценки True-motion
Обзор методов оценки True-motion
 
Методы цветокоррекции стереовидео
Методы цветокоррекции стереовидеоМетоды цветокоррекции стереовидео
Методы цветокоррекции стереовидео
 
Некоторые методы сопоставления стерео
Некоторые методы сопоставления стереоНекоторые методы сопоставления стерео
Некоторые методы сопоставления стерео
 
Некоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийНекоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображений
 
Некоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоНекоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видео
 
Способы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиСпособы построения и оценки карт салиентности
Способы построения и оценки карт салиентности
 
Некоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаНекоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кода
 
Обзор методов сопоставления шаблона и изображения
Обзор методов сопоставления шаблона и изображенияОбзор методов сопоставления шаблона и изображения
Обзор методов сопоставления шаблона и изображения
 
Способы построения saliency map
Способы построения saliency mapСпособы построения saliency map
Способы построения saliency map
 
Research & Development методы, проблемы и ошибки
Research & Development методы, проблемы и ошибкиResearch & Development методы, проблемы и ошибки
Research & Development методы, проблемы и ошибки
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектов
 
Некоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныНекоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубины
 
Использование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоИспользование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видео
 
Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012
 
Обзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCОбзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVC
 
Алгоритмы для задачи матирования
Алгоритмы для задачи матированияАлгоритмы для задачи матирования
Алгоритмы для задачи матирования
 
Исправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоИсправление различий резкости в 3D видео
Исправление различий резкости в 3D видео
 

Обзор процессоров Phillips Nexperia

  • 1. Программирование обработки видео на процессорах NXP TriMedia Марат Арсаев Video Group CS MSU Graphics & Media Lab 19.03.09 1
  • 2. Only for Maxus  Содержание доклада  Введение  Архитектура систем PNX1x00  Оптимизация обработки видео  Пример фильтра  Выводы 2 CS MSU Graphics & Media Lab (Video Group)
  • 3. Only for Maxus  Введение Процессоры для обработки видео и аудио 3 CS MSU Graphics & Media Lab (Video Group)
  • 4. Only for Maxus  Введение  TriMedia — чипы для встроенных систем  Идеально подходят для low-power систем  Гибок и легко программируем  Расширенные встроенные средства  Широко используется во всем мире 4 CS MSU Graphics & Media Lab (Video Group)
  • 5. Only for Maxus  Содержание доклада  Введение  Архитектура систем PNX1x00  Оптимизация обработки видео  Пример фильтра  Выводы 5 CS MSU Graphics & Media Lab (Video Group)
  • 6. Only for Maxus  Архитектура систем PNX1x00 SDRAM MAIN MEMORY  Изменение формата на лету INTERFACE VIDEO IN VIDEO OUT Использование встроенных вспомогательных средств: AUDIO IN AUDIO OUT скейлер FRC TIMERS SPDIF OUT  SYNCHRONOUS сеть I2C INTERFACE SERIAL INTERFACE  видео декодеры IMAGE VLD COPROCESSOR  COPROCESSOR нестандартные выходы INSTR PCI/XIO TO PCI/XIO  CACHE INTERFACE BUS VLIW CPU DATA CACHE INTERNAL BUS (DATA HIGHWAY) 6 CS MSU Graphics & Media Lab (Video Group)
  • 7. Only for Maxus  Архитектура чипов TM SDRAM Arbiter 224-bit Instruction Bus Peripherals TriMedia CPU Core DSP-CPU 32-64KB VLIW Instruction Instruction Cache 27-40 Functional Units 128 16-128KB Peripherals 32-bit registers Data Cache 64-bit Data Highway 1-2 R/W*32-bit Data Bus 7 CS MSU Graphics & Media Lab (Video Group)
  • 8. Only for Maxus  Архитектура CPU Архитектура VLIW процессра:  5 32-битных слотов операций  каждая операция обращается к необходимым ей ФЭ  ФЭ обращаются к массиву регистров 8 CS MSU Graphics & Media Lab (Video Group)
  • 9. Only for Maxus  Архитектура CPU Register file (128 x 32 bit registers) 15 read and 5 write ports Reg0 всегда 0 R R R R R R R R R R R R R R R W W W W W Reg1 всегда 1 Reg2 — Reg127 общего назначения Cross Bar guard src1src2result Functional Functional Functional Functional unit unit ....... . unit unit 1 2 X-1 X Instruction cache Instruction issue Issue slot Issue slot Issue slot Issue slot Issue slot register 1 2 3 4 5 9 CS MSU Graphics & Media Lab (Video Group)
  • 10. Only for Maxus  Архитектура CPU От версии к версии меняются:  набор, количество и параметры ФЭ  набор встроенных препроцессоров:  скейлер s0  интерполятор s1 d0  поддерживаемые декодеры  Н264 s0  MPEG2, MPEG4 s1  аудио кодеки d0 10 CS MSU Graphics & Media Lab (Video Group)
  • 11. Only for Maxus  Поддерживаемые операции  Инструкция – константа (не нужно обращаться в кэш)  Супероперации (super_ld32, super_quadumedian, и т.д.) Целочисленная арифметика :  +- , логические операции, сравнения, abs, и т.д.  Pack, merge, и т.д.  Сдвиги:  <<, >>, rol, и т.д.  Специфические операции сборки векторов ( abcd % efgh > cdef) 11 CS MSU Graphics & Media Lab (Video Group)
  • 12. Only for Maxus  Поддерживаемые операции DSP ALU:   Clipping operations  SIMD операции a b c d e f g h a+e b+f c+g d+h Quadadd( , ) =>  Motion Estimation операции DSP MUL:   SIMD умножения над 8- и 16-битными операндами  FIR инструкции h a b c d e f g над 8- и 16-битными данными Ifir8ii( , ) => 12 CS MSU Graphics & Media Lab (Video Group)
  • 13. Only for Maxus  Таблица задержек ФЭ ТМ3260 Latency / Functional Unit Quantity Delay Recovery Issue Slots constant 5 1 1 1 2 3 4 5 integer ALU 5 1 1 1 2 3 4 5 load/store 2 3 1 4 5 DSP ALU 3 2 1 1 3 5 DSP MUL 2 3 1 2 3 shifter 5 1 1 1 2 3 4 5 branch 3 3 1 2 3 4 int/float mul 2 3 1 2 3 float ALU 2 3 1 1 4 float compare 1 1 1 3 float sqrt/div 1 17 16 2 13 CS MSU Graphics & Media Lab (Video Group)
  • 14. Only for Maxus  Кэш данных TM3260 До 5 операций регистр-регистр 1 такт 127 126 0 Файл регистров до трех тактов Обмен в обе стороны 16 Кбайт Кэш данных до 40 тактов Обмен между основной Памятью и шиной x Мбайт SDRAM 14 CS MSU Graphics & Media Lab (Video Group)
  • 15. Only for Maxus  Управление кэшем Кэш — одна из самых узких и в то же время гибких мест процессоров TriMedia Начиная с процессора 3270 кэш явно программируем  При неэффективном программировании процессор может простаивать до 90% времени 15 CS MSU Graphics & Media Lab (Video Group)
  • 16. Only for Maxus  Управление кэшем Встроенная реализация пре- кэширования: необходимо верно выставить начало, конец региона, текущий указатель и размер выборки кэша 16 CS MSU Graphics & Media Lab (Video Group)
  • 17. Only for Maxus  Содержание доклада  Введение  Архитектура систем PNX1x00  Оптимизация обработки видео  Пример фильтра  Выводы 17 CS MSU Graphics & Media Lab (Video Group)
  • 18. Only for Maxus  Стандартные оптимизации  Разворачивание циклов, использование look-up tables  Использование встроенных и SIMD операций  Эффективные выборки из кэша 18 CS MSU Graphics & Media Lab (Video Group)
  • 19. Only for Пример оптимизаций Maxus  Развертка циклов позволяет компилятору автоматически распараллелить код 19 CS MSU Graphics & Media Lab (Video Group)
  • 20. Only for Пример оптимизаций Maxus  Используем встроенные операции: ume8uu 20 CS MSU Graphics & Media Lab (Video Group)
  • 21. Only for Пример оптимизаций Maxus  Новый код: 21 CS MSU Graphics & Media Lab (Video Group)
  • 22. Only for Пример оптимизаций Maxus  Разворчиваем цикл дальше: 22 CS MSU Graphics & Media Lab (Video Group)
  • 23. Only for Пример оптимизаций Maxus  Итого операций: Было: 16*16*(разность + abs + суммирование) = 768 операций  Стало: 8*(8 МЕ операций + 8 суммирований) = 128 операций Учитывая развертку циклов, для последней реализации будет сгенерирован весьма эффективный код 23 CS MSU Graphics & Media Lab (Video Group)
  • 24. Only for Пример оптимизаций Maxus  Возможно уточнение при помощи полупиксельной интерполяции, используя funshift, mergeodd, bilinear — благодоря этому операции ведутся над регистрами, без обращения в кэш 24 CS MSU Graphics & Media Lab (Video Group)
  • 25. Only for Maxus  Содержание доклада  Введение  Архитектура систем PNX1x00  Оптимизация обработки видео  Пример фильтра  Выводы 25 CS MSU Graphics & Media Lab (Video Group)
  • 26. Bilateral denoising on Only for Maxus  TM3260 Рассмотрим цифровую камеру и попробуем запрограммировать Bilateral denoising на встроенном чипе TM3260 Bayer Bilateral Denoising on TriMedia3270 H.Phelippeau, M.Akil, Universite Paris-Est, Labinfo, Noisy-le- Grand Cedex France, 2007 26 CS MSU Graphics & Media Lab (Video Group)
  • 27. Bilateral denoising on Only for Maxus  TM3260 Будем работать с Байесовской матрицей цветов x — координата текущего пикселя у — координата обрабатываемого пикселя u(x) — соответствующее значение пикселя С(х) — нормализующая константа β — окно фильтра h, ρ — Гауссовское распределение 27 CS MSU Graphics & Media Lab (Video Group)
  • 28. Bilateral denoising on Only for Maxus  TM3260 Окно фильтра для зеленого 7х7, для красного и синего - 9х9 28 CS MSU Graphics & Media Lab (Video Group)
  • 29. Only for Maxus  Прямая реализация Так не программируют даже на PC! 29 CS MSU Graphics & Media Lab (Video Group)
  • 30. Only for Maxus  Look-up tables Используя симметричность заводим таблицу на 8*255 float значений 30 CS MSU Graphics & Media Lab (Video Group)
  • 31. Only for Maxus  Loop unrolling Развернем внутренний цикл в 4 раза — такая простая операция на VLIW процессорах высоко повышает эффективность 31 CS MSU Graphics & Media Lab (Video Group)
  • 32. Only for Maxus  Custom operations В таком представлении удобно использовать встроенные функции ТМ векторной обработки данных — super_ld32 и dspuquadabssub. 32 CS MSU Graphics & Media Lab (Video Group)
  • 33. Only for Maxus  Custom operations Результат — уменьшение загрузки более чем в два раза! 33 CS MSU Graphics & Media Lab (Video Group)
  • 34. Only for Maxus  Сравнение Простейшая оптимизация дает прирост почти в 100 раз 34 CS MSU Graphics & Media Lab (Video Group)
  • 35. Проблемы дальнейшей Only for Maxus  оптимизации Загрузка подряд идущих 9 байтов требует двух операций super_ld32. Попробуем использовать окно 8х8 Половина загруженных значений не используются — изменим реализацию для обработки всех цветов за раз 35 CS MSU Graphics & Media Lab (Video Group)
  • 36. Only for Maxus  Оптимизация загрузок Выход — считать весь центральный блок за итерацию в окне 8х8 36 CS MSU Graphics & Media Lab (Video Group)
  • 37. Only for Maxus  Результаты Уменьшение окна до 6х6 позволило авторам выйграть в скорости еще в 1.3 раза. Даже малейшие оптимизации сильно влияют на скорость работы алгоритма благодаря компилятору 37 CS MSU Graphics & Media Lab (Video Group)
  • 38. Only for Maxus  Выводы Процессоры TriMedia — мощное и удобное средство программирования обработки видео При хорошем уровне разроботки можно добиться высокой производительности NXP предлагает встроенный программный пакет ME/MC, кодеровдекодеров, фильтров с которыми можно соревноваться 38 CS MSU Graphics & Media Lab (Video Group)
  • 39. Only for Maxus  Вопросы ? 39 CS MSU Graphics & Media Lab (Video Group)
  • 40. Only for Maxus  Список литературы  "TriMedia CPU Optimization" Torsten Fink, Manoj Koul and Chuck Peplinski,TM Center of Excellence, August 2006  "TriMedia Optimizations by Hand" Torsten Fink, Manoj Koul and Chuck Peplinski, TM Center of Excellence, August 2006  "Bayer Bilateral Denoising on TriMedia3270" H.Phelippeau, M.Akil, Universite Paris-Est, Labinfo, Noisy-le-Grand Cedex France, 2007  "TM3260 Architecture Databook" Koninklijke Philips Electronics N.V. 2003.  "PNX15xx Series Data Book" Koninklijke Philips Electronics N.V. 2006.  "Motion Estimation Performance of the TM3270 Processor" Jan-Willem van de Waerdt, Jean-Paul van Itegem, Gerrit A.Slavenburg, Philips Semiconductors, San Jose, CA, USA, NVIDIA Corporation Santa Clara, CA, USA, 2005 40 CS MSU Graphics & Media Lab (Video Group)