Easyelectronics.ru • Просмотр темы - Где почитать как добились Single-Cycle 8051 (на рус. яз)

Easyelectronics.ru

Электроника для всех
Текущее время: 19 авг 2018, 02:32

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 30 апр 2018, 14:03 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 940
Откуда: Ижевск
Хочу понять

_________________
Attiny13aПо20р.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 30 апр 2018, 14:57 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2118
Очень просто. Во-первых, у тактового сигнала - 2 фронта. Во-вторых, предварительное извлечение, совмещение операций. А в-третьих, и это самое главное, за один цикл исполняются только простые инструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 12:49 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
Сталкивался с такими процессорами раньше. У них данные внутри передаются по 4 байта, это значит что внутренняя шина скорее всего минимум 32 бита. Так же используется у них внутренний синтезатор тактовой частоты, реальная частота внутри может быть какой угодно - м.б. в разы больше, чем заявлено для ядра 8051. Чудес не бывает... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 13:10 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2483
Откуда: Санкт-Петербург
selevo, если не секрет - почему именно по 8051? Не для них одних научились делать инструкции по 1 такту.

Sexist, PLM у многих МК внутри есть - однако же тактовой считается не то, что подано на ножку тактирования, а то, что выдаёт внутренний генератор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 13:28 
Старожил
Аватара пользователя

Зарегистрирован: 28 мар 2012, 10:33
Сообщения: 1145
Откуда: Сочи
Тактирование по двум фронтам практически не используется.
Исполнение за один такт делается с помощью конвейера.

Я это понял так, по тактам:
1. считывается команда №1
2. декодируется команда №1, считывается команда №2
3. исполняется команда №1, декодируется команда №2, считывается команда №3
4. исполняется команда №2, декодируется команда №3, считывается команда №4
4. исполняется команда №3, декодируется команда №4, считывается команда №5
...

Таким образом, начиная с 3 такта происходит исполнение за 1 такт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 14:33 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
aamonster писал(а):
тактовой считается не то, что подано на ножку тактирования, а то, что выдаёт внутренний генератор.

У моего МК часовой кварц на ножку подает 32768 Гц. Частота МК определяется вписыванием битов в определенный регистр.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 14:43 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2118
Харошый у вас МК. гыгыгы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 14:46 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 858
aamonster писал(а):
selevo, если не секрет - почему именно по 8051? Не для них одних научились делать инструкции по 1 такту.

Потому что в то время он нашел какие-то дешевые китайские МК с ядром 8051 вот и интерес появился.
А вообще теме 3 месяца уже было пока не подняли, уже протухнуть успела.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 15:01 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
BusMaster писал(а):
Харошый у вас МК. гыгыгы.

Дык, Адук848. Что в нем нравится так это надежно флэшпамять работает. Мы бедные, поэтому приходится программы отлаживать "перебором". Исправил, записал и т.д. Ну и некоторые потом в изделии стоят лет по 10 - и ничего, память не теряется со временем. И от статики все норм, это вообще нравится (по сравнению с другими фирмами). Хотя кто то их подделывает в Азии где то. Если купите не у офф_дистрибьютеров могут кое какие функции криво работать. Как говорится "берегитесь подделок". Я "попал" однажды на десяток по 2000 руб за штуку. Не сразу отказала энергонезависимая память данных - месяца через три. Но брал не у офиц. дистрибьютера - у них то все круто и без проблем, продают только "пеналами". :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 15:57 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 2710
Откуда: Винница
Sexist писал(а):
Дык, Адук848. Что в нем нравится так это надежно флэшпамять работает. Мы бедные, поэтому приходится программы отлаживать "перебором".

ADuC с бедностью как-то плохо согласуется. :)
Show

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 16:21 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1911
antonluba писал(а):
Тактирование по двум фронтам практически не используется.
Исполнение за один такт делается с помощью конвейера.

Не только. Возможен вариант и "честного" однотактового исполнения. Только для этого нужна специфичная структура команд (в идеале - трехадресные) и минимальные задержки по всей цепочке. Ну и да, это все равно медленнее, чем конвеер - в конвеере задержки "размазаны" (выборка задерживается только памятью, исполнение - АЛУ и регистрами), что дает возможность повысить частоту. В случае "честного" однотактового исполнения все задержки складываются. Зато отсутствует неопределенность времени выполнения последовательности команд вызванная (возможной) очисткой конвеера в некоторых ситуациях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 16:38 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
Katz писал(а):
ADuC с бедностью как-то плохо согласуется. :)


Ну допустим адук стоит 15 долларов, а резистор - внешний датчик тока, самый дешевый 20 евро, а получше 47.
Относительно других компонентов - адук недорого же?
Про бедность сказал, потому что нет нормальных отладочных средств - вообще никаких. Все на условно бесплатных компиляторах потому что делаю. Библиотечные программы приходится - дописывать. Это как "презервативы штопать" в анекдоте про супербедность... Типа, мы такие бедные, что даже < ... все по списку...> делаем. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 16:48 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1911
Sexist писал(а):
а резистор - внешний датчик тока, самый дешевый 20 евро, а получше 47.

На какие токи? Не проще ли поставить другой тип датчика?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 18 июл 2018, 17:01 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
evsi писал(а):
Sexist писал(а):
а резистор - внешний датчик тока, самый дешевый 20 евро, а получше 47.

На какие токи? Не проще ли поставить другой тип датчика?


Покупал по 47 евро такие: TCR of ±0.2 ppm/°C, Tolerance of ±0.005%
У нас "отечественные" кажись лучше 15 ppm и не делали никогда? Поправьте если ошибаюсь.

К адуку нужно еще десяток микросхем - "обвязки", все они тоже стоят от 10 до 20 долларов, каждая. ИОН, малошумяшие источники питания, буфер для входа аналогового сигнала и т.д.
А как вам микросхема - стабилизатор напряжения 5 Вольт, с паспортными данными - 1.5 мкВ шума (на общем проводе)? Прикольная штука...
По сути, какая разница сколько она стоит - заменить то все равно нечем ее. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 08:11 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 239
Sexist писал(а):
А как вам микросхема - стабилизатор напряжения 5 Вольт, с паспортными данными - 1.5 мкВ шума (на общем проводе)?
Это какая? У LT3042 заявлено 0.8 мкВ СКЗ шума. Есть еще LT3032, там на порядок больше, но зато биполярный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 10:50 
Только пришел

Зарегистрирован: 18 июл 2018, 11:46
Сообщения: 25
sva_omsk писал(а):
Это какая? У LT3042 заявлено 0.8 мкВ СКЗ шума. Есть еще LT3032, там на порядок больше, но зато биполярный.


Это тоже хорошая микросхема. Технология та же. Надо будет попробовать ее. :)
Интересно, что AD продает продукцию LT, возможно это одна фирма?
Но тут есть один подвох, это если питать от батареи такой шум будет.
Проблемы начинаются если стоит DC-DC преобразователь.
Приходится ставить трансформаторы для подавления синфазных помех - такие намотанные двумя проводами на сердечнике из прессованного порошка железного. Такие как стоят в БП компа только маленькие. Но эффективность не очень высокая.
Хотя у меня в измерителе LRС китайском стоял аккум внутри, и они написали в инструкции, что лучше пользоваться аккумулятором, там типа измерения точнее. Но этот аккум сдох ровно через год. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:17 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1911
Sexist писал(а):
Интересно, что AD продает продукцию LT, возможно это одна фирма?

Нет. В этой индустрии распространена ситуация, когда компании покупают лицензию на выпуск каких-нибудь чипов/компонентов у других контор или выпускают аналогичные по характеристикам и распиновке свои чипы. На вскидку, например, TL431, LD1117, UC/UCC384x, 2N7002 делаются десятками контор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:21 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 239
Все проще. Аналоги не так давно купили линеаров.Ссылка


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:25 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1911
sva_omsk писал(а):
Все проще. Аналоги не так давно купили линеаров.

О как. Не знал. Из последних покупок я видел только покупку IR инфинеоном.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:30 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 239
А Интел съела Альтеру. Остаться должен только один...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:32 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 239
Ну и до кучи, микрочип купил атмел и микрель, вот уж неожиданно было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 14:43 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 2983
Откуда: Тольятти
К вопросу об однотактовости. В доке на AVR сказано:

When applying an external clock, it is required to avoid sudden changes in the applied
clock frequency to ensure stable operation of the MCU. A variation in frequency of more
than 2% from one clock cycle to the next can lead to unpredictable behavior.

Что косвенно намекает на то, что внутри используется PLL и реально за один такт генерируется несколько внутренних тактов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 15:02 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4676
И для тех, кто пишет оптимальные программы.
Выше было про конвейер... теперь вы понимаете, чем чреват сброс конвейера, который происходит при call или любому виде jump.
А почему вместо if лучше использовать арифметические команды, даже если их и больше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 15:08 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2118
А вот когда есть кэш L1, тогда во многом пофик на сброс конвейера. Наибольшая производительность получается на циклах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где почитать как добились Single-Cycle 8051 (на рус. яз)
СообщениеДобавлено: 19 июл 2018, 15:09 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2014, 13:25
Сообщения: 298
Откуда: Earth
Вот откуда пошло мнение, что прерывания вредны))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB