Каковы преимущества различных понятий?

Почему некоторые обработчики процессоров решили использовать

  • Маленький конек
  • Большой endian
  • Среднее значение
  • Любые другие?

?

Я слышал, что с большим эндисом можно узнать быстрее, если число отрицательно или положительно, потому что этот бит является первым. (Это не имеет значения для современных процессоров, поскольку отдельный бит больше не доступен.)

Ответ 1

Преимущество маленькой сущности в том, что переменную можно читать как любую длину, используя тот же адрес.

Например, 32-битная переменная может быть прочитана как 8-битная или 16-битная переменная без изменения адреса. В наши дни это может иметь ограниченную выгоду, но в дни сборщика и ограниченной памяти это может быть значительным преимуществом.

Ответ 2

Нет особого преимущества большого или маленького endian как такового, за исключением использования собственной цели процессора или обработки заданной конечности файла.

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

Ответ 3

Использование endianness CPU (неважно мало или большое) дает вам преимущество по скорости при использовании арифметики: вы можете добавлять, вычитать и т.д. многобайтовые целые числа непосредственно в памяти.

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

Некоторые форматы файлов (например, TIFF) поддерживают как сущность. В этом случае неплохо было бы сгенерировать файл с точностью до CPU, предполагая, что файл будет обработан на одной машине или аналогичной машине.

Ответ 4

В маленьком endian вы не потрудитесь изменить адрес, но в большом endian вы должны: http://www.noveltheory.com/techpapers/endian.asp

Я действительно не знаю, есть ли у маленького эндиана преимущество над большим эндизиатом в современных процессорах. Я -значительно думаю, что переключение адреса стоит CPU picowatts мощности:)

Ответ 5

Некоторые операции выигрывают от наличия частей значения, доступных перед другой частью. При добавлении двух неподписанных или двухзначных номеров дополнений, которые слишком велики, чтобы читать все сразу, младшие биты результата могут быть вычислены до того, как будут доступны верхние биты, но не наоборот, подразумевая, что в этом случае малопринятый порядок выгоден. При доступе к микросхеме последовательной вспышки декодирование строк может начинаться только тогда, когда все биты, которые определяют строку (обычно все, кроме наименее значимых 8-12 бит, в зависимости от микросхемы) становятся доступными, что подразумевает, что порядок big-endian является преимущественным есть.