Войти

Показать полную графическую версию : 2 видеокарты по 2 гига в 32-битной ОС


NiOl
12-11-2009, 16:36
Многие прекрасно понимают, что если стоит 32-битная винда, то при установке в машину 4 гиг, свободной памяти будет гораздо меньше - из общего адресного пространства вычитается BIOS, а также RAM и ROM различных контроллеров, но главное - оперативка видеоадаптера...

... и тут один знакомый задает вопрос, который поставил меня в тупик - что будет если воткнуть 2 видюшки по 2 гига - винда не сможет стартовать или обрежется видеопамять?!!

Прошу выссказываться... :gulp:

BLOOD RAPTOR
12-11-2009, 16:44
надо учесть то что видяха не озу, т.е.
видяхи не обобщаются в режиме sli & crossfire. у каждой видяхи будет по 2 гб и система не будет определять одну 4гбайтовую видяху

sanek_freeman
12-11-2009, 17:01
NiOl, как уже сказал BLOOD RAPTOR, ОС запустится и будет видеть две видеокарты по 2Гб каждая.

Coutty
12-11-2009, 18:16
А я вот не уверен, что будет работать. Вопрос, конечно, интересный (но только для теории :)). Думаю, надо попросить кого-нибудь из тестеров или работников комп.салонов проверить. Есть знакомые?:)

sanek_freeman
12-11-2009, 19:03
А я вот не уверен, что будет работать. »
Хм, разве в Windows есть ограничение на объем видеопамяти?

Coutty
12-11-2009, 20:13
sanek_freeman,
если стоит 32-битная винда, то при установке в машину 4 гиг, свободной памяти будет гораздо меньше - из общего адресного пространства вычитается BIOS, а также RAM и ROM различных контроллеров, но главное - оперативка видеоадаптера... »

sanek_freeman
12-11-2009, 20:41
если стоит 32-битная винда, то при установке в машину 4 гиг, свободной памяти будет гораздо меньше - из общего адресного пространства вычитается BIOS, а также RAM и ROM различных контроллеров, но главное - оперативка видеоадаптера... »
Хм, и что это доказывает? С каких это пор видеопамять отдельной(-ых) видеокарт(-ы) и оперативная память связаны? "Просветите" меня кто-нибудь...

CyberDaemon
12-11-2009, 22:13
sanek_freeman, очевидно предполагается, что для двух двухгиговых видеокарт система попытается выделить адресного пространства на 4 гигабайта, и ей не останется адресов для собственного ОЗУ. Только кто сказал, что ОС будет выделять адреса сразу на всю память, а не ограничится окном?

P.S. У меня для видеокарты со 128 мегабайтами памяти ОС выделила адресного пространства в общей сложности на 256Мб + 64Кб + 128Кб + 256Мб + 64Кб. Ну и о чем это говорит? Да ни о чем :)

SanCho
12-11-2009, 22:13
Тут стоит задаться вопросом почему не видит х32 выше 3х гигов? Потому как когда-то при создании 32битных CPU и ОС никто не думал о таких объёмах памяти и поэтому адресное пространство всех контроллеров и устройств было вынесено за пределы чуть более 3-ёх гигов и поэтому в зависимости от набора компонентов ПК разные пользователи видят разное количество памяти от 3 до 3.25 гига в 32-битных ОС. Причины кроме описанных выше были и другие, не будем заострять внимание, НО видеопамять никак не привязана к архитектуре х32, а лишь к контроллеру памяти видеокарты - а он 128-ми битный минимум на сегодня и сколько он может видеть - это его дело. Поэтому одна видеокарта может иметь памяти 4гб и выше и в 32битной системе, но в режиме SLI все текстуры дублируются в памяти обеих видеокарт и из 2х2гб полезных мы получаем всё равно 2гб видеопамяти.

Coutty
13-11-2009, 03:57
SanCho, а если не в SLI/CF? Может, стоят две одночиповые видеокарты с 2 ГБ памяти на каждой. Одна видеокарта занимается рендером, а другая - физикой. Либо пользователь хочет мультимониторную конфигурацию именно на таких карточках без SLI/CF. Тогда дублирования не будет.
Это чисто теоретиеский интерес)
Только кто сказал, что ОС будет выделять адреса сразу на всю память, а не ограничится окном? »
Вот и интересно, урежется видео- или системная память. И насколько.

Ment69
13-11-2009, 05:10
Coutty, Да не урежется она :) видеопамять используется GPU и к системной памяти, которая урезается в зависимости от кол-ва, установленных устройств на системной плате, не имеет отношения. Сегодня 2 гигабайта видеопамяти являются чисто маркетинговым ходом и всем современным играм не требуется объема, превышающего 1 ГБ.

Coutty
13-11-2009, 17:49
Ment69, т.е. 32-битная ОС имеет как минимум два 32-битных адресных пространства? Не GPU ведь распределяет ресурсы видеопамяти, а ОС на основании приложений, договоров драйверов и прочих DX'ов.
Сегодня 2 гигабайта видеопамяти являются чисто маркетинговым ходом и всем современным играм не требуется объема, превышающего 1 ГБ. »
Не спорю) Но это уже другой вопрос.

SanCho
13-11-2009, 20:05
Не GPU ведь распределяет ресурсы видеопамяти »
Как же... GPU и его контролер памяти - он для этого там и есть. А для обмена данными выделяется "окно" адресов. Ну что вы в самом деле? Давайте тогда и винты привяжем к адресному пространству, адресуемого в ОС и что? Тогда винты у нас были бы по 4гб:). Ещё раз: не путайте адресное пространство по которому ОС получает и запрашивает данные от видеокарты и адресное пространство из которого контроллер памяти видеокарты выбирает нужные данные и адресует их в "окно" для передачи.
Вот и интересно, урежется видео- или системная память. И насколько. »
При установке второй видеокарты, как и любого другого устройства пользователь с 4гб оперативки и 32бит ОС получит ещё большее уменьшение доступной ОЗУ. На сколько - зависит от того, какие адреса и сколько займёт устройство для общения с ОС и другими устройствами.

Coutty
13-11-2009, 21:31
Да не понять эти шайтан-машины :unsure: Вроде всё логично - должны быть окна, через которые они общаются... Жёсткие диски большого объёма... А что тогда мешает общаться со "сверхверхней" оперативной памятью через окно?
Почему PAE не реализовано так легко, как доступ к жёсткому диску? Пусть бы было 3 ГБ "верхней" ОЗУ и сколько угодно "сверх"-ОЗУ, доступ с которой чуть медленнее, так ведь нет, замедляется вся система от "нулевого гигабайта".

Опять же - к жёсткому диску система как обращается, откуда адрес узнаёт? Из файловой таблицы, наверное.
А как тогда узнать адрес элементов в ОЗУ видеокарты? Неужели и для них некая "текстурно-шейдерная" таблица существует?

Это всё риторические вопросы :) Я подозреваю, что многое мне неизвестно, но в этом мне разбираться хочется всё меньше и меньше...

P.S. Разве контроллер памяти в GPU 128(и выше)-битный? Это ж ширина шины памяти всего лишь. Вряд ли имеет смысл "Хабблом" гвозди заколачивать (это я про 128-битный контроллер памяти при объёме в каких-то жалких 2-4 ГБ). Впрочем, не суть.

SanCho
13-11-2009, 22:00
P.S. Разве контроллер памяти в GPU 128(и выше)-битный? Это ж ширина шины памяти всего лишь. Вряд ли имеет смысл "Хабблом" гвозди заколачивать (это я про 128-битный контроллер памяти при объёме в каких-то жалких 2-4 ГБ). Впрочем, не суть. »
Ширина шины памяти и есть разрядность её контролера. Смысл разрядности контроллера не только в адресации, но и в том, сколько бит данных может быть записано, считано за такт с учётом технологий экономии полосы пропускания. Если эти технологии вычеркнуть, то умножив количество тактов в секунду (герц, мегагерц, гигагерц) на битность контролера и удвоив результат для DDR/2/3 получим полосу пропускания памяти на секунду в битах/8=байты/1000=кбайты/1000= в_мегабайтах. А чем она больше, тем быстрее карта.

Но смысл ещё в том, что любое действие (даже по записи/чтению 1 бита) займёт весь контроллер на такт, а ситуаций когда записывается блок, не_кратный/не_равный разрядности контролера памяти масса. И издавна (GeForce 3) контролер памяти на видеокартах делится на на несколько независимых перекрёстных контролера - 128=4х32битных контролера, которые в зависимости от потребностей работают вместе или раздельно и в каждый такт некоторые из них могут писать, а другие - читать. Т.е. в то время как один блок в 64бита например читается 2-мя контролерами, 2 блока по 32бита могут быть записаны и всё за один такт - это и есть экономия полосы пропускания. Вот для этого и нужна "высокая битность" контролера памяти видеокарты.

Сейчас всё гораздо сложнее, но примерно как-то так... Проще не могу.

Вот (http://blogs.technet.com/mark_russinovich/archive/2008/07/21/3151288.aspx) нужно бы почитать. Самая важная часть:
В ходе тестирования выяснилось, что многие системы аварийно завершают работу, зависают и отказываются загружаться. Происходит это из-за того, что некоторые драйверы устройств, в особенности аудио- и видеоустройств, которые, в основном, встречаются в клиентских системах, а не в серверах, запрограммированы на работу с физическими адресами в пределах 4 ГБ. Эти драйверы, оказываются, обрубают адреса свыше 4 ГБ, что приводит к повреждению содержимого памяти со всеми вытекающими последствиями. В серверных же системах, которые, как правило, оснащаются менее специфичными устройствами с относительно простыми и надежными драйверами, подобные проблемы обнаружены не были. Выявленные недостатки экосистемы драйверов заставили применительно к клиентским версиям ОС отказаться от работы с памятью в объеме свыше 4 ГБ, несмотря на то, что теоретически её адресация возможна.


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

CyberDaemon
13-11-2009, 22:39
Потому как когда-то при создании 32битных CPU и ОС никто не думал о таких объёмах памяти »
"640 K ought to be enough for anybody" :lol:

SanCho
13-11-2009, 22:42
.. скоро поменяют слоган на "4GB ought to be enough for anybody" :biggrin:

detrin
13-11-2009, 22:47
НО видеопамять никак не привязана к архитектуре х32, а лишь к контроллеру памяти видеокарты - а он 128-ми битный минимум на сегодня и сколько он может видеть - это его дело. Поэтому одна видеокарта может иметь памяти 4гб и выше и в 32битной системе »
Хм, поправьте если я неправ, но мне кажется вы путаете возможности железа и ОС. Может стоять процессор поддерживающий 64бита и соответственно оперативки свыше 4Гб, но 32битная ОС просто не даст таких преимуществ. И если аналогично рассуждать, контроллер памяти GPU может поддерживать память свыше 4Гб, но не будет ли 32 битная ОС урезать ее??? Вот в чем вопрос.

SanCho
13-11-2009, 23:55
detrin, да, так... Скажем так: "железно" память определяется в полном объёме. Но ввиду того, что "см. цитату из статьи выше" в ОС отрубили возможность видеть эту память и пользователю доступно урезанное пространство памяти, т.к. это было связано с некорректной работой драйверов и устройств с памятью выше 3.5-4гб. Т.е. железные возможности подрезали возможностями ОС, программно для увеличения стабильности. Видеокарты это никак не касается - она работает как ей надо, просто выдавая данные в "окно", которое адресует ОС в заданном устройству диапазоне где-то ~3.15 до 4гб.
И если аналогично рассуждать »
То контролеру памяти видеокарты ничего не мешает "железно" адресовать нужные ему адреса сколько угодно - и разрядность GPU, как процессора уже давно перевалила за все мыслимые "биты" и контроллер ему под стать и ему не надо выделять где-то, кому-то окна в каких-то там диапазонах - он один единовластный хозяин всего пространства. Почитайте статью, многое станет понятно.

izakiel
18-11-2009, 04:56
вообще тут с памятью (насколько я знаю) работа будет идти через драйвера... и что что ось на 32 - их не волнует, если они способны работать в кросфайре с 2 видеокартами по 2 гига, то (мое мнение) будут использоваться все 4 гигабайта.... правда проверить не получится на данный момент (как говорили выше - игры не требуют столько).




© OSzone.net 2001-2012