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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> производительность 8051 котроллеров
=AK=
сообщение Apr 9 2006, 10:08
Сообщение #46


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(defunct @ Apr 9 2006, 18:31) *
Ок, вносим ясность, память - не регистровая и не ассоциотивная, обычный SRAM или DRAM.

За что такая немилость? Это нечестно! Разве тот же 51-й или AVR используют DRAM? Я думаю, никто из нас толком не знает, какова встроенная память в любом проце, но уж наверняка не DRAM, и очень может быть что не SRAM в обычном понимании. Какова кэш-память в том же пентюхе?

Ну ладно, пусть будет SRAM. Скажем, для 50МГц проца возьмем SRAM или даже PSRAM с 10 нс циклом, чтобы иллюзий не было. Однако пристроим ее прямо на чип , протянем шины от каждой ячейки по надобности, и вообще добавим к каждой ячейке железа не скупясь. Не RISC же делаем smile.gif

Цитата(defunct @ Apr 9 2006, 18:31) *
Интересно, только IMHO такой реализацией вы сделали очень крутой RISC процессор.

Ну никаким боком он не RISC. Потому что сумма целей моих при этом была прямо противоположна целям RISC-а. Я не стремился уменьшить кол-во железа и переложить исполнение сложных команд на компилятор ЯВУ. Наоборот, я стремился выполнить сложные команды в железе, не считаясь с расходом кремния. Типичный CISC подход.

Это была всего лишь иллюстрация утверждения, что сколь угодно сложную команду можно выполнить за 1 такт. Расточительно, неизящно, но роли это не играет, главное - можно

Поэтому ничто не мешает построить CISC, в котором все команды будут выполняться за 1 такт. Что и требовалось доказать.

Цитата(defunct @ Apr 9 2006, 18:31) *
Кроме того, Вы забываете про выборку команды, т.к. CISC это не спец процессор и его возможности не заканчиваются на одной команде. Этапы, которые проц. должен реализовать: "выборка команды", "декодирование", "загрузка операндов", "выполнение действия АЛУ", "запись результата".

Где скрижали, на которых написано, что CISC не имеет права делать эти действия (все или часть) за один такт? Чтобы он не имел права выполнять все команды за один такт? Чтобы было прямо сказано, что RISC-у это можно, а CISC-у - ни-ни, ни в коем случае, иначе это и не CISC, а невесть что, то ли (внеклассовый?) "спец-процессор", то ли "крутой RISC".

Почему это спец-процессор не может быть CISC-ом? A RISС-ом он может быть, или тоже "низзя-а-а-а" (с) ?
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 9 2006, 11:05
Сообщение #47


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
Ну ладно, пусть будет SRAM. Скажем, для 50МГц проца возьмем SRAM или даже PSRAM с 10 нс циклом, чтобы иллюзий не было. Однако пристроим ее прямо на чип , протянем шины от каждой ячейки по надобности, и вообще добавим к каждой ячейке железа не скупясь. Не RISC же делаем smile.gif

Это будет уже не SRAM, а регистровая память.


Цитата
Ну никаким боком он не RISC. Потому что сумма целей моих при этом была прямо противоположна целям RISC-а. Я не стремился уменьшить кол-во железа и переложить исполнение сложных команд на компилятор ЯВУ. Наоборот, я стремился выполнить сложные команды в железе, не считаясь с расходом кремния. Типичный CISC подход.

ну как же не RISC, громадный регистровый файл, короткие однотипные команды, и аппаратная реализация команд smile.gif
Волей-неволей у Вас получился именно RISC для решения монстрячей задачи ;>


Цитата
Это была всего лишь иллюстрация утверждения, что сколь угодно сложную команду можно выполнить за 1 такт. Расточительно, неизящно, но роли это не играет, главное - можно

Поэтому ничто не мешает построить CISC, в котором все команды будут выполняться за 1 такт. Что и требовалось доказать.

Ваше утверждение сомнительно. Потому что решение, представленное Вами, - НЕПОЛНОЕ, и на его основе нельзя утверждать, что у Вас получилось реализовать эту команду за такт.

Цитата
Цитата(defunct @ Apr 9 2006, 18:31) *

"выборка команды", "декодирование", "загрузка операндов", "выполнение действия АЛУ", "запись результата".

Где скрижали, на которых написано, что CISC не имеет права делать эти действия (все или часть) за один такт? Чтобы он не имел права выполнять все команды за один такт? Чтобы было прямо сказано, что RISC-у это можно, а CISC-у - ни-ни, ни в коем случае, иначе это и не CISC, а невесть что, то ли (внеклассовый?) "спец-процессор", то ли "крутой RISC".

Вероятно таких скрижалей нет, все в руках разработчиков.
Да пожалуйста, сделайте за один такт все этапы без конвеера. Почему-то пока этого никому не удавалось.. Только тогда возникает вопрос, Вы часом не в Intel'е работаете? А если в Intel'е, так почему же до сих пор не сделали такой проц? smile.gif

Цитата
Почему это спец-процессор не может быть CISC-ом? A RISС-ом он может быть, или тоже "низзя-а-а-а" (с) ?

хм.. ну спец вычислитель я бы не относил ни к тому, ни к другому, т.к. есть еще названный Вами MISC и неназванный VLIW.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 9 2006, 11:51
Сообщение #48


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(defunct @ Apr 9 2006, 20:35) *
Цитата

пристроим ее прямо на чип , протянем шины от каждой ячейки по надобности, и вообще добавим к каждой ячейке железа не скупясь. Не RISC же делаем smile.gif

Это будет уже не SRAM, а регистровая память.

Что Вы подразумеваете под словами "регистровая память"?

Вот это:
http://www.whatis.ru/hard/mem11.shtml
"Регистровая память
Registered Memory это память с регистрами, которые служат буфером между контроллером памяти и чипами модуля. Регистры уменьшают нагрузку на систему синхронизации и позволяют набирать очень большое количество памяти (16 или 24 гигабайт) не перегружая цепи контроллера.
Но данная схема имеет недостаток - регистры вносят задержку в 1 такт на каждую операцию, а значит - регистровая память медленнее обычной при прочих равных условиях. То есть - оверклокеру неинтересна (да и стОит она очень дорого)"

или же вот это:
http://www.intuit.ru/department/hardware/archhard2/5/
"На нижнем уровне иерархии находится регистровая память - набор регистров, входящих непосредственно в состав микропроцессора (центрального процессора - CPU)."

Если последнее, то почему обычные процики (AVR, PIC, Z8, и т.д) могут использовать такую память (на кристалле, непосредственно в составе проца), а мне в моем "супер-пупер CISC-е" в этом отказано? Если Вы скажете, что тот же AVR не может делать никаких арифметических и т.п. операций с операндами в памяти, я возражу, что он RISC, поэтому и не может. Разработчики пожалели железа, потому и не сделали.

Мне железа не жалко, и я сделаю проц примерно такой же, как ранние ЭВМ 50-х и 60-х годов, которые называть RISC-ами смешно. Возьму за основу, например, трехадресную БЭСМ-4м, снятую с производства в 1963 г., в которой, как я помню, регистров не было вообще, а все операции выполнялись непосредственно на памяти. Главное что изменю - поставлю быструю память и сделаю все операции однотактными. Без конвеера, ессно, т.к. в оригинале конвеера не было. Не придумали еще.

Поскольку регистров в моем CISC-е нет, то при прерываниях сохранять ничего не надо. Померявшись скоростью реакции на прерывания (которых, впрочем, в БЭСМ-4 может и не было, не буду врать, не знаю, но к своему процу я их прикручу, уж будьте покойны) , RISC-и со своими регистрами и конвеерами нервно покурят в сторонке smile.gif

Если Вы и такую реинкарнацию БЭСМ-4 вопреки здравому смыслу и очевидности назовете RISC-ом, то далее убеждать Вас в чем бы то ни было я отказываюсь. sad.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 9 2006, 14:12
Сообщение #49


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=AK= @ Apr 9 2006, 14:51) *
Что Вы подразумеваете под словами "регистровая память"?

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

Первое Ваше определение совсем не относится к микропроцессорам.

Второе определение как раз то, что надо.

Цитата
Если последнее, то почему обычные процики (AVR, PIC, Z8, и т.д) могут использовать такую память (на кристалле, непосредственно в составе проца), а мне в моем "супер-пупер CISC-е" в этом отказано?

Да ради бога используйте, на сегодняшний день во всех процессорах есть регистровая память. Правда если Вы всю память (всей вычислительной системы) засунете в процессор и сделаете ее регистровой, то получите RISC архитектуру.

Цитата
Если Вы скажете, что тот же AVR не может делать никаких арифметических и т.п. операций с операндами в памяти, я возражу, что он RISC, поэтому и не может.

Здесь вы перегибаете палку, в Вашем варианте решения задачки, Вы как раз и предлагаете сделать все по образу и подобию AVR. А потом почему-то говорите, что у Вас получился не RISC.

Цитата
Разработчики пожалели железа, потому и не сделали.

?

Цитата
Мне железа не жалко, и я сделаю проц примерно такой же, как ранние ЭВМ 50-х и 60-х годов, которые называть RISC-ами смешно. Возьму за основу, например, трехадресную БЭСМ-4м, снятую с производства в 1963 г., в которой, как я помню, регистров не было вообще, а все операции выполнялись непосредственно на памяти.

БЭСМ-4 выполняет такую команду (как мы здесь обсуждаем) за 1 такт? Из Ваших слов следует, что нет.

Цитата
Главное что изменю - поставлю быструю память и сделаю все операции однотактными. Без конвеера, ессно, т.к. в оригинале конвеера не было. Не придумали еще.

Вот этого я от вас и добиваюсь. Услышать или увидеть теоретически возможное решение, где учтены все пять, приведенных выше, этапов выполнения команды. И при этом оставаться в рамках CISC архитектуры (небольшое число рабочих регистров и еще меньшее число РОН).

Цитата
Поскольку регистров в моем CISC-е нет, то при прерываниях сохранять ничего не надо. Померявшись скоростью реакции на прерывания (которых, впрочем, в БЭСМ-4 может и не было, не буду врать, не знаю, но к своему процу я их прикручу, уж будьте покойны) , RISC-и со своими регистрами и конвеерами нервно покурят в сторонке smile.gif

Вы ошибаетесь, у вас получилось все как раз наоборот. Регистров не нет, как Вы говорите, а наоборот настолько много, что и сохранять ничего не нужно (типичнейший RISC).

Цитата
Если Вы и такую реинкарнацию БЭСМ-4 вопреки здравому смыслу и очевидности назовете RISC-ом, то далее убеждать Вас в чем бы то ни было я отказываюсь. sad.gif

Я, к своему стыду, не знаю архитектуры БЭСМ-4, поэтому ничего не могу сказать не только про ее реинкарнацию, но и про оригинал.


Напомню, для читателей этой ветки, что у нас обсуждение идет в контексте конкретного вопроса:
"Какая архитектура лучше приспособлена для задач, в которых требуется максимально быстрая реакция на прерывание?"
Я утверждаю, что RISC архитектура специально разрабатывалась для решения таких задач и это есть ее основной козырь и в то же время отличие от CISC. Уважаемый опонент, пока что (субъективно, насколько я могу судить) неубедительно, показывает, что и CISC архитектура может обеспечивать столь же быструю реакцию на прерывания, но к сожалению (опять же субъективно) он в своих решениях приходит к RISC архитектуре.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 10 2006, 00:23
Сообщение #50


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Читайте, думайте:
http://www.microprocessor.sscc.ru/great/
Прикрепленное изображение


Еще посмотрите описание Нейрон чипа (LON) и задумайтесь, действительно ли в нем три процессора, или все-таки один стековый процессор, способный мгновенно переключать контекст, три раза за полный 6-тактный цикл. Отвечать не требуется, извините, мне Ваше мнение не интересно.

http://www.microprocessor.sscc.ru/great/app.html
"The technical term RISC has been swamped by the marketing term RISC to the point that it's lost almost all meaning as a technical term. Almost everything now is described as RISC, even when it isn't"
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 10 2006, 09:44
Сообщение #51


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=AK= @ Apr 10 2006, 03:23) *
Отвечать не требуется, извините, мне Ваше мнение не интересно.

Очень жаль, что все дошло до указаний..
Вам не интересно отличное от Вашего мнение, так что с того?


За ссылки спасибо, почитаю.
Табличка кривовато скопирована или нарисована, ось смещена в сторону CISC.
Go to the top of the page
 
+Quote Post
Jevys
сообщение Apr 27 2006, 06:07
Сообщение #52





Группа: Участник
Сообщений: 6
Регистрация: 26-04-06
Пользователь №: 16 503



Если говорить о производительности 8051, то 8051 в версии Silabs на мой взгляд выглядит очень достойно для решения многих задач. По сравнению с классическим частота ядра выше в 8 раз, команды выполняются быстрее в 10 раз и плюс умножитель. Итого получается примерно в 100 раз выше чем производительность основного советского микроконтроллера 1816ВЕ31, на котором работало много неплохих устройств.

Используем Silabs уже 3года, запустили в производство целую серию устройств. Софт пишем как на ассемблере так и на Си. В целом довольны, те задачи которые в нашей области раньше решались на DSP, теперь успешно решаются на 8051. Запас производительности большой, загрузка процессора 20-40%. 8051 выбрали потому, что было много наработок для этой платформы.

Но в будущих разработках конечно планируем ARM. Ориентируемся на LPC. По скромным прикидкам у него все долно быть в 3-4 раз лучше чем Silabs.
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 2 2006, 09:30
Сообщение #53


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(andron86 @ Mar 31 2006, 11:26) *
Вопрос к спецам!

Возникла такая ситуация - приходится разбираться с конроллером от SiLabs C8051124, контролллер на 8051 ядре. В доку стоит максимально 50MIPS, 70% команд в 1 тактовый цикл. Тут как-то прищлось у одного спеца что-то по этому uM спросить- так он мне выдал, что это ядро устарело и что производительность контроллеров на этом ядре ужасно мала, в сравнении с другими архитектурами.

Объясните пожалуйста мне или киньте ссылочки на эту тему. Действительно ли это так?

Спасибо заранее!

Однозначно трудно что-либо конкретно сказать. Все зависит как от характера задач, так и от критериев сравнения. Года три назад я попросил (для сравнения контроллеров) выложить результаты трансляции простенькой функции на Си для МК типа X51 и PIC. Результаты Вы можете увидеть здесь:
Телесистемы
Конечно, они могут ни о чем не сказать, а могут сказать о многом. Далее, могут быть критерии никак не связанные с производительностью. Если взять тот же SiLabs, то его производительность на частоте 50 МГц может оказаться выше чем у AVR на частоте 16Мгц. А как тут будет с потребляемой мощностью? А как тут будет с ценами контроллеров? Короче говоря, вопросов что, как и почему будет множество. И сравнивать надо в каждом конкретном случае.
Go to the top of the page
 
+Quote Post
mse
сообщение Jun 3 2006, 08:32
Сообщение #54


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата
Если взять тот же SiLabs, то его производительность на частоте 50 МГц может оказаться выше чем у AVR на частоте 16Мгц.

Ну верно, смотря какая задача. Если арифметика, то АВР на 16 его и на 50 может вдуть. А если логика, типа ножкой-флажком поболтать, портами пошевелить, то Силаб 16-МГЦ АВРа и на 16 уест. Не в разы, и не везде, ессно.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jun 3 2006, 19:08
Сообщение #55


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Evgeny_CD @ Apr 8 2006, 13:01) *
Народ, а не проще "заезд" устроить:
* 51 100 Мгц от SiLabs
* AVR 20 Мгц от Atmel

Ну и задачи разные
* FIR/IIR фильтры
* FFT (например, 256)
* вычисления в плавучке
* рисование текста в GUI (взять какой-нибудь гуй простенький, например 128х64 1bit per pixel, и работать с виртуальным frame buffer в памяти)
* ...

Хотя, вероятно, C код универсальным не получится - слишком уж разные архитектуры...

А то так можно долго спорить...Некие тесты обсуждались тут - но они достаточно спорные...
http://www.telesys.ru/wwwboards/mcontrol/1...es/104416.shtml
http://www.caxapa.ru/mcu/wwwboard.html?id=35158
http://electronix.ru/forum/index.php?showtopic=6279&hl=

Прошу прощения за повтор, но ...
PIC vs. X51 vs. AVR
Там приведены коды одной и той же простенькой функции. Легко можно посчитать время выполнения такой функции на разных контроллерах.
И еще здесь
Немного об арифметике.

Сообщение отредактировал _Bill - Jun 3 2006, 19:17
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 9th July 2025 - 15:01
Рейтинг@Mail.ru


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