Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 33 • Страница 2 из 2<  1  2
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 18.08.2008
Откуда: Саратов
HertZ писал(а):
Когда тупишь, добавляй "имхо". А вообще, советую не тупить. Особенно, если ничего не можешь сказать по теме.

Я пытался объяснить на наглядных примерах ;) Нормальный не тормозящий эмулятор этих аппаратных инструкций написать невозможно



Партнер
 

Member
Статус: Не в сети
Регистрация: 04.10.2004
Исключительно в качестве примера рекомендую Megagad'у и Intelator'у поискать информацию о Franke.387, Q387, Q87. Заодно им же можно почитать на досуге занимательную художественную литературу под названием "Intel® 64 and IA-32 Architectures Software Developer's Manual"/"AMD64 Architecture Programmer’s Manual", например, для понимания принципов работы процессоров 386+.

Intelator писал(а):
Он не знает, что делать. Чтобы это исправить, надо переписывать программу
Смеялся долго, спасибо за продление жизни посредством смеха :).
Процессор как раз знает, что ему делать :).

Intelator писал(а):
Нормальный не тормозящий эмулятор этих аппаратных инструкций написать невозможно
1. Автор изначально не оговаривал степень уменьшения скорости обработки.
2. Автор понимал, что это будет долго и интересовался принципиальной возможностью эмуляции.
3. На это вы довольно категорично ответили:
Intelator писал(а):
Это невозможно

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


 

Advanced member
Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
Intelator писал(а):
Нормальный не тормозящий эмулятор этих аппаратных инструкций написать невозможно

Вы не писали про тормоза, вы писали что это невозможно вообще. Да и если быть честным, падение производительности в два-три раза-это не фатально по сравнению с полной неработоспособностью.

Intelator писал(а):
на наглядных примерах

Лопата с вертолетом-это бред, а не пример. Это не соответствует истине хотя бы просто потому, что набор команд х86-процессора является полным по Тьюрингу.

_________________
14900KS @ 6100/4800 (p95 & Linpack)
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

Member
Статус: Не в сети
Регистрация: 18.08.2008
Откуда: Саратов
maco HertZ
Прекращаю бессмысленный спор, буду разбираться. Я считал, что если процессор не поддерживает инструкции, то обойти это никак нельзя


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
Intelator писал(а):
если процессор не поддерживает инструкции, то обойти это никак нельзя
Это утверждение может быть верным, а может быть неверным.
Это зависит от конкретного процессора/семейства процессоров.


 

Junior
Статус: Не в сети
Регистрация: 29.08.2007
Откуда: Омск
Ой, мне кажется или нет, что
Цитата:
95% SSE кода это:
movss xmm0,[mem1]
movss [mem2],xmm0

можно было сделать тоже самое при помощи MMX?
Добавлено спустя 2 минуты, 1 секунду
ой, нет, протупил
Добавлено спустя 2 минуты, 18 секунд
в общем, чем долго рыть в этом направлении глубоко в инете, или (:shock:) самому писать, проще отказаться от одной программы :(
Добавлено спустя 7 минут, 30 секунд
решил попробовать другое решение, с программированием не связанное


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
The Lich писал(а):
можно было сделать тоже самое при помощи MMX?
Если подразумевается только передача данных в памяти, то IMHO можно скатиться и до классического
mov EAX,[mem1]
mov [mem2],EAX
Если необходимы дальнейшие MMX/SSE-операции c регистрами, то
movd mm0,[mem1]
movd [mem2],mm0


 

Advanced member
Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
The Lich, JIT для x86-кода по ссылке в принципе есть, надо только его адаптировать под свои нужды :-) Ради одной программы необходимость сомнительна, но это несравнимо проще, чем писать все самому заново.

_________________
14900KS @ 6100/4800 (p95 & Linpack)
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

Junior
Статус: Не в сети
Регистрация: 29.08.2007
Откуда: Омск
Спасибо еще раз. Но адаптировать JIT - это уже слишком сложно для меня. Проще попробовать другие способы для одной проги, перейти на более раннюю версию например. Мне хотелось знать, можно ли сэмулировать SSE и есть ли эмули. Узнал :)


 

Advanced member
Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
Возможно, если вдруг станет очень-очень скучно, возьмусь приделывать SSE к этому JIT :oops:

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

_________________
14900KS @ 6100/4800 (p95 & Linpack)
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

Advanced member
Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
The Lich, покопался в исходниках, ничего там страшного нет... Все фактически уже реализовано, хуки на любую инструкцию ставить можно, и обработчики хоть на C писать.

_________________
14900KS @ 6100/4800 (p95 & Linpack)
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

Junior
Статус: Не в сети
Регистрация: 29.08.2007
Откуда: Омск
Там эмуляция через прерывания или перекомпиляция (или как ее там, вроде речь шла о ней)?


 

Advanced member
Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
The Lich, перекомпиляция.

_________________
14900KS @ 6100/4800 (p95 & Linpack)
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 33 • Страница 2 из 2<  1  2
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan