Граница на самом деле довольно расплывчата ... аргументы, которые я видел против вызова CIL
"языка ассемблера", почти так же применимы к _2 _ / _ 3_ на практике.
Intel и AMD не создали процессоры, которые выполняют инструкции сборки в точности так, как они были выпущены десятилетиями (если вообще когда-либо), поэтому даже так называемый «собственный» код не сильно отличается от работы на виртуальной машине, байт-код которой указан в _4 _ / _ 5_.
_6 _ / _ 7_ - это элемент нижнего уровня, к которому имеют доступ типичные разработчики, поэтому, если бы нам пришлось остановиться и называть что-то в нашей экосистеме «языком ассемблера», это бы победило, а поскольку CIL
байт-код в конечном итоге требует _9 _ / _ 10_ инструкций чтобы иметь возможность работать на процессоре из этого семейства, тогда есть довольно веские аргументы в пользу того, что он действительно не «чувствует», что он должен считаться.
Так что в каком-то смысле, возможно, ни один из них не может считаться «языком ассемблера». Говоря о _11 _ / _ 12_ процессорах, мы почти никогда не говорим о процессорах, которые выполняют _13 _ / _ 14_, не переводя его во что-то другое (т.е. что бы ни делал микрокод).
Чтобы добавить еще одну сложность, способ, которым процессор _15 _ / _ 16_ выполняет заданную последовательность инструкций, может измениться, просто обновив микрокод. Быстрый поиск показывает, что Linux может даже сделать это самостоятельно в программном обеспечении!
Итак, я думаю, вот критерии, которые могут оправдать разделение их на две отдельные категории:
- Имеет ли значение, что все текущие машины, на которых выполняется
CIL
байт-код, реализованы программно?
- Имеет ли значение, что одно и то же оборудование может интерпретировать одни и те же _18 _ / _ 19_ инструкции по-разному после того, как получило указание сделать это в программном обеспечении?
- Имеет ли значение, что в настоящее время у нас нет способа обойти микрокод и отдать команды напрямую физическим модулям _20 _ / _ 21_ процессоров?
Итак, что касается вопроса «является ли CIL
языком ассемблера», лучшие ответы, которые я могу дать, - это «зависит от обстоятельств» (для ученых) и «в значительной степени» (для инженеров).
person
Joe Amenta
schedule
27.01.2017