2015-10-17 6 views
4

Двоичные кодированные десятичные инструкции являются частью архитектуры x86, по крайней мере, от i8086. Они похожи на AAA, DAA, AAS, DAS и помогают работать с арифметическими операциями с номерами BCD.Почему инструкции BCD были удалены в AMD64?

Вот некоторые ссылки на них:

https://en.wikipedia.org/wiki/Intel_BCD_opcode

Согласно Руководству компании Intel Software Developer. Эти инструкции недоступны в длинном (64-битном) режиме. Я знаю, может быть, единственные люди, которые действительно знают, почему дизайнеры архитектуры, но почему вы думаете, что они их удаляют?

ответ

2

Ответ в вашей ссылке:

Добавление чисел BCD с использованием этих опкоды является сложной задачей и требует много инструкций, чтобы добавить даже скромные номера. Он также может потребовать большой объем памяти .

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

На вычислениях процессора x86 с двоичными числами обычно много быстрее, чем те же вычисления с номерами BCD.

+0

Таким образом, они просто удалили его, потому что он больше не полезен? – felknight

+0

@Felipe Никто не использует их, и они занимают силиконовое пространство и добавляют сложность процессору. – Mysticial

+0

Что меня беспокоит, они доступны в режиме 16 и 32 бит. Они все еще находятся на кремнии, зачем удалять из 64-битного режима? – felknight

Смежные вопросы