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

მთავარი / ლეპტოპები

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

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

რისგან შედგება პროცესორი?

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

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

ძირითადი მახასიათებლები

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

  • ბირთვების რაოდენობა;
  • ძაფების რაოდენობა;
  • ქეშის ზომა (შიდა მეხსიერება);
  • საათის სიხშირე;
  • საბურავის სიჩქარე.

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

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

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

როგორ მუშაობს პროცესორი: ბრძანების დამუშავება

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

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

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

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

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

შესრულებული ოპერაციები

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

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

მეხსიერებასთან ურთიერთქმედება (ROM და RAM)

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

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

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

როგორ შევამოწმო, მუშაობს თუ არა პროცესორი?

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

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

გარდა ამისა, შეგიძლიათ გამოიყენოთ მრავალი პროცესორის ბირთვი (msconfig) და დამატებითი პარამეტრებიჩამოტვირთვები.

შესაძლო პრობლემები

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

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

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

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

არქიტექტურა

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

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

ბირთვები

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

  1. ინსტრუქციის მიღების მოდული.აქ ინსტრუქციები აღიარებულია მისამართით, რომელიც მითითებულია პროგრამის მრიცხველში. ბრძანებების ერთდროული წაკითხვის რაოდენობა პირდაპირ დამოკიდებულია დაინსტალირებული გაშიფვრის ერთეულების რაოდენობაზე, რაც ხელს უწყობს სამუშაოს თითოეული ციკლის ჩატვირთვას ინსტრუქციების უდიდესი რაოდენობით.
  2. გარდამავალი პროგნოზიპასუხისმგებელია ინსტრუქციის მოპოვების განყოფილების ოპტიმალურ მუშაობაზე. ის განსაზღვრავს შესასრულებელი ინსტრუქციების თანმიმდევრობას, იტვირთება ბირთვის მილსადენი.
  3. დეკოდირების მოდული.ბირთვის ეს ნაწილი პასუხისმგებელია ამოცანების შესასრულებლად გარკვეული პროცესების განსაზღვრაზე. თავად დეკოდირების ამოცანა ძალიან რთულია ცვლადი ინსტრუქციის ზომის გამო. უახლეს პროცესორებში არის რამდენიმე ასეთი ბლოკი ერთ ბირთვში.
  4. მონაცემთა შერჩევის მოდულები.ისინი ინფორმაციას იღებენ ოპერატიული მეხსიერებიდან ან ქეშიდან. ისინი ახორციელებენ ზუსტად იმ მონაცემების შერჩევას, რაც ამ მომენტში აუცილებელია ინსტრუქციის შესასრულებლად.
  5. საკონტროლო ბლოკი.თავად სახელი მეტყველებს ამ კომპონენტის მნიშვნელობაზე. ბირთვში, ეს არის ყველაზე მნიშვნელოვანი ელემენტი, რადგან ის ანაწილებს ენერგიას ყველა ბლოკს შორის, რაც ხელს უწყობს ყველა მოქმედების დროულად შესრულებას.
  6. მოდული შედეგების შესანახად.განკუთვნილია ჩაწერისთვის RAM-ში ინსტრუქციის დამუშავების დასრულების შემდეგ. შენახვის მისამართი მითითებულია გაშვებულ ამოცანაში.
  7. შეფერხებებთან მუშაობის ელემენტი. CPU-ს შეუძლია შეასრულოს მრავალი დავალება შეფერხების ფუნქციის წყალობით, რაც საშუალებას აძლევს მას შეაჩეროს ერთი პროგრამის პროგრესი სხვა ინსტრუქციაზე გადასვლის გზით.
  8. რეგისტრირებს.ინსტრუქციების დროებითი შედეგები ინახება აქ ამ კომპონენტს შეიძლება ეწოდოს მცირე სწრაფი ოპერატიული მეხსიერება. ხშირად მისი ზომა არ აღემატება რამდენიმე ასეულ ბაიტს.
  9. ბრძანების მრიცხველი.ის ინახავს ინსტრუქციის მისამართს, რომელიც გამოყენებული იქნება პროცესორის შემდეგ ციკლში.

სისტემის ავტობუსი

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

ქეში მეხსიერება

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

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

სოკეტი (შემერთებელი)

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

მომხმარებლები ხშირად უნებლიედ ყიდულობენ შეუთავსებელი პროცესორიდა დედაპლატა, რაც დამატებით პრობლემებს იწვევს.

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

ცენტრალური პროცესორი ზოგადად შეიცავს:

    არითმეტიკულ-ლოგიკური ერთეული;

    მონაცემთა ავტობუსები და მისამართის ავტობუსები;

    რეგისტრები;

    პროგრამის მრიცხველები;

    ქეში - ძალიან სწრაფი მეხსიერებამცირე მოცულობა,

    მათემატიკური მცურავი წერტილის კოპროცესორი.

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

პროცესორის ძირითადი მახასიათებლები:

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

    საათის სიხშირე - განსაზღვრავს პროცესორის ციკლების რაოდენობას წამში

    ბიტის მოცულობა - განსაზღვრავს ინფორმაციის მინიმალური ნაწილის ზომას, რომელსაც ეწოდება მანქანა სიტყვა

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

8.2.3. პროცესორის მუშაობის პრინციპი.

პროცესორი არის კომპიუტერის მთავარი ელემენტი. ის პირდაპირ თუ ირიბად აკონტროლებს კომპიუტერში მიმდინარე ყველა მოწყობილობას და პროცესს.

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

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

მოდით ჩამოვთვალოთ Pentium პროცესორის ძირითადი მახასიათებლები:

    მილსადენის ინფორმაციის დამუშავება;

    სუპერსკალარული არქიტექტურა;

    ცალკეული ქეში მეხსიერების არსებობა ბრძანებებისა და მონაცემებისთვის;

    გარდამავალი მისამართის პროგნოზირების ბლოკის არსებობა;

    პროგრამის დინამიური შესრულება;

    მცურავი წერტილის გამოთვლის ერთეულის არსებობა;

    მულტიპროცესორული მუშაობის მხარდაჭერა;

    შეცდომების გამოვლენის ხელსაწყოების ხელმისაწვდომობა.

ტერმინი "სუპერსკალარული არქიტექტურა" ნიშნავს, რომ პროცესორი შეიცავს ერთზე მეტ გამოთვლით ერთეულს. ამ გამოთვლით ერთეულებს უფრო ხშირად უწოდებენ მილსადენებს. გაითვალისწინეთ, რომ პირველი სუპერსკალარული არქიტექტურა განხორციელდა შიდა კომპიუტერში "Elbrus-1" (1978).

პროცესორში ორი მილსადენის არსებობა საშუალებას აძლევს მას ერთდროულად შეასრულოს (შეასრულოს) ორი ბრძანება (ინსტრუქცია).

თითოეული მილსადენი ყოფს ბრძანების შესრულების პროცესს რამდენიმე ეტაპად (მაგალითად, ხუთ):

    ბრძანების მიღება (კითხვა) RAM-დან ან ქეში მეხსიერებიდან;

    ბრძანების გაშიფვრა (გაშიფვრა), ანუ განხორციელებული ოპერაციის კოდის განსაზღვრა;

    ბრძანების შესრულება;

    მეხსიერებაზე წვდომა;

    მიღებული შედეგების მეხსიერებაში შენახვა.

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

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

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

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

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

მაგალითად, განვიხილოთ ბრძანების შესრულების პროცესი, რომლის ეტაპობრივი შესრულების დროა 60, 30, 40, 50 და 20 ns. მილსადენის დამუშავების ორგანიზების დამატებითი ხარჯები ავიღოთ 5 ns.

მილსადენი რომ არ იყოს, მაშინ დასჭირდებოდა

60 + 30 + 40 + 50 + 20 = 200 ns.

თუ გამოიყენება კონვეიერის ორგანიზაცია, მაშინ ტაქტის ხანგრძლივობა უნდა იყოს ტოლი ყველაზე ნელი დამუშავების ეტაპის ხანგრძლივობის "ზედნადები" ხარჯების დამატებით, ე.ი. 60 + 5 = 65 ns. ამრიგად, მილსადენის შედეგად მიღებული ბრძანების შესრულების დროის შემცირება იქნება 200/65" 3.1-ჯერ.

გაითვალისწინეთ, რომ მილსადენის შესრულების დრო ერთი ინსტრუქციისთვის არის 5 × 65 = 325 ns. ეს მნიშვნელობა მნიშვნელოვნად აღემატება 200 ns - ბრძანების შესრულების დრო მილსადენის გარეშე. მაგრამ ხუთი ბრძანების ერთდროულად შესრულება იძლევა ერთი ბრძანების შესრულების საშუალო დროს 65 ns.

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

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

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

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

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

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

ფილიალის მისამართების პროგნოზირების ბლოკი მუშაობს პროაქტიულად და ცდილობს წინასწარ განსაზღვროს ფილიალის მისამართი, რათა წინასწარ გადაიტანოს სასურველი ინსტრუქცია ნელი RAM-დან სპეციალურ სწრაფ განშტოების სამიზნე ბუფერზე BTB (Branch Target Buffer).

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

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

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

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

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

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

Pentium Pro (P6) პროცესორი იყენებს ახალ მიდგომას იმ თანმიმდევრობით, რომლითაც ინსტრუქციები თანმიმდევრულად შესრულდება RAM-ში.

ახალი მიდგომა არის ბრძანებების შესრულება შემთხვევითი თანმიმდევრობით, რადგან ისინი მზად არიან (მიუხედავად იმისა, რომ ბრძანება RAM-შია). თუმცა, საბოლოო შედეგი ყოველთვის გენერირებულია პროგრამის ბრძანებების თავდაპირველი თანმიმდევრობის შესაბამისად. ბრძანების შესრულების ამ ბრძანებას დინამიური ან მოლოდინი ეწოდება.

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

r1 ¬mem ბრძანება 1

r3 ¬r1 + r2 ბრძანება 2

r5 ¬r5 + 1 გუნდი 3

r6 ¬r6 – r7 გუნდი 4

სიმბოლოები r1…r7 მიუთითებს რეგისტრებზე ზოგადი დანიშნულება(RON), რომლებიც შედის პროცესორის რეგისტრის ბლოკში.

Mem სიმბოლო აღნიშნავს RAM მეხსიერების უჯრედს.

მოდით კომენტარი გავაკეთოთ ჩაწერილ პროგრამაზე.

ბრძანება 1: ჩაწერეთ RON r1-ზე RAM მეხსიერების უჯრედის შინაარსი, რომლის მისამართი მითითებულია RON r4-ში.

ბრძანება 2: ჩაწერეთ RON r3-ზე r1 და r2 რეგისტრების შიგთავსის დამატების შედეგი.

ბრძანება 3: დაამატეთ ერთი რეგისტრის შიგთავსს r5.

ბრძანება 4: შეამცირეთ RON r6 შიგთავსი რეგისტრის r7 შინაარსით.

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

ტრადიციული მიდგომით, პროცესორი გააგრძელებს 2, 3, 4 ინსტრუქციების შესრულებას მხოლოდ მას შემდეგ, რაც მეხსიერების ძირითადი უჯრედის მონაცემები შევა პროცესორში (უფრო ზუსტად, რეესტრში r1). ვინაიდან წაკითხვა მოხდება ნელი ოპერატიული მეხსიერებიდან, ამ პროცესს საკმაოდ დიდი დრო დასჭირდება (პროცესორის სტანდარტებით). ამ მოვლენის მოლოდინში, პროცესორი უმოქმედო იქნება, არ ასრულებს სასარგებლო სამუშაოს.

ზემოთ მოყვანილ მაგალითში, პროცესორს არ შეუძლია შეასრულოს ინსტრუქცია 2 ინსტრუქციის 1 დასრულებამდე, რადგან ინსტრუქცია 2 იყენებს 1 ინსტრუქციის შედეგებს. ამავდროულად, პროცესორს შეუძლია წინასწარ შეასრულოს ინსტრუქციები 3 და 4, რომლებიც არ არის დამოკიდებული შედეგზე. ინსტრუქციები 1 და 2.

ასეთ შემთხვევებში P6 პროცესორი სხვაგვარად მუშაობს.

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

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

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

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

პროცესორების (და კომპიუტერების) სიჩქარის საზომი ერთეულები შეიძლება იყოს:

    MIPS (MIPS - Mega Instruction Per Second) - მილიონი ბრძანება (ინსტრუქცია) ფიქსირებული წერტილის რიცხვებზე წამში;

    MFLOPS (მეგა მცურავი ოპერაცია წამში) - მილიონი ოპერაცია მცურავი წერტილის რიცხვებზე წამში;

    GFLOPS (Giga Floating Operation Per Second) - მილიარდი ოპერაცია მცურავი წერტილის რიცხვებზე წამში.

არსებობს ცნობები მსოფლიოში ყველაზე სწრაფი კომპიუტერის, ASCI White-ის (IBM Corporation) შესახებ, რომელიც აღწევს 12,3 TFLOPS-ს (ტრილიონი ოპერაცია).

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

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

ჯერ ვნახოთ რა არის პროცესორი. CPU ან ცენტრალური დამუშავების ერთეული (ცენტრალური დამუშავების ერთეული) - ეს არის მიკროსქემა დიდი რაოდენობით ტრანზისტორებით, დამზადებულია სილიკონის კრისტალზე. მსოფლიოში პირველი პროცესორი შეიქმნა Intel-ის მიერ 1971 წელს. ყველაფერი დაიწყო Intel 4004-ით. მას შეეძლო მხოლოდ გამოთვლითი ოპერაციების შესრულება და მხოლოდ 4 ბაიტი მონაცემების დამუშავება. შემდეგი მოდელი გამოვიდა 1974 წელს - Intel 8080 და უკვე შეეძლო 8 ბიტი ინფორმაციის დამუშავება. შემდეგი იყო 80286, 80386, 80486. სწორედ ამ პროცესორებიდან მიიღო არქიტექტურამ სახელი.

8088 პროცესორის საათის სიჩქარე იყო 5 MHz, ხოლო ოპერაციების რაოდენობა წამში მხოლოდ 330 000 იყო, რაც ბევრად ნაკლებია ვიდრე თანამედროვე პროცესორებში. თანამედროვე მოწყობილობებს აქვთ 10 გჰც-მდე სიხშირე და რამდენიმე მილიონი ოპერაცია წამში.

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

  • ბირთვი- ყველა ინფორმაციის დამუშავება და მათემატიკური ოპერაციები აქ შეიძლება იყოს რამდენიმე ბირთვი;
  • ბრძანების დეკოდერი- ეს კომპონენტი ეკუთვნის ბირთვს, ის გარდაქმნის პროგრამულ ბრძანებებს სიგნალების ერთობლიობაში, რომლებიც შესრულდება ძირითადი ტრანზისტორებით;
  • ქეში- ულტრა სწრაფი მეხსიერების არეალი, მცირე მოცულობა, რომელშიც ინახება RAM-დან წაკითხული მონაცემები;
  • რეგისტრირებს- ეს არის ძალიან სწრაფი მეხსიერების უჯრედები, რომლებშიც ინახება ამჟამად დამუშავებული მონაცემები. მათგან მხოლოდ რამდენიმეა და მათ აქვთ შეზღუდული ზომა - 8, 16 ან 32 ბიტიანი პროცესორის მოცულობა დამოკიდებულია ამაზე;
  • კოპროცესორი- ცალკეული ბირთვი, რომელიც ოპტიმიზებულია მხოლოდ გარკვეული ოპერაციების შესასრულებლად, მაგალითად, ვიდეოს დამუშავება ან მონაცემთა დაშიფვრა;
  • მისამართი ავტობუსი- დედაპლატთან დაკავშირებულ ყველა მოწყობილობასთან კომუნიკაციისთვის, შეიძლება ჰქონდეს სიგანე 8, 16 ან 32 ბიტი;
  • მონაცემთა ავტობუსი- RAM-თან კომუნიკაციისთვის. მისი გამოყენებით, პროცესორს შეუძლია ჩაწეროს მონაცემები მეხსიერებაში ან წაიკითხოს ისინი იქიდან. მეხსიერების ავტობუსი შეიძლება იყოს 8, 16 ან 32 ბიტიანი, ეს არის მონაცემების რაოდენობა, რომელიც შეიძლება გადაიცეს ერთდროულად;
  • სინქრონიზაციის ავტობუსი- გაძლევთ საშუალებას აკონტროლოთ პროცესორის სიხშირე და ოპერაციული ციკლები;
  • გადატვირთეთ ავტობუსი- პროცესორის მდგომარეობის გადატვირთვა;

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

  • რეგისტრები A, B, C- შექმნილია დამუშავების დროს მონაცემების შესანახად, დიახ, მათგან მხოლოდ სამია, მაგრამ ეს სავსებით საკმარისია;
  • EIP- შეიცავს RAM-ში შემდეგი პროგრამის ინსტრუქციის მისამართს;
  • ESP- მონაცემთა მისამართი RAM-ში;
  • - შეიცავს ბოლო შედარების ოპერაციის შედეგს;

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

როგორ მუშაობს კომპიუტერის პროცესორი?

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

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

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

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

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

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

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

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

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

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

დასკვნები

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

პროცესორების ისტორიის შესახებ ვიდეოს დასასრულებლად:

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

მაშ, რა იქნება მიკროპროცესორის შიგნით, თუ მას დაშლით:

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

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

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

საფარი (1) მიმაგრებულია საყრდენზე (3) წებოვანი დალუქვის გამოყენებით, რომელიც მდგრადია მაღალი ტემპერატურა. კრისტალს (2) შორის არ არის ჰაერის უფსკრული და მის ადგილს იკავებს თერმული პასტა, ის ქმნის „ხიდს“ პროცესორის კრისტალსა და საფარს შორის, რაც უზრუნველყოფს ძალიან კარგ სითბოს გადაცემას;

კრისტალი უკავშირდება სუბსტრატს შედუღებისა და დალუქვის გამოყენებით, სუბსტრატის კონტაქტები უკავშირდება ბროლის კონტაქტებს. ეს ფიგურა ნათლად აჩვენებს, თუ როგორ უკავშირდება ბროლის კონტაქტები სუბსტრატის კონტაქტებს ძალიან თხელი მავთულის გამოყენებით (170x გადიდება ფოტოში):

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

მაგალითად, ასე გამოიყურება Intel Pentium 4 პროცესორის საკონტაქტო სუბსტრატი (პროცესორი თავდაყირა აქვს):

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

და არის კიდევ ერთი სიტუაცია, როდესაც კონტაქტების „ქინძისთავები“ გამოდის უშუალოდ საკონტაქტო სუბსტრატიდან. ეს ფუნქცია ტიპიურია ძირითადად AMD პროცესორებისთვის:

როგორც ზემოთ აღინიშნა, მოწყობილობა სხვადასხვა მოდელებიიგივე მწარმოებლის პროცესორები შეიძლება განსხვავდებოდეს, ამის ნათელი მაგალითი გვაქვს - ოთხბირთვიანი პროცესორი Intel Core 2 Quad, რომელიც არსებითად არის 2 ორბირთვიანი პროცესორიძირითადი 2 დუო ხაზი გაერთიანებულია ერთ შემთხვევაში:

მნიშვნელოვანი! პროცესორის შიგნით კრისტალების რაოდენობა და პროცესორის ბირთვების რაოდენობა არ არის იგივე.

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

სულ ესაა ცენტრალური მიკროპროცესორული მოწყობილობამოკლედ რა თქმა უნდა.

© 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი