Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 18, 2024 18:54

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 269 ]  На страницу 1, 2, 3, 4, 5 ... 18  След.
Автор Сообщение
 Заголовок сообщения: система команд для МК
СообщениеДобавлено: Сб янв 24, 2009 21:47 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Здравствуйте.

Представляюсь. Я пришел к Вам из форума «электроникс», где общаются великолепные специ в области серийных микроконтроллеров от известных фирм и систем программирования для них. Знают все в своей области. Однако после моего цитирования второго совета уважаемого мною профессора Преображенского, что многие проблемы наши от «разрухи в голове» меня забаннерили (хорошо, что не успел привести его совет до конца, а то бы предали анафеме).
Из тех полезных советов, которые мне дали, была ссылка на Ваш форум.
А поскольку моя тема имеет отношение к стековой архитектуре, я оказался здесь.

Наименование темы «Разработка эффективной системы команд для универсального процессорного ядра 8-разрядного МК».
В моем понимании эффективная система команд МК должна удовлетворять 3 основным требованиям:
А) сопрягаться с ЯВУ;
Б) обеспечивать минимальный машинный код и число тактов на его выполнение;
В) быть достаточно простой и эффективной в аппаратной реализации.
Выбор этой темы обусловлен тем, что существующие архитектуры МК (системы команд) "не в полной мере" отвечают этим требованиям.
В условиях многовариантности выбора (проектирования) системы команд надо было иметь хоть какую нибудь методику количественной оценки критериев эффективности (объема кода и тактов на его выполнение) для выбора оптимального решения.
Я предложил вариант такой методики, основанный на методе двойного счета. Подтвердил ее, как мог, на примерах существующих систем команд МК. По результатам анализа я полностью разочаровался в РИСК архитектуре с ее регистрами и разработал, пусть не совершенный, но, по моему мнению, более эффективный концепт системы команд, на базе стековой архитектуры, но с дополнениями в виде предикативных команд.
Все это доступно в http://www.moko.ru/mc/
файлы рейтинг и М8.
Вопросы, которые у меня беспокоят:
1. Репрезентативность оценок (методики) – важный вопрос, но не главный;
2. Более важно то, что в предложенном концепте торчат «уши» страничной адресации ПИКа, регистры косвенной адресации АВР и, наверное, что еще. Я думаю над этим, но без помощи не обойтись.
3. В аппаратной части меня беспокоит организация конвейра, реализация стека (аппаратный или в памяти), число тактов на машинный цикл…….
Возможно, некоторые вопросы я упустил.
PS Из приобретенного опыта общения на других конференциях, я пришел к выводу, что не надо заводится и отвечать на некоторые вопросы про себя или «по французски» (однако могу, что то пропустить, тогда заранее приношу свои извинения).
Еще просьба. Критические замечания аргументировать, например, «я и Кнут считаем…», к общеизвестным фактам и позитивным замечаниям это не относится.
Итак, «кто на новенького».


Последний раз редактировалось architector Пн фев 09, 2009 22:11, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб янв 24, 2009 23:36 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
вот отсюда можно начать изучать аппаратную реализацию диалекта языка Форт, сделанную автором, Чарльзом Муром.
http://www.intellasys.net/index.php?opt ... &Itemid=41

А тут http://colorforth.com/ - предыдущий диалект, работает на ПК. Приведена и система команд. Есть и другие реализации, ссылки мелькали на Форуме, если надо, могу поискать.

Также на Форуме обсуждались различные архитектуры системы команд, все стековые. :)

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 01:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
in4 писал(а):
вот отсюда можно начать изучать аппаратную реализацию диалекта языка Форт, сделанную автором, Чарльзом Муром.
http://www.intellasys.net/index.php?opt ... &Itemid=41

Да нет, не стоит оттуда начинать изучать, те технологии вряд ли будут доступны. А доступны другие, поближе.

Попытаюсь слегка резюмировать свои примечания по семинару в ИДМ-Плюс.

1. Методики оценки.
www.eembc.org - Embedded Microprocessor Benchmark Consortium. Если говорить о выходе куда-то в кремний, то без оценок подобного уровня будет сложно. Макеты, конечно же, не стоят таких денег, а раз так, оценки производительности макетов не имеют жесткого требования быть строго обоснованными.
2. Соотношение аппаратной архитектуры и системы команд.
При оценке аппаратной части система команд, конечно, играет роль. Но не столько набор операций, сколько архитектура самой системы. То есть до определенного предела не играет роли, что именно мы делаем и в каких сочетаниях. Допустим, 16-разрядная команда, АЛУ на 12 операций и регистровый файл формата 2R1W - это "раз". В этих пределах мы можем реализовать большое количество разных систем, которые будут существенно отличаться друг от друга с точки зрения программиста, но общие показатели с точки зрения цифровой схемотехники останутся теми же. И заменить одну систему команд на другую будет очень просто. Конечно, если мы вместо сумматора поставим умножитель, изменится площадь и потребление, но это уже неизбежный эффект (и тогда его нет смысла пытаться как-то учесть в проектировании).
А вот второстепенные с точки зрения программиста вещи могут неожиданно создать лишние проблемы (классически негативного вида - площадь больше, частота меньше). Например, одна-единственная многотактная команда заставит усложнить автомат декодирования).
3. Универсальность и специализация.
Очень мощная волна - быстрое создание специализированных МК. Чем силен тот же Microchip - позицией "мы сейчас поставим на кристалл именно то, что вам надо". Разработчики же находятся в окружении огромного количества поставщиков, которые наперебой предлагают им самые разные кристаллы, и к производительности отношение такое "чтобы хватало". Вобщем-то вопрос был сформулирован совершенно в точку (причем уже в парке, не помню кем) - "как 23% прироста производительности превратить в 23% прироста денег"? Причем не столько конструкторам, сколько убедить покупателей-разработчиков систем на этих МК, что им это выгодно. С учетом того, что разработчик обязательно скажет "ээ, нет, я все равно буду покупать с определенным запасом, чтобы потом при наладке-запуске изделия иметь возможность закрыть дыру, не мучаясь с компилятором-оптимизатором". То есть система команд, подобная минному полю, где чуть неэффективная последовательность операций резко снижает производительность, формально имеет право на существование, но сейчас планка вхождения в embedded-дизайн понижается, поскольку надо очень много устройств. И приходится считаться с тем, что на МК будет работать человек, который заявит, что он программист по необходимости, а потому писать будет так, как ему удобно. Опять же по поводу универсальности - если есть два МК, каждый из которых лучше в определенном типе задач, то новый универсальный никто и не возьмет. Практически единственное, что он обеспечивает - простоту освоения (один процессор вместо двух). А это нивелируется наличием ЯВУ для обоих МК и мощной волной методических материалов. Опять же различные виртуальные машины, облегчающие перенос алгоритмов.
4. Не процессор, а процессоры.
Чип-дизайн в области МК я представляю примерно так. Сначала мы "серфим на волне", выдавая серию макетов в ПЛИС. Вопросы совместимости, эффективности, производительности общей и частной можно решать на ходу и применительно к конкретной задаче (дешевизна процесса по сравнению с изготовлением кремния это вполне позволяет). В этой связи было бы очень полезно иметь методики разносторонней оценки собранной системы, чтобы иметь возможность показать параметры будущего чипа конкретному заказчику. Мне существенно проще мыслить в терминах теории управления, где одним из центральных моментов является понятие обратной связи. Вот по семинару она получилось отсутствующей - эффективность системы оценивается не потому, что конкретный проект получает существенную выгоду, а потому, что были предприняты большие усилия по составлению "универсально-адекватной" рейтинговой системы. А наличие возможности регулировать что-то на ходу существенно эффективнее просто тщательной первоначальной подгонки. Здесь, конечно, очень большую помощь может оказать моделирование на уровне транзакций (на PC) и макетирование в ПЛИС для проверки эффективности схемотехнической реализации основных концепций.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 04:45 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Хищник писал(а):
Да нет, не стоит оттуда начинать изучать, те технологии вряд ли будут доступны. А доступны другие, поближе.


Чуш порете. Не менее они доступны, чем все остальные технологии. В том числе, те что поближе. И в отличии от тех, что "поближе" нафталином не пахнут.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: система команд для МК
СообщениеДобавлено: Вс янв 25, 2009 10:01 
Не в сети

Зарегистрирован: Пн окт 15, 2007 17:24
Сообщения: 164
Откуда: Бийск
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
architector писал(а):
Критические замечания аргументировать, например, «я и Кнут считаем…»,

Это не аргументация, а всего лишь ссылка на авторитет (-ы?) ...

_________________
And so forth ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 13:40 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
forther писал(а):
Хищник писал(а):
Да нет, не стоит оттуда начинать изучать, те технологии вряд ли будут доступны. А доступны другие, поближе.

Чуш порете. Не менее они доступны, чем все остальные технологии. В том числе, те что поближе. И в отличии от тех, что "поближе" нафталином не пахнут.


Я чушь не порю, ей же больно будет :)) А вот насчет нафталина и недоступности - в сад, в сад... Все практически то же самое.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 20:48 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Хищник писал(а):
Все практически то же самое.


А раз все то же самое, то значит *стоит* оттуда начинать изучать.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 21:24 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вот эти данные:
Цитата:
4-разрядные МК занимают 10% от объема выпуска микроконтроллеров (четверть в
штучном выражении). В основном это массовые изделия с масочным ПЗУ для применения в
электронных часах, калькуляторах, а также контроллерах бытовой аппаратуры и автомобиль-
ной электроники.
16-разрядные МК занимают на рынке около трети объема выпуска микроконтролле-
ров. Однако, в последнее время, в связи с распространением устройств цифровой обработки
сигналов, они стали уступать в объеме выпуска 32-разрядным МК, которые обеспечивают бо-
лее высокую производительность.
Основную долю объема выпуска микроконтроллеров занимают 8-разрядные МК за
счет наилучшего соотношения цены и технических характеристик.

откуда?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: система команд для МК
СообщениеДобавлено: Вс янв 25, 2009 21:26 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Варнак писал(а):
architector писал(а):

Это не аргументация, а всего лишь ссылка на авторитет (-ы?) ...

1. Архитектор - мужского рода.
2. Авторитеты надо уважать. Наше мнение по сравнению с ними ....
3. Слово "например" означает многовариантность аргументирования, мною выделен самый главный (по моему мнению).
Однако с Кнутом по его виртуальной машине M... я не согласен.


Последний раз редактировалось architector Вс янв 25, 2009 23:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: система команд для МК
СообщениеДобавлено: Вс янв 25, 2009 21:42 
Не в сети

Зарегистрирован: Вт апр 29, 2008 15:09
Сообщения: 114
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
architector писал(а):
Здравствуйте.
что многие проблемы наши от «разрухи в голове»


Да Михаил Афанасьевич несомненно прав, как минимум в части того что все наши беды проистекают не от сортиров :)

architector писал(а):
В моем понимании эффективная система команд МК должна удовлетворять 3 основным требованиям:
А) сопрягаться с ЯВУ;


Эффективно сопрягается или вообще сопрягается. Вы знаете очень часто приходтися слышать это от всех производителей МК - "наша система команд хорошо сопрягается с ЯВУ" или "система команд нашего МК более ориентированна на ЯВУ чем у других семейств". Однако производители сами забывают или намеренно делают вид что не помнят о том что средства разработки позволяют вообще забыть об уровне абстракции мнемоники. Да это полезно знать и даже нужно, но вовсем не необходимо как доказывает практика где большинство программ пишется так что неэффективен алгоритм лежащий в основе этой задачи. Кроме того оптимизирующий компилятор как опять же показывает практика лучше пишут даже не сами производители, а сторонние фирмы или команды энтузиастов. Это пародокс, но та самая пресловутая приближенность к ЯВУ нужна в 10% процентов случаев, либо для самих системщиков, либо для перфектционистов людей привыкших выжимать из железа все. Вы бы тут раскрыли данный лозунг почетче если можно.

architector писал(а):
Б) обеспечивать минимальный машинный код и число тактов на его выполнение;


Память стремительно дешевеет как ROM так и RAM. В чем же Вы видите необходимость минимализма маш.кода? Число тактов опять же параметр очень хитрый по своей природе, кол-вом тактов на инструкцию стараются мерить все меньше и меньше. Ответье на вопрос 32 р-р ядро исполняет сложение за 2 такта, а 8 разрядное за 1 (при заведомо одинаковой F), какую архитекутуру вы предпочтете для загруженных арифметикой задач?

architector писал(а):
В) быть достаточно простой и эффективной в аппаратной реализации.


Ну этот термин безусловен - простота конструкции в общем то залог ее эффективности.

А вообще знаете какая штука - эффективной архитектура может еще быть и по субъективным параметрам, например потому что удобнее в использовании. Это как бы ремарка к теме PIC vs AVR, или 8080 vs Z80 или x86 vs PDP. Как правило
какая то одна "изюмина" способна изменить отношение огромного числа программистов к ядру. Или наоборот какой то промах усугубить "негатив" к казалось бы эффективному ядру.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: система команд для МК
СообщениеДобавлено: Вс янв 25, 2009 21:48 
Не в сети

Зарегистрирован: Вт апр 29, 2008 15:09
Сообщения: 114
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
architector писал(а):
Однако с Кнутом по его виртуальной машине M... я не согласен.


Да он сам с собой не согласен :) именно поэтому изобразил уже как минимум третий вариант своей машины. Но надо понять Кнута, он это делает не ради достижения эффективности, а исключительно в учебных целях. Его цель добиться понимания в алгоритмике, а не в схемотехнике.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 21:58 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Я так понимаю речь идет не только об оптимальном построении декодера и ситемы команд, а в выборе архитектуры.
Зачем же будущее за процами с аккумуляторной структурой или стековой.
Принципы кодирования команд заложены давно горизонтальное и вертикальное, а также их помеси.
???????
Может поглядеть на intuit.ru выложенные курсу по архитекруе машин, правда там кто-то старый учебник выложил про ЭВМ, который сейчас плавно перете в курс Цифровой схемотехики и Электроники


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 22:13 
Не в сети

Зарегистрирован: Вт апр 29, 2008 15:09
Сообщения: 114
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Alexander писал(а):
Я так понимаю речь идет не только об оптимальном построении декодера и ситемы команд, а в выборе архитектуры.
Зачем же будущее за процами с аккумуляторной структурой или стековой.


Э... видимо очень далекое будущее :) Блоки MAC сейчас просто враиваю в виде SIMD или DSP и особо не заморачиваются. Если вспомнить про "титаник" :) (Itanium) так сравнительно недавно VLIW пророчили такое бурное будущее...но на текущий момент пациент скорее мертв чем жив :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 22:24 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Наводящий вопрос (для шпионов)
давайте спросим, что там в бортовых ЭВМ 8 разрядов как 10 лет назад или уже 16? или там мощный суперкомпьютер летает с 64 разрядами и 8 ядрами :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 25, 2009 22:42 
Не в сети

Зарегистрирован: Вт апр 29, 2008 15:09
Сообщения: 114
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Alexander писал(а):
Наводящий вопрос (для шпионов)
давайте спросим, что там в бортовых ЭВМ 8 разрядов как 10 лет назад или уже 16? или там мощный суперкомпьютер летает с 64 разрядами и 8 ядрами :))


Там багет :)
http://www.airshow.ru/expo/284/prod_402_r.htm
http://window.edu.ru/window/library?p_rid=59082
Цитата:
- "Багет-55-02" - цифровой сигнальный процессор Ц400 входит в состав "Око" (?) на МиГ-29
- "Багет-55-04.01" - цифровой сигнальный процессор в БРЛС "Оса"
- "Багет-55-04.01" - цифровой сигнальный процессор в РЛК "Арбалет"
- "Багет-55-04.02" - цифровой сигнальный процессор в БРЛС Н001ВЭ (в канале "воздух-поверхность")
- "Багет-53-15" - бортовая ЭВМ в составе КБО-60У вертолета Ка-60
- "Багет-53-16" - бортовая ЭВМ в составе ПНК-37ДМ вертолета ДРЛО Ка-31РЛД


Есть у меня подозрение что одноименный процессор от МЦСТ предназанчен туда же, там если не вру Sun-овский SPARC 32/64 бита. Точно не вру :)
http://www.mcst.ru/b_14-15.shtml


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 269 ]  На страницу 1, 2, 3, 4, 5 ... 18  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB