Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR32?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > AVR32
Страницы: 1, 2, 3
zltigo
Цитата(SasaVitebsk @ Apr 9 2007, 16:47) *
Я считаю что рынок не так уж забит, и у AVR32 есть шанс вырваться в лидеры.

В лидеры? В лидеры ни малейших шансов, по крайней мере до начала выпуска совместимых девайсов несколькими производителями. Для сегодняшней ситуации это абсолютно неприложное условие. Времена монополий на сегодняшний день кончились.
Цитата
А ещё я считаю что совместимость в области х86 которая принесла такой рывок и была гиганским ускорителем рынка PC, начиная с какого-то момента и по сегодняшний день является страшнейшим тормозом.

Да нет там в этой совместимости ничего сташно тормозящего прогресс. В больших процессорах поддержка x86 (читай 86,186,286) чисто небольшая заплатка. Сами старшие модели в защищенном режиме вполне себе нормальные 32bit процессоры. О чем можно спорить? О том, что они, напрмер, не RISC? Были-бы RISC вот тогда... что тогда гигагерцев больше выжали? Была-бы другая "супер архитектура" в два раза быстрее PC грузился? Никто на данный момент не может ничего предоставить в два раза "шустрее", не говоря уже о том, что-бы это было еще в два раза дешевле (старая истина о завоевании массового рынка - все удвоить а цену в два раза снизить).
AVR32 в своем сегменте никакими революциоными качествами не обладает - там снизили, там повысили, там пообещали, там несколько (в рекламных целях) новых "прогрессивных" абревиатур изобрели.
Не быть ему лидером. ARM во время своего появления тоже не блистал, но по крайней мере два революционных свойства содержал - открытость к выпуску сторонними производителями и экстремальная простота, позволяющая производить приличный контроллер на дешевом/устаревшем оборудовании.
SasaVitebsk
Цитата(zltigo @ Apr 9 2007, 18:19) *
В лидеры? В лидеры ни малейших шансов, по крайней мере до начала выпуска совместимых девайсов несколькими производителями. Для сегодняшней ситуации это абсолютно неприложное условие. Времена монополий на сегодняшний день кончились.

В принципе согласен, но при одной оговорке. При правильном подходе можно вырваться в лидеры. Это сделать можно, но для этого звёзды должны красиво лечь. Ну каковы были шансы у Била Гейтса с его Microsoft стать компанией #1?
Цитата
Да нет там в этой совместимости ничего сташно тормозящего прогресс. В больших процессорах поддержка x86 (читай 86,186,286) чисто небольшая заплатка. Сами старшие модели в защищенном режиме вполне себе нормальные 32bit процессоры. О чем можно спорить? О том, что они, напрмер, не RISC? Были-бы RISC вот тогда... что тогда гигагерцев больше выжали? Была-бы другая "супер архитектура" в два раза быстрее PC грузился? Никто на данный момент не может ничего предоставить в два раза "шустрее", не говоря уже о том, что-бы это было еще в два раза дешевле (старая истина о завоевании массового рынка - все удвоить а цену в два раза снизить).

Здесь я неправильно выразился. Сам по себе проц как проц. Ну было на тот момент регистров 8 штук. Тогда это была норма. Сейчас ни одна контора с таким количеством регистров проц не выпустит. А сейчас добавлять - бессмысленно из-за СОВМЕСТИМОСТИ. (Вот вам пример, хотя и мелкий). Второй момент страничная адресация. Хотя и преодолена, но раком.
Но в принципе здесь я с Вами согласен.

В большей степени сам IBM/PC как таковой. Вот Вам список архитектурных хомутов которые тормозили и продолжают (пусть косвенно) тормозить прогресс. (Большенство устранено, но не вылезая за рамки - мы же понимаем, что с чистого листа таких решений бы не было).
- Структура памяти
- Структура памяти под внешние устр-ва и в первую голову под VIDEO
- адресация переферии
- система с BIOS и BIOSа различной переферии
- ISA переферия. И как результат шина PCI с оглядкой на ISA.
- IDE да и вообще файловая система фат с её четырьмя ревизиями (Это уже софт конечно, но я просто привожу пример как передовая технология при ИЗЛИШНЕЙ СОВМЕСТИМОСТИ может тормозить развитие новых технологий)
ну и так далее. И ведь все это понимают, но начать процесс наново ни у кого не хватает финансов-желания-возможности.
Цитата
AVR32 в своем сегменте никакими революциоными качествами не обладает - там снизили, там повысили, там пообещали, там несколько (в рекламных целях) новых "прогрессивных" абревиатур изобрели.
Не быть ему лидером. ARM во время своего появления тоже не блистал, но по крайней мере два революционных свойства содержал - открытость к выпуску сторонними производителями и экстремальная простота, позволяющая производить приличный контроллер на дешевом/устаревшем оборудовании.


А вот здесь я с Вами не соглашусь. Вы уж простите. И AVR я выбрал не из-за флэши и частоты. На тот момент флэш была у той же 51 от той же Atmel, а частота AVR была 8МГц и они писали в ответах пользователям, что выше не будет!!!

Основным была система комманд. Грамотная, продуманная. И реализация прерываний. И на сегодня лучшая чем в ARM. Хоть и не безупречная. Колличество регистров. По началу действительно на асме практически все писали. Не то что к Си, - к инету доступ был нулевой. Ну и AVR Studio это был последний штрих.

Вы знаете, что чтобы писать на 51 однокристалке я написал свой эмулятор. Не от хорошей жизни. (Могу выложить как раритет smile.gif ). И макроассемблер нашёл с каким-то рваным описанием.

Так что AVR Studio - это был колоссальный шаг на встречу разработчикам.



Теперь об AVR32. Посмотрите на систему команд этой однокристалки в свете моих признаний. smile.gif Посмотрите и честно ответьте сами. Есть там что "революционное" или нет. Не всё ведь в мипсах выражается. Так в своё время при переносе одного изделия с х51 на AVR я с удивлением обнаружил, что она и по коду практически один в один. Хотя х51 8 бит код команды, а AVR - 16 бит. А по тактам совсем наголову. Причина - аккумулятор в х51. (Тоже кстати серьёзный тормоз х86 процов). Так что RISK-RISKу рознь. Если здесь я одной инструкцией две ARMовских заменю - то это как революционно? А если пятью - 15?

Теперь о самой системе команд. Да.... На асме там не попишешь.... smile.gif Я бы сказал, что она ближе к Intellу. Только более продумана. Я о том, что команды разной длины, ортогональные (как они пишут) различные до безобразия. Объединены в разных немыслимых комбинациях. Есть и трёхадресные и двухадресные. Есть DSPишные.


Одним словом не так всё однозначно zltigo. Мне если чесно её пока некуда воткнуть, а вот Вам бы как раз я советовал бы присмотреться. biggrin.gif Во всяком случае когда массово пойдёт.
zltigo
Цитата(SasaVitebsk @ Apr 9 2007, 19:15) *
Второй момент страничная адресация. Хотя и преодолена, но раком.

Каким-таким "раком"? В protected или flat режимах обычнейшая линейная 32bit адресация.
Цитата
Вот Вам список архитектурных хомутов которые тормозили и продолжают (пусть косвенно) тормозить прогресс.
...
- Структура памяти

Структура - 32bit линейная адресация. Какие проблемы?
Цитата
- Структура памяти под внешние устр-ва и в первую голову под VIDEO
- адресация переферии

Опять путаете с реалмодовым режимом???
Цитата
- система с BIOS и BIOSа различной переферии

Э... А как простите система грузиться/инициализироваться должна? Ну а после загрузки пользоваться BIOS никто не заставляет.
Цитата
ISA переферия. И как результат шина PCI с оглядкой на ISA.

Много лет уже нет ISA, MCA, VESA, AGP, PCI помирает... Вы в каком мире живете?
PCI, кстати совершенно межплатформенный стандарт .... был....
Цитата
- IDE да

Совершенно непонятно какое отношение это к x86 имеет, но SСSI, SATA не приходилось слышать?
И какой такой неизгладимый отпечаток x86 на IDE нанес?
Цитата
и вообще файловая система фат с её четырьмя ревизиями (Это уже софт конечно, но я просто привожу пример как передовая технология при ИЗЛИШНЕЙ СОВМЕСТИМОСТИ может тормозить развитие новых технологий)

Количество файловых систем ввиду их софтовости превышает все разумные границы, причем количество FATов исчезающе мало на общем фоне файловых систем. Тормоза от такого разнообразия имеют место быть, но причем опять здесь x86?
Цитата
Основным была система комманд. Грамотная, продуманная.

Вполне себе в лоб сделанная, поскольку ресурсы позволяли на тот момент уже более навороченное контроллерное железо, нежели почти десять лет назад. Думали там уже мало - можно уже было "просто
трясти". Вот и потрясли, потом мне помнится еще и утрясать пришлось sad.gif
Цитата
И реализация прерываний. И на сегодня лучшая чем в ARM.

smile.gif Попробуйте поработать. И, кстати, контролер прерываний от ядра не зависит и может быть и не от
ARM а и самодельный (у STR7 он полное дерьмо) и улучшенный.
SasaVitebsk
Цитата(zltigo @ Apr 9 2007, 21:14) *
Много лет уже нет ISA, MCA, VESA, AGP, PCI помирает... Вы в каком мире живете?
PCI, кстати совершенно межплатформенный стандарт .... был....


Ну Вы же как раз меня понимаете. smile.gif Прикидываетесь только. biggrin.gif

Ясно что самой ISA уже давно в помине нет. И мой самопальный программатор под эту шину (Ээээ-эх) давно подарен пионерам. smile.gif А то что Вы перечислили - это уход от данного решения. Посмотрите сами. Всё сделано с оглядкой на ISA. Для совместимости.

При обращении к ISA устройствам по сути происходит задержка(Точнее ожидается ответ PCI и если он не приходит ч/з нек. время операция на шине завершается). И по барабану что данная переферия в мат плату интегрирована. Система добросовестно выжидает ответ (PCI то ответит быстро - ISA никогда). Само устройство может и быстрее сработать, но шина не позволит. Разве это не пример того что передовое решение тормозит дальнейшее развитие из-за совместимости?

Да Вы правы память в защищённом режиме одним куском. Да и до этого было 10 решений того же плана. Но все эти телодвижения EMS, LIM и прочие, сама винда начальных этапов - это же только из-за необходимости совместимости. То есть опять начальное решение - передовое по тому времени из-за совместимости с какого-то этапа является тормозом.


Ну посмотрите, если бы сейчас проектировали процессор с чистого листа. Да ладно не сейчас - лет 20 назад. А процессор был бы предназначен для замены текущих офисных - мог бы появится монстр типа нынешних? Да не в жизнь. С точки зрения электроники - он был бы таким же. Но система команд, структура регистров были бы в корне отличными! Почему же такой монстр является основным процессором? Только из-за совместимости!

Посмотрите на процессоры Sony PS/3 или XBOX. Вот это процессор реализованный с чистого листа той же Intel. И отличается он от пня как небо от земли. А почему его применили? Почему не пень? Потому что игры или графика??? Нет! Основная причина, что совместимость поддерживать не надо! Всё равно всё придётся менять! И видеоподсистема организована совершенно по другому.



Я стараюсь делать совместимые вещи. Я же не являюсь законодателем. Но когда совместимость является тормозом, то пусть болезненно, но умирает, а на её место приходит новая технология.



Конечно возьмём наладонники. Как туда воткнуться AVR32. Да для этого необходимо полностью переписать несколько тысяч программных продуктов! Но всё-таки это значительно проще чем переписать десятки миллионов под PC. Так что шанс есть. Если будет грамотная политика фирмы, поддержка со стороны крупных фирм ПО + звёзды лягут грамотно. Хотя шанс и невелик.
zltigo
Цитата(SasaVitebsk @ Apr 9 2007, 21:43) *
Ну Вы же как раз меня понимаете. smile.gif Прикидываетесь только. biggrin.gif

Единственно, чего я понимаю, что Ваши познания кончились в 90м году на IBM PC-AT286 c мегабайтом памяти sad.gif. Не обижайтесь, пожалуйста, так есть sad.gif
Цитата
Посмотрите сами. Всё сделано с оглядкой на ISA. Для совместимости.

Нет уже и девайсов (типа контроллеров прерывания) которые, как Вам все еще кажется находятся на ISA. Эмулируют их для тех, кто в старое железо лезет smile.gif. Эмуляция много ресурсов железа не занимает - пусть будет для совместимости. В классических PC исчезновения и следов ISA еще не очень заметно на первый взгляд, а индустриальных PC-шках уже встречаются начисто отсутствующая эмуляция железа - грузишь блин, DOS, например, работает а привычного железа, которое Вы, как мне кажется называете исовым нету smile.gif.
Цитата
При обращении к ISA устройствам по сути происходит задержка

Это Вы батенька последний раз на 386 машинах видели в BIOS настроечки частот да вайтстейтов для
клавиатурных и прочих контроллеров. А потом они исчезли начисто, ибо стали именно интегрированными и вполне себе шустрыми.
Цитата
(Точнее ожидается ответ PCI и если он не приходит ч/з нек. время операция на шине завершается)

Абсолютно правильное поведение для обращения к периферийному устройству - таймаут должен быть.
Цитата
Да и до этого было 10 решений того же плана. Но все эти телодвижения EMS, LIM и прочие

было и закончилось еще в 80x годах прошлого века с появлением 386 процессора.
Цитата
Ну посмотрите, если бы сейчас проектировали процессор с чистого листа. Да ладно не сейчас - лет 20 назад. А процессор был бы предназначен для замены текущих офисных - мог бы появится монстр типа нынешних? Да не в жизнь.

Был-бы другим, как стал другим AVR8 по отношению к 51,85,PIC. Но при этом ни он, ни AVR8 не стали автоматически много быстрее и много дешевле.
Цитата
Но система команд, структура регистров были бы в корне отличными!

Ну и какими? Где сейчас (уже спустя еще 20 лет), хоть в проектах и высоконаучных статьях это в корне отличающееся чудо?
Цитата
Посмотрите на процессоры Sony PS/3 или XBOX. Вот это процессор реализованный с чистого листа той же Intel. И отличается он от пня как небо от земли.

Как небо от земли отличался "EE" процессор Sony PS/2 smile.gif вот тот был немеряно крут - 128битный по тестам вдвое делал современный ему PIII. Где это чудо техники? Что выросло из этой новейшей хреновины?
НИЧЕГО.
Что имеем сейчас? Имеем круто завязанную многоядерную хреновину из вполне себе привычного ядра PowerPC. Программирование это хренядерного чуда отдельная песня - переписывать можно и не пытаться - все с чистого листа.
Цитата
А почему его применили? Почему не пень? Потому что игры или графика??? Нет! Основная причина, что совместимость поддерживать не надо!

Основная причина в том, что совместимоть с PC будет смерти подобна smile.gif Нужна именно несовметимость.
Рынок таких домашних мультимедийных консолей (игрушки даже дело второе) явно будет очень велик - надо его столбить и выпихивать разных там "безродных" подражателей всеми силами. Даже сами процессоры поштучно вроде и продавать и не собираются - только готовое изделие.
Цитата
Как туда воткнуться AVR32. Да для этого необходимо полностью переписать несколько тысяч программных продуктов! Но всё-таки это значительно проще чем переписать десятки миллионов под PC. Так что шанс есть. Если будет грамотная политика фирмы, поддержка со стороны крупных фирм ПО + звёзды лягут грамотно. Хотя шанс и невелик.

Ну лягут AVR32 в наладонник фирмы X или мобильник фирмы Y, как Cell лег в игровую консоль фирмы S, это ведь не сделает его лидером рынка 32bit-ников.
SasaVitebsk
Я не обижаюсь. smile.gif Я упрощаю. Я просто прошу признать, что совместимость вначале приводит к рывку, а потом, ч/з определённое, время является тормозом. Ответьте только на этот вопрос. Да или нет?

Не могу сказать, что прекрасно знаю что именно эмулируется в новых матерях , а что нет, но не думаю что кто-нибудь знает реально намного больше. По простой причине. Сейчас сложно влазить в переферию. Даже те кто делает платы под PC врядли владеет полной информацией где что и как там работает. Ну уж не до такой степени я отстал как Вы считаете. Я тем не менее экспериментировал (хотя и чисто для любознательности) как работает та или иная переферия. В частности soft и hard модемы, звук, клава, порты и т.п. Хотя признаю что знаю здесь мало. smile.gif Сейчас совсем времени на самообразование недостаточно. smile.gif Но я стараюсь.

Ну ответьте тогда Вы. Почему на Ваш взгляд у этого камня нет никаких шансов? Чем он так плох? И неужели Вы считаете, что система комманд вообще ни чего не решает? А что тогда? Почему именно Вы не хотите его применять я понял конечно сразу. smile.gif Признаю. Ваша позиция в этом вопросе прояснилась для меня ещё на обсуждении PICов. smile.gif

Я не буду больше плодить флуд и флейм. smile.gif Простите за этот. biggrin.gif И остановимся на Вашем ответе.

cheers.gif
zltigo
Цитата(SasaVitebsk @ Apr 9 2007, 23:58) *
Хотя признаю что знаю здесь мало. smile.gif Сейчас совсем времени на самообразование недостаточно. smile.gif Но я стараюсь.

Успехов! Я просто использую индустриалки в своих системах в некоторых случаях со своей старинной операционкой писанной на, черт побери, ASM - приходится копаться sad.gif
Цитата
Ну ответьте тогда Вы. Почему на Ваш взгляд у этого камня нет никаких шансов?

Уже дважды писал - монопольное ядро в нынешних времена массовым не будет. Под массовостью имеется ввиду не количество (запихнут в Nokia мобильники уже будет немало) чипов а количество разработчиков и производителей его использующих.
Цитата
Чем он так плох?

Да не плох он, он ОБЫЧЕН.
Цитата
И неужели Вы считаете, что система комманд вообще ни чего не решает?

Решает, но далеко не все и даже не является принципиальной. Даже Вы в своей отповеди x86 все не о системе команд говорили а сугубо о системообразующих вещах. В том-же Cell разработчики отнюдь не системой команд размахивают а наихитрейшими хитростями по утаптыванию ядер в "целое", да поднятию скоростей обмена с памятью. А про программирование думают опять исключительно в разрезе, как задачу-то расспараллелить на охременное количество ядер. Поднимут системы программирования многодерных процессоров до повседневного использования - запихнут мамнадцать доступных, например, ARMообразных (и не будут особо даже голову ломать над системой команд) ядер в чип и все.
SpiritDance
Да вобщем никто не говорил о лидерстве. Тему я вообще создал из интереса к новому ядру, это просто интересно как программисту, а не как аналитику по развитию рынка. Однако сам думаю - кристалл некоторый кусок рынка захватит, и вообще... поживем-увидим.
CD_Eater
Цитата
Цитата
Но система команд, структура регистров были бы в корне отличными!
Ну и какими?
Малое количество регистров x86 сильно ограничивало скорость выполнения программ, а попытки это исправить были очень непростыми с точки зрения железа (введение большего количества "фантомных" регистров и хардовой манипуляции ими с предсказаниями потоков данных, перестановкой инструкций и т.д. - то, что реализовано в 32-битных пнях)
Цитата
Где сейчас (уже спустя еще 20 лет), хоть в проектах и высоконаучных статьях это в корне отличающееся чудо?
В 64-битных пнях. Там всё по-другому.
zltigo
Цитата(CD_Eater @ Apr 10 2007, 13:03) *
В 64-битных пнях. Там всё по-другому.

Они стали не совместимыми с 86? Все "по другому" с точки зрения набора команд, стало уже в 386.
С точки зрения архитектуры все "по другому" на каждом новом чипе делают. Так-что поминать 86..286 в качестве неправильных процессоров можно, но распространять их проблемы на все совместимые чипы и поминать поддержку совместимости команд в качестве чего-то жутко обременительного право не стоит.
CD_Eater
Цитата
С точки зрения архитектуры все "по другому" на каждом новом чипе делают
Оптимальный скомпилированный код для 386 оставался почти оптимальным для всех x86 вплоть до Pentium-4. А вот на новых 64-битных процессорах для получения адекватной производительности придётся программу перекомпилировать. То есть, на уровне бинарников совместимость присутсвует, но весьма сомнительна ("для галочки").

Цитата(zltigo @ Apr 10 2007, 15:18) *
Так-что поминать 86..286 в качестве неправильных процессоров можно, но распространять их проблемы на все совместимые чипы и поминать поддержку совместимости команд в качестве чего-то жутко обременительного право не стоит.
Именно команд (и регистров). Независимо от железа, реализующего x86-совместимый МП, ограничение в количестве регистров жутко тормозило прогресс, и это нельзя преодолеть, не отказавшись от совместимости. Да и сетка кодов инструкций со временем перестала быть похожей на оптимальную, увеличивая длины инструкций. Мне кажется, отрицательное влияние совместимости очевидно.

Оправдание этому - обилие софта и его дороговизна. Почему большинство юзеров покупали PC-совместимые компы? Потому что под них уже было написано много полезного и нужного софта, это важнейшая причина их популярности. Несовместимость могла убить серию x86. А вот в случае с МК несовместимость не фатальна, имеет смысл ставить на первый план вопросы себестоимости и быстродействия, а отдавать предпочтение совместимости лишь при прочих равных условиях.
zltigo
Цитата(CD_Eater @ Apr 10 2007, 15:49) *
То есть, на уровне бинарников совместимость присутсвует, но весьма сомнительна ("для галочки").

Мы это о чем? Зачем "плавно" полезли в качество работы старого набора команд?



Цитата(CD_Eater @ Apr 10 2007, 15:49) *
ограничение в количестве регистров жутко тормозило прогресс, и это нельзя преодолеть, не отказавшись от совместимости.

Так уж и жутко - высокоруровневые языки так или иначе на стек завязаны, то, на чам реально тормозят процесс обработка потоков данных, графика и иже с ней, что ни в какие регистры по любому не влезет. Это в Вас котроллерщик пишущий на ASM простые программы обработки маленьких обьемов информации говорит sad.gif.
Цитата
Да и сетка кодов инструкций со временем перестала быть похожей на оптимальную, увеличивая длины инструкций.

Перестала, удлиннилась, что усложнило разборку команд. Усложнение по аппаратуре ничтожно по сравнению с аппаратными затратами на охренительную систему многоуровневого кэширования, предсказания, распараллеливания, работы с навороченными памятями.
Цитата
Мне кажется, отрицательное влияние совместимости очевидно.

Отрицательное - очевидно. Вопрос в том, насколько оно велико - позволит отказ обеспечить еще сколь-нибудь существенный рост производительности, снижение энергопотребления и цены. Нет.
CD_Eater
Цитата
Это в Вас котроллерщик пишущий на ASM простые программы обработки маленьких обьемов информации говорит
Не угадали. smile.gif Я 15 лет занимаюсь программированием, в том числе есть большие проекты на x86 ассемблере. И очень хорошо знаю, чего стоит разработчикам ограничение в 8 регистров. Некоторые предпочитают не видеть эту проблему, отказавшись от ассемблера и ваяя в ЯВУ. Но проблема-то останется wink.gif Кстати, большинство оптимизирующих компилятров пользуется стеком лишь когда не хватает регистров. Вероятно, Вы никогда не заглядывали в ассемблерный листинг PC-программ.
zltigo
Цитата(CD_Eater @ Apr 10 2007, 16:47) *
Я 15 лет занимаюсь программированием, в том числе есть большие проекты на x86 ассемблере.

Аналогично, только лет побольше и проекты бывали очень большие.
Цитата
И очень хорошо знаю, чего стоит разработчикам ограничение в 8 регистров.

Для профессионального писательства на АSM и с 32бит регистрами и полным (в отличие от охремонно регистровых архитектур ничего кроме пересылок регистр-память не имеющих) набором команд для работы с памятью ограничение вполне мягкое.
За плечами проект тянущийся со 286 процессора. Порядка 200K кода, исходники до размера всех трех томов Войны и Мира не дотянули smile.gif правда, операционка, виртуальные машины, Ethernet, всякой хрени включая шустрые поиски в базах....
На момент перехода на 486 досаду от нехватки регистров испытывал максимум пару раз.
Досада от сопровождения всего этого дерьма на ASM ни в какое сравнение с проблемами нехватки регистров не идет.
Цитата
Вероятно, Вы никогда не заглядывали в ассемблерный листинг PC-программ.

Не заглядывал smile.gif - я с ними работаю.
CD_Eater
Ну, попробуйте для разнообразия закодировать какой-нибудь криптографический алгоритм (или просто операции с большими числами) - сразу почувствуете, сколько регистров надо для счастья. Кстати, за это люблю AVR8, там регистров - хоть ж...й ешь.
А для "общего" программирования (где нет сложных критичных ко времени алгоритмов) и одного аккумулятора хватит. smile.gif
zltigo
Цитата(CD_Eater @ Apr 10 2007, 17:52) *
Ну, попробуйте для разнообразия закодировать какой-нибудь криптографический алгоритм
(или просто операции с большими числами) - сразу почувствуете, сколько регистров надо для счастья.

Легко. Опыт есть.
Уже писал - система команд x86 позволяет нормально работать с памятью, в отличие от обычного явления для простых многорегистровых архитектур (в том числе и ARM) в которых нихрена не сделаешь не распихав предварительно "большие числа" по многочисленным регистрам с последующей обратной пересылкой в память.
Цитата
Кстати, за это люблю AVR8, там регистров - хоть ж...й ешь.

Кушйте на здоровье smile.gif.
CD_Eater
Цитата
Легко. Опыт есть.
Уже писал - система команд x86 позволяет нормально работать с памятью
Вот и приходится работать с памятью, временно загоняя туда регистры, чтобы потом через несколько инструкций их оттуда читать. Увеличение количества регистров в два раза значительно бы ускорило выполнение кода. Железо в идеале может сделать обращение к памяти таким же быстрым, как к регистру, но не может уменьшить количество бесполезных пересылок туда-сюда. Из 8 регистров один указатель стека, другой указатель фрейма стека, дальше нужны пара указателей на буферы в памяти, один счётчик цикла, и остаётся для собственно самих вычислений почти ничего. Так что "легко" не получается. Меня каждый раз душит жаба, когда приходится тратить драгоценные такты на временное сохранение в память из-за нехватки регистров. Можно, конечно, на всё положить и писать не задумываясь о тактах, как Вы наверное и делаете, но это "лишь бы написать код", а не "написать эффективный код". Архитектура должна давать возможность (по крайней мере, не препятствывать) написанию эффективного кода, а тут получается прокрустово ложе. Ф топку! Собственно, уже там (с переходом на 64-битники).
zltigo
Цитата(CD_Eater @ Apr 10 2007, 21:15) *
Вот и приходится работать с памятью, временно загоняя туда регистры, чтобы потом через несколько инструкций их оттуда читать.

Ну не надо ТАК делать - работайте сразу с памятью как раз НЕ гоняя тупо во многих случаях вообще ничего между мамятью и регистрами.
Типа:
Код
shl dword ptr [eax],3                
xor dword ptr [eax+ebx*4+8],1234h

Когда с ARMом начинал работать как раз скомпилил кусочек AES алгоритма IAR-ом под ARM и Watcom-ом под 486 для общего ознакомления. По количеству команд 486 был где-то 190 команд и 500 байт размер. У
ARM более 250 команд и соответственно размер боле 1000. C оптимизацией я естественно разобрался до эксперимента. Работа была с матрицей, вот уж где пересылок туда-сюда у ARM насмотрелся sad.gif. Регистов IAR из всего богатства использовал семь, Watcom - пять.
klen
Цитата(zltigo @ Apr 10 2007, 23:47) *
под 486 для общего ознакомления. По количеству команд 486 был где-то 190 команд и 500 байт размер. У ARM более 250 команд и соответственно размер боле 1000.


Это конечно ДА! но не надо забывать что как правило на CISC машинках эти 190 команд будут значительно медленне для заданной частоты конвеера чем 250 RISC команд, за что и платится в общем случае большим объемом кода (собсна платится за простоту и скорость RISC ядра)

А на счет удобства... это вопрос не конкретный. Комуто вообще WLIW лучше, мне так многорегистровые архитектуры нравятся больше. А кто асма не видел ему и вообще плевать.
По мне так все зависит от конкретной задачи.
CD_Eater
Цитата
Ну не надо ТАК делать - работайте сразу с памятью как раз НЕ гоняя тупо во многих случаях вообще ничего между мамятью и регистрами.
А вы посмотрите, сколько тактов займёт прямые операции с памятью без загрузки в регистр. Видимо, вы вместо быстродействия кода заботитесь об удобстве программирования. Это разные вещи.
zltigo
Цитата(CD_Eater @ Apr 10 2007, 22:33) *
А вы посмотрите, сколько тактов займёт прямые операции с памятью без загрузки в регистр.

Меньше или не больше, чем загрузка в регистр операция и выгрузка и еще сохранение/восстановление использованного регистра в той-же памяти. Естественно, если удастся реально загрузить все в регистры и потом будет алгоритм таков, что сможет дооолго жевать и пережевывать регисты, то выигрыш будет за варианом с чисто с регистровой работой. Если речь идет о реальной работе с реально большими массивами, то выигрыш стремительно худеет. Много регистров всегда лучше, только вот "производительность" растет отнюдь не пропорционально их количеству sad.gif







Цитата(klen @ Apr 10 2007, 22:25) *
но не надо забывать что как правило на CISC машинках эти 190 команд будут значительно медленне для заданной частоты конвеера чем 250 RISC команд

В данном случае мы как-то отклонились от общих случаев к конкретно sad.gif старшим x86, а в них уже многое и успешно сделано для нарушения этого "правила". Да конвеер и предсказатель много сложнее и не однозначнее, чем для RISCов с ограниченным набором команд фиксированного размера. Но эти узлы не являются определяющими сложность нынешних процессоров и что самое главное - работают. Я лично уже не понимаю как, но РАБОТАЮТ!
SeriouSerg
Цитата(SasaVitebsk @ Apr 9 2007, 21:15) *
Теперь об AVR32. Посмотрите на систему команд этой однокристалки в свете моих признаний. smile.gif Посмотрите и честно ответьте сами. Есть там что "революционное" или нет. Не всё ведь в мипсах выражается. Так в своё время при переносе одного изделия с х51 на AVR я с удивлением обнаружил, что она и по коду практически один в один. Хотя х51 8 бит код команды, а AVR - 16 бит. А по тактам совсем наголову. Причина - аккумулятор в х51. (Тоже кстати серьёзный тормоз х86 процов). Так что RISK-RISKу рознь. Если здесь я одной инструкцией две ARMовских заменю - то это как революционно? А если пятью - 15?

Теперь о самой системе команд. Да.... На асме там не попишешь.... smile.gif Я бы сказал, что она ближе к Intellу. Только более продумана. Я о том, что команды разной длины, ортогональные (как они пишут) различные до безобразия. Объединены в разных немыслимых комбинациях. Есть и трёхадресные и двухадресные. Есть DSPишные.
Одним словом не так всё однозначно zltigo. Мне если чесно её пока некуда воткнуть, а вот Вам бы как раз я советовал бы присмотреться. biggrin.gif Во всяком случае когда массово пойдёт.


Солидарен, ув. SasaVitebsk.

Сам немного скептически относился к рождению сего чуда, однако AVR32 найдет своего покупателя, это уж точно, и свои вложения Атмел окупит с лихвой. Продуманная архитектура, высокая производительность, богатая система команд (особенно порадовал набор DSP инструкций - аж 23(!!!), для сравнения - в ARM966 - всего 5.), низкое энергопотребление, богатейшая периферия - разве этого мало? А если прибавить к этому низкую стоимость чипов(если таковая будет)? Почему русский разработчик боится новшеств, вот это непонятно. Конечно есть и такие, кто с 51 на AVR перейти не желает, даже наблюдая 100% выгоду от этого (был у нас один такой фрукт). Но ведь в большинстве своем мы с вами люди творческие, и консерватизм в сознании - это самый большой вред, ибо конкурент не дремлет. Соглашусь, что не в каждом проекте можно использовать "вещь в себе", однако не стоит этим злоупотреблять и пытаться унифицировать все разработки в рамках отдела, например. Зачастую это бывает крайне нелогично и невыгодно.

Некоторые приписывают старый добрый AVR к аутсайдерам - ну зачем же самому себе врать? Да будь это так, Атмел давно бы свернул это направление, а нет же, наоборот развивает! Недавно анонсированные MCU на основе AVR32 выглядят особенно привлекательно, и, полагаю, составят серьезную конкуренцию MCU на основе ARM. Ждать осталось не долго.
zltigo
Цитата(SeriouSerg @ Apr 10 2007, 23:46) *
Недавно анонсированные MCU на основе AVR32 выглядят особенно привлекательно, и, полагаю, составят серьезную конкуренцию MCU на основе ARM. Ждать осталось не долго.

Совершенно случайно наткнулся при поиске AMD чипов:
http://hard.compulenta.ru/cpu/pda/
Ну что тут сказать - "В очередь, сукины дети, в очередь!" Абсолютно этои cегментом не интересовался и не ожидал такого количества желающих залезть и уже залезших в эту нишу. Причем это реально первый попавшийся явно не полный (AVR32 даже нет smile.gif )русскояэычный ресурс.

Цитата(SeriouSerg @ Apr 10 2007, 23:46) *
Некоторые приписывают старый добрый AVR к аутсайдерам - ну зачем же самому себе врать?

Это случайно не про меня?
Повторюсь - AVR8 не аутсайдер, он победитель на ныне сужающемся ( прежде всего в ценовом отношении) рынке восьмибитовиков. Буде лично мне потребуется в новой разработке восьмибитовик, то с наибольшей вероятностью я выберу AVR. Поблема (для Аtmel smile.gif ) в том, что пока не потребовалось и вероятность этого события для меня не велика.
SeriouSerg
Цитата(zltigo @ Apr 11 2007, 02:22) *
Это случайно не про меня?


О нет, Вы не так сильно задели судьбу AVR в своих рассуждениях, был другой выступающий. Но суть не в этом. Рынок 8битных MCU по количественной характеристике не сужается, задачи для них как были, так и будут еще долго. А вот в процентном соотношении конечно сужается за счет того, что появляются новые архитектуры и увеличивается разнообразие существующих, так как потребитель требует решения под новые задачи. Поэтому мы наблюдаем как бы вытеснение процента 8разрядников, хотя на самом деле их доля выпуска не сокращается.

Атмел очень правильно делает, что выпускает новую архитектуру. Прежде всего это сподвигнет тот же ARM начать более усиленно шевелить мозгами создавая новые ядра. Я не думаю, что после объявления Атмелом о выпуске AVR32 и особенно после публикования результатов тестов на производительность в руководстве ARM была спокойная атмосфера. Прогресс не должен тормозить, и мы, как разработчики в частности, просто обязаны поддерживать его вечное течение, ведь для нас же стараются. Консерватизм в наших рядах способен тормознуть любую инновационную идею, которая может оказаться выгодной для нас же, поэтому лично я считаю так, что попробовать AVR32 нужно всем, у кого подхожие задачи. А уж после этого делать выводы относительно будущего этой архитектуры в своих проектах.
SasaVitebsk
Забавно.

Цитата
На склад ЭФО поступила первая партия инженерных образцов 32-разрядных микроконтроллеров AVR32 AT32AP7000-CTUT в корпусе BGA256. Следует обратить внимание, что партия, пришедшая на слад, - это инженерные образцы. В этих микросхемах ещё не протестирован полностью ряд блоков, перечисленных здесь.

Корпорация Atmel снизила цены на микроконтроллеры AVR32 в два раза по отношению к первоначально заявленным, розничная цена кристалла теперь составляет 15,4$.


И вот такой вот маленький довесок.

Цитата
Микроконтроллеры линейки AT32UC3A широко поддержаны программными и аппаратными средствами поддержки разработок.

Средства поддержки разработок Atmel:

* Внутрисхемный эмулятор ATJTAGICE2
* Отладочный комплект ATEVK1100
* Интегрированная среда разработки AVR32 Studio (на базе Eclipse)


AVR32 Studio! smile.gif



Ну и судя по ценам они начали очень агрессивную политику на рынке. Я, к примеру не думаю что такие цены на STK будут постоянно. Раньше ценами на STK Atmel не баловала. И совместимостью отладочных средств - не злоупотребляла. biggrin.gif Чего стоит только JTAG под at91sam7, который не работает с другими ARMами. А знаменитый Dragon? Да и к JTAG ICE2 у меня в этом контексте есть претензии. При его то стоимости.
bzx
Внесу некоторую ясность. У Атмеля есть 2 линейки с ядром avr32. Первая - серия AP7 и вторая UC3. Я так понимаю, UC3 - это облегчённая версия AP7, т.е. малобюджетный вариант. Исключены некоторые модули, которые есть только в AP7 и более низкая тактовая частота, благодаря этому в кристалл впихнули 512кБ флэш памяти, т.е UC3 это уже линейка контроллеров с ядром avr32.
По поводу AVR32 Studio. Это чистой воды eclipse + gcc, т.е. те, кто работал на arm без проблем освоят Studio.
AVR
Один вопросик... blush.gif
Чем этот AVR32 программировать и чем отлаживать? Если только JTAG ICE 2 за 300 баксоф то в гробу я этот avr32 видел... sad.gif
SeriouSerg
Цитата(AVR @ Apr 12 2007, 20:07) *
Один вопросик... blush.gif
Чем этот AVR32 программировать и чем отлаживать? Если только JTAG ICE 2 за 300 баксоф то в гробу я этот avr32 видел... sad.gif


Осмелюсь предположить, что в серийных образцах будет загрузчик, что-то типа SAM-BA.

300 баксов за дебаггер не так уж и много в масштабах предприятия или его подразделения. Более того, давайте вспомним сколько стоил JTAG-дебаггер на заре ARM?
Duhas
Доброе время суток, собрался отсваивать авр32 ) ну нада же с чего-то начинать, и почему бы не с нового чипа, имхо.
поставил АВР32Студию, но на простую студию она немного не похожа скажем так.. может кто нибудь уже что либо пробовал писать в студии и эмулировать там.. вопщем обрадуйте любым примером как создается проект в этой среде...
Цитата(IgorKossak @ Feb 22 2006, 13:31) *
Скомпилировал один и тот же пример (пресловутый фибоначчи), оптимизация по скорости максимальная
CPPtutor.cpp:
........
Вот такая картина.

может быть вы мне поможете...

или лучше искать IAR а студию ф топку?
Duhas
никак не арзберусь с этим компилятором.. уже выдрал библиотеки из IAR-а, и пример кода оттуда же но компилироваься оно не хочет... просит файл test.elf, test - имя проекта.. а вот откуда этот файл взять и что он из себя представляет? sad.gif
forever failure
У вас в проекте должен быть Makefile в каталогах Debug и Release. Дык вот, находясь в том каталоге, где Makefile, дайте команду make, а то, что она выдаст - сюда, смотреть будем.
zltigo
Цитата(Duhas @ Apr 13 2007, 14:37) *
вопщем обрадуйте любым примером как создается проект в этой среде...

Я конечно "дико извиняюсь" ( и сам приложил sad.gif немало "усилий" для увода этой темы с первоначального пути ), но уж не слишком-ли это? Что мешает отдельную тему создать для обсуждения?
IgorKossak
Цитата(Duhas @ Apr 13 2007, 15:37) *
Доброе время суток, собрался отсваивать авр32 ) ну нада же с чего-то начинать, и почему бы не с нового чипа, имхо.
поставил АВР32Студию, но на простую студию она немного не похожа скажем так.. может кто нибудь уже что либо пробовал писать в студии и эмулировать там.. вопщем обрадуйте любым примером как создается проект в этой среде...

может быть вы мне поможете...

или лучше искать IAR а студию ф топку?

Насчёт студии ничего не скажу, а вот что касается IAR - напишите мне в приват, посмотрим что можно сделать.
SasaVitebsk
IgorKossak а Вы что думаете по поводу данного камня?
Особенно нового подсемейства UC3? Похоже ему можно будет найти применение. Корпус и остальные характеристики вроде вполне. Правда в продаже Q4Y2007.
Будете пробовать применять?
IgorKossak
Цитата(SasaVitebsk @ Apr 15 2007, 00:00) *
IgorKossak а Вы что думаете по поводу данного камня?
Особенно нового подсемейства UC3? Похоже ему можно будет найти применение. Корпус и остальные характеристики вроде вполне. Правда в продаже Q4Y2007.
Будете пробовать применять?

Думаю, что заманчивый камень, особенно в плане приемлемых корпусов и потребления. Внутренности тоже ничего.
Но применять пока не на чем, нет задачи.
IgorKossak
IAR выпустил новую версию среды.
Если кому интересно. Проект судя по всему прогрессирует.
Rst7
Цитата(IgorKossak @ Apr 19 2007, 10:56) *
IAR выпустил новую версию среды.
Если кому интересно. Проект судя по всему прогрессирует.


Интересно... А еще интересней, где бы в Украине купить самих процов... Парочку... Троечку...
Duhas
рано еще процов, в питер еще не привезли набору гейтвэя... а камни тои подавно я думаю...

IgorKossak, там что-то существенное изменилось ? смотрели?
IgorKossak
Цитата(Duhas @ Apr 20 2007, 16:30) *
IgorKossak, там что-то существенное изменилось ? смотрели?

Выкладываю релиз ноуты, судите сами, что для Вас существенно.
zorromen
Цитата(Rst7 @ Apr 19 2007, 12:17) *
Интересно... А еще интересней, где бы в Украине купить самих процов... Парочку... Троечку...


У www.biacom.com можно заказать ... Тянуть будут из склада из Германии ... Если Парочку... Троечку ... чтобы больше 50 долярей могут и взяться ...
mse
Цитата(zorromen @ Apr 20 2007, 21:01) *
У www.biacom.com можно заказать ... Тянуть будут из склада из Германии ... Если Парочку... Троечку ... чтобы больше 50 долярей могут и взяться ...

Тю, блин...какая Германия? В ЭФО $15,5 в розниццу.
SasaVitebsk
UC3 бы баксов по 10. Ну ладно по 12. smile.gif
bzx
Цитата(SasaVitebsk @ Apr 20 2007, 23:41) *
UC3 бы баксов по 10. Ну ладно по 12. smile.gif

UC3 в виде образцов появится после лета, так что облизываться пока рано.
bzx
Интересный ресурс Atmel выпустил для продвижения avr32 avrtv.com
Xenia
AVR32UC3С будет содержать Ethernet или нет?

Недавно вышел подробный анонс AVR32 UC3 microcontrollers ( http://atmel.com/dyn/resources/prod_documents/doc7919.pdf )
И хоть это уже релиз G (а внутри написано H), он примечателен тем, что открыл подробности будущей серии AVR32UC3С (с буковкой C на конце)
Смотрю на табличку "Product Selector Guide" (на стр. 15) и вижу у серии UC3C среди периферии Ethernet/MAC.
Читаю описание серии на странице 14 - никакого Ethernet'а нет и в помине:

The AVR UC3 C Series is designed for industrial and automotive
control applications, including high-speed communication and
motor control. The devices feature single or dual CAN interfaces,
a full speed USB with OTG, NAND flash and SDRAM interface,
PWM with dead-time insertion, two 1.5 MSPS 12-bit ADC with
16 channels and dual sample-and-hold circuitry for synchronized
sampling of 2 signals, two 1.5 12-bit analog DAC with dual
outputs. Designed with the multi-layered AVR32 databus, 68
KB on-chip SRAM with triple high-speed interfaces, and multichannel
Peripheral and memory to memory DMA controller, the
AT32UC3C offers outstanding data throughput.
The AT32UC3C Peripheral Event System provides a connection
between on-chip peripherals to off-load the CPU, reduces power consumption and provides a deterministic
response to external and internal events.

В прошлом релизе ( http://www.ebv.com/fileadmin/products/Prod...32_Brochure.pdf ) Ethernet/MAC был только у серии A (UC3A), а у других серий его не было. А вот сейчас Ethernet появился в табличке и у серии C (UC3C).
Это опечатка или решение компании добавить Ethernet в промышленный МК?
jasper
Если судить по заголовочникам из AVR32 Studio 2.6
То в UC32C0/1/2 MACB есть. cool.gif
Есть еще заголовочники, которые помечены, как REVC, там нет. laughing.gif
Xenia
Цитата(jasper @ Jul 14 2010, 08:08) *
Если судить по заголовочникам из AVR32 Studio 2.6
То в UC32C0/1/2 MACB есть. cool.gif
Есть еще заголовочники, которые помечены, как REVC, там нет. laughing.gif

А откеда у вас студия AVR32 Studio 2.6? На сайте последняя из раздающихся - 2.5.
aaarrr
Цитата(jasper @ Jul 14 2010, 09:08) *
То в UC32C0/1/2 MACB есть. cool.gif
Есть еще заголовочники, которые помечены, как REVC, там нет. laughing.gif

Не заработал, надо полагать biggrin.gif
jasper
Цитата(Xenia @ Jul 15 2010, 01:44) *
А откеда у вас студия AVR32 Studio 2.6? На сайте последняя из раздающихся - 2.5.

От верблюда smile.gif
http://www.atmel.no/beta_ware/

ЗЫ: Новый фрэймворк
http://asf.atmel.no/
jasper
Цитата(aaarrr @ Jul 14 2010, 17:51) *
Не заработал, надо полагать biggrin.gif

Скорее наоборот, собираются добавить. Старую ревизию оставили для совместимости.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.