Техника

про современные "64-битные" процессоры

Весьма далек от темы процессоров для ПК, но вот интересно
Инструкции могут реально работать с 64-битными регистрами и операндами, или его "64-битность" заключается только в возможности адресовать 2^64 байта памяти данных?
Работу процессора лучше всего рассматривать со стороны регистров, а не со стороны памяти. Памяти вы можете установить много или мало, но даже при малой памяти битность процессора остается прежней. Если говорить о переходе 16-32-64 бит в архитектуре Intel, то в нем есть интересные моменты.

Арифметические операции с целыми числами удобней проводить с регистрами AX и BX. Так они назывались 16-битной архитектуре. При переходе к 32-битной архитектуре названия стали EAX и EBX. В 64-битном варианте это RAХ и RBX. При этом на уровне двоичного кода команды сложения, вычитания, умножения, пересылки и обмена остались прежними. Таким образом, видя “старый” двоичный код процессор выполняет его с большей разрядностью в native mode. Благодаря этому вам не практически не нужно переделывать ассемблерный код, а иногда использовать двоичный код непосредственно. При переходе в архитектуру 64 бит этот принцип в целом удалось сохранить. Борьба за “правильный” набор велась смертельная, и эту борьбу Intel фактически проиграл, уступив AMD. Оказалось, что 64 битное расширение, которое предложила компания AMD проще в поддержке на уровне операционной системы, хотя железо немного уступает Intel.

Главное, что добились “гладкости” в загрузки двоичного кода программ. Вы можете запускать старые 16 и 32 битные программы, не задумываясь о “последствиях”. Загрузчик переключит режим работы из native в режим совместимости 16 или 32, а процессор на логическом уровне укоротит битность регистров.
Сергей Бараненко
Сергей Бараненко
95 239
Лучший ответ
а что вас удивляет? еще в незапамятные 90-е соневская игровая приставка имела 128-битную шину данных.
ну как вам сказать даже в 16 разрядном процессоре
были инструкции для работы мат сопроцессора, который работал с 80битными действительными
и MMX расширения для пентиума тоже работали с 64 разрядами
Самое главное чтобы адресовать 64бита не обязательно иметь 64 разрядную шину
и да у 32 разрядных процов шина была 30 разрядная у 16разрядных тоже 16 разрядная но адресовала 20бит данные были выравнены на границу параграфа (кратно 16)
как сейчас не знаю
но скажу что тот же 32 разрядный проц в реальном режиме работает с 16 битными регистрами только, но существует префик перед командой расширяющий её до 32х бит
IA32 было расширением IA16 но в 16разрядном наборе команд можно было работать со страшей младшей половиной слова (она видимо тоже была расширением 8 битного набора команд)
так вот не зная способа адресации мы никак не узнаем
вообще в защищенном режиме адресуются не байты а страницы по 4кб
надо именно знать как память адресуется раньше в 16 разрядных процах она адресовалась так
сегмент16*16+смещение
а в защищенном режиме адрессуются страницы 4кб
если я скажу, что они просто обрабатывают информацию в сотню раза быстрей, ничего
Юлия Киктенко А вот это уже интересно, и каким же образом? За один машинный такт сотню своих шагов сделает?
нет именно инструкции и код 64-х битный, поэтому и видит 102 гига оперативы
Ilyas Akhmetsafa Как насчет серверов более чем 102Гб оперативы?
Все там реально, и наборы инструкций и регистры под 64 бита заточены.
=)
Все пентиумы уже имели адресную шину больше 32 бит. Настоящие х64 как раз и отличаются регистрами и операциями на 64 бита.
Для рядового пользователя разница лишь в том, что можно воткнуть в систему больше 4 гб ОЗУ
DA
Damik And Marina
5 620

Похожие вопросы