| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > разница 64x b 32x виндовсов а так же ядерность |
| Автор: Nattergoel 2.1.2009, 15:30 |
| здравствуйте, я купил себе компьютер на базе процессора turion 64 x2, ранее использовал обычный пентиум4, и посему не знаю, что лучше будет поставить на новый комп. посему, задаю несколько вопросов, надеюсь, вы мне поможете разобраться. Постараюсь задать как можно чётче. 1.1 что есть битность процессора? насколько я понимаю, процессор обрабатывает информацию пачками. в 32х битном процессоре инфа идёт по 32 бита, в 64х битном по 64. соответственно, и производительность выше. Так ли это? если не так, то - как? 1.2 что есть битность операционной системы? 1.2.1 как будет функционировать ОС и программы, если поставить 32битную ос на 64битный проц? 1.2.2 как будет функционировать ОС и программы, если поставить 64битную ос на 32битный проц? 1.2.3для 32битной ОС нужны 32битные программы, а для 64битной - 64битные, или необязательно? или это определяется процессором? 2.1 что есть распараллеливание процессов? это когда разные программы выполняются на разных процессорах? или ядрах? или как? в каких случаях это бывает и от чего это зависит - от процессора, ОС, или программы? 2.2 что есть распараллеливание потоков? это когда программу обрабатвыает сразу два процессора? или два ядра? в каких случаях это бывает и от чего это зависит - от процессора, ОС, или программы? 2.3 как связаны между собой понятия о многоядерности процессора, битности процессора и битности ОС? 3. в конце концов, какую конкретно windows лучше поставить на компьютер с процессором AMD Turion x64 2x 2,1Hhz? заранее извиняюсь, если похожие темы были, поиск мало чего конкретно дал.. а тут я задал конкретно интересующие меня вопросы в одну кучу. заранее спасибо. |
| Автор: mr.Anderson 2.1.2009, 15:48 |
| Постараюсь ответить в меру своих знаний. 1.1. Максимальное количество переданной за раз информации. У 64-х разрядных вдвое больше, соответственно, чем у 32-х. 1.2. На какую разрядность процессора рассчитаны механизмы управления памятью внутри ОС. 1.2.1. Как 32-х разрядная система. 1.2.2. Никак. Невозможно. 1.2.3. Лучше, чтобы были 64-х разрядные. 32-х разрядные тоже будут работать, но не будут использовать всех плюсов 64-х разрядной адресации. 2.1. Это есть выполнение программы в несколько потоков (параллельно), за счет чего подскакивает производительность (это как кирпичи кладет один строитель и много строителей разом). Это зависит и от процессора (должно быть несколько ядер либо технология Multi-Threading), и от ОС - она должна поддерживать многопоточное выполнение (боюсь соврать, но системы Windows с момента выхода XР уже это поддерживают), и, разумеется, от программы (она должна этот метод реализовывать). 2.2. Тот же самый вопрос, уже ответил. 3. Либо WinVista 64, либо WinXP 64, но лучше, имхо, все-таки Виста, т.к. ее я уже пробовал, а вот XP 64 - нет и за нее не ручаюсь. Да и найти ее сложно. Надеюсь, помог. |
| Автор: kemiisto 2.1.2009, 16:00 |
| mr.Anderson, только я бы всё же советовал ставить обычные 32-х битные ОС. Рано или поздно наступит момент, когда под 64-х битные систему не найдётся нужной софтины или драйвера какого-либо переферийного устройства (а 32- битная версия откажется работать). Будет много гемороя, а выгоды от использования 64-битных ОС не так уж очевидны. |
| Автор: Nattergoel 2.1.2009, 16:09 |
| Замечательно. Огромное спасибо за адекватный попунктный ответ, mr.Anderson. разрешите немного дополнить вопрос 1.2.3: как будут функционировать на 32битной ос 64битные программы и как будут функционировать на 64битной ос 32битные программы? спрашиваю потому, что, если ставить 64битную ос, то и программы должны быть видимо, соответствующие. на моей машине при покупке стояла 32битная vista home basic (непонятно почему.) я её стёр и поставил 64разрядную (в локалке много всякого добра, не так сложно найти.) процентов 70 от дров и программ, которые шли в комплекте(предназначенном для ХР), работать на ней не захотели. на 32х разрядной заработали ВСЕ. вот и непонятка.. и ещё один вопрос, если можно: 2.3 в чём будет отличие функционирования ОС и программ в двух системах, если в первом случае у нас двухъядерный проц, а во втором - два проца на одной мамке (одноядерных)? kemiisto, а в чём неочевидность преимущества 64битных систем, ну , кроме того что под них может ненайтись софтины ? (кстати, я так понимаю из вашего поста, под 64битные ос только такие проги и нужны, все обычные не пойдут?) |
| Автор: mr.Anderson 2.1.2009, 17:17 |
| kemiisto, оно так, с дровами пока есть проблемы, но это скорее связано с глупостями в Vista, чем с реальной проблемой работоспособности, тем более сейчас все нормальные компании давно уже выпустили для всех своих устройств нормальные 64-х разрядные драйвера. Nattergoel, я уже говорил, что ничто 64-битное на 32-х битном не попрет. ОС точно не пойдет, а вот программы либо будут работать с глюками, либо вообще не будут, тут уже сказать сложно. Вообще, лучше, чтобы были на 64-х разрядной оси программы, использующие именно такую адресацию, но если они будут 32-х разрядными, то ничего криминального в этом нет, они просто не будут использовать всех преимуществ этого режима, и все. По разнице между двумя ядрами и двумя процами - первое все же оптимальней (скорость передачи данных внутри процессора и между двумя процессорами явно отличается), но у второго режима есть другое преимущество - каждый из процессоров имеет собственную кэш-память, которой, соответственно, становится для общей работы системы как бы вдвое больше. Вообще, это просто два разных способа реализации многопотокового выполнения программ, каждый имеет свои преимущества и недостатки, у первого режима (один проц, два ядра) - это высокая скорость передачи данных на уровне частоты процессора, распределение выполнения потоков на два ядра, но одна кэш-память на оба ядра. Получаем высокую скорость и ограниченность по внутренней памяти. Второй режим - два процессора по одному ядру, значительно снижена скорость передачи данных между процессорами, но вдвое больше кэш-память. Получаем то же распределение работы программы в многопотоковом режиме на два процессора, но в разделенном режиме, отсюда сниженная скорость, но в то же время удвоенная память. Неочевидность - это, в принципе, верное утверждение, постольку поскольку сейчас приложений, реально использующих все возможности 64-х разрядной адресации, мягко говоря, мало. На самом деле абсолютное большинство программных продуктов работают либо по 32-х разрядному режиму, либо используют 64 разряда, но далеко не на полную силу, отсюда и неочевидность преимуществ этой адресации, она просто не используются. Хотя на следующих операционках (и на некоторых линуксовых, к примеру, на той же Ubuntu 8.10) 32-х и 64-х разрядные операционные системы сильно отличаются по производительности (внутри самой системы, к программам это мало относится). |
| Автор: mr.Anderson 3.1.2009, 17:02 |
| Помогло ли? |
| Автор: Nattergoel 3.1.2009, 18:53 |
| да, mr.Anderson , помогло. Большое спасибо. Значит можно, но нет смысла на 64битный проц ставить 32битную операционку. висту не люблю - много жрёт и некоторые нужные мне программы работают на ней некорректно. Значит, надо попробовать ХР 64битную нарыть нормальную поставить. Если даже большинство программ -32битные, при наличии нормальных дров и работоспособности нужных мне программ (пусть и 32битных) - хуже не будет. Интересно посмотреть, а то авось ещё и игры буду гонять, им наверное поможет. А глядишь и софт какой подвернётся... убунту вот поставил, 8.10 64х, но пока не пользовался. как с убунтой то кстати? там проги поддерживают 64битный режим или как? много прог таких? ========== есть, кстати, интересные статьи на википедии: http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C хотелось бы, как-нибудь именно с этой стороны понять принцип действия многоядерных процессоров. Они обеспечивают многопоточность или многозадачность? т.е. одна программа выполняется сразу несколькими ядрами или две программы могут обрабатываться на двух разных ядрах? |
| Автор: Nattergoel 4.1.2009, 09:25 | ||||
skyboy, спасибо за ответ.
вы не могли бы назвать такие ос и такие программы? какие виндовс сюда входят - все или только 64битные? кстати, очень интересная штука. На асусовском компе, который я купил, наверное, не зря стояла операционка 32битная. на их офсайте нет дров для 64битных операционок. зачем же тогда они продают компы когда дров нету? вот, сволочи. толку теперь от ихнего 64битного проца... |
| Автор: skyboy 4.1.2009, 10:44 | ||
эээ... MS WIndows не единственная ОС, сам же убунту вспоминал, разве нет? кстати, насчет многопоточности уже говорил mr.Anderson. павда, я вот не понял насчет того, что
мі сейчас говорим о " тех самых" потоках, когда программист при проектировании создает возможность распараллеливания выполнения? или о чем-то другом? |
| Автор: Nattergoel 4.1.2009, 11:23 | ||
ну, это-то да, я про винду имел ввиду. у интела и то, хоть какие-никакие дрова на офсайте есть для 64х винд. |
| Автор: Lazin 4.1.2009, 13:42 |
| ну и налили вы тут воды, все проще, если вы будете использовать программы, которым может потребоваться больше 2х Гб памяти, то нужна 64х разрядная ОС и соответствующий процессор, если вы будете использовать приложения, которые могут использовать несколько ядер, то вам нужен много-ядерный процессор если автор не знает зачем ему несколько ядер либо архитектура ia-64, то скорее всего ему это не нужно |
| Автор: Nattergoel 4.1.2009, 15:32 |
| автор пытается узнать, зачем это нужно и определить, нужно ли это ему. |
| Автор: mr.Anderson 4.1.2009, 20:11 |
| Lazin, думаем, что говорим. Если вопрос задан, то нужно либо отвечать, либо молчать, а не обсуждать, зачем вопрос был задан и надо ли было его задавать. Nattergoel, компы продают такие, чтобы покупали. Если магазин будет сидеть на компах 32 разряда, когда повсюду 64, то никто в магазин больше не зайдет. Мало кто вот так тщательно разбирается, а надо ли оно. Большинство просто услышали, что 64 это как бы круче, чем 32, и пошли их искать, на 32 никто и не взглянет. Чистая маркетинговая логика. А дров нет - это уже с точки зрения магазина дело десятое. Добавлено через 2 минуты и 18 секунд ЗЫ а насчет толка от проца - то, что там стоит по умолчанию ОС 32 разряда, это ни о чем не говорит, находим лицензионную винду 64 разряда (XP или Виста, или ждем Seven), ну и ставим ее. И толк будет. А лучше вообще Ubuntu 8.10 туда закатать для 64-х разрядных платформ (если, конечно, юзанье линуха не будет для тебя трудным, для меня вот трудно было). |
| Автор: Nattergoel 5.1.2009, 17:21 |
| mr.Anderson, я вот туда и закатал именно ту самую убунту 64х. Да, не особо пока научился с ней, есть некоторые трудности. Но, собственно, за тем и поставил, чтобы разбираться. Кстати, я не понял, влияет ли количество ядер на софт? специальные программы для этого и специальные ос, или все программы могут работать с любым количеством ядер? вот с битностью я вроде разобрался - нужен специальный софт. Вот, вы, mr.Anderson, сказали, что выполнение программы в несколько потоков зависит и от проца и от ОС и от самой программы. А как собственно узнать то, поддерживает ли программа реализацию работы в несколько потоков? С вопросом про битность более-менее всё понятно. Например, 3dsmax при установке, кажется, спрашивать какой ставить 64битный или 32х; в инете нечасто, но можно встретить сайты типа "всё для 64х" а вот по поводу поддержки многопоточной работы чёто я нигде не встречал. так что есть ли смысл брыть вообще 2ядерники, 4ядерники (говоря отстранённо от битности) ? |
| Автор: mr.Anderson 5.1.2009, 19:49 |
| Объясняю еще раз, количество ядер/процессоров влияет на скорость выполнение программы только тогда, когда в самой софтине прописано использование нескольких ядер при их наличии. Поэтому нет, не на весь софт повлияет количество ядер. Далеко не на весь. Насчет реализации многопоточности внутри программы - я лично нигде этого не встречал, подобные характеристики относятся к разряду технических деталей и обычно в описаниях программ не указываются. Единственное что можно сказать - это то, что мощные программные продукты, тот же, скажем, Sony Vegas, наверняка Photoshop, 3D Max должны по идее использовать все эти возможности, поскольку работа с ними требует очень серьезных вычислительных ресурсов. Но это только моя логика. Смысл брать есть, если у тебя есть необходимость использования нескольких ядер, а-ля ты работаешь с вышеперечисленными программами (обработка видео, графики, особенно трехмерной, звука). Плюс, если ты геймер, то для игр количество ядер играет существенную роль, так как все современные игры рассчитаны на использование вычислительной мощности всех имеющихся ядер. При хорошей оптимизированности прирост производительности в играх будет 1.5-1.7. А четырехядерники сейчас, имхо, имеет смысл брать только "на вырост". |
| Автор: skyboy 5.1.2009, 20:46 | ||
как-то считал постоянно, что рапределяет потоки между процессорами/ядрами тот же, кто переключает контекст и управляет процессами - т.е. менеджер в ОС. возлагать обязанность низкоуровневой работы с железом на программу при наличии driver-based многоуровневой системы для работы с железом - как-то странно было бы. в чем я ошибаюсь? |
| Автор: Nattergoel 6.1.2009, 14:37 |
| Так я чёто не понял - если виндовс XP была написана до двух- и более ядерных процессоров, то как же она понимает, что надо распараллеливть потоки и процессы?.. вот, интереса ради, поставил я игрушку 2002 года выпуска - "сибирь". Кажется, тогда ещё небыло ничего двухъядерного. но как так получается, что на виндовс ХР при запуске игры в диспетчере задач видно, что оба ядра начинают грузиться? Если в игрушке аткой давности, скорее всего, нет никакого многопоточного разделения? может, это от чего-то другого зависит? может, действительно, это разделение на потоки от винды зависит? |
| Автор: Rrader 6.1.2009, 15:45 | ||||||
Windows и более младших версий, нежели XP, умели определять количество процессоров (ядер).
Насчет распараллеливания - можно обратиться к великой книге:
То есть по умолчанию любой поток может выполняться на любом процессоре - это дело планировщика (scheduler). Этот алгоритм не особо документирован и не всегда эффективен. Афинные маски - средство, позволяющее построить эффективный код (силами программиста |
| Автор: Nattergoel 6.1.2009, 19:26 |
| Спасибо, Rrader. Так значит, windows сама абсолютно любые приложения распределяет по ядрам(процессорам), а программист может оптимизировать конкретно своё приложение, чтобы оно одно выполнялось двумя ядрами? |
| Автор: mr.Anderson 6.1.2009, 19:55 |
| Nattergoel, правильно. |
| Автор: Nattergoel 6.1.2009, 20:36 |
| значит, в любом случае пользователь выигрывает от увеличения количества ядер я, кажется, разобрался как нельзя лучше. Всем огромное спасибо! |
| Автор: Rrader 7.1.2009, 08:13 | ||||||
Верно. Есть специальный алгоритм, по которому осуществялется автопривязка потока к процессору. Можно почитать в книге Inside Microsoft Windows 2000.
Не совсем верно. Идея оптимизации на многопроцессорных (многоядерных) системах - не совсем простая штука В WinXP на уровне ядра поток имеет контрольный блок TCB (KTHREAD). В нем содержатся номера двух процессоров:
Вот представим случай (двухядерная система), в программе пять потоков, причем 4 из них по важности своей работы и рядом не стоят с первым
Падение производительности может случиться, если процессоры будут использовать память не на своей плате, но это случается редко, и имхо не на домашних компьютерах |
| Автор: Lazin 7.1.2009, 20:05 | ||||
я ответил на вопрос, мне кажется топик стартеру не нужны технические детали, а нужно узнать, что дает многоядерность и 64х битная архитектура с точки зрения пользователя:
К первому своему посту я могу добавить, что в 64х битной версии windows придется использовать в основном 32х битные программы, так как их авторам влом портировать код на другую архитектуру. Так-же 64х битная ос будет использовать больше памяти, но не на много. Но рано или поздно 32х разрядные ОС будут вытеснены с десктопов, это произойдет тогда, когда на средний домашний компьютер будут устанавливать больше 4Гб оперативной памяти. Fin |
| Автор: mihanik 7.1.2009, 21:34 |
| Не забываем, что XP понимает МАКСИМУМ два проца/ядра !!! |
| Автор: Lazin 7.1.2009, 22:43 |
XP Home |
| Автор: mihanik 7.1.2009, 23:01 |
| Я настаиваю на своих словах. http://support.microsoft.com/kb/888732 |
| Автор: Lazin 7.1.2009, 23:14 |
| mihanik, XP Home может использовать один, а XP Professional два физических процессора, а каждый физический процессор может иметь несколько ядер а так-же поддерживать HT. XP Home может прекрасно работать с двух или черырех ядерным процессором, а Professional даже с двумя, для домашней системы 2 процессора это редкость, так-что это все справедливо только отчасти. |
| Автор: mihanik 7.1.2009, 23:17 |
| А как быть с тем, что ОДИН двухъядерный процессор рассматривается системой как два различных процессора? Lazin, хочу ссылку на авторитетный источник. |
| Автор: Lazin 7.1.2009, 23:31 |
| вот ссылка: http://www.microsoft.com/licensing/highlights/multicore.mspx |
| Автор: mihanik 7.1.2009, 23:44 | ||||
Имеешь в виду
В вольном переводе что-то типа
Убедил. За это +1 |
| Автор: kravazp 23.1.2009, 00:26 |
| Здравствуйте , я почти никогда не пользовался форумами ,но возникла проблемка ,а ваш форум мне очень понравился ,отличный интерфейс ,удобность, мгновенные ответы и т. д очень привлекают ,отличный форум !!! Не могли бы вы ответить на вопрос ,как поставить 32 разрядный windows на 64x процессор естественно , если же это возможно ,дело в том что на 64x windows не идет половина софта , а при установке 32 windows ,он говорит о несовместимости ,и выдает ошибку.Пожалуйста подскажите , заранее спасибо . |
| Автор: kemiisto 23.1.2009, 00:40 |
Очень просто - взять диск, вставить в CD-ROM, следовать инструкции. Нет никакой разници на какой процессор Вы будете ставить 32-битную ОС - на 32- или 64-разрядный. Всё абсолютно одинаково. |
| Автор: kravazp 23.1.2009, 00:45 | ||
Я так и думал ,но он выдает ошипку и отказывается устанавливать !!!!!! |
| Автор: Severyanin 23.1.2009, 06:12 |
| А какую именно ошибку он выдает? |
| Автор: orthrus 23.1.2009, 09:10 | ||
Nattergoel, выполнение программы в несколько потоков зависит зависит только от ОС и от самой программы.
Спросить у разработчиков этой программы есть, любые современные программы работают с потоками (если конечно разработчик об этом позаботился), а вот на сколько оптимально они (потоки) будут распределятся на n ядрах процессора это напрямую зависит от ОС |
| Автор: CompWorm 23.1.2009, 18:50 |
| ага, думаю, как минимум, 4 запущенные однопоточные программы будут работать лучше на 4х ядерном проце, чем на одноядерном у меня вот какой вопрос... если у меня на проце х64 будет стоять Убунта х64, а на ней в эмуляторе - виндос... есть ли разница какой он разрядности? то есть будет выигрыш, от того что в вмваре или виртуалбоксе 64разрядная виндос на х64 проце? дело в том, что виндус последнее время я вынужден использовать для 2-3 приложений - атокад, выжал-студия и игрушка какя-нибудь... в остальном винда не нужна... |
| Автор: kemiisto 23.1.2009, 18:58 | ||
Теоретически - да. |
| Автор: Diplomnic 31.10.2010, 09:35 | ||||
Верно ли я понимаю, что имеет смысл устанавливать на виртуалбоксе виндоус х64, только если ОЗУ более 6Гб (т.е. 2Гб на хост ос, 4 Гб на гостевую)? Виртуал бокс позволяет запускать гостевую ос в хост ос, ксен - загружать гостевую ос отдельно от хост системы (т.е. передавать все ресурсы гостевой системе без затрат ресурсов на хост систему). Верно ли утверждение? |
| Автор: mihanik 31.10.2010, 12:17 |
| Diplomnic, 1. Не занимайся архиологией! 2. Задай свой вопрос в отдельном топике. |
| Автор: sergey6288 12.11.2010, 17:02 |
| смысл ядерности и битности довольно просто на современном компьютере лучше использовать последние версии windows на вашем это win7, из-за того что лучше будет совместимость аппаратного и программного обеспечения т.к. разработчики того и другого тесно между собой сотрудничают |
| Автор: mihanik 12.11.2010, 18:08 |
| Археолог? |