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

 
 
> производительность 8051 котроллеров
andron86
сообщение Mar 31 2006, 08:26
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Вопрос к спецам!

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

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

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

Сообщение отредактировал andron86 - Mar 31 2006, 08:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladec
сообщение Apr 3 2006, 06:17
Сообщение #2


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

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Ошибочное мнение что при одинековом быстродействии RISC архитектура дает большую производительность чем CISC архитектура (как у 51), все с точностью до наоборот. Просто RISC архитектура позволяет получить большее быстродействие легче и с меньшими аппаратными затратами.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 6 2006, 02:56
Сообщение #3


кекс
******

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



Цитата(vladec @ Apr 3 2006, 08:17) *
Ошибочное мнение что при одинековом быстродействии RISC архитектура дает большую производительность чем CISC архитектура (как у 51), все с точностью до наоборот. Просто RISC архитектура позволяет получить большее быстродействие легче и с меньшими аппаратными затратами.


Ну во первых, C51 это чистый RICS, можно даже сказать эталон RISC процессора.

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

В третьих быстродействие и производительность это синонимы. Если Вы имели в виду сравнение производительности на одинаковых тактовых частотах, то здесь взависимости от задач в равной степени может победить и RISC и CISC. Если в системе часто происходят прерывания, то победит RISC, а CISC в свою очередь может попасть в ступор и тратить все свое время лишь на переключение между задачами. Мало прерываний - однозначно победит CISC.

Ну и последнее RISC архитектура позволяет максимально разогнать тактовую частоту, поскольку команды короткие и исполнительная логика соответственно простая. Быстродействие же получается не всегда за счет тактовой частоты.

Мое мнение таково:
По сабжу - C51 даже Cygnal на своих 100Mhz с 50MIPS по производительности один из аутсайдеров, и на задачах 32х битной целочисленной арифметики отстанет от 8-ми разрядной AVRки @16Mhz с актуальными ~10MIPS раз эдак в 10.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Apr 6 2006, 03:01
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(defunct @ Apr 6 2006, 08:56) *
Цитата(vladec @ Apr 3 2006, 08:17) *

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


Ну во первых, C51 это чистый RICS, можно даже сказать эталон RISC процессора.


Ну уж батенька, что-то вы не то тут сказанули, или описались.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 6 2006, 03:10
Сообщение #5


кекс
******

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



Цитата(Andy Mozzhevilov @ Apr 6 2006, 05:01) *
Ну уж батенька, что-то вы не то тут сказанули, или описались.

Я писал эмулятор оного и архитектуру его знаю прекрасно. Но, конечно же, если Вы меня сможете переубедить ссылкой на документ от Intel'а где сказано, что C51 это CISC, тогда я заберу свои слова
обратно.

Цитата
Приводится пиковая производительность различных 8-разрядных микроконтроллеров:
С8051F120-123 up to 100MIPS
C8051F124-127 50
Other SiLabs 25
ATmega128 16
M77C32 10
DS80C310 8,25
MCS1210 8,25
T89C51RB2 6,67

MIPSы разные бывают. К примеру 16 битное сложение: A(R1:R0) = A(R1:R0)+B(R2:R3)

C51:
XCH A, R0
ADD A, R2
XCH A, R0
XCH A, R1
ADDC A, R3
XCH A, R1

AVR:
ADD R0, R2
ADC R1, R3

Простейшее сложение и то первый тратит 6 инструкций, второй всего две. При работе с 32-х битными данными разница еще более существенная. И выливаются те 100MIPS в реальных (полезных) 5MIPS.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Apr 6 2006, 04:10
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(defunct @ Apr 6 2006, 09:10) *
Цитата(Andy Mozzhevilov @ Apr 6 2006, 05:01) *

Ну уж батенька, что-то вы не то тут сказанули, или описались.

Я писал эмулятор оного и архитектуру его знаю прекрасно.


Ну какой же это RISС. Длина команд может быть 1 2 или 3 байта.
Работа напрямую с внутренней памятью, когда для RISC характерна load-store
архитектура и работа с данными через регистровый файл.
Тот же AVR для достижения своей RISС-овости имеет 16-битную длину команды,
чтобы эффективно паковать в нее инструкции.

Вот выдержка с сайта интела по отличительным признакам CISC-RISK:

A different line, derived from CISC, is represented by the RISC
(Reduced Instruction Set Computing) processors introduced in the
1980s, which are characterized mostly by how they differ from CISC
processors. The instructions are of fixed length, and of a regular format.
Operations are performed on registers only, of which a larger number
are available than on CISC processors. The only memory operations are
load and store. The hardware in RISC processors is simpler in principle
than in CISC ones, because a RISC architecture relies more on the compiler
for sequencing complex operations.

Цитата
Но, конечно же, если Вы меня сможете
переубедить ссылкой на документ от Intel'а где сказано, что C51 это CISC, тогда я заберу свои слова
обратно.


Неплохо бы также увидеть ссылку на документ интела, где сказано, что x51 это RISC.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 6 2006, 05:50
Сообщение #7


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Andy Mozzhevilov @ Apr 6 2006, 11:10) *
Цитата(defunct @ Apr 6 2006, 09:10) *

Цитата(Andy Mozzhevilov @ Apr 6 2006, 05:01) *

Ну уж батенька, что-то вы не то тут сказанули, или описались.

Я писал эмулятор оного и архитектуру его знаю прекрасно.


Ну какой же это RISС. Длина команд может быть 1 2 или 3 байта.
Работа напрямую с внутренней памятью, когда для RISC характерна load-store
архитектура и работа с данными через регистровый файл.
Тот же AVR для достижения своей RISС-овости имеет 16-битную длину команды,
чтобы эффективно паковать в нее инструкции.

Вот выдержка с сайта интела по отличительным признакам CISC-RISK:

A different line, derived from CISC, is represented by the RISC
(Reduced Instruction Set Computing) processors introduced in the
1980s, which are characterized mostly by how they differ from CISC
processors. The instructions are of fixed length, and of a regular format.
Operations are performed on registers only, of which a larger number
are available than on CISC processors. The only memory operations are
load and store. The hardware in RISC processors is simpler in principle
than in CISC ones, because a RISC architecture relies more on the compiler
for sequencing complex operations.

Вообще-то, тут спор из серии является ли тот или иной чип МК или DSP. Вон MSP430, про него явно указано фирмой производителем, что он RISC, 27 инструкций (в комбинациях способов адресации, ессно, их больше получается). Тем не менее операции регистр-память (и даже память-память - копирование) и разная длина инструкций присутствуют в полный рост. Правда, разная длина инструкций там отчасти обусловлена тем, что в опкоде могут храниться длинные литералы (полные адреса), сам опкод имеет структуру регулярную. Насколько мне всегда было известно, 51-й - это CISC.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 6 2006, 06:45
Сообщение #8


кекс
******

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



Цитата
Andy Mozzhevilov @ Apr 6 2006, 11:10)
Ну какой же это RISС. Длина команд может быть 1 2 или 3 байта.
Работа напрямую с внутренней памятью, когда для RISC характерна load-store
архитектура и работа с данными через регистровый файл.
Тот же AVR для достижения своей RISС-овости имеет 16-битную длину команды,
чтобы эффективно паковать в нее инструкции.


Обычный RISC.
Тут дело не в длине команды. load/store и работа с памятью напрямую - это одно и тоже. Чтение-модификация-запись - немного другое, но оно и не важно. если уж идти по такому пути SRAM в C51 можно считать большим регистровым файлом, а с внешней памятью он работает с помощью load/store. Все команды (кроме mul/div) выполняются не дольше 2х машинных циклов. CISCом его может сделать не длина команды в 3 байта и даже не трехоперандовая команда cjne (у AVR кстати есть команды длиной 4 байта), а всего лишь две команды mul ab и div ab которые выполняются "микропрограммным" путем. Если принебреч этими двумя командами или сделать их аппаратно, что в новых вариантах ядра C51 уже сделано, то чип становится классическим представителем RISC. Регистровые банки, быстрый переход на обработчик прерывания, небольшой (всего 111 меньше чем у AVR) набор команд.

если идти по пути подсчета байт в команде, то AVR явно бъет C51 своими 4х байтными командами.


Цитата(dxp @ Apr 6 2006, 07:50) *
Вообще-то, тут спор из серии является ли тот или иной чип МК или DSP. Вон MSP430, про него явно указано фирмой производителем, что он RISC, 27 инструкций (в комбинациях способов адресации, ессно, их больше получается). Тем не менее операции регистр-память (и даже память-память - копирование) и разная длина инструкций присутствуют в полный рост. Правда, разная длина инструкций там отчасти обусловлена тем, что в опкоде могут храниться длинные литералы (полные адреса), сам опкод имеет структуру регулярную. Насколько мне всегда было известно, 51-й - это CISC.


Спор действительно как раз из той серии. И не было бы никаких проблем если бы Intel классифицировал свой чип сам.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 6 2006, 07:43
Сообщение #9


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(defunct @ Apr 6 2006, 13:45) *
CISCом его может сделать не длина команды в 3 байта и даже не трехоперандовая команда cjne (у AVR кстати есть команды длиной 4 байта),

там 2 байта - это просто тупо полный адрес. Сам опкод вегда 16 бит.

Цитата(defunct @ Apr 6 2006, 13:45) *
а всего лишь две команды mul ab и div ab которые выполняются "микропрограммным" путем. Если принебреч этими двумя командами или сделать их аппаратно, что в новых вариантах ядра C51 уже сделано, то чип становится классическим представителем RISC. Регистровые банки, быстрый переход на обработчик прерывания, небольшой (всего 111 меньше чем у AVR) набор команд.

У AVR просто в табличке расписано много однитипных команд - типа установить бит-такой-то, сбросить бит-такой-то. Фактически там все сводится к операциям загруке из памяти в регистры/сохранения значений регистров в память, а все остальные операции произоводятся непосредственно с регистрами (за исключением нескольких команд для работы с I/O. Т.е. у AVR совершенно четко прослеживается разделение инструкций по разным классам.

Если речь идет о современных однотактовых клонах, то там внутри уже совсем не 51-й, действительно бодрый RISC. В классическом же 51-м все не так круто. Вдумайтесь, почему у него такая длинная растактовка - 1 цикл из 12 тактов. Не иначе микроавтомат там по этим тактам работает. И инструкций там 256 штук - в смысле 256 опкодов, на каждый вариант какого-нибудь мува - свой опкод. Полный набор инструкций - он и есть Complete. И если у RISC'ов в опкоде операнды кодирутся, то у 51-го по большей части все проще - просто выделен отдельный опкод и все.

Цитата(defunct @ Apr 6 2006, 13:45) *
если идти по пути подсчета байт в команде, то AVR явно бъет C51 своими 4х байтными командами.

Никого он там не бьет. 4-байтные команды, где тащится полный адрес - lds/sts никто использовать не заставляет. Можно грузить указатель и от него работать, что, кстати, прекрасно делает IAR'овский компилятор. lds/sts удобнее и чуть выгоднее при разовом обращении. Если хотя бы надо к двум байтам обратиться, то уже паритет. Если больше, то уже проигрывает.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 6 2006, 08:13
Сообщение #10


кекс
******

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



Цитата(dxp @ Apr 6 2006, 09:43) *
Если речь идет о современных однотактовых клонах, то там внутри уже совсем не 51-й, действительно бодрый RISC. В классическом же 51-м все не так круто. Вдумайтесь, почему у него такая длинная растактовка - 1 цикл из 12 тактов. Не иначе микроавтомат там по этим тактам работает. И инструкций там 256 штук - в смысле 256 опкодов, на каждый вариант какого-нибудь мува - свой опкод. Полный набор инструкций - он и есть Complete. И если у RISC'ов в опкоде операнды кодирутся, то у 51-го по большей части все проще - просто выделен отдельный опкод и все.

Не совсем верно. У C51 как раз именно 111 опкодов. Первый байт команды даже не может принимать все 256 значений байта. Навскидку по памяти пример invalid opcode - $A5. А большое число как бы опкодов первого байта команды из-за того, что там располагается адрес 11 битного операнда для команд ACALL/AJMP, а также в первом байте кодируются и номера регистров, т.е. и второе утверждение (насчет того, что у 51-го по большей части все проще - тоже не совсем верно).

Цитата
Цитата(defunct @ Apr 6 2006, 13:45) *

если идти по пути подсчета байт в команде, то AVR явно бъет C51 своими 4х байтными командами.

Никого он там не бьет. 4-байтные команды, где тащится полный адрес - lds/sts никто использовать не заставляет. Можно грузить указатель и от него работать, что, кстати, прекрасно делает IAR'овский компилятор. lds/sts удобнее и чуть выгоднее при разовом обращении. Если хотя бы надо к двум байтам обратиться, то уже паритет. Если больше, то уже проигрывает.

Я имел в виду бъет по длине команды.

PS: ну если все хотят считать C51 CISCом - Аминь.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andron86   производительность 8051 котроллеров   Mar 31 2006, 08:26
- - elserge   Этот спец наверное до конца не дослушал. Да, MCS-5...   Mar 31 2006, 08:41
|- - andron86   Цитата(elserge @ Mar 31 2006, 09:41) Этот...   Mar 31 2006, 08:59
|- - Andy Mozzhevilov   Цитата(andron86 @ Mar 31 2006, 14:59) Цит...   Mar 31 2006, 09:07
- - andron86   Спасибо elserge! А всё таки, можно где нибудь...   Mar 31 2006, 08:48
|- - Charley   Цитата(andron86 @ Mar 31 2006, 13:48) Спа...   Apr 3 2006, 11:46
|- - Alexandr   Цитата(Charley @ Apr 3 2006, 15:46) Есть ...   Apr 3 2006, 13:32
- - Andy Mozzhevilov   Цитата(andron86 @ Mar 31 2006, 14:26) Воп...   Mar 31 2006, 08:49
|- - spf   Цитата(Andy Mozzhevilov @ Mar 31 2006, 14...   Apr 3 2006, 12:58
- - elserge   ЦитатаА всё таки, можно где нибудь независимое сра...   Mar 31 2006, 08:56
- - elserge   Смотря с чем сравнивать! Ведь есть и 32-bit MC...   Mar 31 2006, 09:05
- - aforestman   Из практического опыта. Philips P89LPC922 (ядро 2 ...   Mar 31 2006, 09:33
- - =AK=   Интересно было бы найти объективное сравнение прои...   Mar 31 2006, 09:58
|- - =AK=   Цитата(defunct @ Apr 6 2006, 16:15) Цитат...   Apr 6 2006, 11:23
|- - Stanislav   Цитата(=AK= @ Apr 6 2006, 15:23) ...Для н...   Apr 6 2006, 19:30
|- - Evgeny_CD   Цитата(=AK= @ Apr 6 2006, 15:23) ...В иде...   Apr 6 2006, 19:52
|- - defunct   Цитата(=AK= @ Apr 6 2006, 13:23) Проверяе...   Apr 7 2006, 00:07
|- - =AK=   Цитата(defunct @ Apr 7 2006, 09:37) Набор...   Apr 7 2006, 09:10
||- - defunct   Цитата(=AK= @ Apr 7 2006, 12:10) По пов...   Apr 7 2006, 23:39
||- - =AK=   Цитата(defunct @ Apr 8 2006, 09:09) Во пе...   Apr 8 2006, 01:48
||- - defunct   Цитата(=AK= @ Apr 8 2006, 04:48) Цитата(d...   Apr 8 2006, 08:47
||- - =AK=   Цитата(defunct @ Apr 8 2006, 18:17) CISC ...   Apr 8 2006, 10:41
||- - defunct   ЦитатаЗа один такт можно выполнять сколь угодно сл...   Apr 8 2006, 11:25
||- - =AK=   Цитата(defunct @ Apr 8 2006, 20:55) Цитат...   Apr 8 2006, 13:46
||- - defunct   Цитата(=AK= @ Apr 8 2006, 16:46) Это чем-...   Apr 8 2006, 14:01
||- - =AK=   Цитата(defunct @ Apr 8 2006, 23:31) Цитат...   Apr 8 2006, 23:25
||- - defunct   Цитата(=AK= @ Apr 9 2006, 02:25) Не согла...   Apr 9 2006, 09:01
||- - =AK=   Цитата(defunct @ Apr 9 2006, 18:31) Ок, в...   Apr 9 2006, 10:08
||- - defunct   ЦитатаНу ладно, пусть будет SRAM. Скажем, для 50МГ...   Apr 9 2006, 11:05
||- - =AK=   Цитата(defunct @ Apr 9 2006, 20:35) Цитат...   Apr 9 2006, 11:51
||- - defunct   Цитата(=AK= @ Apr 9 2006, 14:51) Что Вы п...   Apr 9 2006, 14:12
|- - Andy Mozzhevilov   Цитата(defunct @ Apr 7 2006, 06:07) Мое м...   Apr 7 2006, 09:12
- - andron86   Спасибо Charley! Более менее понятная расклад...   Apr 3 2006, 11:59
- - vladec   51 контроллер, это типичнейший представитель CISC ...   Apr 6 2006, 06:30
|- - defunct   Цитата(vladec @ Apr 6 2006, 08:30) 51 кон...   Apr 6 2006, 06:58
- - bialix   на самом деле CISC от RISC отличается набором возм...   Apr 6 2006, 07:18
|- - defunct   Цитата(bialix @ Apr 6 2006, 09:18) на сам...   Apr 6 2006, 07:32
- - andron86   Кстати, для более осмысленного спора 3 странички с...   Apr 7 2006, 05:25
- - Kopa   Прочитал топик и решил высказать свое мнение что ...   Apr 7 2006, 08:11
- - Evgeny_CD   Народ, а не проще "заезд" устроить: * 5...   Apr 8 2006, 10:01
|- - _Bill   Цитата(Evgeny_CD @ Apr 8 2006, 13:01) Нар...   Jun 3 2006, 19:08
- - =AK=   Читайте, думайте: http://www.microprocessor.sscc.r...   Apr 10 2006, 00:23
|- - defunct   Цитата(=AK= @ Apr 10 2006, 03:23) Отвечат...   Apr 10 2006, 09:44
- - Jevys   Если говорить о производительности 8051, то 8051 в...   Apr 27 2006, 06:07
- - _Bill   Цитата(andron86 @ Mar 31 2006, 11:26) Воп...   May 2 2006, 09:30
- - mse   ЦитатаЕсли взять тот же SiLabs, то его производите...   Jun 3 2006, 08:32


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:40
Рейтинг@Mail.ru


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