Недавно начал изучать assembler , пока только программирование под DOS , но несобераюсь на етом останавливаться и буду постепенно расти до x64 архитекктуры Прочитал статью "Все, что нужно знать, чтобы начать программировать для 64-разрядных версий Windows", но так как еще мало знаком с x86, немогу оценить все плюсы и минусы новой архитектуры. Насколько я понял отменяется сегминтация памяти и добавляются 8 новых регистров общего назначения R8-R15. Прошу в общих чертах прокоментировать ету статью. Какие плюсы и минусы , для "познающих" , появятся с приходом новой архитектуры и новых систем.
FS и GS вроде как остаются Глянь статейку К.Касперски Архитектура х86-64 под скальпелем ассемблерщика
leo Про GS у Касперски ничего не сказано, да и в ABI не усмотрел ничего. А про "жизнь селекторов подходит к концу" - имелось ввиду, что везде FLAT-модель используется.
qwe Жизнь не подходит к концу CS, DS, ES, SS используются, как селекторы. Если знаком с защищенным режимом процессора. То в защищенном режиме зачастую используют модель FLAT. То что в x64 откозались от сегментной модели правильно. Лишнии сложности которые не нужны. CS,DS,ES,SS - выполняют роль распределения прав доступа. leo FS и GS остались. Насчет статьи К.К асперски жалко что там ни слово не сказанно про работу в пограничном состояние UnReal режим только для x86-64.
qwe, IceStudent К Касперски я "посылал" не за FS и GS, а за штрихами к портрету "плюсы и минусы новой архитектуры" А что касается сегментных регистров, то лучше не гадать, а просто заглянуть в мануальчики AMD64 v.1 (2.1 Memory Organization) и v.2 (4.5.3 Segment Registers in 64-bit Mode, 4.8 Long-Mode Segment Descriptors). Полностью игнорируются только DS,ES и SS, а в CS используются только DPL и несколько флагов. Баз у всех этих сегментов считается = 0. А вот FS и GS оставлены для возможности задания произвольного базового адреса
А мне наоборот, подумалось, что зря наверное в лонг-мод не оставили возможность сегментации. Просто страничная адресация при использовании свопа рулит - тут с ней ничто не сравнится по удобству. А если без свопа? Например ситуация, когда существует какое либо подобие простейшей ос, ну скажем на 3 задачи (всякое же бывает), и памяти (реальной) гигов эдак больше 4... Здесь страницы лишний гемморой. Long mode немного утратил универсальность по сравнению с предшественниками. А насчет операции с RIP и доп. регистры - это есть гуд.
Ну, скажем, под свои три задачи я возьму legacy mode. Просто хотел сказать что последнее время стараются делать железо под конкретный софт, а не наоборот. Взять хотя-бы 3д ускорители. Может у инженеров и есть золотые идеи но они не будут воплащены, т. к. теряется оптимизация под тот же самый d3d. Кстати насчет x64. Есть ли в природе AMD SimNow под win32?
qwe Имхо, плюсы были добавлены не столько в саму процессорную архитектуру, сколько в организацию Win64. Сами 64 разряда мало кому нужны. Да и с сегментной организацией памяти под Win32 особых вопросов никогда не было, особенно если вспомнить славные времена 64-кб сегментов. Однозначный плюс - новые регистры. Вообще складывается впечатление, что идет тенденция сближения х86 с RISC-архитектурой
сегментной организацией памяти под <Win32> особых <--- под 32-бит конечно ЗЫ: А куда делось редактирование???
gilg Для данных действительно мало кому нужны, а вот 4Г адресов, из которых к тому же 1-2Г винда откусывает, для многих уже маловато. Поэтому ИМХО AMD64\EM64T в первую очередь ориентированны именно на увеличение доступного адресного пространства, а уж 64-битные АЛУ и доп.регистры выглядят как логичная своевременная примочка к этому хозяйству Тем более, что сами "учителя оптимизации" от Intel и AMD не рекомендуют злоупотреблять 64-битными операциями и доп.регистрами, т.к. изобилие REX-префиксов ведет к раздуванию кода
Ага если учитывать что контролер Athlon 64 (939, AM2 уже 16, а семпроны 754 - 3 Гига ) адресует только 4 Гига памяти то кому он нужен тогда ?
dag Во-первых, не знаю сколько он адресует и кому он нужен Во-вторых, чего не сделаешь в погоне за суперновинками и громкими фичами - те же Intel'ы сколько лет всем мОзги пудрили своей NetBurst, а теперь - "назад в будущее" к старому доброму PIII (фактически). Контроллер памяти AMD похоже из той же серии В-третьих, не надо путать виртуальную память с физической, т.к. это несколько разные вещи