លោក Mike Ash ឧទ្ទិសដល់ប្លក់របស់គាត់។ ផលប៉ះពាល់ជាក់ស្តែងនៃការប្តូរទៅស្ថាបត្យកម្ម 64 ប៊ីតនៅក្នុង iPhone 5S ។ អត្ថបទនេះទាញការរកឃើញរបស់គាត់។
ហេតុផលសម្រាប់អត្ថបទនេះគឺដោយសារតែចំនួនដ៏ធំនៃព័ត៌មានមិនពិតដែលត្រូវបានផ្សព្វផ្សាយអំពីអ្វីដែលទូរស័ព្ទ iPhone 5s ថ្មីជាមួយនឹងប្រព័ន្ធដំណើរការ ARM 64-bit ពិតជាមានន័យសម្រាប់អ្នកប្រើប្រាស់ និងទីផ្សារ។ នៅទីនេះ យើងនឹងព្យាយាមនាំយកព័ត៌មានគោលបំណងអំពីការអនុវត្ត សមត្ថភាព និងផលប៉ះពាល់នៃការផ្លាស់ប្តូរនេះសម្រាប់អ្នកអភិវឌ្ឍន៍។
"64 ប៊ីត"
មានផ្នែកពីរនៃខួរក្បាលដែលស្លាក "X-bit" អាចយោងទៅ - ទទឹងនៃចំនួនគត់ចុះឈ្មោះ និងទទឹងនៃទ្រនិច។ ជាសំណាងល្អនៅលើប្រព័ន្ធដំណើរការទំនើបភាគច្រើនទទឹងទាំងនេះគឺដូចគ្នា ដូច្នេះក្នុងករណី A7 នេះមានន័យថាការចុះឈ្មោះចំនួនគត់ 64 ប៊ីត និងទ្រនិច 64 ប៊ីត។
ទោះយ៉ាងណាក៏ដោយ វាមានសារៈសំខាន់ដូចគ្នាក្នុងការចង្អុលបង្ហាញថា "64bit" មិនមានន័យអ្វី: ទំហំអាសយដ្ឋានរូបវន្ត RAM. ចំនួនប៊ីតសម្រាប់ទំនាក់ទំនងជាមួយ RAM (ដូច្នេះចំនួន RAM ដែលឧបករណ៍អាចគាំទ្របាន) មិនទាក់ទងនឹងចំនួនប៊ីតស៊ីភីយូទេ។ ប្រព័ន្ធដំណើរការ ARM មានកន្លែងណាមួយរវាងអាសយដ្ឋាន 26 និង 40 ប៊ីត ហើយអាចត្រូវបានផ្លាស់ប្តូរដោយឯករាជ្យពីប្រព័ន្ធដែលនៅសល់។
- ទំហំឡានក្រុងទិន្នន័យ. ចំនួនទិន្នន័យដែលទទួលបានពី RAM ឬសតិបណ្ដោះអាសន្នគឺស្រដៀងគ្នាដោយឯករាជ្យនៃកត្តានេះ។ ការណែនាំអំពីដំណើរការបុគ្គលអាចស្នើសុំចំនួនទិន្នន័យខុសៗគ្នា ប៉ុន្តែពួកគេត្រូវបានផ្ញើជាកំណាត់ៗ ឬទទួលបានច្រើនជាងតម្រូវការពីអង្គចងចាំ។ វាអាស្រ័យលើទំហំនៃទិន្នន័យ quantum ។ ទូរស័ព្ទ iPhone 5 បានទទួលទិន្នន័យពីអង្គចងចាំរួចហើយនៅក្នុង 64-bit quanta (និងមានខួរក្បាល 32-bit) ហើយយើងអាចជួបប្រទះទំហំរហូតដល់ 192 ប៊ីត។
- អ្វីក៏ដោយដែលទាក់ទងនឹងចំណុចអណ្តែត. ទំហំនៃការចុះឈ្មោះបែបនេះ (FPU) ជាថ្មីម្តងទៀតគឺឯករាជ្យនៃដំណើរការខាងក្នុងរបស់ខួរក្បាល។ ARM បានប្រើប្រាស់ FPU 64-bit តាំងពីមុន ARM64 (64-bit ARM processor)។
គុណសម្បត្តិ និងគុណវិបត្តិទូទៅ
ប្រសិនបើយើងប្រៀបធៀបស្ថាបត្យកម្ម 32bit និង 64bit ដែលដូចគ្នាបេះបិទ នោះជាទូទៅវាមិនខុសគ្នានោះទេ។ នេះគឺជាហេតុផលមួយក្នុងចំណោមហេតុផលសម្រាប់ការភ័ន្តច្រឡំរបស់សាធារណជនដែលកំពុងស្វែងរកមូលហេតុដែល Apple កំពុងផ្លាស់ប្តូរទៅ 64bit នៅក្នុងឧបករណ៍ចល័តផងដែរ។ ទោះជាយ៉ាងណាក៏ដោយ វាទាំងអស់បានមកពីប៉ារ៉ាម៉ែត្រជាក់លាក់នៃខួរក្បាល A7 (ARM64) និងរបៀបដែល Apple ប្រើវា មិនត្រឹមតែមកពីការពិតដែលថាខួរក្បាលមានស្ថាបត្យកម្ម 64 ប៊ីតនោះទេ។
ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើយើងនៅតែពិនិត្យមើលភាពខុសប្លែកគ្នារវាងស្ថាបត្យកម្មទាំងពីរនេះ យើងនឹងរកឃើញភាពខុសគ្នាជាច្រើន។ ជាក់ស្តែងគឺថាការចុះឈ្មោះចំនួនគត់ 64 ប៊ីតអាចគ្រប់គ្រងចំនួនគត់ 64 ប៊ីតកាន់តែមានប្រសិទ្ធភាព។ សូម្បីតែពីមុន វាអាចធ្វើការជាមួយពួកគេនៅលើប្រព័ន្ធដំណើរការ 32 ប៊ីត ប៉ុន្តែនេះជាធម្មតាមានន័យថាការបែងចែកពួកវាទៅជាបំណែកវែង 32 ប៊ីត ដែលបណ្តាលឱ្យមានការគណនាយឺតជាង។ ដូច្នេះ ខួរក្បាល 64-bit ជាទូទៅអាចគណនាជាមួយប្រភេទ 64-bit បានលឿនដូចទៅនឹង 32-bit ដែរ។ នេះមានន័យថាកម្មវិធីដែលជាទូទៅប្រើប្រភេទ 64-bit អាចដំណើរការបានលឿនជាងនៅលើ processor 64-bit។
ទោះបីជា 64bit មិនប៉ះពាល់ដល់ចំនួន RAM សរុបដែលខួរក្បាលអាចប្រើប្រាស់បានក៏ដោយ វាអាចធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការធ្វើការជាមួយ RAM ជាច្រើននៅក្នុងកម្មវិធីមួយ។ កម្មវិធីតែមួយដែលដំណើរការលើប្រព័ន្ធដំណើរការ 32-bit មានទំហំអាសយដ្ឋានត្រឹមតែ 4 GB ប៉ុណ្ណោះ។ ដោយគិតពីប្រព័ន្ធប្រតិបត្តិការ និងបណ្ណាល័យស្ដង់ដារយកអ្វីមួយ វាទុកកម្មវិធីនេះឱ្យនៅចន្លោះ 1-3 GB សម្រាប់ការប្រើប្រាស់កម្មវិធី។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើប្រព័ន្ធ 32 ប៊ីតមាន RAM លើសពី 4 GB ការប្រើអង្គចងចាំនោះមានភាពស្មុគស្មាញបន្តិច។ យើងត្រូវងាកទៅរកការបង្ខំឱ្យប្រព័ន្ធប្រតិបត្តិការធ្វើផែនទីនៃអង្គចងចាំធំ ៗ ទាំងនេះសម្រាប់កម្មវិធីរបស់យើង (សតិនិម្មិត) ឬយើងអាចបំបែកកម្មវិធីទៅជាដំណើរការជាច្រើន (ដែលដំណើរការនីមួយៗតាមទ្រឹស្ដីមានអង្គចងចាំ 4 GB សម្រាប់អាសយដ្ឋានផ្ទាល់)។
ទោះយ៉ាងណាក៏ដោយ "ការលួច" ទាំងនេះគឺពិបាកនិងយឺតណាស់ដែលកម្មវិធីអប្បបរមាប្រើវា។ នៅក្នុងការអនុវត្តជាក់ស្តែង នៅលើប្រព័ន្ធដំណើរការ 32 ប៊ីត កម្មវិធីនីមួយៗនឹងប្រើតែអង្គចងចាំ 1-3 GB របស់វាប៉ុណ្ណោះ ហើយ RAM ដែលអាចប្រើបានច្រើនជាងនេះអាចត្រូវបានប្រើដើម្បីដំណើរការកម្មវិធីជាច្រើនក្នុងពេលតែមួយ ឬប្រើអង្គចងចាំនេះជាសតិបណ្ដោះអាសន្ន (ឃ្លាំងសម្ងាត់)។ ការប្រើប្រាស់ទាំងនេះគឺអាចអនុវត្តបាន ប៉ុន្តែយើងចង់ឱ្យកម្មវិធីណាមួយអាចប្រើប្រាស់អង្គចងចាំធំជាង 4GB បានយ៉ាងងាយស្រួល។
ឥឡូវនេះយើងមកជាញឹកញាប់ (ពិតជាមិនត្រឹមត្រូវ) អះអាងថាដោយគ្មានអង្គចងចាំលើសពី 4GB ស្ថាបត្យកម្ម 64 ប៊ីតគឺគ្មានប្រយោជន៍ទេ។ ទំហំអាសយដ្ឋានធំជាងនេះមានប្រយោជន៍ សូម្បីតែនៅលើប្រព័ន្ធដែលមានអង្គចងចាំតិចក៏ដោយ។ ឯកសារដែលបានគូសផែនទីអង្គចងចាំគឺជាឧបករណ៍ងាយស្រួលដែលផ្នែកនៃមាតិការបស់ឯកសារត្រូវបានភ្ជាប់យ៉ាងឡូជីខលទៅអង្គចងចាំរបស់ដំណើរការដោយមិនចាំបាច់ផ្ទុកឯកសារទាំងមូលទៅក្នុងអង្គចងចាំនោះទេ។ ដូច្នេះ ជាឧទាហរណ៍ ប្រព័ន្ធអាចដំណើរការឯកសារធំៗបន្តិចម្តងៗ ដែលមានទំហំធំជាងទំហំ RAM ច្រើនដង។ នៅលើប្រព័ន្ធ 32 ប៊ីត ឯកសារធំបែបនេះមិនអាចត្រូវបានកំណត់ដោយអង្គចងចាំដែលអាចទុកចិត្តបានទេ ចំណែកឯនៅលើប្រព័ន្ធ 64 ប៊ីត វាជានំមួយដុំ ដោយសារទំហំអាសយដ្ឋានធំជាងនេះ។
ទោះជាយ៉ាងណាក៏ដោយ ទំហំទ្រនិចធំជាងនេះក៏នាំមកនូវគុណវិបត្តិដ៏ធំមួយផងដែរ៖ បើមិនដូច្នេះទេ កម្មវិធីដូចគ្នាបេះបិទ ត្រូវការអង្គចងចាំបន្ថែមនៅលើខួរក្បាល 64 ប៊ីត (ទ្រនិចធំជាងនេះត្រូវរក្សាទុកនៅកន្លែងណាមួយ)។ ដោយសារទ្រនិចគឺជាផ្នែកញឹកញាប់នៃកម្មវិធី ភាពខុសគ្នានេះអាចផ្ទុកបន្ទុកលើឃ្លាំងសម្ងាត់ ដែលនាំឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺតជាង។ ដូច្នេះតាមទស្សនៈ យើងអាចមើលឃើញថា ប្រសិនបើយើងគ្រាន់តែផ្លាស់ប្តូរស្ថាបត្យកម្មខួរក្បាលទៅជា 64-bit នោះវាពិតជាធ្វើឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺត។ ដូច្នេះកត្តានេះត្រូវតែមានតុល្យភាពដោយការបង្កើនប្រសិទ្ធភាពបន្ថែមទៀតនៅកន្លែងផ្សេងទៀត។
ARM64 ។
A7 ដែលជាប្រព័ន្ធដំណើរការ 64-bit ដំណើរការលើ iPhone 5s ថ្មី មិនមែនគ្រាន់តែជាប្រព័ន្ធដំណើរការ ARM ធម្មតាជាមួយនឹងការចុះឈ្មោះកាន់តែទូលំទូលាយនោះទេ។ ARM64 មានការកែលម្អធំជាងកំណែ 32 ប៊ីតចាស់។
ចុះបញ្ជី
ARM64 ទទួលការចុះឈ្មោះចំនួនគត់ពីរដងដូច ARM 32-ប៊ីត (ប្រយ័ត្នកុំច្រឡំចំនួន និងទទឹងនៃការចុះឈ្មោះ - យើងបាននិយាយអំពីទទឹងនៅក្នុងផ្នែក "64-bit"។ ដូច្នេះ ARM64 មានទាំងការចុះឈ្មោះធំទូលាយពីរដង និងពីរដងច្រើនជាង ចុះឈ្មោះ) ។ ARM 32-bit មានការចុះឈ្មោះចំនួនគត់ចំនួន 16៖ កម្មវិធីរាប់ចំនួនមួយ (PC - មានលេខនៃការណែនាំបច្ចុប្បន្ន) ទ្រនិចជង់ (ទ្រនិចទៅមុខងារដែលកំពុងដំណើរការ) តំណចុះឈ្មោះ (ទ្រនិចទៅការត្រឡប់មកវិញបន្ទាប់ពីបញ្ចប់ នៃមុខងារ) ហើយ 13 ដែលនៅសល់គឺសម្រាប់ការប្រើប្រាស់កម្មវិធី។ ទោះជាយ៉ាងណាក៏ដោយ ARM64 មានការចុះឈ្មោះចំនួនគត់ចំនួន 32 រួមទាំងការចុះឈ្មោះសូន្យមួយ ការចុះឈ្មោះតំណ ទ្រនិចស៊ុម (ស្រដៀងទៅនឹងទ្រនិចជង់) និងមួយត្រូវបានបម្រុងទុកសម្រាប់ពេលអនាគត។ នេះទុកឱ្យយើងជាមួយនឹងការចុះឈ្មោះចំនួន 28 សម្រាប់ការប្រើប្រាស់កម្មវិធី ដែលច្រើនជាងទ្វេដងនៃ 32-bit ARM ។ ក្នុងពេលជាមួយគ្នានោះ ARM64 បានបង្កើនទ្វេដងចំនួននៃការចុះឈ្មោះចំនួនអណ្តែតទឹក (FPU) ពី 16 ទៅ 32 ការចុះឈ្មោះ 128 ប៊ីត។
ប៉ុន្តែហេតុអ្វីបានជាចំនួននៃការចុះឈ្មោះមានសារៈសំខាន់ដូច្នេះ? អង្គចងចាំជាទូទៅយឺតជាងការគណនា CPU ហើយការអាន/សរសេរអាចចំណាយពេលយូរណាស់។ នេះនឹងធ្វើឱ្យខួរក្បាលដំណើរការលឿនត្រូវរង់ចាំអង្គចងចាំ ហើយយើងនឹងឈានដល់ដែនកំណត់ល្បឿនធម្មជាតិនៃប្រព័ន្ធ។ អ្នកដំណើរការព្យាយាមលាក់ពិការភាពនេះជាមួយនឹងស្រទាប់នៃសតិបណ្ដោះអាសន្ន ប៉ុន្តែសូម្បីតែល្បឿនលឿនបំផុត (L1) នៅតែយឺតជាងការគណនារបស់ខួរក្បាល។ ទោះយ៉ាងណាក៏ដោយ ការចុះឈ្មោះគឺជាកោសិកាអង្គចងចាំដោយផ្ទាល់នៅក្នុងខួរក្បាល ហើយការអាន/សរសេររបស់ពួកគេមានល្បឿនលឿនគ្រប់គ្រាន់ដើម្បីកុំឱ្យដំណើរការដំណើរការយឺត។ ចំនួននៃការចុះឈ្មោះអនុវត្តមានន័យថាចំនួននៃអង្គចងចាំលឿនបំផុតសម្រាប់ការគណនាខួរក្បាលដែលជះឥទ្ធិពលយ៉ាងខ្លាំងដល់ល្បឿននៃប្រព័ន្ធទាំងមូល។
ក្នុងពេលជាមួយគ្នា ល្បឿននេះត្រូវការការគាំទ្រការបង្កើនប្រសិទ្ធភាពល្អពីអ្នកចងក្រង ដូច្នេះភាសាអាចប្រើការចុះឈ្មោះទាំងនេះ ហើយមិនចាំបាច់រក្សាទុកអ្វីគ្រប់យ៉ាងនៅក្នុងកម្មវិធីទូទៅ (យឺត) សតិនោះទេ។
សំណុំការណែនាំ
ARM64 ក៏នាំមកនូវការផ្លាស់ប្តូរសំខាន់ៗចំពោះសំណុំការណែនាំផងដែរ។ សំណុំការណែនាំគឺជាសំណុំនៃប្រតិបត្តិការអាតូមិកដែលខួរក្បាលអាចអនុវត្តបាន (ឧទាហរណ៍ 'បន្ថែមចុះឈ្មោះ1 register2' បន្ថែមលេខក្នុងបញ្ជីពីរ)។ មុខងារដែលមានសម្រាប់ភាសានីមួយៗត្រូវបានផ្សំឡើងដោយការណែនាំទាំងនេះ។ មុខងារស្មុគ្រស្មាញកាន់តែច្រើនត្រូវតែអនុវត្តការណែនាំបន្ថែមទៀត ដូច្នេះពួកគេអាចយឺតជាង។
ថ្មីនៅក្នុង ARM64 គឺជាការណែនាំសម្រាប់ការអ៊ិនគ្រីប AES មុខងារ SHA-1 និង SHA-256 ។ ដូច្នេះជំនួសឱ្យការអនុវត្តស្មុគ្រស្មាញ មានតែភាសាប៉ុណ្ណោះដែលនឹងហៅការណែនាំនេះ - ដែលនឹងនាំមកនូវការបង្កើនល្បឿនដ៏ធំដល់ការគណនានៃមុខងារបែបនេះ ហើយសង្ឃឹមថានឹងបន្ថែមសុវត្ថិភាពនៅក្នុងកម្មវិធី។ ឧ. Touch ID ថ្មីក៏ប្រើការណែនាំទាំងនេះក្នុងការអ៊ិនគ្រីបផងដែរ ដែលអនុញ្ញាតឱ្យមានល្បឿន និងសុវត្ថិភាពពិតប្រាកដ (តាមទ្រឹស្តី អ្នកវាយប្រហារនឹងត្រូវកែប្រែ processor ខ្លួនវាដើម្បីចូលប្រើទិន្នន័យ - វាមិនសមហេតុផលក្នុងការនិយាយថាទំហំតូចបំផុតរបស់វា)។
ភាពឆបគ្នាជាមួយ 32 ប៊ីត
វាជាការសំខាន់ក្នុងការនិយាយថា A7 អាចដំណើរការយ៉ាងពេញលេញនៅក្នុងរបៀប 32 ប៊ីតដោយមិនចាំបាច់មានកម្មវិធីត្រាប់តាម។ វាមានន័យថា iPhone 5s ថ្មីអាចដំណើរការកម្មវិធីដែលចងក្រងនៅលើ 32-bit ARM ដោយមិនមានការយឺតយ៉ាវណាមួយឡើយ។ ទោះជាយ៉ាងណាក៏ដោយ បន្ទាប់មកវាមិនអាចប្រើមុខងារ ARM64 ថ្មីបានទេ ដូច្នេះវាតែងតែមានប្រយោជន៍ក្នុងការបង្កើតការស្ថាបនាពិសេសសម្រាប់ A7 ដែលគួរតែដំណើរការលឿនជាងមុន។
ការផ្លាស់ប្តូរពេលវេលាដំណើរការ
Runtime គឺជាកូដដែលបន្ថែមមុខងារទៅភាសាសរសេរកម្មវិធី ដែលវាអាចប្រើបានខណៈពេលដែលកម្មវិធីកំពុងដំណើរការ រហូតដល់បន្ទាប់ពីការបកប្រែ។ ដោយសារ Apple មិនចាំបាច់រក្សាភាពត្រូវគ្នានៃកម្មវិធី (ដែលប្រព័ន្ធគោលពីរ 64 ប៊ីតដំណើរការលើ 32 ប៊ីត) ពួកគេអាចមានលទ្ធភាពធ្វើការកែលម្អមួយចំនួនបន្ថែមទៀតចំពោះភាសា Objective-C ។
មួយក្នុងចំណោមពួកគេគឺជាអ្វីដែលគេហៅថា ទ្រនិចដាក់ស្លាក (សញ្ញាសម្គាល់) ។ ជាធម្មតា វត្ថុ និងចង្អុលទៅវត្ថុទាំងនោះត្រូវបានរក្សាទុកក្នុងផ្នែកដាច់ដោយឡែកនៃអង្គចងចាំ។ ទោះជាយ៉ាងណាក៏ដោយ ប្រភេទទ្រនិចថ្មីអនុញ្ញាតឱ្យថ្នាក់ដែលមានទិន្នន័យតិចតួចរក្សាទុកវត្ថុដោយផ្ទាល់នៅក្នុងទ្រនិច។ ជំហាននេះលុបបំបាត់តម្រូវការក្នុងការបែងចែកអង្គចងចាំដោយផ្ទាល់សម្រាប់វត្ថុ ដោយគ្រាន់តែបង្កើតទ្រនិច និងវត្ថុនៅខាងក្នុងវា។ ទ្រនិចដែលបានដាក់ស្លាកត្រូវបានគាំទ្រតែនៅក្នុងស្ថាបត្យកម្ម 64 ប៊ីតផងដែរ ដោយសារតែការពិតដែលថាមិនមានកន្លែងទំនេរគ្រប់គ្រាន់នៅក្នុងទ្រនិច 32 ប៊ីតដើម្បីរក្សាទុកទិន្នន័យមានប្រយោជន៍គ្រប់គ្រាន់។ ដូច្នេះហើយ iOS មិនដូច OS X មិនទាន់គាំទ្រមុខងារនេះនៅឡើយ។ ទោះយ៉ាងណាក៏ដោយ ជាមួយនឹងការមកដល់នៃ ARM64 នេះកំពុងផ្លាស់ប្តូរ ហើយប្រព័ន្ធប្រតិបត្តិការ iOS ក៏ចាប់បាន OS X ក្នុងរឿងនេះផងដែរ។
ទោះបីជាទ្រនិចមានប្រវែង 64 ប៊ីតក៏ដោយ ប៉ុន្តែនៅលើ ARM64 មានតែ 33 ប៊ីតប៉ុណ្ណោះដែលត្រូវបានប្រើសម្រាប់អាសយដ្ឋានផ្ទាល់របស់ទ្រនិច។ ហើយប្រសិនបើយើងអាចដោះរបាំងទ្រនិចដែលនៅសេសសល់ដោយភាពជឿជាក់ យើងអាចប្រើចន្លោះនេះដើម្បីរក្សាទុកទិន្នន័យបន្ថែម ដូចនៅក្នុងករណីនៃទ្រនិចដែលបានដាក់ស្លាកដែលបានលើកឡើង។ តាមគំនិតនេះគឺជាការផ្លាស់ប្តូរដ៏ធំបំផុតមួយនៅក្នុងប្រវត្តិសាស្រ្តនៃ Objective-C ទោះបីជាវាមិនមែនជាលក្ខណៈពិសេសដែលអាចទីផ្សារបានក៏ដោយ ដូច្នេះអ្នកប្រើប្រាស់ភាគច្រើននឹងមិនដឹងថា Apple កំពុងផ្លាស់ប្តូរ Objective-C ទៅមុខយ៉ាងដូចម្តេចនោះទេ។
សម្រាប់ទិន្នន័យដែលមានប្រយោជន៍ដែលអាចត្រូវបានរក្សាទុកក្នុងចន្លោះដែលនៅសល់នៃទ្រនិចដែលមានស្លាកនោះ វត្ថុបំណង-C ជាឧទាហរណ៍ឥឡូវនេះកំពុងប្រើវាដើម្បីរក្សាទុកអ្វីដែលគេហៅថា ចំនួនយោង (ចំនួនឯកសារយោង) ។ ពីមុនចំនួនយោងត្រូវបានរក្សាទុកក្នុងកន្លែងផ្សេងក្នុងអង្គចងចាំ នៅក្នុងតារាង hash ដែលរៀបចំសម្រាប់វា ប៉ុន្តែវាអាចធ្វើឲ្យប្រព័ន្ធទាំងមូលថយចុះ ក្នុងករណីមានការហៅចេញ alloc/dealloc/retain/release មួយចំនួនធំ។ តារាងត្រូវតែចាក់សោដោយសារតែសុវត្ថិភាពខ្សែស្រឡាយ ដូច្នេះចំនួនយោងនៃវត្ថុពីរក្នុងខ្សែស្រឡាយពីរមិនអាចផ្លាស់ប្តូរក្នុងពេលតែមួយបានទេ។ ទោះជាយ៉ាងណាក៏ដោយតម្លៃនេះត្រូវបានបញ្ចូលថ្មីទៅក្នុងអ្វីដែលនៅសល់នៃអ្វីដែលគេហៅថា ព្រះយេស៊ូវ សូចនាករ។ នេះគឺជាអត្ថប្រយោជន៍ដ៏ធំមួយទៀតដែលមិនច្បាស់លាស់និងការបង្កើនល្បឿននៅពេលអនាគត។ ទោះយ៉ាងណាក៏ដោយ វាមិនអាចសម្រេចបាននៅក្នុងស្ថាបត្យកម្ម 32 ប៊ីតទេ។
ព័ត៌មានអំពីវត្ថុដែលជាប់ទាក់ទងគ្នា ថាតើវត្ថុត្រូវបានយោងខ្សោយ ថាតើវាចាំបាច់ដើម្បីបង្កើតឧបករណ៍បំផ្លិចបំផ្លាញសម្រាប់វត្ថុ ឬយ៉ាងណា។ ពេលវេលាដំណើរការគឺអាចបង្កើនល្បឿនដំណើរការជាមូលដ្ឋាន ដែលត្រូវបានឆ្លុះបញ្ចាំងនៅក្នុងល្បឿននៃកម្មវិធីនីមួយៗ។ ពីការធ្វើតេស្តនេះមានន័យថាបង្កើនល្បឿន 40-50% នៃការហៅទូរស័ព្ទគ្រប់គ្រងអង្គចងចាំទាំងអស់។ ដោយគ្រាន់តែប្តូរទៅទ្រនិច 64 ប៊ីត ហើយប្រើចន្លោះថ្មីនេះ។
សេចក្តីសន្និដ្ឋាន
ទោះបីជាដៃគូប្រកួតប្រជែងនឹងព្យាយាមផ្សព្វផ្សាយគំនិតដែលថាការផ្លាស់ប្តូរទៅស្ថាបត្យកម្ម 64 ប៊ីតគឺមិនចាំបាច់ក៏ដោយ អ្នកនឹងដឹងរួចហើយថានេះគ្រាន់តែជាមតិដែលមិនមានព័ត៌មានច្រើន។ វាជាការពិតដែលការប្តូរទៅ 64-bit ដោយមិនសម្រួលភាសា ឬកម្មវិធីរបស់អ្នកពិតជាមិនមានន័យអ្វីនោះទេ - វាថែមទាំងធ្វើឱ្យប្រព័ន្ធទាំងមូលដំណើរការយឺតផងដែរ។ ប៉ុន្តែ A7 ថ្មីប្រើ ARM64 ទំនើបជាមួយនឹងសំណុំការណែនាំថ្មី ហើយ Apple បានយកបញ្ហាដើម្បីធ្វើទំនើបកម្មភាសា Objective-C ទាំងមូល និងទាញយកអត្ថប្រយោជន៍ពីសមត្ថភាពថ្មី ដូច្នេះការបង្កើនល្បឿនដែលបានសន្យា។
នៅទីនេះយើងបានលើកឡើងពីហេតុផលមួយចំនួនធំថាហេតុអ្វីបានជាស្ថាបត្យកម្ម 64-bit គឺជាជំហានដ៏ត្រឹមត្រូវឆ្ពោះទៅមុខ។ វាគឺជាបដិវត្តន៍មួយទៀត "នៅក្រោមក្រណាត់" ដោយសារ Apple នឹងព្យាយាមរក្សានៅជួរមុខ មិនត្រឹមតែជាមួយនឹងការរចនា ចំណុចប្រទាក់អ្នកប្រើប្រាស់ និងប្រព័ន្ធអេកូឡូស៊ីដ៏សម្បូរបែបប៉ុណ្ណោះទេ ប៉ុន្តែជាចម្បងជាមួយនឹងបច្ចេកវិទ្យាទំនើបបំផុតនៅលើទីផ្សារ។
មនុស្សជាច្រើនដែលមិនស្គាល់ប្រព័ន្ធប្រតិបត្តិការ Android/Samsung គួរតែអានអត្ថបទនេះ ហើយបន្ទាប់មកលាក់ខ្លួននៅជ្រុងម្ខាងទៀត។
យើងត្រូវតែអាណិតពួកគេ។ អស់រយៈពេលជាច្រើនឆ្នាំ ពួកគេបានដោះសារសោកនាដកម្ម UX និង UI របស់ Android ដោយនិយាយថា ពួកគេមាន OS បច្ចេកវិទ្យាទំនើបបំផុតជាមួយនឹងលក្ខណៈពិសេស ហើយឥឡូវនេះពួកគេបានរកឃើញថាពួកគេនៅពីក្រោយជាច្រើនឆ្នាំម្តងទៀត :)
ប្រសិនបើមនុស្សម្នាក់មិនមែនជាចៀមហើយស្តាប់ការផ្សាយពាណិជ្ជកម្ម (ហើយគាត់ពូកែវា) បន្ទាប់មកបន្ទាប់ពីបទពិសោធន៍ផ្ទាល់ខ្លួនគាត់អាចបង្កើតគំនិតរបស់គាត់ :-) ។
ខ្ញុំព្យាយាមស្ទើរតែគ្រប់ការប្រកួតទាំងអស់ ហើយបង្កើតគំនិតផ្ទាល់ខ្លួនរបស់ខ្ញុំ។
សម្រាប់ខ្ញុំ ខ្ញុំត្រូវការទូរសព្ទស៊េរីថ្មីដែលមានសមត្ថភាពខ្ពស់ ព្រោះខ្ញុំមិនចំណាយច្រើនលើវាទេ។ នោះគឺជា ខ្ញុំត្រូវការការអនុវត្តតិចសម្រាប់តម្លៃតិច ;-) ។ ប្រហែលជាខ្ញុំចង់ប្រើថ្មយឺតជាង។
ម្យ៉ាងវិញទៀត procak ថ្មីនឹងមានប្រយោជន៍សម្រាប់ iPad ដែលមានហ្គេមច្រើន :-) ។
ខ្ញុំជា Android/HTC :) ព្រោះ IT ពិតជាសប្បាយសម្រាប់ខ្ញុំ ហើយការ rooting និងការបំប្លែង HW ដែលមានគុណភាពខ្ពស់ទៅជាអ្នកប្រយុទ្ធលឿនគឺជាចំណង់ចំណូលចិត្តរបស់ខ្ញុំ។ ហើយ iOS នឹងមិនអនុញ្ញាតឱ្យខ្ញុំធ្វើវាទេ។ (វាមិនចាំបាច់ទេ។ តិចឬច្រើន iOS ត្រូវបានរចនាឡើងដើម្បីឱ្យអ្វីៗដំណើរការដូចដែលវាគួរតែ ហើយអ្នកមិនចាំបាច់ធ្វើអ្វីនៅទីនោះទេ។ នៅពេលដែលខ្ញុំឈប់លេង ខ្ញុំនឹងទិញផ្លែប៉ោមមួយ ហើយរីករាយនឹងវា)។ ប៉ុន្តែខ្ញុំមិនដឹងថា ហេតុអ្វីបានជាអ្នកនៅតែវាយគ្នាដូចក្មេង។ Apple គឺដូចជា Android ទាំងស្រុង។ វាដូចជាការប្រៀបធៀបលទ្ធិប្រជាធិបតេយ្យជាមួយនឹងរបបផ្តាច់ការ និងដូច... ខ្ញុំបានមើលសន្និសីទនៅពេលដែល iPhone 5S ត្រូវបានណែនាំ ហើយទោះបីជាខ្ញុំមិនមែនជាម្ចាស់របស់ Apple ក៏ដោយ ក៏ខ្ញុំចូលចិត្ត 64bit និងការកែលម្អផ្សេងទៀតដែលបានមក។ ប៉ុន្តែមិនមែនដោយសារតែខ្ញុំជា honimír trtko ដ៏ស្មុគស្មាញ ដែលអង្គុយនៅពីក្រោយកុំព្យូទ័រ ហើយដេញតាម Android ឬ Apple នោះទេ ប៉ុន្តែដោយសារតែខ្ញុំឃើញ PROGRESS ដែលនឹងមិនធ្វើឱ្យខ្ញុំរង់ចាំយូរនោះទេ។ មនុស្សគួរតែចាប់ផ្តើមធ្វើការយ៉ាងលំបាក ដូច្នេះពួកគេមិនមានពេលវេលាដើម្បីដោះស្រាយជាមួយនឹងភាពអសុរោះ ដើម្បីដាក់វាឱ្យសមរម្យ។
ការរួមចំណែកស្ថាបនាពីភាគីម្ខាងទៀត :) kiez វានឹងបើកភ្នែករបស់ Android 99% ដែលនៅសល់
ប្រហែលជា 99% នៃអ្នកនិយមផ្លែប៉ោមគួរតែត្រូវបានពិភាក្សាជាមុនសិន បន្ទាប់មកយើងអាចមានការសន្ទនាក្នុងន័យស្ថាបនា
រឿងស្មុគស្មាញណាស់ ពន្យល់យ៉ាងសាមញ្ញ... អរគុណ
អត្ថបទអស្ចារ្យ! បាទ/ចាស ខ្ញុំយល់ព្រមថាអ្នកប្រើប្រាស់ Android/WP គួរតែអានអត្ថបទនេះជាកត្តាចាំបាច់។ ជំនួសឱ្យការ trolling និងនិយាយដ៏ឆ្លាតវៃអំពី "របៀបដែល 64b គឺគ្មានប្រយោជន៍នៅក្នុងទូរស័ព្ទ"…
អ្នកប្រហែលជាមិនដែលមាន wp នៅក្នុងដៃរបស់អ្នកទេ បើមិនដូច្នេះទេអ្នកនឹងមិនមានវាទេ។
ចាប់តាំងពីភាពជោគជ័យដំបូងរបស់ខ្លួននៅក្នុងទីផ្សារទូរស័ព្ទ Samsung មិនបានធ្វើអ្វីក្រៅតែពីធ្វើឱ្យមានការប្រកួតប្រជែងនោះទេ ប៉ុន្តែនៅក្នុងខ្លឹមសារ វាបានដើរតាមគន្លងរបស់ខ្លួនគ្រប់ពេល។ Apple តែងតែធ្វើជាគំរូសម្រាប់ក្រុមហ៊ុនបច្ចេកវិទ្យា ហើយប្រសិនបើពួកគេផ្តោតតែលើការចំអក និងផ្តល់ព័ត៌មានមិនទៀងទាត់ដល់អតិថិជន ពួកគេនឹងជំពប់ដួលក្នុងពេលឆាប់ៗនេះ។ Apple តែងតែដើរតាមផ្លូវរបស់ខ្លួន ហើយវាតែងតែជាបញ្ហានៃពេលវេលាដ៏ល្អ ដែលក្រុមហ៊ុនប្រកួតប្រជែងជាច្រើននៅក្នុងឧស្សាហកម្មនេះខ្វះ។
គេអាចនិយាយបានថា Samsung កំពុងជិះរលក និងទាញយកអត្ថប្រយោជន៍ពីលទ្ធភាពរបស់វា។ គាត់ភ្នាល់លើប្រព័ន្ធប្រតិបត្តិការ Android គាត់មាន HW ដ៏អស្ចារ្យ គាត់បង្កើតរឿងជាច្រើនដោយខ្លួនឯង គាត់មានការគាំទ្រសមរម្យ។ ហើយដូចជាក្រុមហ៊ុនអាស៊ីដែលឈ្លើយសឹកដែរ វាប្រើគ្រប់លទ្ធភាពនៃការផ្សាយពាណិជ្ជកម្ម។ ហើយជាការពិតណាស់គាត់លួចចម្លង។ អ្វីដែល«ភ្នែកស្រួច» ល្អគឺការចម្លង។ គេបានគណនាយ៉ាងច្បាស់ថាវាថោកជាងការដើរដោយខ្លួនឯងមួយជំហានទៅមួយជំហាន។ ហើយក្នុងនាមជាក្រុមហ៊ុនដ៏រឹងមាំ វាអាចមានលទ្ធភាពទិញវាបាន។ នៅឡើយ…
ខ្ញុំគ្រាន់តែមិនយល់ថាហេតុអ្វីបានជាល្បឿននៃទូរស័ព្ទចេះតែកើនឡើង សូមផ្តល់ឧទាហរណ៍ខ្លះៗអំពីអ្វីដែលអ្នកប្រើវាយឺតៗ វាគ្មានន័យសម្រាប់ខ្ញុំក្នុងការបង្កើនប្រសិទ្ធភាពនៃទូរសព្ទនោះទេ ប៉ុន្តែខ្ញុំនឹងដកពាក្យថាទីផ្សារចេញ។
ហ្គេម ហ្គេមដែលធ្វើអោយប្រសើរឡើង។ ដូចគ្នានេះផងដែរ, Transport Tycoon នៅលើ iPad 3 មិនដំណើរការរលូន និងក្នុងកម្រិតភាពច្បាស់ដូចវានៅលើកុំព្យូទ័រនោះទេ។ ឧទាហរណ៍។
ខ្ញុំគ្រាន់តែមិនយល់សោះថា ហេតុអ្វីបានជាល្បឿនទូរស័ព្ទចេះតែកើនឡើង សូមផ្តល់ឧទាហរណ៍ខ្លះៗអំពីអ្វីដែលអ្នកប្រើវាយឺតៗ វាគ្មានន័យសម្រាប់ខ្ញុំក្នុងការបង្កើនប្រសិទ្ធភាពនៃទូរស័ព្ទនោះទេ ប្រសិនបើខ្ញុំដកពាក្យទីផ្សារចេញពីវា .
សម្រាប់ដំណើរការវីដេអូ អូឌីយ៉ូ និងរូបភាព។ ហើយបន្តទៅហ្គេម។
អ្នកណាដែលប្រើ iPhone សម្រាប់តែការហៅទូរសព្ទ ផ្ញើសារ និងអាន ឬផ្ញើអ៊ីមែលម្ដងម្កាល ហើយប្រើអ៊ីនធឺណិតម្ដងម្កាលនឹងត្រូវការ iPhone 4។ ខ្ញុំជឿថាមានអ្នកប្រើបែបនេះច្រើនណាស់។ មិនមែនគ្រប់គ្នាត្រូវការទូរស័ព្ទល្អបំផុតក្នុងពិភពលោកទេ :-)
ចៀម
តើការដោះដូររូបវន្តរវាង Hardware និង Software មិនមានន័យសម្រាប់អ្នកទេ? នេះរំលឹកខ្ញុំបន្តិចអំពីចុងបញ្ចប់នៃសតវត្សទី 19 នៅពេលដែលអ្នករូបវិទ្យានៅសម័យនោះបាននិយាយថាអ្វីគ្រប់យ៉ាងនៅក្នុងរូបវិទ្យាត្រូវបានគេរកឃើញរួចហើយហើយមិនចាំបាច់បន្តទេ (មួយទសវត្សរ៍មុនទ្រឹស្តីនៃទំនាក់ទំនងនិងបីមុនទ្រឹស្តី Quantum) .
ការស្វែងរកអ្វីដែលល្អបំផុតមិនចេះចប់។ ពេលខ្លះផ្នែកទន់នាំមុខ ហើយជួនកាលផ្នែករឹង។ ប៉ុន្តែប្រសិនបើអ្នកជាប់គាំង វាមិនទុកម្នាក់ទៀតទៅទេ។ យើងនឹងមិនអាត្មានិយមចំពោះកូនចៅរបស់យើងទេ :) ដូច្នេះចំពោះមតិយោបល់របស់អ្នក - ទូរស័ព្ទដែលលឿនជាងមុននឹងបើកដំណើរការកម្មវិធីដែលមានថាមពលខ្លាំងជាងមុន ដែលនឹងអាចដំណើរការបានច្រើនជាងដ្រាយ។ ហើយម្តងដែលសូម្បីតែកុំព្យូទ័រសព្វថ្ងៃនេះមិនគ្រប់គ្រាន់សម្រាប់។ អនាគតគឺគួរឱ្យរំភើប។
យ៉ាងពិតប្រាកដ :)
អត្ថបទល្អ ប៉ុន្តែខ្ញុំមិនយល់ថាហេតុអ្វីបានជា Apple មិនដាក់ RAM ទំហំ 7GB នៅក្នុង A2។ បាទ កិច្ចការច្រើនរបស់ប្រព័ន្ធប្រតិបត្តិការ iOS មិនមែនជាតម្រូវការចាំបាច់ 2GB នោះទេ ប៉ុន្តែដោយសារប្រវែងនៃមេម៉ូរីទ្រនិចធំជាងពីរដង វានឹងកាន់តែសមរម្យ។
ប៉ុន្តែបើមិនដូច្នេះទេ ខ្ញុំយល់ស្របថាប្រព័ន្ធដំណើរការ 64 ប៊ីតគឺ "មិនចាំបាច់" សម្រាប់ទូរសព្ទចល័ត ដូចជាអេក្រង់រីទីណា ឬកណ្ដុរអុបទិកជំនួសឱ្យបាល់គឺមិនចាំបាច់ - ការច្នៃប្រឌិតទាំងអស់នេះត្រូវបានដាក់ស្លាកថា "មិនចាំបាច់" ប៉ុន្តែតាមគំនិតរបស់ខ្ញុំ ពាក្យត្រឹមត្រូវគឺ "មិនចេះចប់" ពីព្រោះម្តងត្រូវតែមក ហើយ Apple មិនខ្លាចក្នុងការមកជាមួយអ្វីដែលថ្មីនោះទេ។
ខ្ញុំទីពីរនោះ។ ជាអកុសល សូម្បីតែ "គ្មានប្រយោជន៍" ក៏មិនមែនជាកន្សោមត្រឹមត្រូវដែរ។ មិនចាំបាច់មានន័យថាអ្វីដែលបុគ្គលមិនដឹងជាអាទិភាព។ នោះពិតជាមិនពិតទេ។ ល្បឿនប្រហែលជាមិនត្រូវការល្បឿនបែបនេះទេ ប៉ុន្តែវាច្បាស់ជាទទួលស្គាល់វា។ ហើយនៅពេលដែលកម្មវិធីចាប់ឡើងជាមួយផ្នែករឹង វានឹងមានកន្លែងសម្រាប់ការកែលម្អម្តងទៀត។
ប្រាកដណាស់ ខ្ញុំពេញចិត្ត ខ្ញុំមានន័យថា iP5 គឺពិតជាស្មាតហ្វូនដែលមានល្បឿនលឿនណាស់ ដូច្នេះហើយ 5S មិនចាំបាច់ជា 64bit ទាល់តែសោះ។ ប៉ុន្តែថ្ងៃមួយមាននរណាម្នាក់ត្រូវដោះស្រាយជាមួយវាម្តងទៀត ហើយវាគឺជា Apple ហើយវាជាពេលនេះ។ ដរាបណាខ្ញុំអាចចងចាំបាន អ្នកជំនាញក៏បាននិយាយផងដែរអំពីរបៀបដែលដំណើរការ 64-bit នឹងគ្មានប្រយោជន៍សូម្បីតែនៅក្នុងកុំព្យូទ័រក៏ដោយ។
សម្រាប់ខ្ញុំក្នុងនាមជាបុគ្គលិកផ្នែកព័ត៌មានវិទ្យាម្នាក់ដែលស្ទើរតែបរាជ័យម៉ាទ្រីក ការសន្និដ្ឋានគឺសំខាន់។ អត្ថបទទាំងមូល (គាំទ្រដោយមតិយោបល់) ហាក់ដូចជាយល់ច្បាស់សម្រាប់ខ្ញុំ ហើយទោះបីជាខ្ញុំនឹងមិនអាចពន្យល់បានក៏ដោយ ក៏ A7 ដែលមានស្ថាបត្យកម្ម 64-bit គឺជាជំហានទៅមុខ។ អរគុណសម្រាប់ព័ត៌មាន។
ខ្ញុំនឹងកែសម្រួលចំណងជើងអត្ថបទ ព្រោះវាជាការផ្លាស់ប្តូរទីផ្សារ។ រាល់ការច្នៃប្រឌិតគឺសំខាន់ជាការផ្លាស់ប្តូរទីផ្សារ។ :-)
ខ្ញុំមិនគិត។ ជាឧទាហរណ៍ Samsung ប្រើចលនាទីផ្សារ។ ពួកគេបង្ហាញជាមួយ RAM ដែល iPhone មិនត្រូវការទាល់តែសោះ។ ការចាកចេញរបស់ពួកគេជាមួយនឹងមុខងារដែលមិនអាចប្រើបានទាល់តែសោះ។ ការបង្កើនប្រសិទ្ធភាពខួរក្បាលរបស់ពួកគេសម្រាប់ការធ្វើតេស្ត។ ល។ នោះគឺជាទីផ្សារ ទោះបីជាបាទ/ចាស វាជាការបំភាន់ ដែលពួកគេមិនគួរគ្រាន់តែទៅឆ្ងាយជាមួយ ;)