реклама на сайте
подробности

 
 
10 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Архитектрура системы команд 8-разрядного МК, Оценка/Анализ/Архитектура 8-32 разрядного МК
Mahagam
сообщение Jan 19 2009, 22:34
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



Цитата(vitja @ Jan 19 2009, 22:54) *
1. Как только Вы взяли тест для 8-разрядных данных (что ближе к теме), то с 7.3 опустились до 1.17.
Наверное можно найти еще какой-нибудь тест, где будет еще меньше.

да какая разница во сколько раз MSP430 выигрывает у 8051, если по вашим "экспертным" оценкам он должен солидно так проиграть.
выводы то какие? а выводы простые: весь ваш труд с вычислениями эффективности МК до сотых долей - ЛАЖА!

Цитата(vitja @ Jan 19 2009, 22:54) *
а) что единичные тесты не представительны. Выборка для оценки должна быть гораздо больше.

угу. в большинстве случаев достаточно оценить камень по жирному тесту drystone/wetstone и понять как он в математике. но это точно не должны быть умозрительные заключения с перемножениями чисел неясного происхождения.

Цитата(vitja @ Jan 19 2009, 22:54) *
Я на их примере оцениваю архитектуру системы команд - 0, 1, 2-адресной, переменной или фиксированной длины, регистровой, стековой или с командами память-память, я оцениваю в конечном счете влияние архитектурных особенностей системы команд на эффективность процессора.

ну а почему оценки нифига не кореллируют с практикой?

Цитата(vitja @ Jan 19 2009, 22:54) *
2. Об этом я уже писал. Описания, справочники, инструкции к программным системам, наверное, издавались и тогда.
Я говорю о нетленке. Это Дейкстра, Бэкус, Кнут, Вирт, Хоар, Ритчи и др. А свою книгу убери со стола.
Хотя возможно ее можно использовать как подставку или как крышку.

что-то вам чтение нетленки не помогает. может наоборот - у меня более правильная книга?

Цитата(GetSmart @ Jan 19 2009, 22:56) *
С 51-ым незнакомы?! smile.gif У него будет ровно такой же код. Только адрес переменной ограничен 8 битами.

о. ну конечно. если добавить волшебное слово "только" - код любого проца будет "ровно такой же". с какой вероятностью интересующая нас переменная попадёт в эти счастливые 256 байт?
с 51-ым знаком крайне поверхностно.


Цитата(vitja @ Jan 19 2009, 23:22) *
По первому договорились. Ты прав больше. Я имел в виду только МК (с внутренней память), а ты говоришь о более общем случае - использование процессором внешней памяти.

дело не только во внешней/внутренней памяти. для начала вкури разницу между гарвардской и фон-Неймановской архитектурой. будет ясно больше.

Цитата(vitja @ Jan 19 2009, 23:22) *
Я бы тоже самое мог написать на 8051 (от ATMEL, в нем говорят байтовые команды выполняются за один такт).
Получил бы те же команды, только байтов на 3 меньше, а тактов, наверное столько же.

ну так напиши - покажи класс. ну так, чтобы переменная не была ограничена какими-либо адресами.


Цитата(vitja @ Jan 19 2009, 23:22) *
А может ну их эти байты.
Будем писать все только на Си и закроем глаза на то, какой ущербный машинный код при этом получается.

а может ну её - эту оценку эффективности: запустили drystone и закрыли глаза на все технические мелочи?
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 02:37
Сообщение #77


Участник
*

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



Цитата(MrYuran @ Jan 19 2009, 13:09) *
о вещи MSP430

В оценке ошибка, виноват. Выигрыш в коде у байтовой системы команд 8051
по сравнению с 16-разрядной составляет 1.22 (раздел 5.2 работы)
Поэтому имеем 1.22*0.73*1.0*1.15=1.02. Т.е они дают приблизительно равный объем кода.
Это подтверждают цифры Maxago..., который приводит данные по тесту switch...
где получено 1.17.
Согласись, что для прогноза 15% является допустимой погрешностью.
Вот так теория проверяется практикой.



Цитата(vitja @ Jan 19 2009, 18:15) *
смотрю в книгу, а вижу ...

Сгораю от стыда.
Написано Чехонте "Жалобная книга", а "Станционный смотритель" написал кто-то другой.
Но ведь никто не поправил...
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 06:27
Сообщение #78


Участник
*

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



Цитата(Mahagam @ Jan 19 2009, 21:30) *
нужно в прерывании инкрементировать 16-ти разрядный счётчик
код типа ///
выливается в две команды:

INC &time_counter
RETI.

Продолжаем работать над ошибками/ своими и чужими
В постановке задачи требуется выполнить инкремент 16-разрядной переменной по прерыванию/
Для обработчика прерывания маловато будет /поэтому в стеке ничего не сохраняем/ контекст не переключаем
Разработчики 8051 допустили ошибку или имели на то определенные соображения -
операция инкремента не является эквивалентом прибавления 1 и не влияет на флаги регистра состояния/
Поэтому код становится длиннее и страннее
mov A,tim0
inc A
jnz M
inc tim1
m: mov tim0,A
reti
Итого 10 байт/ Ничего другого ожидать от 8-разрядной древности нельзя/
Однако для байтового счетчика все таки 3 байта будет (на внутренней памяти)
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 08:29
Сообщение #79


Участник
*

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



Цитата(_Pasha @ Jan 19 2009, 15:11) *
Лично я бы заморочился на следующем:
1. Разбить ОЗУ на 256-байтовые банки, в которых живут все нужные регистры, т.е все регистры, в т.ч и РС и указатель стека - отображаемые на память. При этом оставить возможность байтовой адресации всего массива .
2. Оставить один неотображаемый регистр - селектор банка, в системе команд предусмотреть команду безусловного перехода с выбором банка памяти
3. Разрядность команд оставить фиксированной, но время выполнения все равно будет очень варьировать, особенно если пытаться навернуть 32 разрядную арифметику при 8 разрядной ШД. При всей абсурдности затеи с 32-разр арифметикой, получим выигрыш в компактности кода.

Вчера весь день потерял на ненужные препирательства, достали.
Поэтому пропустил Ваши предложения.
По ним видно, что Вы единственный, кто ознакомился с M8.ZIP и
отметил непохожесть предлагаемой системы команд по сравнению с известными серийными 8-разрядными МК.
Из предложений остановлюсь, пока, на последнем.
Каждое принимаемое решение определяется ожидаемым результатом с учетом последствий принятого решения.
Я хотел добиться компактного кода – поэтому выбрал байтовую систему команд, 16-разрядная увеличивает объем кода по моим прикидкам в 1.22 раза (это один из результатов анализа rating.doc и писался он для целей оценки не конкретных моделей МК – заблуждение, а для оценки влияния архитектурных решений в системе команд МК и выбора наиболее оптимальных, а для этого нужны количественные, а не качественные оценки, пусть такие какие получились).
Далее, если выбрана байтовая система команд, то одноадресная как в 8051 Или другая.
Я выбрал стековую. Однако в нее ввел префиксную команду задания операнда, что позволило в рамках стековой архитектуры реализовать двух-адресные команды обработки данных (пересылка, унарные операции и модификация данных) и тем самым обеспечить сокращение числа команд до 0.73 по сравнению с 8051 (по моим прикидкам).
Выбор стековой архитектуры обусловлен еще и тем, что она хорошо сопрягается с трансляторами ЯВУ. Вспомним промежуточный P-код или Java байт-код, на который я ориентировался.
Переход на фиксированную длину 16-разрядов – это путь повторения AVR, его можно Чуть-чуть улучшить, но не радикально.
Форум не позволяет изъяснится подробно и доходчиво. Но, если есть понимание, то много слов не надо.
А 32-разрядность введена/ что бы посягнуть 8-разрядным ядром в область применения 32-разрядных МК/ а также иметь в системе команд возможность дальнейшего развития/
Пока. Об остальном подумаю.
Go to the top of the page
 
+Quote Post
Leka
сообщение Jan 20 2009, 09:39
Сообщение #80


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Это смотрели? http://www.ultratechnology.com/chips.htm
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 20 2009, 09:50
Сообщение #81


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(vitja @ Jan 20 2009, 11:29) *
Выбор стековой архитектуры обусловлен еще и тем, что она хорошо сопрягается с трансляторами ЯВУ. Вспомним промежуточный P-код или Java байт-код, на который я ориентировался.


Я бы сказал, эффективность работы трансляторов ЯВУ максимальна на архитектуре с небольшим количеством регистров, вернее, с небольшим объемом сохранения контекста процесса. А уж за счет чего это можно сделать - операций память-память, регистровых файлов -  это другой вопрос.

На примере того же АВР и Си видим, что до сих пор идет бурное развитие средств оптимизации, потому что эта регистровая модель немного не вписывается в сложившиеся технологии генерации кода.

Цитата
Переход на фиксированную длину 16-разрядов – это путь повторения AVR

Имхо, проще и дешевле. Думается, что при введении команд (не псевдокоманд!), "каскадирующих" арифметику до 16/32 разрядов, может этот Ваш коэффициент 1,22  опять опустить ниже плинтуса smile.gif Но это так - пальцем в небо.

И еще, можно АВР допилить до нужной кондиции так : разрешить операндам [Y+d] [Z+d] участвовать не только в операциях Load/Store. 

>>поток сознания иссяк smile.gif
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Jan 20 2009, 09:57
Сообщение #82


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



Цитата(vitja @ Jan 20 2009, 06:37) *
В оценке ошибка, виноват. Выигрыш в коде у байтовой системы команд 8051
по сравнению с 16-разрядной составляет 1.22 (раздел 5.2 работы)
Поэтому имеем 1.22*0.73*1.0*1.15=1.02. Т.е они дают приблизительно равный объем кода.
Это подтверждают цифры Maxago..., который приводит данные по тесту switch...
где получено 1.17.
Согласись, что для прогноза 15% является допустимой погрешностью.
Вот так теория проверяется практикой.

теорию потиху подгоняем. под некие сферические задачи в вакууме. а практика иногда показывает и 7 кратную разницу...

кстати, если ник правильно написать не можете сами - есть удивительная технология: Copy-Paste называется. попробуйте.

Цитата(vitja)
Я хотел добиться компактного кода – поэтому выбрал байтовую систему команд, 16-разрядная увеличивает объем кода по моим прикидкам в 1.22 раза

фигасе. ну вроде уже и теорию начали перекраивать, а всё туда же. http://www.atmel.com/dyn/resources/prod_do...nts/DOC1292.PDF тут атмел рвёт всех по размеру кода, хотя у них код нифига не 8-и разрядный.
неужто по предыдущей ссылке не сходили? неужто не увидели, что нет нет никакого увеличения в 1.22 раза!

ну и вопрос на засыпку: вот описали вы архитектуру, полностью определились со всеми разрядностями, количеством регистров, набором команд, расписали какие команды как и когда меняют флаги. и прочее прочее прочее. а что дальше?
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 11:19
Сообщение #83


Участник
*

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



Цитата(Leka @ Jan 20 2009, 12:39) *

Здравствуй LEKA/ Наконец-то пересеклись/ но с бабочками/ есть такие красивые яркие на М называются

К своему большому "сожалению" смотрел и автора Форта Charles Мура знаю/ но не лично
Поэтому стал сторонником стековой архитектуры в его интерпретации/ вывешено M8.zip
Что до судьбы перечисленных там проектов/ может тогда их время еще не пришло/ см выше об истории 8-разрядных МК

Цитата(_Pasha @ Jan 20 2009, 12:50) *
1///На примере того же АВР и Си видим, что до сих пор идет бурное развитие средств оптимизации, потому что эта регистровая модель немного не вписывается в сложившиеся технологии генерации кода.

2///введении команд (не псевдокоманд!), "каскадирующих" арифметику до 16/32 разрядов, может этот Ваш коэффициент 1,22 опять опустить ниже плинтуса smile.gif Но это так - пальцем в небо.

3///И еще, можно АВР допилить до нужной кондиции так : разрешить операндам [Y+d] [Z+d] участвовать не только в операциях Load/Store.

>>поток сознания иссяк smile.gif

Форум не то место для основательного разговора/ Это не мозговой штурм/ не диспут - это ЧАТ
Если я имею свое мнение/ то изменить его могу только /// как и ты/ уже перешли
1/ Твои слова подтверждают мой тезис/ что любая архитектура / кроме подчеркнуто стековой/
требует специальной оптимизации/ которая решается в компилятор LCC GNU и иже с ними плохо
Возможно фирменные трансляторы для ххх86 обеспечивают большую эффективность
Однако открываю книгу "Использование ассемблера для оптимизации программ на Си" 2004 г
И читаю в предисловии "большинство серьезных приложений пишутся на /// и вызвано это тем/
что ни одно инструментальное средство программирования на ЯВУ не может дать максимального выигрыша///

Посмотри Глава 4 Там приведена реализация основных операторов ЯВУ в машинных кодах Как будто у меня списано

2/ Я предложил ввести //потактную// обработку данных до 32-разрядов на 8-разрядном ядре/
С одной стороны на будущее/ как возможность расширения//
С другой это дает многократный выигрыш в объеме кода по сравнению с серийными 8-битниками
а в производительности нет
Это плохо/ как решить пока не знаю

Сообщение отредактировал IgorKossak - Jan 20 2009, 18:28
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 13:44
Сообщение #84


Участник
*

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



Цитата(lepert @ Jan 18 2009, 22:39) *
По поводу симулятора, этим уже занимался Кнут, все примеры в книге на его собственной виртуальной машине. Там же он пишет кое что о математической составляющей процессоров. Может его почитаете. Книжка конечно высший пилотаж, я застрял на 50й странице. Но уверен,
если пройти все его три тома, наступит 3й дан просветления.

По вашей рекомендации обратился к Кнуту (том первый страница далековатая но нашел///159я)
«МИХ автокод очень похож на машинный код существующих машин, но
Изящнее. Он выбран достаточно мощным для реализации алгоритмов программ на ЯВУ,
Но и достаточно простым …
Читатель должен изучить его с особым вниманием…»
И я о том же говорю. Присоединяюсь к просьбе классика, читайте внимательно http://moko.ru/mc/ M8.zip
reting.pdf для просветленных
А по МИХ коду с Кнутом не согласен. Аккумулятор/ индексные регистры//// маловато будет для изящности
МИХ код (не машинный код) должен быть как минимум 2-3-адресным/ с возможностью задания операторов в памяти/ и еще более чего///

Сообщение отредактировал vitja - Jan 20 2009, 13:50
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 16:43
Сообщение #85


Участник
*

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



Цитата(Mahagam @ Jan 20 2009, 12:57) *
1/// Copy-Paste называется. попробуйте.

2//фигасе. ну вроде уже и теорию начали перекраивать,

3//ну и вопрос на засыпку: вот описали вы архитектуру, полностью определились со всеми разрядностями, количеством регистров, набором команд, расписали какие команды как и когда меняют флаги. и прочее прочее прочее. а что дальше?

1. Как читается так и пишется За кнопочки спасибо, но я привык больше ручками

2. Я исправил ошибку, а не результаты своей работы.
Вы можете признаться в своей ошибке. См выше. Ищите. Не найдете - никому не скажу.

3. Дальше надо читать М8.zip. Специально упакованный, что бы не лазали ламеры.
Однако. Почему нет. Смотрите здесь. (или поднять выше?)
На основе ... предлагается ... для тех, кому лениво вникать в 12 листов текста того, что указано
реферат - аннотация - тезисы, т.е. очень кратко:
- Универсальное процессорное ядро для 8-32 разрядных микроконтроллеров
- Система команд – стековая (патентно чистая)
- Объем ПЗУ до 64 К с возможностью расширения
- Объем ОЗУ до 64 К с возможностью расширения
- Производительность – 1 такт на байт команды (данного)
- Тактовая частота процессора до 500 МГц
- Площадь кристалла – при технологии 0.13 мк – точка на кристалле
- Потребление – в четыре раза меньше
- Имеется встроенный отладчик (трассировщик), 2-х канальный DMA

Обеспечивает сокращение программного кода по сравнению
с 32-разрядным ARM Thumb в два раза при равной с ним производительности,
превышет эффективность 8-разрядных серийных МК в 2-3 раза.

Все, lдальше будет позже, выдохся.

Сообщение отредактировал vitja - Jan 20 2009, 16:51
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jan 20 2009, 17:05
Сообщение #86


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(vitja @ Jan 20 2009, 22:43) *
Обеспечивает сокращение программного кода по сравнению
с 32-разрядным ARM Thumb в два раза при равной с ним производительности,
превышет эффективность 8-разрядных серийных МК в 2-3 раза.

Товарищ размечтался. Причём он даже не знает ни одной фичи ARM7. Скорее всего никогда не видел листинги всех обсуждаемых им процессоров. А судит только поверхностно по системе команд. Бред.

А вообще, похоже на то, что он действительно учавствует в распиле бабла (российского?). Вот такие значит товарищи пилят наше бабло biggrin.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Jan 20 2009, 17:25
Сообщение #87


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



Цитата(vitja @ Jan 20 2009, 20:43) *
Как читается так и пишется За кнопочки спасибо, но я привык больше ручками

что-то мой ник вы, Витья, ручками правильно через раз пишете. ручки не оттуда растут?

Цитата(vitja @ Jan 20 2009, 20:43) *
2. Я исправил ошибку, а не результаты своей работы.

будем считать результаты работы "верными", но абсолютно неимеющими смысла, ибо с практикой корелляции маловато.

Цитата(vitja @ Jan 20 2009, 20:43) *
Однако. Почему нет. Смотрите здесь. (или поднять выше?)
На основе ... предлагается ... для тех, кому лениво вникать в 12 листов текста того, что указано

читал. ПРОНИКСЯ! smile.gif

Цитата(vitja @ Jan 20 2009, 20:43) *
- Универсальное процессорное ядро для 8-32 разрядных микроконтроллеров
- Система команд – стековая (патентно чистая)
- Объем ПЗУ до 64 К с возможностью расширения
- Объем ОЗУ до 64 К с возможностью расширения

верю.

Цитата(vitja @ Jan 20 2009, 20:43) *
- Производительность – 1 такт на байт команды (данного)

новая единица измерения производительности? такт на байт? и какую производительность имеют иные процессоры в этих единицах? а хватит ли такой производительности для декодирования mp3 на лету?

Цитата(vitja @ Jan 20 2009, 20:43) *
- Тактовая частота процессора до 500 МГц
- Площадь кристалла – при технологии 0.13 мк – точка на кристалле

есть какие-нибудь доказательства этих цифр? особенно про 500 МГц интересно - на основе каких сведений получено это число? или опять - палец пососали? сколько триггеров получилось в нет-листе?

Цитата(vitja @ Jan 20 2009, 20:43) *
- Потребление – в четыре раза меньше

в четыре раза меньше ЧЕГО?????? кипятильника?

Цитата(vitja @ Jan 20 2009, 20:43) *
- Имеется встроенный отладчик (трассировщик), 2-х канальный DMA

пока что имеются только высосанные из чего-то непонятного фантазии. чтобы говорить, что что-то там есть - как МИНИМУМ нужно построить HDL-модель нужного модуля/устройства. и только на основе результатов моделирования HDL-описания можно называть (с оговорками) и частоту, и площадь, и потребление.

Цитата(vitja @ Jan 20 2009, 20:43) *
Обеспечивает сокращение программного кода по сравнению
с 32-разрядным ARM Thumb в два раза при равной с ним производительности,
превышет эффективность 8-разрядных серийных МК в 2-3 раза.

какие-нибудь доказательства этого есть? или это всё на основе тех же оценок, несовместимых с практикой.
Go to the top of the page
 
+Quote Post
Leka
сообщение Jan 20 2009, 17:31
Сообщение #88


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Зачем ходить по чужим граблям? Пример(Кнут): MIX --> MMIX --> ??? и где идеал? Лучше учиться прятать низкоуровневые детали конкретных архитектур от программистов - чтобы низкоуровневые ЯВУ(например Си) - могли, наконец, уйти на заслуженный отдых.
Go to the top of the page
 
+Quote Post
en1gma
сообщение Jan 20 2009, 18:22
Сообщение #89


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 10-01-09
Пользователь №: 43 134



не уж то тоже присоединиться
на хоботе не вышло, так сюда придем
если что - есть ещё http://telesys.ru/ с их конференцией..

со стороны это смотрицца так, что некто пытается написать Талмуд (на диссер не тянет) о МК, рассматривая только МП в них, причём с до сих пор непонятной целью

а так бред, так как нету базы для оценки.. код для оценки высосан из пальца..
выбор МК для разработки на том же хоботе я вам тоже описал
и все дружно объясняли зачем никто не оптимизирует 8битники
Go to the top of the page
 
+Quote Post
Leka
сообщение Jan 20 2009, 18:29
Сообщение #90


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Кнут: "Тем не менее, нужно признать, что в настоящее время MIX полностью устарел. Поэтому в последующих изданиях данной книги он будет заменен новым компьютером под названием MMIX (номер 2009)...
...Полный и повсеместный переход в данной книге от MIX к MMIX отнимет много времени, поэтому огромная просьба к добровольцам - окажите посильную помощь в этом деле. Между тем, автор надеется, что читатели согласятся подождать еще несколько лет и пока удовлетворятся устаревшей архитектурой MIX, которая все еще заслуживает внимания, поскольку обеспечивает среду для дальнейших разработок."

Пример альтернативного подхода - Эльбрус с Эль-76.
Go to the top of the page
 
+Quote Post

10 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 19:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01525 секунд с 7
ELECTRONIX ©2004-2016