ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



По плагину на инструкцию!

Сообщений 1 страница 4 из 4

1

Есть у программы-ассемблера функции, которые общие для всех процессоров, это:
- вычисление адресов меток
- вычисление расстояний между метками
- размещение байтов (Б), двубайтов (Б2), тетрабайтов (Б4), октобайтов (Б8)
- работа с битами. Независимо от того, что там с мнемониками, байты и биты везде одинаковые
- биты надо группировать, и от этого возникают структуры (битовые поля)
- байты тоже можно группировать, поэтому структуры могут быть многобайтовые
- ещё бывают константы (именованные), это всё ещё независимо от процессора
- можно вычислять арифметические выражения (например "половина расстояния до ..."
- можно вычислять константы, в том числе с плавающей точкой (страшно подумать о константах-комплексных числах)
- и макросы, чтобы повторять и размножать последовательности, причём возможно макросы могут быть с параметрами

То есть, в [макро]ассемблере, независимо от процессора, есть различные типы данных (целые, плавающие, возможно комплексные, ничто не мешает быть аппаратным массивам, матрицам и тензорам), а так же могут быть макропеременные.

Теперь надо обработать то, что в разных процессорах разное.
У разных процессоров команды разные
Все команды, которые ассемблер ассемблирует, друг от друга никак не зависят (метки это другое).
Можно написать ассемблер с плагинами.
Т.е. чтобы на парсинг каждой команды/инструкции нужно было написать свой плагин.
А написание плагинов автоматизировать:
- сделать синтаксис для описания мнемоник и структуры команды
- сделать синтаксис для формирования последовательностей битов
- сделать формальный синтаксис для преобразования 1-го во второе (и обратно?)

Ассемблер берёт строку, которую не распознал самостоятельно,
и запихивает её на парсинг в плагин. Оттуда получает последовательность байтов.

Либо встраивает в себя фрагмент грамматики
(это более опасно, так как такой фрагмент может развернуться во что угодно,
и никак это заранее не проверить, во что он обернётся)

См. также:
Символ символа
Машкод

Интересно, были ли процессоры, работающие с комплексными числами аппаратно,
и если да, то зачем?

Отредактировано Лис (2023-03-31 09:43:28)

0

2

Да было, в ЭВМ М-13. Зачем - я не понял.
«начало серийного производства - 1984 год
Загорский электромеханический завод
В 1991 году вычислительный комплекс из шести ЭВМ М-13
успешно выдержал государственные испытания и был принят в штатную эксплуатацию
для работы в режиме круглосуточной непрерывной работы в реальном масштабе времени»
«Производство машин продолжалось до 1992 года. Было изготовлено 18 комплектов этих машин»
И чем всё закончилось? Эксплуатируется до сих пор или нет?

институт вычислительных комплексов имени М.А. Карцева
[html]<a href="http://ниивк.рф/">ниивк.рф</a>[/html]

Акционерное общество «Научно-исследовательский институт вычислительных комплексов им. М. А. Карцева»
«ведущее российское предприятие, осуществляющее исследование методов обработки в реальном времени радиолокационной, гидроакустической и другой сигнальной информации для решения сейcмических или геофизических задач»

Институт искусственного интеллекта РТУ МИРЭА

Миссия института НИИВК - организация прорывных технических решений в области вычислительной техники
надо про него топик создать в "организациях"...

Отредактировано Лис (2023-03-31 08:29:02)

0

3

Лис написал(а):

процессоры, работающие с комплексными числами аппаратно,

вот тут немного информации и кода
Комплексные числа. Как представлять в памяти? Как работать с ними?

0

4

Ну ты же понимаешь, что если новый тип данных, то к нему особые инструкции?
Если особые инструкции, то к ним особые мнемоники.

А как там было в ЭВМ М-13, кириллицей или латиницей?

«На момент появления М-13 являлась самой мощной суперкомпьютерной системой в мире, уступив это звание в 1985 году суперкомпьютеру Cray-2.»

Отредактировано Лис (2023-03-31 08:57:50)

0