Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос для общего развития 
:(
    Опции темы
Санчес_
Дата 28.9.2004, 15:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Несколько вопросов для общего развития.
В Delphi нельзя поставить тип процессора - для какого процессора идёт компиляция, какой набор инструкций используется? Наверное, для первых пентиумов или "четвёрок", чтобы код работал на любой машине? А как в этом случае обстоит дело с поддержкой устаревших инструкций в новых процессорах - она остаётся на аппаратном уровне или заменяется микропрограммным кодом? Или в .ехе включаются все варианты, а тип процессора определяется программой при запуске?
  Вверх
Pathfider
Дата 28.9.2004, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.7.2004
Где: все там же

Репутация: -1
Всего: 1



Это надо посмотреть в установках компилятора. Точнее не могу сказать - не сталкивался.
--------------------
Trust is a weakness
PM MAIL   Вверх
Санчес_
Дата 28.9.2004, 22:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хех, я же сказал, что в Дельфи нельзя поставить тип процессора при компиляции. Нету такого в настройках sad.gif.
  Вверх
p0s0l
Дата 29.9.2004, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Вот моё скромное ИМХО:
Компилятор использует систему команд i386, т.к. я не видал, чтобы он использовал хотя бы i486-команды, типа CMPXCHG или BSWAP...
К тому же в FileHeader'е в экзешниках стоит 014Ch = Intel 386 процессор...
Да и если подумать, все другие команды, которые не использует компилятор, особого бы выйгрыша не дали, т.к. их применение весьма специфично (например, работа с кэшом, MMX-команды, SSE и др.).
Имхо, сложно сделать оптимизатор, который бы смог выявить места в программе, где можно применить SIMD-обработку данных (а кроме них вроде ничего нового в систему команд особо не вносили), поэтому этим должен заниматься сам программист...
Добавлено @ 17:25
Устаревшие инструкции - это какие ?...
И в чём отличие аппаратной поддержки от микропрограммного кода ?...



--------------------
С уважением, г-н Посол.
PM   Вверх
Санчес_
Дата 29.9.2004, 18:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Про устаревшие инструкции я так, на всякий случай спросил - вдруг такие есть, убрали команду какую-нить :-)
Аппаратная поддержка и микропрограммный код - это я вот как понимаю: мы же можем на 8-битном процессоре сложить или сравнить два 32-битных числа. Но для этого придётся написать несколько инструкций процессора (микропрограмма, или, если угодно, программа в машинном коде). Она будет выполняться несколько тактов. В то время как на 32-битном процессоре хватит одной команды - все подразумевающиеся переносы из байта в байт процессор сделает сам, за один такт. Такое понимание терминов верно?
Теперь такая просьба - дайте ссылки на документацию по процессорам Intel, наборы команд посмотреть хочу :-)
И на формат экзешников :-) Если есть в FAQ, сильно не ругайтесь - ссылка на него битая, посмотреть не могу.
  Вверх
p0s0l
Дата 29.9.2004, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Цитата
Аппаратная поддержка и микропрограммный код - это я вот как понимаю: мы же можем на 8-битном процессоре сложить или сравнить два 32-битных числа. Но для этого придётся написать несколько инструкций процессора (микропрограмма, или, если угодно, программа в машинном коде). Она будет выполняться несколько тактов. В то время как на 32-битном процессоре хватит одной команды - все подразумевающиеся переносы из байта в байт процессор сделает сам, за один такт.
За этим следит сам программист. Если я пишу на 32-разрядном проце сложение 64-разрядных чисел, то я буду делать два сложения с переносом. Эта программа не запустится на 16-разрядном или на 64-разрядном проце (хотя последний случай - исключение, 64-разрядный проц может работать в режиме 32-разрядного).
Цитата
Такое понимание терминов верно?
Вообще-то немного не так.
Под микропрограммой понимается набор _микрокоманд_ (микроопераций, µops). Команды (mov, loop и др) состоят из микроопераций. Микрокоманды - это как бы внутренние команды проца. Т.е. микропрограммы программно недоступны (криво говоря), типа это аппаратный уровень (их зашивают в процессорное ПЗУ - Microcode ROM)... Поэтому я и спросил, в чём отличие между аппаратной поддержкой и поддержкой на уровне микрокоманд...

Цитата
Теперь такая просьба - дайте ссылки на документацию по процессорам Intel, наборы команд посмотреть хочу :-)

Инструкции A-M: http://developer.intel.ru/design/pentium4/manuals/253666.htm
Инструкции N-Z: http://developer.intel.ru/design/pentium4/manuals/253667.htm
(там внизу линк для скачки).
Я вообще заказал все 4 толмута по почте (бесплатно). Мне через полгода (когда я уже забыл, что заказал) почтальон на дом принёс целую коробку smile.gif... Вообще круто, не пожалеешь - всё расписано, больше 1000 страниц на описание всех команд, в том числе и MMX и SSE1-2-3...
Щас заказать нельзя - говорят в феврале 2005 года может появится опять возможность...

Цитата
И на формат экзешников :-) Если есть в FAQ, сильно не ругайтесь - ссылка на него битая, посмотреть не могу.
Вот, к примеру, это: http://education.kulichki.net/comp/hack/27.htm


--------------------
С уважением, г-н Посол.
PM   Вверх
Санчес_
Дата 29.9.2004, 23:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо за объяснение! Про такие микропрограммы я ни сном ни духом smile.gif За всё остальное тоже спасибо)
Жаль, на форуме не могу зарегиться - ие6 не сохраняет куки. В настройках конфиденциальности движок стоит на "принимать все куки", ан нифига. sad.gif
  Вверх
p0s0l
Дата 29.9.2004, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Всегда пожалуйста.
Насчёт IE6 - юзай Оперу. {Примечание от Pegas-а: или Мозиллу}
Или будь нашим постоянным гостем - мы тут всегда рады гостям smile.gif


--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0689 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.