|
|
  |
Просто мнение, АВР -> АРМ |
|
|
|
Jun 18 2009, 11:18
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(_Pasha @ Jun 18 2009, 09:42)  С чего Вы взяли? Просто пример _Bool наглядно показывает несуразности в представлении данных Несуразности возникают только в сознании  , когда путают переменную типа bool и операцию с битами. ЛЮБАЯ ПЕРЕМЕННАЯ - это одна или несколько ячеек памяти, а потому быть тождественной с битом она принципиально не может. А если нужны операции с битами, то это делается не с помощью bool-типа, а с помощью побитово расписанной структуры. Например: Код struct mystruct bool a : 1; bool b : 1; bool c : 1; bool d : 1; bool e : 1; bool f : 1; bool g : 1; bool h : 1; ) flag; Вот тут уже все становится ясно и компилятору, и процессору, и программисту - видно, что в памяти ассигнован блок в один байт (8 бит), из которого велено таскать биты. Цитата(_Pasha @ Jun 18 2009, 09:42)  В этом виноват компилятор. В том, что процессор один бит из памяти достать-таки может, а компиляторописатели не могут обеспечить автоматическое размещение однобитовых переменных ... Ни у одного процессора в мире нет в памяти однобитных переменных. И это уже потому, что память побитно не адресуется. Однако компиляторы обычно предоставляют пользователям удобные способы работы как с битами, так и с битовыми полями (см. мою предыдущую реплику). Однако надо понимать, что делается это "через ухо", т.е. компилятор достает слово памяти целиком, а потом вырезает из него нужные биты. Модификация бита стоит еще дороже - сначала процессор прочитывает целиком слово памяти, к которому этот бит относится, при помощи операций or и and модифицирует в нем нужный бит или группу битов, а затем записывает модифицированное слово обратно в память. Инструкции ряда микропроцессоров (и AVR в том числе) позволяют модифицировать отдельные биты в собственных регистрах и портах, только в этом случае битовые операции над ними реализуются эффективно. Поэтому битовые флаги лучше всего держать в регистрах, а не в памяти. Во всех же остальных случаях, выгоднее не экономить на спичках, а заводить переменную bool типа. Такая кодировка действительно оказывается избыточной, зато ее применение компенсируется максимально высокой скоростью использования. Можно с полным основанием считать, что тип bool является атрибутом оптимизации как по скорости, так и по объему кода, когда как его недостаток состоит лишь лишнем расходе памяти.
Сообщение отредактировал Xenia - Jun 18 2009, 11:23
|
|
|
|
|
Jun 18 2009, 11:40
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(BORIV @ Jun 18 2009, 12:14)  Благодаря удобству программирования Целый зверинец интерфейсов, соответственно программаторов, наплевательское отношение старых интерфейсов программирования... Редко у кого с программированием обстоит хуже, чем у AVR. Цитата , отладки, Как и у всех. Цитата схемотехнике, Оооооо! А что это? Цитата(Xenia @ Jun 18 2009, 14:18)  удобные способы работы как с битами, так и с битовыми полями (см. мою предыдущую реплику). Однако надо понимать, что делается это "через ухо", т.е. компилятор достает слово памяти целиком, а потом вырезает из него нужные биты. Модификация бита стоит еще дороже - сначала процессор прочитывает целиком слово памяти, к которому этот бит относится, при помощи операций or и and модифицирует в нем нужный бит или группу битов, а затем записывает модифицированное слово обратно в память. Лениво было отвечать на предыдущее творение, но понятия организации доступа к памяти у Вас осталить на уровне восьмибитовиков, как минимум доступ к единицам менее ширины шины RAM и имеет место быть в обязательном порядке и для сборки из узкой шины памяти процессор не использует никаких специальных команд - это проблема контроллера памяти. Цитата Можно с полным основанием считать, что тип bool является атрибутом оптимизации как по скорости, так и по объему кода, когда как его недостаток состоит лишь лишнем расходе памяти. А хоть немного почитать топик и подумать?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 18 2009, 12:10
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 28-03-07
Пользователь №: 26 559

|
Разговор как всегда уходит в сторону, о чем не забывают напоминать некоторые участники, особенно хорошо это получилось у Ксении, душевно так и логично. И так по-порядку. Самый первый пост от IGK навеян просто грустью по поводу прошедшей юности!!! Старые лохматые джинсы, в которых было так удобно тогда, а что сейчас...? - штанишки просто стали просто малы! Метания в рядах АВР-пользователей понятны, грустно прощаться с полюбившейся платформой. Да мы вырасли на AVR-ках и сейчас на фоне новых требований к продукции разные там интерфейсы, GUI и т.д мощности процессора, надо это признать не хватает. Конечно есть устройства в которых ничего этого не требуется и естественно AVR будет жить, хотя бы как AtX _Mega (думаю по новому техпроцессу устройства получаются конкурентнее классики, поэтому такой соотношение цен на старые и новые модели) и нас просто плавно пытаются перевести на новую микруху. Эх раньше бы все это и не было бы такого разговора сейчас переходить на что то или нет. Например в рядах ПИК-поклонников такого метания нет, там все спокойно, вовремя появился PIC24, dsPIC30, dsPIC33, а теперь и PIC32.
Может быть нам (АВР-пользователям ) повезло меньше чем ПИК-пользователям? Попробую дать ответ в следующем посте. И так, куда движется мир?
|
|
|
|
|
Jun 18 2009, 12:21
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(mikki @ Jun 18 2009, 16:10)  Может быть нам (АВР-пользователям ) повезло меньше чем ПИК-пользователям? Точно. Между AVR и AVR32 не хватает AVR16. После изучаемого в стандартном курсе 8080 (и нашего 580) я от AVR просто тащился. Пока не потрогал MSP. Теперь любое упоминание об изделиях атмела вызывает кислую гримасу на лице.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jun 18 2009, 12:25
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 8-07-08
Пользователь №: 38 815

|
но вот время реакции на событие у авр несколько сотен наносекунд, а ваше арм такое разве может?
время загрузки у авр микросекунды, а ваше арм такое разве может?
|
|
|
|
|
Jun 18 2009, 13:03
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сибирь @ Jun 18 2009, 15:25)  но вот время реакции на событие у авр несколько сотен наносекунд, а ваше арм такое разве может? время загрузки у авр микросекунды, а ваше арм такое разве может?  Цитата(Xenia @ Jun 18 2009, 15:05)  А что, разве АРМы превосходят АВРы в том, что биты поштучно из памяти таскают?  Любые 16/32 бит контроллеры "таскают" не так, как вы живописали по ширине шины, а в том числе и побайтно. А подумать это относилось конкретно к тому, в ответ на что было написано, а не по поводу Ваших шинных размышлизмов.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 18 2009, 13:44
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(MrYuran @ Jun 18 2009, 15:21)  Пока не потрогал MSP. Теперь любое упоминание об изделиях атмела вызывает кислую гримасу на лице. А я вот видел людей, которые с MSP пересели на AVR и дико плевались от MSP. Кстати, в том числе и от их хлипкости. Так что всётаки это сугубо субъективно всё. Я, от MSP, никакого экстаза не получил что-то. Ни система команд, ни переферия, ни наладка чёто впечатления не произвела. Прорывов в производительности тоже не ощутил. Короче те же грабли - вид сбоку. Тот же M16 круче на порядок. Сейчас ещё пикоманы подтянутся. со своими DS и 32-ыми. Конечно, каждый камень свою нишу занимает, и есть неочевидные применения. Так например тот же сименс SC186 до сих пор широко применяется. Хот тоже как то мало смысла в этом видится. То есть просматриваются шкурные, корпоративные и прочие интересы. Думаю что TI принадлежит к компаниям, которые "продавят" на рынок любой камень. А столь малая ниша MSP как раз указывает на слабость решения.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|