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

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

|
Цитата(GetSmart @ Jan 19 2009, 13:43)  430ые не делают на высокую частоту.
Возьмём к примеру классический ARM7-TDMI. Он умеет работать в двух режимах. 32-битный код исполняется грубо в 1.5 раз быстрее Thumb-a, но имеет грубо в 1.5 раз больше объём кода. Вопрос на засыпку - какой режим эффективней?
А если за один доступ к ПЗУ считывать сразу две команды, то что? А если сразу 4? 1/ на первые два вопроса вы ответили сами - а) не делают потому/ что у них система команд такая - переменной длины да еще с возможностью обработки данных в памяти/ что в принципе не позволяет реализовать однотактный конвейер/ б) 32-битный код исполняется в 1.5 раз быстрее Thumb-a (критерий число тактов), имеет в 1.5 раз больше объём кода (критерий затраты программного кода). Насчет одновременной выборки я подумаю/ Действительно/ если процессор может работать на частоте более высокой чем выборка команд из ПЗУ то и пусть работает Однако как быть с потреблением/ Оно тоже вырастет В сигнальниках и VLIM архитектурах действительно одновременно выбирается несколько команд / однако они /при возможности/ выполняются за один такт /за счет параллельной работы независимых обрабатывающих блоков Мне кажется это более правильное решение/ а не такое лобовое/ как то что вы предложили
|
|
|
|
|
Jan 19 2009, 11:33
|
Участник

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

|
Цитата(MrYuran @ Jan 19 2009, 11:34)  M430 - это действительно вещь. Только дополнение по поводу клонирования См.формат двух-адресной команды BKKK mmmRRR mmmRRR (PDP11) и KKKK RRRRmB mmRRRR (MSP430) В-байт или слово, R-регистр источник и приемник, m-мода адресации. При непосредственной адресации следующее слово команды содержит константу, при косвенной-адрес. В чем принципиальные отличия. В числе регистров? 8 и 16. В их использовании - в PDP11 PC и SP это R7,R6, а в MSP430 - R0,R1. Вобщем содрали архитектуру, надеюсь не испортили, навесили рюшки, фишки и назвали все это RISCом, иначе не модно И сделали это 26 лет после DEC (в 1996 году)
|
|
|
|
|
Jan 19 2009, 11:36
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(vitja @ Jan 19 2009, 10:41)  Просил без ?ля-ля-ля. Без ля-ля не получится потому что вы несете полную ахинею, причем ахинея в самой постановке вопроса. Цитата 1. Все чем мы пользуемся сейчас было заложено в 50-80-е годы. [...] 3. После 80-х годов программирование и аппаратура ЭВМ развиваются экстенсивно и эволюционно. В основном в сторону инструментария, который делают избранные. [...] Мы ремесленники. Этим надо гордиться? Вопросы выбора процессорной архитектуры были закрыты в XX веке. Ничего концептуально нового в области традиционных процессоров уже не придумать, поэтому мы и пользуемся разработками 80-х или 90-х. Важность инструментария в связи с этим стала превышать важность архитектуры. Плохой компилятор ЯВУ угробит любую процессорную архитектуру, а хороший вытянет даже убогий процессор. Трудоемкость разработки компилятора генерирующего высокооптимизированный код на порядки превышает трудоемкость разработки процессорной архитектуры. Для нового самопального процессорного ядра компилятора у вас либо не будет либо он будет неэффективным. Отсутствие или плохое качество компилятора - смерть для процессорной архитектуры. Именно поэтому разработка новой архитектуры процессора сейчас либо самоубийство либо чистый попил бабла. Да, с конца 80-х микроконтроллеры стали ремеслом, сейчас и компьютерщики тоже становятся ремесленниками. Ваши утверждения о том что MSP430 клон PDP11 смехотворны. PDP11 имеет ортогональную систему команд, а MSP430 - не ортогональную. Отличие концептуальное! MSP430 создан "по мотивам", но он отнюдь не клон.
|
|
|
|
|
Jan 19 2009, 11:43
|
Участник

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

|
Цитата(vetal @ Jan 19 2009, 14:06)  1 В первую очередь система команд это интерфейс ядра процессора с внешним миром. 2 Взяли микроядро AVR без декодера и творите какую угодно систему команд. 3 Если бы вы поставили вопрос по другому: что лучше регистровый, стековый, регистровый с плавающим окном, аккумуляторный с одной или несколькими одновременно доступных памятей данных и т.д. то можно было бы судить. А так - все процессоры умеют складывать, вычитать, прыгать, загружать/выгружать данные куда-либо и 4 создать систему команд под незнамо какую зверушку будет очень сложно. С Pashe не согласен/ Однако и Вы тоже/ 1 Мне казалось/ что система команд это интерфейс программиста с процессором/ как я был не прав 2 см M8.zip в вывешенном каталоге/ на AVR это не похоже и на другие тоже 3 Именно я так ставлю вопрос и делаю попытку дать на него ответ/ не слушают 4 Создать систему команд для 8-разрядного МК/ сопрягаемого с транслятором/ удобного для программирования на ассемблере/ достаточно простого в аппаратной реализации
|
|
|
|
|
Jan 19 2009, 11:45
|

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

|
Цитата Только дополнение по поводу клонирования ... Вобщем содрали архитектуру, надеюсь не испортили, навесили рюшки, фишки и назвали все это RISCом, иначе не модно И сделали это 26 лет после DEC (в 1996 году) Ну еще можете сравнить IBM360/370 и MC680x0. Тоже много интересного узнаете о "клонировании" Цитата Плохой компилятор ЯВУ угробит любую процессорную архитектуру, а хороший вытянет даже убогий процессор. Первое - верно, второе - неверно. Цитата Трудоемкость разработки компилятора генерирующего высокооптимизированный код на порядки превышает трудоемкость разработки процессорной архитектуры. Для нового самопального процессорного ядра компилятора у вас либо не будет либо он будет неэффективным. Отсутствие или плохое качество компилятора - смерть для процессорной архитектуры. Именно поэтому разработка новой архитектуры процессора сейчас либо самоубийство либо чистый попил бабла. Плюс, как сейчас говорят, пицот
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 19 2009, 12:07
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
ага, мусье vitja перебрался сюда с хобота, где его "изыскания" также "неоценили"  на зачем тут повторять бред из PC Week предварительно не обдумав цифры? вы там так и не придумали - где оставшиеся 70% рынка? Примеры ? Ваш и мой ?пень? вырос из 8086-го (1980 год), была даже его 8-разрядная версия (это ближе к теме).вы знаете, мне очень хочется узнать, что за такая "8-разрядная версия" была у 8086 ? или это вы в порыве графоманства не закусили? Итого имеем 2.0*0.73*1.0*1.15 = 1.7. Во столько раз с точностью достаточной для практического применения МК430 уступает 8051.ооох! ну и забористая трава! эк вы, Маэстро, быстро и точно оценили MSP430. а ничего, что http://mcu.caxapa.ru/benchmarks/ получается с точностью до наоборот? ну неиначе - во всём виноваты компиляторы!  да, MSP430 иногда выполняет команду длительностью аж (о боже!) целых 6 (шесть) тактов. но вы так и не удосужились понять, что за этим стоит, для какого случая это получается крайне эффективно, и сколько команд 8051 ядра нужно выполнить, чтобы произвести такое же действие. но вы просто решили, что MSP430 - это такое неэффективное ядро. аж в 1.7 раза хуже чем 8051, а мысли о том, что все ваши наукообразные рассуждения и вычисления эффективности с точностью до сотых - бред, не приходило? Насчет одновременной выборки я подумаю/ещё на хоботе я давал и название этой "технологии" и фирму. но почитать вы так и не удосужились. а это, между прочим, описано даже в переводной литературе. ну так что, будем учится, или убежим на следующий форум? где, может быть, "оценят"
|
|
|
|
|
Jan 19 2009, 12:11
|
Участник

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

|
Цитата(_3m @ Jan 19 2009, 14:36)  ////Ничего концептуально нового в области традиционных процессоров уже не придумать, поэтому мы и пользуемся разработками 80-х или 90-х.
////Важность инструментария ////Именно поэтому разработка новой архитектуры процессора сейчас либо самоубийство либо чистый попил бабла.
///Ваши утверждения о том что MSP430 клон PDP11 смехотворны. PDP11 имеет ортогональную систему команд, а MSP430 - не ортогональную. Отличие концептуальное! MSP430 создан "по мотивам", но он отнюдь не клон. По первым пунктам вы меня цитируете/ спасибо/ 3/// Хорошо/ что к вашему совету не прислушались в ATMELE Немного истории и ваш прогноз на это 1980 - 8051 конец 80-х - PIC конец 90-х - AVR конец 2010-х - ???? 4/// Более не говорю о клонировании/// буду говорить /по мотивам PDP11/ По поводу не ортогональности системы команд М430 я посмотрю - это концепция серьезная/ я всегда считал что ортогональность в системе команд это хорошо/ а не ортогональность это плохо (это из Майерса/ если не ошибаюсь)
|
|
|
|
|
Jan 19 2009, 12:11
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

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

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

|
Цитата(Mahagam @ Jan 19 2009, 15:07)  1///ага, мусье vitja
2/// мне очень хочется узнать, что за такая "8-разрядная версия" была у 8086 ? или это вы в порыве графоманства не закусили?
3///да, MSP430 иногда выполняет команду длительностью аж (о боже!) целых 6 (шесть) тактов.
будем учится 1 Здравствуй дорогой/ Рад снова встретится/хоть и с детства не люблю ябед/ однако на iXBT уже все закончилось 2 Intel 8088 3 AVR с ARMом в придачу выполняет команду за один такт/ Счет 6/1 в чью пользу? Просьба сохранять толерантность в общении/ задавать вопросы или ответы на них/ от смайликов Вы уже отучились/ Молодец
|
|
|
|
|
Jan 19 2009, 12:47
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(_3m @ Jan 19 2009, 15:36)  Ваши утверждения о том что MSP430 клон PDP11 смехотворны. PDP11 имеет ортогональную систему команд, а MSP430 - не ортогональную. Отличие концептуальное! MSP430 создан "по мотивам", но он отнюдь не клон. вообще-то - ортогональная и у MSP430. любая команда работает с любым имеющимся регистром с любым имеющимся методом адресации.
|
|
|
|
|
Jan 19 2009, 12:48
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(vitja @ Jan 19 2009, 18:31)  3 AVR с ARMом в придачу выполняет команду за один такт/ Счет 6/1 в чью пользу? Теоретик ARM выполняет команду группового сохранения регистров во внутренней раме за 17 тактов максимум, а ту же команду во внешней раме до 100 тактов (а то и более), в зависимости от настроек внешней шины. 8088 - 16 битный проц с внешней 8р шиной. Система команд и архитектура 16-битные.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jan 19 2009, 12:57
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
Цитата(vitja @ Jan 19 2009, 16:31)  2 Intel 8088 и с каких это пор он стал 8-и разрядным? оттого что у него внешняя шина данных была 8-и разрядная? тогда какой разрядности S3C4530 который может одновременно работать с 8- 16- и 32-х разрядной памятью ??? Цитата(vitja @ Jan 19 2009, 16:31)  3 AVR с ARMом в придачу выполняет команду за один такт/ Счет 6/1 в чью пользу? "воспитанный дятлами мальчик задолбал своих приёмных родителей" подумать, что же делается в течении этих 6 тактов, видимо не судьба. и как вообще формируется время исполнения любой команды MSP430 тоже.
|
|
|
|
|
Jan 19 2009, 13:12
|
Участник

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

|
Цитата(GetSmart @ Jan 19 2009, 15:48)  Теоретик ARM выполняет команду группового сохранения регистров во внутренней раме за 17 тактов максимум, а ту же команду во внешней раме до 100 тактов (а то и более), в зависимости от настроек внешней шины. 8088 - 16 битный проц с внешней 8р шиной. Система команд и архитектура 16-битные. Кто бы спорил/ Особенно по последнему/ Это приведено как пример того что даже ХХ86 не гнушался 8-разрядности и 8-разрядные МК рановато списывать в утиль А про команду группового сохранения - это верно - сохранить 16 регистров во внутренней памяти быстрее не получается/плюс такт на команду Вопрос вот в чем - а нужна ли эта команда? Для переключения контекста/ Как часто это присутствует в программе простого 8-разрядного МК/ При прерываниях/ Мультизадачность - для МК это экзотика/ Далее задаем долю операций переключения контекста/ 1% мало - берем 2/ В результате мы сэкономили на этой команде в объеме кода 0.32% В тактах не выиграли ничего/ Зато усложнили аппаратуру/ Ради чего Вами поднят гораздо более глубокий вопрос - касающийся состава команд и его влияния на объем программного кода и тактов на его выполнение../Брр Если уж вводить сложные команды, то какие - мне кажется это не команды групповой пересылки регистров. Большую долю операторов ЯВУ составляют условные операторы (16%) и циклы - 18% (более всего счетные). Проценты в разумных пределах можно поправить. Из этого следует, что надо объединить в одной команде операцию тестирования операндов и перехода по условию, надо объединить модификацию счетчика с переходом по условию в начало цикла. Здесь экономия памяти и тактов посущественнее будет. Однако в каком МК вы это видели. Скажите.
Сообщение отредактировал vitja - Jan 19 2009, 13:42
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|