មីក្រូស្ថាបត្យកម្ម និងការប្រើប្រាស់របស់វា
មីក្រូស្ថាបត្យកម្មគឺជា "ផ្នែកខាងក្នុង" នៃឧបករណ៍ដំណើរការ៖ របៀបដែលស៊ីភីយូត្រូវបានបង្កើតឡើង និងដំណើរការជាលក្ខណៈផ្ទៃក្នុង ដើម្បីប្រតិបត្តិការណែនាំដែលកំណត់ដោយស្ថាបត្យកម្មសំណុំការណែនាំ (ISA) ដូចជា x86, ARM ឬ RISC‑V។ ប្រសិនបើ ISA អាចត្រូវបានប្រៀបធៀបទៅនឹងច្បាប់នៃភាសាមួយ - ការប្រមូលផ្តុំនៃពាក្យ និងវេយ្យាករណ៍របស់វា - នោះមីក្រូស្ថាបត្យកម្មគឺជារបៀបដែលខួរក្បាលរៀបចំរចនាសម្ព័ន្ធដំណើរការគិត ដើម្បីឱ្យប្រយោគទាំងនោះអាចយល់ និងនិយាយបានយ៉ាងរហ័ស សន្សំសំចៃថាមពល និងមានស្ថេរភាព។ មនុស្សជាច្រើនស្គាល់ឈ្មោះឧបករណ៍ដំណើរការតាមម៉ាក ឬស៊េរី ប៉ុន្តែភាពខុសគ្នាពិតប្រាកដនៃដំណើរការ និងប្រសិទ្ធភាពជារឿយៗត្រូវបានកំណត់ដោយការសម្រេចចិត្តនៅកម្រិតមីក្រូស្ថាបត្យកម្ម។
ការយល់ដឹងអំពីទំនាក់ទំនងរវាង ISA និងមីក្រូស្ថាបត្យកម្ម
ISA តែមួយអាចមានការអនុវត្តមីក្រូស្ថាបត្យកម្មច្រើន។ ឧទាហរណ៍ ប្រព័ន្ធដំណើរការពីរអាចគាំទ្រ ISA ជាក់លាក់មួយ ប៉ុន្តែការរចនាខាងក្នុងរបស់វាខុសគ្នា៖ មួយពេញចិត្តល្បឿននាឡិកាខ្ពស់ មួយទៀតពេញចិត្តចំនួនស្នូល ឬប្រសិទ្ធភាពថាមពល។ នេះពន្យល់ពីមូលហេតុដែល CPU ពីរដែលប្រតិបត្តិការណែនាំ "ដូចគ្នា" មិនតែងតែអនុវត្តដូចគ្នានោះទេ។
មីក្រូស្ថាបត្យកម្មរួមបញ្ចូលទិដ្ឋភាពដូចជា បំពង់បង្ហូរទិន្នន័យ ការប្រតិបត្តិមិនតាមលំដាប់លំដោយ ការទស្សន៍ទាយសាខា ឋានានុក្រមឃ្លាំងសម្ងាត់ ឯកតាប្រតិបត្តិ (ALU/FPU) និងយន្តការគ្រប់គ្រងថាមពល។ សមាសធាតុនីមួយៗទាំងនេះរួមចំណែកដល់គោលដៅធំៗចំនួនបី៖ ដំណើរការ ប្រសិទ្ធភាពថាមពល និងថ្លៃដើម/ភាពស្មុគស្មាញ។
សមាសធាតុសំខាន់ៗនៃមីក្រូស្ថាបត្យកម្ម
១. បំពង់បង្ហូរប្រេង៖ ខ្សែសង្វាក់ផលិតកម្មនៃការណែនាំ
បំពង់ចែកចាយបែងចែកការប្រតិបត្តិការណែនាំទៅជាដំណាក់កាលជាច្រើន ដូចជាការទាញយកការណែនាំ (fetch) ការឌិកូដ (decode) ការបកប្រែ (execute) ការប្រតិបត្តិ (executing) ការចូលប្រើអង្គចងចាំ (memory access) និងការសរសេរត្រឡប់ (write-back)។ ជាមួយបំពង់ចែកចាយមួយ ស៊ីភីយូអាចដំណើរការការណែនាំច្រើនក្នុងជង់មួយ ដូចជាខ្សែសង្វាក់ផ្គុំនៅរោងចក្រដែរ។
បំពង់បង្ហូរទិន្នន័យកាន់តែជ្រៅ CPU អាចទៅដល់កាន់តែខ្ពស់។ ទោះជាយ៉ាងណាក៏ដោយ បំពង់បង្ហូរទិន្នន័យដែលជ្រៅពេកបង្កើនការពិន័យចំពោះការទស្សន៍ទាយខុសរបស់សាខា និងបង្កើនភាពស្មុគស្មាញនៃការគ្រប់គ្រង។
2. ភាពស្របគ្នានៃកម្រិត Superscalar និងកម្រិតការណែនាំ
ស៊ីភីយូទំនើបៗជាធម្មតាមានលក្ខណៈ superscalar មានន័យថាពួកវាអាចប្រតិបត្តិការណែនាំច្រើនជាងមួយក្នុងមួយវដ្តជាមួយនឹងឯកតាប្រតិបត្តិស្របគ្នាច្រើន។ នេះទាញយកអត្ថប្រយោជន៍ពីភាពស្របគ្នានៃកម្រិតការណែនាំ (ILP) ដែលជាសមត្ថភាពក្នុងការប្រតិបត្តិការណែនាំឯករាជ្យច្រើន។
ទោះជាយ៉ាងណាក៏ដោយ ILP មិនអាចប្រើបានជានិច្ចនោះទេ។ ប្រសិនបើកម្មវិធីមួយមានការពឹងផ្អែកទិន្នន័យច្រើន ឬមានសាខាច្រើន សមត្ថភាពស្របគ្នានេះមិនត្រូវបានប្រើប្រាស់ពេញលេញទេ។ ដូច្នេះ មីក្រូស្ថាបត្យកម្មក៏ពឹងផ្អែកលើបច្ចេកទេសផ្សេងទៀតដើម្បី "បំពេញ" ឯកតាប្រតិបត្តិ ដើម្បីការពារពួកវាពីការអសកម្ម។
៣. ការប្រតិបត្តិមិនប្រក្រតី (OoO)
ការប្រតិបត្តិមិនតាមលំដាប់អនុញ្ញាតឱ្យ CPU ប្រតិបត្តិការណែនាំមិនតាមលំដាប់ ដរាបណាលទ្ធផលចុងក្រោយត្រឹមត្រូវ។ ឧទាហរណ៍ ប្រសិនបើការណែនាំមួយកំពុងរង់ចាំទិន្នន័យពីអង្គចងចាំ CPU អាចប្រតិបត្តិការណែនាំមួយផ្សេងទៀតដែលរួចរាល់។ ដើម្បីធ្វើដូចនេះ CPU ប្រើសមាសធាតុដូចជា ការរៀបចំសតិបណ្ដោះអាសន្នឡើងវិញ ស្ថានីយ៍កក់ និងការប្តូរឈ្មោះបញ្ជី។
OoO ធ្វើអោយប្រសើរឡើងនូវដំណើរការ ប៉ុន្តែតម្រូវឱ្យមានផ្ទៃស៊ីលីកុន និងថាមពលកាន់តែច្រើន ហើយបង្កើនភាពស្មុគស្មាញនៃការផ្ទៀងផ្ទាត់។ នៅលើឧបករណ៍ដែលមានថាមពលទាបមួយចំនួន អ្នករចនាអាចជ្រើសរើសការប្រតិបត្តិតាមលំដាប់លំដោយដែលសាមញ្ញជាង។
៤. ការព្យាករណ៍សាខា និងការប្រតិបត្តិស្មាន
ការណែនាំអំពីការបំបែកសាខា (if/else, loop) បង្ខំឱ្យ CPU ជ្រើសរើសផ្លូវប្រតិបត្តិ។ ការរង់ចាំការសម្រេចចិត្តអំពីសាខានឹង "បំបែក" បំពង់បង្ហូរ។ ការទស្សន៍ទាយសាខាព្យាយាមទាយផ្លូវណាដែលនឹងត្រូវបានអនុវត្ត ដែលអនុញ្ញាតឱ្យ CPU បន្តដំណើរការដោយមិនផ្អាក។
ប្រសិនបើការព្យាករណ៍ត្រឹមត្រូវ ដំណើរការនឹងប្រសើរឡើងគួរឱ្យកត់សម្គាល់។ ប្រសិនបើវាមិនត្រឹមត្រូវ CPU ត្រូវតែបោះបង់ចោលលទ្ធផលស្មាន (flush) ហើយចាប់ផ្តើមឡើងវិញ ដែលបណ្តាលឱ្យមានការពិន័យវដ្ត។ ការព្យាករណ៍សាខាដ៏ស្មុគស្មាញគឺជាកត្តាជំរុញដំណើរការសំខាន់សម្រាប់បន្ទុកការងារទូទៅ ប៉ុន្តែវាក៏ត្រូវបានភ្ជាប់ទៅនឹងបញ្ហាសុវត្ថិភាពដូចជា Spectre ដែលកេងប្រវ័ញ្ចផលប៉ះពាល់ស្មាន។
5. ឋានានុក្រមឃ្លាំងសម្ងាត់៖ L1, L2, L3
ល្បឿន CPU លើសពីអង្គចងចាំមេ (RAM) ទៅទៀត។ អង្គចងចាំ Cache គឺជាអង្គចងចាំតូចជាង និងលឿនជាង ដែលប្រើសម្រាប់រក្សាទុកទិន្នន័យដែលចូលប្រើប្រាស់ជាញឹកញាប់។ ជាធម្មតាវាមានកម្រិតជាច្រើន៖ L1 (លឿនបំផុត និងតូចបំផុត) L2 (ធំជាង) និង L3 (ធំជាងនេះទៅទៀត ជារឿយៗត្រូវបានចែករំលែករវាងស្នូល)។
ការរចនាឃ្លាំងសម្ងាត់គឺជាការសម្របសម្រួលដ៏សំខាន់មួយ៖ ឃ្លាំងសម្ងាត់ធំជាងកាត់បន្ថយការខកខាន ប៉ុន្តែមានតម្លៃថ្លៃជាង និងអាចយឺតជាង។ ការស្វែងរកគោលការណ៍ជាមុន និងភាពស៊ីសង្វាក់គ្នានៃឃ្លាំងសម្ងាត់លើប្រព័ន្ធពហុស្នូលក៏មានសារៈសំខាន់ចំពោះមីក្រូស្ថាបត្យកម្មផងដែរ។
៦. ឯកតាប្រតិបត្តិ៖ ចំនួនគត់ ចំណុចអណ្តែត SIMD និងពិសេស
ស៊ីភីយូមានឯកតាផ្សេងៗគ្នា៖ ALU សម្រាប់ប្រតិបត្តិការចំនួនគត់ FPU សម្រាប់ចំនួនប្រភាគ ឯកតាផ្ទុក/រក្សាទុកសម្រាប់អង្គចងចាំ និង SIMD (ឧ. AVX/NEON) សម្រាប់ដំណើរការទិន្នន័យបរិមាណច្រើនក្នុងពេលតែមួយ—មានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ពហុមេឌា ការបង្ហាប់ និងសូម្បីតែការរៀនម៉ាស៊ីនស្រាល។
លើសពីនេះ ប្រព័ន្ធដំណើរការទំនើបៗច្រើនតែរួមបញ្ចូលឧបករណ៍បង្កើនល្បឿនជាក់លាក់ (អាស្រ័យលើវេទិកា) ដូចជាសម្រាប់ការអ៊ិនគ្រីប ការគណនា AI ឬដំណើរការសញ្ញារូបភាពនៅលើឧបករណ៍ចល័ត។ ខណៈពេលដែលមិនតែងតែត្រូវបានគេហៅថា "មីក្រូស្ថាបត្យកម្ម CPU សុទ្ធ" ការរួមបញ្ចូលគ្នានេះមានឥទ្ធិពលលើការរចនារួមនៃប្រព័ន្ធនៅលើបន្ទះឈីប។
៧. ការគ្រប់គ្រងថាមពល និងការរចនាកម្ដៅ
មីក្រូស្ថាបត្យកម្មក៏កំណត់ពីរបៀបដែលឧបករណ៍ដំណើរការកែតម្រូវវ៉ុល និងប្រេកង់ (DVFS) បិទសមាសធាតុដែលមិនប្រើ (ការកំណត់នាឡិកា ការកំណត់ថាមពល) និងរក្សាសីតុណ្ហភាពឱ្យស្ថិតក្នុងដែនកំណត់។ នៅក្នុងកុំព្យូទ័រយួរដៃ និងទូរស័ព្ទចល័ត ប្រសិទ្ធភាពក្នុងមួយវ៉ាត់ច្រើនតែសំខាន់ជាងដំណើរការកំពូល។
ការប្រើប្រាស់មីក្រូស្ថាបត្យកម្មនៅក្នុងពិភពពិត
១. បង្កើនប្រសិទ្ធភាពកុំព្យូទ័រ និងម៉ាស៊ីនមេ
ការប្រើប្រាស់ជាក់ស្តែងបំផុតគឺការកែលម្អដំណើរការនៃកម្មវិធីប្រចាំថ្ងៃ (កម្មវិធីរុករកតាមអ៊ីនធឺណិត កម្មវិធីការិយាល័យ) ការគណនាបច្ចេកទេស (ការក្លែងធ្វើ) និងសេវាកម្មម៉ាស៊ីនមេ (មូលដ្ឋានទិន្នន័យ សេវាកម្មគេហទំព័រ)។ បច្ចេកទេសដូចជា OoO ការរក្សាទុកទិន្នន័យកម្រិតខ្ពស់ និងការទស្សន៍ទាយសាខាធ្វើឱ្យកម្មវិធីដំណើរការលឿនជាងមុនដោយមិនចាំបាច់បង្កើនភាពញឹកញាប់យ៉ាងខ្លាំងនោះទេ។
នៅក្នុងមជ្ឈមណ្ឌលទិន្នន័យ ការផ្លាស់ប្តូរតិចតួចនៃប្រសិទ្ធភាពមីក្រូស្ថាបត្យកម្មអាចប្រែក្លាយទៅជាការសន្សំសំចៃថាមពល និងការត្រជាក់យ៉ាងច្រើន។ នោះហើយជាមូលហេតុដែលការរចនាមីក្រូស្ថាបត្យកម្មម៉ាស៊ីនមេផ្តោតលើបរិមាណដំណើរការ កម្រិតបញ្ជូនអង្គចងចាំ និងសមត្ថភាពពហុខ្សែ។
2. បង្កើនប្រសិទ្ធភាពថាមពលលើឧបករណ៍ចល័ត
ស្មាតហ្វូនតម្រូវឱ្យមានដំណើរការខ្ពស់សម្រាប់កាមេរ៉ា ការលេងហ្គេម និងបញ្ញាសិប្បនិម្មិត (AI) ខណៈពេលដែលក៏ជួយសន្សំសំចៃអាយុកាលថ្មផងដែរ។ ដូច្នេះ មីក្រូស្ថាបត្យកម្មចល័តច្រើនតែផ្សំស្នូលដែលសន្សំសំចៃថាមពលជាមួយនឹងស្នូលដំណើរការ (វិធីសាស្រ្ត big.LITTLE ឬបំរែបំរួលរបស់វា)។ នេះអនុញ្ញាតឱ្យកិច្ចការស្រាលៗត្រូវបានដាក់លើស្នូលតូចៗ និងកិច្ចការធ្ងន់ៗដាក់លើស្នូលធំៗ ដែលនាំឱ្យមានប្រសិទ្ធភាពថាមពលកាន់តែច្រើនដោយមិនបាត់បង់ការឆ្លើយតប។
៣. កំណត់ឥរិយាបថសុវត្ថិភាព និងការកាត់បន្ថយ
មីក្រូស្ថាបត្យកម្មមិនត្រឹមតែអំពីល្បឿនប៉ុណ្ណោះទេ វាក៏ប៉ះពាល់ដល់សុវត្ថិភាពផងដែរ។ យន្តការស្មានទុកជាមុន ឃ្លាំងសម្ងាត់ និងការព្យាករណ៍សាខាអាចណែនាំឆានែលចំហៀង។ បន្ទាប់មកឧស្សាហកម្មបង្កើតការកាត់បន្ថយទាំងកម្រិតកម្មវិធី និងផ្នែករឹង ដូចជាការផ្លាស់ប្តូរចំពោះឧបករណ៍ព្យាករណ៍ ការញែកស្មានទុកជាមុន ឬបច្ចេកទេសបែងចែកឃ្លាំងសម្ងាត់។ ការយល់ដឹងអំពីមីក្រូស្ថាបត្យកម្មជួយវិស្វករសុវត្ថិភាពវាយតម្លៃហានិភ័យ និងជ្រើសរើសការកំណត់រចនាសម្ព័ន្ធកាត់បន្ថយសមស្រប។
៤. ជួយអ្នកអភិវឌ្ឍន៍ឱ្យបង្កើនប្រសិទ្ធភាពកម្មវិធី
ទោះបីជាអ្នកអភិវឌ្ឍន៍មិនរចនា CPU ក៏ដោយ ពួកគេអាចសរសេរកូដបានលឿនជាងមុនដោយការយល់ដឹងអំពីឥរិយាបថមីក្រូស្ថាបត្យកម្ម។ ឧទាហរណ៍៖
– កាត់បន្ថយការខកខានក្នុងការប្រើប្រាស់ cache ជាមួយនឹងរចនាសម្ព័ន្ធទិន្នន័យដែលងាយស្រួលប្រើប្រាស់ cache ជាងមុន។
– ជៀសវាងមែកឈើដែលមិនចាំបាច់ ឬធ្វើឱ្យលំនាំមែកឈើអាចទស្សន៍ទាយបានកាន់តែច្បាស់។
- ប្រើប្រាស់ SIMD សម្រាប់ប្រតិបត្តិការវ៉ិចទ័រ។
- កាត់បន្ថយការឈ្លោះប្រកែកគ្នាលើខ្សែច្រើនដែលបង្កឱ្យមានចរាចរណ៍ជាប់ទាក់ទងគ្នានៃឃ្លាំងសម្ងាត់។
នៅក្នុងវិស័យកុំព្យូទ័រដំណើរការខ្ពស់ (HPC) ចំណេះដឹងនេះមានសារៈសំខាន់ណាស់ ពីព្រោះដំណើរការជារឿយៗត្រូវបានកំណត់ដោយកម្រិតបញ្ជូនអង្គចងចាំ មិនមែនគ្រាន់តែជាចំនួននៃការណែនាំនោះទេ។
៥. ក្លាយជាមូលដ្ឋានសម្រាប់ការរចនាផ្នែករឹងថ្មី
នៅក្នុងវិស័យសិក្សា និងឧស្សាហកម្មស៊ីមីកុងដុកទ័រ មីក្រូស្ថាបត្យកម្មគឺជាវេទិកាសម្រាប់ការច្នៃប្រឌិត៖ បង្កើនទទឹងនៃការប្រតិបត្តិ ការផ្លាស់ប្តូរគោលការណ៍ឃ្លាំងសម្ងាត់ ការកែលម្អឧបករណ៍ព្យាករណ៍សាខា ឬសូម្បីតែការរចនាវិធីសាស្រ្តចម្រុះ (CPU + ឧបករណ៍បង្កើនល្បឿន)។ ប្រយោជន៍របស់វាគឺជាក់ស្តែងនៅក្នុងការប្រកួតប្រជែងផលិតផល៖ ការរចនាថ្មីជំនាន់តែមួយអាចនាំមកនូវភាពប្រសើរឡើងគួរឱ្យកត់សម្គាល់នៅក្នុង IPC (ការណែនាំក្នុងមួយវដ្ត) និងប្រសិទ្ធភាព ទោះបីជាប្រេកង់នៅតែមិនផ្លាស់ប្តូរក៏ដោយ។
បញ្ហាប្រឈម និងទិសដៅនៃការអភិវឌ្ឍ
មីក្រូស្ថាបត្យកម្មទំនើបៗប្រឈមមុខនឹងដែនកំណត់នៃរូបវិទ្យា៖ ការលេចធ្លាយថាមពល ការបង្កើតកំដៅ និងភាពស្មុគស្មាញកើនឡើង។ ដោយសារតែការបង្កើនប្រេកង់មិនងាយស្រួលដូចពីមុនទេ ការផ្តោតអារម្មណ៍បានផ្លាស់ប្តូរទៅ៖
– ភាពស្របគ្នាខ្ពស់ (ពហុស្នូល, SMT)។
- ឧបករណ៍បង្កើនល្បឿនសម្រាប់ការងារជាក់លាក់។
- ការបង្កើនប្រសិទ្ធភាពនៃឋានានុក្រមអង្គចងចាំ និងការតភ្ជាប់គ្នាទៅវិញទៅមក។
- ប្រសិទ្ធភាពថាមពលជាសូចនាករសំខាន់មួយ។
– សន្តិសុខមីក្រូស្ថាបត្យកម្មតាំងពីការចាប់ផ្តើមរចនា (សន្តិសុខតាមការរចនា)។
ក្នុងរយៈពេលប៉ុន្មានឆ្នាំចុងក្រោយនេះ វិធីសាស្រ្តចម្រុះ — ការរួមបញ្ចូលគ្នារវាង CPU គោលបំណងទូទៅជាមួយនឹង AI ឯកទេស ក្រាហ្វិក និងឯកតាមេឌៀ — បានក្លាយជាការលេចធ្លោកាន់តែខ្លាំងឡើង ជាពិសេសនៅក្នុង SoCs។
សេចក្តីសន្និដ្ឋាន
មីក្រូស្ថាបត្យកម្មគឺជាមូលដ្ឋានគ្រឹះដែលកំណត់ពីរបៀបដែលឧបករណ៍ដំណើរការពិតជាប្រតិបត្តិការណែនាំ៖ ល្បឿន ប្រសិទ្ធភាពថាមពល និងសុវត្ថិភាព។ បំពង់បង្ហូរប្រេង ការប្រតិបត្តិមិនប្រក្រតី ការទស្សន៍ទាយសាខា ឃ្លាំងសម្ងាត់ ឯកតាប្រតិបត្តិ និងការគ្រប់គ្រងថាមពល សុទ្ធតែជាសមាសធាតុសំខាន់ៗដែលមានឥទ្ធិពលគ្នាទៅវិញទៅមក។ ការប្រើប្រាស់របស់វាពង្រីកពីការកែលម្អដំណើរការកុំព្យូទ័រ និងម៉ាស៊ីនមេ និងការអភិរក្សអាយុកាលថ្មនៅលើឧបករណ៍ចល័ត រហូតដល់ការជួយបង្កើនប្រសិទ្ធភាពកម្មវិធី និងពង្រឹងសុវត្ថិភាពប្រព័ន្ធ។ ការយល់ដឹងអំពីមីក្រូស្ថាបត្យកម្មមានន័យថា ការយល់ដឹងអំពីមូលហេតុនៅពីក្រោយភាពខុសគ្នានៃដំណើរការរវាងឧបករណ៍ដំណើរការ ខណៈពេលដែលក៏បង្ហាញពីការយល់ដឹងអំពីរបៀបដែលបច្ចេកវិទ្យាកុំព្យូទ័របន្តវិវត្ត។
ប្រសិនបើអ្នកចង់បាន ខ្ញុំអាចកែសម្រួលអត្ថបទនេះទៅតាមបរិបទជាក់លាក់ណាមួយ (ឧទាហរណ៍ សម្រាប់កិច្ចការសាលា/មហាវិទ្យាល័យ សម្រាប់ប្លក់ទូទៅ ឬកំណែបច្ចេកទេសបន្ថែមទៀត ដែលបំពេញបន្ថែមជាមួយនឹងដ្យាក្រាមលំហូរបំពង់ និងឧទាហរណ៍ករណីបង្កើនប្រសិទ្ធភាព)។