Опять я вторая тема за минуту. Собственно я нуб в низком уровне, а вот кто скажет на те же самые операции время тратиться столько же или меньше? Если столько же то МК с частотами более высокими будет кстати.
На сколько 8051 быстрее обычных?
Сообщений 1 страница 5 из 5
Поделиться22015-10-20 07:46:05
вопрос неверен. Всё зависит от производителя конкретного МК и свместимости с "классическим" ядром 51
есть 12 тактов на команду, есть 6, есть 4 (как у PIC), встречал и 1 такт (как у АВР)
Поделиться32015-10-20 11:20:12
Да, главное не частота, а количество тактов на команду и продуманность архитектуры.
Поделиться42015-10-29 03:24:40
Такс, а сколько классические AVR тратят? А каике МК посоветуете? Мне надо миним затрат времени. Я не в курсе про это вообще где как это в даташите указывается?
Поделиться52015-10-29 09:01:20
учить теорию
столько нового узнаете )))
Семейства микроконтроллеров.
Наличие всех перечисленных устройств в составе микроконтроллера необязательно. Чаще всего производитель выпускает несколько моделей изделий, имеющих в своем составе различные периферийные устройства. Микроконтроллеры с одним типом процессора (и набором исполняемых команд), но с разными периферийными устройствами, относят к одному семейству. Так и говорят: микроконтроллеры одного семейства.Разрядность процессора. Методы представления информации.
И процессор, и память — цифровые устройства, которые «понимают» сигналы только двух уровней: есть напряжение/ток, и нет напряжения/тока в линии. Эти два состояния принято записывать так: логическая единица — «1», и логический ноль — «0». Все команды и данные — это набор единичек и нулей. Одна линия (называют разрядом) при двух ее состояниях может передать только два значения. Но при увеличении количества разрядов увеличивается и количество значений: два разряда — четыре, а восемь разрядов — 256 значений. Разряд принято называть битом: один разряд это один бит. А набор из восьми разрядов — байтом: восемь бит это один байт. Но один байт имеет только 256 значений. Для передачи большего количества информации используется несколько последовательно расположенных в памяти байт. Два байта передают уже 65536 значений. Три байта — 16777216 значений! И так далее.
Самыми распространенными являются процессоры, которые за одно действие могут обработать восемь разрядов, поэтому такие процессоры и называют восьмиразрядными. Но существуют 16- и 32-разрядные процессоры.Система команд процессора.
При разработке процессора в него закладывают возможность выполнения определенных команд. Команды, которые данный процессор в состоянии выполнять, называют набором команд. Система команд процессора имеет следующие команды:
- команды арифметических операций и команды сдвига;
- команды логических операций;
- команды операции с битами;
- команды пересылки данных;
- команды для работы с портами — линиями связи процессора с внешним миром.Процессор может произвести над данными различные действия. Математически действия нам понятны: сложение, вычитание и другие. Под логическими действиями понимаются действия, возвращающие одно из двух значений: Истина (True) или Ложь (False). Команды работы с битами и портами будут рассмотрены немного позже.
У большинства 8-битных процессоров команды занимают один байт, но имеется и двухбайтовые команды.Примечание.
Логично предположить, что разработчики разных процессоров могут заложить в свои изделия собственную систему команд. Из-за этого возникает несовместимость процессоров на уровне команд.Специализация микроконтроллеров.
А для чего производителям микроконтроллеров (далее МК) использовать разные команды для процессоров и разные периферийные устройства в своих изделиях? Дело в том, что многие микроконтроллеры имеют узкую специализацию. Например, микроконтроллер, который будет использоваться в системах обработки аналоговых сигналов, в своем составе будет иметь аналогово-цифровой преобразователь, довольно большой объем оперативной памяти и различные команды для выполнения математических вычислений. Существуют и универсальные микроконтроллеры, не имеющие жесткой специализации. Система команд процессоров этих МК будет «усреднена» и не иметь отличительных особенностей. Такие МК относят к группе микроконтроллеров общего назначения.Основные производители микроконтроллеров. Краткое описание микроконтроллеров популярных семейств AVR, PIC и Intel х51-совместимых.
В настоящее время выпускается большое количество различных восьмиразрядных микроконтроллеров. Некоторые из производителей выпускают продукцию собственной разработки, другие производят модифицированные микроконтроллеры сторонних разработчиков.
Из сотен семейств восьмиразрядных микроконтроллеров можно выделить три семейства, которые наиболее популярны в Европе:
- Intel MCS 51, изначально этот МК был разработан компанией Intel, но в настоящее время выпускается многими компаниями;
- PIC, их разрабатывает и выпускает компания Microchip;
- AVR, их разрабатывает и выпускает компания ATMEL.
Вкратце рассмотрим каждое из семейств.Intel MCS-51
Самым первым из перечисленных микроконтроллеров было изделие компании Intel: «MCS 51» (говорят: «МК серии х51» или «i51-семейство»). Отличительной особенностью классического микроконтроллера «MCS 51» является выполнение процессором одного шага программы за 12 тактов задающего генератора. Большинство команд этого МК одно и двухбайтовые. Следовательно, при частоте тактового генератора равной 12 МГц за одну секунду процессор данного МК выполнит 1 миллион однобайтовых или 500 тысяч двухбайтовых команд.
Этому МК более 30 лет, но многие производители до сих пор продолжают их выпускать. Данное семейство МК самое развитое в плане количества модификации. Некоторые разработчики взяли архитектуру этого МК за основу, улучшили ее и расширили его возможности. Существуют модели, выполняющие один шаг команды за меньшее количество тактов задающего генератора, вплоть до 1 такта. Производители указывают: их МК обладает программной совместимостью (часто говорят, что процессоры МК совместимы программно) с классическим МК х51, но имеет расширенные возможности.
Вторым на рынке восьмиразрядных микроконтроллеров были изделия компании Microchip Technology. Микроконтроллеры этого производителя маркируются как «PIC». Отличительной особенностью этих МК было выполнение процессором одного шага программы за четыре такта задающего генератора. Большинство команд — одно и двухбайтовые. Следовательно, при частоте тактового генератора равной 4 МГц за одну секунду процессор данного МК выполнит 1 миллион однобайтовых или 500 тысяч двухбайтовых команд.
В настоящее время компания Microchip разрабатывает и выпускает 8-, 16-, и 32 разрядные микроконтроллеры как универсального, так и специализированного применения.Интересные факты о PIC.
До сих пор ведутся споры о расшифровке названия этих микроконтроллеров. Некоторые расшифровывают название этих микрконтроллеров как «peripheral interface controller» — «PIC» , «периферийный интерфейсный контроллер»). Данное название объясняют тем, что изначально эти МК разрабатывались не как самостоятельные изделия, а предназначались для ввода-вывода данных в устройствах с 16-разрядными процессорами.
Другие напоминают, что в середине 80-х годов компания Microchip Technology приобрела производство PIC-микроконтроллеров у General Instruments. Именно эта компания была одним из пионеров в области встраиваемых компьютеров: ею в 1976 году был выпущен «программируемый интеллектуальный компьютер» (Programmable Intelligent Computer) модели PIC1650. По сути, это «дедушка» PIC-микроконтроллеров. В документации к этому микроконтроллеру указано: «программируемый интеллектуальный компьютер» — PIC.ATMEL.
Самой молодой из вышеуказанных производителей является компания ATMEL. В начале своей деятельности эта компания производила микроконтроллеры семейства х51 — настолько они были популярны среди разработчиков. И лишь через несколько лет они выпустили МК собственной разработки, который маркируется как AVR. Принято считать, что название этих микроконтроллеров составлено из первых символов имен двух норвежских изобретателей, которые и предложили компании ATMEL свои разработки.
Одним из видов деятельности компании ATMEL является производство энергонезависимой электрически стираемой памяти — Flash (флеш). Поэтому логичным решением было использование флеш памяти в МК, тогда как большинство МК того времени имели память с ультрафиолетовым стиранием. Это инновационное (на тот момент времени) решение сделало изделия компании Atmel особо популярными среди разработчиков. Дело в том, что в процессе разработки программы разработчик вынужден многократно изменять программу, и загружать новую версию программы в память микроконтроллера. Процесс стирания памяти с ультрафиолетовым стиранием весьма длителен, что создавало определенные сложности в процессе работы разработчика. Использование флеш памяти позволило разработчику стирать память МК и записывать новую программу за несколько секунд, что гораздо удобнее!
Процессор микроконтроллера AVR выполняет один шаг программы за один такт задающего генератора. Большинство команд — одно и двухбайтовые. Следовательно, при частоте тактового генератора равной 1 МГц за одну секунду процессор данного МК выполнит 1 миллион однобайтовых или 500 тысяч двухбайтовых команд. Данный тип МК требует менее высоких частот тактового генератора, чем его предшественники, что во многих случаях позволяет снизить потребляемую им мощность.
Микроконтроллеры семейств х51 и PIC изначально разрабатывались для управления другими устройствами и имели минимальные возможности для математических вычислений. Основным средством написания программ является ассемблер.
Микроконтроллеры семейства AVR изначально разработаны для использования в сложных устройствах и имеют неплохой набор команд для математических вычислений, при этом для написания программ можно было использовать не только ассемблер, но и трансляторы языков высокого уровня: Си, Паскаль, Бейсик и других. Дело в том, что система команд и внутреннее устройство микроконтроллеров AVR разрабатывались совместно с фирмой «IAR Systems» — производителем компиляторов языка программирования Си. В результате этого появился микроконтроллер, который изначально разработан для использования с трансляторами языков высокого уровня. Все это обеспечило прочный успех этой компании на рынке микроконтроллеров.
В настоящее время компания ATMEL разрабатывает и выпускает 8-, 16-, и 32 разрядные микроконтроллеры универсального и специализированного применения, а также flash память.Какой из микроконтроллеров самый-самый…?
Прочитав о микроконтроллерах семейств Intel х51, PIC и AVR у новичка может возникнуть вопрос: «Какой из микроконтроллеров этих семейств самый-самый?» Этот вопрос абсолютно не праздный: почитайте на форумах перепалки фанатов. При этом каждый из них найдет слабые места изделий конкурентов, так и сильные у МК «его» любимого семейства.
Вначале попытаемся понять, от чего зависят возможности микроконтроллера.
Производительность («мощность») микроконтроллера часто измеряют в MIPS (от англ. «million instructions per second» — миллион инструкций в секунду). В свою очередь, эта величина зависит от частоты тактового генератора, точнее, от частоты шины обмена данными. Некоторые наивно пытаются «измерить мощность» МК, сравнивая их тактовую частоту. Но ведь разные МК выполняют команду за разное количество тактов: одни за 12, а другие за 4 или 1. Поэтому можно утверждать, что эта единица «измерения» не дает полного понимания «мощности» конкретного микроконтроллера: микроконтроллеры разных производителей выполняют один шаг программы за разное количество тактов.
Еще одним мерилом возможностей микроконтроллера является его разрядность: количество бит, которые процессор данного МК способен обработать за один такт. Но мы говорим только об восьмиразрядных микроконтроллерах, поэтому данный метод неактуален.
Очень большое влияние на производительность работы микроконтроллера оказывает система команд, которые выполняет его процессор. Иногда наличие специальных команд (специализация данного МК) позволяет увеличить скорость вычислений и выполнения программы больше, чем «лишние» мегагерцы тактового генератора.@! Следовательно, мощность микроконтроллера зависит от нескольких параметров:
- частота, на которой работает шина обмена данными между внутренними устройствами микроконтроллера;
- разрядность процессора микроконтроллера;
- система команд процессора микроконтроллера.Поэтому на столь щепетильный вопрос можно деликатно ответить другим вопросом: «Кто умнее: врач или инженер?» или «Кто сильнее: ветер или вода?» Поэтому данный вопрос будем считать некорректным по своей сути, и вспомним старую мудрость: «на неточный вопрос можно дать только ошибочный ответ».