KRS 0 17 апреля, 2010 Опубликовано 17 апреля, 2010 (изменено) · Жалоба А вы купите "STM8s Discovery" Не мне такой не нужен. Мне этот чип без CAN вообще не нужен :) Лично мне эта архитектура совсем не понравилась! (IMHO эта архитектура - производителям компиляторов должна понравится :)) Но вот мелкого и дешового чипа с CAN больше нет! ( а тут еще и EEPROM есть). Хотя вот еще ATmega16M1 появилась! До кучи у него IDE приляпали некой шестой версии. Ну вот, а ходили слухи что на Eclipse собираются переходить. Изменено 17 апреля, 2010 пользователем KRS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 36 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба Лично мне эта архитектура совсем не понравилась! А вот это уже интересно! Не поделитесь ли вашими впечатлениями об архитектуре STM8? Что именно не понравилось? Как она выглядит по сравнению с AVR? Если вы уже успели составить свое впечатление об этой архитектуре, то было бы крайне интересно вас послушать. Мнение zltigo по этому же вопросу меня тоже очень интересует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба Не поделитесь ли вашими впечатлениями об архитектуре STM8? Она проста до безобразия - счетчик команд, указатель стека, флаги аккумулятор и 2 индексных регистра. Основой текст в описании (которе кстати читать тяжеловато) идет вокруг количетсва бит формиующего адрес. Из-за того что этих бит может быть 8, 16,.... режимов адресации очень много... Единственный интересный момент (раньше о таком не слышал) - это двойная адресация памяти, т.е. например после команды лежит ардрес указателя на данные (причем эти адреса могут быть разной длины, что порождает множество типов). А дальше все тривиально - операции с одним операндом только в аккумуляторе ( сдвиги например), с двумя - аккумулятор + память, результат в аккумулятор (сложение например). Ну есть пара инструкций для 16 битных индексных регистров. И работа с битами в памяти. В общем на асме писать просто скучно, обязательно нужен компилер!!! Еще раз повторюсь - описание на архитектуру, как то очень тяжело читается! (по сравнению с ARM, AVR, x51). Не в смысле самой архитектуры а стиле описания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба Она проста до безобразия - по Вашему описанию, это похоже на усеченную интеловскую 86/88 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба по Вашему описанию, это похоже на усеченную интеловскую 86/88 Это надо сильно обрезать :) - оставить SI, DI и AL Чем то на 51 похоже, чем то на PIC (хотя с ними я не работал) если не считать флаги, sp, PC получается один 8 битный регистр через который идет вся математика. И 2 индесных регистра, которые нужны для доступа к массивам. Одно удобство - страниц нет! память линейно адресуется! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 36 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба Поглядела я на Instruction set этого STM8 - дерьмо! :) Помимо аккумулятора A, там всего лишь два регистра X и Y. И это всё! Правда регистры программного счетчика PC и стека SP там есть, то это погоды не делает. Ужас! И это после 32-х регистров AVR кто-то еще станет переходить на этот дохлый STM8? Ни в жисть не поверю! http://www.st.com/stonline/products/literature/pm/13590.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 17 апреля, 2010 Опубликовано 17 апреля, 2010 · Жалоба Поглядела я на Instruction set этого STM8 - дерьмо! :) Помимо аккумулятора A, там всего лишь два регистра X и Y. И это всё! Ужас! И это после 32-х регистров AVR кто-то еще станет переходить на этот дохлый STM8? Ни в жисть не поверю! Фу как мелко :(. И как же, например, STM8 в Вашем зацикленном на AVR представлении вообще без регистров работает? Невероятно? А теперь представьте, что вся память у контроллера на правах регистров. У AVR, говорите, их только 32? Ужас! :) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 36 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба А теперь представьте, что вся память у контроллера на правах регистров. У AVR, говорите, их только 32? Ужас! Вся память не работает у STM8 на правах регистров. Или регистры тогда должны быть совсем бесправные :). Например, у AVR-регистров такие права, что их можно складывать (а также вычитать и проводить логические операции) одной единственной инструкцией за один такт! А над ячейками памяти такое вообще невозможно. К тому же STM8 может выполнять арифметические и логические операции только одном регистре - аккумуляторе. Вот и получится программа, где 70% кода будет гонять число из памяти в аккумялятор и обратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Вот и получится программа, где 70% кода будет гонять число из памяти в аккумялятор и обратно. Нет. MOV mem1, mem2 там есть. Проблема в другом - маловато индексных регистров. Да и умножение за 4 цикла напрягает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба К тому же STM8 может выполнять арифметические и логические операции только одном регистре - аккумуляторе. Разумеется это не так. Работа с одним операндом и двумя, если второй константный, осуществляется без участия аккумулятора. Пересылка память - память тоже есть. Это просто не AVR-овская Load Store архитектура вынужденная иметь много регистров, дабы минимизировать те самые "гонять число". Вы пытаетесь приписать ST8 еще и родимые пятна AVR8 :(. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Разумеется это не так. Работа с одним операндом и двумя, если второй константный, осуществляется без участия аккумулятора. У арифметичесикх инструкций сложение, вычитание и логических AND,OR, dst A (У 16 битных индексный регистр) Есть правда инкремент, декремент, инверсия, сдвиг памяти и NEG на память работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Есть правда инкремент, декремент, инверсия, сдвиг памяти и NEG на память работает. .. и манипуляции с битами, как установка с переносами, так и анализ, swap. В общем достаточно неплохо. Архитектура достаточно сложная получилась ( без закосов под RISC ) и не думаю, что просто так вышло или не разработчики не смогли понять за прошедшие годы, как, например, тот-же изначально просто задуманный, а ныне покрытый наслоениями улучшений, AVR8 работает :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Странный спор... Я-то по наивности думал, что в жизни имеет значение не число регистров и остальные тонкости, а реальная производительность. Вот бы кто-нибудь померил DMIPS/MHz или что-нибудь такое, было бы уже интереснее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Странный спор... Да нет никакого спора, это просто Xenia, как обычно, в силе "нет бога кроме Аллаха Atmel и Мухаммад AVR пророк его" выступает. А так все нормально. Я-то по наивности думал, что в жизни имеет значение не число регистров и остальные тонкости, а реальная производительность. Вот бы кто-нибудь померил DMIPS/MHz или что-нибудь такое, было бы уже интереснее. Даже думаю, что это не особо важно - контроллер явно не бить рекорды производительности сделан. В два раза попугаистее других не будет да и в два раза тормознее тоже. P.S. Только сейчас глянул, ST что обещают что-то типа 0.83 MIPS/MHz. Atmel на голубом глазу сообщает для AVR8, что up то 1MIPS/MHz :). Вот и все. Не припомю, но вроде ни разу тот-же AVR на полной тактовой не использовал - за ненадобностью. Для попугаев сейчас мелкие Corteх под и за сотню мегагерц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 36 18 апреля, 2010 Опубликовано 18 апреля, 2010 · Жалоба Да нет никакого спора, это просто Xenia, как обычно, в силе "нет бога кроме Аллаха Atmel и Мухаммад AVR пророк его" выступает. Дело обстоит прямо противоположным образом - именно вам Atmel предсталяется чем-то вроде Сатаны. Пример тому - архитектура AVR32, которая столь разительно отличается от AVR8, что здесь больше различий, чем сходства. Однако ваша риторика столь же агрессивна и в отношении AVR32. Причем вся ваша критика направлена, как всегда, не на конкретные огрехи архитектуры, а на обливание помоями Atmel и злорадство по поводу ее малейших производственных трудностей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться