SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Обзор некоторых
современных SoC

   Юрий Бердников
       Video Group
CS MSU Graphics & Media Lab
Only for
 Maxus 



              Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
           Stretch
           NVIDIA Tegra
           ARM11
           Сравнение




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



                Содержание

           Оптимизации PNX
               Фиксированная точка
               Restricted pointers
               Оптимизация расположения данных
               Личный опыт
           Texas Instruments DaVinci
           Stretch
           NVIDIA Tegra
           ARM11
           Сравнение

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

               Оптимизации PNX
               Фиксированная точка



           Конвертация из float
            A = (int) (a * (1<<N));
            Latency = 6
           Конвертация в float
            a = (float) A*(1.0/(1<<N));
            Latency = 6
           Сложение и вычитание
            A=B+C; D=E-F;
            fixedLatency = 1
            floatLatency = 3



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

              Оптимизации PNX
              Фиксированная точка



           Умножение                          Деление
            Степень 2: A=B<<C                   Степень 2: A=B>>C
            fixedLatency=1                      fixedLatency=1

            Целое число: A=B*C                  Целое число: A=B/C
            fixedLatency=3                      fixedLatency=23, fixedRecovery=17

            Общий случай:                       Общий случай:
            A=IMULM(B, C)<<NORM                 A=(int)((corr*B/C)
            fixedLatency=4                      fixedLatency=26, fixedRecovery=17
            floatLatency=3                      floatLatency=17, floatRecovery=17



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

             Оптимизации PNX
             Restricted pointers




                                                                             6
CS MSU Graphics & Media Lab (Video Group)   TriMedia Optimization Training
Only for
 Maxus 

                Оптимизации PNX
                Оптимизация расположения данных



           Характеристики кэша PNX1500
               Объѐм – 16 КБ
               Блок – 64 байта
               Регистр<->кэш – 3 цикла
               Кэш<->память – 40 циклов
           MPEG-2 декодер
               Задача компенсации движения
               Полупиксельная точность
               Блок 17х17 для Y, 8x8 для U и V
               Оценка эффективности – количество обращений кэша
                к памяти на блок, худший случай

                                                                                     7
CS MSU Graphics & Media Lab (Video Group)           TriMedia Optimization Training
Only for
 Maxus 

             Оптимизации PNX
             Оптимизация расположения данных


    Обращения к памяти
      Y – 34 обращения
      U – 16 обращений
      V – 16 обращений
      Итого – 66 обращений


    Использование канала
      Y: 13.1%
      UV: 7.9%




                                                                                8
CS MSU Graphics & Media Lab (Video Group)      TriMedia Optimization Training
Only for
 Maxus 

             Оптимизации PNX
             Оптимизация расположения данных


    Обращения к памяти
      Y – 34 обращения
      UV – 16 обращений
      Итого – 50 обращений


    Использование канала
      Y: 13.1%
      UV: 15.8%




                                                                                9
CS MSU Graphics & Media Lab (Video Group)      TriMedia Optimization Training
Only for
 Maxus 

             Оптимизации PNX
             Оптимизация расположения данных


    Обращения к памяти
      Y – 9 обращений
      UV – 8 обращений
      Итого – 17 обращений


    Использование канала
      Y: 50.2%
      UV: 31.6%




                                                                                10
CS MSU Graphics & Media Lab (Video Group)      TriMedia Optimization Training
Only for
 Maxus 

               Оптимизации PNX
               Из личного опыта



           Профилировщик влияет на оптимальность операций!
            //степень развёртывания - 2
            for (x=0; x<ext_width; x+=2){
                     Y[x ]=SplA[x]*(Y[x]-128)+128+SplB[x];
                     Y[x+1]=SplA[x+1]*(Y[x+1]-128)+128+SplB[x+1];
            }

          Зависимость FPS от профилировщика и степени развѐртывания циклов
                                          Степень развѐртывания цикла
                Профилировщик
                                      3          4          5           6

                     Выкл.        4.52 FPS    4.65 FPS   4.71 FPS   4.43 FPS

                     Выкл.
                                  8.01 FPS   8.24 FPS    8.06 FPS   7.54 FPS

            Работа всего фильтра, приведѐнный фрагмент занимает ~10% циклов
                                                                               11
CS MSU Graphics & Media Lab (Video Group)
Only for
 Maxus 

              Оптимизации PNX
              Из личного опыта



           Однообразные инструкции следует группировать
       for (x=0; x<ext_width; x+=2){
                Y[x]=SplA[x]*(Y[x]-128)+128+SplB[x];
                Y[x+1]=SplA[x+1]*(Y[x+1]-128)+128+SplB[x+1];
       }



       for (x=0; x<ext_width; x+=2){
                tmp[0]=Y[x]-128;
                tmp[1]=Y[x+1]-128;
                tmp[0]*=SplA[x];
                tmp[1]*=SplA[x+1];
                tmp[0]+=128;
                tmp[1]+=128;
                                            Прирост скорости – 1.5 раза!
                Y[x]=tmp[0]+SplB[x];
                Y[x+1]=tmp[1]+SplB[x+1;
       }

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

               Оптимизации PNX
               Из личного опыта



           Компилятор циклы разворачивает не всегда
           Конструкции вида
            for (x=0; x<ext_width; x+=4){
                     Y[x] = <some expression>
                     Y[x+1] = <some expression>
                     Y[x+2] = <some expression>
                     Y[x+3] = <some expression>
            }

            Медленнее, чем
            for (x=0; x<ext_width; x+=4){
                     Y[0]= <some expression>
                     Y[1]= <some expression>
                     Y[2]= <some expression>
                     Y[3]= <some expression>
                     Y+=4;
            }
                                                       13
CS MSU Graphics & Media Lab (Video Group)
Only for
 Maxus 

               Оптимизации PNX
               Из личного опыта



           Inline для больших функций может замедлить работу
           Следует избегать обращения по вычисляемым адресам
             for (x=0; x<ext_width; x+=4){
                      Histogram[Y[x]]++;
                      Histogram[Y[x+1]]++;
                      Histogram[Y[x+2]]++;   ~7.8 циклов/пиксель!
                      Histogram[Y[x+3]]++;
             }

           Конструкции вида                      {
                                                      [vars for alg1]
             [vars for alg1]                          [alg1]
             [vars for alg2]                      }
             [alg1]            Медленнее, чем     {
             [alg2]                                   [vars for alg2]
                                                      [alg2]
                                                  }
                                                                        14
CS MSU Graphics & Media Lab (Video Group)
Only for
 Maxus 



                Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
               Введение
               Устройство
               ARM256
               C64x+
               Программирование
           Stretch
           NVIDIA Tegra
           ARM11
           Сравнение
                                            15
CS MSU Graphics & Media Lab (Video Group)
Only for
 Maxus 

              Texas Instruments DaVinci
              Введение



           Широкая линейка SoC
           Ядро – ARM926 и/или С64x+
           135 MHz – 900 MHz
           Различный набор сопроцессоров
           Область применения - обработка видео
           10$ - 90$




                                             DaVinci™ Technology Overview 16
CS MSU Graphics & Media Lab (Video Group)   http://TheDaVinciEffect.com 2008
Only for
 Maxus 

             Texas Instruments DaVinci
             Физические параметры




                                                                              17
CS MSU Graphics & Media Lab (Video Group)   S-PBGA-N529 Package description
Only for
 Maxus 

             Texas Instruments DaVinci
             Сравнительная таблица моделей




                                              DaVinci™ Technology Overview 18
CS MSU Graphics & Media Lab (Video Group)    http://TheDaVinciEffect.com 2008
Only for
 Maxus 

             Texas Instruments DaVinci
             Пример процессора


    TMS320DM6446-513
    ARM Frequency - 256.5 MHz
    DSP Frequency - 513 MHz
    VICP - 256.5 MHz
    Peak MMACS - 4104
    L1 - 112 KB (DSP),40 KB (ARM)
    L2 - 64 KB (DSP)

    Цена - 42$




                                             DaVinci™ Technology Overview 19
CS MSU Graphics & Media Lab (Video Group)   http://TheDaVinciEffect.com 2008
Only for
 Maxus 

             Texas Instruments DaVinci
             ARM926EJ-S


    RISC-архитектура
    Технология – 110 nm
    Низкое потребление
    Управляемый кэш
    Расширяемость за счѐт
     сопроцессоров
    Только целочисленная
     арифметика
    Полный набор команд для
     нормальной работы ОС




                                                                                     20
CS MSU Graphics & Media Lab (Video Group)   ARM926EJ-S™ Technical Reference Manual
Only for
 Maxus 

             Texas Instruments DaVinci
             C64x+


    500-700 MHz
    64 32-битных регистра
    8 функциональных блоков
    48 ALU
    16 устройств умножения
    2 потока данных (Data Path)
    Internal DMA
    32 KB L1P cache
    16 KB L1D cache
    64 KB L2 cache



                                            TMS320C64x/C64x+ DSP CPU and Instruction Set 21
CS MSU Graphics & Media Lab (Video Group)                              Reference Guide
Only for
 Maxus 

              Texas Instruments DaVinci
              C64x+



           Загрузка инструкций блоками по 256 байт
           От 8 до 14 инструкций в блоке
           Параллельное выполнение до 8 операций




                                            TMS320C64x/C64x+ DSP CPU and Instruction Set 22
CS MSU Graphics & Media Lab (Video Group)                              Reference Guide
Only for
 Maxus 

              Texas Instruments DaVinci
              C64x+



            Пример параллельного выполнения операций




     ;Так это выглядит на ассемблере        Шаг      Выполняемые инструкции
                        Instruction   A     1        A
                        Instruction   B
                        Instruction   C     2        B
               ||       Instruction   D     3        CDE
               ||       Instruction   E
                        Instruction   F     4        FGH
               ||       Instruction   G
               ||       Instruction   H


                                                  TMS320C64x/C64x+ DSP CPU and Instruction Set 23
CS MSU Graphics & Media Lab (Video Group)                                    Reference Guide
Only for
 Maxus 

              Texas Instruments DaVinci
              C64x+



           «Отложенные» операции




           Операции, ориентированные на DSP




                                            TMS320C64x/C64x+ DSP CPU and Instruction Set 24
CS MSU Graphics & Media Lab (Video Group)                              Reference Guide
Only for
 Maxus 

                Texas Instruments DaVinci
                C64x+



           «Условное» выполнение большинства операций


                                 Ускорение до 10 раз!
           40- и 64-битная арифметика
           Специальные команды для организации циклов
           Аппарат прерываний
               Таймеры
               Прерывания от АЦП/ЦАП
               Прерывания от сопроцессоров

                                              TMS320C64x/C64x+ DSP CPU and Instruction Set 25
CS MSU Graphics & Media Lab (Video Group)                                Reference Guide
Only for
 Maxus 

                Texas Instruments DaVinci
                C64x+



           Ориентация на работу по 4 байта
           Отсутствие операций деления
           Аппаратные функции для работы с алгоритмами
            коррекции ошибок
               Поле Галуа Gf(8), полином P(x)=x3+x+1
               Коды Рида-Соломона




                                            TMS320C64x/C64x+ DSP CPU and Instruction Set 26
CS MSU Graphics & Media Lab (Video Group)                              Reference Guide
Only for
 Maxus 

                Texas Instruments DaVinci
                Программирование



           Язык – С, С++ с дополнительными командами
           ОС - Windows, Linux, MacOS
           Code Composer Studio
               IDE (На основе Eclipse)
               Заголовочные и библиотечные файлы
               Компилятор
               Средства отладки
               Программы эмуляции
               Профилировщики



                                                                                    27
CS MSU Graphics & Media Lab (Video Group)           TI CCStudio Description Paper
Only for
 Maxus 

             Texas Instruments DaVinci
             Программирование. Code Composer Studio




                                                                                      28
CS MSU Graphics & Media Lab (Video Group)             TI CCStudio Description Paper
Only for
 Maxus 

                Texas Instruments DaVinci
                Программирование.Code Composer Studio



           Особенности CCStudio
               Независимость от платформы
               Независимость от языка программирования
               Поддержка скриптов
               Оптимизирующий компилятор
               Взаимодействие с DSP/BIOS
               Средства для визуального контроля




                                                                                        29
CS MSU Graphics & Media Lab (Video Group)               TI CCStudio Description Paper
Only for
 Maxus 

             Texas Instruments DaVinci
             Программирование.Code Composer Studio




                                                                                     30
CS MSU Graphics & Media Lab (Video Group)            TI CCStudio Description Paper
Only for
 Maxus 

                Texas Instruments DaVinci
                Программирование. Hello, world!


          //Simple HelloWorld program – only ARM
          void main(int argc, char *argv[])
          {
             printf(“DaVinci Rulezzz!!!n");
             fflush(stdout);
             return;
          }


           ARM и DSP – разные вещи!
               ARM – основной процессор, на нѐм работает ОС
               DSP – сопроцессор
           кэш у каждого свой
           Низкая скорость при выполнении
            последовательных команд разными процессорами

                                                   TI DaVinci: DSP and ARM communication 31
CS MSU Graphics & Media Lab (Video Group)                                   Mark Johnson
Only for
 Maxus 

               Texas Instruments DaVinci
               Программирование. Hello, world!



            Раздельные программы для ARM и DSP
        //Simple HelloWorld program – DSP part
        void main(int argc, char *argv[])
        {
           printf(“DaVinci Rulezzz!!!n");
           fflush(stdout);
           return;
        }

        //Simple HelloWorld program – ARM part
        ...
        PROC_Setup();
        PROC_Attach(ID_PROCESSOR, NULL);
        PROC_Load(ID_PROCESSOR, “Helloworld_dsp_part.out”, NUM_ARGS, NULL);
        PROC_Start(ID_PROCESSOR);
        ...


                                                   TI DaVinci: DSP and ARM communication 32
CS MSU Graphics & Media Lab (Video Group)                                   Mark Johnson
Only for
 Maxus 



                Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
           Stretch
               Введение
               Устройство
               Программирование
           NVIDIA Tegra
           ARM11
           Сравнение


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

              Stretch S6000
              Введение



           Область применения –
            обработка видео
           Конфигурируемый процессор
           Возможность кластеризации
           Кодирование в реальном
            времени H.264 1xHD или 4xSD
           Ориентация на параллельные
            вычисления
           Цена – от 25$


                                            The S6000 Family overview 34
CS MSU Graphics & Media Lab (Video Group)    http://stretchinc.com 2009
Only for
 Maxus 

             Stretch S6000
             Устройство


    VLIW
    Instruction Set Extension Fabric
    Аппаратная реализация часто
     встречающихся функций
    Оптимизирован для H.264
    64 KB RAM
    4096 ALU
    32 128-битных регистра
    Изменение ISEF за 27 uS
    Ввод-вывод до 2.4 GB/S
    167-345 MHz

                                            The S6000 Family overview 35
CS MSU Graphics & Media Lab (Video Group)    http://stretchinc.com 2009
Only for
 Maxus 

             Stretch S6000
             Программирование


    С/С++
    Stretch C
    Assembler




                                            The S6000 Family overview 36
CS MSU Graphics & Media Lab (Video Group)    http://stretchinc.com 2009
Only for
 Maxus 



              Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
           Stretch
           NVIDIA Tegra
           ARM11
           Сравнение




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

               NVIDIA Tegra
               Введение



           Анонс – 2 июня 2008
           Первое коммерческое
            применение –сентябрь 2009
            (Microsoft Zune HD)
           Область применения –
            мобильные устройства, GPS,
            смартфоны
           Ядро – ARM11, 600-900 MHz



                                                                               NVIDIA Tegra Overview 38
CS MSU Graphics & Media Lab (Video Group) http://www.nvidia.ru/object/product_tegra_apx_en.html 2009
Only for
 Maxus 

               NVIDIA Tegra
               Устройство NVIDIA Tegra APX 2500


    Ядро – ARM11, 600 MHz
    Графический сопроцессор
     ULP GeForce
    Выход на LCD до 854×480
    Поддержка камеры до 12 МП
    OpenGL ES 2.0
    Direct3D Mobile
    Декодирование H264 – 720p,
     30FPS




                                                                          NVIDIA Tegra APX Overview 39
CS MSU Graphics & Media Lab (Video Group) http://www.nvidia.ru/object/product_tegra_apx_en.html 2009
Only for
 Maxus 



                Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
           Stretch
           NVIDIA Tegra
           ARM11
               Введение
               Устройство
               Примеры команд
           Сравнение


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

              ARM11
              Введение



           Архитектура – RISC
           Область применения –
            мобильные устройства,
            встроенные системы
           Частота – 300-700 MHz
           Потребление - 0.6мВт/МГц
           Набор команд для DSP
           Эффективное выполнение JAVA-байткода
           Этот процессор используется в Apple iPhone!

                                                              ARM1156T2-S Reference Guide 41
CS MSU Graphics & Media Lab (Video Group)   http://arm.com/products/CPUs/ARM1156T2-S.html
Only for
 Maxus 

             ARM11
             Устройство


    Технология – 90nm
    32/16-битная архитектура
    Набор инструкций Thumb-2
    Набор SIMD-инструкций
    Управляемый кэш
    Расширяемость за счѐт
     сопроцессоров
    Global Branch Prediction Unit
    Аппарат защиты памяти
    Система отладки CoreSight™
    Операции с фиксированной
     и плавающей точкой
                                                              ARM1156T2-S Reference Guide 42
CS MSU Graphics & Media Lab (Video Group)   http://arm.com/products/CPUs/ARM1156T2-S.html
Only for
 Maxus 

                ARM11
                Примеры инструкций



           SIMD-инструкции
               USAD8
               SUB16
           Thumb-инструкции




            Выигрыш ~30% по скорости и компактности кода
                                                                                43
CS MSU Graphics & Media Lab (Video Group)   ARM Architecture Reference Manual
Only for
 Maxus 

                ARM11
                Примеры инструкций



           Инструкции управления кэшем
               PLD
           Инструкции взаимодействия с сопроцессорами
               MCR/MRC
               LDC
           Инструкции управления GBPU
               PrefetchFlush




                                                                                44
CS MSU Graphics & Media Lab (Video Group)   ARM Architecture Reference Manual
Only for
 Maxus 

               ARM11
               Условное выполнение команд

        //исходный код на С
        int gcd(int a, int b)               //«Прямая» реализация на ARM
        {                                   gcd     CMP      r0, r1
            while (a != b)                          BEQ      end
              {                                     BLT      less
                if (a > b)                          SUB      r0, r0, r1
                    a = a - b;                      B        gcd
                else                        less
                    b = b - a;                      SUB      r1, r1, r0
              }                                     B        gcd
            return a;                       end
        }


                Циклов на итерацию
  Реализация                                //«Умная» реализация      на ARM
                 Худший     Лучший          gcd
                 случай     случай                  CMP      r0,      r1
    «Прямая»       17         11                    SUBGT    r0,      r0, r1
                                                    SUBLE    r1,      r1, r0
    «Умная»
                   10         10                    BNE      gcd
                                                       Example of the use of conditional execution 45
CS MSU Graphics & Media Lab (Video Group)          http://www.keil.com/support/man/docs/armasm/
Only for
 Maxus 



              Содержание

           Оптимизации PNX
           Texas Instruments DaVinci
           Stretch
           NVIDIA Tegra
           ARM11
           Сравнение




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



                  Сравнение
 SoC        Назначение         Область               Сложность   Мощность    Цена
                               применения            программи
                                                     рования

 PNX        DSP                Видеонаблюдение,      Низкая      1-4 W       30-35 $/чип
                               обработка звука                               3000 $/DevKit
 DaVinci    DSP, 3D-графика,   Встроенные системы,   Средняя     0.5-2 W     10-90 $/чип
            CPU                видеонаблюдение                               3-10 тыс.$/DevKit

 ARM11      CPU                Мобильные             Низкая      0.2-1.2 W   10-30 $/чип
                               устройства,                                   1000 $/DevKit
                               встроенные системы
 Tegra      Обработка видео,   Мобильные             ?           ?           ?
            3D-графика,        устройства
            Функции CPU
 Scratch    Обработка видео    Встроенные системы    Выше        0.7-1.5 W   25-35 $/чип
                                                     среднего                3000 $/DevKit



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



                Сравнение
 SoC        Преимущества                               Недостатки

 PNX        Хорошая документация, простота «первого    Узкий модельный ряд, низкое соотношение
            шага», невысокая цена                      производительность/потребляемая мощность
 DaVinci    Широкая линейка продуктов, высокая         Высокая цена как на чипы, так и на средства
            производительность для широкого круга      разработки
            задач, аппаратная реализация часто
            встречающихся функций, активное
            сообщество разработчиков, возможна
            работа полноценной ОС
 ARM11      Эффективен на «нераспараллеливаемых»       Большое количество внешних элементов
            задачах, возможна работа полноценной ОС,
            расширяемость за счѐт сопроцессоров
 Tegra      Объединение в одном корпусе CPU и GPU,     [временно?] Отсутствие в свободной
            активное «продвижение» производителем      продаже средств разработки, недостаток
                                                       информации
 Scratch    Отличная производительность на «хорошо     Сложность эффективного программирования
            распараллеливаемых» задачах, характерных
            для обработки видео
                                                                                                48
CS MSU Graphics & Media Lab (Video Group)
Only for
 Maxus 



                  Список литературы

           Оптимизация PNX
                 TriMedia optimization guide, TCS5.1, 2006
                 TriMedia CookBook, TCS5.1, 2006
                 Nexperia PNX100x optimization slideshow, NDK 6.1, 2009
           NVIDIA Tegra
                 NVIDIA Tegra серии APX, http://www.nvidia.ru/object/product_tegra_apx_ru.html, 2009
                 NVIDIA Makes the Future, http://cnn.com, 2009
           ARM
                 ARM Architecture reference manual, http://arm.com, 2008
                 ARM DSP-Enhanced Extensions, http://arm.com, 2005
                 ARM SoC Architecture, Lung Hao-Chang, 2006
                 ARM926EJ-S™ Technical Reference Manual, http://arm.com, 2008
           Stretch
                 Stretch Goals, FPGA and Programmable Logic Journal, http://fpgajournal.com, 02.08.2005
                 S6000 Family, http://stretchinc.com, 2009
                 S6 Architecture Overview, http://stretchinc.com, 2009
                 Stretch IDE Development tool, http://stretchinc.com, 2009




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



                 Список литературы

           DaVinci
                S-PBGA-N529 Package description, http://ti.com, 2009
                TMS320DM644 6/3 Power Consumption Summary, http://ti.com, February 2008
                DaVinci™ Technology Overview , http://ti.com, September 2008
                Using the DSP in the Dual-Core DaVinci as a Graphics Render Engine, http://ti.com, March 2007
                TMS320DM644x™ Processors–Video Benchmarks, http://ti.com, 2006
                TMS320DM644x Digital Media Processors, http://ti.com, 2007
                HD Video Surveillance IP Camera Reference Designs , http://ti.com, 2007
                TMS320C6000 CPU and Instruction Set Reference Guide, http://ti.com, 2007
                TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide, http://ti.com, October 2008
                TMS320DM6446 DVEVM v2.0 Getting Started Guide , http://ti.com, December 2008
                TMS320DM646x DMSoC ARM Subsystem Reference Guide, http://ti.com, September 2009
                DaVinci™-Based Products: TMS320DM355 Processors, http://ti.com, 2008
                Programming Details of Codec Engine for DaVinci™ Technology , http://ti.com, 2006
                TMS320DM6446 Digital Media System-on-Chip Silicon Revisions 2.1, 1.3, 1.2, and 1.1 Silicon Errata ,
                 http://ti.com, September 2009
                Digital Video Using DaVinci SoC, http://ti.com, 2007
                DaVinci™ Technology Background and Specifications , http://ti.com, 2007
                TMS320DM6446 Digital Media System-on-Chip , http://ti.com, 2007


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



             Вопросы




                                            ?
                                                51
CS MSU Graphics & Media Lab (Video Group)

Weitere ähnliche Inhalte

Was ist angesagt?

ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятью
ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятьюПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятью
ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятьюAlexey Paznikov
 
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияAlexey Paznikov
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Mikhail Kurnosov
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Mikhail Kurnosov
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Technosphere1
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Mikhail Kurnosov
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Technosphere1
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Mikhail Kurnosov
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераYandex
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Mikhail Kurnosov
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...Mikhail Kurnosov
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1
 
Современные методы Optical Flow c GPU реализацией
Современные методы Optical Flow c GPU реализациейСовременные методы Optical Flow c GPU реализацией
Современные методы Optical Flow c GPU реализациейMSU GML VideoGroup
 
Некоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийНекоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийMSU GML VideoGroup
 
Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPMikhail Kurnosov
 

Was ist angesagt? (20)

ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятью
ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятьюПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятью
ПВТ - осень 2014 - Лекция 2 - Архитектура вычислительных систем с общей памятью
 
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисленияПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
ПВТ - осень 2014 - лекция 1 - Введение в параллельные вычисления
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Векторизация кода (семинар 1)
Векторизация кода (семинар 1)Векторизация кода (семинар 1)
Векторизация кода (семинар 1)
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
 
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...Использование Time-Stamp Counter для измерения времени выполнения кода  на пр...
Использование Time-Stamp Counter для измерения времени выполнения кода на пр...
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Современные методы Optical Flow c GPU реализацией
Современные методы Optical Flow c GPU реализациейСовременные методы Optical Flow c GPU реализацией
Современные методы Optical Flow c GPU реализацией
 
Некоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображенийНекоторые алгоритмы многомерной обработки изображений
Некоторые алгоритмы многомерной обработки изображений
 
Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)Семинар 8. Параллельное программирование на MPI (часть 1)
Семинар 8. Параллельное программирование на MPI (часть 1)
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 

Ähnlich wie Обзор некоторых современных SoC

Обзор алгоритмов машинного обучения
Обзор алгоритмов машинного обученияОбзор алгоритмов машинного обучения
Обзор алгоритмов машинного обученияMSU GML VideoGroup
 
Расширения h264 и предобзор h265
Расширения h264 и предобзор h265Расширения h264 и предобзор h265
Расширения h264 и предобзор h265MSU GML VideoGroup
 
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камер
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камерБыстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камер
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камерMSU GML VideoGroup
 
Программирование на медиапроцессорах Philips Nexperia
Программирование на медиапроцессорах Philips NexperiaПрограммирование на медиапроцессорах Philips Nexperia
Программирование на медиапроцессорах Philips NexperiaMSU GML VideoGroup
 
Обзоры методов шумоподавления
Обзоры методов шумоподавленияОбзоры методов шумоподавления
Обзоры методов шумоподавленияMSU GML VideoGroup
 
Восстановление старых фильмов
Восстановление старых фильмовВосстановление старых фильмов
Восстановление старых фильмовMSU GML VideoGroup
 
Обзор библиотеки Boost
Обзор библиотеки BoostОбзор библиотеки Boost
Обзор библиотеки BoostMSU GML VideoGroup
 
Обзор процессоров Phillips Nexperia
Обзор процессоров Phillips NexperiaОбзор процессоров Phillips Nexperia
Обзор процессоров Phillips NexperiaMSU GML VideoGroup
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...CEE-SEC(R)
 
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Ontico
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...Alexey Paznikov
 
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)Эффективное использование x86-совместимых CPU (Алексей Тутубалин)
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)Ontico
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Ontico
 
Детектирование объектов переднего плана в видео
Детектирование объектов переднего плана в видеоДетектирование объектов переднего плана в видео
Детектирование объектов переднего плана в видеоMSU GML VideoGroup
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey Paznikov
 
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageAlexander Granin
 

Ähnlich wie Обзор некоторых современных SoC (20)

Обзор алгоритмов машинного обучения
Обзор алгоритмов машинного обученияОбзор алгоритмов машинного обучения
Обзор алгоритмов машинного обучения
 
Расширения h264 и предобзор h265
Расширения h264 и предобзор h265Расширения h264 и предобзор h265
Расширения h264 и предобзор h265
 
Deringing Cartoons
Deringing CartoonsDeringing Cartoons
Deringing Cartoons
 
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камер
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камерБыстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камер
Быстрое начало работы с VTune. Обзор новинок DSP.Super-Resolution для ToF-камер
 
Программирование на медиапроцессорах Philips Nexperia
Программирование на медиапроцессорах Philips NexperiaПрограммирование на медиапроцессорах Philips Nexperia
Программирование на медиапроцессорах Philips Nexperia
 
Обзоры методов шумоподавления
Обзоры методов шумоподавленияОбзоры методов шумоподавления
Обзоры методов шумоподавления
 
Восстановление старых фильмов
Восстановление старых фильмовВосстановление старых фильмов
Восстановление старых фильмов
 
Обзор библиотеки Boost
Обзор библиотеки BoostОбзор библиотеки Boost
Обзор библиотеки Boost
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
 
Обзор процессоров Phillips Nexperia
Обзор процессоров Phillips NexperiaОбзор процессоров Phillips Nexperia
Обзор процессоров Phillips Nexperia
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
 
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
Address Sanitizer или как сделать программы на c/с++ надежнее и безопаснее (К...
 
OpenACC short review
OpenACC short reviewOpenACC short review
OpenACC short review
 
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)Эффективное использование x86-совместимых CPU (Алексей Тутубалин)
Эффективное использование x86-совместимых CPU (Алексей Тутубалин)
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
 
Детектирование объектов переднего плана в видео
Детектирование объектов переднего плана в видеоДетектирование объектов переднего плана в видео
Детектирование объектов переднего плана в видео
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
 
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell language
 

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
 
Некоторые методы обнаружения артефактов 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
 
Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)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 видео
 
Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)
 

Kürzlich hochgeladen (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 

Обзор некоторых современных SoC

  • 1. Обзор некоторых современных SoC Юрий Бердников Video Group CS MSU Graphics & Media Lab
  • 2. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Stretch  NVIDIA Tegra  ARM11  Сравнение 2 CS MSU Graphics & Media Lab (Video Group)
  • 3. Only for Maxus  Содержание  Оптимизации PNX  Фиксированная точка  Restricted pointers  Оптимизация расположения данных  Личный опыт  Texas Instruments DaVinci  Stretch  NVIDIA Tegra  ARM11  Сравнение 3 CS MSU Graphics & Media Lab (Video Group)
  • 4. Only for Maxus  Оптимизации PNX Фиксированная точка  Конвертация из float A = (int) (a * (1<<N)); Latency = 6  Конвертация в float a = (float) A*(1.0/(1<<N)); Latency = 6  Сложение и вычитание A=B+C; D=E-F; fixedLatency = 1 floatLatency = 3 4 CS MSU Graphics & Media Lab (Video Group)
  • 5. Only for Maxus  Оптимизации PNX Фиксированная точка  Умножение  Деление Степень 2: A=B<<C Степень 2: A=B>>C fixedLatency=1 fixedLatency=1 Целое число: A=B*C Целое число: A=B/C fixedLatency=3 fixedLatency=23, fixedRecovery=17 Общий случай: Общий случай: A=IMULM(B, C)<<NORM A=(int)((corr*B/C) fixedLatency=4 fixedLatency=26, fixedRecovery=17 floatLatency=3 floatLatency=17, floatRecovery=17 5 CS MSU Graphics & Media Lab (Video Group)
  • 6. Only for Maxus  Оптимизации PNX Restricted pointers 6 CS MSU Graphics & Media Lab (Video Group) TriMedia Optimization Training
  • 7. Only for Maxus  Оптимизации PNX Оптимизация расположения данных  Характеристики кэша PNX1500  Объѐм – 16 КБ  Блок – 64 байта  Регистр<->кэш – 3 цикла  Кэш<->память – 40 циклов  MPEG-2 декодер  Задача компенсации движения  Полупиксельная точность  Блок 17х17 для Y, 8x8 для U и V  Оценка эффективности – количество обращений кэша к памяти на блок, худший случай 7 CS MSU Graphics & Media Lab (Video Group) TriMedia Optimization Training
  • 8. Only for Maxus  Оптимизации PNX Оптимизация расположения данных  Обращения к памяти Y – 34 обращения U – 16 обращений V – 16 обращений Итого – 66 обращений  Использование канала Y: 13.1% UV: 7.9% 8 CS MSU Graphics & Media Lab (Video Group) TriMedia Optimization Training
  • 9. Only for Maxus  Оптимизации PNX Оптимизация расположения данных  Обращения к памяти Y – 34 обращения UV – 16 обращений Итого – 50 обращений  Использование канала Y: 13.1% UV: 15.8% 9 CS MSU Graphics & Media Lab (Video Group) TriMedia Optimization Training
  • 10. Only for Maxus  Оптимизации PNX Оптимизация расположения данных  Обращения к памяти Y – 9 обращений UV – 8 обращений Итого – 17 обращений  Использование канала Y: 50.2% UV: 31.6% 10 CS MSU Graphics & Media Lab (Video Group) TriMedia Optimization Training
  • 11. Only for Maxus  Оптимизации PNX Из личного опыта  Профилировщик влияет на оптимальность операций! //степень развёртывания - 2 for (x=0; x<ext_width; x+=2){ Y[x ]=SplA[x]*(Y[x]-128)+128+SplB[x]; Y[x+1]=SplA[x+1]*(Y[x+1]-128)+128+SplB[x+1]; } Зависимость FPS от профилировщика и степени развѐртывания циклов Степень развѐртывания цикла Профилировщик 3 4 5 6 Выкл. 4.52 FPS 4.65 FPS 4.71 FPS 4.43 FPS Выкл. 8.01 FPS 8.24 FPS 8.06 FPS 7.54 FPS Работа всего фильтра, приведѐнный фрагмент занимает ~10% циклов 11 CS MSU Graphics & Media Lab (Video Group)
  • 12. Only for Maxus  Оптимизации PNX Из личного опыта  Однообразные инструкции следует группировать for (x=0; x<ext_width; x+=2){ Y[x]=SplA[x]*(Y[x]-128)+128+SplB[x]; Y[x+1]=SplA[x+1]*(Y[x+1]-128)+128+SplB[x+1]; } for (x=0; x<ext_width; x+=2){ tmp[0]=Y[x]-128; tmp[1]=Y[x+1]-128; tmp[0]*=SplA[x]; tmp[1]*=SplA[x+1]; tmp[0]+=128; tmp[1]+=128; Прирост скорости – 1.5 раза! Y[x]=tmp[0]+SplB[x]; Y[x+1]=tmp[1]+SplB[x+1; } 12 CS MSU Graphics & Media Lab (Video Group)
  • 13. Only for Maxus  Оптимизации PNX Из личного опыта  Компилятор циклы разворачивает не всегда  Конструкции вида for (x=0; x<ext_width; x+=4){ Y[x] = <some expression> Y[x+1] = <some expression> Y[x+2] = <some expression> Y[x+3] = <some expression> } Медленнее, чем for (x=0; x<ext_width; x+=4){ Y[0]= <some expression> Y[1]= <some expression> Y[2]= <some expression> Y[3]= <some expression> Y+=4; } 13 CS MSU Graphics & Media Lab (Video Group)
  • 14. Only for Maxus  Оптимизации PNX Из личного опыта  Inline для больших функций может замедлить работу  Следует избегать обращения по вычисляемым адресам for (x=0; x<ext_width; x+=4){ Histogram[Y[x]]++; Histogram[Y[x+1]]++; Histogram[Y[x+2]]++; ~7.8 циклов/пиксель! Histogram[Y[x+3]]++; }  Конструкции вида { [vars for alg1] [vars for alg1] [alg1] [vars for alg2] } [alg1] Медленнее, чем { [alg2] [vars for alg2] [alg2] } 14 CS MSU Graphics & Media Lab (Video Group)
  • 15. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Введение  Устройство  ARM256  C64x+  Программирование  Stretch  NVIDIA Tegra  ARM11  Сравнение 15 CS MSU Graphics & Media Lab (Video Group)
  • 16. Only for Maxus  Texas Instruments DaVinci Введение  Широкая линейка SoC  Ядро – ARM926 и/или С64x+  135 MHz – 900 MHz  Различный набор сопроцессоров  Область применения - обработка видео  10$ - 90$ DaVinci™ Technology Overview 16 CS MSU Graphics & Media Lab (Video Group) http://TheDaVinciEffect.com 2008
  • 17. Only for Maxus  Texas Instruments DaVinci Физические параметры 17 CS MSU Graphics & Media Lab (Video Group) S-PBGA-N529 Package description
  • 18. Only for Maxus  Texas Instruments DaVinci Сравнительная таблица моделей DaVinci™ Technology Overview 18 CS MSU Graphics & Media Lab (Video Group) http://TheDaVinciEffect.com 2008
  • 19. Only for Maxus  Texas Instruments DaVinci Пример процессора  TMS320DM6446-513  ARM Frequency - 256.5 MHz  DSP Frequency - 513 MHz  VICP - 256.5 MHz  Peak MMACS - 4104  L1 - 112 KB (DSP),40 KB (ARM)  L2 - 64 KB (DSP)  Цена - 42$ DaVinci™ Technology Overview 19 CS MSU Graphics & Media Lab (Video Group) http://TheDaVinciEffect.com 2008
  • 20. Only for Maxus  Texas Instruments DaVinci ARM926EJ-S  RISC-архитектура  Технология – 110 nm  Низкое потребление  Управляемый кэш  Расширяемость за счѐт сопроцессоров  Только целочисленная арифметика  Полный набор команд для нормальной работы ОС 20 CS MSU Graphics & Media Lab (Video Group) ARM926EJ-S™ Technical Reference Manual
  • 21. Only for Maxus  Texas Instruments DaVinci C64x+  500-700 MHz  64 32-битных регистра  8 функциональных блоков  48 ALU  16 устройств умножения  2 потока данных (Data Path)  Internal DMA  32 KB L1P cache  16 KB L1D cache  64 KB L2 cache TMS320C64x/C64x+ DSP CPU and Instruction Set 21 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 22. Only for Maxus  Texas Instruments DaVinci C64x+  Загрузка инструкций блоками по 256 байт  От 8 до 14 инструкций в блоке  Параллельное выполнение до 8 операций TMS320C64x/C64x+ DSP CPU and Instruction Set 22 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 23. Only for Maxus  Texas Instruments DaVinci C64x+ Пример параллельного выполнения операций ;Так это выглядит на ассемблере Шаг Выполняемые инструкции Instruction A 1 A Instruction B Instruction C 2 B || Instruction D 3 CDE || Instruction E Instruction F 4 FGH || Instruction G || Instruction H TMS320C64x/C64x+ DSP CPU and Instruction Set 23 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 24. Only for Maxus  Texas Instruments DaVinci C64x+  «Отложенные» операции  Операции, ориентированные на DSP TMS320C64x/C64x+ DSP CPU and Instruction Set 24 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 25. Only for Maxus  Texas Instruments DaVinci C64x+  «Условное» выполнение большинства операций Ускорение до 10 раз!  40- и 64-битная арифметика  Специальные команды для организации циклов  Аппарат прерываний  Таймеры  Прерывания от АЦП/ЦАП  Прерывания от сопроцессоров TMS320C64x/C64x+ DSP CPU and Instruction Set 25 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 26. Only for Maxus  Texas Instruments DaVinci C64x+  Ориентация на работу по 4 байта  Отсутствие операций деления  Аппаратные функции для работы с алгоритмами коррекции ошибок  Поле Галуа Gf(8), полином P(x)=x3+x+1  Коды Рида-Соломона TMS320C64x/C64x+ DSP CPU and Instruction Set 26 CS MSU Graphics & Media Lab (Video Group) Reference Guide
  • 27. Only for Maxus  Texas Instruments DaVinci Программирование  Язык – С, С++ с дополнительными командами  ОС - Windows, Linux, MacOS  Code Composer Studio  IDE (На основе Eclipse)  Заголовочные и библиотечные файлы  Компилятор  Средства отладки  Программы эмуляции  Профилировщики 27 CS MSU Graphics & Media Lab (Video Group) TI CCStudio Description Paper
  • 28. Only for Maxus  Texas Instruments DaVinci Программирование. Code Composer Studio 28 CS MSU Graphics & Media Lab (Video Group) TI CCStudio Description Paper
  • 29. Only for Maxus  Texas Instruments DaVinci Программирование.Code Composer Studio  Особенности CCStudio  Независимость от платформы  Независимость от языка программирования  Поддержка скриптов  Оптимизирующий компилятор  Взаимодействие с DSP/BIOS  Средства для визуального контроля 29 CS MSU Graphics & Media Lab (Video Group) TI CCStudio Description Paper
  • 30. Only for Maxus  Texas Instruments DaVinci Программирование.Code Composer Studio 30 CS MSU Graphics & Media Lab (Video Group) TI CCStudio Description Paper
  • 31. Only for Maxus  Texas Instruments DaVinci Программирование. Hello, world! //Simple HelloWorld program – only ARM void main(int argc, char *argv[]) { printf(“DaVinci Rulezzz!!!n"); fflush(stdout); return; }  ARM и DSP – разные вещи!  ARM – основной процессор, на нѐм работает ОС  DSP – сопроцессор  кэш у каждого свой  Низкая скорость при выполнении последовательных команд разными процессорами TI DaVinci: DSP and ARM communication 31 CS MSU Graphics & Media Lab (Video Group) Mark Johnson
  • 32. Only for Maxus  Texas Instruments DaVinci Программирование. Hello, world! Раздельные программы для ARM и DSP //Simple HelloWorld program – DSP part void main(int argc, char *argv[]) { printf(“DaVinci Rulezzz!!!n"); fflush(stdout); return; } //Simple HelloWorld program – ARM part ... PROC_Setup(); PROC_Attach(ID_PROCESSOR, NULL); PROC_Load(ID_PROCESSOR, “Helloworld_dsp_part.out”, NUM_ARGS, NULL); PROC_Start(ID_PROCESSOR); ... TI DaVinci: DSP and ARM communication 32 CS MSU Graphics & Media Lab (Video Group) Mark Johnson
  • 33. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Stretch  Введение  Устройство  Программирование  NVIDIA Tegra  ARM11  Сравнение 33 CS MSU Graphics & Media Lab (Video Group)
  • 34. Only for Maxus  Stretch S6000 Введение  Область применения – обработка видео  Конфигурируемый процессор  Возможность кластеризации  Кодирование в реальном времени H.264 1xHD или 4xSD  Ориентация на параллельные вычисления  Цена – от 25$ The S6000 Family overview 34 CS MSU Graphics & Media Lab (Video Group) http://stretchinc.com 2009
  • 35. Only for Maxus  Stretch S6000 Устройство  VLIW  Instruction Set Extension Fabric  Аппаратная реализация часто встречающихся функций  Оптимизирован для H.264  64 KB RAM  4096 ALU  32 128-битных регистра  Изменение ISEF за 27 uS  Ввод-вывод до 2.4 GB/S  167-345 MHz The S6000 Family overview 35 CS MSU Graphics & Media Lab (Video Group) http://stretchinc.com 2009
  • 36. Only for Maxus  Stretch S6000 Программирование  С/С++  Stretch C  Assembler The S6000 Family overview 36 CS MSU Graphics & Media Lab (Video Group) http://stretchinc.com 2009
  • 37. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Stretch  NVIDIA Tegra  ARM11  Сравнение 37 CS MSU Graphics & Media Lab (Video Group)
  • 38. Only for Maxus  NVIDIA Tegra Введение  Анонс – 2 июня 2008  Первое коммерческое применение –сентябрь 2009 (Microsoft Zune HD)  Область применения – мобильные устройства, GPS, смартфоны  Ядро – ARM11, 600-900 MHz NVIDIA Tegra Overview 38 CS MSU Graphics & Media Lab (Video Group) http://www.nvidia.ru/object/product_tegra_apx_en.html 2009
  • 39. Only for Maxus  NVIDIA Tegra Устройство NVIDIA Tegra APX 2500  Ядро – ARM11, 600 MHz  Графический сопроцессор ULP GeForce  Выход на LCD до 854×480  Поддержка камеры до 12 МП  OpenGL ES 2.0  Direct3D Mobile  Декодирование H264 – 720p, 30FPS NVIDIA Tegra APX Overview 39 CS MSU Graphics & Media Lab (Video Group) http://www.nvidia.ru/object/product_tegra_apx_en.html 2009
  • 40. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Stretch  NVIDIA Tegra  ARM11  Введение  Устройство  Примеры команд  Сравнение 40 CS MSU Graphics & Media Lab (Video Group)
  • 41. Only for Maxus  ARM11 Введение  Архитектура – RISC  Область применения – мобильные устройства, встроенные системы  Частота – 300-700 MHz  Потребление - 0.6мВт/МГц  Набор команд для DSP  Эффективное выполнение JAVA-байткода  Этот процессор используется в Apple iPhone! ARM1156T2-S Reference Guide 41 CS MSU Graphics & Media Lab (Video Group) http://arm.com/products/CPUs/ARM1156T2-S.html
  • 42. Only for Maxus  ARM11 Устройство  Технология – 90nm  32/16-битная архитектура  Набор инструкций Thumb-2  Набор SIMD-инструкций  Управляемый кэш  Расширяемость за счѐт сопроцессоров  Global Branch Prediction Unit  Аппарат защиты памяти  Система отладки CoreSight™  Операции с фиксированной и плавающей точкой ARM1156T2-S Reference Guide 42 CS MSU Graphics & Media Lab (Video Group) http://arm.com/products/CPUs/ARM1156T2-S.html
  • 43. Only for Maxus  ARM11 Примеры инструкций  SIMD-инструкции  USAD8  SUB16  Thumb-инструкции Выигрыш ~30% по скорости и компактности кода 43 CS MSU Graphics & Media Lab (Video Group) ARM Architecture Reference Manual
  • 44. Only for Maxus  ARM11 Примеры инструкций  Инструкции управления кэшем  PLD  Инструкции взаимодействия с сопроцессорами  MCR/MRC  LDC  Инструкции управления GBPU  PrefetchFlush 44 CS MSU Graphics & Media Lab (Video Group) ARM Architecture Reference Manual
  • 45. Only for Maxus  ARM11 Условное выполнение команд //исходный код на С int gcd(int a, int b) //«Прямая» реализация на ARM { gcd CMP r0, r1 while (a != b) BEQ end { BLT less if (a > b) SUB r0, r0, r1 a = a - b; B gcd else less b = b - a; SUB r1, r1, r0 } B gcd return a; end } Циклов на итерацию Реализация //«Умная» реализация на ARM Худший Лучший gcd случай случай CMP r0, r1 «Прямая» 17 11 SUBGT r0, r0, r1 SUBLE r1, r1, r0 «Умная» 10 10 BNE gcd Example of the use of conditional execution 45 CS MSU Graphics & Media Lab (Video Group) http://www.keil.com/support/man/docs/armasm/
  • 46. Only for Maxus  Содержание  Оптимизации PNX  Texas Instruments DaVinci  Stretch  NVIDIA Tegra  ARM11  Сравнение 46 CS MSU Graphics & Media Lab (Video Group)
  • 47. Only for Maxus  Сравнение SoC Назначение Область Сложность Мощность Цена применения программи рования PNX DSP Видеонаблюдение, Низкая 1-4 W 30-35 $/чип обработка звука 3000 $/DevKit DaVinci DSP, 3D-графика, Встроенные системы, Средняя 0.5-2 W 10-90 $/чип CPU видеонаблюдение 3-10 тыс.$/DevKit ARM11 CPU Мобильные Низкая 0.2-1.2 W 10-30 $/чип устройства, 1000 $/DevKit встроенные системы Tegra Обработка видео, Мобильные ? ? ? 3D-графика, устройства Функции CPU Scratch Обработка видео Встроенные системы Выше 0.7-1.5 W 25-35 $/чип среднего 3000 $/DevKit 47 CS MSU Graphics & Media Lab (Video Group)
  • 48. Only for Maxus  Сравнение SoC Преимущества Недостатки PNX Хорошая документация, простота «первого Узкий модельный ряд, низкое соотношение шага», невысокая цена производительность/потребляемая мощность DaVinci Широкая линейка продуктов, высокая Высокая цена как на чипы, так и на средства производительность для широкого круга разработки задач, аппаратная реализация часто встречающихся функций, активное сообщество разработчиков, возможна работа полноценной ОС ARM11 Эффективен на «нераспараллеливаемых» Большое количество внешних элементов задачах, возможна работа полноценной ОС, расширяемость за счѐт сопроцессоров Tegra Объединение в одном корпусе CPU и GPU, [временно?] Отсутствие в свободной активное «продвижение» производителем продаже средств разработки, недостаток информации Scratch Отличная производительность на «хорошо Сложность эффективного программирования распараллеливаемых» задачах, характерных для обработки видео 48 CS MSU Graphics & Media Lab (Video Group)
  • 49. Only for Maxus  Список литературы  Оптимизация PNX  TriMedia optimization guide, TCS5.1, 2006  TriMedia CookBook, TCS5.1, 2006  Nexperia PNX100x optimization slideshow, NDK 6.1, 2009  NVIDIA Tegra  NVIDIA Tegra серии APX, http://www.nvidia.ru/object/product_tegra_apx_ru.html, 2009  NVIDIA Makes the Future, http://cnn.com, 2009  ARM  ARM Architecture reference manual, http://arm.com, 2008  ARM DSP-Enhanced Extensions, http://arm.com, 2005  ARM SoC Architecture, Lung Hao-Chang, 2006  ARM926EJ-S™ Technical Reference Manual, http://arm.com, 2008  Stretch  Stretch Goals, FPGA and Programmable Logic Journal, http://fpgajournal.com, 02.08.2005  S6000 Family, http://stretchinc.com, 2009  S6 Architecture Overview, http://stretchinc.com, 2009  Stretch IDE Development tool, http://stretchinc.com, 2009 49 CS MSU Graphics & Media Lab (Video Group)
  • 50. Only for Maxus  Список литературы  DaVinci  S-PBGA-N529 Package description, http://ti.com, 2009  TMS320DM644 6/3 Power Consumption Summary, http://ti.com, February 2008  DaVinci™ Technology Overview , http://ti.com, September 2008  Using the DSP in the Dual-Core DaVinci as a Graphics Render Engine, http://ti.com, March 2007  TMS320DM644x™ Processors–Video Benchmarks, http://ti.com, 2006  TMS320DM644x Digital Media Processors, http://ti.com, 2007  HD Video Surveillance IP Camera Reference Designs , http://ti.com, 2007  TMS320C6000 CPU and Instruction Set Reference Guide, http://ti.com, 2007  TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide, http://ti.com, October 2008  TMS320DM6446 DVEVM v2.0 Getting Started Guide , http://ti.com, December 2008  TMS320DM646x DMSoC ARM Subsystem Reference Guide, http://ti.com, September 2009  DaVinci™-Based Products: TMS320DM355 Processors, http://ti.com, 2008  Programming Details of Codec Engine for DaVinci™ Technology , http://ti.com, 2006  TMS320DM6446 Digital Media System-on-Chip Silicon Revisions 2.1, 1.3, 1.2, and 1.1 Silicon Errata , http://ti.com, September 2009  Digital Video Using DaVinci SoC, http://ti.com, 2007  DaVinci™ Technology Background and Specifications , http://ti.com, 2007  TMS320DM6446 Digital Media System-on-Chip , http://ti.com, 2007 50 CS MSU Graphics & Media Lab (Video Group)
  • 51. Only for Maxus  Вопросы ? 51 CS MSU Graphics & Media Lab (Video Group)