В настоящее время мы используем 32-битные и 64-разрядные типы ЦП. Я знаю концепцию этих архитектур. Но почему он спроектирован как 16,32 или 64 соответственно. Почему мы не можем создать такую архитектуру, как 10,20,30 или любые другие кратные числа. В чем проблема, с которой мы столкнемся, если мы это создадим?Почему архитектура процессора спроектирована как 32 бита и 64 бит
ответ
Это имеет мало общего с полномочиями двух.
Это в основном исторический артефакт.
У нас/была архитектура с 36-bit, 24-bit например.
Википедия имеет whole table с архитектурой и размером слова.
Использование таких величин, как 16, 32 и 64 в основных процессорах, происходит из-за того, что они кратно 8 больше, чем двух.
8-бит является одним из принятых размеров для байта, а байт, как правило, представляет собой наименьшее количество, достаточно большое для хранения персонажа и которое должно эффективно обрабатываться процессором.
Количества, такие как 18, 24, 36 бит, возникают из-за того, что в середине 20-го века компьютеры использовали 6 бит на символ и чтобы сэкономить некоторый провод, дизайнеры использовали меньше, но более широкие регистры.
Каждый регистр был таким же широким, как и кратный размеру символа, это по-прежнему верно сегодня, когда размер символа составляет 8 бит (из-за диффузии в то время EBCDIC от IBM).
Тенденция удвоить размер регистра (который генерирует мощность двух, если вы начинаете с мощности в два раза) обусловлена достижениями процесса интеграции, позволяя создавать более плотные чипы.
Преимущество состоит в том, что наибольшее количество (скажем, 64) всегда является целочисленным кратным каждые наименьшее количество (например, 64 = 2 * 32 = 4 * 16 = 8 * 8).
Это оказывается особенно хорошо, когда речь идет о параллельной/векторной обработке.
Например, 128-битный регистр можно рассматривать как вмещающий 16 байтов или 4 32-битных одинарной точности, если размер регистра равен 120-битным, то он все равно будет содержать целое число байтов (15), но только 3 FP с потерей 24 бит.
Если IBM застряла с 6-битными байтами, сегодня у нас будут 6, 12, 24, 48-битные архитектуры.
Силы двух очень удобны в CS, но в этом случае они всего лишь побочный эффект.
32, 64 кратны номеру 2. Поскольку компьютер основан на двоичном коде ... –
@MartinZhai Даже 10, 20 также кратно 2. правильно? – mrg
Извините, что я действительно хочу сказать: * power * not * multiple *. –