|
Архитектрура системы команд 8-разрядного МК, Оценка/Анализ/Архитектура 8-32 разрядного МК |
|
|
|
Jan 16 2009, 11:15
|
Участник

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896

|
Передо мной поставлена задача (сам напросился) - дать предложения по архитектуре системы команд 8-разрядного процессорного ядра для управления работой аппаратуры SOC, совместимой с ЯВУ, удобной для программирования на ассемблере, простой в реализации и обеспечивающей компактный программный код и малое число тактов на его выполнение. Я, как учили в институте, сперва посмотрел, что делают другие, провел оценку того, что у них получилось по затратам кода и тактов на его выполнение для типовых задач управления. Потом, как учили в аспирантуре, провел анализ влияния особенностей системы команд процессора на его эффективность rating.pdf http://moko.ru/mc/ Затем поступил не так, как учили, и вместо того, чтобы взять за основу архитектуру известного МК, предложил концепт "простого" 8-разрядного процессорного ядра на базе стековой архитектуры, который позволяет обрабатывать данные до 32-разрядов и не только на стеке, но и в памяти, задавать в байтовой команде сколь угодно длинные поля констант и адресов, и еще некоторые рюшечки и фишечки (там же M8.zip) плюс заявка на патент ......2008. Концепт получился приемлемый, если сравнивать с 8051, PIC, AVR и даже ARM Thumb, но не идеальный: 1. Есть сомнения в правильности методики оценки эффективности процессора, и, соответственно, принятых решений. Возможно есть другие, которые приведут к другим решениям. 2. Из него (концепта) торчат уши PICа - страничная организация памяти, что не позволяет обеспечить линейный доступ к данным, AVRровские регистры косвенной адресации, а не механизм адресации данных по ссылкам и пр. Переходить на 32-разрядный формат команды не позволяет постановка задачи, а решить эти проблемы, оставаясь в рамках 8-разрядной системы команд у меня пока не получается. Люди добрые, посмотрите хотя бы по диагонали moko.ru/mc и помогите "бедному" разработчику, кто чем может по делу, без ля-ля-ля, смайликов и спама, - советом, предложением, позитивной критикой и замечаниями. Не дайте загинуть концепту.
Сообщение отредактировал vitja - Jan 16 2009, 12:07
|
|
|
|
|
 |
Ответов
|
Jan 16 2009, 12:00
|
Частый гость
 
Группа: Свой
Сообщений: 158
Регистрация: 15-01-09
Из: Russia
Пользователь №: 43 426

|
Позитивная критика. Во первых верный адрес файла http://moko.ru/mc/RatingMC.pdfВо вторых, по моему, совершенно нет никакого смысла вот так глубоко анализировать затраты кода и производительности на каждый МК. С практической точки зрения, критичными параметрами являются не доля затрат на некую команду, а совершенно другие факторы: питание, тактовая частота, объем оперативной памяти, и число тактов на одну команду. И уже существующие процессоры практически выбрали все варианты. Т.е. типовой микроконтроллер работает при 3V на 8МГц. Мы берем сравнимые по цене процессоры. И если он на 3.3V работает на 8МГц, выполняет пересылку регистр регистр за один такт, что еще от него нужно? Прирост производительности на 23% по сравнению с аналогами не сыграет никакой роли, потому что идет массовый переход на C, а значит производительность программы будет зависеть от возможностей компилятора. Который попросту завалит все преимущества. Еще один ключевой момент, это наличие периферии, простота ее использования и эффективность работы этой самой периферии. И тут мы уезжаем от теории регистр регистр к практической реализации на уровне физики микросхемы. А вот эта тема практически Вами не раскрыта. Если уж оптимизировать то по всем направлениям, система команд и организация памяти, как у Вас сделано, плюс аппаратная реализация, чего не сделано, плюс эффективность компилятора, тоже не сделано. Вот если все три направления задействовать, то возможно получится нечто хорошее, но тут вылезает стоимость дизайна. Судя по тому, что в тексте процессор с 4КБ RAM и 16КБ Flash, этот вопрос Вы тоже не рассматривали. Ведь в реальной продаже производители микроконтроллеров очень скупо дают эту память. И при 16КБ Flash максимум на что можно рассчитывать это 256 или в крайнем случае 512 байт RAM. Значит она дорога в изготовлении. Еще есть вопрос энергопотребления в работе, что тоже вопрос, к тому, для чего предназначен Ваш дизайн. Вообщем вопросов больше чем ответов.
|
|
|
|
|
Jan 16 2009, 22:49
|
Участник

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896

|
Цитата(mikesm @ Jan 16 2009, 15:00)  ...нет никакого смысла вот так глубоко анализировать затраты кода и производительности на каждый МК. С практической точки зрения, критичными параметрами являются не доля затрат на некую команду, а совершенно другие факторы: питание, тактовая частота, объем оперативной памяти, и число тактов на одну команду.
....производительность программы будет зависеть от возможностей компилятора. Который попросту завалит все преимущества. Первый ответ писался с работы из под UBUNTU, где не только знаки препинания найти невозможно, но и время и мысли. По существу Вами поднято три вопроса: 1. Что считать критерием эффективности МК. 2. Влияние системы команд на аппаратные характеристики МК 3. Взаимосвязь компилятора и системы команд МК. 1. Критериев хорошести МК много. Для схемотехника это конструктивное исполнение, напряжение питания, потребление, встроенные в МК интерфейсы и специальные аппаратные блоки. Для программиста это наличие инструментальных средств, достаточность ресурсов памяти и производительности для реализации алгоритма. Для руководителя важно, что бы все было сделано быстро, дешево и сердито (конкурентноспособно). Мое мнение, что во все этом большую роль играет система команд. 2. Система команд влияет на объем программного кода и время выполнения программы. Опосредственно это позволяет использовать модель МК с меньшим объемом ПЗУ, работать на более низкой частоте, со всеми вытекающими последствиями. На сколько влияет - я попытался показать в своем анализе - в некоторых случаях многократно. 3. Несовершенство транслятора действительно существенно влияет на объем программного кода. Однако это происходит не только из-за того, что их так пишут. Просто система команд построена так, что под нее эффективный транслятор написать невозможно. Это привело даже к тому, что появилось (в начале 80-х годов) новое направление - RISC ЭВМ, которые построены под трансляторы, а не наоборот. Другое дело, что есть еще более приспособленные под трансляторы архитектуры - это стековые ЭВМ, но об этом рановато будет.
|
|
|
|
Сообщений в этой теме
vitja Архитектрура системы команд 8-разрядного МК Jan 16 2009, 11:15 vitja Цитата(mikesm @ Jan 16 2009, 15:00) Ссылк... Jan 16 2009, 12:54 vetal ЦитатаМое мнение, что во все этом большую роль игр... Jan 17 2009, 00:27 vitja Цитата(vetal @ Jan 17 2009, 03:27) 1 Сист... Jan 17 2009, 05:16 @Ark Цитата(vitja @ Jan 17 2009, 01:49) Что сч... Jan 17 2009, 01:58 vitja Цитата(@Ark @ Jan 17 2009, 04:58) Наверно... Jan 17 2009, 06:26 @Ark Цитата(vitja @ Jan 17 2009, 09:26) ... Jan 17 2009, 11:39 vitja Цитата(@Ark @ Jan 17 2009, 14:39) " ... Jan 17 2009, 12:09  mikesm Цитата(vitja @ Jan 17 2009, 15:09) 1. Не ... Jan 17 2009, 13:31   vitja Цитата(mikesm @ Jan 17 2009, 16:31) Профе... Jan 17 2009, 14:30    mikesm Цитата(vitja @ Jan 17 2009, 17:30) По п.А... Jan 17 2009, 15:06 @Ark Цитата(vitja @ Jan 17 2009, 17:30) Робята... Jan 17 2009, 16:16 vitja Цитата(@Ark @ Jan 17 2009, 19:16) 1. по м... Jan 17 2009, 22:09 vitja Цитата(vitja @ Jan 16 2009, 14:15) Передо... Jan 18 2009, 06:06 vvvv Второй день, тем более выходной это не так много. ... Jan 18 2009, 08:16 zltigo Цитата(vvvv @ Jan 18 2009, 10:16) а у Вас... Jan 18 2009, 09:20  vitja Цитата(zltigo @ Jan 18 2009, 12:20) Как с... Jan 18 2009, 11:35   zltigo Цитата(vitja @ Jan 18 2009, 12:59) Мне хо... Jan 18 2009, 11:41    vitja Цитата(zltigo @ Jan 18 2009, 14:41) Ведет... Jan 18 2009, 13:40     zltigo Цитата(vitja @ Jan 18 2009, 15:40) Посмот... Jan 18 2009, 18:02      vitja Цитата(zltigo @ Jan 18 2009, 21:02) ........ Jan 18 2009, 18:54       zltigo Цитата(vitja @ Jan 18 2009, 20:54) Про So... Jan 18 2009, 19:34        vitja Цитата(zltigo @ Jan 18 2009, 22:34) ...Ва... Jan 19 2009, 07:41         zltigo Цитата(vitja @ Jan 19 2009, 09:41) 1. Все... Jan 19 2009, 08:05         MrYuran Цитата(vitja @ Jan 19 2009, 10:41) - Крут... Jan 19 2009, 08:34          zltigo Цитата(MrYuran @ Jan 19 2009, 10:34) Вот ... Jan 19 2009, 09:01          vitja Цитата(MrYuran @ Jan 19 2009, 11:34) MSP4... Jan 19 2009, 09:53           MrYuran Цитата(vitja @ Jan 19 2009, 12:53) - орга... Jan 19 2009, 10:09            vitja Цитата(MrYuran @ Jan 19 2009, 13:09) Межд... Jan 19 2009, 10:41            vitja Цитата(MrYuran @ Jan 19 2009, 13:09) о ве... Jan 20 2009, 02:37             Mahagam Цитата(vitja @ Jan 20 2009, 06:37) В оцен... Jan 20 2009, 09:57              vitja Цитата(Mahagam @ Jan 20 2009, 12:57) 1///... Jan 20 2009, 16:43               GetSmart Цитата(vitja @ Jan 20 2009, 22:43) Обеспе... Jan 20 2009, 17:05                vitja Цитата(GetSmart @ Jan 20 2009, 20:05) рос... Jan 21 2009, 13:14                 Mahagam Цитата(vitja @ Jan 21 2009, 16:14) Ваши у... Jan 21 2009, 14:04                  zltigo Цитата(Mahagam @ Jan 21 2009, 16:04) осно... Jan 21 2009, 14:36                 GetSmart Цитата(vitja @ Jan 21 2009, 19:14) Продол... Jan 21 2009, 14:28               Mahagam Цитата(vitja @ Jan 20 2009, 20:43) Как чи... Jan 20 2009, 17:25           GetSmart Цитата(vitja @ Jan 19 2009, 15:53) 5/ В о... Jan 19 2009, 10:43            vitja Цитата(GetSmart @ Jan 19 2009, 13:43) 430... Jan 19 2009, 11:13             GetSmart Цитата(vitja @ Jan 19 2009, 17:13) Мне ка... Jan 19 2009, 11:21          vitja Цитата(MrYuran @ Jan 19 2009, 11:34) M430... Jan 19 2009, 11:33         _3m Цитата(vitja @ Jan 19 2009, 10:41) Просил... Jan 19 2009, 11:36          vitja Цитата(_3m @ Jan 19 2009, 14:36) ////Ниче... Jan 19 2009, 12:11          Mahagam Цитата(_3m @ Jan 19 2009, 15:36) Ваши утв... Jan 19 2009, 12:47 GetSmart RISC - отстой Грядёт эпоха сверхдлинных CISC по п... Jan 18 2009, 09:35 MrYuran Цитата(GetSmart @ Jan 18 2009, 12:35) RIS... Jan 18 2009, 10:30 vvvv Ну все верно, Вы говорите, что рынок занимают, что... Jan 18 2009, 14:25 vitja Цитата(vvvv @ Jan 18 2009, 17:25) ... Ну ... Jan 18 2009, 17:39  GetSmart Цитата(vitja @ Jan 18 2009, 23:39) Из PC ... Jan 18 2009, 18:22   vitja Цитата(GetSmart @ Jan 18 2009, 21:22) 1) ... Jan 18 2009, 19:42 vetal ЦитатаЕсли Вам не нравятся 8-разрядные МК, то ....... Jan 18 2009, 14:36 vetal Цитатасовершенно непонятные (неадекватные) цифры в... Jan 18 2009, 19:01 vitja Цитата(vetal @ Jan 18 2009, 22:01) Создай... Jan 19 2009, 08:12 lepert По поводу симулятора, этим уже занимался Кнут, все... Jan 18 2009, 19:39 vitja Цитата(lepert @ Jan 18 2009, 22:39) По по... Jan 20 2009, 13:44 vetal Цитата... выбору способа обработки – регистры, пам... Jan 19 2009, 08:30 vitja Цитата(vetal @ Jan 19 2009, 11:30) ////си... Jan 19 2009, 10:55 vetal Цитатакак не система команд
В первую очередь систе... Jan 19 2009, 11:06 _Pasha Цитата(vetal @ Jan 19 2009, 15:06) регист... Jan 19 2009, 11:23 vitja Цитата(vetal @ Jan 19 2009, 14:06) 1 В пе... Jan 19 2009, 11:43  _Pasha Цитата(vitja @ Jan 19 2009, 15:43) 2 см M... Jan 19 2009, 12:11   vitja Цитата(_Pasha @ Jan 19 2009, 15:11) Лично... Jan 20 2009, 08:29    _Pasha Цитата(vitja @ Jan 20 2009, 11:29) Выбор ... Jan 20 2009, 09:50     vitja Цитата(_Pasha @ Jan 20 2009, 12:50) можно... Jan 21 2009, 17:43 Rst7 ЦитатаТолько дополнение по поводу клонирования
...... Jan 19 2009, 11:45 Mahagam ага, мусье vitja перебрался сюда с хобота, где его... Jan 19 2009, 12:07 vitja Цитата(Mahagam @ Jan 19 2009, 15:07) 1///... Jan 19 2009, 12:31  GetSmart Цитата(vitja @ Jan 19 2009, 18:31) 3 AVR ... Jan 19 2009, 12:48   vitja Цитата(GetSmart @ Jan 19 2009, 15:48) Тео... Jan 19 2009, 13:12    _Pasha Цитата(vitja @ Jan 19 2009, 17:12) Мульти... Jan 19 2009, 13:16    Mahagam Цитата(vitja @ Jan 19 2009, 17:12) Это пр... Jan 19 2009, 13:49     vitja Цитата(Mahagam @ Jan 19 2009, 16:49) ну и... Jan 19 2009, 14:38      GetSmart Цитата(vitja @ Jan 19 2009, 20:38) В кажд... Jan 19 2009, 14:54      Mahagam Цитата(vitja @ Jan 19 2009, 18:38) Только... Jan 19 2009, 15:00       vitja Цитата(Mahagam @ Jan 19 2009, 18:00) 1 пр... Jan 19 2009, 18:02        Mahagam Цитата(vitja @ Jan 19 2009, 22:02) 1. Я т... Jan 19 2009, 18:30         GetSmart Цитата(Mahagam @ Jan 20 2009, 00:30) ника... Jan 19 2009, 18:56         vitja Цитата(Mahagam @ Jan 19 2009, 21:30) в МК... Jan 19 2009, 19:22         vitja Цитата(Mahagam @ Jan 19 2009, 21:30) нужн... Jan 20 2009, 06:27  Mahagam Цитата(vitja @ Jan 19 2009, 16:31) 2 Inte... Jan 19 2009, 12:57  MrYuran Цитата(vitja @ Jan 19 2009, 15:31) AVR с ... Jan 19 2009, 13:14   vitja Цитата(MrYuran @ Jan 19 2009, 16:14) Шуле... Jan 19 2009, 13:54    Mahagam Цитата(vitja @ Jan 19 2009, 17:54) Не AVR... Jan 19 2009, 14:25     vitja Цитата(Mahagam @ Jan 19 2009, 17:25) 1 //... Jan 19 2009, 15:15 Mahagam vitja
давайте вы не будете словоблудить когда по с... Jan 19 2009, 15:58 vitja Цитата(Mahagam @ Jan 19 2009, 18:58) vitj... Jan 19 2009, 18:54  Mahagam Цитата(vitja @ Jan 19 2009, 22:54) 1. Как... Jan 19 2009, 22:34 Leka Это смотрели? http://www.ultratechnology.com/chips... Jan 20 2009, 09:39 vitja Цитата(Leka @ Jan 20 2009, 12:39) Это смо... Jan 20 2009, 11:19 Leka Зачем ходить по чужим граблям? Пример(Кнут): MIX -... Jan 20 2009, 17:31 en1gma не уж то тоже присоединиться
на хоботе не вышло, т... Jan 20 2009, 18:22 Leka Кнут: "Тем не менее, нужно признать, что в на... Jan 20 2009, 18:29 vitja Цитата(Leka @ Jan 20 2009, 21:29) Эльбрус... Jan 21 2009, 07:58
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|