მრავალბირთვიანი პროცესორები: მეტი ყოველთვის უკეთესია?

Სარჩევი:

მრავალბირთვიანი პროცესორები: მეტი ყოველთვის უკეთესია?
მრავალბირთვიანი პროცესორები: მეტი ყოველთვის უკეთესია?
Anonim

ერთ პროცესორზე რამდენიმე ბირთვის დამატება მნიშვნელოვან სარგებელს გვთავაზობს თანამედროვე ოპერაციული სისტემების მრავალფუნქციური ხასიათის წყალობით. თუმცა, ზოგიერთი მიზნისთვის, არსებობს ზედა პრაქტიკული ზღვარი, თუ რამდენი ბირთვი იძლევა გაუმჯობესებას მათი დამატების ღირებულებასთან შედარებით.

მულტიბირთვიანი ტექნოლოგიების მიღწევები

Image
Image

მრავალბირთვიანი პროცესორები ხელმისაწვდომია პერსონალურ კომპიუტერებში 2000-იანი წლების დასაწყისიდან. მრავალბირთვიანი კონსტრუქციები ეხებოდა პროცესორების ფიზიკურ შეზღუდვებს ჭერის დარტყმის პრობლემას მათი საათის სიჩქარის თვალსაზრისით და რამდენად ეფექტურად შეიძლებოდა მათი გაგრილება და სიზუსტის შენარჩუნება.ერთი პროცესორის ჩიპზე დამატებით ბირთვებზე გადასვლით, მწარმოებლები თავიდან აიცილეს პრობლემები საათის სიჩქარესთან დაკავშირებით, ეფექტურად ამრავლებდნენ მონაცემების რაოდენობას, რომელსაც შეეძლო CPU-ს დამუშავება.

როდესაც ისინი თავდაპირველად გამოვიდა, მწარმოებლები სთავაზობდნენ მხოლოდ ორ ბირთვს ერთ CPU-ში, მაგრამ ახლა არის ვარიანტები ოთხი, ექვსი და თუნდაც 10 ან მეტი. ბირთვების დამატების გარდა, ერთდროულმა მრავალნაკადმა ტექნოლოგიებმა, როგორიცაა Intel-ის Hyper-Threading, შეიძლება გააორმაგოს ვირტუალური ბირთვები, რომლებსაც ოპერაციული სისტემა ხედავს.

პროცესები და ძაფები

პროცესი არის კონკრეტული ამოცანა, როგორც პროგრამა, რომელიც მუშაობს კომპიუტერზე. პროცესი შედგება ერთი ან მეტი ძაფისგან.

თემა არის უბრალოდ მონაცემთა ერთი ნაკადი პროგრამისგან, რომელიც გადის კომპიუტერის პროცესორზე. თითოეული აპლიკაცია ქმნის საკუთარ ერთ ან ბევრ თემას, იმისდა მიხედვით, თუ როგორ მუშაობს იგი. მრავალბირთვიანი პროცესორის გარეშე, ერთბირთვიანი პროცესორი ერთდროულად ახერხებს მხოლოდ ერთ ძაფს, ამიტომ სისტემა სწრაფად გადადის ძაფებს შორის, რათა დაამუშავოს მონაცემები ერთი შეხედვით ერთდროულად.

ბევრი ბირთვის არსებობის უპირატესობა ის არის, რომ სისტემას შეუძლია ერთდროულად ერთზე მეტი ძაფების მართვა. თითოეულ ბირთვს შეუძლია გაუმკლავდეს მონაცემთა ცალკეულ ნაკადს. ეს არქიტექტურა მნიშვნელოვნად ზრდის სისტემის მუშაობას, რომელიც მუშაობს ერთდროულად აპლიკაციებზე. იმის გამო, რომ სერვერები მიდრეკილნი არიან ერთდროულად აწარმოონ მრავალი ერთდროული აპლიკაცია, ეს ტექნოლოგია თავდაპირველად შემუშავებული იყო საწარმოს მომხმარებლისთვის - მაგრამ რაც უფრო რთული გახდა პერსონალური კომპიუტერები და გაიზარდა მრავალფუნქციური სამუშაოები, მათ ასევე ისარგებლეს დამატებითი ბირთვების არსებობით.

თუმცა, ყველა პროცესი იმართება პირველადი ძაფით, რომელსაც შეუძლია დაიკავოს მხოლოდ ერთი ბირთვი. ამრიგად, პროგრამის ფარდობითი სიჩქარე, როგორიცაა თამაში ან ვიდეო რენდერი, შეზღუდულია იმ ბირთვის შესაძლებლობით, რომელსაც მოიხმარს პირველადი ძაფი. პირველად ძაფს შეუძლია მეორადი ძაფების დელეგირება სხვა ბირთვებზე - მაგრამ თამაში არ ხდება ორჯერ უფრო სწრაფი, როდესაც ბირთვებს გააორმაგებთ. ამგვარად, უჩვეულო არ არის, რომ თამაშმა სრულად დაამაქსიროს ერთი ბირთვი (პირველადი ძაფები), მაგრამ დაინახოს სხვა ბირთვების მხოლოდ ნაწილობრივი გამოყენება მეორადი ძაფებისთვის.ბირთვის გაორმაგება არ ეხება იმ ფაქტს, რომ პირველადი ბირთვი არის თქვენი აპლიკაციის სიჩქარის შემზღუდველი და აპები, რომლებიც მგრძნობიარეა ამ არქიტექტურის მიმართ, უკეთესად იმუშავებენ, ვიდრე აპები, რომლებიც არ არიან.

პროგრამული დამოკიდებულება

მიუხედავად იმისა, რომ მრავალბირთვიანი პროცესორების კონცეფცია მიმზიდველად ჟღერს, ამ ტექნოლოგიას აქვს მნიშვნელოვანი გაფრთხილება. მრავალი პროცესორის ჭეშმარიტი სარგებლობისთვის, კომპიუტერზე გაშვებული პროგრამული უზრუნველყოფა უნდა იყოს დაწერილი, რათა მხარდაჭერილი იყოს მრავალსართულიანი. ამ ფუნქციის მხარდაჭერის პროგრამული უზრუნველყოფის გარეშე, ძაფები ძირითადად ერთი ბირთვით გაივლება, რაც ამცირებს კომპიუტერის მთლიან ეფექტურობას. ბოლოს და ბოლოს, თუ ოთხბირთვიან პროცესორში მხოლოდ ერთ ბირთვზე მუშაობს, შეიძლება რეალურად უფრო სწრაფი იყოს მისი გაშვება ორბირთვიან პროცესორზე უფრო მაღალი ბაზის საათის სიჩქარით.

ყველა ძირითადი ამჟამინდელი ოპერაციული სისტემა მხარს უჭერს მრავალძაფის შესაძლებლობას. მაგრამ მრავალსართულიანი ასევე უნდა იყოს ჩაწერილი აპლიკაციის პროგრამაში.სამომხმარებლო პროგრამულ უზრუნველყოფაში მრავალნაკადის მხარდაჭერა გაუმჯობესდა წლების განმავლობაში, მაგრამ მრავალი მარტივი პროგრამისთვის, მულტირედის მხარდაჭერა ჯერ კიდევ არ არის დანერგილი პროგრამული უზრუნველყოფის აგების სირთულის გამო. მაგალითად, ფოსტის პროგრამას ან ვებ ბრაუზერს არ აქვს ისეთი დიდი სარგებლობა, როგორც გრაფიკული ან ვიდეო რედაქტირების პროგრამა, სადაც კომპიუტერი ამუშავებს რთულ გამოთვლებს.

ამ ტენდენციის ასახსნელად კარგი მაგალითია ტიპიური კომპიუტერული თამაშის ნახვა. თამაშების უმეტესობას სჭირდება რენდერის ძრავის რაიმე ფორმა, რათა აჩვენოს რა ხდება თამაშში. გარდა ამისა, გარკვეული სახის ხელოვნური ინტელექტი აკონტროლებს თამაშის მოვლენებსა და პერსონაჟებს. ერთი ბირთვით, ორივე დავალება შესრულებულია მათ შორის გადართვით. ეს მიდგომა არ არის ეფექტური. თუ სისტემა შეიცავს რამდენიმე პროცესორს, რენდერი და AI შეიძლება მუშაობდეს ცალკეულ ბირთვზე - იდეალური სიტუაციაა მრავალბირთვიანი პროცესორისთვის.

არის 8 > 4 > 2?

ორი ბირთვის მიღმა გასვლა წარმოადგენს შერეულ სარგებელს, იმის გათვალისწინებით, რომ პასუხი ნებისმიერი მოცემული კომპიუტერის მყიდველისთვის დამოკიდებულია პროგრამულ უზრუნველყოფაზე, რომელსაც ის ჩვეულებრივ იყენებს.მაგალითად, ბევრი კლასიკური თამაში ჯერ კიდევ გვთავაზობს მცირე განსხვავებას ორ და ოთხ ბირთვს შორის. თანამედროვე თამაშებიც კი, რომელთაგან ზოგიერთი სავარაუდოდ საჭიროებს ან მხარს უჭერს რვა ბირთვს, შეიძლება არ იყოს უკეთესი, ვიდრე ექვსბირთვიანი აპარატი უფრო მაღალი ბაზის საათის სიჩქარით, იმის გათვალისწინებით, რომ პირველადი ძაფის ეფექტურობა არეგულირებს მრავალძაფის შესრულების ეფექტურობას.

მეორეს მხრივ, ვიდეო დაშიფვრის პროგრამა, რომელიც ახდენს ვიდეოს ტრანსკოდირებას, სავარაუდოდ იხილავს უზარმაზარ სარგებელს, რადგან ინდივიდუალური კადრების რენდერირება შეიძლება გადაეცეს სხვადასხვა ბირთვს და შემდეგ პროგრამული უზრუნველყოფის მიერ ერთ ნაკადად შეაერთოს. ამრიგად, რვა ბირთვის ქონა კიდევ უფრო მომგებიანი იქნება, ვიდრე ოთხი. არსებითად, პირველად ძაფს არ სჭირდება შედარებით მდიდარი რესურსები; სამაგიეროდ, მას შეუძლია გამოავლინოს შრომისმოყვარეობა შვილობილი ძაფებისთვის, რომლებიც აძლიერებენ პროცესორის ბირთვს.

საათის სიჩქარე

Image
Image

ზოგადად, უფრო მაღალი საათის სიჩქარე ნიშნავს უფრო სწრაფ პროცესორს.საათის სიჩქარე უფრო ბუნდოვანი ხდება, როდესაც განიხილავთ სიჩქარეებს მრავალ ბირთვთან შედარებით, რადგან პროცესორები ჭრიან მონაცემთა მრავალ ძაფს დამატებითი ბირთვების წყალობით, მაგრამ თითოეული ეს ბირთვი იმუშავებს უფრო დაბალი სიჩქარით თერმული შეზღუდვების გამო.

მაგალითად, ორბირთვიან პროცესორს შეუძლია თითოეული პროცესორისთვის 3,5 გჰც ბაზის საათის სიჩქარის მხარდაჭერა, ხოლო ოთხბირთვიანმა პროცესორმა შეიძლება იმუშაოს მხოლოდ 3,0 გჰც სიხშირეზე. მხოლოდ თითოეულ მათგანზე ერთი ბირთვის დათვალიერებისას, ორბირთვიანი პროცესორი 14 პროცენტით უფრო სწრაფია, ვიდრე ოთხბირთვიანზე. ამრიგად, თუ თქვენ გაქვთ პროგრამა, რომელიც მხოლოდ ერთ ძაფიანია, ორბირთვიანი პროცესორი რეალურად უფრო ეფექტურია. კიდევ ერთხელ, თუ თქვენს პროგრამულ უზრუნველყოფას შეუძლია ოთხივე პროცესორის გამოყენება, მაშინ ოთხბირთვიანი პროცესორი რეალურად იქნება დაახლოებით 70 პროცენტით უფრო სწრაფი ვიდრე ორბირთვიანი პროცესორი.

დასკვნა

უმეტესწილად, ბირთვების უფრო მაღალი რაოდენობის პროცესორის ქონა ზოგადად უკეთესია, თუ თქვენი პროგრამული უზრუნველყოფა და ტიპიური გამოყენების შემთხვევები მხარს უჭერს მას. უმეტესწილად, ორბირთვიანი ან ოთხბირთვიანი პროცესორი საკმარისზე მეტი იქნება კომპიუტერის ძირითადი მომხმარებლისთვის.მომხმარებელთა უმეტესობა ვერ ნახავს ხელშესახებ სარგებელს ოთხი პროცესორის ბირთვის მიღმა გადასვლით, რადგან ამით სარგებლობს ძალიან ცოტა არასპეციალიზებული პროგრამული უზრუნველყოფა. მაღალი ბირთვიანი პროცესორების გამოყენების საუკეთესო შემთხვევა ეხება მანქანებს, რომლებიც ასრულებენ რთულ ამოცანებს, როგორიცაა დესკტოპის ვიდეო რედაქტირება, მაღალი დონის თამაშების ზოგიერთი ფორმა ან რთული სამეცნიერო და მათემატიკის პროგრამები.

გაეცანით ჩვენს აზრებს იმის შესახებ, თუ რამდენად სწრაფი კომპიუტერი მჭირდება? უკეთესი წარმოდგენა იმის შესახებ, თუ რომელი ტიპის პროცესორი საუკეთესოდ შეესაბამება თქვენს გამოთვლით საჭიროებებს.

გირჩევთ: