LINUX.ORG.RU
ФорумTalks

почему 64 бит?


1

3

Почему, когда стало не хватать 32 бит, сделали 64? Ведь для адресации памяти это сильный избыток. Да и для данных в основном тоже. Чем же так хорош именно 64 бита? Почему, например, не 40, не 48, не 56?

★★★★★

Тем, что это 32*2 и вообще степень двойки. Ваш К.О.

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от Jetty

Кроме того это степень двойки.

И чем же это лучше? может по каким то технологическим причинам дешевле делать процы с разрядностью 2^N?

Потому что в один 64 помещается 2 32

какой профит?

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

может по каким то технологическим причинам дешевле делать процы с разрядностью 2^N?

внезапно, да? Флип-флопы, на основе которых делаются все буферы в процессорах, имеют два устойчивых состояния (при сегодняшней элементной базе — про «Сетунь» я промолчу)

demidrol ★★★★★
()
Ответ на: комментарий от cvs-255

Меньше париться с короткой старой адресацией в новом процессоре, наверное.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от cvs-255

отсюда вытекает, что все данные у тебя — двоичные. Для декодирования адресов юзается такая штука, как мультиплексор. Если у него на входе n пинов, то декодировать он сможет максимум 2**n ячеек памяти.

demidrol ★★★★★
()

Такое удобнее программировать. В 64 бита влезает два раза по 32, 4 раза по 16, 8 раз по 8 бит.

А так процессоры с адресацией, например, в 12 бит существуют. Но АЛУ всё равно делают 16, 32 или 64 бита.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

У меня в коробке валяется несколько микросхем АЛУ кажется разрядностью 2 бита. Соединяются последовательно. В итоге получается АЛУ с любой четной разрядностью

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от demidrol

10 пинов, можем декодировать 1024 адреса, всё нормально.

PolarFox ★★★★★
()
Ответ на: комментарий от cvs-255

Не, адреса не при делах. Разрядность по регистру считается, а делать колдунство для работы с восьмибитным значением в двенадцатибитном регистре сложнее, чем с двумя восьмибитными в шестнадцатибитном.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

а делать колдунство для работы с восьмибитным значением в двенадцатибитном регистре

Старшие 4 нуля, и все?

cvs-255 ★★★★★
() автор топика

прочитав начало темы, я было подумал ты хочешь спросить почему сразу не 128 или 256 сделали

GanGSISoft ★★
()

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

PolarFox ★★★★★
()
Ответ на: комментарий от cvs-255

Так все равно все в кеш сперва грузится.

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

exception13 ★★★★★
()

С точки зрения маркетинга нужно было действовать плавно.
Начать с 33-битной архитектуры. Через пару лет - 34битную запилить.
Уйма народа при деле, у юзеров постоянно актуальная писькомерка под рукой, прогресс неумолим и нагляден.
А то как лохи враз запилили 64 и сидят, пучатся, ядра множат.

thesis ★★★★★
()

Почему, например, не 40, не 48, не 56?

БЭСМ-6 имела слово разрядностью 48 бит и команды длиной 24 бита, состоявшие из 15-разрядного адресного поля и 9-разрядного кода операции. До неё были 25, 36 бит.

quickquest ★★★★★
()
Ответ на: комментарий от thesis

пучатся, ядра множат.

ядра тоже надо было делать не сразу, сначала 1.1 ядро, потом 1.2, 1.3 ... и только потом двухядрёные процессоры

daemonpnz ★★★★★
()
Ответ на: комментарий от thesis

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

PolarFox ★★★★★
()
Ответ на: комментарий от wota

Зачем его представлять?! Маркетинг же ж. Его главное потребляди обрисовать, а тот уже будет готов нести свои кровные, ради дополнительных целых 0,1 ядра.

daemonpnz ★★★★★
()
Ответ на: комментарий от sudo-s

Это вообще ни при чем. Там ни слова о недостатках 48 бит

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от exception13

виртуальное пространство тоже неполное, тк требуется чтобы адреса были в канонической форме (биты 63-48 должны быть либо 0, либо 1 одновременно)

AptGet ★★★
()
Ответ на: комментарий от Lamppost

Не, зачем 33? лучше 37 - оно простое.А на вопрос для чего можно отвечать: «Чтоб проще было.».

Tanger ★★★★★
()

Чтобы не быть смешным после фразы типа «40 бит адресации хватит всем!»

Alve ★★★★★
()

64? Ведь для адресации памяти это сильный избыток

640 килобайт хватит всем.

zgen ★★★★★
()

потому что можно поставить две микросхемы работать в паре для расширения адресного пространства

PakMaH
()
Ответ на: комментарий от daemonpnz

Так и было. Сначала в ядро второй конвейер запихнули.

imtw
()

Ведь для адресации памяти это сильный избыток

«640кб хватит всем» :). Помимо задела на будущее ещё витала идея ммапить узлы кластера в единое адресное пространство, при этом может потребоваться много (виртуальной) памяти.

А так же вопросы хранения: есть int32, есть int64, где ты будешь хранить указатель на 48 бит? Всё равно место лишнее останется.

не 40, не 48, не 56?

ну, на физическом уровне щас так и есть: современные процы, на самом деле, адресуют меньше.

true_admin ★★★★★
()

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

Даешь иррациональное количество бит!

trex6 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.