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

მრავალბირთვიანი პროცესორები უკვე ხელმისაწვდომია პერსონალური კომპიუტერები 2000-იანი წლების დასაწყისიდან. მრავალბირთვიანი დიზაინები აგვარებდნენ პროცესორების ფიზიკურ ჭერს დარტყმის პრობლემას შეზღუდვები საათის სიჩქარის თვალსაზრისით და რამდენად ეფექტურად შეიძლებოდა მათი გაგრილება და შენარჩუნება სიზუსტე. ერთი პროცესორის ჩიპზე დამატებით ბირთვებზე გადასვლით, მწარმოებლები თავიდან აიცილეს პრობლემები საათის სიჩქარესთან დაკავშირებით, ეფექტურად ამრავლებდნენ მონაცემების რაოდენობას, რომელსაც შეეძლო დამუშავებულიყო. პროცესორი.
როდესაც ისინი თავდაპირველად გამოვიდა, მწარმოებლები სთავაზობდნენ მხოლოდ ორ ბირთვს ერთ CPU-ში, მაგრამ ახლა არის ვარიანტები ოთხი, ექვსი და თუნდაც 10 ან მეტი. ბირთვების დამატების გარდა, ერთდროულმა მრავალძალიანმა ტექნოლოგიებმა, როგორიცაა Intel-ის Hyper-Threading, შეიძლება გააორმაგოს ვირტუალური ბირთვები, რომლებიც
პროცესები და ძაფები
ა პროცესი არის კონკრეტული ამოცანა, როგორც პროგრამა, რომელიც მუშაობს კომპიუტერზე. პროცესი შედგება ერთი ან მეტი ძაფისგან.
ა ძაფი არის უბრალოდ მონაცემთა ერთი ნაკადი პროგრამისგან, რომელიც გადის კომპიუტერის პროცესორზე. თითოეული აპლიკაცია ქმნის საკუთარ ერთ ან ბევრ თემას, იმისდა მიხედვით, თუ როგორ მუშაობს იგი. მრავალბირთვიანი პროცესორის გარეშე, ერთბირთვიანი პროცესორს შეუძლია ერთდროულად უმკლავდება მხოლოდ ერთ ძაფს, ამიტომ სისტემა სწრაფად გადადის ძაფებს შორის, რათა დაამუშავოს მონაცემები ერთი შეხედვით ერთდროულად.
მრავალი ბირთვის არსებობის უპირატესობა ის არის, რომ სისტემას შეუძლია ერთზე მეტი ძაფების ერთდროულად მართვა. თითოეულ ბირთვს შეუძლია გაუმკლავდეს მონაცემთა ცალკეულ ნაკადს. ეს არქიტექტურა მნიშვნელოვნად ზრდის სისტემის მუშაობას, რომელიც მუშაობს ერთდროულად აპლიკაციებზე. მას შემდეგ, რაც სერვერები მიდრეკილნი არიან აწარმოონ მრავალი ერთდროული აპლიკაცია მოცემულ დროს, ტექნოლოგია თავდაპირველად შეიქმნა საწარმოს მომხმარებელი - მაგრამ რაც უფრო რთული გახდა პერსონალური კომპიუტერები და გაიზარდა მრავალფუნქციური სამუშაოები, მათაც ისარგებლეს დამატებითი ბირთვები.
თუმცა, ყველა პროცესი იმართება პირველადი ძაფით, რომელსაც შეუძლია დაიკავოს მხოლოდ ერთი ბირთვი. ამრიგად, პროგრამის ფარდობითი სიჩქარე, როგორიცაა თამაში ან ვიდეო რენდერი, შეზღუდულია იმ ბირთვის შესაძლებლობით, რომელსაც მოიხმარს პირველადი ძაფი. პირველად ძაფს შეუძლია მეორადი ძაფების დელეგირება სხვა ბირთვებზე - მაგრამ თამაში არ ხდება ორჯერ უფრო სწრაფი, როდესაც ბირთვებს გააორმაგებთ. ამგვარად, უჩვეულო არ არის, რომ თამაშმა სრულად დაამაქსიროს ერთი ბირთვი (პირველადი ძაფები), მაგრამ დაინახოს სხვა ბირთვების მხოლოდ ნაწილობრივი გამოყენება მეორადი ძაფებისთვის. ბირთვის გაორმაგება არ ეხება იმ ფაქტს, რომ პირველადი ბირთვი არის თქვენი სიჩქარის შემზღუდველი აპლიკაციები და აპები, რომლებიც მგრძნობიარეა ამ არქიტექტურის მიმართ, უკეთესად იმუშავებენ, ვიდრე აპლიკაციები არ არიან.
პროგრამული უზრუნველყოფის დამოკიდებულება
მიუხედავად იმისა, რომ მრავალბირთვიანი პროცესორების კონცეფცია მიმზიდველად ჟღერს, ამ ტექნოლოგიას აქვს მნიშვნელოვანი სიფრთხილე. მრავალი პროცესორის ჭეშმარიტი სარგებლობისთვის, კომპიუტერზე გაშვებული პროგრამული უზრუნველყოფა უნდა იყოს დაწერილი, რათა მხარდაჭერილი იყოს მრავალსართულიანი. ამ ფუნქციის მხარდაჭერის პროგრამული უზრუნველყოფის გარეშე, ძაფები ძირითადად გაივლება ერთ ბირთვში, რაც ამცირებს კომპიუტერის მთლიან ეფექტურობას. ყოველივე ამის შემდეგ, თუ მას შეუძლია იმუშაოს მხოლოდ ერთ ბირთვზე ოთხბირთვიან პროცესორში, შეიძლება რეალურად იყოს უფრო სწრაფი მისი გაშვება ორბირთვიან პროცესორზე მაღალი ბაზის საათის სიჩქარით.
ყველა ძირითადი მიმდინარე ოპერაციული სისტემა მხარს უჭერს მრავალძაფის შესაძლებლობას. მაგრამ მრავალძალიანობა ასევე უნდა ჩაიწეროს აპლიკაციის პროგრამაში. სამომხმარებლო პროგრამულ უზრუნველყოფაში მრავალნაკადის მხარდაჭერა გაუმჯობესდა წლების განმავლობაში, მაგრამ ბევრისთვის მარტივი პროგრამებში, მრავალნაკადის მხარდაჭერა ჯერ კიდევ არ არის დანერგილი პროგრამული უზრუნველყოფის სირთულის გამო აშენება. მაგალითად, ფოსტის პროგრამას ან ვებ ბრაუზერს არ აქვს ისეთი დიდი სარგებლობა, როგორც გრაფიკული ან ვიდეო რედაქტირების პროგრამა, სადაც კომპიუტერი ამუშავებს რთულ გამოთვლებს.
ამ ტენდენციის ასახსნელად კარგი მაგალითია ტიპიური კომპიუტერული თამაშის ნახვა. თამაშების უმეტესობას სჭირდება რაიმე სახის რენდერის ძრავა, რათა აჩვენოს რა ხდება თამაშში. გარდა ამისა, გარკვეული სახის ხელოვნური ინტელექტი აკონტროლებს თამაშის მოვლენებსა და პერსონაჟებს. ერთი ბირთვით, ორივე დავალება შესრულებულია მათ შორის გადართვით. ეს მიდგომა არ არის ეფექტური. თუ სისტემა შეიცავს რამდენიმე პროცესორს, რენდერი და AI შეიძლება მუშაობდეს ცალკეულ ბირთვზე - იდეალური სიტუაციაა მრავალბირთვიანი პროცესორისთვის.
არის 8 > 4 > 2?
ორი ბირთვის მიღმა სცილდება შერეულ სარგებელს, იმის გათვალისწინებით, რომ პასუხი ნებისმიერი მოცემული კომპიუტერის მყიდველისთვის დამოკიდებულია პროგრამულ უზრუნველყოფაზე, რომელსაც ის ჩვეულებრივ იყენებს. მაგალითად, ბევრი კლასიკური თამაში ჯერ კიდევ გვთავაზობს მცირე განსხვავებას ორ და ოთხ ბირთვს შორის. თანამედროვე თამაშებიც კი, რომელთაგან ზოგიერთი, სავარაუდოდ, მოითხოვს ან მხარს უჭერს რვა ბირთვს, შეიძლება არ იყოს უკეთესი, ვიდრე ექვსბირთვიანი მანქანა უფრო მაღალი ბაზის საათის სიჩქარე, იმის გათვალისწინებით, რომ პირველადი ძაფის ეფექტურობა არეგულირებს მრავალძაფის ეფექტურობას შესრულება.
მეორეს მხრივ, ვიდეო დაშიფვრის პროგრამა, რომელიც ვიდეოს ტრანსკოდირებს, სავარაუდოდ უზარმაზარ სარგებელს მიიღებს ინდივიდუალური კადრების რენდერი შეიძლება გადაეცეს სხვადასხვა ბირთვს და შემდეგ შეაერთოს ერთ ნაკადად პროგრამული უზრუნველყოფა. ამრიგად, რვა ბირთვის ქონა კიდევ უფრო მომგებიანი იქნება, ვიდრე ოთხი. არსებითად, პირველად ძაფს არ სჭირდება შედარებით მდიდარი რესურსები; სამაგიეროდ, მას შეუძლია შრომისმოყვარეობა მოახდინოს შვილობილი ძაფებისთვის, რომლებიც აძლიერებენ პროცესორის ბირთვებს.
საათის სიჩქარე

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