ማስታወቂያ ዝጋ

ማይክ አሽ በእሱ ብሎግ ላይ ተወስኗል በ iPhone 64S ውስጥ ወደ 5-ቢት አርክቴክቸር የመቀየር ተግባራዊ አንድምታ። ይህ ጽሑፍ በእሱ ግኝቶች ላይ ይሳባል.

የዚህ ጽሑፍ ምክንያት በዋናነት አዲሱ አይፎን 5s ባለ 64-ቢት ARM ፕሮሰሰር ለተጠቃሚዎች እና ለገበያ ምን ማለት እንደሆነ በመሰራጨቱ ትልቅ የተሳሳተ መረጃ ነው። እዚህ ስለ ገንቢዎች የዚህ ሽግግር አፈጻጸም፣ አቅም እና አንድምታ ተጨባጭ መረጃ ለማምጣት እንሞክራለን።

"64 ቢት"

የ “X-bit” መለያው የሚያመለክተው ፕሮሰሰር ሁለት ክፍሎች አሉት - የኢንቲጀር መዝገቦች ስፋት እና የጠቋሚዎች ስፋት። እንደ እድል ሆኖ, በአብዛኛዎቹ ዘመናዊ ማቀነባበሪያዎች እነዚህ ስፋቶች ተመሳሳይ ናቸው, ስለዚህ በ A7 ውስጥ ይህ ማለት 64-ቢት ኢንቲጀር መመዝገቢያ እና 64-ቢት ጠቋሚዎች ማለት ነው.

ሆኖም፣ “64bit” ምን ማለት እንዳልሆነ መጥቀስም አስፈላጊ ነው፡- ራም አካላዊ አድራሻ መጠን. ከ RAM ጋር ለመገናኘት የቢት ብዛት (በመሆኑም መሳሪያው የሚደግፈው የ RAM መጠን) ከሲፒዩ ቢት ቁጥር ጋር የተገናኘ አይደለም። የ ARM ፕሮሰሰሮች በ26- እና 40-ቢት አድራሻዎች መካከል ያሉ ሲሆን ከስርአቱ ተለይተው ሊቀየሩ ይችላሉ።

  • የውሂብ አውቶቡስ መጠን. ከ RAM ወይም ቋት ማህደረ ትውስታ የተቀበለው የውሂብ መጠን በተመሳሳይ መልኩ ከዚህ ሁኔታ ነጻ ነው. የግለሰብ ፕሮሰሰር መመሪያዎች የተለያዩ መጠን ያላቸውን መረጃዎች ሊጠይቁ ይችላሉ፣ ነገር ግን በጥቃቅን መልክ ይላካሉ ወይም ከማህደረ ትውስታ ከሚያስፈልገው በላይ ይቀበላሉ። እንደ የውሂብ ኳንተም መጠን ይወሰናል. አይፎን 5 አስቀድሞ በ64-ቢት ኩንታ (እና ባለ 32-ቢት ፕሮሰሰር አለው) ከማስታወሻው የሚገኘውን መረጃ ይቀበላል፣ እና እስከ 192 ቢት የሚደርሱ መጠኖች ሊያጋጥሙን ይችላሉ።
  • ከተንሳፋፊ ነጥብ ጋር የተያያዘ ማንኛውም ነገር. የእንደዚህ አይነት መመዝገቢያዎች (FPU) መጠን እንደገና ከሂደቱ ውስጣዊ አሠራር ነፃ ናቸው. ARM ከ ARM64 (64-ቢት ARM ፕሮሰሰር) በፊት ጀምሮ 64-ቢት FPU እየተጠቀመ ነው።

አጠቃላይ ጥቅሞች እና ጉዳቶች

ተመሳሳይ የሆኑ 32ቢት እና 64ቢት አርክቴክቸር ብናነፃፅር በአጠቃላይ ያን ያህል አይለያዩም። ይህ አፕል በሞባይል መሳሪያዎች ውስጥ ወደ 64 ቢት የሚንቀሳቀስበትን ምክንያት ለመፈለግ የህዝቡ አጠቃላይ ግራ መጋባት አንዱ ምክንያት ይህ ነው። ይሁን እንጂ ሁሉም የሚመጣው ከ A7 (ARM64) ፕሮሰሰር ልዩ መለኪያዎች እና አፕል እንዴት እንደሚጠቀም እንጂ ፕሮሰሰሩ ባለ 64 ቢት አርክቴክቸር ስላለው ብቻ አይደለም።

ሆኖም፣ አሁንም በእነዚህ ሁለት አርክቴክቸር መካከል ያለውን ልዩነት ከተመለከትን ብዙ ልዩነቶችን እናገኛለን። ግልጽ የሆነው ባለ 64-ቢት ኢንቲጀር መመዝገቢያ 64-ቢት ኢንቲጀርን በብቃት ማስተናገድ መቻሉ ነው። ከዚህ በፊትም ቢሆን ከእነሱ ጋር በ 32 ቢት ፕሮሰሰር መስራት ይቻል ነበር ነገርግን ይህ ማለት አብዛኛውን ጊዜ ወደ 32 ቢት ረጅም ቁርጥራጮች መከፋፈል ማለት ነው, ይህም ቀስ ብሎ ስሌቶችን አስከትሏል. ስለዚህ ባለ 64 ቢት ፕሮሰሰር ባጠቃላይ በ64-ቢት አይነቶች ልክ እንደ 32 ቢት አይነት በፍጥነት ማስላት ይችላል። ይህ ማለት በአጠቃላይ ባለ 64-ቢት አይነቶችን የሚጠቀሙ አፕሊኬሽኖች በ64-ቢት ፕሮሰሰር ላይ በጣም በፍጥነት መስራት ይችላሉ።

ምንም እንኳን 64 ቢት ፕሮሰሰሩ ሊጠቀምበት የሚችለውን አጠቃላይ የ RAM መጠን ባይነካውም በአንድ ፕሮግራም ውስጥ ከትላልቅ ራም ጋር ለመስራት ቀላል ያደርገዋል። በ 32 ቢት ፕሮሰሰር የሚሰራ ማንኛውም ነጠላ ፕሮግራም 4 ጂቢ የአድራሻ ቦታ ብቻ ነው ያለው። የስርዓተ ክወናው እና መደበኛ ቤተ-ፍርግሞች አንድ ነገር እንደሚወስዱ ከግምት ውስጥ በማስገባት ፕሮግራሙን ለትግበራ አጠቃቀም ከ1-3 ጂቢ መካከል ያለውን ቦታ ይተዋል ። ነገር ግን፣ ባለ 32 ቢት ሲስተም ከ4 ጂቢ ራም በላይ ካለው፣ ያንን ማህደረ ትውስታ መጠቀም ትንሽ የተወሳሰበ ነው። ስርዓተ ክወናው እነዚህን ትላልቅ የማህደረ ትውስታ ክፍሎችን ለፕሮግራማችን (memory virtualization) እንዲያወጣ ማስገደድ አለብን፣ ወይም ፕሮግራሙን ወደ ብዙ ሂደቶች መክፈል እንችላለን (እያንዳንዱ ሂደት እንደገና በንድፈ ሀሳብ ለቀጥታ አድራሻ 4GB ማህደረ ትውስታ ይገኛል)።

ሆኖም፣ እነዚህ "ጠለፋዎች" በጣም አስቸጋሪ እና ዘገምተኛ ከመሆናቸው የተነሳ በትንሹ አፕሊኬሽኖች ይጠቀማሉ። በተግባር፣ በ 32 ቢት ፕሮሰሰር፣ እያንዳንዱ ፕሮግራም የሚጠቀመው ከ1-3 ጂቢ ማህደረ ትውስታ ብቻ ነው፣ እና ተጨማሪ የሚገኙ ራም ብዙ ፕሮግራሞችን በተመሳሳይ ጊዜ ለማስኬድ ወይም ይህንን ማህደረ ትውስታ እንደ መያዣ (caching) መጠቀም ይቻላል። እነዚህ አጠቃቀሞች ተግባራዊ ናቸው፣ ነገር ግን ማንኛውም ፕሮግራም ከ4ጂቢ በላይ የሆኑ የማስታወሻ ክፍሎችን በቀላሉ መጠቀም እንዲችል እንፈልጋለን።

አሁን ከ4ጂቢ በላይ ማህደረ ትውስታ ከሌለ ባለ 64-ቢት አርክቴክቸር ከንቱ ነው ወደሚለው ተደጋጋሚ (በእውነቱ ትክክል ያልሆነ) ወደሚሉት ደርሰናል። ትልቅ የአድራሻ ቦታ አነስተኛ ማህደረ ትውስታ ባለው ስርዓት ላይ እንኳን ጠቃሚ ነው. የማህደረ ትውስታ-ካርታ ፋይሎች ሙሉው ፋይል ወደ ማህደረ ትውስታ መጫን ሳያስፈልግ የፋይሉ ይዘቶች በከፊል ከሂደቱ ማህደረ ትውስታ ጋር በምክንያታዊነት የተገናኙበት ምቹ መሳሪያ ነው። ስለዚህ, ስርዓቱ, ለምሳሌ, ቀስ በቀስ ትላልቅ ፋይሎችን ከ RAM አቅም ብዙ ጊዜ በላይ ማካሄድ ይችላል. በ 32 ቢት ሲስተም ውስጥ እንደዚህ ያሉ ትላልቅ ፋይሎች በአስተማማኝ ሁኔታ ማህደረ ትውስታ-ካርታ ሊደረጉ አይችሉም ፣ በ 64 ቢት ሲስተም ግን በጣም ትልቅ በሆነው የአድራሻ ቦታ ምክንያት ኬክ ነው።

ይሁን እንጂ የጠቋሚዎች ትልቅ መጠን አንድ ትልቅ ኪሳራ ያመጣል፡ አለበለዚያ ተመሳሳይ ፕሮግራሞች በ 64 ቢት ፕሮሰሰር ላይ ተጨማሪ ማህደረ ትውስታ ያስፈልጋቸዋል (እነዚህ ትላልቅ ጠቋሚዎች አንድ ቦታ መቀመጥ አለባቸው). ጠቋሚዎች በተደጋጋሚ የፕሮግራሞች አካል ስለሆኑ ይህ ልዩነት መሸጎጫውን ሊጭነው ይችላል, ይህ ደግሞ አጠቃላይ ስርዓቱ ቀስ ብሎ እንዲሄድ ያደርገዋል. ስለዚህ በአመለካከት ፣ የአቀነባባሪውን አርክቴክቸር ወደ 64-ቢት ብቻ ከቀየርን ፣ በእውነቱ አጠቃላይ ስርዓቱን እንደሚያዘገየው ማየት እንችላለን። ስለዚህ ይህ ሁኔታ በሌሎች ቦታዎች ላይ ባሉ ተጨማሪ ማመቻቸት ሚዛናዊ መሆን አለበት።

ARM64

አዲሱን የአይፎን 7s ኃይል ያለው ባለ 64-ቢት ፕሮሰሰር ኤ5፣ ሰፋ ያለ መመዝገቢያ ያለው መደበኛ ARM ፕሮሰሰር ብቻ አይደለም። ARM64 በአሮጌው ባለ 32-ቢት ስሪት ላይ ዋና ማሻሻያዎችን ይዟል።

አፕል A7 ፕሮሰሰር.

መዝገብ

ARM64 ከ 32-ቢት ARM በእጥፍ የበለጠ የኢንቲጀር መመዝገቢያ ይይዛል (የመመዝገቢያውን ቁጥር እና ስፋት እንዳያደናቅፉ ይጠንቀቁ - በ "64-ቢት" ክፍል ውስጥ ስለ ስፋቱ ተናግረናል ። ስለዚህ ARM64 በሁለቱም እጥፍ ሰፊ መዝገቦች እና ሁለት እጥፍ ይበልጣል መዝገቦች)። ባለ 32-ቢት ኤአርኤም 16 ኢንቲጀር መዝገቦች አሉት አንድ የፕሮግራም ቆጣሪ (ፒሲ - የአሁኑን መመሪያ ቁጥር ይይዛል) ፣ ቁልል ጠቋሚ (በሂደት ላይ ላለው ተግባር አመላካች) ፣ አገናኝ መዝገብ (ከመጨረሻው በኋላ ወደ መመለሻ አመላካች)። የተግባር), እና የተቀሩት 13 ለትግበራ አገልግሎት ናቸው. ነገር ግን፣ ARM64 አንድ ዜሮ መዝገብ፣ አገናኝ መዝገብ፣ የፍሬም ጠቋሚ (ከቁልል ጠቋሚ ጋር ተመሳሳይ) እና አንድን ጨምሮ 32 ኢንቲጀር መዝገቦች አሉት። ይህ ለትግበራ አገልግሎት 28 መመዝገቢያዎችን ይተውናል ይህም ባለ 32-ቢት ARM በእጥፍ ይበልጣል። በተመሳሳይ ጊዜ, ARM64 ከ 16 ወደ 32 128-ቢት መመዝገቢያዎች የተንሳፋፊ-ነጥብ ቁጥር (FPU) መመዝገቢያ ቁጥር በእጥፍ ጨምሯል.

ግን የመመዝገቢያዎች ቁጥር በጣም አስፈላጊ የሆነው ለምንድነው? ማህደረ ትውስታ በአጠቃላይ ከሲፒዩ ስሌት ያነሰ ነው እና ማንበብ/መፃፍ በጣም ረጅም ጊዜ ሊወስድ ይችላል። ይህ ፈጣን ፕሮሰሰር ማህደረ ትውስታን እንዲጠብቅ ያደርገዋል እና የስርዓቱን ተፈጥሯዊ የፍጥነት ገደብ እንመታለን። ፕሮሰሰሮች ይህንን አካል ጉዳተኛ በንብርብሮች (buffers) ለመደበቅ ይሞክራሉ፣ ነገር ግን በጣም ፈጣኑ (L1) እንኳን ከአቀነባባሪው ስሌት ቀርፋፋ ነው። ይሁን እንጂ መመዝገቢያዎች በማቀነባበሪያው ውስጥ በቀጥታ የማስታወሻ ህዋሶች ሲሆኑ ንባብ/መፃፍ ፕሮሰሰሩን እንዳይዘገይ ፈጣን ነው። የመመዝገቢያ ቁጥር በተግባር ማለት ለፕሮሰሰር ስሌቶች በጣም ፈጣን የማስታወሻ መጠን ማለት ነው, ይህም የአጠቃላይ ስርዓቱን ፍጥነት በእጅጉ ይጎዳል.

በተመሳሳይ ጊዜ, ይህ ፍጥነት ከአቀናባሪው ጥሩ የማመቻቸት ድጋፍ ያስፈልገዋል, ስለዚህም ቋንቋው እነዚህን መዝገቦች መጠቀም ይችላል እና ሁሉንም ነገር በአጠቃላይ አፕሊኬሽን (ቀስት) ማህደረ ትውስታ ውስጥ ማከማቸት የለበትም.

መመሪያ ስብስብ

ARM64 በመመሪያው ስብስብ ላይ ትልቅ ለውጦችንም ያመጣል። የመመሪያ ስብስብ ፕሮሰሰር ሊያከናውናቸው የሚችላቸው የአቶሚክ ኦፕሬሽኖች ስብስብ ነው (ለምሳሌ 'ADD register1 register2' ቁጥሮቹን በሁለት መዝገቦች ይጨምራል)። ለግለሰብ ቋንቋዎች ያሉት ተግባራት በእነዚህ መመሪያዎች የተዋቀሩ ናቸው። በጣም የተወሳሰቡ ተግባራት ተጨማሪ መመሪያዎችን መፈጸም አለባቸው, ስለዚህ ቀርፋፋ ሊሆኑ ይችላሉ.

አዲስ በ ARM64 ውስጥ ለ AES ምስጠራ፣ SHA-1 እና SHA-256 ሃሽ ተግባራት መመሪያዎች ናቸው። ስለዚህ ከተወሳሰበ ትግበራ ይልቅ ቋንቋው ብቻ ይህንን መመሪያ ይጠራል - ይህም እንደነዚህ ያሉትን ተግባራት ለማስላት ከፍተኛ ፍጥነትን ያመጣል እና በመተግበሪያዎች ውስጥ ደህንነትን ይጨምራል። ለምሳሌ. አዲሱ የንክኪ መታወቂያ እነዚህን መመሪያዎች በምስጠራ ውስጥ ይጠቀማል ፣ ይህም ለትክክለኛ ፍጥነት እና ደህንነት ያስችላል (በንድፈ ሀሳብ ፣ አንድ አጥቂ ውሂቡን ለመድረስ ፕሮሰሰሩን በራሱ ማስተካከል አለበት - በትንሹ መጠኑ ቢገለጽም የማይቻል ነው)።

ከ 32 ቢት ጋር ተኳሃኝነት

A7 ያለማሳየት ሳያስፈልግ በ 32-ቢት ሁነታ ሙሉ በሙሉ ሊሠራ እንደሚችል መጥቀስ አስፈላጊ ነው. አዲሱ አይፎን 5s በ32-ቢት ARM ላይ ያለ ምንም መቀዛቀዝ የተጠናቀሩ አፕሊኬሽኖችን ማሄድ ይችላል ማለት ነው። ሆኖም ግን አዲሱን የ ARM64 ተግባራትን መጠቀም አይችልም, ስለዚህ ለ A7 ብቻ ልዩ ግንባታ መስራት ሁልጊዜ ጠቃሚ ነው, ይህም በጣም በፍጥነት መሮጥ አለበት.

የአሂድ ጊዜ ለውጦች

Runtime በፕሮግራሚንግ ቋንቋ ላይ ተግባራትን የሚጨምር ኮድ ሲሆን ይህም አፕሊኬሽኑ በሚሰራበት ጊዜ እስከ ትርጉም ድረስ መጠቀም ይችላል። አፕል የመተግበሪያ ተኳሃኝነትን መጠበቅ ስለሌለው (64-ቢት ሁለትዮሽ በ32-ቢት ላይ ይሰራል)፣ በObjective-C ቋንቋ ላይ ጥቂት ተጨማሪ ማሻሻያዎችን ለማድረግ አቅም አላቸው።

ከመካከላቸው አንዱ የሚባሉት ናቸው መለያ የተሰጠው ጠቋሚ (ምልክት የተደረገበት አመልካች). በተለምዶ የነዚያ እቃዎች እቃዎች እና ጠቋሚዎች በተለየ የማስታወሻ ክፍሎች ውስጥ ይቀመጣሉ. ነገር ግን፣ አዲስ የጠቋሚ ዓይነቶች በጥቂቱ መረጃ ያላቸው ክፍሎች በጠቋሚው ውስጥ ነገሮችን እንዲያከማቹ ያስችላቸዋል። ይህ እርምጃ ማህደረ ትውስታን በቀጥታ ለዕቃው የመመደብ አስፈላጊነትን ያስወግዳል, ጠቋሚ እና በውስጡ ያለውን ነገር ይፍጠሩ. መለያ የተደረገባቸው ጠቋሚዎች በ64-ቢት አርክቴክቸር ብቻ የሚደገፉት በ32-ቢት ጠቋሚ ውስጥ በቂ ጠቃሚ መረጃዎችን ለማከማቸት በቂ ቦታ ባለመኖሩ ነው። ስለዚህ፣ iOS፣ ከ OS X በተቃራኒ፣ ይህን ባህሪ ገና አልደገፈውም። ነገር ግን፣ ARM64 ሲመጣ፣ ይህ እየተቀየረ ነው፣ እና iOS በዚህ ረገድም ከ OS X ጋር ተገናኝቷል።

ጠቋሚዎች 64 ቢት ቢረዝሙም፣ በ ARM64 ላይ ግን ለጠቋሚው አድራሻ 33 ቢት ብቻ ጥቅም ላይ ይውላሉ። እና የተቀሩትን የጠቋሚ ቢትሶችን በአስተማማኝ ሁኔታ መግለጥ ከቻልን ተጨማሪ መረጃን ለማከማቸት ይህንን ቦታ ልንጠቀምበት እንችላለን - በተጠቀሱት መለያዎች ጠቋሚዎች ላይ። በፅንሰ-ሀሳብ ፣ ይህ በ Objective-C ታሪክ ውስጥ ካሉት ትላልቅ ለውጦች አንዱ ነው ፣ ምንም እንኳን ለገበያ የሚቀርብ ባህሪ ባይሆንም - ስለሆነም አብዛኛዎቹ ተጠቃሚዎች አፕል እንዴት ዓላማ-ሲ ወደፊት እንደሚራመድ አያውቁም።

እንደዚህ ያለ መለያ በተሰየመ ጠቋሚ በቀሪው ቦታ ላይ ሊከማች የሚችለውን ጠቃሚ መረጃ በተመለከተ፣ Objective-C፣ ለምሳሌ አሁን የሚባሉትን ለማከማቸት እየተጠቀመበት ነው። የማጣቀሻ ብዛት (የማጣቀሻዎች ብዛት). ቀደም ሲል, የማመሳከሪያው ቆጠራ በተለየ ቦታ በማስታወሻ ውስጥ ተከማችቷል, ለእሱ በተዘጋጀው የሃሽ ሠንጠረዥ ውስጥ, ነገር ግን ይህ ብዙ ቁጥር ያላቸውን አሎክ / ዴሎክ / ማቆየት / መልቀቂያ ጥሪዎች ውስጥ አጠቃላይ ስርዓቱን ሊያዘገይ ይችላል. ጠረጴዛው በክር ደህንነት ምክንያት መቆለፍ ነበረበት, ስለዚህ በሁለት ክሮች ውስጥ የሁለት ነገሮች የማጣቀሻ ቆጠራ በአንድ ጊዜ ሊለወጥ አይችልም. ነገር ግን፣ ይህ እሴት በተቀረው ቀሪው ውስጥ አዲስ ገብቷል። አንድ አመልካቾች. ይህ ሌላ የማይታይ ነገር ግን ትልቅ ጥቅም እና ወደፊት ማፋጠን ነው። ሆኖም፣ ይህ በ32-ቢት አርክቴክቸር ውስጥ ፈጽሞ ሊሳካ አይችልም።

ስለ ተያያዥ ነገሮች መረጃ፣ ነገሩ በደካማነት የተጠቀሰ ስለመሆኑ፣ ለዕቃው አጥፊ ማመንጨት አስፈላጊ ስለመሆኑ፣ ወዘተ. በተጨማሪም በተቀረው የዕቃው ጠቋሚ ቦታ ላይ አዲስ ገብቷል።ለዚህ መረጃ ምስጋና ይግባውና ዓላማ-ሐ Runtime በመሠረታዊነት የሩጫ ጊዜውን ማፋጠን ይችላል, ይህም በእያንዳንዱ መተግበሪያ ፍጥነት ውስጥ ይንጸባረቃል. ከሙከራ፣ ይህ ማለት ከሁሉም የማህደረ ትውስታ አስተዳደር ጥሪዎች ከ40-50% ያፋጥናል። ወደ 64-ቢት ጠቋሚዎች በመቀየር እና ይህን አዲስ ቦታ በመጠቀም ብቻ።

ዛቭየር

ምንም እንኳን ተፎካካሪዎች ወደ 64-ቢት አርክቴክቸር መሄድ አላስፈላጊ ነው የሚለውን ሀሳብ ለማሰራጨት ቢሞክሩም ፣ ይህ በጣም ያልተረዳ አስተያየት መሆኑን ቀድሞውኑ ያውቃሉ። ቋንቋዎን ወይም አፕሊኬሽኖችን ሳያስተካክሉ ወደ 64-ቢት መቀየር ምንም ማለት አይደለም - ስርዓቱን እንኳን ያቀዘቅዛል። ነገር ግን አዲሱ A7 ዘመናዊውን ARM64 ከአዲስ የማስተማሪያ ስብስብ ጋር ይጠቀማል, እና አፕል ሙሉውን የ Objective-C ቋንቋን ለማዘመን እና አዲሱን ችሎታዎች ለመጠቀም ችግር ወስዷል - ስለዚህም ተስፋ የተደረገበት ፍጥነት.

እዚህ የ 64-ቢት አርክቴክቸር ትክክለኛ እርምጃ እንደሆነ ብዙ ምክንያቶችን ጠቅሰናል። ሌላ አብዮት ነው "በመከለያው ስር" ፣ ለዚህም ምስጋና ይግባውና አፕል በንድፍ ፣ በተጠቃሚ በይነገጽ እና በበለፀገ ሥነ-ምህዳር ላይ ብቻ ሳይሆን በዋናነት በገበያ ላይ ካሉ በጣም ዘመናዊ ቴክኖሎጂዎች ጋር ግንባር ቀደም ለመሆን ይሞክራል።

ምንጭ mikeash.com
.