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

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

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

ზოგიერთი ისტორია

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

გარკვეული პერიოდის შემდეგ, პროცესორები უფრო მძლავრი უნდა ყოფილიყო, ამიტომ კომპიუტერის მწარმოებლები გამოვიდნენ ჰიპერ ძაფის კონცეფციით. თავად კონცეფცია წარმოიშვა Intel- დან და ის პირველად დაარსდა 2002 წელს კომპანიის Xeon სერვერ პროცესორებზე, შემდეგ კი მის Pentium 4 დესკტოპის პროცესორზე. ჰიპერ ძაფები დღესაც იყენებენ პროცესორებში, და კიდევ მთავარი განსხვავებაა Intel- ის i5 ჩიპებსა და მის i7 ჩიპებს შორის. ეს ძირითადად უპირატესობას ანიჭებს იმ ფაქტს, რომ ხშირად არსებობს გამოუყენებელი რესურსები პროცესორში, განსაკუთრებით მაშინ, როდესაც დავალებებს არ სჭირდება გადამამუშავებელი ძალა, რომელიც შეიძლება გამოყენებულ იქნას სხვა პროგრამებისთვის. პროცესორი, რომელიც იყენებს ჰიპერ ძაფს, ძირითადად წარმოადგენს ოპერაციულ სისტემას, თითქოს ორი ბირთვი აქვს. რა თქმა უნდა, მას ნამდვილად არ აქვს ორი ბირთვი, თუმცა ორი პროგრამისთვის, რომლებიც იყენებენ გადამამუშავებელი ენერგიის ნახევარს, ან ნაკლები, შეიძლება არსებობდეს ორი ბირთვი იმის გამო, რომ ერთად იყენებენ ყველა იმ ძალას, რომელიც პროცესორი შესთავაზებს. ამასთან, ჰიპერ ძაფები იქნება უფრო ნელი, ვიდრე ორი ბირთვიანი პროცესორი, როდესაც ბირთვის გამოყენებით ორ პროგრამას შორის გაზიარების საკმარისი რაოდენობა არ არის.

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

მრავალ პროცესორი

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

რატომ შეიმუშავეს კომპანიებმა პროცესორები მრავალი ბირთვით? უფრო და უფრო აშკარაა პროცესორების საჭიროება, თუმცა ერთ ბირთვიანი პროცესორების განვითარება შენელდა. 1980-იანი წლებიდან 2000-იან წლებამდე ინჟინრებს შეეძლოთ გადამუშავების სიჩქარის გაზრდა რამდენიმე მეგაჰერციდან რამდენიმე გიგაჰერციამდე. კომპანიებმა, როგორიცაა Intel და AMD, ეს გააკეთეს ტრანზისტორების ზომის შემცირებით, რაც საშუალებას აძლევდა მეტი ტრანზისტორი იმავე სივრცეში, რითაც გაუმჯობესდა შესრულება.

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

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

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

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

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

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

როგორ მუშაობს მულტი-ბირთვიანი პროცესორები?

პირველ რიგში, დედაპლატს და ოპერაციულ სისტემას სჭირდებათ პროცესორის ამოცნობა და მრავალი ბირთვი. ძველ კომპიუტერებს მხოლოდ ერთი ბირთვი ჰქონდათ, ამიტომ ძველი ოპერაციული სისტემა შესაძლოა ძალიან კარგად არ იმუშაოს, თუ მომხმარებელი ცდილობდა დააინსტალიროთ იგი უფრო ახალ ბირთვზე. მაგალითად, Windows 95– ს არ აქვს ჰიპერ ძაფების ან მრავალჯერადი ბირთვის მხარდაჭერა. ყველა ბოლოდროინდელი ოპერაციული სისტემა მხარს უჭერს მრავალ ბირთვულ პროცესორს, მათ შორისაა Windows 7, 8, ახლად გამოშვებული 10 და Apple- ის OS X 10.10.

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

პროცესორი

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

ერთი ბირთვიანი პროცესორი

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

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

ქეშის სხვადასხვა დონე ასევე მოქმედებს მრავალ ბირთვულ პროცესორში. ჩვეულებრივ, თითოეულ ბირთვს ექნება საკუთარი L1 ქეში, მაგრამ ისინი იზიარებენ L2 cache- ს. ეს განსხვავდება იმ შემთხვევაში, თუ იყო მრავალი პროცესორი, რადგან თითოეულ პროცესორს აქვს საკუთარი L1, L2 და ნებისმიერი სხვა დონის ქეში. მრავალჯერადი ერთ ბირთვიანი პროცესორებით, ქეში გაზიარება უბრალოდ შეუძლებელია. გაზიარების ქეშის გამოყენების ერთ – ერთი მთავარი უპირატესობა არის ქეშების მაქსიმალურად გამოყენების შესაძლებლობა, იმის გამო, რომ თუ ერთი ბირთვი არ მუშაობს ქეშს, მეორეს შეუძლია.

მრავალ ბირთვულ პროცესორში მონაცემების ძიებისას ბირთვს შეუძლია დაათვალიეროს თავისი უნიკალური L1 ქეში და შემდეგ განაწილდეს L2 cache, RAM და საბოლოოდ მყარი დისკი.

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

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

Იხილეთ ასევე

შემთხვევით მომეწონა ჩემი კრუშის ერთი ძველი სურათი Instagram- ზე. ჩვენ ამაზე ბევრს არ ვსაუბრობთ, მაგრამ ვფიქრობ, რომ მან იცის რომ მომწონს. Რა გავაკეთო?როგორ შემიძლია კიდევ უფრო მეტი მიმდევარი მივიღო Instagram- ზე უფასოდ, რომ არაფერი დარეგისტრირდეთ?რას ნიშნავს პარამეტრი \ u201, რომ სხვები იპოვონ ჩემთვის TikTok– ზე? შეიძლება ამან გაამახვილოს ის, რომ არასოდეს ხართ \ u201 სიახლეზე, თუ თქვენ გვერდზე გაქვთ?როგორ მოვიწვიო მეგობრები ქორწილში WhatsApp- ის ან Messenger- ის საშუალებით? შეგიძლიათ განათავსოთ მოწვევის რამდენიმე მარტივი შეტყობინება?Facebook Messenger- ზე, რას ნიშნავს მოწყობილობის დამატება და ამოღება?აქვს Narendra Modi- ს WhatsApp ჯგუფი თავის მინისტრებთან?რა არის საუკეთესო გზა Telegram, WhatsApp და Facebook ჯგუფის სამაუწყებლო გარიგების შესაქმნელად?მუშაობს Instagram– ზე შეტყობინებები, ჰეშტაგების გარეშე, ისევე როგორც მათთან?