Itch 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба Раз уж зашел спор о пиписьках, интересно, сколько у НВидии в том же G200 соотношение Вт/ММАС или Вт/MIPS ? Все-таки 1.4млрд 65нм транзисторов... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба вот аж любопытно стало (по топику BlackFin vs ARM9 ): смотрю на плату и вижу аппаратный mp3|MIDI-декодер.. весь пар ушёл в свисток?!? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба вот аж любопытно стало (по топику BlackFin vs ARM9 ): смотрю на плату и вижу аппаратный mp3|MIDI-декодер.. весь пар ушёл в свисток?!? :) Ну зачем Вы так - автор ударными планами освоил blackFin - уже одно это замечательно. Преследовалась цель, я так понял, портировать готовый исходник эмулятора. Цель выполнена... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Itch 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба Кстати, VLSI имеет сразу выход на наушники, что очень удобно. К тому же ее тоже интересно пощупать, т.к. ее можно и программировать, писать эквалайзеры, фильтры и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikeT 0 4 апреля, 2009 Опубликовано 4 апреля, 2009 (изменено) · Жалоба Тут речь зашла про семейства С64, С64+, С674х. Хочу кинуть свои 5 копеек. Может кому-то будет полезно как еще одно мнение человека, который с этими семействами работал. Я 8 лет плотно «сидел» на этих семействах (кроме С674х, ну и, естественно, С64+ не 8 лет, т.к. он появился всего несколько лет назад). Работа была ориентирована на серийные разработки – в настоящее время по всему миру работают десятки тысяч наших многопроцессорных плат (от маленьких с двумя С64хх на плате до числодробилок с 24 С64/C64+ на плате), которые в свою очередь стоят в составе комплексов верхнего уровня. Это все из области телекома. Сразу скажу – в принципе вещь неплохая и даже хорошая, но… Если вы только выбираете на что закладываться, то стоит подумать. Хочу выделить несколько «координат» для анализа, отобранных по принципу «о чем тут писали и спорили». 1) Вычислительная мощность. Берем 3-х ядерник TMS320C6474 CPU 3 C64x+ Peak MMACS 24000 (16-bit) Frequency(MHz) 1000 Величина 24000, несомненно, впечатляет. Но получается она вот таким нехитрым образом – 3 ядра, работающих на частоте 1000 MHz и каждое ядро имеет 8 функциональных блоков. Перемножаем и получаем. Можете проверить – тоже самое «работает» и для других семейств, например С64, С64+ одноядерники. Что С64, что С64+ (неважно, сколько ядер) – это VLIW процессор, у которого командное слово = 256 бит, которое в свою очередь состоит из 8 32-битных команд, которые параллельно обрабатываются на 8 функциональных устройствах. Это, в общем, «классика VLIW - теории». Добавлю еще «рекламы» - уже в С64, а в С64+ тем более Техас добавил некоторые SIMD команды (Single Instruction – Multiple Data) в набор тех самых «маленьких» 32-битых команд. То есть, например, можно параллельно с 4 байтами что-то сделать. Получается вообще куча операций в параллель. Что мы видим в теории и в реале. В теории, если почитать умные книжки и теорию про VLIW, то все (серьезные разработчики супер-ЭВМ и разработчики компиляторов) признают ряд недостатков, в частности то, что достичь 100% загрузки всех функциональных блоков в параллель крайне трудно. Как следствие, код (машинный) получается неоптимальный по объему. Ну и скорость не достигается пиковая. Техас конечно пишет, что «все пучком» и что «у нас VelociTI® архитектура», но реально 100% загрузки как не было так и нет. В реале, на мой взгляд, очень хороший материал для анализа – это пакеты (либы) наподобие DSPLIB (это Техасовское) – то есть набор базовых DSP и математических функций, предельно оптимизированных под конкретную платформу. Все эти либы доступны, имеются исходники, документация и т.п. Для каждой функции приведено точное соотношение, показывающее ее время выполнения как функцию размерности входных данных. Например, если вам требуется скалярное произведение двух векторов и длина вектора N, то написано, что «требуется N/k тактов процессора». Можно взять подобные вещи (или более крупные блоки) от других фирм, но суть в общем одна – что Техас, что эти фирмы, которые продают подобную продукцию, предельно заинтересованы «показать товар лицом», то есть показать наивысшую производительность, т.к. это DSP – операции – именно, то для чего этот процессор и создан. Так вот, для набора функций из DSPLIB четко видно, что даже для конкретной отдельной функции соотношение N/8 (то есть удалось «уложить» ее на 8 блоков параллельно) достигается не так часто. Гораздо чаще N/4, а то и вообще N/2. Это для DSP-функций! Для линейного или «контроллерного» кода все может быть еще хуже. Более того, сравнивая доки на либы для 64 и 64+, неприятно поражаемся тем, что «а особого прироста производительности то и нет!!» (реально есть, конечно, но не «прорыв»). Мы после того как это все поняли (что на практике декларации про много-много MOPS это просто реклама) стали называть не MegaOPS, а «MegaNOPS» То есть, пиковая производительность, конечно, будет та, что написана в доке и даже какие-то функции ее «отработают», но это будет не 90% и даже не 5% критических участков. 2) Насчет потребления и насчет MOPS/watt. Во-первых, если реальные MOPS не такие как в п.1 (см. выше), то все не так шоколадно – реально это раза в 4 хуже. Во-вторых, Техас скорее всего «в рекламе» (то есть на первой странице и в кратких обзорах) приводит некую усредненную цифру без учета потребления периферии и т.п. В доках есть методики анализа потребления при конкретных условиях, при загрузке конкретных перефирийных блоков и т.п. Боюсь, что там будет не так хорошо как написано на первой странице. Но я в этом не сильно копался, т.к. для наших устройств проблема потребления практически не стояла – на стойки с платами хоть сотни ампер могли вкачать, если надо было. В общем, слова «малопотребляемый 64+» у меня вызывают недоумение. 3) По плавающей точке. С 674х работать не довелось. Работали немного с 6711 и 6701 (старые). Но, в 674х вроде бы та-же самая «аппаратная» SP плавучка. Если ее хватает, то все ок. А если нужна DP, то стоит подумать. Вообще по плавающей точке я бы не стал на Техас закладываться. 4) Насчет «ноналигнед позволяет спокойно решать любую задачу». Для 64 с этим есть определенные траблы – решить то решите, только производительность будет падать – конкретно там смотреть надо – что и как делается. Для 64+ - врать не буду, по моему «те же яйца только в профиль». В общем, если кто на это рассчитывает, то рекомендую внимательно все доки посмотреть, чтобы потом не было разочарования. Но, в общем, сказать что «64+ - плохо/рулез, а ХХХ – рулез/плохо» это глупо. Надо просто прикинуть вдумчиво. Если нужны быстрые функции из набора DSPLIB, то может лучше их на ПЛИС переложить?! Это не утвержедение из разряда «вот так надо!», а скорее призыв «кому нужно – спокойно все взвесить». Изменено 4 апреля, 2009 пользователем mikeT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 5 апреля, 2009 Опубликовано 5 апреля, 2009 · Жалоба смотрю на плату и вижу аппаратный mp3|MIDI-декодер.. весь пар ушёл в свисток?!? Процитирую концепцию: Все мощи CPU должны быть кинуты исключительно на код эмуляции и управление периферией. При таком раскладе велики шансы заэмулировать приставки типа SEGA MD и SNES без тормозов, используя кроссплатформенные сорцы эмуляторов! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 8 апреля, 2009 Опубликовано 8 апреля, 2009 · Жалоба Портировал эмулятор SEGA MegaDrive !!! Читать и смотреть здесь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Itch 0 8 апреля, 2009 Опубликовано 8 апреля, 2009 · Жалоба Круто! Интересно, а как вы воспроизводите звук? В приставках стояли спец-чипы, которые воспроизводили различные тона, шумы и т.п. Вы их как-то обрабатываете, или у с эмулятора сразу выходит PCM поток звуковой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 8 апреля, 2009 Опубликовано 8 апреля, 2009 (изменено) · Жалоба Круто! Интересно, а как вы воспроизводите звук? В приставках стояли спец-чипы, которые воспроизводили различные тона, шумы и т.п. Вы их как-то обрабатываете, или у с эмулятора сразу выходит PCM поток звуковой? есть программныe модули, эмулирующие звуковые чипы приставок. Есть массив регистров - это вход. На выходе строится буфер с заданным рейтом и разрядностью (у меня на девайсе 22050Гц, 8бит). Буфер апдейтится по кадровому прерыванию эмулируемой приставки - поэтому его длина должна быть 22050/60=~370 байт или около того. Иначе если буфер мелкий - звук будет хрипеть, а если больше - звук будет как бы проглатываться. Изменено 8 апреля, 2009 пользователем denebopetukius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 1 июня, 2009 Опубликовано 1 июня, 2009 · Жалоба Пока был в отпуске, портировал ещё 4 эмуля!!! Вот они: SNES NEO-GEO MVS GBA SMS/GG Обновлён сайт: http://emu-apparatchik.narod.ru http://emu-apparatchik.narod.ru/New.htm http://emu-apparatchik.narod.ru/DT.htm Ура! Ура Ура !!! :rolleyes: Мало того, доделал эмуль SEGA MD Видео, фотки, описание - всё на сайте ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 8 июня, 2009 Опубликовано 8 июня, 2009 (изменено) · Жалоба Портирован эмулятор приставки NEC PC-Engine (Turbo GraFX-16): http://emu-apparatchik.narod.ru/DT_PCE.htm так что фиг с ним - с недостатком софта под BlackFin'ы - это можно скомпенсировать, написав софт самому :rolleyes: Изменено 8 июня, 2009 пользователем denebopetukius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 15 июня, 2009 Опубликовано 15 июня, 2009 (изменено) · Жалоба может быть кому-нибудь пригодится... высылаю печатные платы устройства (на руках 9 шт) и часть комплектующих(мелочь в основном) вопросы/предложения на dre1983<at>mail<dot>ru или в личку сюда Изменено 15 июня, 2009 пользователем denebopetukius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 20 июня, 2009 Опубликовано 20 июня, 2009 · Жалоба Имхо, было бы интересно сравнить Blackfin и AVR32. :) Здесь указана максимальная производительность AVR32 до 295 MIPS У блекфина который применяется у меня - 400 MIPS (это правильно?) Получается проигрыш в 2 раза, поэтому нечего даже сравнивать... Еще забыли соотношение производительность/потребление. И то, что 64хх - это DSP в чистом виде, а Blackfin - почти МК, т.е. и обычный управляющий код на него ложится вполне неплохо в отличие от процов с ЦОС уклоном. а вот это уже интересно... Перечитал по несколько раз высказывания в этой ветке по поводу С64, С67 и C674 В настоящее время ищу более быстрый процессор, чем BF @400MHz в QFP корпусе. Приглянулся C6745 на 300МГц в QFP. Что радует: 1) паяемый корпус 2) VLIW архитектура - до 8 обычных команд за 1 цикл 3) большой объем внутреннего ОЗУ (в моих целях очень полезно - можно некоторые эмуляторы исполнять прямо в ней) 4) две шины - на одну вешаем LCD, на вторую SDRAM, что исключает арбитраж шины и поочередное обращение к устройствам Что отталкивает: 1) в большинстве случаев не удается полностью загрузить CPU до 8 инструкций за 1 цикл (чаще всего 2инстр./цикл) 2) более низкая частота 300 МГц против 400 МГц блекфиновских 3) асинхронная шина EMIFA в QFP урезана до 8 бит - это увеличит время обмена с дисплеем в 2 раза (LCD 16-битный) 4) доступны пробные версии камня с возможными глюками (помните в LPC22xx нерабочую внешнюю шину ???) 5) отсутствие экзамплов для подключения периферии - например, как к ихнему SPI привешать кодек VS1003 у которого 2 чипселекта? Можно ли задействовать ноги SPI_CS и SPI_Enable как обычные GPIO? Интересно мнение тех, кому приходилось работать с TMS'ами и BF'ами. Склоняюсь к 2-м выводам: 1) 8-битная шина LCD понизит обмен в 2 раза - будет проигрыш 2) неудасться полностью загрузить VLIW - как минимум выигрыш в 2 раза итого, при применении C6745 на 300 МГц против BF на 400 MHz выйгрыша на General purpose Code вообще не будет... Поправьте, если в чем-то заблуждаюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denebopetukius 0 20 июня, 2009 Опубликовано 20 июня, 2009 · Жалоба вот что придумал с LCD - делаем EMIFA псевдо 16-битной (требуется только запись, чтение запрещено). вот таким макаром: CPU---LCD D0-----D0 D1-----D1 D2-----D2 D3-----D3 D4-----D4 D5-----D5 D6-----D6 D7-----D7 BA0----D8 BA1----D9 A0------D10 A1------D11 A2 ------D12 A3------D13 A4------D14 A5------D15 A12-----Command/Data CS[]-----LCD CS nWR-----LCD nWR Pull Up----LCD nRD обращаться к памяти LCD: *(char*)(LCD_Data_Base|(Data>>8))=Data; к командам: *(char*)(LCD_Command_Base|(Command>>8))=Command; LCD на асинхронной шине. Одно обращение около 20мгц (tsetup+twr+thold) 6745 на 300 МГц Одно вышенаписанное обращение позволяет нарисовать один 16-пиксель на LCD (режим директколор без поллитр) Если же LCD подключить стандартно 8 бит, то для одного пикселя будет 2 обращения. Учитывая вычисления адреса, осмелюсь предположить, что такое "необычное включение" даст выигрыш в 1.75... 2 раза (в расчёт входило время вычисления адреса). кто что думает по этому поводу? будет ли реально быстрее? (отрисовка в LCD, программа)? ЗЫ: ну конечноже переменная Data - это элемент массива палитры, располагающегося в L1/L2 =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 20 июня, 2009 Опубликовано 20 июня, 2009 · Жалоба Здесь указана максимальная производительность AVR32 до 295 MIPS У блекфина который применяется у меня - 400 MIPS (это правильно?) Это "сферические" мипсы. Не интересно. Интересно на реальных задачах. Контроллерных, обработке сигналов и т.п. итого, при применении C6745 на 300 МГц против BF на 400 MHz выйгрыша на General purpose Code вообще не будет... Поправьте, если в чем-то заблуждаюсь. Эти сравнивать смысла нет. Один почти МК, второй - почти чистый DSP, к тому же, насколько помню, этот с плавающей точкой. Где годится один, второй совсем не годится. И наоборот. Можно еще AVR8 c РС сравнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться