Grigoriy |
Отправлено: 22.03.2006, 15:31 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
Я узнал из документов о процессоре Pentium 4 то, что количество регистров общего назначения в новых моделях этого процессора не 8 регистров, а 16 !
Первые 32 разрядные регистры называются
eax, ecx, ebx, edx, esi, edi, ebp, esp
И остальные восемь 32-разрядных регистров
R8D, R9D, R10D, R11D, R12D, R13D, R14D, R15D
А вообще все 16 регистров теперь 64-разрядные.
И 64-разрядные остальные регистры называются
R8, R9, R10, R11, R12, R13, R14, R15.
А 64-разрядные "старые" регистры теперь так называются
RAX, RCX, RBX, RDX, RSI, RDI, RBP, RSP
Для доступа к новым ресурсам включая вторую половину регистров общего назначения используется машинный префикс REX
С учетом того, что доступ к переменным хранящимся в регистрах максимально быстрый и количество регистров общего назначения возросло в два раза, я полагаю что в алгоритме компилятора должны тоже произойти изменения. Но как быстро они произойдут ?
И когда появится опция "компиляция для новых процов", смешно я её назвал.
Кто думает что об этом ?
|
|
Asher |
Отправлено: 22.03.2006, 16:06 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
Это доступно в новых процессорах с AMD64 и EM64T и только в 64-разрядном режиме.
ICC 9 и последние PathScale в этом режиме расширенный набор регистров вроде используют.
|
|
Grigoriy |
Отправлено: 22.03.2006, 17:35 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
QUOTE (Asher @ 22/03/2006, 16:06) | Это доступно в новых процессорах с AMD64 и EM64T и только в 64-разрядном режиме.
|
В 32-разрядном режиме группа инструкций
которые предназначены для увеличения операнда на единицу и для уменьшения операнда на единицу имеет тот же диапазон машинных кодов :
0x40 ... 0x4f
что и префиксы REX в 64-разрядном режиме.
Значит после перехода в 64-разрядный режим невозможно выполнять
команды инкрементации и декрементации в таком же виде кода, в каком они выполняются в 32-разрядном режиме ?
Так что тогда, получается несовместимость режимов ?
QUOTE |
ICC 9 и последние PathScale в этом режиме расширенный набор регистров вроде используют. |
А каким образом эти программы переключают процессор в 64-разрядный режим. И что это вообще за проги ?
|
|
|