Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микропроцессоры
Войти
Регистрация
Восстановить пароль
 
woodbox
24 / 10 / 0
Регистрация: 21.10.2014
Сообщений: 299
#1

Байт-код микропрограммы - Микропроцессоры

15.01.2016, 09:57. Просмотров 1174. Ответов 17
Метки нет (Все метки)

Добрый день!

Уважаемые форумчане, помогите разобраться со следующим вопросом.

Есть ли в природе универсальный принцип формирования байт-кода программы для выполнения её на микроконтроллере и/или микропроцессоре?

Интересует именно вопрос, как формируется прошивка, исполняемый бинарный файл. В качестве исходных данных имеется массив из 8000 бит. Среда разработки микропрограммы позволяет оперировать битами по заданной проектировщиком логике.

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

Опыта в электронике практически ноль. Также понимаю, что есть разные производители и различные архитектуры микросхем.

Упрощая вопрос, как будет выглядеть байт-код элемента ИЛИ, с двумя входами и одним выходом?

Заранее спасибо за ответ!
http://www.cyberforum.ru/microprocessors/thread1166527.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2016, 09:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Байт-код микропрограммы (Микропроцессоры):

Прием байт по usb в LabVIEW
Здравствуйте. Столкнулся с проблемкой небольшой, с помощью LV считываю байты с...

передача массива байт, протокл
Всем привет. Возник вопрос. Есть необходимость передать массив байт в комп от...

Байт-код
как посчитать суму байт-кодов всех символов даной строки?

Байт-код
Вопрос таков, всегда ли Python на предварительном этапе создает байт код или...

jvm Байт код
Дан *.class файл. Декомпилировать, изменить, потом закомпилировать обратно...

17
pyzhman
755 / 451 / 62
Регистрация: 15.05.2012
Сообщений: 2,541
15.01.2016, 19:26 #2
Ничёнипонил. Может фото билета?
0
woodbox
24 / 10 / 0
Регистрация: 21.10.2014
Сообщений: 299
16.01.2016, 14:40  [ТС] #3
pyzhman, к сожалению я уже давно не студент)
Прошивка, исполняемый файл – это бинарник (HEX файл), так ведь? Вопрос заключается в том, как будет выглядеть этот бинарник, если программа работы микроконтроллера содержит лишь одну операцию логического сложения?
Вопрос ведь корректный? Задачу понимаю, но видимо не могу объяснить(
Прошу помощи, очень нужно
0
Витальич
1253 / 1164 / 172
Регистрация: 02.12.2013
Сообщений: 4,843
16.01.2016, 19:08 #4
Цитата Сообщение от woodbox Посмотреть сообщение
Вопрос ведь корректный?
Давайте с начала, что Вы понимаете под термином
Цитата Сообщение от woodbox Посмотреть сообщение
байт-кода программы
Я понимаю байт код как вот тут https://ru.wikipedia.org/wiki/%D0%91...BA%D0%BE%D0%B4
Если Вы тоже, то фраза
Цитата Сообщение от woodbox Посмотреть сообщение
формирования байт-кода программы для выполнения её на микроконтроллере и/или микропроцессоре?
не совсем корректна
МК или МП имеют фиксированную систему команд и по ней работают, для запуска же байт кода требуется еще одна программная прослойка (как правило интерпретатор) которая переводит байт код в команды МП.
1
woodbox
24 / 10 / 0
Регистрация: 21.10.2014
Сообщений: 299
16.01.2016, 21:45  [ТС] #5
Витальич, вы верно поправили. Не в байт-код, а в команды МП.
В таком случае, можно переформулировать вопрос:
"как будет выглядеть элемент ИЛИ с двумя входами и одним выходом в командах МП?"
И, уточните понятие "машинный код". Он создаётся в виде файла и загружается в МП с помощью программатора, байт за байтом, в изначальном виде?

Добавлено через 25 минут
Есть видео на подобную тематику.
www.youtube.com/embed/YcCFAAmcNjo
0
Витальич
1253 / 1164 / 172
Регистрация: 02.12.2013
Сообщений: 4,843
16.01.2016, 22:07 #6
Лучший ответ Сообщение было отмечено woodbox как решение

Решение

Цитата Сообщение от woodbox Посмотреть сообщение
как будет выглядеть элемент ИЛИ с двумя входами и одним выходом в командах МП?
МП МК (далее просто МП) в ассемблере логические команды практически всегда на входе имеет один или два аргумента. В каком смысле как будет выглядеть?
Если в ассемблере, то так (в зависимости от типа МП названия команды может менятся) :
AVR
or r2, r3 ; Поразрядное or между r1 и r2, результат поместить в r1
r1, r2 - регистры
8051
ORL A,Rn
A - аккумулятор Rn - один из регистров общего назначения
Цитата Сообщение от woodbox Посмотреть сообщение
уточните понятие "машинный код"
коды операций, которые выполняет МП, в русскоязычной литераторе КОП
можно сказать ассемблер - это мнемоническое обозначения команд МП, например КОП ORL будет выглядеть так:
в бинарном виде 01001rrr
где rrr любые биты которые указывают какой регистр использовать.
Цитата Сообщение от woodbox Посмотреть сообщение
Он создаётся в виде файла и загружается в МП с помощью программатора, байт за байтом
Да
Цитата Сообщение от woodbox Посмотреть сообщение
в изначальном виде?
если файл формата bin то да, если HEX, то не совсем https://ru.wikipedia.org/wiki/Intel_HEX

Добавлено через 1 минуту
Цитата Сообщение от woodbox Посмотреть сообщение
Есть видео на подобную тематику.
Есть книги

Добавлено через 4 минуты
ОЙ, я вам про И написал, ну с ИЛИ то же самое только название для AVR команды OR, а для 8051 правильно
1
pyzhman
755 / 451 / 62
Регистрация: 15.05.2012
Сообщений: 2,541
16.01.2016, 22:40 #7
Важно уяснить, что мк выполняет программу, а схема на цифровых элементах выполняет бинарные операции "железно".
1
woodbox
24 / 10 / 0
Регистрация: 21.10.2014
Сообщений: 299
16.01.2016, 22:42  [ТС] #8
Витальич, рассмотрим для типа 8051:
Assembler
1
ORL A,Rn
в BIN формате 01001rrr, где 01001 - команда ORL, rrr=Rn - один из семи (111bin=7dec) регистров (второй операнд).
Так?
То есть в регистр A помещаем один операнд (этого мы не сделали), и выполняем команду описанную выше?
В итоге получаем BIN файл с содержимым 01001rrr. Если этот файл открыть HEX редактором, то там будет 1 байт значениями от 48 до 4F? Вроде правильно посчитал?

pyzhman, речь идёт о программе МК, которая выполняет бинарные операции по заданной логической схеме.
0
Витальич
1253 / 1164 / 172
Регистрация: 02.12.2013
Сообщений: 4,843
16.01.2016, 22:47 #9
Да.
Только не забывайте, что команды бывают одно, двух, трех байтные
Эта одно байтная
1
woodbox
24 / 10 / 0
Регистрация: 21.10.2014
Сообщений: 299
18.01.2016, 08:13  [ТС] #10
Витальич, не могли бы вы порекомендовать литературу по тематике?
0
Papayaved
75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 334
18.01.2016, 09:26 #11
woodbox,

AVR Assembler User Guide:
http://www.atmel.com/Images/doc1022.pdf
1
ValeryS
Модератор
7128 / 5396 / 669
Регистрация: 14.02.2011
Сообщений: 18,213
18.01.2016, 23:48 #12
Цитата Сообщение от woodbox Посмотреть сообщение
не могли бы вы порекомендовать литературу по тематике?
ну для начала нужно знать какой камень,хотя бы семейство
ARM очень отличается от x86
а x86 от x51, хотя родитель у них один Интел

Не по теме:

в журнале Радио во второй половине 80х была табличка со всеми мнемокодами для 8080
так я за отсутствием компилятора, сам им работал, писал на листочке программу, потом по этой таблице переводил в код, а код записывал на свой "Специалист"
Больше не хочу

1
Витальич
19.01.2016, 09:53
  #13

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
ARM очень отличается от x86
я тоже охреневал когда ассемблер арма изучал, для себя сделал вывод: писать для армов на асме зло. Хотя скорей всего дело привычки. Создателем армов большой респект.
ИМХО: Если бы производители армов имели возможность делать чипы по техпроцесам Интел, то x86 стал бы историей.
Цитата Сообщение от ValeryS Посмотреть сообщение
сам им работал, писал на листочке программу, потом по этой таблице переводил в код
о коллега

0
ValeryS
Модератор
7128 / 5396 / 669
Регистрация: 14.02.2011
Сообщений: 18,213
19.01.2016, 10:51 #14

Не по теме:

Цитата Сообщение от Витальич Посмотреть сообщение
то x86 стал бы историей
здесь не соглашусь, слишком много в мире наработок
где то читал,что современные пни внутри имеют ядро RISC, чем не АВР а перед ним стоит транслятор для понимания CISC команд
таким образом поддерживают совместимость сверху вниз

так в свое время была убита наша школа разработок в ЦЭВМ, из политических целей были закуплены IBM, с программным обеспечением, дальше больше новые компы, новые программы, все это завязано друг на друга
в результате пришлось копировать наработки мотороллы, интеля



Добавлено через 3 минуты
Цитата Сообщение от Витальич Посмотреть сообщение
я тоже охреневал когда ассемблер арма изучал,
в институте была лабораторка, на чем был создан стенд не помню, но наш камень
так там вообще мнемотики не было, сами кодировали
например нужно переслать из регистра в регистр, код команды допустим два старших бита в 1
потом три бита источник, три бита приемник
чисто ARMовский подход
1
Estimable
9 / 9 / 1
Регистрация: 02.01.2017
Сообщений: 102
07.03.2018, 17:27 #15
А как же микрокод процессора. Как выглядят эти микрокоды? Зачем нужен уровень ниже машинных кодов?
0
ValeryS
Модератор
7128 / 5396 / 669
Регистрация: 14.02.2011
Сообщений: 18,213
07.03.2018, 18:17 #16
Цитата Сообщение от Estimable Посмотреть сообщение
А как же микрокод процессора.
какого?
и что есть микрокод?
0
Estimable
9 / 9 / 1
Регистрация: 02.01.2017
Сообщений: 102
11.03.2018, 07:15 #17
Мне несколько раз встречались упоминания о микрокоде. Н.р у Юрова в справочнике по pentium 4. И было ещё в П.Абель книга по 8086 ассемблер. Говорилось что, вроде регистры между собой через него общаются. Якобы машинные коды всегда преобразуются в микрокод внутри процессора.

Добавлено через 7 минут
А нашёл тут инфу. Якобы с помощью них можно перепрограммировать сам процессор. И можно записать в него свои комманды. Типа CMPADD или CMPMOV какие-нибудь. Только микрокоды зашифрованы.
0
Ethereal
3305 / 1445 / 189
Регистрация: 17.02.2013
Сообщений: 2,332
15.03.2018, 23:42 #18
Цитата Сообщение от Estimable Посмотреть сообщение
Как выглядят эти микрокоды?
Как числа.

Добавлено через 2 минуты
Цитата Сообщение от Estimable Посмотреть сообщение
Зачем нужен уровень ниже машинных кодов?
Тут написано
https://ru.wikipedia.org/wiki/%D0%9C...BA%D0%BE%D0%B4
В общем есть два способа схемотехнического построения процессора. Один - жеской логической схемой, а второй в виде микропрограммного автомата. Вот у второго способа есть микрокод.
https://ru.wikipedia.org/wiki/%D0%A3...BD%D0%B8%D1%8F

Добавлено через 7 минут
Только если на последней странице щелкнуть по ссылке "микропрограммный автомат", то придешь на страницу где совсем не про микропрограммный автомат. Видимо, создателям Википедии копипастить было не от куда. В книжках этот вопрос как-то не особо освещался. Я видел использованный в готовом устройстве микропрограммный автомат живьем (как схему из К555ИР23-К556РТ5-К555ИР23) и микрокод его разбирал, а вот в популярных книжках о нем не встречал.
Ну вот тут можно почитать : https://www.intuit.ru/studies/courses/104/104/lecture/3049?page=6
0
15.03.2018, 23:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2018, 23:42
Привет! Вот еще темы с решениями:

Граф-схема микропрограммы
Помогите выполнить задание! Надеюсь на любую помощь! :-13 раз Время...

Конвертация С исходников в байт код
Доброго времени суток Существует ли библиотека для Java (нужно, чтобы...

Компиляция запроса в байт-код
Доброго времени суток! Никак не получается скомпилировать в байт код запрос...

Декомпиляция Flash и байт код
Здравствуйте, декомпилировал Flash ролик и там лежат два action script, один из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru