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

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата в проектах на FPGA во многих случаях хватит автокода. Ну до пятисот команд программа без особого напряга пишется на асме. И оптимизируется вручную. А вот больше - тут без яву делать нечего. Конечно, граница "500" - она достаточно условна. Но близка по порядку к объему памяти программ распространенных мелких микроконтроллеров. Как показывает практика, написание программы на яву для таких контроллеров превращается в "написание на Си программы на асме". И еще одно - компилятор вашего "автокода" тоже добрый дядя напишет? А оптимизатор? Или сами, врукопашную, последовательно наступая на весь набор граблей в компиляторостроении, с выдачей на гора "супероптимизирующего компилятора автокода" лет через 10?  Вообщем - думайте еще. И крепко. PS Мне кажется, осилить порт гнуся на другую архитектуру (особенно, если есть возможность точить архитектуру под компилятор) не займет более двух месяцев.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Feb 11 2009, 17:42
|
Участник

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

|
[Флуд, не имеющий отношения к теме]
Сообщение отредактировал IgorKossak - Feb 11 2009, 18:19
|
|
|
|
|
Feb 11 2009, 18:26
|
Участник

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

|
Цитата(Leka @ Feb 10 2009, 22:29)  Код //a[i] = b[j], a, b - указатели в памяти, i,j - индексы в памяти. //Пример: адресация, как у PDP-11, 16-разрядные команды/слова: //18байт, 15тактов. Поправьте, если напутал. //"безрегистровая" 3х-операндная, 36-разрядные команды(для FPGA) buf=b[j] //1слово,3такта - для двухпортовой блочной памяти a[i]=buf //1,3 //Добавляйте другие архитектуры... на твой код выставляю свой в 12 байт для 8-разрядного процессора М8 (данные в примере 16-разрядные). ldw# B Ildw adw @ld ;6 байт ldw# A Jldw adw @st ;6 байт Запись типа Форта. Однако приводя свой пример А(I)=B(J) ты забыл о других операторах присваивания типа- А=0 А=1234... А=В А=un(B ) A=bin(B,C).... А есть еще условные операторы, циклы, вызовы процедур.... Расставь проценты их использования в типовых программах МК. Раскрой их машинную реализацию в кодах и байтах для своего процессора, как это сделал я для 8-разрядных МК. Умножь их на проценты. И ты получишь рейтинги, которые получил я для МК8051,ПИК,АВР и пр....
Сообщение отредактировал vitja - Feb 11 2009, 18:29
|
|
|
|
|
Feb 11 2009, 20:13
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
А не так: Код загрузка указателя b //3 байта загрузка индекса j //3 сложение //1 косвенная загрузка //1 загрузка указателя a //3 загрузка индекса i //3 сложение //1 косвенная выгрузка //1 =16 байт? Цитата(Rst7 @ Feb 11 2009, 14:00)  ...компилятор вашего "автокода" тоже добрый дядя напишет? Сам и напишу. Цитата загрузка указателя ... индекса ... - имеются в виду косвенные загрузки
|
|
|
|
|
Feb 11 2009, 20:22
|
Участник

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

|
Цитата(Leka @ Feb 11 2009, 23:13)  загрузка индекса j //3 В системе команд процессора М8 команда загрузки имеет длину 1 байт (поэтому 16-4=12). Вы внимательны, в отличие от других. Команда загрузки в М8 имеет следующие форматы: (K) Pildw - текущая страница ОЗУ (K) PPildw -предыдущая страница ОЗУ (K) @ldw - косвенная адресация через стек вычислений (K) Rldw - стек возвратов (K) @Rldw -косвенная адресация через стек возвратов (K) @R+ldw -косвенная адресация ПЗУ через стек возвратов ldw# xxx - загрузка константы где w - длина данного 1, 2, 4 байта К - необязательный префикс константы Мнемоника приведена условно и форматы команд тоже.
Сообщение отредактировал vitja - Feb 11 2009, 20:53
|
|
|
|
|
Feb 12 2009, 10:24
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
MSP430 Код 1F420802 MOV.W &_a, R15 1F520402 ADD.W &_i, R15 1E420602 MOV.W &_b, R14 1E520202 ADD.W &_j, R14 AF4E0000 MOV.W @R14, 0(R15) 20 байт / 12 тактов однако, как мне кажется тут Код //"безрегистровая" 3х-операндная, 36-разрядные команды(для FPGA) buf=b[j] //1слово,3такта - для двухпортовой блочной памяти a[i]=buf //1,3 компилятор "догадывается" о том, что такое a и b, то есть это не аналог ли такого: Код 1F420402 MOV.W &_i, R15 1E420202 MOV.W &_j, R14 DF4E06022602 MOV.B _b(R14), _a(R15) 14 байт/9 тактов ? Цитата Расставь проценты их использования в типовых программах МК. Раскрой их машинную реализацию в кодах и байтах для своего процессора, как это сделал я для 8-разрядных МК. Умножь их на проценты. И ты получишь рейтинги, которые получил я для МК8051,ПИК,АВР и пр.... получим бесполезные циферки совершенно не учитывающие архитектурных особенностей изучаемых ядер применительно к различным задачам. что и показали даже такие примитивные одноклеточные тесты с сахары.
|
|
|
|
|
Feb 12 2009, 19:00
|
Участник

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

|
Цитата(GetSmart @ Feb 11 2009, 20:43)  1. Ближе к делу. 2. Вам же десять раз сказали, что новая архитектура ..... не нужна никому. 3. Может лучше сразу "на бережку" осознать бесполезность разработки . 4. ….не обязательно прыгать выше головы. Огорчили. 1. Описание М8 приведено http://www.moko.ru/mc/ 2. Кто сказал, что новая архитектура не нужна никому? 3. Это ваше личное мнение. 4. Промолчу, но прыгну. Однако. Все это сплошная говорильня, в которой и Вы и я и другие принимаем участие, вместо того, что бы... Полезность в этом есть, но пользы мало. Возможно я не смог четко сформулировать свои проблемы и свои их решения. Описание М8 буду править по результатам обсуждения. Но не за день, а за неделю ...две..три..Сейчас написать что либо конкретное уже нет сил, могу только пописывать. Рекомендую почитать Михаила Козлова из Института высшей нервной деятельности…РАН на близкую тему о «Возможностях универсального кода внутреннего представления программы».....Вот где энергия, настойчивость и сила характера. http://n-t.ru/tp/ts/uk.htmПроблемы у нас – это дороги, ...... и кризис. Однако причем все это? Заполнить пустую строку буковками и отправить их Вам. А оно это нужно?
Сообщение отредактировал vitja - Feb 12 2009, 19:26
|
|
|
|
|
Feb 13 2009, 00:22
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(vitja @ Feb 12 2009, 23:00)  2. Кто сказал, что новая архитектура не нужна никому? а кому нужна ещё одна ничем не выдающаяся 8-и битная архитектура? что в реё такого действительно необычного заложено, что ею будут активно пользоваться? особо малое количество требуемой памяти для кода? и какой ценой? ценой усложнения самого ядра до умопомрачения? так это сводит на нет всё преимущество от мелкого кода. и тем более такое ядро не будет интересно для FPGA применений. уж скорее Leka своего мутанта доделает и даже продать успеет (результаты то у него интересные получились), чем вы дойдёте хотя бы до стадии HDL-тестирования.
|
|
|
|
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|