ផ្ទះ ផ្សិត ការអនុវត្តស្ថាបត្យកម្មម៉ាស៊ីនហ្គេមពហុខ្សែ។ Bottleneck នៃស្ថាបត្យកម្ម von Neumann

ការអនុវត្តស្ថាបត្យកម្មម៉ាស៊ីនហ្គេមពហុខ្សែ។ Bottleneck នៃស្ថាបត្យកម្ម von Neumann

សេចក្តីផ្តើម។ បច្ចេកវិទ្យាកុំព្យូទ័រកំពុងអភិវឌ្ឍក្នុងល្បឿនយ៉ាងលឿន។ ឧបករណ៍កុំព្យូទ័រកាន់តែមានថាមពល តូចជាងមុន ងាយស្រួលជាងមុន ប៉ុន្តែថ្មីៗនេះការបង្កើនដំណើរការរបស់ឧបករណ៍បានក្លាយជាបញ្ហាធំ។ នៅឆ្នាំ 1965 លោក Gordon Moore (ស្ថាបនិកម្នាក់នៃក្រុមហ៊ុន Intel) បានសន្និដ្ឋានថា "ចំនួននៃត្រង់ស៊ីស្ទ័រដែលដាក់នៅលើបន្ទះសៀគ្វីរួមបញ្ចូលគ្នាកើនឡើងទ្វេដងរៀងរាល់ 24 ខែម្តង" ។

ការវិវឌ្ឍន៍ដំបូងក្នុងវិស័យបង្កើតប្រព័ន្ធពហុដំណើរការបានចាប់ផ្តើមនៅក្នុងទសវត្សរ៍ទី 70 ។ អស់រយៈពេលជាយូរ ដំណើរការនៃដំណើរការ single-core ដែលធ្លាប់ស្គាល់ត្រូវបានកើនឡើងដោយការបង្កើនប្រេកង់នាឡិកា (រហូតដល់ 80% នៃការសម្តែងត្រូវបានកំណត់ត្រឹមប្រេកង់នាឡិកា) ជាមួយនឹងការកើនឡើងក្នុងពេលដំណាលគ្នានៃចំនួន transistor នៅលើបន្ទះឈីប។ ច្បាប់ជាមូលដ្ឋាននៃរូបវិទ្យាបានបញ្ឈប់ដំណើរការនេះ៖ បន្ទះសៀគ្វីចាប់ផ្តើមឡើងកំដៅខ្លាំង បច្ចេកវិទ្យាចាប់ផ្តើមខិតជិតទំហំអាតូមស៊ីលីកុន។ កត្តាទាំងអស់នេះនាំឱ្យ៖

  • ចរន្តលេចធ្លាយបានកើនឡើង ជាលទ្ធផលដែលការសាយភាយកំដៅ និងការប្រើប្រាស់ថាមពលកើនឡើង។
  • ខួរក្បាលបានក្លាយទៅជា "លឿន" ជាងអង្គចងចាំ។ ការអនុវត្តត្រូវបានបង្ខូចដោយសារភាពយឺតយ៉ាវក្នុងការចូលប្រើ RAM និងការផ្ទុកទិន្នន័យទៅក្នុងឃ្លាំងសម្ងាត់។
  • មានរឿងដូចជា "von Neumann bottleneck" ។ វាមានន័យថាអសមត្ថភាពនៃស្ថាបត្យកម្មខួរក្បាលនៅពេលដំណើរការកម្មវិធី។

ប្រព័ន្ធ Multiprocessor (ជាវិធីមួយក្នុងការដោះស្រាយបញ្ហា) មិនត្រូវបានគេប្រើប្រាស់យ៉ាងទូលំទូលាយទេ ដោយសារពួកគេទាមទារថ្លៃ និងពិបាកក្នុងការផលិត motherboards ច្រើន។ ដោយផ្អែកលើនេះ ផលិតភាពកើនឡើងតាមវិធីផ្សេងទៀត។ គំនិតនៃ multithreading បានប្រែក្លាយទៅជាមានប្រសិទ្ធភាព - ដំណើរការដំណាលគ្នានៃចរន្តនៃពាក្យបញ្ជាជាច្រើន។

បច្ចេកវិទ្យា Hyper-Threading Technology (HTT) ឬបច្ចេកវិជ្ជា superthreading ដែលអនុញ្ញាតឱ្យខួរក្បាលដំណើរការកម្មវិធីជាច្រើននៅលើស្នូលតែមួយ។ វាគឺជា HTT នេះបើយោងតាមអ្នកជំនាញជាច្រើន ដែលបានក្លាយជាតម្រូវការជាមុនសម្រាប់ការបង្កើតប្រព័ន្ធដំណើរការពហុស្នូល។ ការប្រតិបត្តិដោយ processor នៃ threads កម្មវិធីជាច្រើនក្នុងពេលតែមួយត្រូវបានគេហៅថា thread-level parallelism (TLP –thread-level parallelism) ។

ដើម្បីដោះសោសក្តានុពលនៃខួរក្បាលពហុស្នូល កម្មវិធីដែលអាចប្រតិបត្តិបានត្រូវតែប្រើស្នូលកុំព្យូទ័រទាំងអស់ ដែលវាមិនតែងតែអាចសម្រេចបាន។ កម្មវិធីស៊េរីចាស់ដែលអាចប្រើស្នូលតែមួយនឹងលែងដំណើរការលឿនជាងមុននៅលើ processors ជំនាន់ថ្មីទៀតហើយ ដូច្នេះអ្នកសរសេរកម្មវិធីបានចូលរួមកាន់តែខ្លាំងឡើងក្នុងការអភិវឌ្ឍន៍ microprocessors ថ្មី។

1. គំនិតទូទៅ

ស្ថាបត្យកម្មក្នុងន័យទូលំទូលាយគឺជាការពិពណ៌នាអំពីប្រព័ន្ធស្មុគស្មាញដែលមានធាតុផ្សំជាច្រើន។

នៅក្នុងដំណើរការនៃការអភិវឌ្ឍរចនាសម្ព័ន្ធ semiconductor (microcircuits) មានការវិវឌ្ឍ ដូច្នេះគោលការណ៍នៃការបង្កើត processors ចំនួននៃធាតុដែលបានរួមបញ្ចូលនៅក្នុងសមាសភាពរបស់ពួកគេ របៀបនៃអន្តរកម្មរបស់ពួកគេត្រូវបានរៀបចំឡើងគឺផ្លាស់ប្តូរជានិច្ច។ ដូច្នេះ ស៊ីភីយូដែលមានគោលការណ៍ជាមូលដ្ឋានដូចគ្នានៃរចនាសម្ព័ន្ធ ជាធម្មតាត្រូវបានគេហៅថា ដំណើរការនៃស្ថាបត្យកម្មដូចគ្នា។ ហើយគោលការណ៍ទាំងនេះខ្លួនឯងត្រូវបានគេហៅថាស្ថាបត្យកម្មដំណើរការ (ឬស្ថាបត្យកម្មមីក្រូ) ។

microprocessor (ឬ processor) គឺជាផ្នែកសំខាន់នៃកុំព្យូទ័រ។ វាដំណើរការព័ត៌មាន ប្រតិបត្តិកម្មវិធី និងគ្រប់គ្រងឧបករណ៍ផ្សេងទៀតនៅក្នុងប្រព័ន្ធ។ ថាមពលរបស់ខួរក្បាលកំណត់ថាតើកម្មវិធីនឹងដំណើរការលឿនប៉ុណ្ណា។

ស្នូលគឺជាមូលដ្ឋាននៃ microprocessor ណាមួយ។ វាមានត្រង់ស៊ីស្ទ័ររាប់លានដែលមានទីតាំងនៅលើបន្ទះឈីបស៊ីលីកុន។ microprocessor ត្រូវបានបែងចែកទៅជាកោសិកាពិសេស ដែលត្រូវបានគេហៅថា General purpose registers (RON)។ ការងាររបស់ខួរក្បាលជាទូទៅមាននៅក្នុងការទាញយកពាក្យបញ្ជា និងទិន្នន័យពីអង្គចងចាំក្នុងលំដាប់ជាក់លាក់មួយ ហើយប្រតិបត្តិពួកវា។ លើសពីនេះទៀតដើម្បីបង្កើនល្បឿននៃកុំព្យូទ័រ microprocessor ត្រូវបានបំពាក់ដោយអង្គចងចាំឃ្លាំងសម្ងាត់ខាងក្នុង។ ឃ្លាំងសម្ងាត់គឺជាអង្គចងចាំខាងក្នុងរបស់ខួរក្បាលដែលប្រើជាសតិបណ្ដោះអាសន្ន (ដើម្បីការពារប្រឆាំងនឹងការរំខានក្នុងការទំនាក់ទំនងជាមួយ RAM) ។

ប្រព័ន្ធដំណើរការ Intel ដែលប្រើក្នុងកុំព្យូទ័រដែលឆបគ្នាជាមួយ IBM មានការណែនាំច្រើនជាងមួយពាន់ ហើយជាកម្មសិទ្ធិរបស់ processors ជាមួយនឹងសំណុំការណែនាំបន្ថែម - CISC-processors (CISC - Complex Instruction Set Computing)។

1.1 ការគណនាដំណើរការខ្ពស់។ ភាពស្របគ្នា។

ល្បឿននៃការអភិវឌ្ឍន៍បច្ចេកវិជ្ជាកុំព្យូទ័រគឺងាយស្រួលធ្វើតាម៖ ពី ENIAC (កុំព្យូទ័រឌីជីថលអេឡិចត្រូនិចដែលមានគោលបំណងទូទៅដំបូងគេ) ជាមួយនឹងដំណើរការជាច្រើនពាន់ប្រតិបត្តិការក្នុងមួយវិនាទីទៅកុំព្យូទ័រ Tianhe-2 supercomputer (1000 ពាន់ពាន់លានប្រតិបត្តិការចំណុចអណ្តែតក្នុងមួយវិនាទី) ។ នេះមានន័យថាល្បឿននៃការគណនាបានកើនឡើងមួយពាន់ពាន់លានដងក្នុងរយៈពេល 60 ឆ្នាំ។ ការបង្កើតប្រព័ន្ធកុំព្យូទ័រដែលមានប្រសិទ្ធភាពខ្ពស់ គឺជាកិច្ចការវិទ្យាសាស្ត្រ និងបច្ចេកទេសដ៏លំបាកបំផុតមួយ។ ខណៈពេលដែលល្បឿនកុំព្យូទ័ររបស់ Hardware បានកើនឡើងត្រឹមតែពីរបីលានដងប៉ុណ្ណោះ ល្បឿនគណនាសរុបបានកើនឡើងរាប់លានដង។ ប្រសិទ្ធភាពនេះត្រូវបានសម្រេចតាមរយៈការប្រើប្រាស់ភាពស្របគ្នានៅគ្រប់ដំណាក់កាលនៃការគណនា។ ការគណនាប៉ារ៉ាឡែលទាមទារការស្វែងរកការបែងចែកសនិទានភាពនៃអង្គចងចាំ វិធីដែលអាចទុកចិត្តបាននៃការផ្ទេរព័ត៌មាន និងការសម្របសម្រួលដំណើរការគណនា។

1.2 ដំណើរការច្រើនស៊ីមេទ្រី

Symmetric Multiprocessing (អក្សរកាត់ថា SMP) ឬ symmetric multiprocessing គឺជាស្ថាបត្យកម្មពិសេសនៃប្រព័ន្ធ multiprocessor ដែល processors ជាច្រើនមានសិទ្ធិចូលប្រើ memory រួម។ នេះ​ជា​ស្ថាបត្យកម្ម​ទូទៅ​ដែល​ត្រូវ​បាន​ប្រើ​យ៉ាង​ទូលំទូលាយ​ក្នុង​ពេល​ថ្មីៗ​នេះ។

នៅពេលប្រើ SMP ប្រព័ន្ធដំណើរការជាច្រើនដំណើរការក្នុងពេលដំណាលគ្នានៅក្នុងកុំព្យូទ័រ ដែលនីមួយៗមានភារកិច្ចផ្ទាល់ខ្លួន។ ប្រព័ន្ធ SMP ដែលមានប្រព័ន្ធប្រតិបត្តិការដែលមានគុណភាពខ្ពស់ ចែកចាយកិច្ចការរវាង processors ដោយសមហេតុផល ដោយធានានូវបន្ទុកស្មើគ្នាលើពួកវានីមួយៗ។ ទោះយ៉ាងណាក៏ដោយ មានបញ្ហាជាមួយនឹងការប្តូរអង្គចងចាំ ពីព្រោះសូម្បីតែប្រព័ន្ធ uniprocessor ត្រូវការពេលវេលាយូរសម្រាប់រឿងនេះ។ ដូច្នេះការចូលប្រើ RAM ក្នុង SMP កើតឡើងជាបន្តបន្ទាប់៖ ទីមួយដំណើរការមួយ បន្ទាប់មកទីពីរ។

ដោយសារលក្ខណៈពិសេសខាងលើ ប្រព័ន្ធ SMP ត្រូវបានប្រើប្រាស់ទាំងស្រុងក្នុងវិស័យវិទ្យាសាស្ត្រ ឧស្សាហកម្ម អាជីវកម្ម កម្រណាស់នៅក្នុងការិយាល័យការងារ។ បន្ថែមពីលើការចំណាយខ្ពស់នៃការអនុវត្តផ្នែករឹង ប្រព័ន្ធបែបនេះត្រូវការកម្មវិធីដែលមានតម្លៃថ្លៃ និងគុណភាពខ្ពស់ដែលផ្តល់នូវការអនុវត្តការងារច្រើនខ្សែ។ កម្មវិធីធម្មតា (ហ្គេម កម្មវិធីនិពន្ធអត្ថបទ) នឹងមិនដំណើរការប្រកបដោយប្រសិទ្ធភាពនៅក្នុងប្រព័ន្ធ SMP ទេ ដោយសារពួកគេមិនផ្តល់កម្រិតនៃភាពស្របគ្នានេះ។ ប្រសិនបើអ្នកសម្របកម្មវិធីណាមួយសម្រាប់ប្រព័ន្ធ SMP វានឹងក្លាយទៅជាគ្មានប្រសិទ្ធភាពខ្លាំងក្នុងការដំណើរការលើប្រព័ន្ធដំណើរការតែមួយ ដែលនាំឱ្យមានតម្រូវការក្នុងការបង្កើតកំណែជាច្រើននៃកម្មវិធីដូចគ្នាសម្រាប់ប្រព័ន្ធផ្សេងៗគ្នា។ ករណីលើកលែងគឺ ជាឧទាហរណ៍ កម្មវិធី ABLETON LIVE (រចនាឡើងសម្រាប់បង្កើតតន្ត្រី និងរៀបចំ Dj-sets) ដែលមានការគាំទ្រសម្រាប់ប្រព័ន្ធពហុដំណើរការ។ ប្រសិនបើអ្នកដំណើរការកម្មវិធីធម្មតានៅលើប្រព័ន្ធ multiprocessor វានឹងនៅតែដំណើរការលឿនជាងនៅលើ processor តែមួយ។ នេះគឺដោយសារតែអ្វីដែលហៅថា hardware interrupt (បញ្ឈប់កម្មវិធីសម្រាប់ដំណើរការដោយ kernel) ដែលត្រូវបានប្រតិបត្តិលើ processor ឥតគិតថ្លៃផ្សេងទៀត។

ប្រព័ន្ធ SMP (ដូចជាប្រព័ន្ធផ្សេងទៀតដែលមានមូលដ្ឋានលើកុំព្យូទ័រប៉ារ៉ាឡែល) កំណត់តម្រូវការកើនឡើងលើប៉ារ៉ាម៉ែត្រនៃអង្គចងចាំដូចជាល្បឿនបញ្ជូនទិន្នន័យរបស់រថយន្តក្រុង។ នេះច្រើនតែកំណត់ចំនួន processors នៅក្នុងប្រព័ន្ធមួយ (ប្រព័ន្ធ SMP ទំនើបដំណើរការយ៉ាងមានប្រសិទ្ធភាពជាមួយ processors រហូតដល់ 16)។

ដោយសារ processors មានអង្គចងចាំចែករំលែក នោះវាចាំបាច់ក្នុងការប្រើប្រាស់វាដោយសមហេតុផល និងសំរបសំរួលទិន្នន័យ។ នៅក្នុងប្រព័ន្ធ multiprocessor វាប្រែថាឃ្លាំងសម្ងាត់ជាច្រើនដំណើរការសម្រាប់ធនធានអង្គចងចាំដែលបានចែករំលែក។ ភាពជាប់គ្នានៃឃ្លាំងសម្ងាត់គឺជាទ្រព្យសម្បត្តិឃ្លាំងសម្ងាត់ដែលធានានូវភាពត្រឹមត្រូវនៃទិន្នន័យដែលបានរក្សាទុកក្នុងឃ្លាំងសម្ងាត់បុគ្គលសម្រាប់ធនធានដែលបានចែករំលែក។ គំនិតនេះគឺជាករណីពិសេសនៃគោលគំនិតនៃការស៊ីគ្នានៃការចងចាំ ដែលស្នូលជាច្រើនមានលទ្ធភាពចូលទៅកាន់អង្គចងចាំធម្មតា (វាមានគ្រប់ទីកន្លែងនៅក្នុងប្រព័ន្ធពហុស្នូលទំនើប) ។ ប្រសិនបើយើងពិពណ៌នាអំពីគោលគំនិតទាំងនេះក្នុងន័យទូទៅ នោះរូបភាពនឹងមានដូចខាងក្រោម៖ ប្លុកទិន្នន័យដូចគ្នាអាចត្រូវបានផ្ទុកទៅក្នុងឃ្លាំងសម្ងាត់ផ្សេងៗគ្នា ដែលទិន្នន័យត្រូវបានដំណើរការខុសគ្នា។

ប្រសិនបើការជូនដំណឹងអំពីការផ្លាស់ប្តូរទិន្នន័យមិនត្រូវបានប្រើទេ កំហុសនឹងកើតឡើង។ ភាពស៊ីសង្វាក់គ្នានៃឃ្លាំងសម្ងាត់ត្រូវបានរចនាឡើងដើម្បីដោះស្រាយជម្លោះបែបនេះ និងរក្សាភាពស៊ីសង្វាក់គ្នានៃទិន្នន័យនៅក្នុងឃ្លាំងសម្ងាត់។

ប្រព័ន្ធ SMP គឺជាសំណុំរងនៃ MIMD (ប្រព័ន្ធគណនាពហុទិន្នន័យច្រើន) ចំណាត់ថ្នាក់នៃប្រព័ន្ធកុំព្យូទ័រយោងទៅតាម Flynn (សាស្រ្តាចារ្យនៅសាកលវិទ្យាល័យ Stanford សហស្ថាបនិក Palyn Associates) ។ យោងតាមការចាត់ថ្នាក់នេះ ស្ទើរតែគ្រប់ពូជនៃប្រព័ន្ធប៉ារ៉ាឡែលអាចត្រូវបានកំណត់គុណលក្ខណៈ MIMD ។

ការបែងចែកប្រព័ន្ធពហុដំណើរការទៅជាប្រភេទកើតឡើងនៅលើមូលដ្ឋាននៃការបែងចែកតាមគោលការណ៍នៃការប្រើប្រាស់អង្គចងចាំ។ វិធីសាស្រ្តនេះបានធ្វើឱ្យវាអាចបែងចែកប្រភេទសំខាន់ៗដូចខាងក្រោម

ប្រព័ន្ធ multiprocessor - multiprocessor (ប្រព័ន្ធ multiprocessor ដែលមានអង្គចងចាំរួម) និង multicomputers (ប្រព័ន្ធដែលមានអង្គចងចាំដាច់ដោយឡែក)។ ទិន្នន័យដែលបានចែករំលែកដែលប្រើក្នុងការគណនាប៉ារ៉ាឡែលទាមទារការធ្វើសមកាលកម្ម។ ភារកិច្ចនៃការធ្វើសមកាលកម្មទិន្នន័យគឺជាបញ្ហាសំខាន់បំផុតមួយ ហើយដំណោះស្រាយរបស់វាក្នុងការអភិវឌ្ឍន៍ពហុដំណើរការ និងពហុស្នូល ហើយអាស្រ័យហេតុនេះ កម្មវិធីចាំបាច់គឺជាអាទិភាពសម្រាប់វិស្វករ និងអ្នកសរសេរកម្មវិធី។ ទិន្នន័យអាចត្រូវបានចែករំលែកជាមួយការបែងចែកអង្គចងចាំជាក់ស្តែង។ វិធីសាស្រ្តនេះត្រូវបានគេហៅថា non-uniform memory access (NUMA)។

ប្រព័ន្ធទាំងនេះរួមមាន:

  • ប្រព័ន្ធដែលមានតែឃ្លាំងសម្ងាត់ដំណើរការបុគ្គលប៉ុណ្ណោះដែលត្រូវបានប្រើដើម្បីតំណាងឱ្យទិន្នន័យ (ស្ថាបត្យកម្មអង្គចងចាំតែឃ្លាំងសម្ងាត់ប៉ុណ្ណោះ)។
  • ប្រព័ន្ធដែលមានភាពជាប់គ្នានៃឃ្លាំងសម្ងាត់មូលដ្ឋានសម្រាប់ដំណើរការផ្សេងៗគ្នា (ឃ្លាំងសម្ងាត់ NUMA) ។
  • ប្រព័ន្ធដែលផ្តល់នូវការចូលប្រើរួមគ្នាទៅកាន់អង្គចងចាំដំណើរការនីមួយៗដោយមិនអនុវត្ត NUMA ដែលមិនមែនជាឃ្លាំងសម្ងាត់នៅកម្រិតផ្នែករឹង។

ភាពសាមញ្ញនៃបញ្ហានៃការបង្កើតប្រព័ន្ធ multiprocessor ត្រូវបានសម្រេចដោយប្រើអង្គចងចាំដែលបានចែកចាយ ប៉ុន្តែវិធីសាស្ត្រនេះនាំឱ្យមានការកើនឡើងគួរឱ្យកត់សម្គាល់នៅក្នុងភាពស្មុគស្មាញនៃការសរសេរកម្មវិធីប៉ារ៉ាឡែល។

1.3 ខ្សែអក្សរច្រើនក្នុងពេលដំណាលគ្នា។

ដោយផ្អែកលើគុណវិបត្តិខាងលើទាំងអស់នៃការដំណើរការពហុស៊ីមេទ្រី វាសមហេតុផលក្នុងការអភិវឌ្ឍន៍ និងអភិវឌ្ឍវិធីផ្សេងទៀតដើម្បីកែលម្អការអនុវត្ត។ ប្រសិនបើអ្នកវិភាគប្រតិបត្តិការរបស់ transistor នីមួយៗនៅក្នុង processor អ្នកអាចយកចិត្តទុកដាក់លើការពិតគួរឱ្យចាប់អារម្មណ៍មួយ - នៅពេលអនុវត្តប្រតិបត្តិការគណនាភាគច្រើនគឺនៅឆ្ងាយពីសមាសធាតុ processor ទាំងអស់ (យោងទៅតាមការសិក្សាថ្មីៗនេះប្រហែល 30% នៃ transistor ទាំងអស់) ។ ដូច្នេះ ប្រសិនបើ processor ដំណើរការ ចូរនិយាយថា ប្រតិបត្តិការនព្វន្ធសាមញ្ញ នោះ processor ភាគច្រើននៅទំនេរ ដូច្នេះហើយ វាអាចត្រូវបានប្រើសម្រាប់ការគណនាផ្សេងទៀត។ ដូច្នេះ ប្រសិនបើប្រព័ន្ធដំណើរការបច្ចុប្បន្នកំពុងអនុវត្តប្រតិបត្តិការពិតប្រាកដនោះ ប្រតិបត្តិការនព្វន្ធចំនួនគត់អាចត្រូវបានផ្ទុកទៅក្នុងផ្នែកឥតគិតថ្លៃ។ ដើម្បីបង្កើនការផ្ទុកនៅលើ processor អ្នកអាចបង្កើតការប៉ាន់ស្មាន (ឬកម្រិតខ្ពស់) នៃប្រតិបត្តិការដែលតម្រូវឱ្យមានភាពស្មុគស្មាញយ៉ាងខ្លាំងនៃតក្កវិជ្ជាផ្នែករឹងរបស់ខួរក្បាល។ ប្រសិនបើកម្មវិធីកំណត់ខ្សែស្រឡាយជាមុន (លំដាប់នៃពាក្យបញ្ជា) ដែលអាចត្រូវបានប្រតិបត្តិដោយឯករាជ្យពីគ្នាទៅវិញទៅមក នោះវានឹងធ្វើឱ្យកិច្ចការងាយស្រួលយ៉ាងសំខាន់ (វិធីសាស្ត្រនេះត្រូវបានអនុវត្តយ៉ាងងាយស្រួលនៅកម្រិតផ្នែករឹង)។ គំនិតនេះដែលជាកម្មសិទ្ធិរបស់ Dean Tulsen (ត្រូវបានបង្កើតឡើងដោយគាត់ក្នុងឆ្នាំ 1955 នៅសាកលវិទ្យាល័យ Washington) ត្រូវបានគេហៅថា simul-taneous multithreading ។ ក្រោយមកវាត្រូវបានបង្កើតឡើងដោយ Intel ក្រោមឈ្មោះ hyperthreading ។ ឧទាហរណ៍ processor មួយដំណើរការ threads ជាច្រើនត្រូវបានយល់ឃើញដោយប្រព័ន្ធប្រតិបត្តិការ Windows ជា processors ជាច្រើន។ ការប្រើប្រាស់បច្ចេកវិទ្យានេះម្តងទៀតតម្រូវឱ្យមានកម្រិតសមស្របនៃកម្មវិធី។ ឥទ្ធិពលអតិបរមាពីការប្រើប្រាស់បច្ចេកវិទ្យា multithreading គឺប្រហែល 30%។

1.4 ពហុស្នូល

បច្ចេកវិទ្យា Multithreading គឺជាការអនុវត្តនៃ multi-core នៅកម្រិតកម្មវិធី។ ការកើនឡើងបន្ថែមទៀតនៃដំណើរការដូចដែលតែងតែត្រូវការការផ្លាស់ប្តូរផ្នែករឹងរបស់ខួរក្បាល។ ភាពស្មុគស្មាញនៃប្រព័ន្ធ និងស្ថាបត្យកម្មមិនតែងតែមានប្រសិទ្ធភាពទេ។ មានមតិផ្ទុយគ្នា៖ "អ្វីគ្រប់យ៉ាងដែលប៉ិនប្រសប់គឺសាមញ្ញ!" ជាការពិតណាស់ ដើម្បីបង្កើនដំណើរការរបស់ខួរក្បាល វាមិនចាំបាច់ទាល់តែសោះ ក្នុងការបង្កើនប្រេកង់នាឡិការបស់វា ធ្វើឱ្យស្មុគស្មាញដល់សមាសធាតុឡូជីខល និងផ្នែករឹង ព្រោះវាគ្រប់គ្រាន់ដើម្បីគ្រាន់តែវែកញែក និងកែលម្អបច្ចេកវិទ្យាដែលមានស្រាប់។ វិធីសាស្រ្តនេះគឺមានផលចំណេញច្រើន - មិនចាំបាច់ដោះស្រាយបញ្ហានៃការបង្កើនការសាយភាយកំដៅនៃខួរក្បាលការអភិវឌ្ឍឧបករណ៍ថ្លៃ ៗ ថ្មីសម្រាប់ការផលិត microcircuits ។ វិធីសាស្រ្តនេះត្រូវបានអនុវត្តជាផ្នែកមួយនៃបច្ចេកវិទ្យាពហុស្នូល - ការអនុវត្តស្នូលកុំព្យូទ័រជាច្រើននៅលើបន្ទះឈីបតែមួយ។ ប្រសិនបើអ្នកយក processor ដើម ហើយប្រៀបធៀបការទទួលបានលទ្ធផលពីការអនុវត្តការពង្រឹងការអនុវត្តច្រើន វាច្បាស់ណាស់ថាបច្ចេកវិទ្យា multi-core គឺជាជម្រើសដ៏ល្អបំផុត។

ប្រសិនបើយើងប្រៀបធៀបស្ថាបត្យកម្មរបស់ multiprocessor ស៊ីមេទ្រី និងពហុស្នូល ពួកវានឹងប្រែទៅជាស្ទើរតែដូចគ្នា។ អង្គចងចាំឃ្លាំងសម្ងាត់នៃស្នូលអាចមានច្រើនកម្រិត (មូលដ្ឋាន និងចែករំលែក ហើយទិន្នន័យពី RAM អាចផ្ទុកដោយផ្ទាល់ទៅក្នុងអង្គចងចាំឃ្លាំងសម្ងាត់កម្រិតទីពីរ)។ ដោយផ្អែកលើគុណសម្បត្តិដែលបានពិចារណានៃស្ថាបត្យកម្មពហុស្នូលនៃខួរក្បាលអ្នកផលិតផ្តោតលើវា។ បច្ចេកវិទ្យានេះប្រែទៅជាថោកណាស់ក្នុងការអនុវត្ត និងជាសកល ដែលធ្វើឱ្យវាអាចនាំវាទៅកាន់ទីផ្សារធំទូលាយ។ លើសពីនេះ ស្ថាបត្យកម្មនេះបានធ្វើការកែតម្រូវដោយខ្លួនឯងចំពោះច្បាប់របស់ Moore៖ "ចំនួនស្នូលកុំព្យូទ័រនៅក្នុងខួរក្បាលនឹងកើនឡើងទ្វេដងរៀងរាល់ 18 ខែម្តង"។

ប្រសិនបើអ្នកក្រឡេកមើលទីផ្សារបច្ចេកវិជ្ជាកុំព្យូទ័រទំនើប អ្នកអាចមើលឃើញថាឧបករណ៍ដែលមានប្រព័ន្ធដំណើរការបួន និងប្រាំបីស្នូលគ្រប់គ្រង។ លើសពីនេះ ក្រុមហ៊ុនផលិត processor បាននិយាយថា processors ដែលមានស្នូលដំណើរការរាប់រយនឹងឃើញនៅលើទីផ្សារឆាប់ៗនេះ។ ដូចដែលត្រូវបានគេនិយាយម្តងហើយម្តងទៀត សក្តានុពលពេញលេញនៃស្ថាបត្យកម្មពហុស្នូលត្រូវបានបង្ហាញតែជាមួយកម្មវិធីដែលមានគុណភាពខ្ពស់ប៉ុណ្ណោះ។ ដូច្នេះ វិសាលភាពនៃការផលិតផ្នែករឹង និងសូហ្វវែររបស់កុំព្យូទ័រមានទំនាក់ទំនងយ៉ាងជិតស្និទ្ធ។

ប៉ុន្តែជាមួយនឹងការសញ្ជ័យនៃកំពូលថ្មីនៅក្នុងសូចនាករប្រេកង់ វាកាន់តែពិបាកក្នុងការបង្កើនវា ដោយសារតែនេះប៉ះពាល់ដល់ការកើនឡើងនៃ TDP នៃដំណើរការ។ ដូច្នេះហើយ អ្នកអភិវឌ្ឍន៍បានចាប់ផ្តើមពង្រីក processors ក្នុងទទឹង ពោលគឺ បន្ថែមស្នូល ហើយគំនិតនៃពហុស្នូលក៏បានកើតឡើង។

តាមព្យញ្ជនៈកាលពី 6-7 ឆ្នាំមុន ដំណើរការពហុស្នូលគឺស្ទើរតែមិនដែលឮ។ ទេ ប្រព័ន្ធដំណើរការពហុស្នូលពីក្រុមហ៊ុន IBM ដូចគ្នាមានពីមុនមក ប៉ុន្តែរូបរាងរបស់ខួរក្បាលប្រភេទ dual-core ដំបូងសម្រាប់ កុំព្យូទ័រលើតុបានកើតឡើងតែនៅក្នុងឆ្នាំ 2005 ប៉ុណ្ណោះ ហើយដំណើរការនេះត្រូវបានគេហៅថា Pentium D. ផងដែរ ក្នុងឆ្នាំ 2005 ក្រុមហ៊ុន AMD's dual-core Opteron ត្រូវបានចេញផ្សាយ ប៉ុន្តែសម្រាប់ប្រព័ន្ធម៉ាស៊ីនមេ។

នៅក្នុងអត្ថបទនេះ យើងនឹងមិនស្វែងយល់ពីការពិតប្រវត្តិសាស្រ្តឱ្យបានលម្អិតនោះទេ ប៉ុន្តែនឹងពិភាក្សាអំពីដំណើរការពហុស្នូលទំនើបដែលជាលក្ខណៈមួយនៃស៊ីភីយូ។ ហើយសំខាន់បំផុត - យើងត្រូវរកឱ្យឃើញនូវអ្វីដែលពហុស្នូលនេះផ្តល់ឱ្យនៅក្នុងលក្ខខណ្ឌនៃដំណើរការសម្រាប់ខួរក្បាលនិងសម្រាប់អ្នកនិងខ្ញុំ។

បង្កើនប្រសិទ្ធភាពជាមួយពហុស្នូល

គោលការណ៍នៃការបង្កើនដំណើរការរបស់ខួរក្បាលដោយសារតែស្នូលជាច្រើនគឺដើម្បីបំបែកការប្រតិបត្តិនៃខ្សែស្រឡាយ (កិច្ចការផ្សេងៗ) ទៅជាស្នូលជាច្រើន។ សរុបមក ស្ទើរតែគ្រប់ដំណើរការដែលដំណើរការលើប្រព័ន្ធរបស់អ្នកមានខ្សែស្រឡាយច្រើន។

ខ្ញុំនឹងធ្វើការកក់ទុកភ្លាមៗថាប្រព័ន្ធប្រតិបត្តិការស្ទើរតែអាចបង្កើតខ្សែស្រឡាយជាច្រើនសម្រាប់ខ្លួនវា ហើយធ្វើវាទាំងអស់ក្នុងពេលតែមួយ បើទោះបីជាខួរក្បាលមានស្នូលតែមួយក៏ដោយ។ គោលការណ៍នេះអនុវត្តមុខងារ Windows ច្រើនដូចគ្នា (ឧទាហរណ៍ ស្តាប់តន្ត្រី និងវាយអក្សរក្នុងពេលតែមួយ)។


តោះយកកម្មវិធីកំចាត់មេរោគជាឧទាហរណ៍។ យើងនឹងមានខ្សែស្រឡាយមួយស្កេនកុំព្យូទ័រ មួយទៀត - ធ្វើបច្ចុប្បន្នភាពមូលដ្ឋានទិន្នន័យប្រឆាំងមេរោគ (យើងបានសម្រួលអ្វីៗគ្រប់យ៉ាងដើម្បីយល់ពីគំនិតទូទៅ) ។

ហើយពិចារណាពីអ្វីដែលនឹងកើតឡើងនៅក្នុងករណីពីរផ្សេងគ្នា៖

ក) ដំណើរការស្នូលតែមួយ។ដោយសារខ្សែស្រលាយពីរកំពុងដំណើរការក្នុងពេលដំណាលគ្នា យើងត្រូវបង្កើតសម្រាប់អ្នកប្រើប្រាស់ (ដោយមើលឃើញ) ការប្រតិបត្តិក្នុងពេលដំណាលគ្នានេះ។ ប្រព័ន្ធប្រតិបត្តិការមានល្បិច៖មានការផ្លាស់ប្តូររវាងការប្រតិបត្តិនៃខ្សែស្រឡាយទាំងពីរនេះ (ការប្តូរទាំងនេះភ្លាមៗ ហើយពេលវេលាគឺគិតជាមិល្លីវិនាទី)។ នោះគឺប្រព័ន្ធ "បានអនុវត្ត" ការអាប់ដេតបន្តិចបន្តួច បន្ទាប់មកប្តូរទៅការស្កេនភ្លាមៗ បន្ទាប់មកត្រលប់ទៅការធ្វើបច្ចុប្បន្នភាពវិញ។ ដូច្នេះសម្រាប់អ្នក និងខ្ញុំ វាហាក់បីដូចជាកិច្ចការទាំងពីរនេះកំពុងត្រូវបានអនុវត្តក្នុងពេលដំណាលគ្នា។ ប៉ុន្តែអ្វីដែលកំពុងបាត់បង់? ជាការពិតណាស់ការសម្តែង។ ដូច្នេះសូមក្រឡេកមើលជម្រើសទីពីរ។

ខ) ខួរក្បាលគឺពហុស្នូល។ក្នុងករណីនេះការប្តូរនេះនឹងមិនកើតឡើងទេ។ ប្រព័ន្ធនឹងបញ្ជូនខ្សែស្រឡាយនីមួយៗយ៉ាងច្បាស់ទៅស្នូលដាច់ដោយឡែក ដែលជាលទ្ធផលនឹងអនុញ្ញាតឱ្យយើងកម្ចាត់ការប្តូរពីខ្សែស្រឡាយទៅជាខ្សែស្រឡាយដែលរំខានដល់ដំណើរការ (សូមកំណត់ស្ថានភាពតាមឧត្ដមគតិ)។ ខ្សែស្រឡាយពីរដំណើរការក្នុងពេលដំណាលគ្នានេះគឺជាគោលការណ៍នៃពហុស្នូលនិងពហុខ្សែស្រឡាយ។ នៅទីបំផុត យើងនឹងធ្វើការស្កែន និងអាប់ដេតលឿនជាងនៅលើខួរក្បាលពហុស្នូលជាងនៅលើ single-core។ ប៉ុន្តែមានការចាប់ - មិនមែនគ្រប់កម្មវិធីទាំងអស់គាំទ្រពហុស្នូលទេ។ មិនមែនគ្រប់កម្មវិធីទាំងអស់អាចត្រូវបានធ្វើឱ្យប្រសើរតាមវិធីនេះទេ។ ហើយអ្វីគ្រប់យ៉ាងកើតឡើងឆ្ងាយពីភាពល្អឥតខ្ចោះដូចដែលយើងបានពិពណ៌នា។ ប៉ុន្តែជារៀងរាល់ថ្ងៃ អ្នកអភិវឌ្ឍន៍បង្កើតកម្មវិធីកាន់តែច្រើនឡើង ដែលកូដរបស់ពួកគេត្រូវបានកែលម្អយ៉ាងល្អឥតខ្ចោះសម្រាប់ការប្រតិបត្តិលើប្រព័ន្ធដំណើរការពហុស្នូល។

តើប្រព័ន្ធដំណើរការពហុស្នូលចាំបាច់ទេ? ភាពសមហេតុផលប្រចាំថ្ងៃ

នៅ ជម្រើសនៃដំណើរការសម្រាប់កុំព្យូទ័រ (ឧទាហរណ៍នៅពេលគិតអំពីចំនួនស្នូល) អ្នកគួរតែកំណត់ប្រភេទការងារសំខាន់ៗដែលវានឹងអនុវត្ត។

ដើម្បីបង្កើនចំណេះដឹងក្នុងវិស័យផ្នែករឹងកុំព្យូទ័រ អ្នកអាចអានសម្ភារៈអំពី រន្ធដំណើរការ .

ចំណុចចាប់ផ្តើមអាចត្រូវបានគេហៅថាប្រព័ន្ធដំណើរការ dual-core ព្រោះវាគ្មានន័យទេក្នុងការត្រលប់ទៅដំណោះស្រាយ single-core វិញ។ ប៉ុន្តែប្រព័ន្ធដំណើរការ dual-core គឺខុសគ្នា។ វាប្រហែលជាមិនមែនជា Celeron ថ្មីបំផុត ឬវាអាចជា Core i3 នៅលើ Ivy Bridge ដូច AMD - Sempron ឬ Phenom II ដែរ។ តាមធម្មជាតិ ដោយសារសូចនាករផ្សេងទៀត ការអនុវត្តរបស់ពួកគេនឹងមានភាពខុសគ្នាខ្លាំង ដូច្នេះអ្នកត្រូវមើលអ្វីៗគ្រប់យ៉ាងឱ្យបានទូលំទូលាយ និងប្រៀបធៀបពហុស្នូលជាមួយអ្នកដទៃ។ លក្ខណៈពិសេសនៃដំណើរការ.

ឧទាហរណ៍ Core i3 នៅលើ Ivy Bridge មានបច្ចេកវិទ្យា Hyper-Treading ដែលអនុញ្ញាតឱ្យអ្នកដំណើរការ 4 threads ក្នុងពេលដំណាលគ្នា (ប្រព័ន្ធប្រតិបត្តិការឃើញ 4 logical cores ជំនួសឱ្យ 2 physical ones)។ ហើយ Celeron ដូចគ្នាមិនមានអួតពីរឿងនោះទេ។

ប៉ុន្តែសូមត្រឡប់ដោយផ្ទាល់ទៅការឆ្លុះបញ្ចាំងលើកិច្ចការដែលត្រូវការ។ ប្រសិនបើកុំព្យូទ័រត្រូវការសម្រាប់ការងារការិយាល័យ និងប្រើប្រាស់អ៊ីនធឺណិត នោះប្រព័ន្ធដំណើរការ dual-core គឺគ្រប់គ្រាន់សម្រាប់វា។

នៅពេលនិយាយអំពីដំណើរការលេងហ្គេម អ្នកត្រូវការ 4 cores ឬច្រើនជាងនេះដើម្បីឱ្យមានផាសុកភាពនៅក្នុងហ្គេមភាគច្រើន។ ប៉ុន្តែនៅទីនេះការចាប់បានយ៉ាងខ្លាំងលេចឡើង: មិនមែនហ្គេមទាំងអស់សុទ្ធតែមានកូដធ្វើឱ្យប្រសើរសម្រាប់ប្រព័ន្ធដំណើរការ 4-core ហើយប្រសិនបើពួកគេត្រូវបានធ្វើឱ្យប្រសើរនោះវាមិនមានប្រសិទ្ធភាពដូចដែលយើងចង់បាននោះទេ។ ប៉ុន្តែជាគោលការណ៍ សម្រាប់ហ្គេមឥឡូវនេះ ដំណោះស្រាយដ៏ប្រសើរបំផុតគឺប្រព័ន្ធដំណើរការស្នូលទី 4 យ៉ាងជាក់លាក់។


សព្វថ្ងៃនេះ ប្រព័ន្ធដំណើរការ AMD 8-core ដូចគ្នាគឺលែងប្រើសម្រាប់ហ្គេម វាជាចំនួនស្នូលដែលលែងត្រូវការគ្នា ប៉ុន្តែដំណើរការមិនស្មើទេ ប៉ុន្តែពួកគេមានគុណសម្បត្តិផ្សេងទៀត។ ស្នូលទាំង 8 ដូចគ្នានេះនឹងជួយច្រើនក្នុងកិច្ចការដែលការងារដ៏មានអានុភាពជាមួយនឹងបន្ទុកច្រើនខ្សែដែលមានគុណភាពខ្ពស់គឺត្រូវការ។ នេះរួមបញ្ចូលឧទាហរណ៍ ការបង្ហាញ (ការគណនា) វីដេអូ ឬកុំព្យូទ័រម៉ាស៊ីនមេ។ ដូច្នេះសម្រាប់ភារកិច្ចបែបនេះ 6, 8 ឬច្រើនស្នូលគឺត្រូវការ។ ហើយឆាប់ៗនេះហ្គេមនឹងអាចផ្ទុកស្នូល 8 ឬច្រើនជាមួយនឹងគុណភាពខ្ពស់ ដូច្នេះនៅពេលអនាគត អ្វីគ្រប់យ៉ាងគឺមានភាពរស់រវើក។

កុំភ្លេចថានៅតែមានភារកិច្ចជាច្រើនដែលបង្កើតបន្ទុកតែមួយ។ ហើយអ្នកគួរសួរខ្លួនឯងនូវសំណួរ៖ តើខ្ញុំត្រូវការ 8-core នេះឬអត់?

សរុបមកខ្ញុំសូមកត់សម្គាល់ម្តងទៀតថា គុណសម្បត្តិនៃពហុស្នូលត្រូវបានបង្ហាញក្នុងអំឡុងពេលការងារពហុខ្សែរកុំព្យូទ័រ "ធ្ងន់" ។ ហើយ​ប្រសិន​បើ​អ្នក​មិន​លេង​ហ្គេម​ដែល​មាន​តម្រូវ​ការ​ហួសហេតុ ហើយ​មិន​ធ្វើ​ប្រភេទ​ការងារ​ជាក់លាក់​ដែល​ត្រូវការ​ថាមពល​កុំព្យូទ័រ​ល្អ នោះ​ការ​ចំណាយ​លុយ​លើ​ប្រព័ន្ធ​ដំណើរការ​ពហុស្នូល​ដែល​មាន​តម្លៃ​ថ្លៃ​មិន​សម​ហេតុផល​ទេ (

ដោយបានដោះស្រាយជាមួយនឹងទ្រឹស្តីនៃ multithreading សូមពិចារណាឧទាហរណ៍ជាក់ស្តែងមួយ - Pentium 4. រួចហើយនៅក្នុងដំណាក់កាលនៃការអភិវឌ្ឍន៍នៃ processor នេះ វិស្វករ Intel បានបន្តធ្វើការលើការបង្កើនដំណើរការរបស់វាដោយមិនធ្វើការផ្លាស់ប្តូរទៅលើចំណុចប្រទាក់កម្មវិធី។ វិធីសាស្រ្តសាមញ្ញចំនួនប្រាំត្រូវបានពិចារណា:

បង្កើនប្រេកង់នាឡិកា;

ដាក់ដំណើរការពីរនៅលើបន្ទះឈីបមួយ;

ការណែនាំអំពីប្លុកមុខងារថ្មី;

ការពង្រីកឧបករណ៍បញ្ជូន;

ការប្រើប្រាស់ multithreading ។

មធ្យោបាយជាក់ស្តែងបំផុតក្នុងការធ្វើឱ្យប្រសើរឡើងនូវការអនុវត្តគឺការបង្កើនល្បឿននាឡិកាដោយមិនផ្លាស់ប្តូរប៉ារ៉ាម៉ែត្រផ្សេងទៀត។ តាមក្បួនមួយ ម៉ូដែលដំណើរការជាបន្តបន្ទាប់នីមួយៗមានល្បឿននាឡិកាខ្ពស់ជាងម៉ូដែលមុនបន្តិច។ ជាអកុសល ជាមួយនឹងការកើនឡើងនៃល្បឿននាឡិកាជាប់គ្នា អ្នកអភិវឌ្ឍន៍ត្រូវប្រឈមមុខនឹងបញ្ហាពីរគឺ ការប្រើប្រាស់ថាមពលកើនឡើង (ដែលពាក់ព័ន្ធសម្រាប់កុំព្យូទ័រកុំព្យូទ័រយួរដៃ និងឧបករណ៍កុំព្យូទ័រដែលប្រើថាមពលថ្មផ្សេងទៀត) និងការឡើងកំដៅខ្លាំង (ដែលទាមទារឧបករណ៍កម្តៅដែលមានប្រសិទ្ធភាពជាង)។

វិធីសាស្រ្តទីពីរ - ការដាក់ processors ពីរនៅលើបន្ទះឈីបមួយ - គឺសាមញ្ញណាស់ប៉ុន្តែវាពាក់ព័ន្ធនឹងការបង្កើនទ្វេដងនៃតំបន់ដែលកាន់កាប់ដោយបន្ទះឈីប។ ប្រសិនបើខួរក្បាលនីមួយៗត្រូវបានផ្តល់អង្គចងចាំឃ្លាំងសម្ងាត់របស់ខ្លួន ចំនួននៃបន្ទះសៀគ្វីក្នុងមួយ wafer ត្រូវបានកាត់បន្ថយពាក់កណ្តាល ប៉ុន្តែនេះក៏មានន័យថាពីរដងនៃថ្លៃដើមនៃការផលិតផងដែរ។ ប្រសិនបើប្រព័ន្ធដំណើរការទាំងពីរមានអង្គចងចាំឃ្លាំងសម្ងាត់រួមគ្នា ការកើនឡើងគួរឱ្យកត់សម្គាល់នៅក្នុងតំបន់កាន់កាប់អាចត្រូវបានជៀសវាង ប៉ុន្តែក្នុងករណីនេះបញ្ហាមួយទៀតកើតឡើង - ចំនួនអង្គចងចាំឃ្លាំងសម្ងាត់ក្នុងមួយអង្គដំណើរការត្រូវបានកាត់បន្ថយពាក់កណ្តាល ហើយបញ្ហានេះជះឥទ្ធិពលដោយជៀសមិនរួច។ លើសពីនេះ ខណៈពេលដែលកម្មវិធីម៉ាស៊ីនមេដែលមានជំនាញវិជ្ជាជីវៈមានសមត្ថភាពប្រើប្រាស់យ៉ាងពេញលេញនូវធនធាននៃ processors ច្រើននោះ កម្មវិធីផ្ទៃតុធម្មតាមានភាពស្របគ្នាខាងក្នុងតិចជាងច្រើន។

ការណែនាំនៃប្លុកមុខងារថ្មីក៏មិនពិបាកដែរ ប៉ុន្តែវាមានសារៈសំខាន់ណាស់ក្នុងការធ្វើឱ្យមានតុល្យភាពនៅទីនេះ។ តើ ALUs រាប់សិបនោះ មានន័យយ៉ាងណា ប្រសិនបើបន្ទះឈីបមិនអាចចេញសេចក្តីណែនាំទៅកាន់បំពង់បង្ហូរប្រេងក្នុងអត្រាមួយដែលអាចផ្ទុក ALUs ទាំងអស់នោះបាន?

បំពង់ដែលមានចំនួនដំណាក់កាលកើនឡើង ដែលមានសមត្ថភាពបែងចែកភារកិច្ចទៅជាផ្នែកតូចៗ និងដំណើរការវាក្នុងរយៈពេលខ្លី ម្យ៉ាងវិញទៀតធ្វើអោយប្រសើរឡើងនូវការអនុវត្ត ផ្ទុយទៅវិញបង្កើនផលវិបាកអវិជ្ជមាននៃការទស្សន៍ទាយខុសនៃការផ្លាស់ប្តូរ ការបាត់ឃ្លាំងសម្ងាត់។ រំខាន និងព្រឹត្តិការណ៍ផ្សេងទៀតដែលរំខានដល់ដំណើរការការណែនាំវគ្គសិក្សាធម្មតានៅក្នុងខួរក្បាល។ លើសពីនេះទៀតដើម្បីដឹងយ៉ាងពេញលេញនូវសមត្ថភាពនៃបំពង់បង្ហូរប្រេងដែលបានពង្រីកនោះវាចាំបាច់ដើម្បីបង្កើនប្រេកង់នាឡិកាហើយនេះដូចដែលយើងដឹងហើយថានាំឱ្យមានការកើនឡើងនៃការប្រើប្រាស់ថាមពលនិងការបញ្ចេញកំដៅ។

ចុងក្រោយ អ្នកអាចអនុវត្ត multithreading ។ អត្ថប្រយោជន៍នៃបច្ចេកវិទ្យានេះគឺថាវាណែនាំខ្សែស្រឡាយកម្មវិធីបន្ថែមដែលអាចឱ្យធនធានផ្នែករឹងដែលនឹងត្រូវបានទុកចោលដើម្បីយកមកប្រើប្រាស់។ ដោយផ្អែកលើលទ្ធផលនៃការសិក្សាពិសោធន៍ អ្នកអភិវឌ្ឍន៍ Intel បានរកឃើញថា ការកើនឡើង 5% នៅក្នុងតំបន់បន្ទះឈីប នៅពេលអនុវត្ត multithreading សម្រាប់កម្មវិធីជាច្រើនផ្តល់នូវការកើនឡើងនៃការអនុវត្ត 25% ។ Xeon គឺជាខួរក្បាល Intel ដំបូងគេដែលគាំទ្រ multithreading ក្នុងឆ្នាំ 2002 ។ ក្រោយមកទៀត ចាប់ផ្តើមនៅ 3.06 GHz ការភ្ជាប់ multithreading ត្រូវបានណែនាំទៅក្នុង Pentium 4 line។ Intel ហៅការអនុវត្តន៍ multithreading នៅក្នុង Pentium 4 hyperthreading។

* តែងតែមានសំណួរប្រធានបទ អ្វីដែលអ្នកគួរយកចិត្តទុកដាក់នៅពេលជ្រើសរើសខួរក្បាល ដើម្បីកុំឱ្យមានកំហុស។

គោលដៅរបស់យើងនៅក្នុងអត្ថបទនេះគឺដើម្បីពិពណ៌នាអំពីកត្តាទាំងអស់ដែលប៉ះពាល់ដល់ដំណើរការរបស់ processor និងលក្ខណៈនៃដំណើរការផ្សេងទៀត។

វាប្រហែលជាមិនមែនជាអាថ៌កំបាំងសម្រាប់នរណាម្នាក់ទេដែលខួរក្បាលគឺជាអង្គភាពកុំព្យូទ័រសំខាន់របស់កុំព្យូទ័រ។ អ្នកអាចនិយាយបានថា - ផ្នែកសំខាន់បំផុតនៃកុំព្យូទ័រ។

វាគឺជាគាត់ដែលគ្រប់គ្រងដំណើរការនិងភារកិច្ចស្ទើរតែទាំងអស់ដែលកើតឡើងនៅក្នុងកុំព្យូទ័រ។

មិនថាវាជាការមើលវីដេអូ តន្ត្រី ការអានអ៊ីនធឺណិត ការសរសេរ និងការអានក្នុងអង្គចងចាំ ដំណើរការ 3D និងវីដេអូ ហ្គេម។ និងជាច្រើនទៀត។

ដូច្នេះដើម្បីជ្រើសរើស កណ្តាល ទំ processor គួរតែត្រូវបានព្យាបាលយ៉ាងប្រុងប្រយ័ត្ន។ វាអាចនឹងប្រែថាអ្នកសម្រេចចិត្តដំឡើងកាតវីដេអូដ៏មានអានុភាព និងខួរក្បាលដែលមិនត្រូវគ្នានឹងកម្រិតរបស់វា។ ក្នុងករណីនេះខួរក្បាលនឹងមិនបង្ហាញពីសក្តានុពលនៃកាតវីដេអូដែលនឹងធ្វើឱ្យការងាររបស់វាថយចុះ។ ខួរក្បាលនឹងត្រូវបានផ្ទុកយ៉ាងពេញលេញនិងឆ្អិនហើយកាតវីដេអូនឹងរង់ចាំវេនរបស់វាដែលធ្វើការនៅ 60-70% នៃសមត្ថភាពរបស់វា។

នោះហើយជាមូលហេតុដែលនៅពេលជ្រើសរើសកុំព្យូទ័រដែលមានតុល្យភាព។ ទេ។ការចំណាយ ធ្វេសប្រហែសខួរក្បាលនៅក្នុងការពេញចិត្តនៃកាតវីដេអូដែលមានអនុភាព។ ថាមពលរបស់ខួរក្បាលគួរតែគ្រប់គ្រាន់ដើម្បីដោះសោសក្តានុពលនៃកាតវីដេអូ បើមិនដូច្នេះទេវាគ្រាន់តែជាប្រាក់ដែលបោះចោលប៉ុណ្ណោះ។

ក្រុមហ៊ុន Intel ទល់នឹង អេអឹមឌី

* ដេញតាមរហូត

សាជីវកម្ម ក្រុមហ៊ុន Intelមានធនធានមនុស្សដ៏ធំ និងហិរញ្ញវត្ថុស្ទើរតែមិនចេះអស់។ ការច្នៃប្រឌិតជាច្រើននៅក្នុងឧស្សាហកម្ម semiconductor និងបច្ចេកវិទ្យាថ្មីៗបានមកពីក្រុមហ៊ុននេះ។ ដំណើរការនិងការអភិវឌ្ឍន៍ ក្រុមហ៊ុន Intelជាមធ្យមសម្រាប់ 1-1,5 ប៉ុន្មានឆ្នាំខាងមុខនៃការអភិវឌ្ឍន៍វិស្វករ អេអឹមឌី. ប៉ុន្តែដូចដែលអ្នកបានដឹងហើយថាអ្នកត្រូវចំណាយសម្រាប់ឱកាសដើម្បីទទួលបានបច្ចេកវិទ្យាទំនើបបំផុត។

គោលការណ៍កំណត់តម្លៃម៉ាស៊ីនដំណើរការ ក្រុមហ៊ុន Intel, គឺផ្អែកលើ ចំនួនស្នូល, បរិមាណឃ្លាំងសម្ងាត់ប៉ុន្តែក៏នៅលើ "ភាពស្រស់" នៃស្ថាបត្យកម្ម, ការសម្តែងក្នុងមួយនាឡិកាវ៉ាត់,បច្ចេកវិទ្យាដំណើរការបន្ទះឈីប. តម្លៃនៃអង្គចងចាំឃ្លាំងសម្ងាត់ "ការពិពណ៌នាសង្ខេបនៃដំណើរការបច្ចេកទេស" និងលក្ខណៈសំខាន់ៗផ្សេងទៀតរបស់ខួរក្បាលនឹងត្រូវបានពិចារណាខាងក្រោម។ សម្រាប់ការកាន់កាប់បច្ចេកវិទ្យាបែបនេះជាមេគុណប្រេកង់ឥតគិតថ្លៃ អ្នកក៏នឹងត្រូវចំណាយបន្ថែមផងដែរ។

ក្រុមហ៊ុន អេអឹមឌីមិនដូចក្រុមហ៊ុនទេ។ ក្រុមហ៊ុន Intelខិតខំដើម្បីឱ្យមានប្រព័ន្ធដំណើរការរបស់វាសម្រាប់អ្នកប្រើប្រាស់ចុងក្រោយ និងសម្រាប់គោលការណ៍កំណត់តម្លៃមានសមត្ថកិច្ច។

មនុស្សម្នាក់ក៏អាចនិយាយបានដែរ។ អេអឹមឌី– « ត្រារបស់ប្រជាជន"។ នៅក្នុងស្លាកតម្លៃរបស់វា អ្នកនឹងរកឃើញអ្វីដែលអ្នកត្រូវការក្នុងតម្លៃដ៏គួរឱ្យទាក់ទាញ។ ជាធម្មតាមួយឆ្នាំបន្ទាប់ពីការណែនាំបច្ចេកវិទ្យាថ្មីក្រុមហ៊ុន ក្រុមហ៊ុន Intel analogue នៃបច្ចេកវិទ្យាពី អេអឹមឌី. ប្រសិនបើអ្នកមិនដេញតាមការអនុវត្តខ្ពស់បំផុត ហើយយកចិត្តទុកដាក់លើស្លាកតម្លៃជាជាងវត្តមានរបស់បច្ចេកវិទ្យាទំនើបនោះ ផលិតផលរបស់ក្រុមហ៊ុន អេអឹមឌី- សំរាប់​តែ​អ្នក។

គោលនយោបាយតម្លៃ អេអឹមឌីវាត្រូវបានផ្អែកលើចំនួនស្នូល និងតិចតួចបំផុតលើបរិមាណនៃអង្គចងចាំឃ្លាំងសម្ងាត់ វត្តមាននៃការកែលម្អស្ថាបត្យកម្ម។ ក្នុង​ករណី​ខ្លះ សម្រាប់​ឱកាស​មាន​ការ​ចងចាំ​ឃ្លាំង​សម្ងាត់​កម្រិត​ទី​បី អ្នក​នឹង​ត្រូវ​ចំណាយ​បន្ថែម​បន្តិច​បន្តួច ( ភោគមានអង្គចងចាំឃ្លាំងសម្ងាត់កម្រិត 3, អាត្លង់មាតិកាដែលមានកំណត់ត្រឹមតែ 2 កម្រិត) ។ ប៉ុន្តែ​ពេល​ខ្លះ អេអឹមឌីធ្វើឱ្យអ្នកគាំទ្ររបស់គាត់ខូច សមត្ថភាពក្នុងការដោះសោ processors ថោកជាង ដល់ថ្លៃជាង។ អ្នកអាចដោះសោស្នូល ឬអង្គចងចាំឃ្លាំងសម្ងាត់។ កែលម្អ អាត្លង់ពីមុន ភោគ. វាអាចទៅរួចដោយសារតែស្ថាបត្យកម្មម៉ូឌុល និងកង្វះនៃម៉ូដែលថោកជាងមួយចំនួន។ អេអឹមឌីគ្រាន់តែបិទប្លុកនៅលើបន្ទះឈីបដែលមានតម្លៃថ្លៃជាងមួយចំនួន (ដោយកម្មវិធី)។

នុយក្លេអ៊ែរ- នៅតែមិនផ្លាស់ប្តូរជាក់ស្តែង មានតែលេខរបស់ពួកគេខុសគ្នា (មានសុពលភាពសម្រាប់ដំណើរការ 2006-2011 ឆ្នាំ) ។ ដោយសារតែម៉ូឌុលនៃ processors របស់ខ្លួន ក្រុមហ៊ុននេះធ្វើការងារដ៏ល្អក្នុងការលក់បន្ទះឈីបដែលត្រូវបានច្រានចោល ដែលនៅពេលដែលប្លុកមួយចំនួនត្រូវបានបិទ ក្លាយជា processor ពីបន្ទាត់ដែលមិនសូវមានផលិតភាព។

ក្រុមហ៊ុនបានធ្វើការលើស្ថាបត្យកម្មថ្មីទាំងស្រុងអស់រយៈពេលជាច្រើនឆ្នាំក្រោមឈ្មោះកូដ ឈូសឆាយប៉ុន្តែនៅពេលចេញផ្សាយ 2011 នៅឆ្នាំនេះ ដំណើរការថ្មី មិនបានបង្ហាញពីដំណើរការល្អបំផុតនោះទេ។ អេអឹមឌីបានធ្វើបាបលើប្រព័ន្ធប្រតិបត្តិការដែលពួកគេមិនយល់ពីលក្ខណៈស្ថាបត្យកម្មនៃ dual cores និង "multithreading ផ្សេងទៀត" ។

យោងតាមអ្នកតំណាងក្រុមហ៊ុន អ្នកគួរតែរង់ចាំការជួសជុល និងបំណះពិសេស ដើម្បីមានអារម្មណ៍ថាដំណើរការពេញលេញនៃដំណើរការទាំងនេះ។ ទោះយ៉ាងណាក៏ដោយនៅដើមដំបូង 2012 ឆ្នាំ តំណាងក្រុមហ៊ុនបានពន្យារពេលការចេញផ្សាយបច្ចុប្បន្នភាព ដើម្បីគាំទ្រស្ថាបត្យកម្ម ឈូសឆាយសម្រាប់ឆមាសទីពីរនៃឆ្នាំ។

ប្រេកង់ដំណើរការ, ចំនួនស្នូល, ខ្សែពហុ។

នៅពេលខ្លះ ប៉េតង់ ៤ហើយនៅចំពោះមុខគាត់ ប្រេកង់ស៊ីភីយូគឺជាកត្តាដំណើរការចម្បងរបស់ខួរក្បាលនៅពេលជ្រើសរើសខួរក្បាល។

នេះមិនមែនជារឿងគួរឱ្យភ្ញាក់ផ្អើលនោះទេ ពីព្រោះស្ថាបត្យកម្មខួរក្បាលត្រូវបានរចនាឡើងយ៉ាងពិសេសដើម្បីសម្រេចបាននូវប្រេកង់ខ្ពស់ វាត្រូវបានឆ្លុះបញ្ចាំងជាពិសេសនៅក្នុងខួរក្បាល។ ប៉េតង់ ៤លើស្ថាបត្យកម្ម ការផ្ទុះឡើង. ប្រេកង់ខ្ពស់មិនមានប្រសិទ្ធភាពជាមួយបំពង់បង្ហូរប្រេងវែងដែលត្រូវបានប្រើនៅក្នុងស្ថាបត្យកម្ម។ សូម្បីតែ Athlon XPប្រេកង់ 2GHzនៅក្នុងលក្ខខណ្ឌនៃការអនុវត្តគឺខ្ពស់ជាង ប៉េតង់ ៤2.4GHz. ដូច្នេះវាគឺជាទីផ្សារសុទ្ធ។ បន្ទាប់ពីកំហុសនេះក្រុមហ៊ុន ក្រុមហ៊ុន Intelខ្ញុំបានដឹងពីកំហុសរបស់ខ្ញុំហើយ ត្រលប់ទៅផ្នែកល្អវិញ។ខ្ញុំចាប់ផ្តើមធ្វើការមិនមែននៅលើសមាសភាគប្រេកង់ទេ ប៉ុន្តែនៅលើការអនុវត្តក្នុងមួយនាឡិកា។ ពីស្ថាបត្យកម្ម ការផ្ទុះឡើងត្រូវតែបដិសេធ។

អ្វីពួកយើង ផ្តល់ឱ្យពហុស្នូល?

ខួរក្បាល Quad-core 2.4 GHzនៅក្នុងកម្មវិធី multi-threaded ទ្រឹស្តីប្រហាក់ប្រហែលនឹង processor single-core ដែលមានប្រេកង់ 9.6GHzឬខួរក្បាល 2-core ដែលមានប្រេកង់ 4.8 GHz. ប៉ុន្តែនោះគ្រាន់តែជា ក្នុង​ទ្រឹ​ស្តី. អនុវត្តម្យ៉ាងវិញទៀត ប្រព័ន្ធដំណើរការ dual-core ពីរនៅក្នុង motherboard socket ពីរនឹងលឿនជាង processor 4-core មួយនៅប្រេកង់ប្រតិបត្តិការដូចគ្នា។ ដែនកំណត់ល្បឿនឡានក្រុង និងល្បឿននៃការចងចាំធ្វើឱ្យខ្លួនឯងមានអារម្មណ៍។

* ប្រធានបទនៃស្ថាបត្យកម្មដូចគ្នានិងបរិមាណនៃអង្គចងចាំឃ្លាំងសម្ងាត់

Multi-core ធ្វើឱ្យវាអាចប្រតិបត្តិសេចក្តីណែនាំ និងការគណនាជាផ្នែកៗ។ ឧទាហរណ៍ អ្នកត្រូវធ្វើប្រតិបត្តិការនព្វន្ធចំនួនបី។ ពីរដំបូងត្រូវបានប្រតិបត្តិលើស្នូលដំណើរការនីមួយៗ ហើយលទ្ធផលត្រូវបានបន្ថែមទៅអង្គចងចាំឃ្លាំងសម្ងាត់ ដែលសកម្មភាពបន្ទាប់អាចត្រូវបានអនុវត្តជាមួយពួកវាដោយស្នូលណាមួយដែលឥតគិតថ្លៃ។ ប្រព័ន្ធមានភាពបត់បែនខ្លាំង ប៉ុន្តែបើគ្មានការបង្កើនប្រសិទ្ធភាពត្រឹមត្រូវទេ វាអាចនឹងមិនដំណើរការទេ។ ដូច្នេះ ការបង្កើនប្រសិទ្ធភាពសម្រាប់ពហុស្នូលសម្រាប់ស្ថាបត្យកម្មនៃដំណើរការនៅក្នុងបរិស្ថាន OS គឺមានសារៈសំខាន់ខ្លាំងណាស់។

កម្មវិធីដែល "ស្រឡាញ់" និង ប្រើពហុប្រយោគ៖ បណ្ណសារ, កម្មវិធីចាក់វីដេអូ និងឧបករណ៍បំលែងកូដ, កំចាត់មេរោគ, កម្មវិធី defragmenter, កម្មវិធីនិពន្ធក្រាហ្វិក, កម្មវិធីរុករក, ពន្លឺ.

ដូចគ្នានេះផងដែរ "អ្នកគាំទ្រ" នៃ multithreading រួមបញ្ចូលប្រព័ន្ធប្រតិបត្តិការដូចជា វីនដូ 7និង វីនដូវីស្តាក៏ដូចជាមនុស្សជាច្រើន ប្រព័ន្ធប្រតិបត្តិការដោយផ្អែកលើខឺណែល។ លីនុចដែលដំណើរការលឿនគួរឱ្យកត់សម្គាល់ជាមួយនឹងដំណើរការពហុស្នូល។

ភាគច្រើន ហ្គេមពេលខ្លះខួរក្បាល 2-core នៅប្រេកង់ខ្ពស់គឺគ្រប់គ្រាន់ណាស់។ ទោះយ៉ាងណាក៏ដោយ ឥឡូវនេះមានហ្គេមកាន់តែច្រើនឡើង "ធ្វើឱ្យច្បាស់" សម្រាប់ multithreading ។ យកយ៉ាងហោចណាស់ទាំងនេះ ប្រអប់ខ្សាច់ហ្គេមដូចជា GTA 4គំរូដែលក្នុងនោះនៅលើខួរក្បាល 2-core ដែលមានប្រេកង់ខាងក្រោម 2.6 GHz- អ្នកមិនមានអារម្មណ៍ស្រួលទេ អត្រាស៊ុមធ្លាក់ចុះក្រោម 30 ហ្វ្រេមក្នុងមួយវិនាទី។ ទោះបីជាក្នុងករណីនេះ ភាគច្រើនទំនងជាមូលហេតុនៃឧប្បត្តិហេតុបែបនេះគឺការបង្កើនប្រសិទ្ធភាពហ្គេម "ខ្សោយ" ខ្វះពេលវេលា ឬ "មិនផ្ទាល់" ដៃរបស់អ្នកដែលបានផ្ទេរហ្គេមពីកុងសូលទៅ កុំព្យូទ័រ.

នៅពេលទិញ processor ថ្មីសម្រាប់ហ្គេម ឥឡូវនេះអ្នកគួរតែយកចិត្តទុកដាក់ចំពោះ processors ដែលមាន 4 cores ឬច្រើនជាងនេះ។ ប៉ុន្តែនៅតែកុំធ្វេសប្រហែសប្រព័ន្ធដំណើរការ 2-core ពី "ប្រភេទខាងលើ" ។ នៅក្នុងហ្គេមមួយចំនួន ពេលខ្លះ processors ទាំងនេះមានអារម្មណ៍ល្អជាង multi-core មួយចំនួន។

ឃ្លាំងសម្ងាត់ដំណើរការ។

- នេះគឺជាតំបន់ជាក់លាក់នៃបន្ទះឈីប processor ដែលក្នុងនោះទិន្នន័យកម្រិតមធ្យមត្រូវបានដំណើរការ និងរក្សាទុករវាង processor cores, RAM និង buses ផ្សេងទៀត។

វាដំណើរការក្នុងល្បឿននាឡិកាខ្ពស់ណាស់ (ជាធម្មតានៅប្រេកង់នៃខួរក្បាលខ្លួនឯង) មានកម្រិតបញ្ជូនខ្ពស់ខ្លាំង ហើយស្នូលដំណើរការជាមួយវាដោយផ្ទាល់ ( L1).

ដោយសារតែនាង កង្វះខាតខួរក្បាលអាចទុកចោលក្នុងកិច្ចការដែលចំណាយពេលវេលា ដោយរង់ចាំទិន្នន័យថ្មីត្រូវបានដំណើរការនៅក្នុងឃ្លាំងសម្ងាត់។ អង្គចងចាំឃ្លាំងសម្ងាត់ផងដែរ។ បម្រើសម្រាប់កំណត់ត្រានៃទិន្នន័យដែលកើតឡើងដដែលៗជាញឹកញាប់ដែលអាចស្ដារឡើងវិញបានយ៉ាងឆាប់រហ័សប្រសិនបើចាំបាច់ដោយមិនចាំបាច់មានការគណនាមិនចាំបាច់ ដោយមិនបង្ខំខួរក្បាលឱ្យចំណាយពេលលើពួកវាម្តងទៀត។

ការអនុវត្តក៏បន្ថែមការពិតដែលថាប្រសិនបើអង្គចងចាំឃ្លាំងសម្ងាត់ត្រូវបានបញ្ចូលគ្នាហើយស្នូលទាំងអស់អាចប្រើទិន្នន័យពីវាបានស្មើៗគ្នា។ នេះផ្តល់ឱកាសបន្ថែមសម្រាប់ការបង្កើនប្រសិទ្ធភាពពហុខ្សែ។

ឥឡូវនេះបច្ចេកទេសនេះត្រូវបានប្រើសម្រាប់ កម្រិត 3 ឃ្លាំងសម្ងាត់. សម្រាប់ដំណើរការ ក្រុមហ៊ុន Intelមាន processor ដែលមានឃ្លាំងសម្ងាត់កម្រិត 2 រួមបញ្ចូលគ្នា ( C2D E 7***,E8***) អរគុណដែលវិធីសាស្ត្រនេះលេចចេញជារូបរាងដើម្បីបង្កើនដំណើរការ multithreaded ។

នៅពេលធ្វើការ Overclock ខួរក្បាល អង្គចងចាំឃ្លាំងសម្ងាត់អាចក្លាយជាចំណុចខ្សោយ ដែលការពារខួរក្បាលពីការ Overclock លើសពីប្រេកង់ប្រតិបត្តិការអតិបរមារបស់វាដោយគ្មានកំហុស។ ទោះជាយ៉ាងណាក៏ដោយ អត្ថប្រយោជន៍គឺថាវានឹងដំណើរការនៅប្រេកង់ដូចគ្នាទៅនឹងប្រព័ន្ធដំណើរការ Overclocked ។

ជាទូទៅ អង្គចងចាំឃ្លាំងសម្ងាត់កាន់តែធំ លឿនជាងស៊ីភីយូ។ ក្នុង​កម្មវិធី​ណា​ខ្លះ?

នៅក្នុងកម្មវិធីទាំងអស់ដែលមានទិន្នន័យចំណុចអណ្តែតទឹកច្រើន ការណែនាំ និងខ្សែស្រឡាយត្រូវបានប្រើ អង្គចងចាំឃ្លាំងសម្ងាត់ត្រូវបានប្រើប្រាស់យ៉ាងសកម្ម។ អង្គចងចាំឃ្លាំងសម្ងាត់មានប្រជាប្រិយភាពណាស់។ បណ្ណសារ, ឧបករណ៍បំលែងកូដវីដេអូ, កំចាត់មេរោគនិង កម្មវិធីនិពន្ធក្រាហ្វិកល។

អំណោយផលដល់ចំនួនដ៏ធំនៃអង្គចងចាំឃ្លាំងសម្ងាត់គឺ ហ្គេម. ជាពិសេស យុទ្ធសាស្ត្រ ស៊ីមស្វ័យប្រវត្តិ RPGs SandBox និងហ្គេមទាំងអស់ដែលមានព័ត៌មានលម្អិតតូចៗ ភាគល្អិត ធាតុធរណីមាត្រ លំហូរព័ត៌មាន និងឥទ្ធិពលរូបវ័ន្ត។

អង្គចងចាំឃ្លាំងសម្ងាត់ដើរតួនាទីយ៉ាងសំខាន់ក្នុងការដោះសោសក្តានុពលនៃប្រព័ន្ធដែលមានកាតវីដេអូ 2 ឬច្រើន។ យ៉ាងណាមិញ ផ្នែកខ្លះនៃបន្ទុកធ្លាក់ទៅលើអន្តរកម្មនៃស្នូលខួរក្បាលទាំងក្នុងខ្លួនពួកគេ និងសម្រាប់ធ្វើការជាមួយការផ្សាយនៃបន្ទះសៀគ្វីវីដេអូជាច្រើន។ វាគឺនៅក្នុងករណីនេះដែលការរៀបចំអង្គចងចាំឃ្លាំងសម្ងាត់មានសារៈសំខាន់ហើយអង្គចងចាំឃ្លាំងសម្ងាត់នៃកម្រិតទី 3 នៃទំហំធំគឺមានប្រយោជន៍ណាស់។

អង្គចងចាំឃ្លាំងសម្ងាត់តែងតែត្រូវបានបំពាក់ដោយការការពារប្រឆាំងនឹងកំហុសដែលអាចកើតមាន ( ECC) នៅពេលរកឃើញ ពួកគេត្រូវបានកែដំរូវ។ នេះមានសារៈសំខាន់ខ្លាំងណាស់ ពីព្រោះកំហុសតូចមួយនៅក្នុងអង្គចងចាំឃ្លាំងសម្ងាត់ កំឡុងពេលដំណើរការអាចប្រែទៅជាកំហុសបន្តបន្ទាប់ដ៏ធំ ដែលប្រព័ន្ធទាំងមូលនឹង "ដេក"។

បច្ចេកវិទ្យាសាជីវកម្ម។

(លើស​ខ្សែ​, )–

ជាលើកដំបូងដែលបច្ចេកវិទ្យានេះត្រូវបានអនុវត្តនៅក្នុង processors ប៉េតង់ ៤ប៉ុន្តែវាមិនតែងតែដំណើរការត្រឹមត្រូវទេ ហើយជារឿយៗធ្វើឱ្យខួរក្បាលដំណើរការយឺតជាងការបង្កើនល្បឿនរបស់វា។ មូលហេតុគឺបំពង់បង្ហូរប្រេងវែងពេក និងប្រព័ន្ធព្យាករណ៍សាខាមិនទាន់បញ្ចប់។ អនុវត្តដោយក្រុមហ៊ុន ក្រុមហ៊ុន Intelមិនទាន់មាន analogues នៃបច្ចេកវិជ្ជានៅឡើយទេ ប្រសិនបើមិនបានចាត់ទុកជា analogue នោះ? អ្វីដែលវិស្វកររបស់ក្រុមហ៊ុនបានអនុវត្ត អេអឹមឌីនៅក្នុងស្ថាបត្យកម្ម ឈូសឆាយ.

គោលការណ៍នៃប្រព័ន្ធគឺសម្រាប់ស្នូលរូបវន្តនីមួយៗ។ ខ្សែស្រឡាយកុំព្យូទ័រពីរជំនួសឱ្យមួយ។ នោះគឺប្រសិនបើអ្នកមានខួរក្បាល 4-core ជាមួយ (ស្នូល i 7) បន្ទាប់មកអ្នកមានខ្សែស្រឡាយនិម្មិត 8 .

ការទទួលបានការអនុវត្តត្រូវបានសម្រេចដោយសារតែការពិតដែលថាទិន្នន័យអាចចូលទៅក្នុងបំពង់បង្ហូរប្រេងរួចហើយនៅកណ្តាលរបស់វា ហើយមិនចាំបាច់នៅដើមដំបូងឡើយ។ ប្រសិនបើអង្គភាពដំណើរការមួយចំនួនដែលមានសមត្ថភាពអនុវត្តសកម្មភាពនេះនៅទំនេរ ពួកគេនឹងទទួលបានភារកិច្ចដែលត្រូវប្រតិបត្តិ។ ការកើនឡើងនៃការអនុវត្តគឺមិនដូចគ្នាទៅនឹងស្នូលរាងកាយពិតនោះទេ ប៉ុន្តែអាចប្រៀបធៀបបាន (~ 50-75% អាស្រ័យលើប្រភេទកម្មវិធី)។ វាកម្រណាស់ដែលនៅក្នុងកម្មវិធីមួយចំនួន HT ប៉ះពាល់អវិជ្ជមានលើការអនុវត្ត។ នេះគឺដោយសារតែការបង្កើនប្រសិទ្ធភាពកម្មវិធីមិនល្អសម្រាប់បច្ចេកវិទ្យានេះ អសមត្ថភាពក្នុងការយល់ថាមានខ្សែស្រឡាយ "និម្មិត" និងកង្វះដែនកំណត់សម្រាប់ផ្ទុកខ្សែស្រឡាយស្មើៗគ្នា។

ទួរប៊ីជំរុញ - បច្ចេកវិទ្យាដ៏មានប្រយោជន៍ដែលបង្កើនប្រេកង់នៃស្នូលដំណើរការដែលប្រើច្រើនបំផុត អាស្រ័យលើកម្រិតនៃបន្ទុកការងាររបស់ពួកគេ។ វាមានប្រយោជន៍ខ្លាំងណាស់នៅពេលដែលកម្មវិធីមិនដឹងពីរបៀបប្រើស្នូលទាំង 4 ហើយផ្ទុកតែមួយឬពីរប៉ុណ្ណោះខណៈពេលដែលប្រេកង់របស់ពួកគេកើនឡើង ដែលផ្តល់សំណងផ្នែកខ្លះសម្រាប់ដំណើរការ។ analogue នៃបច្ចេកវិទ្យានេះនៅក្នុងក្រុមហ៊ុន អេអឹមឌី, គឺជាបច្ចេកវិទ្យា ស្នូល Turbo.

, 3 ឥឡូវ​នេះ!ការណែនាំ. ត្រូវបានរចនាឡើងដើម្បីបង្កើនល្បឿនដំណើរការនៅក្នុង ពហុព័ត៌មានការគណនា (វីដេអូ តន្ត្រី ក្រាហ្វិក 2D/3D ។

3ឥឡូវ​នេះ! - បច្ចេកវិទ្យាចាស់ណាស់។ អេអឹមឌីដែលមានការណែនាំបន្ថែមសម្រាប់ដំណើរការមាតិកាពហុព័ត៌មាន បន្ថែមពីលើ ស.សកំណែដំបូង.

* ពោលគឺលទ្ធភាពនៃដំណើរការស្ទ្រីមនៃចំនួនពិតនៃភាពជាក់លាក់តែមួយ។

វត្តមាននៃកំណែចុងក្រោយបង្អស់គឺជាការបូកធំ ខួរក្បាលចាប់ផ្តើមអនុវត្តការងារមួយចំនួនកាន់តែមានប្រសិទ្ធភាពជាមួយនឹងការបង្កើនប្រសិទ្ធភាពកម្មវិធីត្រឹមត្រូវ។ អ្នកកែច្នៃ អេអឹមឌីមានឈ្មោះស្រដៀងគ្នា ប៉ុន្តែខុសគ្នាបន្តិច។

* ឧទាហរណ៍ - SSE 4.1 (Intel) - SSE 4A (AMD) ។

លើសពីនេះទៀត សំណុំការណែនាំទាំងនេះមិនដូចគ្នាបេះបិទទេ។ ទាំងនេះគឺជា analogues ដែលក្នុងនោះមានភាពខុសគ្នាបន្តិចបន្តួច។

ត្រជាក់​ស្ងាត់​, ជំហានល្បឿន, CoolCore, ធ្វើឱ្យប្រសើរឡើង ពាក់កណ្តាល រដ្ឋ (C1E) និង. ឃ.

បច្ចេកវិទ្យាទាំងនេះនៅពេលផ្ទុកទាប កាត់បន្ថយប្រេកង់របស់ខួរក្បាលដោយកាត់បន្ថយវ៉ុលមេគុណ និងស្នូល បិទផ្នែកនៃឃ្លាំងសម្ងាត់។ល។ នេះអនុញ្ញាតឱ្យខួរក្បាលឡើងកំដៅតិច និងប្រើប្រាស់ថាមពលតិច បង្កើតសំឡេងតិច។ ប្រសិនបើត្រូវការថាមពល ខួរក្បាលនឹងត្រឡប់ទៅសភាពធម្មតាវិញក្នុងរយៈពេលមួយវិនាទី។ នៅលើការកំណត់ស្តង់ដារ ជីវវិទ្យាស្ទើរតែបើកដំណើរការជានិច្ច ប្រសិនបើចង់បាន ពួកវាអាចត្រូវបានបិទដើម្បីកាត់បន្ថយ "ការបង្កក" ដែលអាចកើតមាននៅពេលប្តូរនៅក្នុងហ្គេម 3D ។

បច្ចេកវិទ្យាទាំងនេះមួយចំនួនគ្រប់គ្រងល្បឿនរបស់អ្នកគាំទ្រនៅក្នុងប្រព័ន្ធ។ ឧទាហរណ៍ ប្រសិនបើ processor មិនត្រូវការការបង្កើនការសាយភាយកំដៅ ហើយមិនស្ថិតនៅក្រោមបន្ទុកទេ ល្បឿនកង្ហាររបស់ processor ត្រូវបានកាត់បន្ថយ ( AMD Cool'n'Quiet, Intel Speed ​​​​Step).

បច្ចេកវិទ្យានិម្មិត Intelនិង AMD Virtualization ។

បច្ចេកវិទ្យាផ្នែករឹងទាំងនេះអនុញ្ញាតឱ្យ ដោយមានជំនួយពីកម្មវិធីពិសេស ដើម្បីដំណើរការប្រព័ន្ធប្រតិបត្តិការជាច្រើនក្នុងពេលតែមួយ ដោយមិនមានការខាតបង់ខ្លាំងណាមួយក្នុងដំណើរការនោះទេ។ ដូចគ្នានេះផងដែរ វាត្រូវបានប្រើសម្រាប់ប្រតិបត្តិការត្រឹមត្រូវនៃម៉ាស៊ីនមេ ពីព្រោះជាញឹកញាប់ពួកគេមាន OS ច្រើនជាងមួយដែលបានដំឡើងនៅលើពួកវា។

ប្រតិបត្តិ បិទ ប៊ីតនិងទេ ប្រតិបត្តិ ប៊ីតបច្ចេកវិទ្យាដែលត្រូវបានរចនាឡើងដើម្បីការពារកុំព្យូទ័រពីការវាយប្រហារដោយមេរោគ និងកំហុសកម្មវិធីដែលអាចបណ្តាលឱ្យប្រព័ន្ធគាំង ផ្ទុកលើសចំណុះ.

ក្រុមហ៊ុន Intel 64 , អេអឹមឌី 64 , អេម ៦៤ - បច្ចេកវិទ្យានេះអនុញ្ញាតឱ្យខួរក្បាលដំណើរការទាំងនៅក្នុង OS ដែលមានស្ថាបត្យកម្ម 32 ប៊ីត និងនៅក្នុង OS ដែលមានស្ថាបត្យកម្ម 64 ប៊ីត។ ប្រព័ន្ធ 64 ប៊ីត- បើនិយាយពីអត្ថប្រយោជន៍ សម្រាប់អ្នកប្រើប្រាស់ជាមធ្យម វាខុសគ្នាត្រង់ថា RAM លើសពី 3.25 GB អាចប្រើក្នុងប្រព័ន្ធនេះបាន។ នៅលើប្រព័ន្ធ 32 ប៊ីត ប្រើ ខ អំពី RAM ច្រើន​ទៀត​គឺ​មិន​អាច​ធ្វើ​ទៅ​បាន​ទេ​ដោយ​សារ​តែ​ចំនួន​កំណត់​នៃ​ការ​ចងចាំ​អាសយដ្ឋាន* .

កម្មវិធីភាគច្រើនដែលមានស្ថាបត្យកម្ម 32 ប៊ីតអាចដំណើរការលើប្រព័ន្ធដែលមានប្រព័ន្ធប្រតិបត្តិការ 64 ប៊ីត។

* អ្វីដែលត្រូវធ្វើប្រសិនបើត្រលប់ទៅឆ្នាំ 1985 គ្មាននរណាម្នាក់អាចគិតអំពីភាពមហិមាបែបនេះតាមស្តង់ដារនៃពេលវេលានោះបរិមាណ RAM ។

បន្ថែម។

ពាក្យពីរបីអំពី

ចំណុចនេះគួរយកចិត្តទុកដាក់។ ដំណើរការបច្ចេកទេសកាន់តែស្តើង ខួរក្បាលប្រើប្រាស់ថាមពលតិច ហើយជាលទ្ធផល វាឡើងកំដៅតិច។ ហើយក្នុងចំណោមរបស់ផ្សេងទៀត - វាមានរឹមសុវត្ថិភាពខ្ពស់សម្រាប់ការ Overclock ។

ដំណើរការបច្ចេកទេសកាន់តែស្តើង អ្នកអាច "រុំ" នៅក្នុងបន្ទះឈីប (មិនត្រឹមតែប៉ុណ្ណោះ) និងបង្កើនសមត្ថភាពរបស់ខួរក្បាល។ ការសាយភាយកំដៅ និងការប្រើប្រាស់ថាមពលក៏ថយចុះតាមសមាមាត្រផងដែរ ដោយសារតែការបាត់បង់ចរន្តទាប និងការថយចុះនៃផ្ទៃស្នូល។ អ្នកអាចមើលឃើញនិន្នាការដែលថាជាមួយនឹងជំនាន់ថ្មីនីមួយៗនៃស្ថាបត្យកម្មដូចគ្នានៅលើបច្ចេកវិទ្យាដំណើរការថ្មី ការប្រើប្រាស់ថាមពលក៏កំពុងកើនឡើងផងដែរ ប៉ុន្តែនេះមិនមែនដូច្នោះទេ។ វាគ្រាន់តែថាអ្នកផលិតកំពុងឆ្ពោះទៅរកការអនុវត្តកាន់តែច្រើន ហើយកំពុងឈានជើងលើខ្សែបន្ទាត់បញ្ចេញកំដៅនៃ processor ជំនាន់មុន ដោយសារតែការកើនឡើងនៃចំនួន transistor ដែលមិនសមាមាត្រទៅនឹងការថយចុះនៃដំណើរការបច្ចេកទេស។

បង្កើតឡើងនៅក្នុងខួរក្បាល។

ប្រសិនបើអ្នកមិនត្រូវការស្នូលវីដេអូរួមបញ្ចូលគ្នាទេនោះ អ្នកមិនគួរទិញ processor ជាមួយវាទេ។ អ្នកនឹងទទួលបានតែការសាយភាយកំដៅកាន់តែអាក្រក់ កំដៅបន្ថែម (មិនតែងតែ) សក្តានុពលនៃការ Overclock កាន់តែអាក្រក់ (មិនតែងតែ) និងប្រាក់ដែលបង់ប្រាក់លើស។

លើសពីនេះ ស្នូលទាំងនោះដែលត្រូវបានបង្កើតឡើងនៅក្នុងខួរក្បាលគឺសមរម្យសម្រាប់តែការផ្ទុកប្រព័ន្ធប្រតិបត្តិការ រុករកអ៊ីនធឺណិត និងមើលវីដេអូ (ហើយសូម្បីតែមិនមានគុណភាពណាមួយក៏ដោយ)។

និន្នាការទីផ្សារនៅតែផ្លាស់ប្តូរ និងឱកាសដើម្បីទិញ processor ដែលមានផលិតភាពពី ក្រុមហ៊ុន Intelបើគ្មានស្នូលវីដេអូទេ វាធ្លាក់ចុះតិចទៅៗ។ គោលការណ៍នៃការដាក់បញ្ចូលដោយបង្ខំនៃស្នូលវីដេអូដែលភ្ជាប់មកជាមួយ បានបង្ហាញខ្លួនជាមួយនឹងប្រព័ន្ធដំណើរការ ក្រុមហ៊ុន Intelកូដ ស្ពានខ្សាច់ការបង្កើតថ្មីដ៏សំខាន់ដែលជាស្នូលដែលបង្កើតឡើងនៅក្នុងដំណើរការផលិតដូចគ្នា។ ស្នូលវីដេអូមានទីតាំងនៅ រួមគ្នាជាមួយ processor នៅលើគ្រីស្តាល់មួយ។និងមិនសាមញ្ញដូចនៅក្នុង processors ជំនាន់មុននោះទេ។ ក្រុមហ៊ុន Intel. សម្រាប់អ្នកដែលមិនប្រើវាមានគុណវិបត្តិនៅក្នុងទម្រង់នៃការទូទាត់លើសមួយចំនួនសម្រាប់ខួរក្បាលការផ្លាស់ទីលំនៅនៃប្រភពកំដៅទាក់ទងទៅនឹងចំណុចកណ្តាលនៃគម្របចែកចាយកំដៅ។ ទោះយ៉ាងណាក៏ដោយក៏មានគុណសម្បត្តិផងដែរ។ ស្នូលវីដេអូដែលបិទ អាចត្រូវបានប្រើសម្រាប់ការអ៊ិនកូដវីដេអូលឿនបំផុតដោយប្រើបច្ចេកវិទ្យា សមកាលកម្មរហ័សរួមជាមួយនឹងកម្មវិធីពិសេសដែលគាំទ្របច្ចេកវិទ្យានេះ។ នៅ​ពេល​អនាគត, ក្រុមហ៊ុន Intelសន្យាថានឹងពង្រីកការយល់ដឹងនៃការប្រើប្រាស់ស្នូលវីដេអូដែលភ្ជាប់មកជាមួយសម្រាប់កុំព្យូទ័រប៉ារ៉ាឡែល។

រន្ធសម្រាប់ដំណើរការ។ អាយុកាលរបស់វេទិកា.


ក្រុមហ៊ុន Intelដឹកនាំគោលនយោបាយរដុបសម្រាប់វេទិការបស់ពួកគេ។ អាយុកាលរបស់នីមួយៗ (កាលបរិច្ឆេទនៃការចាប់ផ្តើមនិងចុងបញ្ចប់នៃការលក់ឧបករណ៍ដំណើរការសម្រាប់វា) ជាធម្មតាមិនលើសពី 1,5 - 2 ឆ្នាំ។ លើសពីនេះទៀតក្រុមហ៊ុនមានវេទិកាអភិវឌ្ឍន៍ស្របគ្នាជាច្រើន។

ក្រុមហ៊ុន អេអឹមឌីមានគោលការណ៍ភាពឆបគ្នាផ្ទុយ។ ទៅវេទិការបស់នាង ព្រឹក ៣ដំណើរការទាំងអស់នៃជំនាន់អនាគតដែលគាំទ្រ DDR3. សូម្បីតែនៅពេលដែលវេទិកាទៅ AM3+ហើយក្រោយមក ទាំង processors ថ្មីនៅក្រោម ព្រឹក ៣ឬ processors ថ្មីនឹងអាចប្រើជាមួយ motherboards ចាស់ ហើយវានឹងអាចធ្វើការ upgrade ដែលមិនមានការឈឺចាប់សម្រាប់ wallet ដោយផ្លាស់ប្តូរតែ processor (ដោយមិនផ្លាស់ប្តូរ motherboard, RAM ។ល។) ហើយ flashing the motherboard។ ភាពមិនឆបគ្នាតែមួយគត់ដែលអាចកើតមាននៅពេលផ្លាស់ប្តូរប្រភេទ ដោយសារឧបករណ៍បញ្ជាអង្គចងចាំផ្សេងគ្នាដែលបានបង្កើតឡើងនៅក្នុងខួរក្បាលនឹងត្រូវបានទាមទារ។ ដូច្នេះភាពឆបគ្នាមានកម្រិត និងមិនត្រូវបានគាំទ្រដោយ motherboard ទាំងអស់។ ប៉ុន្តែជាទូទៅសម្រាប់អ្នកប្រើប្រាស់សន្សំសំចៃ ឬអ្នកដែលមិនធ្លាប់ប្រើក្នុងការផ្លាស់ប្តូរវេទិកាទាំងស្រុងរៀងរាល់ 2 ឆ្នាំម្តង - ជម្រើសរបស់អ្នកផលិតខួរក្បាលគឺអាចយល់បាន - នេះ អេអឹមឌី.

ត្រជាក់ស៊ីភីយូ។

ភ្ជាប់មកជាមួយ processor ជាស្តង់ដារ ប្រអប់- ម៉ាស៊ីនត្រជាក់ថ្មីដែលនឹងធ្វើការ។ វា​គឺ​ជា​បំណែក​នៃ​អាលុយមីញ៉ូម​ដែល​មាន​ផ្ទៃ​បែក​ខ្ញែក​មិន​ខ្ពស់​ពេក។ គ្រឿងត្រជាក់ដែលមានប្រសិទ្ធភាពដោយផ្អែកលើបំពង់កំដៅ និងចានដែលភ្ជាប់ជាមួយពួកវាត្រូវបានរចនាឡើងសម្រាប់ការរំសាយកំដៅប្រកបដោយប្រសិទ្ធភាពខ្ពស់។ ប្រសិនបើអ្នកមិនចង់ឮសំឡេងកង្ហារខ្លាំងពេកទេ អ្នកគួរតែពិចារណាទិញជម្រើសជំនួស បំពង់ត្រជាក់ដែលមានប្រសិទ្ធភាពជាង ឬប្រព័ន្ធត្រជាក់រាវដែលបិទជិត ឬរង្វិលជុំបើកចំហ។ ប្រព័ន្ធត្រជាក់បែបនេះនឹងបើកដំណើរការ Overclock សម្រាប់ខួរក្បាលផងដែរ។

សេចក្តីសន្និដ្ឋាន។

ទិដ្ឋភាពសំខាន់ៗទាំងអស់ដែលប៉ះពាល់ដល់ដំណើរការនិងដំណើរការរបស់ខួរក្បាលត្រូវបានពិចារណា។ ចូរយើងសង្ខេបនូវអ្វីដែលត្រូវរកមើល៖

  • ជ្រើសរើសក្រុមហ៊ុនផលិត
  • ស្ថាបត្យកម្មដំណើរការ
  • បច្ចេកវិទ្យាដំណើរការ
  • ប្រេកង់ស៊ីភីយូ
  • ចំនួនស្នូលដំណើរការ
  • ទំហំ និងប្រភេទឃ្លាំងសម្ងាត់របស់ឧបករណ៍ដំណើរការ
  • ការគាំទ្រសម្រាប់បច្ចេកវិទ្យា និងការណែនាំ
  • គុណភាពត្រជាក់

យើងសង្ឃឹមថាសម្ភារៈនេះនឹងជួយអ្នកឱ្យយល់ និងសម្រេចចិត្តលើជម្រើសនៃ processor ដែលបំពេញតាមការរំពឹងទុករបស់អ្នក។

សូល។ ថ្ងៃទី 9 ខែ កញ្ញា ឆ្នាំ 2015 វេលាម៉ោង 13:38 នាទី

ការអនុវត្តស្ថាបត្យកម្មម៉ាស៊ីនហ្គេមពហុខ្សែ

  • ប្លុក Intel,
  • ការអភិវឌ្ឍហ្គេម,
  • កម្មវិធីប៉ារ៉ាឡែល,
  • ការអភិវឌ្ឍន៍គេហទំព័រ
  • ការបកប្រែ

ជាមួយនឹងការមកដល់នៃដំណើរការពហុស្នូល វាបានក្លាយទៅជាការចាំបាច់ដើម្បីបង្កើតម៉ាស៊ីនហ្គេមដោយផ្អែកលើស្ថាបត្យកម្មប៉ារ៉ាឡែល។ ការប្រើប្រាស់ប្រព័ន្ធដំណើរការទាំងអស់នៅក្នុងប្រព័ន្ធ - ទាំងក្រាហ្វិក (GPU) និងខួរក្បាលកណ្តាល (CPU) - បើកលទ្ធភាពកាន់តែច្រើនបើប្រៀបធៀបទៅនឹងម៉ាស៊ីន GPU តែមួយខ្សែ។ ជាឧទាហរណ៍ ដោយប្រើស្នូលស៊ីភីយូកាន់តែច្រើន អ្នកអាចកែលម្អការមើលឃើញដោយបង្កើនចំនួនវត្ថុរូបវ័ន្តដែលប្រើក្នុងហ្គេម ក៏ដូចជាសម្រេចបាននូវឥរិយាបថតួអក្សរជាក់ស្តែងបន្ថែមទៀត តាមរយៈការអនុវត្តបញ្ញាសិប្បនិម្មិតកម្រិតខ្ពស់ (AI)។
ពិចារណាពីលក្ខណៈពិសេសនៃការអនុវត្តស្ថាបត្យកម្មពហុខ្សែនៃម៉ាស៊ីនហ្គេម។

1 ។ សេចក្ដីណែនាំ

១.១. ទិដ្ឋភាពទូទៅ

ស្ថាបត្យកម្មពហុខ្សែនៃម៉ាស៊ីនហ្គេមអនុញ្ញាតឱ្យអ្នកប្រើសមត្ថភាពរបស់ប្រព័ន្ធដំណើរការទាំងអស់រហូតដល់អតិបរមា។ វាពាក់ព័ន្ធនឹងការប្រតិបត្តិស្របគ្នានៃប្លុកមុខងារផ្សេងៗនៅលើ processors ដែលមានទាំងអស់។ ទោះយ៉ាងណាក៏ដោយវាមិនងាយស្រួលទេក្នុងការអនុវត្តគ្រោងការណ៍បែបនេះ។ ធាតុដាច់ដោយឡែកនៃម៉ាស៊ីនហ្គេមតែងតែមានអន្តរកម្មគ្នាទៅវិញទៅមក ដែលអាចនាំឱ្យមានកំហុសនៅពេលដែលពួកគេត្រូវបានប្រតិបត្តិក្នុងពេលតែមួយ។ ដើម្បីដោះស្រាយសេណារីយ៉ូបែបនេះ ម៉ាស៊ីនផ្តល់យន្តការធ្វើសមកាលកម្មទិន្នន័យពិសេសដែលមិនរាប់បញ្ចូលការទប់ស្កាត់ដែលអាចកើតមាន។ វាក៏អនុវត្តបច្ចេកទេសធ្វើសមកាលកម្មទិន្នន័យស្របគ្នាផងដែរ ដើម្បីរក្សាពេលវេលាប្រតិបត្តិឱ្យតិចបំផុត។

ដើម្បីស្វែងយល់អំពីសម្ភារៈដែលបានបង្ហាញ អ្នកត្រូវយល់ឱ្យបានច្បាស់អំពីវិធីសាស្រ្តទំនើបនៃការបង្កើតហ្គេមកុំព្យូទ័រ ការគាំទ្រពហុមេឌៀសម្រាប់ម៉ាស៊ីនហ្គេម ឬកែលម្អដំណើរការនៃកម្មវិធីជាទូទៅ។

2. ស្ថានភាពនៃការប្រតិបត្តិប៉ារ៉ាឡែល

ស្ថានភាពប្រតិបត្តិប៉ារ៉ាឡែលគឺជាគោលគំនិតសំខាន់នៃ multithreading ។ មានតែតាមរយៈការបែងចែកម៉ាស៊ីនហ្គេមទៅជាប្រព័ន្ធដាច់ដោយឡែក ដែលនីមួយៗដំណើរការក្នុងរបៀបផ្ទាល់ខ្លួនរបស់វា ហើយអនុវត្តជាក់ស្តែងមិនមានអន្តរកម្មជាមួយម៉ាស៊ីនដែលនៅសល់ អាចសម្រេចបាននូវប្រសិទ្ធភាពដ៏អស្ចារ្យបំផុតក្នុងការគណនាស្របគ្នា និងកាត់បន្ថយពេលវេលាដែលត្រូវការសម្រាប់ការធ្វើសមកាលកម្ម។ វាមិនអាចទៅរួចទេក្នុងការញែកផ្នែកនីមួយៗនៃម៉ាស៊ីនទាំងស្រុង ដោយមិនរាប់បញ្ចូលធនធានទូទៅទាំងអស់។ ទោះជាយ៉ាងណាក៏ដោយ សម្រាប់ប្រតិបត្តិការដូចជាការទាញយកទីតាំង ឬការតំរង់ទិសនៃវត្ថុ ប្រព័ន្ធបុគ្គលអាចប្រើច្បាប់ចម្លងទិន្នន័យក្នុងស្រុកជាជាងធនធានដែលបានចែករំលែក។ នេះអនុញ្ញាតឱ្យអ្នកកាត់បន្ថយការពឹងផ្អែកនៃទិន្នន័យនៅក្នុងផ្នែកផ្សេងៗនៃម៉ាស៊ីន។ ការជូនដំណឹងអំពីការផ្លាស់ប្តូរចំពោះទិន្នន័យដែលបានចែករំលែកដែលធ្វើឡើងដោយប្រព័ន្ធតែមួយត្រូវបានបញ្ជូនទៅអ្នកគ្រប់គ្រងរដ្ឋដែលតម្រង់ជួរពួកគេ។ នេះហៅថា របៀបផ្ញើសារ។ របៀបនេះសន្មត់ថា បន្ទាប់ពីបញ្ចប់ការប្រតិបត្តិភារកិច្ច ប្រព័ន្ធម៉ាស៊ីនទទួលការជូនដំណឹងអំពីការផ្លាស់ប្តូរ និងធ្វើបច្ចុប្បន្នភាពទិន្នន័យខាងក្នុងរបស់ពួកគេស្របតាម។ យន្តការនេះអាចកាត់បន្ថយយ៉ាងខ្លាំងនូវពេលវេលានៃការធ្វើសមកាលកម្ម និងការពឹងផ្អែកនៃប្រព័ន្ធលើគ្នាទៅវិញទៅមក។

2.1 ដំណើរការរដ្ឋ

ដើម្បីឱ្យអ្នកគ្រប់គ្រងរដ្ឋប្រតិបត្តិធ្វើការប្រកបដោយប្រសិទ្ធភាព វាត្រូវបានណែនាំឱ្យធ្វើសមកាលកម្មប្រតិបត្តិការនៅលើជីពចរនាឡិកាជាក់លាក់មួយ។ នេះអនុញ្ញាតឱ្យប្រព័ន្ធទាំងអស់ដំណើរការក្នុងពេលដំណាលគ្នា។ ក្នុងករណីនេះ អត្រានាឡិកាមិនត្រូវគ្នានឹងអត្រាស៊ុមទេ។ ហើយរយៈពេលនៃវដ្តប្រហែលជាមិនអាស្រ័យលើប្រេកង់ទេ។ វាអាចត្រូវបានជ្រើសរើសតាមរបៀបដែលវដ្តមួយត្រូវនឹងពេលវេលាដែលត្រូវការដើម្បីបញ្ជូនស៊ុមមួយ (ដោយមិនគិតពីទំហំរបស់វា) ។ និយាយម្យ៉ាងទៀតប្រេកង់ឬរយៈពេលនៃវដ្តត្រូវបានកំណត់ដោយការអនុវត្តជាក់លាក់របស់អ្នកគ្រប់គ្រងរដ្ឋ។ រូបភាពទី 1 បង្ហាញពីរបៀបបោះជំហាន "ឥតគិតថ្លៃ" នៃប្រតិបត្តិការ ដែលមិនត្រូវការប្រព័ន្ធទាំងអស់ដើម្បីបញ្ចប់ប្រតិបត្តិការក្នុងវដ្តនាឡិកាតែមួយនោះទេ។ របៀប​ដែល​ប្រព័ន្ធ​ទាំងអស់​បញ្ចប់​ប្រតិបត្តិការ​របស់​ពួកគេ​ក្នុង​វដ្ត​នាឡិកា​មួយ​ត្រូវ​បាន​គេ​ហៅ​ថា​របៀប​បោះជំហាន​ "រឹង"។ វាត្រូវបានបង្ហាញតាមគ្រោងការណ៍ក្នុងរូបភាពទី 2 ។


រូបភាពទី 1. ស្ថានភាពប្រតិបត្តិក្នុងរបៀបបោះជំហានដោយឥតគិតថ្លៃ

២.១.១. របៀបបង្វិលដោយឥតគិតថ្លៃ
នៅក្នុងរបៀបមួយជំហានម្តងៗដោយឥតគិតថ្លៃ ប្រព័ន្ធទាំងអស់ដំណើរការជាបន្តបន្ទាប់សម្រាប់រយៈពេលកំណត់ទុកជាមុនដែលត្រូវការដើម្បីបញ្ចប់ផ្នែកបន្ទាប់នៃការគណនា។ ទោះយ៉ាងណាក៏ដោយ ឈ្មោះ "ឥតគិតថ្លៃ" មិនគួរត្រូវបានគេយកតាមព្យញ្ជនៈទេ: ប្រព័ន្ធមិនត្រូវបានធ្វើសមកាលកម្មនៅពេលណាមួយតាមអំពើចិត្តទេពួកគេគ្រាន់តែ "ឥតគិតថ្លៃ" ក្នុងការជ្រើសរើសចំនួនវដ្តដែលត្រូវការដើម្បីបញ្ចប់ដំណាក់កាលបន្ទាប់។
ជាធម្មតា នៅក្នុងរបៀបនេះ វាមិនគ្រប់គ្រាន់ទេក្នុងការផ្ញើការជូនដំណឹងអំពីការផ្លាស់ប្តូររដ្ឋសាមញ្ញទៅកាន់អ្នកគ្រប់គ្រងរដ្ឋ។ វាក៏ចាំបាច់ផងដែរក្នុងការបញ្ជូនទិន្នន័យដែលបានធ្វើបច្ចុប្បន្នភាព។ នេះគឺដោយសារតែប្រព័ន្ធដែលបានផ្លាស់ប្តូរទិន្នន័យដែលបានចែករំលែកអាចកំពុងដំណើរការ ខណៈដែលប្រព័ន្ធផ្សេងទៀតដែលកំពុងរង់ចាំទិន្នន័យរួចរាល់ដើម្បីធ្វើបច្ចុប្បន្នភាព។ ក្នុងករណីនេះ អង្គចងចាំកាន់តែច្រើនត្រូវបានទាមទារ ពីព្រោះច្បាប់ចម្លងទិន្នន័យកាន់តែច្រើនចាំបាច់ត្រូវបង្កើត។ ដូច្នេះ របៀប "ឥតគិតថ្លៃ" មិនអាចត្រូវបានចាត់ទុកថាជាដំណោះស្រាយជាសកលសម្រាប់គ្រប់ឱកាសទាំងអស់។
២.១.២. របៀបបត់រឹង
នៅក្នុងរបៀបនេះ ការប្រតិបត្តិភារកិច្ចនៃប្រព័ន្ធទាំងអស់ត្រូវបានបញ្ចប់ក្នុងរង្វង់នាឡិកាមួយ។ យន្តការនេះកាន់តែងាយស្រួលអនុវត្ត និងមិនតម្រូវឱ្យមានការបញ្ជូនទិន្នន័យដែលបានធ្វើបច្ចុប្បន្នភាពរួមជាមួយនឹងការជូនដំណឹងនោះទេ។ ជាការពិតណាស់ ប្រសិនបើចាំបាច់ ប្រព័ន្ធមួយអាចស្នើសុំតម្លៃថ្មីពីប្រព័ន្ធមួយផ្សេងទៀត (ជាការពិតណាស់ នៅចុងបញ្ចប់នៃវដ្តដំណើរការ)។
នៅក្នុងរបៀបរឹង វាអាចធ្វើទៅបានដើម្បីអនុវត្តរបៀបជំហានដោយមិនប្រើ pseudo នៃប្រតិបត្តិការដោយការចែកចាយការគណនាក្នុងចំណោមជំហានផ្សេងៗគ្នា។ ជាពិសេស នេះអាចនឹងត្រូវបានទាមទារសម្រាប់ការគណនា AI ដែល "គោលដៅរួម" ដំបូងត្រូវបានគណនាក្នុងវដ្តទីមួយ ដែលត្រូវបានកែលម្អជាបណ្តើរៗក្នុងដំណាក់កាលខាងក្រោម។


រូបភាពទី 2. ស្ថានភាពប្រតិបត្តិក្នុងរបៀបជំហានរឹង

២.២. ការធ្វើសមកាលកម្មទិន្នន័យ

ការកែប្រែទិន្នន័យដែលបានចែករំលែកដោយប្រព័ន្ធជាច្រើនអាចបណ្តាលឱ្យមានការផ្លាស់ប្តូរផ្ទុយគ្នា។ ក្នុងករណីនេះ ប្រព័ន្ធផ្ញើសារត្រូវផ្តល់ក្បួនដោះស្រាយសម្រាប់ជ្រើសរើសតម្លៃសរុបត្រឹមត្រូវ។ មានវិធីសាស្រ្តសំខាន់ពីរដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យខាងក្រោម។
  • ពេលវេលា៖ តម្លៃចុងក្រោយគឺជាការផ្លាស់ប្តូរចុងក្រោយដែលបានធ្វើ។
  • អាទិភាព៖ តម្លៃចុងក្រោយគឺជាការផ្លាស់ប្តូរដែលធ្វើឡើងដោយប្រព័ន្ធដែលមានអាទិភាពខ្ពស់បំផុត។ ប្រសិនបើអាទិភាពនៃប្រព័ន្ធគឺដូចគ្នា អ្នកក៏អាចគិតគូរពីពេលវេលានៃការផ្លាស់ប្តូរផងដែរ។
ទិន្នន័យដែលលែងប្រើទាំងអស់ (យោងទៅតាមលក្ខណៈវិនិច្ឆ័យណាមួយ) អាចត្រូវបានសរសេរជាន់លើ ឬដកចេញពីជួរការជូនដំណឹង។
ដោយសារតម្លៃសរុបអាចអាស្រ័យលើលំដាប់ដែលការផ្លាស់ប្តូរត្រូវបានធ្វើឡើង វាអាចពិបាកប្រើតម្លៃដែលទាក់ទងសម្រាប់ទិន្នន័យសរុប។ ក្នុងករណីបែបនេះតម្លៃដាច់ខាតគួរតែត្រូវបានប្រើ។ បន្ទាប់មក នៅពេលធ្វើបច្ចុប្បន្នភាពទិន្នន័យមូលដ្ឋាន ប្រព័ន្ធអាចគ្រាន់តែជំនួសតម្លៃចាស់ជាមួយនឹងតម្លៃថ្មី។ ដំណោះស្រាយដ៏ល្អបំផុតគឺជ្រើសរើសតម្លៃដាច់ខាត ឬទាក់ទងអាស្រ័យលើស្ថានភាពជាក់លាក់។ ឧទាហរណ៍ ទិន្នន័យទូទៅដូចជាទីតាំង និងការតំរង់ទិសគួរតែមានតម្លៃដាច់ខាត ពីព្រោះលំដាប់ដែលការផ្លាស់ប្តូរត្រូវបានធ្វើឡើងមានសារៈសំខាន់ចំពោះពួកគេ។ តម្លៃដែលទាក់ទងអាចត្រូវបានប្រើឧទាហរណ៍សម្រាប់ប្រព័ន្ធបង្កើតភាគល្អិតចាប់តាំងពីព័ត៌មានទាំងអស់អំពីភាគល្អិតត្រូវបានរក្សាទុកតែនៅក្នុងខ្លួនវាប៉ុណ្ណោះ។

3. ម៉ាស៊ីន

នៅពេលបង្កើតម៉ាស៊ីន ផ្តោតលើភាពបត់បែនដែលត្រូវការដើម្បីពង្រីកមុខងាររបស់វា។ វា​នឹង​បង្កើន​ប្រសិទ្ធភាព​វា​សម្រាប់​ប្រើប្រាស់​ក្រោម​ការ​រឹតត្បិត​ជាក់លាក់ (ឧទាហរណ៍ អង្គចងចាំ)។
ម៉ាស៊ីនអាចបែងចែកតាមលក្ខខណ្ឌជាពីរផ្នែក៖ ក្របខ័ណ្ឌ និងអ្នកគ្រប់គ្រង។ ក្របខ័ណ្ឌ (សូមមើលផ្នែក 3.1) រួមបញ្ចូលផ្នែកនៃហ្គេមដែលត្រូវបានចម្លងនៅពេលដំណើរការ ពោលគឺពួកវាមាននៅក្នុងឧទាហរណ៍ជាច្រើន។ វាក៏រួមបញ្ចូលធាតុដែលពាក់ព័ន្ធនឹងការប្រតិបត្តិនៃរង្វិលជុំហ្គេមសំខាន់ផងដែរ។ អ្នកគ្រប់គ្រង (សូមមើលផ្នែក 3.2) គឺជាវត្ថុ Singleton ដែលទទួលខុសត្រូវក្នុងការប្រតិបត្តិផ្នែកឡូជីខលនៃហ្គេម។
ខាងក្រោមនេះគឺជាដ្យាក្រាមនៃម៉ាស៊ីនហ្គេម។


រូបភាពទី 3. ស្ថាបត្យកម្មទូទៅនៃម៉ាស៊ីន

សូមចំណាំថាម៉ូឌុលហ្គេមដែលមានមុខងារ ឬប្រព័ន្ធមិនមែនជាផ្នែកនៃម៉ាស៊ីននោះទេ។ ម៉ាស៊ីនគ្រាន់តែបង្រួបបង្រួមពួកវាជាមួយគ្នាដើរតួជាធាតុតភ្ជាប់។ អង្គការម៉ូឌុលនេះធ្វើឱ្យវាអាចផ្ទុក និងផ្ទុកប្រព័ន្ធតាមតម្រូវការ។

អន្តរកម្មនៃម៉ាស៊ីន និងប្រព័ន្ធត្រូវបានអនុវត្តដោយប្រើចំណុចប្រទាក់។ ពួកវាត្រូវបានអនុវត្តតាមមធ្យោបាយដូចជាផ្តល់ឱ្យម៉ាស៊ីនចូលដំណើរការមុខងារនៃប្រព័ន្ធ និងប្រព័ន្ធដល់អ្នកគ្រប់គ្រងម៉ាស៊ីន។
ដ្យាក្រាមលម្អិតនៃម៉ាស៊ីនត្រូវបានផ្តល់ជូននៅក្នុងឧបសម្ព័ន្ធ A "ដ្យាក្រាមម៉ាស៊ីន"។

តាមពិតប្រព័ន្ធទាំងអស់គឺឯករាជ្យពីគ្នាទៅវិញទៅមក (សូមមើលផ្នែកទី 2 "ស្ថានភាពប្រតិបត្តិស្របគ្នា") ដែលមានន័យថាពួកគេអាចអនុវត្តសកម្មភាពស្របគ្នាដោយមិនប៉ះពាល់ដល់ប្រតិបត្តិការនៃប្រព័ន្ធផ្សេងទៀត។ ទោះជាយ៉ាងណាក៏ដោយ ការផ្លាស់ប្តូរទិន្នន័យណាមួយនឹងជួបការលំបាកមួយចំនួន ដោយសារប្រព័ន្ធនឹងត្រូវធ្វើអន្តរកម្មគ្នាទៅវិញទៅមក។ ការផ្លាស់ប្តូរព័ត៌មានរវាងប្រព័ន្ធគឺចាំបាច់នៅក្នុងករណីដូចខាងក្រោមៈ

  • ដើម្បីជូនដំណឹងដល់ប្រព័ន្ធមួយផ្សេងទៀតអំពីការផ្លាស់ប្តូរទិន្នន័យដែលបានចែករំលែក (ឧទាហរណ៍ ទីតាំង ឬការតំរង់ទិសរបស់វត្ថុ);
  • ដើម្បីអនុវត្តមុខងារដែលមិនមានសម្រាប់ប្រព័ន្ធនេះ (ឧទាហរណ៍ ប្រព័ន្ធ AI ហៅប្រព័ន្ធសម្រាប់គណនាធរណីមាត្រ ឬលក្ខណៈសម្បត្តិរូបវន្តរបស់វត្ថុ ដើម្បីធ្វើតេស្តឆ្លងកាត់កាំរស្មី)។
ក្នុងករណីដំបូងអ្នកគ្រប់គ្រងរដ្ឋដែលបានពិពណ៌នានៅក្នុងផ្នែកមុនអាចត្រូវបានប្រើដើម្បីគ្រប់គ្រងការផ្លាស់ប្តូរព័ត៌មាន។ (សូមមើលផ្នែក 3.2.2 "អ្នកគ្រប់គ្រងរដ្ឋ" សម្រាប់ព័ត៌មានបន្ថែមអំពីអ្នកគ្រប់គ្រងរដ្ឋ។)
ក្នុងករណីទី 2 វាចាំបាច់ដើម្បីអនុវត្តយន្តការពិសេសដែលនឹងអនុញ្ញាតឱ្យអ្នកផ្តល់សេវាកម្មពីប្រព័ន្ធមួយសម្រាប់ប្រើប្រាស់ដោយមួយផ្សេងទៀត។ ការពិពណ៌នាពេញលេញនៃយន្តការនេះត្រូវបានផ្តល់ជូននៅក្នុងផ្នែក 3.2.3 អ្នកគ្រប់គ្រងសេវាកម្ម។

៣.១. ក្របខ័ណ្ឌ

ក្របខ័ណ្ឌបម្រើដើម្បីបញ្ចូលគ្នានូវធាតុទាំងអស់នៃម៉ាស៊ីន។ វា​ជា​កន្លែង​ដែល​ម៉ាស៊ីន​ត្រូវ​បាន​ចាប់​ផ្តើម​ដោយ​លើក​លែង​តែ​អ្នក​គ្រប់​គ្រង​ដែល​ត្រូវ​បាន​ធ្វើ​ភ្លាមៗ​នៅ​ទូទាំង​ពិភពលោក។ វាក៏រក្សាទុកព័ត៌មានកន្លែងកើតហេតុផងដែរ។ ដើម្បីសម្រេចបាននូវភាពបត់បែនកាន់តែច្រើន ឈុតនេះត្រូវបានអនុវត្តជាអ្វីដែលហៅថា ឈុតសកល ដែលមានវត្ថុជាសកល។ ពួកវាជាធុងដែលរួមបញ្ចូលគ្នានូវផ្នែកមុខងារផ្សេងៗនៃកន្លែងកើតហេតុ។ សូមមើលផ្នែក 3.1.2 សម្រាប់ព័ត៌មានលម្អិត។
រង្វិលជុំហ្គេមសំខាន់ក៏ត្រូវបានអនុវត្តនៅក្នុងក្របខ័ណ្ឌផងដែរ។ តាមគ្រោងការណ៍ វាអាចត្រូវបានតំណាងដូចខាងក្រោម។


រូបភាពទី 4. រង្វិលជុំហ្គេមសំខាន់

ម៉ាស៊ីនដំណើរការក្នុងបរិយាកាសដែលមានបង្អួច ដូច្នេះជំហានដំបូងនៅក្នុងហ្គេមរង្វិលជុំគឺដំណើរការសារបង្អួច OS ដែលមិនទាន់សម្រេចទាំងអស់។ ប្រសិនបើវាមិនត្រូវបានធ្វើទេ ម៉ាស៊ីននឹងមិនឆ្លើយតបទៅនឹងសារ OS ទេ។ នៅជំហានទីពីរ អ្នកកំណត់ពេលកំណត់ភារកិច្ចដោយប្រើប្រាស់កម្មវិធីគ្រប់គ្រងភារកិច្ច។ ដំណើរការនេះត្រូវបានរៀបរាប់លម្អិតនៅក្នុងផ្នែក 3.1.1 ខាងក្រោម។ បន្ទាប់ពីនោះអ្នកគ្រប់គ្រងរដ្ឋ (សូមមើលផ្នែក 3.2.2) ផ្ញើព័ត៌មានអំពីការផ្លាស់ប្តូរដែលបានធ្វើឡើងចំពោះប្រព័ន្ធម៉ាស៊ីនដែលវាអាចប៉ះពាល់ដល់។ នៅជំហានចុងក្រោយ អាស្រ័យលើស្ថានភាពប្រតិបត្តិ ក្របខ័ណ្ឌកំណត់ថាតើត្រូវបញ្ចប់ ឬបន្តម៉ាស៊ីន ឧទាហរណ៍ ដើម្បីផ្លាស់ទីទៅឈុតបន្ទាប់។ ព័ត៌មានអំពីស្ថានភាពរបស់ម៉ាស៊ីនត្រូវបានរក្សាទុកនៅក្នុងអ្នកគ្រប់គ្រងបរិស្ថាន។ សូមមើលផ្នែក 3.2.4 សម្រាប់ព័ត៌មានលម្អិត។

៣.១.១. អ្នករៀបចំកាលវិភាគ
កម្មវិធីកំណត់ពេលបង្កើតនាឡិកាយោងប្រតិបត្តិនៅប្រេកង់ដែលបានបញ្ជាក់។ ប្រសិនបើរបៀបកំណត់ចំណាំតម្រូវឱ្យប្រតិបត្តិការបន្ទាប់ចាប់ផ្តើមភ្លាមៗបន្ទាប់ពីការបញ្ចប់នៃដំណាក់កាលមុន ដោយមិនរង់ចាំការបញ្ចប់នៃវដ្ត នោះប្រេកង់អាចគ្មានដែនកំណត់។
នៅលើសញ្ញានាឡិកា អ្នកកំណត់ពេល ដោយមានជំនួយពីកម្មវិធីគ្រប់គ្រងភារកិច្ច ដាក់ប្រព័ន្ធចូលទៅក្នុងរបៀបប្រតិបត្តិ។ នៅក្នុងរបៀបបោះជំហានដោយមិនគិតថ្លៃ (ផ្នែក 2.1.1) អ្នករៀបចំកាលវិភាគធ្វើការស្ទង់មតិប្រព័ន្ធដើម្បីកំណត់ចំនួនធីកដែលពួកគេត្រូវការដើម្បីបញ្ចប់កិច្ចការមួយ។ ដោយផ្អែកលើលទ្ធផលនៃការស្ទង់មតិ អ្នកកំណត់ពេលកំណត់ថាតើប្រព័ន្ធណាដែលត្រៀមរួចជាស្រេចដើម្បីដំណើរការ ហើយដែលនឹងបញ្ចប់ការងារនៅក្នុងវដ្តជាក់លាក់មួយ។ កម្មវិធីកំណត់ពេលអាចផ្លាស់ប្តូរចំនួនធីក ប្រសិនបើប្រព័ន្ធណាមួយត្រូវការពេលវេលាបន្ថែមទៀតដើម្បីប្រតិបត្តិ។ នៅក្នុងរបៀបបោះជំហានរឹង (ផ្នែក 2.1.2) ប្រព័ន្ធទាំងអស់ចាប់ផ្តើម និងបញ្ចប់ការប្រតិបត្តិនៅលើវដ្តនាឡិកាដូចគ្នា ដូច្នេះកម្មវិធីកំណត់ពេលរង់ចាំឱ្យប្រព័ន្ធទាំងអស់បញ្ចប់ការប្រតិបត្តិ។
៣.១.២. ឈុតឆាក និងវត្ថុជាសកល
Universal Scene និង Objects គឺជាកុងតឺន័រសម្រាប់មុខងារដែលត្រូវបានអនុវត្តនៅក្នុងប្រព័ន្ធផ្សេងទៀត។ ពួកវាត្រូវបានបម្រុងទុកសម្រាប់អន្តរកម្មជាមួយម៉ាស៊ីនតែប៉ុណ្ណោះ ហើយមិនអនុវត្តមុខងារផ្សេងទៀតទេ។ ទោះជាយ៉ាងណាក៏ដោយ ពួកវាអាចត្រូវបានពង្រីកដើម្បីទាញយកអត្ថប្រយោជន៍នៃមុខងារដែលមាននៅលើប្រព័ន្ធផ្សេងទៀត។ នេះអនុញ្ញាតឱ្យមានការភ្ជាប់ខ្សោយ។ ជាការពិត ឈុតឆាកសកល និងវត្ថុអាចប្រើលក្ខណៈសម្បត្តិនៃប្រព័ន្ធផ្សេងទៀតដោយមិនចាំបាច់ចងភ្ជាប់ជាមួយពួកវា។ វាគឺជាទ្រព្យសម្បត្តិនេះដែលមិនរាប់បញ្ចូលការពឹងផ្អែកនៃប្រព័ន្ធលើគ្នាទៅវិញទៅមក និងធ្វើឱ្យវាអាចដំណើរការបានក្នុងពេលដំណាលគ្នា។
ដ្យាក្រាមខាងក្រោមបង្ហាញពីការពង្រីកនៃទិដ្ឋភាពសកល និងវត្ថុ។


រូបភាពទី 5. ការពង្រីកទិដ្ឋភាពសកល និងវត្ថុ

ពិចារណាគោលការណ៍នៃផ្នែកបន្ថែមលើឧទាហរណ៍ខាងក្រោម។ ឧបមាថាឈុតឆាកសកលជាសកលត្រូវបានពង្រីក ឈុតឆាកត្រូវបានពង្រីកដើម្បីប្រើប្រាស់ការប្រើប្រាស់ក្រាហ្វិក រូបវន្ត និងលក្ខណៈសម្បត្តិផ្សេងទៀត។ ក្នុងករណីនេះ ផ្នែក "ក្រាហ្វិក" នៃផ្នែកបន្ថែមនឹងទទួលខុសត្រូវក្នុងការចាប់ផ្តើមការបង្ហាញ ហើយផ្នែក "រូបវិទ្យា" របស់វានឹងទទួលខុសត្រូវចំពោះការអនុវត្តច្បាប់រូបវន្តសម្រាប់វត្ថុរឹង ដូចជាទំនាញផែនដី។ ឈុតឆាកមានវត្ថុ ដូច្នេះឈុតទូទៅនឹងរួមបញ្ចូលវត្ថុទូទៅជាច្រើនផងដែរ។ វត្ថុ​ទូទៅ​ក៏​អាច​ត្រូវ​បាន​ពង្រីក​ដើម្បី​ប្រើ​ក្រាហ្វិក រូបវិទ្យា និង​លក្ខណៈ​សម្បត្តិ​ផ្សេង​ទៀត។ ឧទាហរណ៍ ការគូរវត្ថុនៅលើអេក្រង់នឹងត្រូវបានអនុវត្តដោយមុខងារផ្នែកបន្ថែមក្រាហ្វិក ហើយការគណនានៃអន្តរកម្មនៃតួរឹងនឹងត្រូវបានអនុវត្តដោយរូបវន្ត។

ដ្យាក្រាមលម្អិតនៃអន្តរកម្មរបស់ម៉ាស៊ីន និងប្រព័ន្ធត្រូវបានផ្តល់ឱ្យនៅក្នុងឧបសម្ព័ន្ធ B "ដ្យាក្រាមនៃអន្តរកម្មនៃម៉ាស៊ីន និងប្រព័ន្ធ"។
ចំណាំថាឈុតទូទៅ និងវត្ថុទូទៅគឺទទួលខុសត្រូវក្នុងការចុះឈ្មោះ "ផ្នែកបន្ថែម" ទាំងអស់របស់ពួកគេជាមួយអ្នកគ្រប់គ្រងរដ្ឋ ដូច្នេះកម្មវិធីបន្ថែមទាំងអស់អាចត្រូវបានជូនដំណឹងអំពីការផ្លាស់ប្តូរដែលធ្វើឡើងដោយផ្នែកបន្ថែមផ្សេងទៀត (ឧ. ប្រព័ន្ធផ្សេងទៀត)។ ឧទាហរណ៍មួយនឹងជាផ្នែកបន្ថែមក្រាហ្វិកដែលបានចុះឈ្មោះដើម្បីទទួលបានការជូនដំណឹងអំពីការផ្លាស់ប្តូរទីតាំង និងការតំរង់ទិសដែលធ្វើឡើងដោយផ្នែកបន្ថែមរូបវន្ត។
សម្រាប់ព័ត៌មានលម្អិតអំពីសមាសធាតុប្រព័ន្ធ សូមមើលផ្នែកទី 5.2 សមាសភាគប្រព័ន្ធ។

៣.២. អ្នកគ្រប់គ្រង

អ្នកគ្រប់គ្រងគ្រប់គ្រងប្រតិបត្តិការរបស់ម៉ាស៊ីន។ ពួកវាជាវត្ថុ Singleton មានន័យថាមានឧទាហរណ៍តែមួយនៃប្រភេទអ្នកគ្រប់គ្រងនីមួយៗ។ នេះគឺចាំបាច់ព្រោះការចម្លងធនធានអ្នកគ្រប់គ្រងនឹងជៀសមិនរួចនាំទៅរកភាពដដែលៗ និងប៉ះពាល់អវិជ្ជមានដល់ការអនុវត្ត។ លើសពីនេះ អ្នកគ្រប់គ្រងត្រូវទទួលខុសត្រូវក្នុងការអនុវត្តមុខងារទូទៅសម្រាប់ប្រព័ន្ធទាំងអស់។
៣.២.១. អ្នកគ្រប់គ្រងភារកិច្ច
កម្មវិធីគ្រប់គ្រងភារកិច្ចគឺទទួលខុសត្រូវក្នុងការគ្រប់គ្រងកិច្ចការប្រព័ន្ធនៅក្នុងក្រុមខ្សែស្រឡាយ។ ដើម្បីធានាបាននូវការធ្វើមាត្រដ្ឋាន nx ដ៏ល្អប្រសើរ និងដើម្បីការពារខ្សែស្រឡាយដែលលែងត្រូវការតទៅទៀត លុបបំបាត់ការប្តូរកិច្ចការដែលមិនចាំបាច់នៅក្នុងប្រព័ន្ធប្រតិបត្តិការ បណ្តុំខ្សែស្រឡាយបង្កើតខ្សែស្រឡាយមួយក្នុងមួយដំណើរការ។

កម្មវិធីកំណត់ពេលផ្តល់ឱ្យអ្នកគ្រប់គ្រងភារកិច្ចនូវបញ្ជីកិច្ចការដែលត្រូវប្រតិបត្តិ ក៏ដូចជាព័ត៌មានអំពីកិច្ចការដែលត្រូវបញ្ចប់ដើម្បីរង់ចាំ។ វាទទួលទិន្នន័យនេះពីប្រព័ន្ធផ្សេងៗ។ ប្រព័ន្ធនីមួយៗទទួលបានភារកិច្ចតែមួយគត់ដើម្បីប្រតិបត្តិ។ វិធីសាស្រ្តនេះត្រូវបានគេហៅថាការបំបែកមុខងារ។ ទោះយ៉ាងណាក៏ដោយ សម្រាប់ដំណើរការទិន្នន័យ កិច្ចការនីមួយៗអាចបែងចែកជាចំនួនកិច្ចការរងតាមអំពើចិត្ត (ការបំបែកទិន្នន័យ)។
ខាងក្រោមនេះគឺជាឧទាហរណ៍នៃការចែកចាយភារកិច្ចរវាងខ្សែស្រឡាយសម្រាប់ប្រព័ន្ធ quad-core ។


រូបភាពទី 6. ឧទាហរណ៍នៃបណ្តុំខ្សែស្រឡាយដែលប្រើដោយអ្នកគ្រប់គ្រងកិច្ចការ

បន្ថែមពីលើការដំណើរការសំណើកម្មវិធីកំណត់ពេលសម្រាប់ការចូលប្រើកិច្ចការចម្បង កម្មវិធីគ្រប់គ្រងភារកិច្ចអាចដំណើរការក្នុងទម្រង់ចាប់ផ្តើម។ វាធ្វើការស្ទង់មតិតាមលំដាប់លំដោយប្រព័ន្ធពីខ្សែស្រឡាយនីមួយៗ ដូច្នេះពួកគេអាចចាប់ផ្តើមផ្ទុកទិន្នន័យមូលដ្ឋានដែលចាំបាច់សម្រាប់ការងារ។
ព័ត៌មានជំនួយសម្រាប់ការអនុវត្តកម្មវិធីគ្រប់គ្រងភារកិច្ចត្រូវបានផ្តល់ឱ្យនៅក្នុងឧបសម្ព័ន្ធ D គន្លឹះសម្រាប់ការអនុវត្តភារកិច្ច។

៣.២.២. អ្នកគ្រប់គ្រងរដ្ឋ
អ្នកគ្រប់គ្រងរដ្ឋគឺជាផ្នែកមួយនៃយន្តការផ្ញើសារ។ វាតាមដានការផ្លាស់ប្តូរ និងផ្ញើការជូនដំណឹងអំពីពួកវាទៅកាន់ប្រព័ន្ធទាំងអស់ដែលអាចរងផលប៉ះពាល់ដោយការផ្លាស់ប្តូរទាំងនេះ។ ដើម្បីកុំឱ្យផ្ញើការជូនដំណឹងដែលមិនចាំបាច់ អ្នកគ្រប់គ្រងរដ្ឋរក្សាទុកព័ត៌មានអំពីប្រព័ន្ធណាដែលត្រូវជូនដំណឹងនៅក្នុងករណីជាក់លាក់ណាមួយ។ យន្តការនេះត្រូវបានអនុវត្តដោយផ្អែកលើគំរូអ្នកសង្កេតការណ៍ (សូមមើលឧបសម្ព័ន្ធ C, អ្នកសង្កេតការណ៍ (លំនាំរចនា)) ។ សរុបមក គំរូនេះពាក់ព័ន្ធនឹងការប្រើប្រាស់ "អ្នកសង្កេតការណ៍" ដែលមើលការផ្លាស់ប្តូរណាមួយចំពោះប្រធានបទ ខណៈពេលដែលឧបករណ៍បញ្ជាការផ្លាស់ប្តូរដើរតួជាអន្តរការីរវាងពួកគេ។

យន្តការនេះដំណើរការដូចខាងក្រោម។ 1. អ្នកសង្កេតការណ៍ប្រាប់អ្នកត្រួតពិនិត្យការផ្លាស់ប្តូរ (ឬអ្នកគ្រប់គ្រងរដ្ឋ) ដែលប្រធានបទដែលខ្លួនចង់ត្រួតពិនិត្យការផ្លាស់ប្តូរ។ 2. ប្រធានបទជូនដំណឹងដល់ឧបករណ៍បញ្ជាអំពីការផ្លាស់ប្តូរទាំងអស់របស់វា។ 3. នៅសញ្ញានៃក្របខ័ណ្ឌ ឧបករណ៍បញ្ជាជូនដំណឹងដល់អ្នកសង្កេតការណ៍អំពីការផ្លាស់ប្តូរនៅក្នុងប្រធានបទ។ 4. អ្នកសង្កេតការណ៍ផ្ញើសំណើទៅប្រធានបទដើម្បីទទួលបានទិន្នន័យដែលបានធ្វើបច្ចុប្បន្នភាព។

នៅក្នុងរបៀបបោះជំហានដោយឥតគិតថ្លៃ (សូមមើលផ្នែក 2.1.1) ការអនុវត្តយន្តការនេះកាន់តែស្មុគស្មាញ។ ជាដំបូង ទិន្នន័យដែលបានអាប់ដេតនឹងត្រូវផ្ញើរួមជាមួយការជូនដំណឹងអំពីការផ្លាស់ប្តូរ។ ការ​បោះឆ្នោត​មិន​អាច​អនុវត្ត​បាន​ក្នុង​របៀប​នេះ​ទេ។ ជាការពិតណាស់ ប្រសិនបើប្រព័ន្ធដែលទទួលខុសត្រូវចំពោះការផ្លាស់ប្តូរមិនទាន់បានបញ្ចប់ការប្រតិបត្តិនៅពេលដែលសំណើត្រូវបានទទួលនោះ វានឹងមិនអាចផ្តល់ទិន្នន័យដែលបានធ្វើបច្ចុប្បន្នភាពបានទេ។ ទីពីរ ប្រសិនបើប្រព័ន្ធមួយមិនទាន់រួចរាល់ក្នុងការទទួលការផ្លាស់ប្តូរនៅចុងម៉ោង អ្នកគ្រប់គ្រងរដ្ឋនឹងត្រូវរក្សាទុកទិន្នន័យដែលបានផ្លាស់ប្តូររហូតដល់ប្រព័ន្ធទាំងអស់ដែលបានចុះឈ្មោះដើម្បីទទួលបានវារួចរាល់។

ក្របខ័ណ្ឌផ្ដល់ឱ្យអ្នកគ្រប់គ្រងរដ្ឋចំនួនពីរសម្រាប់រឿងនេះ៖ សម្រាប់ការគ្រប់គ្រងការផ្លាស់ប្តូរនៅកម្រិតកន្លែងកើតហេតុ និងនៅកម្រិតវត្ថុ។ ជាធម្មតា សាររូបភាព និងវត្ថុគឺឯករាជ្យពីគ្នាទៅវិញទៅមក ដូច្នេះការប្រើអ្នកគ្រប់គ្រងដាច់ដោយឡែកពីរនឹងលុបបំបាត់តម្រូវការដើម្បីដំណើរការទិន្នន័យដែលមិនចាំបាច់។ ប៉ុន្តែប្រសិនបើកន្លែងកើតហេតុត្រូវការគិតគូរពីស្ថានភាពរបស់វត្ថុនោះ វាអាចត្រូវបានចុះឈ្មោះដើម្បីទទួលការជូនដំណឹងអំពីការផ្លាស់ប្តូររបស់វា។

ដើម្បីកុំឱ្យធ្វើសមកាលកម្មដែលមិនចាំបាច់ អ្នកគ្រប់គ្រងរដ្ឋបង្កើតជួរនៃការជូនដំណឹងអំពីការផ្លាស់ប្តូរដោយឡែកពីគ្នាសម្រាប់ខ្សែស្រឡាយនីមួយៗដែលបង្កើតឡើងដោយកម្មវិធីគ្រប់គ្រងភារកិច្ច។ ដូច្នេះ មិនចាំបាច់ធ្វើសមកាលកម្មទេ នៅពេលចូលប្រើជួរ។ ផ្នែកទី 2.2 ពិពណ៌នាអំពីវិធីសាស្រ្តដែលអាចត្រូវបានប្រើដើម្បីបញ្ចូលជួរបន្ទាប់ពីប្រតិបត្តិ។


រូបភាពទី 7. ការជូនដំណឹងអំពីការផ្លាស់ប្តូរខាងក្នុងរបស់វត្ថុទូទៅ

ការជូនដំណឹងអំពីការផ្លាស់ប្តូរមិនត្រូវផ្ញើតាមលំដាប់លំដោយទេ។ មានវិធីមួយដើម្បីចែកចាយពួកវាស្របគ្នា។ នៅពេលអនុវត្តកិច្ចការមួយ ប្រព័ន្ធដំណើរការជាមួយវត្ថុទាំងអស់របស់វា។ ឧទាហរណ៍ នៅពេលដែលវត្ថុរូបវន្តមានអន្តរកម្មគ្នាទៅវិញទៅមក ប្រព័ន្ធរូបវន្តគ្រប់គ្រងចលនារបស់ពួកគេ ការគណនាការប៉ះទង្គិច កម្លាំងសម្ដែងថ្មីជាដើម។ នៅពេលទទួលការជូនដំណឹង វត្ថុប្រព័ន្ធមិនធ្វើអន្តរកម្មជាមួយវត្ថុផ្សេងទៀតនៅក្នុងប្រព័ន្ធរបស់វាទេ។ វាធ្វើអន្តរកម្មជាមួយផ្នែកបន្ថែមវត្ថុទូទៅដែលពាក់ព័ន្ធរបស់វា។ នេះ​មាន​ន័យ​ថា​វត្ថុ​ទូទៅ​ឥឡូវ​នេះ​គឺ​ឯករាជ្យ​ពី​គ្នា​ទៅ​វិញ​ទៅ​មក​ហើយ​អាច​ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព​ក្នុង​ពេល​តែ​មួយ​។ វិធីសាស្រ្តនេះមិនរាប់បញ្ចូលករណីគែមដែលគួរត្រូវយកមកពិចារណាក្នុងដំណើរការធ្វើសមកាលកម្មនោះទេ។ ទោះយ៉ាងណាក៏ដោយ វាអនុញ្ញាតឱ្យអ្នកប្រើរបៀបប្រតិបត្តិប៉ារ៉ាឡែល នៅពេលដែលវាហាក់ដូចជាអ្នកអាចធ្វើសកម្មភាពជាបន្តបន្ទាប់។

៣.២.៣. អ្នកគ្រប់គ្រងសេវាកម្ម
កម្មវិធីគ្រប់គ្រងសេវាកម្មផ្ដល់ឱ្យប្រព័ន្ធនូវការចូលប្រើមុខងារនៃប្រព័ន្ធផ្សេងទៀត ដែលនឹងមិនមានសម្រាប់ពួកគេ។ វាជាការសំខាន់ណាស់ដែលត្រូវយល់ថាមុខងារត្រូវបានចូលប្រើតាមរយៈចំណុចប្រទាក់ និងមិនមែនដោយផ្ទាល់ទេ។ ព័ត៌មានអំពីចំណុចប្រទាក់ប្រព័ន្ធក៏ត្រូវបានរក្សាទុកនៅក្នុងកម្មវិធីគ្រប់គ្រងសេវាកម្មផងដែរ។
ដើម្បីជៀសវាងការពឹងផ្អែកនៃប្រព័ន្ធលើគ្នាទៅវិញទៅមក ពួកគេម្នាក់ៗមានសេវាកម្មតិចតួចប៉ុណ្ណោះ។ លើសពីនេះ លទ្ធភាពនៃការប្រើប្រាស់សេវាកម្មជាក់លាក់មួយ គឺមិនមែនដោយប្រព័ន្ធខ្លួនឯងនោះទេ ប៉ុន្តែដោយអ្នកគ្រប់គ្រងសេវាកម្ម។


រូបភាពទី 8. ឧទាហរណ៍នៃអ្នកគ្រប់គ្រងសេវាកម្ម

អ្នកគ្រប់គ្រងសេវាកម្មមានមុខងារមួយទៀត។ វាផ្តល់ឱ្យប្រព័ន្ធចូលប្រើលក្ខណៈសម្បត្តិនៃប្រព័ន្ធផ្សេងទៀត។ លក្ខណសម្បត្តិគឺជាតម្លៃជាក់លាក់នៃប្រព័ន្ធដែលមិនត្រូវបានឆ្លងកាត់នៅក្នុងប្រព័ន្ធផ្ញើសារ។ នេះអាចជាផ្នែកបន្ថែមនៃគុណភាពបង្ហាញអេក្រង់នៅក្នុងប្រព័ន្ធក្រាហ្វិច ឬទំហំទំនាញនៅក្នុងរូបវិទ្យា។ កម្មវិធីគ្រប់គ្រងសេវាកម្មផ្តល់ឱ្យប្រព័ន្ធចូលប្រើទិន្នន័យបែបនេះ ប៉ុន្តែមិនអនុញ្ញាតឱ្យពួកគេគ្រប់គ្រងដោយផ្ទាល់ទេ។ វាដាក់ការផ្លាស់ប្តូរលក្ខណសម្បត្តិនៅក្នុងជួរពិសេសមួយ ហើយបោះពុម្ពពួកវាតែបន្ទាប់ពីការប្រតិបត្តិតាមលំដាប់លំដោយ។ សូមចំណាំថាការចូលទៅកាន់លក្ខណៈសម្បត្តិនៃប្រព័ន្ធផ្សេងទៀតគឺកម្រត្រូវបានទាមទារ ហើយមិនគួរត្រូវបានបំពានឡើយ។ ជាឧទាហរណ៍ អ្នកប្រហែលជាត្រូវការវាដើម្បីបើក និងបិទរបៀប wireframe នៅក្នុងប្រព័ន្ធក្រាហ្វិកពីបង្អួចកុងសូល ឬដើម្បីផ្លាស់ប្តូរគុណភាពបង្ហាញអេក្រង់តាមសំណើរបស់អ្នកលេងពីចំណុចប្រទាក់អ្នកប្រើ។ លក្ខណៈពិសេសនេះត្រូវបានប្រើជាចម្បងដើម្បីកំណត់ប៉ារ៉ាម៉ែត្រដែលមិនផ្លាស់ប្តូរពីស៊ុមមួយទៅស៊ុមមួយ។

៣.២.៤. អ្នកគ្រប់គ្រងបរិស្ថាន
  • អ្នកគ្រប់គ្រងបរិស្ថានផ្តល់នូវបរិយាកាសពេលដំណើរការសម្រាប់ម៉ាស៊ីន។ មុខងាររបស់វាអាចត្រូវបានបែងចែកតាមលក្ខខណ្ឌទៅជាក្រុមដូចខាងក្រោម។
  • Variables៖ ឈ្មោះ និងតម្លៃនៃអថេរទូទៅដែលប្រើដោយគ្រប់ផ្នែកទាំងអស់នៃម៉ាស៊ីន។ ជាធម្មតា តម្លៃអថេរត្រូវបានកំណត់នៅពេលផ្ទុកឈុត ឬការកំណត់អ្នកប្រើប្រាស់ជាក់លាក់។ ម៉ាស៊ីន និងប្រព័ន្ធផ្សេងៗអាចចូលប្រើពួកវាបានដោយការផ្ញើសំណើ។
  • ការប្រតិបត្តិ៖ ទិន្នន័យប្រតិបត្តិ ដូចជាការបញ្ចប់ឈុតឆាក ឬការអនុវត្តកម្មវិធី។ ប៉ារ៉ាម៉ែត្រទាំងនេះអាចត្រូវបានកំណត់ និងស្នើសុំដោយទាំងប្រព័ន្ធខ្លួនឯង និងម៉ាស៊ីន។
៣.២.៥. កម្មវិធីគ្រប់គ្រងវេទិកា
អ្នកគ្រប់គ្រងវេទិកាអនុវត្តអរូបីសម្រាប់ការហៅទូរស័ព្ទរបស់ប្រព័ន្ធប្រតិបត្តិការ ហើយថែមទាំងផ្តល់នូវមុខងារបន្ថែមលើសពីការសង្ខេបសាមញ្ញ។ អត្ថប្រយោជន៍នៃវិធីសាស្រ្តនេះគឺការរុំព័ទ្ធនៃមុខងារធម្មតាជាច្រើននៅក្នុងការហៅតែមួយ។ នោះគឺពួកគេមិនចាំបាច់ត្រូវបានអនុវត្តដោយឡែកពីគ្នាសម្រាប់ធាតុហៅទូរស័ព្ទនីមួយៗដោយផ្ទុកលើសទម្ងន់ជាមួយនឹងព័ត៌មានលម្អិតអំពីការហៅតាមប្រព័ន្ធប្រតិបត្តិការ។
ពិចារណាឧទាហរណ៍ ការហៅទៅអ្នកគ្រប់គ្រងវេទិកាដើម្បីផ្ទុកបណ្ណាល័យថាមវន្តរបស់ប្រព័ន្ធ។ វាមិនត្រឹមតែចាប់ផ្ដើមប្រព័ន្ធប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងទទួលបានចំណុចចូលមុខងារ និងហៅមុខងារចាប់ផ្តើមរបស់បណ្ណាល័យផងដែរ។ អ្នក​គ្រប់​គ្រង​ក៏​រក្សា​ទុក​ឧបករណ៍​ពណ៌នា​បណ្ណាល័យ ហើយ​លែង​ផ្ទុក​វា​ពេល​ម៉ាស៊ីន​បិទ។

អ្នកគ្រប់គ្រងវេទិកាក៏ទទួលខុសត្រូវក្នុងការផ្តល់ព័ត៌មានអំពីខួរក្បាល ដូចជាការណែនាំរបស់ SIMD ដែលគាំទ្រ និងសម្រាប់ការចាប់ផ្តើមរបៀបជាក់លាក់នៃប្រតិបត្តិការសម្រាប់ដំណើរការ។ មុខងារសំណួរប្រព័ន្ធផ្សេងទៀតមិនអាចប្រើបានទេ។

4. ចំណុចប្រទាក់

ចំណុចប្រទាក់គឺជាមធ្យោបាយនៃអន្តរកម្មរវាងក្របខ័ណ្ឌ អ្នកគ្រប់គ្រង និងប្រព័ន្ធ។ ក្របខ័ណ្ឌ និងអ្នកគ្រប់គ្រងគឺជាផ្នែកមួយនៃម៉ាស៊ីន ដូច្នេះពួកគេអាចទាក់ទងគ្នាទៅវិញទៅមកដោយផ្ទាល់។ ប្រព័ន្ធមិនមែនជារបស់ម៉ាស៊ីនទេ។ ជាងនេះទៅទៀត ពួកគេទាំងអស់អនុវត្តមុខងារផ្សេងៗគ្នា ដែលនាំឱ្យមានតម្រូវការក្នុងការបង្កើតវិធីសាស្រ្តតែមួយនៃអន្តរកម្មជាមួយពួកគេ។ ដោយសារតែប្រព័ន្ធមិនអាចទាក់ទងដោយផ្ទាល់ជាមួយអ្នកគ្រប់គ្រង ពួកគេត្រូវតែផ្តល់មធ្យោបាយផ្សេងទៀតដើម្បីចូលប្រើពួកគេ។ ទោះយ៉ាងណាក៏ដោយ មិនមែនមុខងារទាំងអស់របស់អ្នកគ្រប់គ្រងគួរតែបើកចំហចំពោះប្រព័ន្ធទេ។ ពួកគេខ្លះអាចប្រើបានតែក្នុងក្របខ័ណ្ឌប៉ុណ្ណោះ។

ចំណុចប្រទាក់កំណត់សំណុំមុខងារដែលត្រូវការដើម្បីប្រើវិធីសាស្ត្រចូលប្រើស្តង់ដារ។ វារក្សាទុកក្របខណ្ឌពីការត្រូវដឹងពីព័ត៌មានលម្អិតនៃការអនុវត្តនៃប្រព័ន្ធជាក់លាក់ ព្រោះវាអាចធ្វើអន្តរកម្មជាមួយពួកគេតាមរយៈការហៅទូរស័ព្ទជាក់លាក់ប៉ុណ្ណោះ។

៤.១. ចំណុចប្រទាក់ប្រធានបទ និងអ្នកសង្កេតការណ៍

គោលបំណងសំខាន់នៃចំណុចប្រទាក់អ្នកសង្កេតការណ៍ និងអ្នកសង្កេតការណ៍គឺដើម្បីចុះឈ្មោះអ្នកសង្កេតការណ៍ណាមួយដើម្បីផ្ញើការជូនដំណឹងអំពីប្រធានបទណាមួយ ក៏ដូចជាការផ្ញើការជូនដំណឹងបែបនេះ។ ការចុះឈ្មោះ និងការផ្តាច់ទំនាក់ទំនងពីអ្នកសង្កេតការណ៍គឺជាលក្ខណៈស្តង់ដារសម្រាប់តួអង្គទាំងអស់ដែលរួមបញ្ចូលនៅក្នុងការអនុវត្តចំណុចប្រទាក់របស់ពួកគេ។

៤.២. ចំណុចប្រទាក់អ្នកគ្រប់គ្រង

អ្នកគ្រប់គ្រង ទោះបីជាវត្ថុ Singleton ក៏ដោយ គឺអាចចូលប្រើដោយផ្ទាល់បានតែក្នុងក្របខ័ណ្ឌប៉ុណ្ណោះ។ ប្រព័ន្ធផ្សេងទៀតអាចចូលប្រើបានតែអ្នកគ្រប់គ្រងតាមរយៈចំណុចប្រទាក់ដែលតំណាងឱ្យតែសំណុំរងនៃមុខងាររួមរបស់ពួកគេ។ បន្ទាប់ពីការចាប់ផ្តើម ចំណុចប្រទាក់ត្រូវបានបញ្ជូនទៅប្រព័ន្ធដែលប្រើវាដើម្បីធ្វើការជាមួយមុខងារជាក់លាក់របស់អ្នកគ្រប់គ្រង។
មិនមានចំណុចប្រទាក់តែមួយសម្រាប់អ្នកគ្រប់គ្រងទាំងអស់។ ពួកវានីមួយៗមានចំណុចប្រទាក់ដាច់ដោយឡែករបស់វា។

៤.៣. ចំណុចប្រទាក់ប្រព័ន្ធ

ដើម្បីឱ្យក្របខ័ណ្ឌចូលប្រើសមាសធាតុប្រព័ន្ធ វាត្រូវការចំណុចប្រទាក់។ បើគ្មានពួកគេទេ ការគាំទ្រសម្រាប់ប្រព័ន្ធម៉ាស៊ីនថ្មីនីមួយៗនឹងត្រូវអនុវត្តដោយឡែកពីគ្នា។
ប្រព័ន្ធនីមួយៗមានធាតុផ្សំចំនួនបួន ដូច្នេះត្រូវតែមានចំណុចប្រទាក់ចំនួនបួន។ ឈ្មោះ៖ ប្រព័ន្ធ ទិដ្ឋភាព វត្ថុ និងកិច្ចការ។ សូមមើលផ្នែកទី 5 ប្រព័ន្ធសម្រាប់ការពិពណ៌នាលម្អិត។ ចំណុចប្រទាក់គឺជាមធ្យោបាយនៃការចូលប្រើសមាសធាតុ។ ចំណុចប្រទាក់ប្រព័ន្ធអនុញ្ញាតឱ្យអ្នកបង្កើត និងលុបឈុតឆាក។ ចំណុចប្រទាក់កន្លែងកើតហេតុ អនុញ្ញាតឱ្យអ្នកបង្កើត និងបំផ្លាញវត្ថុ ក៏ដូចជាស្នើសុំព័ត៌មានអំពីកិច្ចការចម្បងនៃប្រព័ន្ធ។ ចំណុចប្រទាក់ភារកិច្ចត្រូវបានប្រើជាចម្បងដោយអ្នកគ្រប់គ្រងភារកិច្ចនៅពេលផ្តល់ភារកិច្ចទៅក្រុមខ្សែស្រឡាយ។
ចាប់តាំងពីកន្លែងកើតហេតុ និងវត្ថុដែលជាផ្នែកនៃប្រព័ន្ធ ត្រូវតែមានអន្តរកម្មគ្នាទៅវិញទៅមក ហើយជាមួយនឹងឈុតឆាកសកល និងវត្ថុដែលពួកគេត្រូវបានភ្ជាប់ ចំណុចប្រទាក់របស់ពួកគេក៏ត្រូវបានបង្កើតឡើងដោយផ្អែកលើចំណុចប្រទាក់នៃប្រធានបទ និងអ្នកសង្កេតការណ៍។

៤.៤. ផ្លាស់ប្តូរចំណុចប្រទាក់

ចំណុចប្រទាក់ទាំងនេះបម្រើដើម្បីផ្ទេរទិន្នន័យរវាងប្រព័ន្ធ។ ប្រព័ន្ធទាំងអស់ដែលធ្វើការផ្លាស់ប្តូរនៃប្រភេទជាក់លាក់មួយត្រូវតែអនុវត្តចំណុចប្រទាក់នេះ។ ធរណីមាត្រគឺជាឧទាហរណ៍មួយ។ ចំណុចប្រទាក់ធរណីមាត្ររួមបញ្ចូលវិធីសាស្រ្តសម្រាប់កំណត់ទីតាំង ការតំរង់ទិស និងមាត្រដ្ឋាននៃធាតុមួយ។ ប្រព័ន្ធណាមួយដែលធ្វើការផ្លាស់ប្តូរធរណីមាត្រត្រូវតែអនុវត្តចំណុចប្រទាក់ដែលការចូលប្រើទិន្នន័យដែលបានផ្លាស់ប្តូរមិនទាមទារចំណេះដឹងអំពីប្រព័ន្ធផ្សេងទៀតទេ។

5. ប្រព័ន្ធ

ប្រព័ន្ធគឺជាផ្នែកនៃម៉ាស៊ីនដែលទទួលខុសត្រូវក្នុងការអនុវត្តមុខងារហ្គេម។ ពួកគេបំពេញភារកិច្ចជាមូលដ្ឋានទាំងអស់ដោយគ្មានម៉ាស៊ីនដែលមិនសមហេតុផល។ អន្តរកម្មរវាងម៉ាស៊ីន និងប្រព័ន្ធត្រូវបានធ្វើដោយប្រើចំណុចប្រទាក់ (សូមមើលផ្នែកទី 4.3 "ចំណុចប្រទាក់ប្រព័ន្ធ") ។ នេះគឺចាំបាច់ដើម្បីកុំឱ្យផ្ទុកលើសទម្ងន់ម៉ាស៊ីនជាមួយនឹងព័ត៌មានអំពីប្រភេទផ្សេងៗនៃប្រព័ន្ធ។ ចំណុចប្រទាក់ធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការបន្ថែមប្រព័ន្ធថ្មី ដោយសារតែម៉ាស៊ីនមិនចាំបាច់គិតគូរពីព័ត៌មានលម្អិតនៃការអនុវត្តទាំងអស់។

៥.១. ប្រភេទ

ប្រព័ន្ធម៉ាស៊ីនអាចត្រូវបានបែងចែកយ៉ាងធូររលុងទៅជាប្រភេទដែលបានកំណត់ជាមុនជាច្រើនដែលត្រូវគ្នាទៅនឹងសមាសធាតុហ្គេមស្តង់ដារ។ ឧទាហរណ៍៖ ធរណីមាត្រ ក្រាហ្វិក រូបវិទ្យា (ការប៉ះទង្គិចនៃតួរឹង) សំឡេង ដំណើរការបញ្ចូល AI និងចលនា។
ប្រព័ន្ធដែលមានមុខងារមិនស្តង់ដារជាកម្មសិទ្ធិរបស់ប្រភេទដាច់ដោយឡែក។ វាជាការសំខាន់ណាស់ដែលត្រូវយល់ថាប្រព័ន្ធណាមួយដែលកែប្រែទិន្នន័យនៃប្រភេទជាក់លាក់មួយត្រូវតែដឹងអំពីចំណុចប្រទាក់នៃប្រភេទនោះ ដោយសារម៉ាស៊ីនមិនផ្តល់ព័ត៌មានបែបនេះ។

៥.២. សមាសធាតុប្រព័ន្ធ

សម្រាប់ប្រព័ន្ធនីមួយៗ សមាសធាតុជាច្រើនចាំបាច់ត្រូវអនុវត្ត។ នេះគឺជាមួយចំនួននៃពួកគេ៖ ប្រព័ន្ធ ទិដ្ឋភាព វត្ថុ និងភារកិច្ច។ សមាសធាតុទាំងអស់នេះមានតួនាទីធ្វើអន្តរកម្មជាមួយផ្នែកផ្សេងៗនៃម៉ាស៊ីន។
ដ្យាក្រាមខាងក្រោមបង្ហាញពីអន្តរកម្មរវាងសមាសធាតុផ្សេងៗ។


រូបភាពទី 9. សមាសធាតុនៃប្រព័ន្ធ

ដ្យាក្រាមលម្អិតនៃការតភ្ជាប់រវាងប្រព័ន្ធរបស់ម៉ាស៊ីនត្រូវបានផ្តល់ឱ្យនៅក្នុងឧបសម្ព័ន្ធ B "គ្រោងការណ៍នៃអន្តរកម្មរវាងម៉ាស៊ីននិងប្រព័ន្ធ" ។

៥.២.១. ប្រព័ន្ធ
សមាសធាតុ "ប្រព័ន្ធ" ឬជាធម្មតាប្រព័ន្ធគឺទទួលខុសត្រូវសម្រាប់ការចាប់ផ្តើមធនធានប្រព័ន្ធដែលជាក់ស្តែងនឹងមិនផ្លាស់ប្តូរក្នុងអំឡុងពេលប្រតិបត្តិការរបស់ម៉ាស៊ីន។ ឧទាហរណ៍ ប្រព័ន្ធក្រាហ្វិកញែកអាសយដ្ឋាននៃធនធានដើម្បីកំណត់ទីតាំងរបស់ពួកគេ និងបង្កើនល្បឿននៃការផ្ទុកនៅពេលប្រើធនធាន។ វាក៏កំណត់គុណភាពបង្ហាញអេក្រង់ផងដែរ។
ប្រព័ន្ធគឺជាចំណុចចូលសំខាន់សម្រាប់ក្របខ័ណ្ឌ។ វាផ្តល់ព័ត៌មានអំពីខ្លួនវា (ដូចជាប្រភេទប្រព័ន្ធ) ក៏ដូចជាវិធីសាស្រ្តសម្រាប់បង្កើត និងលុបឈុតឆាក។
៥.២.២. ឈុតឆាក
ធាតុផ្សំនៃឈុតឆាក ឬឈុតប្រព័ន្ធ ទទួលខុសត្រូវក្នុងការគ្រប់គ្រងធនធានដែលទាក់ទងនឹងឈុតបច្ចុប្បន្ន។ Universal Scene ប្រើឈុតប្រព័ន្ធដើម្បីពង្រីកមុខងារដោយប្រើមុខងាររបស់វា។ ឧទាហរណ៍មួយគឺជាឈុតរាងកាយ ដែលត្រូវបានប្រើដើម្បីបង្កើតពិភពហ្គេមថ្មី និងកំណត់កម្លាំងទំនាញនៅក្នុងវា នៅពេលដែលឈុតនេះត្រូវបានចាប់ផ្តើម។
ឈុតឆាកផ្តល់នូវវិធីសាស្រ្តសម្រាប់បង្កើត និងបំផ្លាញវត្ថុ ក៏ដូចជាសមាសធាតុ "ភារកិច្ច" សម្រាប់ដំណើរការកន្លែងកើតហេតុ និងវិធីសាស្ត្រសម្រាប់ចូលប្រើវា។
៥.២.៣. វត្ថុមួយ។
សមាសធាតុវត្ថុ ឬវត្ថុប្រព័ន្ធ ជាកម្មសិទ្ធិរបស់កន្លែងកើតហេតុ ហើយជាធម្មតាត្រូវបានផ្សារភ្ជាប់ជាមួយនឹងអ្វីដែលអ្នកប្រើឃើញនៅលើអេក្រង់។ វត្ថុទូទៅប្រើវត្ថុប្រព័ន្ធដើម្បីពង្រីកមុខងារដោយបង្ហាញលក្ខណៈសម្បត្តិរបស់វាដូចជាវាជារបស់វាផ្ទាល់។
ឧទាហរណ៍មួយអាចជាផ្នែកបន្ថែមធរណីមាត្រ ក្រាហ្វិក និងរូបវន្តនៃវត្ថុទូទៅ ដើម្បីបង្ហាញធ្នឹមឈើនៅលើអេក្រង់។ លក្ខណៈសម្បត្តិធរណីមាត្រនឹងរួមបញ្ចូលទីតាំង ការតំរង់ទិស និងមាត្រដ្ឋាននៃវត្ថុ។ ដើម្បីបង្ហាញវា ប្រព័ន្ធក្រាហ្វិកនឹងប្រើក្រឡាចត្រង្គពិសេស។ ហើយប្រព័ន្ធរូបវន្តនឹងផ្តល់ឱ្យវាជាមួយនឹងលក្ខណៈសម្បត្តិនៃរាងកាយរឹងសម្រាប់គណនាអន្តរកម្មជាមួយរាងកាយផ្សេងទៀតនិងកម្លាំងសម្ដែងនៃទំនាញ។

ក្នុងករណីជាក់លាក់ វត្ថុប្រព័ន្ធត្រូវគិតគូរពីការផ្លាស់ប្តូរទៅវត្ថុទូទៅ ឬផ្នែកបន្ថែមមួយរបស់វា។ សម្រាប់គោលបំណងនេះ អ្នកអាចបង្កើតតំណពិសេសដែលនឹងអនុញ្ញាតឱ្យអ្នកតាមដានការផ្លាស់ប្តូរដែលបានធ្វើ។

៥.២.៤. កិច្ចការមួយ។
សមាសភាគកិច្ចការ ឬកិច្ចការប្រព័ន្ធ ត្រូវបានប្រើដើម្បីដំណើរការកន្លែងកើតហេតុ។ ភារកិច្ចទទួលបានពាក្យបញ្ជាដើម្បីធ្វើបច្ចុប្បន្នភាពកន្លែងកើតហេតុពីកម្មវិធីគ្រប់គ្រងភារកិច្ច។ នេះគឺជាសញ្ញាដើម្បីដំណើរការមុខងារប្រព័ន្ធនៅលើវត្ថុកន្លែងកើតហេតុ។
ការប្រតិបត្តិភារកិច្ចអាចបែងចែកទៅជាកិច្ចការរង ដោយចែកចាយពួកវាផងដែរ ដោយមានជំនួយពីកម្មវិធីគ្រប់គ្រងភារកិច្ចដល់ចំនួនខ្សែស្រលាយកាន់តែច្រើន។ នេះគឺជាវិធីដ៏ងាយស្រួលមួយក្នុងការធ្វើមាត្រដ្ឋានម៉ាស៊ីននៅទូទាំង processors ជាច្រើន។ វិធីសាស្រ្តនេះត្រូវបានគេហៅថាការបំបែកទិន្នន័យ។
ព័ត៌មានអំពីការផ្លាស់ប្តូរវត្ថុនៅក្នុងដំណើរការនៃការធ្វើបច្ចុប្បន្នភាពភារកិច្ចកន្លែងកើតហេតុត្រូវបានបញ្ជូនទៅអ្នកគ្រប់គ្រងរដ្ឋ។ សូមមើលផ្នែក 3.2.2 សម្រាប់ព័ត៌មានលម្អិតអំពីអ្នកគ្រប់គ្រងរដ្ឋ។

6. រួមបញ្ចូលគ្នានូវសមាសធាតុទាំងអស់។

ធាតុទាំងអស់ដែលបានពិពណ៌នាខាងលើមានទំនាក់ទំនងគ្នាទៅវិញទៅមកហើយជាផ្នែកមួយនៃទាំងមូល។ ប្រតិបត្តិការរបស់ម៉ាស៊ីនអាចបែងចែកតាមលក្ខខណ្ឌជាដំណាក់កាលជាច្រើន ដែលពិពណ៌នានៅក្នុងផ្នែកខាងក្រោម។

៦.១. ដំណាក់កាលចាប់ផ្តើម

ការងាររបស់ម៉ាស៊ីនចាប់ផ្តើមជាមួយនឹងការចាប់ផ្តើមនៃអ្នកគ្រប់គ្រងនិងក្របខ័ណ្ឌ។
  • ក្របខណ្ឌហៅកម្មវិធីផ្ទុកកន្លែងកើតហេតុ។
  • ដោយបានកំណត់ថាតើប្រព័ន្ធមួយណាដែលកន្លែងកើតហេតុនឹងប្រើ អ្នកផ្ទុកទូរស័ព្ទហៅអ្នកគ្រប់គ្រងវេទិកាដើម្បីផ្ទុកម៉ូឌុលសមស្រប។
  • កម្មវិធីគ្រប់គ្រងវេទិកាផ្ទុកម៉ូឌុលដែលសមស្រប ហើយបញ្ជូនពួកវាទៅអ្នកគ្រប់គ្រងចំណុចប្រទាក់ បន្ទាប់មកហៅពួកគេឱ្យបង្កើតប្រព័ន្ធថ្មីមួយ។
  • ម៉ូឌុលត្រឡប់ទៅកម្មវិធីផ្ទុកវិញ ចង្អុលទៅវត្ថុប្រព័ន្ធដែលអនុវត្តចំណុចប្រទាក់ប្រព័ន្ធ។
  • អ្នកគ្រប់គ្រងសេវាកម្មចុះឈ្មោះសេវាកម្មទាំងអស់ដែលម៉ូឌុលប្រព័ន្ធផ្តល់ឱ្យ។


រូបភាពទី 10. ការចាប់ផ្តើមនៃអ្នកគ្រប់គ្រង និងប្រព័ន្ធនៃម៉ាស៊ីន

៦.២. ដំណាក់កាលផ្ទុកឈុត

ការគ្រប់គ្រងត្រូវបានត្រលប់ទៅឧបករណ៍ផ្ទុកវិញដែលផ្ទុកកន្លែងកើតហេតុ។
  • ឧបករណ៍ផ្ទុកបង្កើតឈុតឆាកជាសកល។ ដើម្បីធ្វើឱ្យឈុតប្រព័ន្ធភ្លាមៗ វាហៅចំណុចប្រទាក់ប្រព័ន្ធ ដោយពង្រីកមុខងារនៃឈុតទូទៅ។
  • ឈុតទូទៅកំណត់នូវអ្វីដែលទិន្នន័យប្រព័ន្ធនីមួយៗអាចផ្លាស់ប្តូរ និងការផ្លាស់ប្តូរអ្វីដែលវាគួរតែត្រូវបានជូនដំណឹងអំពី។
  • បន្ទាប់ពីផ្គូផ្គងឈុតឆាកដែលធ្វើការផ្លាស់ប្តូរជាក់លាក់ និងចង់ឱ្យមានការជូនដំណឹងអំពីពួកវា ឈុតទូទៅបញ្ជូនព័ត៌មាននេះទៅអ្នកគ្រប់គ្រងរដ្ឋ។
  • សម្រាប់វត្ថុឈុតនីមួយៗ កម្មវិធីផ្ទុកបង្កើតវត្ថុទូទៅ បន្ទាប់មកកំណត់ថាប្រព័ន្ធណាមួយនឹងពង្រីកវត្ថុទូទៅ។ ការឆ្លើយឆ្លងរវាងវត្ថុប្រព័ន្ធត្រូវបានកំណត់ដោយយោងទៅតាមគ្រោងការណ៍ដូចគ្នាដែលត្រូវបានប្រើសម្រាប់ឈុត។ វាត្រូវបានបញ្ជូនទៅអ្នកគ្រប់គ្រងរដ្ឋផងដែរ។
  • ដោយប្រើចំណុចប្រទាក់កន្លែងកើតហេតុជាលទ្ធផល កម្មវិធីផ្ទុកបង្កើតវត្ថុប្រព័ន្ធ ហើយប្រើពួកវាដើម្បីពង្រីកវត្ថុទូទៅ។
  • កម្មវិធីកំណត់ពេលសួរចំណុចប្រទាក់កន្លែងកើតហេតុសម្រាប់ព័ត៌មានអំពីភារកិច្ចចម្បងរបស់ពួកគេ ដើម្បីបញ្ជូនព័ត៌មាននេះទៅអ្នកគ្រប់គ្រងកិច្ចការក្នុងអំឡុងពេលប្រតិបត្តិ។


រូបភាពទី 11. ការចាប់ផ្តើមនៃទិដ្ឋភាពសកលនិងវត្ថុ

៦.៣. ដំណាក់កាលនៃវដ្តហ្គេម

  • កម្មវិធីគ្រប់គ្រងវេទិកាត្រូវបានប្រើដើម្បីដំណើរការសារបង្អួច និងធាតុផ្សេងទៀតដែលចាំបាច់សម្រាប់វេទិកាបច្ចុប្បន្នដើម្បីដំណើរការ។
  • ការគ្រប់គ្រងបន្ទាប់មកឆ្លងទៅកម្មវិធីកំណត់ពេល ដែលរង់ចាំការបញ្ចប់នៃវដ្តដើម្បីបន្ត។
  • នៅចុងបញ្ចប់នៃសញ្ញាធីកនៅក្នុងរបៀបបោះជំហានដោយមិនគិតថ្លៃ កម្មវិធីកំណត់ពេលពិនិត្យមើលថាតើកិច្ចការណាមួយត្រូវបានបញ្ចប់។ កិច្ចការដែលបានបញ្ចប់ទាំងអស់ (ដែលត្រៀមរួចជាស្រេចដើម្បីប្រតិបត្តិ) ត្រូវបានផ្ទេរទៅអ្នកគ្រប់គ្រងកិច្ចការ។
  • កម្មវិធីកំណត់ពេលកំណត់ថាកិច្ចការណាមួយនឹងត្រូវបានបញ្ចប់នៅក្នុងវដ្តបច្ចុប្បន្ន ហើយរង់ចាំឱ្យពួកគេបញ្ចប់។
  • ក្នុង​ទម្រង់​ជំហាន​រឹង ប្រតិបត្តិការ​ទាំង​នេះ​ត្រូវ​បាន​ធ្វើ​ឡើង​វិញ​រាល់​វដ្ត​នាឡិកា។ អ្នកកំណត់ពេលប្រគល់កិច្ចការទាំងអស់ទៅឱ្យអ្នកគ្រប់គ្រង ហើយរង់ចាំឱ្យពួកគេបញ្ចប់។
៦.៣.១. ការបញ្ចប់កិច្ចការ
ការត្រួតពិនិត្យឆ្លងកាត់ទៅអ្នកគ្រប់គ្រងភារកិច្ច។
  • វាបង្កើតជាជួរនៃកិច្ចការដែលបានទទួលទាំងអស់ បន្ទាប់មកនៅពេលដែលខ្សែស្រឡាយឥតគិតថ្លៃលេចឡើង វាចាប់ផ្តើមប្រតិបត្តិពួកវា។ (ដំណើរការនៃការប្រតិបត្តិកិច្ចការមានភាពខុសគ្នាអាស្រ័យលើប្រព័ន្ធ។ ប្រព័ន្ធអាចដំណើរការជាមួយភារកិច្ចតែមួយ ឬដំណើរការកិច្ចការជាច្រើនពីជួរក្នុងពេលតែមួយ ដូច្នេះសម្រេចបាននូវការប្រតិបត្តិស្របគ្នា។ )
  • កំឡុងពេលប្រតិបត្តិ កិច្ចការអាចដំណើរការជាមួយឈុតទាំងមូល ឬតែជាមួយវត្ថុជាក់លាក់ប៉ុណ្ណោះ ដោយផ្លាស់ប្តូរទិន្នន័យខាងក្នុងរបស់វា។
  • ប្រព័ន្ធគួរតែត្រូវបានជូនដំណឹងអំពីការផ្លាស់ប្តូរណាមួយចំពោះទិន្នន័យដែលបានចែករំលែក (ដូចជាទីតាំង ឬការតំរង់ទិស)។ ដូច្នេះ នៅពេលដែលកិច្ចការមួយត្រូវបានប្រតិបត្តិ ឈុតប្រព័ន្ធ ឬវត្ថុជូនដំណឹងដល់អ្នកសង្កេតការណ៍អំពីការផ្លាស់ប្តូរណាមួយ។ ក្នុងករណីនេះ អ្នកសង្កេតការណ៍ពិតជាដើរតួជាអ្នកត្រួតពិនិត្យការផ្លាស់ប្តូរ ដែលជាផ្នែកមួយនៃអ្នកគ្រប់គ្រងរដ្ឋ។
  • ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរតម្រង់ជួរការជូនដំណឹងអំពីការផ្លាស់ប្តូរសម្រាប់ដំណើរការបន្ថែមទៀត។ វាមិនអើពើការផ្លាស់ប្តូរដែលមិនប៉ះពាល់ដល់អ្នកសង្កេតការណ៍ដែលបានផ្តល់ឱ្យ។
  • ដើម្បីប្រើសេវាកម្មជាក់លាក់ កិច្ចការនឹងហៅទៅអ្នកគ្រប់គ្រងសេវាកម្ម។ កម្មវិធីគ្រប់គ្រងសេវាកម្មក៏អនុញ្ញាតឱ្យអ្នកផ្លាស់ប្តូរលក្ខណៈសម្បត្តិនៃប្រព័ន្ធផ្សេងទៀតដែលមិនមានសម្រាប់ការបញ្ជូននៅក្នុងយន្តការផ្ញើសារ (ឧទាហរណ៍ប្រព័ន្ធបញ្ចូលទិន្នន័យផ្លាស់ប្តូរផ្នែកបន្ថែមអេក្រង់ - ទ្រព្យសម្បត្តិនៃប្រព័ន្ធក្រាហ្វិក) ។
  • កិច្ចការក៏អាចហៅទូរសព្ទទៅអ្នកគ្រប់គ្រងបរិស្ថាន ដើម្បីទទួលបានអថេរបរិស្ថាន និងដើម្បីផ្លាស់ប្តូរស្ថានភាពនៃការប្រតិបត្តិ (ការផ្អាកការប្រតិបត្តិ ការផ្លាស់ប្តូរទៅកន្លែងកើតហេតុបន្ទាប់។ល។)។


រូបភាពទី 12. កម្មវិធីគ្រប់គ្រងភារកិច្ច និងកិច្ចការ

៦.៣.២. ការធ្វើបច្ចុប្បន្នភាពទិន្នន័យ
បន្ទាប់ពីកិច្ចការទាំងអស់នៃវដ្តបច្ចុប្បន្នត្រូវបានបញ្ចប់ រង្វិលជុំហ្គេមសំខាន់ហៅអ្នកគ្រប់គ្រងរដ្ឋដើម្បីចាប់ផ្តើមដំណាក់កាលធ្វើបច្ចុប្បន្នភាពទិន្នន័យ។
  • អ្នកគ្រប់គ្រងរដ្ឋហៅឧបករណ៍បញ្ជាការផ្លាស់ប្តូរនីមួយៗរបស់ខ្លួនជាវេនដើម្បីចែកចាយការជូនដំណឹងបង្គរ។ ឧបករណ៍បញ្ជាពិនិត្យមើលថាតើអ្នកសង្កេតការណ៍ណាដែលត្រូវផ្ញើការជូនដំណឹងអំពីការផ្លាស់ប្តូរសម្រាប់ប្រធានបទនីមួយៗ។
  • បន្ទាប់​មក​វា​ហៅ​ទៅ​អ្នក​សង្កេត​ដែល​ចង់​បាន ហើយ​ជូន​ដំណឹង​វា​ពី​ការ​ផ្លាស់​ប្តូរ (ការ​ជូន​ដំណឹង​ក៏​រួម​បញ្ចូល​ទាំង​ទ្រនិច​ទៅ​ចំណុច​ប្រទាក់​របស់​ប្រធានបទ)។ នៅក្នុងរបៀបបោះជំហានរលុង អ្នកសង្កេតការណ៍ទទួលបានទិន្នន័យដែលបានផ្លាស់ប្តូរពីឧបករណ៍បញ្ជាការផ្លាស់ប្តូរ ប៉ុន្តែនៅក្នុងរបៀបបោះជំហានរឹង វាត្រូវតែស្នើសុំវាពីប្រធានបទខ្លួនឯង។
  • ជាធម្មតា អ្នកសង្កេតការណ៍ដែលចាប់អារម្មណ៍ក្នុងការទទួលការជូនដំណឹងអំពីការផ្លាស់ប្តូរវត្ថុប្រព័ន្ធគឺជាវត្ថុប្រព័ន្ធផ្សេងទៀតដែលទាក់ទងនឹងវត្ថុទូទៅដូចគ្នា។ នេះអនុញ្ញាតឱ្យអ្នកបំបែកដំណើរការនៃការធ្វើការផ្លាស់ប្តូរទៅជាកិច្ចការជាច្រើនដែលអាចត្រូវបានអនុវត្តស្របគ្នា។ ដើម្បីសម្រួលដំណើរការធ្វើសមកាលកម្ម អ្នកអាចបញ្ចូលគ្នានូវផ្នែកបន្ថែមវត្ថុទូទៅដែលពាក់ព័ន្ធទាំងអស់នៅក្នុងកិច្ចការមួយ។
៦.៣.៣. ការ​ពិនិត្យ​និង​ចេញ​
ជំហានចុងក្រោយនៅក្នុងរង្វិលជុំហ្គេមគឺត្រូវពិនិត្យមើលស្ថានភាពនៃម៉ោងរត់។ មានស្ថានភាពបែបនេះជាច្រើន៖ ការងារ ផ្អាក ឈុតបន្ទាប់។ ស្ថានភាព "ចេញ" មានន័យថារង្វិលជុំត្រូវបានបញ្ចប់ ធនធានត្រូវបានបញ្ចេញ ហើយកម្មវិធីនឹងចាកចេញ។ អ្នកអាចអនុវត្តរដ្ឋផ្សេងទៀតដូចជា "ផ្អាក", "ឈុតបន្ទាប់" ជាដើម។

7. សេចក្តីសន្និដ្ឋាន

គំនិតចម្បងនៃអត្ថបទនេះត្រូវបានផ្តល់ឱ្យនៅក្នុងផ្នែកទី 2 "ស្ថានភាពប្រតិបត្តិស្របគ្នា" ។ សូមអរគុណដល់មុខងារ decomposition និង data decomposition វាអាចធ្វើទៅបានដើម្បីដឹងមិនត្រឹមតែ multithreading នៃម៉ាស៊ីនប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងអាចធ្វើមាត្រដ្ឋានរបស់វាទៅ cores កាន់តែច្រើននាពេលអនាគត។ ដើម្បីលុបបំបាត់ការធ្វើសមកាលកម្មលើសខណៈពេលដែលនៅតែរក្សាទិន្នន័យទាន់សម័យ សូមប្រើអ្នកគ្រប់គ្រងរដ្ឋបន្ថែមលើយន្តការផ្ញើសារ។

គំរូ Observer គឺជាលក្ខណៈនៃម៉ាស៊ីនផ្ញើសារ។ វាមានសារៈសំខាន់ណាស់ក្នុងការយល់ដឹងអំពីរបៀបដែលវាដំណើរការដើម្បីជ្រើសរើសមធ្យោបាយដ៏ល្អបំផុតដើម្បីអនុវត្តវាសម្រាប់ម៉ាស៊ីន។ តាមការពិត នេះគឺជាយន្តការសម្រាប់អន្តរកម្មរវាងប្រព័ន្ធផ្សេងៗគ្នា ដែលធានាឱ្យមានការធ្វើសមកាលកម្មនៃទិន្នន័យទូទៅ។

ការគ្រប់គ្រងភារកិច្ចដើរតួនាទីយ៉ាងសំខាន់ក្នុងការចែកចាយបន្ទុកការងារ។ ឧបសម្ព័ន្ធ D ផ្តល់ការណែនាំសម្រាប់បង្កើតកម្មវិធីគ្រប់គ្រងភារកិច្ចដ៏មានប្រសិទ្ធភាពសម្រាប់ម៉ាស៊ីនហ្គេម។

ដូចដែលអ្នកបានឃើញ ការភ្ជាប់ multithreading នៃ game engine គឺអាចធ្វើទៅបានដោយសារតែរចនាសម្ព័ន្ធដែលបានកំណត់យ៉ាងល្អ និងយន្តការផ្លាស់ប្តូរសារ។ ដោយមានជំនួយរបស់វា អ្នកអាចធ្វើឱ្យប្រសើរឡើងយ៉ាងខ្លាំងនូវដំណើរការនៃប្រព័ន្ធដំណើរការទំនើប និងនាពេលអនាគត។

ឧបសម្ព័ន្ធ A. គ្រោងការណ៍ម៉ាស៊ីន

ដំណើរការត្រូវបានចាប់ផ្តើមពីរង្វិលជុំហ្គេមសំខាន់ (សូមមើលរូបភាពទី 4 “Main Game Loop”)។


ឧបសម្ព័ន្ធ B. គ្រោងការណ៍នៃអន្តរកម្មរវាងម៉ាស៊ីននិងប្រព័ន្ធ


ឧបសម្ព័ន្ធ C. អ្នកសង្កេតការណ៍ (គំរូរចនា)

គំរូ Observer ត្រូវបានពិពណ៌នាយ៉ាងលម្អិតនៅក្នុងសៀវភៅ Object-Oriented Design Techniques។ លំនាំរចនា, Gamma E., Helm R., Johnson R., Vlissides J. វាត្រូវបានបោះពុម្ពជាលើកដំបូងជាភាសាអង់គ្លេសក្នុងឆ្នាំ 1995 ដោយ Addison-Wesley ។

គំនិតចម្បងនៃគំរូនេះគឺមានដូចខាងក្រោម: ប្រសិនបើធាតុមួយចំនួនចាំបាច់ត្រូវជូនដំណឹងអំពីការផ្លាស់ប្តូរទៅធាតុផ្សេងទៀតនោះពួកគេមិនចាំបាច់រកមើលតាមរយៈបញ្ជីនៃការផ្លាស់ប្តូរដែលអាចកើតមានទាំងអស់ដោយព្យាយាមស្វែងរកទិន្នន័យចាំបាច់នៅក្នុងវា។ គំរូនេះបង្កប់នូវប្រធានបទ និងអ្នកសង្កេតការណ៍ដែលត្រូវបានប្រើដើម្បីផ្ញើការជូនដំណឹងអំពីការផ្លាស់ប្តូរ។ អ្នកសង្កេតការណ៍តាមដានរាល់ការផ្លាស់ប្តូរចំពោះប្រធានបទ។ ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរដើរតួជាអន្តរការីរវាងសមាសធាតុទាំងពីរនេះ។ ដ្យាក្រាមខាងក្រោមបង្ហាញពីការតភ្ជាប់នេះ។


រូបភាពទី 13. លំនាំ "អ្នកសង្កេតការណ៍"

ដំណើរការនៃការប្រើគំរូនេះត្រូវបានពិពណ៌នាដូចខាងក្រោម។

  1. ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរចុះឈ្មោះអ្នកសង្កេតការណ៍ និងប្រធានបទដែលខ្លួនចង់ជូនដំណឹង។
  2. ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរគឺពិតជាអ្នកសង្កេតការណ៍។ ជំនួសឲ្យអ្នកសង្កេតការណ៍ រួមជាមួយនឹងប្រធានបទ គាត់ចុះឈ្មោះខ្លួនឯង។ ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរក៏រក្សាបញ្ជីអ្នកសង្កេតការណ៍ និងមុខវិជ្ជាដែលបានចុះឈ្មោះជាមួយពួកគេ។
  3. ប្រធានបទបន្ថែមអ្នកសង្កេតការណ៍ (នោះគឺជាឧបករណ៍បញ្ជាការផ្លាស់ប្តូរ) ទៅក្នុងបញ្ជីអ្នកសង្កេតការណ៍របស់ខ្លួនដែលចង់ឱ្យមានការជូនដំណឹងអំពីការផ្លាស់ប្តូររបស់វា។ ជួនកាលប្រភេទនៃការផ្លាស់ប្តូរត្រូវបានចង្អុលបង្ហាញបន្ថែម ដែលកំណត់ការផ្លាស់ប្តូរដែលអ្នកសង្កេតការណ៍ចាប់អារម្មណ៍។ នេះអនុញ្ញាតឱ្យអ្នកសម្រួលដំណើរការនៃការផ្ញើការជូនដំណឹងអំពីការផ្លាស់ប្តូរ។
  4. នៅពេលផ្លាស់ប្តូរទិន្នន័យ ឬស្ថានភាព ប្រធានបទជូនដំណឹងដល់អ្នកសង្កេតតាមរយៈយន្តការហៅត្រឡប់មកវិញ និងបញ្ជូនព័ត៌មានអំពីប្រភេទដែលបានផ្លាស់ប្តូរ។
  5. ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរបង្កើតជាជួរនៃការជូនដំណឹងអំពីការផ្លាស់ប្តូរ ហើយរង់ចាំសញ្ញាដើម្បីចែកចាយពួកវាក្នុងចំណោមវត្ថុ និងប្រព័ន្ធ។
  6. ក្នុងអំឡុងពេលចែកចាយ ឧបករណ៍បញ្ជាការផ្លាស់ប្តូរនិយាយជាមួយអ្នកសង្កេតការណ៍ពិតប្រាកដ។
  7. អ្នកសង្កេតការណ៍ស្នើសុំព័ត៌មានអំពីទិន្នន័យដែលបានផ្លាស់ប្តូរ ឬស្ថានភាពពីប្រធានបទ (ឬទទួលវារួមជាមួយការជូនដំណឹង)។
  8. មុនពេលលុបអ្នកសង្កេតការណ៍ ឬប្រសិនបើវាលែងត្រូវការជូនដំណឹងអំពីប្រធានបទនោះ វាឈប់ជាវពីប្រធានបទនោះនៅក្នុងឧបករណ៍បញ្ជាការផ្លាស់ប្តូរ។
មានវិធីផ្សេងគ្នាជាច្រើនដើម្បីអនុវត្តការចែកចាយភារកិច្ច។ ទោះយ៉ាងណាក៏ដោយ វាជាការល្អបំផុតក្នុងការរក្សាចំនួនខ្សែស្រឡាយកម្មករស្មើនឹងចំនួននៃដំណើរការឡូជីខលនៃវេទិកាដែលមាន។ ព្យាយាម​មិន​ចង​កិច្ចការ​ទៅ​នឹង​ខ្សែ​ស្រឡាយ​ជាក់លាក់។ ពេលវេលាប្រតិបត្តិនៃភារកិច្ចនៃប្រព័ន្ធផ្សេងៗគ្នាមិនតែងតែស្របគ្នាទេ។ នេះអាចនាំឱ្យមានការចែកចាយបន្ទុកមិនស្មើគ្នារវាងខ្សែស្រឡាយកម្មករ និងប៉ះពាល់ដល់ប្រសិទ្ធភាព។ ដើម្បីធ្វើឱ្យដំណើរការនេះកាន់តែងាយស្រួល សូមប្រើបណ្ណាល័យគ្រប់គ្រងភារកិច្ចដូចជា

ថ្មីនៅលើគេហទំព័រ

>

ពេញនិយមបំផុត។