OSDev

для всех
Текущее время: 02 май 2024, 01:37

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




Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 20:23 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
DJ PhoeniX писал(а):
Последние процы интела (Core i5 / Core i7) имеют вообще графику прямо в процессоре. Вот она, свобода - хоть одним опкодом переключайся, и доки открывать не надо :)


Фигвам :-P Внутри проца они только в том смысле, что с точки зрения пользователя-лоха и графический процессор, и центральный -- одно целое. Но на самом-то деле там на одном кристалле один графический и несколько центральных процессоров, контроллеры видеовыходов, контроллер памяти, контроллеры шин PCI Express, всякая дополнительная логика... Ну а "один опкод" будет относиться исключительно к центральному процессору, а соответственно, никакого влияния на графический оказать не может в принципе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 20:32 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
SII писал(а):
Ну а "один опкод" будет относиться исключительно к центральному процессору, а соответственно, никакого влияния на графический оказать не может в принципе.
А вот фигвам :) Ибо почему нет? Видео из проца не выпаяешь, так что "что хочу - то ворочу". Это, может, и ради оптимизации может быть сделано. Например, специфичный опкод, которые проверяется по маске, и транслируется не в ЦПУ, а в ГПУ или контрольные регистры видео.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 21:28 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
А потому, что тогда это уже не архитектура ИА-32 будет. Подобные расширения на неё, как и на любую другую сколько-нибудь традиционную процессорную архитектуру, просто невозможно наложить сколько-нибудь эффективно. Не говоря о том, что графический процессор и центральные могут изменяться независимо друг от друга -- их развитие друг с другом ну никак не связано, и занимаются ими совершенно отдельные команды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 21:36 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
SII писал(а):
А потому, что тогда это уже не архитектура ИА-32 будет. Подобные расширения на неё, как и на любую другую сколько-нибудь традиционную процессорную архитектуру, просто невозможно наложить сколько-нибудь эффективно. Не говоря о том, что графический процессор и центральные могут изменяться независимо друг от друга -- их развитие друг с другом ну никак не связано, и занимаются ими совершенно отдельные команды.

Речь ведь не о том, ИА-32 или нет. Вопрос можно сформулировать так: Использует ли БИОС (после POSTa) особенности набора команд или другой неэмулируемой логике конкретного чипа?

Мне кажется, что нет никакой гарантии что нет.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 21:47 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
То, что выполняется на ЦПУ, меняет состояние ЦПУ. Для него что обычная видюха, что интегрированная - все одно. Внешнее устройство, которому надо чего-то слать через порты или отображение памяти. Ну а делать "один опкод", который будет сравниваться по маске - можно конечно вбухать еще лям-другой транзисторов чисто ради отсутствия совместимости и лучшего разогрева камня без практической пользы, но не думаю, что Intel стали так делать.
Опять же, Windows работает стандартными дровами на всех интегрированных в проц видюшках.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 22 май 2012, 22:46 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Стандартный видеодрайвер винды (vga.sys) для вызова биоса дергает videoprt.sys!VideoPortInt10. В 32-битной версии эта функция вызывает ntoskrnl.exe!Ke386BiosCall, которая создает VDM и вызывает биос там (т.е. использует режим V86).

В 64-битной версии же все интереснее. Там VideoPortInt10 вызывает пять функций HAL с говорящими именами: x86BiosCall, x86BiosWriteMemory, x86BiosReadMemory, x86BiosAllocateBuffer и x86BiosFreeBuffer. Эти пять функций, похоже, являются интерфейсом к как раз таки программному эмулятору (он точно никуда не прыгает). Желающие могут его разобрать самостоятельно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 23 май 2012, 02:23 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
чесно говоря мне просто нужно запустить 2 команды LGDT, LIDT
но только так чтобы не отваливалась обновлялка.

может просто копернуть весь биосный код в свободное место и коперныть прерывания в новую IDT


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 23 май 2012, 05:31 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Ни IDT ни GDT не нужно для обновления. Оно реализовано в железе которое постоянно непрерывно читает из видео буфера и выводит данные на экран. Видео буфер находится в памяти видео карты.
И при переходи в защищённый режим он не отваливается, так как находится в видео карте а не в ЦП.

http://www.mcamafia.de/pdf/ibm_hitrc10.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 23 май 2012, 07:19 

Зарегистрирован: 10 апр 2012, 23:19
Сообщения: 277
pavia писал(а):
Ни IDT ни GDT не нужно для обновления. Оно реализовано в железе которое постоянно непрерывно читает из видео буфера и выводит данные на экран. Видео буфер находится в памяти видео карты.
И при переходи в защищённый режим он не отваливается, так как находится в видео карте а не в ЦП.

http://www.mcamafia.de/pdf/ibm_hitrc10.pdf

я вроди беру адрес VESA LFB и записываю туда картинку,
неужели такое в процессоре предусмотрено,
перенаправление адресов памяти процессора на адрес памяти другого устройства.

хотя спасибо запояснение теперь понятно что монитор всё равно будет показывать даже если установить GDT IDT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VESA отваливается что делать
СообщениеДобавлено: 23 май 2012, 08:01 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Цитата:
неужели такое в процессоре предусмотрено,
перенаправление адресов памяти процессора на адрес памяти другого устройства.

Можно и так сказать.

В самом простом варианте есть общая шина адреса и данных которая соединяет все устройства. И каждое устройство проверяет по маске относится диапазон адресов к нему или нет.
Код:
           ОЗУ
            |
ЦП   контроллер памяти      видео карта     сетевая карта
|           |                      |              |
+-----------+----------------------+--------------+---->

В современном исполнение ЦП и контроллер памяти упакованы в одни корпус микросхемы.

Единственное что в контроллер памяти несколько диапазонов, для совместимости. Это видео окна A0000-AFFFFF B0000-BFFFF.
ISA дыра 15-16МБайт (в большинстве систем отключена)
PCI дыра х0000000-FFFFFFFF (х0000000 не константа, а устанавливается Биосом при настройки)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

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


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

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


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

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