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




Куратор(ы):   anatolymik   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3563 • Страница 159 из 179<  1 ... 156  157  158  159  160  161  162 ... 179  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Advanced member
Предупреждение Предупреждение 
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 70
HyperSLI 1.0 & DifferentSLI 320.18

Статьи и FAQ

Исследование работы асимметричного SLI
FAQ по теме(устарело): Part1 & Part2
Обзор доступных методов для включения SLI (устарело)

DifferentSLI

290.53 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/290.53/DriverWinVista7x64.zip

296.10 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/296.10/DriverWinVista7x64.rar

301.42 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/301.42/DriverWinVista7x64.rar

310.70 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/310.70/DriverWinVista7x64.rar

314.22 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/314.22/DriverWinVista7x64.rar

320.18 Vista & 7 x64
http://anatolymik.itzod.ru/DifferentSLI/320.18/DriverWinVista7x64.rar

Установка выполняется в несколько этапов:
1. Установить необходимые карты
2. Установить оригинальный драйвер соответствующей версии и перезагрузить ПК
3. Установить модифицированный драйвер и перезагрузить ПК

Данный мод не отключает обязательной SLI сертификации материнских плат

HyperSLI

HyperSLI 0.1 beta
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.1_beta.exe

HyperSLI 0.6 beta
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.6_beta.exe

HyperSLI 0.7 beta
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.7_beta.exe

HyperSLI 0.8 beta
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.8_beta.exe

HyperSLI 0.81
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.81.exe

HyperSLI 0.9
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.9.exe

HyperSLI 0.96
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_0.96.exe

HyperSLI 1.0
http://anatolymik.itzod.ru/HyperSLI/HyperSLI_1.0.exe

Системные требования:
Процессор с поддержкой технологии виртуализации(для аппаратного гипервизора)

Для установки следует запустить утилиту и следовать её инструкциям


Последний раз редактировалось anatolymik 23.10.2013 8:38, всего редактировалось 50 раз(а).


Партнер
 

Member
Статус: Не в сети
Регистрация: 02.01.2006
Откуда: Клайпеда, Литва
Фото: 5
Zoron2
Закатай губу и копи на Quadro 2000. :D


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
anatolymik, возможно, всё так как вы пишете, но всё равно многие нюансы не понятны. Откомментирую по порядку:
Цитата:
даже если ты изменишь девайс ид в этой ветке, драйвер опознает карту правильно. Когда приложения начнут требовать сервисы квадры от карты которая ей не являеться, поведение не предсказуемо(зависит от реализации драйвера).

На самом деле с этим проблем никаких. Я видел плату настоящей Квадры. Она ничем от моей GTS не отличается в плане функционала, т. е. там нет чипов никаких дополнительных, памяти или чего-то ещё, поэтому и БИОС подходит. NVidia, похоже, вообще не парится. Все эти "замечательные" возможности квадры определяются только самим набором специализированных драйверов. Да и старые карты, которые перешивались в квадру, при работе со спецдрайверами никаких проблем не испытывали. У самого такая одна валяется.
Да и часто достаточно, чтобы приложение опознало карту как квадру, та же CUDA и OpenCL сейчас и на ЖдиФорсах работает, а вот с официальной поддержкой GeForce со стороны приложений бывают проблемы, по понятным причинам... (подозреваю, не просто так NVidia такие цены загибает на Квадру - прибылью она делится с кем надо :-)

Цитата:
Системный БИОС не причем, он не составляет списки и не передает их ОС, это делает сама ОС еще даже до старта ядра. Winload.exe. БИОС только перечисляет аппаратуру чтобы определить какая нужна для запуска ПК, и занимается её инициализацией. Точнее в БИОС была слабая реализация этой идеи, вот UEFI уже реально умен. Это мини-ос.

Всё правильно, только тогда не понятно, откуда ОС берёт информацию о самом существовании конкретных устройств, которые требуют конфигурирования, даже если они не нужны для запуска ПК, неужели она всё возможное конфигурационное пространство сканирует? Гораздо логичнее было бы это всё взять из BIOS-а. К примеру, некоторые утилиты под DOS, например UniFlash, могут считывать наличие и DeviceID установленных PCI-устройств, но только в случае, если данный чипсет поддерживается конкретной версией утилиты, если нет, то бывают проблемы. Т.е. похоже, с конфигурационным пространством там тоже всё не так однозначно.. Как это в Windows происходит не очень понятно.

Цитата:
Относительно откуда утилиты берут инфу, девайс ид записывается в стандартном заголовке конфигурационного пространства устройства, т.е. утилиты получают его напрямую от устройства делая запрос непосредственно по шине PCI. Могут и из ветки конечно, но те утилиты что ты перечислил, они "умные". Многие из них даже напрямую работают с аппаратурой(после соответствующего реверс инжинеринга).

Если программа каждый раз действительно обращается напрямую к аппаратуре по шине PCI для получения стандартного заголовка и Device ID, то как я понимаю, задача сводится к внедрению драйвера уровня ядра, который мог бы перехватывать такие обращения и подменять в них информацию? Такие вещи, в принципе, умеют делать многие виды вирусов, те же кейлоггеры, например.
Но тогда не понятно, зачем эта информация в реестре вообще нужна и почему Windows так надёжно оберегает к ней доступ на запись?

Цитата:
Правда давно это было, да и напрямую я этого не делал, утилиты использовал.

А по подробнее можно, что за утилиты и где можно почитать про них?

Добавлено спустя 19 минут 17 секунд:
Цитата:
Zoron2
Закатай губу и копи на Quadro 2000.

Отличный совет,Darius13 , но не для меня.
Просто не привык я так просто сдаваться. Да и удовлетворять чью-то непомерную жадность не очень хочется.

Ситуация та же, что и с включением SLI только на платах, "сертифицированных" NVidia, т.е. только для тех, кто дополнительного бабла отбашлял, хотя когда ты карту покупаешь, они во всех рекламах и на коробке большими буквами пишут "Поддержка SLI", и нигде не написано, что услуга эта платная, хотя за карту "с поддержкой SLI" ты уже заплатил.

Я даже не из-за денег или халявы это всё замутил с квадрой, просто это дело принципа. Если бы она хотя бы вдвое была дороже, чем аналогичная GTS, я бы заплатил, но когда в 6(!) раз...!
Пуст NVidia лучше губу закатает. :D


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Zoron2 писал(а):
На самом деле с этим проблем никаких. Я видел плату настоящей Квадры. Она ничем от моей GTS не отличается в плане функционала, т. е. там нет чипов никаких дополнительных, памяти или чего-то ещё, поэтому и БИОС подходит.


Если судить по отсутствию каких-либо дополнительных микрух на борту карты, то вывод не всегда правильный. Так было со старыми картами, как с новыми обстоит не известно.

Zoron2 писал(а):
Всё правильно, только тогда не понятно, откуда ОС берёт информацию о самом существовании конкретных устройств


Все начинается с ACPI таблицы. Когда доходит до PCI, сканируется и она. Через мост PCI. Мне не понятно что тебе тут не нравиться. Не сконфигурированное устройство опознается без проблем. Другие шины по своему протоколу и т.д. Виндовс вообще на самом деле мало опирается на БИОС. Разве что начать запуск системы, пока драйвер жесткого диска еще не работает, и прочее подобное. Если ты видишь случаи когда БИОС что-то делает пока Виндовс работает, вини в этом SMM режим процессора.

Zoron2 писал(а):
К примеру, некоторые утилиты под DOS, например UniFlash, могут считывать наличие и DeviceID установленных PCI-устройств, но только в случае, если данный чипсет поддерживается конкретной версией утилиты, если нет, то бывают проблемы


Например? В первые слышу такое. Если и было подобное, я быстрее сделаю ставки на то что утилита не знакома с чипсетом видео а не матери. ДОС утилиты могут использовать сервисы БИОС для доступа к PCI пространству. Сервисы существуют давно и проблем с ними не было. Есть порты ввода-вывода которые зарезервированы для доступа к этому пространству если тебе сервисы БИОС не нравяться, которые существуют с появления шины PCI.

Zoron2 писал(а):
Если программа каждый раз действительно обращается напрямую к аппаратуре по шине PCI для получения стандартного заголовка и Device ID, то как я понимаю, задача сводится к внедрению драйвера уровня ядра, который мог бы перехватывать такие обращения и подменять в них информацию?


Не, драйвер ядра тебе не поможет. Это есть самый прямой доступ к аппаратуре минуя любой сервис. Как я уже говорил можно напрямую обращаться к чипсету через порты ввода-вывода. Ты их не проконтролируешь. Мне пришлось писать гипервизор для HyperSLI что перехватывать этот доступ. НВИДИА обращалась к нему чтобы получить реальный девайс ид чипсета.

Zoron2 писал(а):
А по подробнее можно, что за утилиты и где можно почитать про них?


Утилиты для подмены DSDT от интел. iasl.exe и asl.exe. Поиски начинай с них.

Добавлено спустя 8 минут 55 секунд:
Darius13 Так родился HyperSLI. Я очень хотел СЛИ на своей Р45, а денег не было. Мне говорили купи мать, мол это утопия. В сентябре месяце патчу 4 года :-)

Добавлено спустя 26 минут 48 секунд:
Darius13 Но совет прикольный :D


 

Member
Статус: Не в сети
Регистрация: 02.01.2006
Откуда: Клайпеда, Литва
Фото: 5
anatolymik
Zoron2
Я всё понимаю, но сами видите какая ситуация. Они наглеют с каждым годом, а сейчас и качество стало падать. Печаль... :cry:
anatolymik писал(а):
Но совет прикольный

Ну а что ещё можно посоветовать человеку. :D


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
Цитата:
Все начинается с ACPI таблицы. Когда доходит до PCI, сканируется и она. Через мост PCI. Мне не понятно что тебе тут не нравиться. Не сконфигурированное устройство опознается без проблем. Другие шины по своему протоколу и т.д. Виндовс вообще на самом деле мало опирается на БИОС. Разве что начать запуск системы, пока драйвер жесткого диска еще не работает, и прочее подобное. Если ты видишь случаи когда БИОС что-то делает пока Виндовс работает, вини в этом SMM режим процессора.

anatolymik, я только не понимаю, откуда такое устойчивое мнение, что Windows САМА при загрузке все устройства сканирует одно за другим на всех шинах по их собственным протоколам. Оно ей вообще надо, когда есть аппаратно-независимый протокол ACPI? Он же для этого, собственно и был разработан. Я тут почитал доступные документы по ACPI-системам и технологии Plug&Play. У меня сложилось устойчивое ощущение, что в Plug&Play ключевая роль отводится именно системному BIOS-у, который изначально и выстраивает ACPI-таблицы (и DSDT тоже, как часть ACPI) в оперативной памяти, а Windows просто считывает оттуда при своей загрузке инфу об оборудовании, и помещает её в соответствующие защищённые ветки реестра. Причём прикладные программы и установщики драйверов могут работать как с реестром, так и напрямую с ACPI, всё зависит от реализации конкретной программы, видимо.
Кстати, примерно также происходит и при выходе компа из режима сна, если конфигурация оборудования изменилась, то BIOS внесёт изменения в DSDT, именно поэтому так важна поддержка функции сна BIOS-ом материнской платы, и если поддержки нет, то функция не работает. А в ОС, как я понял, содержатся только обработчики событий типа "к такой-то шине присоединено такое-то устройство", причём прерывание формирует контроллер соответствующей шины, а протокол обмена с контроллером и распределение прерываний забиты в те же ACPI-таблицы и зависят от конкретного Биоса на материнке. Т.е. Windows должен выполнять действия по обнаружению и инициализации нового оборудования только в 3 случаях: 1.Загрузка ОС 2.Выход из режима сна 3.Присоединение нового оборудования к конкретной шине по сигналу от контроллера. Кстати, реакция на присоединение новых устройств USB, например, реализована в Винде как отдельная служба. Если её остановить, то никакого распознавания новых устройств не будет.
Таким образом, если, например, модифицировать код BIOS-а, то можно записать в DSDT при загрузке тот DeviceID, который нужен. Можно сделать это более изящно. Предположим, что, например, есть некий программный модуль, который стартует после того, как биос уже передал управление загружкой HDD, но до старта ОС, к примеру, стартующий из MBR или загрузчика ОС. По типу этого стартуют все загрузочные вирусы. Этот модуль вносит нужные изменения в таблицы ACPI в оперативной памяти, после чего передаёт управление загрузчику ОС. И всё должно получиться по идее.. Вот только есть одна проблема: нужно хорошо знать структуру таблиц ACPI и уметь программировать на ассемблере. :-)

Существует ещё некая таблица PnP ESCD, где хранится вся информация об оборудовании компа, включая DeviceID. Она хранится в NVRam (CMOS), и доступ к ней имеет сам BIOS, но можно её считывать и менять, используя процедуры BIOS-a. Возможно, именно так считывают инфу об устройствах некоторые DOS-утилиты, которые не поддерживают напрямую ACPI. Поэтому, там и важна поддержка конкретного чипсета, т.к. конкретная реализация ESCD предположительно, может меняться.

Всё это мои предположения, разумеется, но основанные на изучении соответствующих спецификаций. Если есть какие-то мысли по этому поводу, изложите.


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Zoron2 вот я вижу тебя много энергии. Зачем ты меня спрашиваешь, если ты мне все равно не веришь?

Zoron2 писал(а):
anatolymik, я только не понимаю, откуда такое устойчивое мнение, что Windows САМА при загрузке все устройства сканирует одно за другим на всех шинах по их собственным протоколам.

Встречный вопрос, откуда у тебя мнение что она этого не делает?

Zoron2 писал(а):
Оно ей вообще надо

А оно ей надо вообще работать?

Zoron2 писал(а):
Я тут почитал доступные документы по ACPI-системам и технологии Plug&Play

Документы есть полностью. ACPI прежде всего есть потомок APM, а APM прежде всего нацелен на управление электропитанием. Потом столкнулись с некоторыми проблемами и поняли что помимо управления должно быть и конфигурирование. ACPI перечисляет устройства. Legacy(програмнно не обнаружаемые) и встроеные. И некоторую другую информацию специфичную для типов шин и материнской плате. Все остальное обнаружается сканированием соответствующих шин.

Zoron2 писал(а):
а Windows просто считывает оттуда при своей загрузке инфу об оборудовании

Считывает, потому что иначе он их просто не найдет. Все остальное делает сам.

Zoron2 писал(а):
то BIOS внесёт изменения в DSDT

Внесет, вот только теперь представь ситуацию что я устройство выдерну до того как система запуститься. Хотя сказанное отношения к делу не имеет по другим причинам, но это как вариант я тебе предложил, почему не стоит опираться на ACPI в момент запуска ОС. И те кто проектируют Windows по моему наблюдению, головой думают.

Zoron2 писал(а):
А в ОС, как я понял, содержатся только обработчики событий типа "к такой-то шине присоединено такое-то устройство"

Как я уже говорил BIOS не может после запуска ОС сообщать что-то ей. Такаето шина сама сообщит

Zoron2 писал(а):
причём прерывание формирует контроллер соответствующей шины

Прерывания формируют любые устройства.

Zoron2 писал(а):
а протокол обмена с контроллером и распределение прерываний забиты в те же ACPI-таблицы

Там описывается отображение одного на другое. Ничего там не настраивается

Zoron2 писал(а):
Т.е. Windows должен выполнять действия по обнаружению и инициализации нового оборудования только в 3 случаях: 1.Загрузка ОС

Изначально речь пошла о том что виндовс не полагается на БИОС. Однако пункт 1 мне уже нравиться.

Zoron2 писал(а):
Кстати, реакция на присоединение новых устройств USB, например, реализована в Винде как отдельная служба. Если её остановить, то никакого распознавания новых устройств не будет.

Потому что драйвер для USB user-mode режима если не ошибаюсь. Отключи драйвера на видео, что будет?

Zoron2 писал(а):
Таким образом, если, например, модифицировать код BIOS-а, то можно записать в DSDT при загрузке тот DeviceID, который нужен

DSDT в основном хранит описание событий электропитания.

Zoron2 писал(а):
нужно хорошо знать структуру таблиц ACPI и уметь программировать на ассемблере.

И то и другое мне знакомо.

Zoron2 писал(а):
Всё это мои предположения, разумеется, но основанные на изучении соответствующих спецификаций. Если есть какие-то мысли по этому поводу, изложите.

Соображение мое идет из моего практического опыта, что никакой DeviceID ты не найдешь там где ишещь, его там не поменяешь. Кстати даже если и представить что DeviceID хранился бы в ACPI то драйверу шины PCI было бы проще прочитать его через свои средства а не лезть в ACPI, понимать её, знать её и т.д. Тем более что драйвер работает со своим устройством. Так вот когда драйвер видео захочет узнать ID своего девайса, он пошлет запрос в PDO этой карты, и этот запрос обработает драйвер шины по не хитрому способу, и ACPI будет не при делах.


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
Цитата:
Zoron2 вот я вижу тебя много энергии. Зачем ты меня спрашиваешь, если ты мне все равно не веришь?

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

Я не сомневаюсь, что в стандартных случаях Windows и программы сами могут считывать всё, что им надо по шине прямо с устройства, как ты пишешь. Но есть некий небольшой процент ситуаций, в которых всё не может быть объяснено стандартным обменом с устройством по шине. И касаются они именно начальной инициализации устройств в системе.Ну например. ты пишешь:
Цитата:
Так вот когда драйвер видео захочет узнать ID своего девайса, он пошлет запрос в PDO этой карты, и этот запрос обработает драйвер шины по не хитрому способу, и ACPI будет не при делах.

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

А теперь представим ситуацию, когда я впервые ставлю Windows7 из коробки на свой новый ПК в каком-нибудь 2020году :-). Мой СPU поддерживает инструкции x86 и стандартную адрессацию памяти, и следовательно, процесс установки Windows у меня запустится.(кстати, внутренние шины передачи, типа DMI, между СPU, южником, северником и т.д. на всех компах поддерживает именно BIOS, ОС имеет о их устройстве смутное представление). Затем ОС начинает сканировать устройства, а в моём компе установлена новейшая шина Extra-SuperPCI (ESPCI :-) ), и на ней установлена некая новейшая видеокарта. Windows7 про эту шину вообще ничего не знает, и разумеется, стандартного драйвера, как для PCI, для неё нет. И обменяться с видеокартой по ней явно не получиться. А шина нужна для запуска OC. Вопрос: "Что тогда будет делать Windows?" Остановится и скажет:"Извини, парень, данная система с Windows не совместима", или где-то считает информацию о протоколе обмена по этой шине, в духе идеологии Plug&Play? И если считает, то где именно?

Или другой, более тривиальный пример.
Большинство специализированных программ для настройки видеокарт, типа RivaTuner, EVGA Precession, MSI Afterburner и т.д. опираются в своей работе на драйвер NVidia, и без его установки либо не работают, либо имеют сильно ограниченный функционал. Понятно, что они используют API, предоставленный NVidia и реализуемый драйвером. А вот например Еverest, даже древние версии, плевать хотел на этот драйвер. Причем эта утилита показывает корректно не только DeviceID видеокарты, но даже, к примеру, температуру GPU, при том, что самой карты с таким DeviceID она не знает, о чём честно предупреждает, и название её не выводит.

Ну допустим, заголовок устройства, где есть DeviceID, считывается стандартной процедурой, одинаковой для всех устройств, класс устройства (видеокарта), тоже считывается. А регистры термодатчика и процедуры обращения к ним, они тоже стандартизованы и одинаковы для всех видеокарт в мире? А если нет, то где программа берёт информацию об этих процедурах и состоянии GPU? Явно не через Windows API.

Не всё понятно также с этой таблицей PnP ESCD в CMOS. Она была введена тогда, когда появились первые PnP BIOS-ы, до этого её не было. Т.е. BIOS каждый раз при запуске системы сканирует устройства и вносит данные в эту таблицу. Вопрос: Зачем он это делает? Чтобы не забыть устройства, которые он только что сосканировал, а то у него память плохая? Или всё-же туда обращаются какие-то другие процессы. Тогда вопрос - какие?


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Zoron2 писал(а):
Ты только не обижайся, пожалуйста. Я не потому, что тебе не верю, а просто хочу докопаться до сути и понять все детали

Я это сказал потому что уверен что ты все равно будешь делать по своему. Я это знаю по себе. Люди которые добиваются своего, вот как ты уперся в данном случае, всегда дерзкие и всегда считаются только со своим мнением. Это ни хорошо и ни плохо, это просто так есть. Когда я начинал все свои подвиги, был человек который мне давал дельные советы. Я не верил. И наступал на грабли сам.

Zoron2 писал(а):
Вот только существует миллион возможных вариантов аппаратуры, с которой эта видеокарта и этот драйвер должны быть совместимы.

Тут я тебя совсем не понял что ты имеешь в виду

Zoron2 писал(а):
Вопрос: "Что тогда будет делать Windows?"

При самом трагичном повороте событий да. Она остановиться с ошибкой. Как Windows 95 при запуске на современном ПК. А прошло всего 12 лет.

Zoron2 писал(а):
или где-то считает информацию о протоколе обмена по этой шине, в духе идеологии Plug&Play? И если считает, то где именно?

Сейчас ты говоришь о универсальном драйвере для всех в мире шин и всех в мире устройств. Такого не было еще в истории. Драйвера не даром для этого придумали. Только драйвер знает как работает что-то. И его задача представить устройство в системе с предопределенным интерфейсом для этой же системы. Лучше люди еще ничего не придумали. А идеология Plug&Play нацелена на обнаружение и конфигурирование. О всем остальном она знать не знает.

Zoron2 писал(а):
А вот например Еverest, даже древние версии, плевать хотел на этот драйвер. Причем эта утилита показывает корректно не только DeviceID видеокарты, но даже, к примеру, температуру GPU, при том, что самой карты с таким DeviceID она не знает, о чём честно предупреждает, и название её не выводит.

Те кто проектировал Everest занимались реверс инжинерингом скорее всего. И считывают нужные показатели прямо из видеоплаты, но эта информация нигде не прописана.

Zoron2 писал(а):
А регистры термодатчика и процедуры обращения к ним, они тоже стандартизованы и одинаковы для всех видеокарт в мире? А если нет, то где программа берёт информацию об этих процедурах и состоянии GPU? Явно не через Windows API.

Ответ чуть выше.

Zoron2 писал(а):
Не всё понятно также с этой таблицей PnP ESCD в CMOS. Она была введена тогда, когда появились первые PnP BIOS-ы, до этого её не было. Т.е. BIOS каждый раз при запуске системы сканирует устройства и вносит данные в эту таблицу. Вопрос: Зачем он это делает?

В первую очередь ESCD была введена для того чтобы ускорить BIOS Post процедуру. Это было еще до появления PnP когда компьютера были тупыми как пробка и время конфигурирование было ощутимым. Прежде всего она хранит настройки. И предоставляет средство для конфигурирования устройств. В первую очередь Legacy. Я понимаю что тебе не понятно, глядя на изобилие всяких технологий действительно едет крыша. Чтобы это полностью понять, обратись к истории, как развивались ПК. Были устройства которые конфигурировались аппаратно, джамперами. С развитием ПК, появлялись шины с возможностью программного конфигурирования. С ними то проблем и не было. Но для того чтобы узнать есть ли шина на матери или нет, нужно прочесть таблицу в BIOS. Это конечно если речь идет о магистральной шине. Которая является корнем. USB же шина также программно находиться. Ибо подключаеться к PCI. Поскольку всегда думали об обратной со вместимости как со старым ПО так и аппаратурой, вместе с программно конфигурируемыми шинами размещали некофигурируемые, типа ISA. ISA например имела вообще жесткие адреса для многих девайсов. Возникали ситуации когда ISA устройства которые жестко занимали определенный диапазон адресов и других ресурсов могли помешать программно конфигурируемым(это невероятно редко но было), и есстественно теряеться гибкость в конфигурировании. Поэтому начали придумывать способы как легаси устройствам переназначить адрес программно. И одним таким вариантом был мост с субтрактивным декодированием адреса, который позволял тебе переоторбразить диапазоны адресов ISA шины на диапазоны PCI. И это только один вариант, а было их много. А чтобы знать о такой возможности в системе и использовать её, есстественно нужно чтобы тебе ктото сообщил. Вот тебе и появление таблицы. Ты сканируешь память в области БИОС, и если таблицу нашел, значит технология есть и можно чтото попробовать сделать. В целом упрощенно выглядит так.


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
Воооо...!
Теперь многое стало понятно.
Цитата:
Люди которые добиваются своего, вот как ты уперся в данном случае, всегда дерзкие и всегда считаются только со своим мнением. Это ни хорошо и ни плохо, это просто так есть.

Я на самом деле не такой упёртый и самоуверенный. Просто я всегда пытаюсь всесторонне изучить предмет и не упустить детали, которые многие люди считают малозначительными. В мелких деталях часто кроется ключ к решению проблемы. Ещё я всегда генерирую много идей, часть из которых, разумеется, являются бредовыми :-)

Понять уровень бредовости каждой конкретной идеи можно либо на практике, проведя ряд экспериментов, либо путём общения со знающими и умными людьми. Это и есть процесс познания... :facepalm:
В тупиковости идеи с системным BIOS-ом ты меня убедил.

Тогда вырисовывается совсем другой алгоритм решения проблемы:
1.Создать виртуальный Windows-драйвер, эмулирующий аппаратное устройство- видеокарту. Этой карте будут назначены порты ввода-вывода, прерывания и т.д. Основное назначение драйвера - отвечать на специфические запросы заголовка, содержащего "правильный" DeviceID видеокарты, со стороны системы и прикладных программ.
2.Запустить драйвер, что приведёт к появлению в Windows двух видеокарт. Одна - реальная сурогатная Квадра с DeviceID от GeForce, а другая - виртуальная Квадра с "правильным" DeviceID.
3.Реальная карта может болтаться в диспетчере устройств как неопознанное устройство или "стандартный видеоадаптер VGA", чтобы исключить запросы к ней со стороны программ. (дисплей в этот момент должен быть подключен к ещё одной карте, например встроенной в СPU)
4.Запустить установщик драйвера для Nvidia Quadro, который будет пытаться установить Nvidia-драйвер только для виртуальной видеокарты (ДжеФорсы он не поддерживает). Он может обращаться к видеокарте только с помощью функций ядра ОС, обеспечивающих обмен по шине PCI (А как ещё?) Следовательно, распознать, что видяха виртуальная, он, скорее всего, не сможет.
5.Эмулятор карты должен быть написан таким образом, чтобы он умел распознавать только запросы DeviceID и заголовка, и уметь отвечать на них "правильно", а все остальные просто тупо переправлять напрямую по портам ввода-вывода реальной видеокарты, и, соответственно, считывать ответные данные напрямую с этих портов и переправлять обратно драйверу NVidia Quadro от своего имени.
6.Дальше можно подключить дисплей к реальной видеокарте и перезагрузиться. В Windows должно по идее работать...

Насколько реалистичен такой сценарий?


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Ну раз мы на оффтопили изрядно, тогда...

Zoron2 писал(а):
Я на самом деле не такой упёртый и самоуверенный. Просто я всегда пытаюсь всесторонне изучить предмет и не упустить детали, которые многие люди считают малозначительными.

...

Zoron2 писал(а):
Понять уровень бредовости каждой конкретной идеи можно либо на практике, проведя ряд экспериментов, либо путём общения со знающими и умными людьми.

Первый метод самый лучший. Общаясь с умными людьми можно научиться только одному - повторять. Опять же, умными их ты считаешь, это не обязательно так. Кстати, хоть и умные а все равно люди - ошибаются.

Zoron2 писал(а):
1.Создать виртуальный Windows-драйвер, эмулирующий аппаратное устройство- видеокарту. Этой карте будут назначены порты ввода-вывода, прерывания и т.д. Основное назначение драйвера - отвечать на специфические запросы заголовка, содержащего "правильный" DeviceID видеокарты, со стороны системы и прикладных программ.

Как ты собрался назначить тому, чего нет, физические порты ввода-вывода, прерывания и вообще ресурсы? Да еще на которые оно должно будет отвечать по физической шине, когда оно виртуальное? Допустим на спец. запросы отвечать будет, а что ты будешь делать с остальными запросами? Которые обязательно придут от драйвера устройства.

Zoron2 писал(а):
2.Запустить драйвер, что приведёт к появлению в Windows двух видеокарт. Одна - реальная сурогатная Квадра с DeviceID от GeForce, а другая - виртуальная Квадра с "правильным" DeviceID.

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

Zoron2 писал(а):
3.Реальная карта может болтаться в диспетчере устройств как неопознанное устройство или "стандартный видеоадаптер VGA", чтобы исключить запросы к ней со стороны программ. (дисплей в этот момент должен быть подключен к ещё одной карте, например встроенной в СPU)

Ты карте назначишь DeviceID, с чего ты решил что она будет как неопознанная?

Zoron2 писал(а):
4.Запустить установщик драйвера для Nvidia Quadro, который будет пытаться установить Nvidia-драйвер только для виртуальной видеокарты (ДжеФорсы он не поддерживает). Он может обращаться к видеокарте только с помощью функций ядра ОС, обеспечивающих обмен по шине PCI (А как ещё?) Следовательно, распознать, что видяха виртуальная, он, скорее всего, не сможет.

Скорее он охренеет от увиденного. На самом деле будет не пойми что. Если нормально писать драйвер, то ничего не будет. Если плохо писать - БСОД. Но от которого ничего не будет и толка 0, ибо видеодрайвер увидев неадекватное устройство скорее плюнет на него.

Zoron2 писал(а):
5.Эмулятор карты должен быть написан таким образом, чтобы он умел распознавать только запросы DeviceID и заголовка, и уметь отвечать на них "правильно", а все остальные просто тупо переправлять напрямую по портам ввода-вывода реальной видеокарты, и, соответственно, считывать ответные данные напрямую с этих портов и переправлять обратно драйверу NVidia Quadro от своего имени.

Можно перенаправить, а как с теми запросами что идут напрямую другой карте на которую ты перенаправляешь. Драйвер будет полагать что карты две, а в реальности будет одна, как минимум нарушение целостности. Одна из задач драйвера это разделение ресурса между запросчиками. Ресурс один - желающих много.

Zoron2 писал(а):
6.Дальше можно подключить дисплей к реальной видеокарте и перезагрузиться. В Windows должно по идее работать...

...

Zoron2 писал(а):
Насколько реалистичен такой сценарий?

Абсолютно не реалистичен, пока ты не докажешь обратное.


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
Цитата:
Как ты собрался назначить тому, чего нет, физические порты ввода-вывода, прерывания и вообще ресурсы?

Вот и мне интересно, как разработчики программ-эмуляторов DVD-ROM, которых полно, пишут виртуальные драйверы так, что в Винде появляется не только новый DVD, но ещё и новый SCSI-контроллер с физическими портами ввода-вывода, к которому он якобы присоединен.

Цитата:
Да еще на которые оно должно будет отвечать по физической шине, когда оно виртуальное?
А каким образом драйвер определит, что оно виртуальное, если сама Windows будет обеспечивать к нему доступ как к физическому устройству и адреса портов будут в едином адресном пространстве?

Цитата:
Допустим на спец. запросы отвечать будет, а что ты будешь делать с остальными запросами? Которые обязательно придут от драйвера устройства.
Что имеется ввиду под спецзапросами и в чём отличие от "остальных"?

Цитата:
Ты карте назначишь DeviceID, с чего ты решил что она будет как неопознанная?
"Назначен" DeviceID будет только виртуальной карте. Физическая карта и так имеет свой DeviceID ODC4h, соответствующий GeForce GTS450. Сделать её неопознанным устройством в системе, если нужно, это совсем не проблема, поверь.. Да и по моим наблюдениям, драйвера Квадры не обращают на неё никакого внимания, т.к. у ДжеФорсов свои драйвера. Так что никакие запросы на неё не пойдут и целостность там не пострадает..

Цитата:
видеодрайвер увидев неадекватное устройство скорее плюнет на него.

Думаю, адекватность виртуальной видеокарты будет зависеть от того, насколько правильно будет написан эмулятор. Ему пофиг, в принципе, какие там запросы выдаёт NVidia-драйвер, его задача - просто перенаправить всё это на адреса реальной карты, а запросы будет обрабатывать уже она. В общем, эта программа по сути даже не эмулятор, а просто сквозной программный мост между реальным NVidia-драйвером и реальной NVidia-видеокартой.

Цитата:
Абсолютно не реалистичен, пока ты не докажешь обратное.

Летающих тарелок не существует, так как я их не видел и мне никто не доказал обратное :-)
А кибернетика это, кстати, вообще лженаука... :D Вроде, пока ещё никто не доказал обратное..


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Zoron2 писал(а):
Вот и мне интересно, как разработчики программ-эмуляторов DVD-ROM, которых полно, пишут виртуальные драйверы так, что в Винде появляется не только новый DVD, но ещё и новый SCSI-контроллер с физическими портами ввода-вывода, к которому он якобы присоединен.

потому что Windows не касается физических дел которых касается драйвер

Zoron2 писал(а):
А каким образом драйвер определит, что оно виртуальное, если сама Windows будет обеспечивать к нему доступ как к физическому устройству и адреса портов будут в едином адресном пространстве?

Пространство памяти, порты ввода-вывода не являються технологиями Windows. Это средства процессора и они будут существовать независимо от того Windows у тебя или Linux.

Zoron2 писал(а):
Что имеется ввиду под спецзапросами и в чём отличие от "остальных"?

Запросы специфичные для устройства. Таже самая видеоплата, умеющая работать с чем-либо, принимает спец. запросы для выполнения этого.

Zoron2 писал(а):
"Назначен" DeviceID будет только виртуальной карте. Физическая карта и так имеет свой DeviceID ODC4h, соответствующий GeForce GTS450.

Ты собрался остальные запросы перенаправлять на физическую карту.

Zoron2 писал(а):
Сделать её неопознанным устройством в системе, если нужно, это совсем не проблема, поверь..

Ты говоришь это человеку который написал не один драйвер для устройств и еще драйвера файловой системы и много прочих утилит. Когда Windows по DeviceID задетектит твой виртуальный девайс, по этому ИД она начнет искать соответствующий INF, и вызовет его драйвер, и это будет драйвер видео-карты, которой Windows скажет что это её девайс и что она должна с ним работать.

Zoron2 писал(а):
Да и по моим наблюдениям, драйвера Квадры не обращают на неё никакого внимания, т.к. у ДжеФорсов свои драйвера.

Бинарная база у них одинаковая.

Zoron2 писал(а):
Так что никакие запросы на неё не пойдут и целостность там не пострадает..

Повторюсь, Windows сообщит о девайсе драйверу, и драйвер начнет посылать ему запросы, который в результате будет перенаправлены на другой девайс.

Zoron2 писал(а):
Думаю, адекватность виртуальной видеокарты будет зависеть от того, насколько правильно будет написан эмулятор.

Короче когда ты таким образом сделаешь, тогда я признаю, а до этого момента я считаю что такая схема работать не будет. Причины выше.

Zoron2 писал(а):
Летающих тарелок не существует, так как я их не видел и мне никто не доказал обратное :-)
А кибернетика это, кстати, вообще лженаука... :D Вроде, пока ещё никто не доказал обратное..


Ты хотябы ознакомся с чем кибернетика имеет дело. Туда же можно все остальные науки определить также как ты это сделал с кибернетикой. На счет не докажешь обратное я имел ввиду, что научный подход это когда мы провели эксперименты и увидели результат. Ты же хочешь ограничиться тем что будешь задавать вопросы другим людям. В мире не было людей который послушав когото, научились делать чтото. Нужно делать самому.


 

Member
Статус: Не в сети
Регистрация: 20.11.2010
Откуда: TALLINN
Фото: 312
СЛИ патч был очень актуален на матерях которые до 2011 года. сегодня уже почти все матеря где есть 2 слота псие имеют поддержку СЛИ. но я наблюдаю за веткой, так как сам использовал патч на P5Q-E, GTX275 SLI, GTX285 SLI, и результатом патча был очень доволен. но прошло время, а патчем ещё занимаются местные программеры, и обсуждение такое интенсивное, какой смысл сегодня в патче если почти все современные матери которые имют 2 псие слота имеют поддержку сли изначально?

_________________
i9-9900K, ROG Ryujin 360 II, Corsair Dominator Platinum 64GB, ROG Maximus X Formula, RTX 4080 Super FE, SB ZxR, ROG 1200W, ROG PG279Q 165hz


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
boeng Я согласен с тобой. Я не слежу за тем сколько использует. Одно но, за последние 8 месяцев я к нему не прикоснулся даже. Так что не так много времени я на него трачу. На счет зачем нужно. Мне как-то тоже давно говорил один человек зачем я этим занимаюсь, я попробовал и у меня получилось, мол я знаю теперь что я могу. Так вот весь интерес в том, что после того как мне это было сказано, вышло еще 8 защит среди которых 4 были очень серьезные. Решив их, я кое-чему научился. Это кое-чему помогло мне во многом в будущем. Сказать что что-то есть бессмысленное очень просто, но на самом деле никто не знает во что оно выльется. Если НВ выпустить головоломку, я ей займусь, естественно не в ущерб работе. В конце концов не так много времени я на все трачу. Если НВ будет делать защиты, значит им есть в этом смысл.


 

Junior
Статус: Не в сети
Регистрация: 01.12.2009
Фото: 2
Цитата:
Пространство памяти, порты ввода-вывода не являються технологиями Windows. Это средства процессора и они будут существовать независимо от того Windows у тебя или Linux.

Совершенно верно, только в данном случае это не имеет значения. Например, сейчас вышла видеокарта GF GT610 производства Zotac, так вот она вообще устанавливается на обычный PCI (не на PCI-E, а в обычный белый PCI-слот). Я был уверен, что там какие-то спецдрайвера NVidia выпустила для работы с этой картой, а на деле там совершенно стандартный драйвер, т.е. её поддерживает любой драйвер, который вообще работает с GT610. Я думал, что хоть какой-то патч нужно будет установить, типа драйвера для моста AGP->PCI, который использовался на XP с AGP-картами, а реально она без всяких проблем и патчей работает на PCI как ни в чём не бывало. А все утилиты типа EVGA Precession, Zotac Firestorm и т.д. показывают, что шина у неё PCI-E1x. Вот тогда я и понял, что драйверу NVidia по барабану, на какой физически шине стоит видеокарта, весь обмен по шинам поддерживается драйверами Windows7, а NVidia-драйвер просто пользуется стандартными портами и методами передачи, предоставляемыми Windows. C виртуальной картой будет то же самое, если только они специально впоследствии не введут какую-нибудь "спецпроверку на виртуальность" в ответ на новейшие российские разработки :-)
Цитата:
СЛИ патч был очень актуален на матерях которые до 2011 года. сегодня уже почти все матеря где есть 2 слота псие имеют поддержку СЛИ. но я наблюдаю за веткой, так как сам использовал патч на P5Q-E, GTX275 SLI, GTX285 SLI, и результатом патча был очень доволен. но прошло время, а патчем ещё занимаются местные программеры, и обсуждение такое интенсивное, какой смысл сегодня в патче если почти все современные матери которые имют 2 псие слота имеют поддержку сли изначально?

Как-бы именно на этот момент я и пытаюсь намекнуть могоуважаемому anatolymik
СЛИ патч был бомбой в 2009году, но время идёт, сейчас он становиться всё менее и менее актуальным. А вот популярность профессиональных видеокарт с годами только растёт, т.к. всё больше людей начинают работать с CAD/CAM-системами P-кадом, J-кадом, автокадом, солидвормком, инвертором, инженерными, дизайнерскими, архитектурными системами проектирования и т.д, монтажные и дизайн-студии сейтас работают с Майей, Афтер-эффектом, Примьер-Про, Вегасом, 3DsMaks и т.д. Популярность профессиональных карт типа Quadr-ы будет только расти, и цены, думаю, тоже. Если удасться создать сейчас "виртуальную квадру", тем более с выходом CUDA версий 2-3 и карт на "Кеплере", которые всё обсчитывают намного быстрее, чем Core-i7, то это вообще будет бомба покруче, чем был СЛИ-патч в те далёкие годы....
anatolymik навсегда станет легендой в устах простых юзеров, а NVidia, осознав масштабы проблемы, сделает талантливому русскому программисту "предложение о сотрудничестве", от которого трудно отказаться (т.к. оно с шестью нулями, как минимум) Жадные зажравшиеся конторы, типа NVidia, умеют считать деньги, они понимают, что всё равно дешевле заплатить одному талантливому программеру, и решить эту проблему для себя, чем нанимать команду программистов из Калифорнии для создания кучи изощрённых защит своих драйверов (программеры такой квалификации в штатах пятизначные суммы получают в месяц, в долларах)
После этого мы, к сожалению, потеряем anatolymik-а вместе с новыми СЛИ-патчами, Квадрами и всем прочим, зато где-нибудь в Тампе или Сан-Андреасе появится ещё один особняк ещё одного богатого Русского. :D
Это если уж всё писать совсем открытым текстом..

Я бы сам с удовольствием занялся этой Квадрой, но квалификация мне не позволяет, к сожалению, вот так взять и написать произвольный драйвер, я вообще специалист в немного другой области. Программированием занимаюсь в качестве хобби, т.к. мне это просто интересно. Когда-нибудь, возможно, я и буду писать такие драйвера без проблем, но для этого нужно явно ещё подучиться, а на это уйдёт время...


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Zoron2 писал(а):
C виртуальной картой будет то же самое, если только они специально впоследствии

Ты хочешь сказать что виртуальная карта будет отзываться на обращения по портам ввода-вывода?

Zoron2 писал(а):
могоуважаемому anatolymik

давай без торжественности

Zoron2 писал(а):
СЛИ патч был бомбой в 2009году, но время идёт, сейчас он становиться всё менее и менее актуальным

повторюсь много времени оно у меня не отнимает. я ничего не теряю.

Zoron2 писал(а):
Популярность профессиональных карт типа Quadr-ы будет только расти

когда у тебя есть деньги на квадру, у тебя есть деньги на нормальную мать

Zoron2 писал(а):
Я бы сам с удовольствием занялся этой Квадрой, но квалификация мне не позволяет, к сожалению, вот так взять и написать произвольный драйвер

Интересно то что квалификация тебе позволяет рассуждать на тему как надо делать


 

Member
Статус: Не в сети
Регистрация: 28.07.2005
Откуда: Владивосток
Снова пляски с бубном на P8P67-M
Раньше стояли две 470 и все было хорошо.Сейчас поставил две 670.Вторую карту комп не видит.(без сли моста видит)

Update:
Без сли моста тоже не определяется вторая карта,хотя в деспетчере задач висит
Цитата:
Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43)

_________________
i7 13700KF |32 gb|RTX 4080 [GV-N4080GAMING OC-16GD] |GIGABYTE Z690 GAMING X DDR4| Win 11, БП ZALMAN 1200w. Odyssey G6


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
Сбой видео. Как вариант нехватка питания на чипсете.


 

Member
Статус: Не в сети
Регистрация: 28.07.2005
Откуда: Владивосток
anatolymik
Я помню ты давно советовал.Выключил USB 3.0,отсоединил звуковую.
Вроде как 670 менее прожорливые,чем 470.Я рассчитывал сразу запустит. Буду мучить.
Поменял местами карты,вторая в других устройствах висит как Display,при попытки обновить для нее драйвер,экран начинает мигать :shock:

У меня одна от гигабайт разогнанная,вторая от асуса

_________________
i7 13700KF |32 gb|RTX 4080 [GV-N4080GAMING OC-16GD] |GIGABYTE Z690 GAMING X DDR4| Win 11, БП ZALMAN 1200w. Odyssey G6


 

Куратор темы
Статус: Не в сети
Регистрация: 01.04.2009
если они по одиночке работают проблемы есть?


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 3563 • Страница 159 из 179<  1 ... 156  157  158  159  160  161  162 ... 179  >
-

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


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

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


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

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