[التكنولوجيا والمستقبل] شركة نفط الجنوب ، ذاكرة الوصول العشوائي والذاكرة: دماغ الهاتف الذكي لدينا

Qualcomm Snapdragon 801
ECOVACS

لقد وصلنا أخيرًا إلى نهاية "التمزق العقلي" الذي قمنا فيه ، مكونًا تلو الآخر ، بتفكيك هواتفنا الذكية لفهم كيفية عملها والتطورات المحتملة. بعد تحليل ملف العناصر الهيكلية والأنظمة التي تجعلها ممكنة التفاعل من الأجهزة مع البيئة المحيطة و مع شبكةفي الحقيقة ، هذا الأسبوع سوف ننهي رحلتنا تتحدث عن تلك المكونات التي تشكل دماغ كل جهاز.

نشير بالطبع إلى رامات e ROM، والتي تتصرف على التوالي على المدى القصير والذاكرة على المدى الطويل ، و al شركة نفط الجنوب، والتي تهتم بتفسير ومعالجة جميع المعلومات الواردة من العديد من أجهزة الاستشعار في الجهاز. اليوم سوف نكتشف المبادئ النظرية التي هي أساس تشغيل النظام بأكمله ، سنقدر إمكاناتهندسة ARM والعليا التكامل تم الوصول إليها في SoCs وأخيراً سنقوم بتحليل أنواع الذاكرة تجعل الاحتفاظ بالبيانات ممكنًا.

ميديا ​​تيك هيليو P10

بدلا من ذلك ، سيتم تخصيص المقال التالي للاتجاهات التكنولوجية الأكثر أهمية فيما يتعلق تطور من هذه المكونات ، مثل سباق الأداء (والطرق التي يمكن اتباعها لتحقيق هذا الهدف) ، واستخدام أنظمة توفير الطاقة والبحث عن ذكريات أسرع وأرخص وكثيفة. سيكون هناك أيضا إشارات إلى السباق نحو التصغير وإلى قانون مورولا لأحدث التطورات التكنولوجية ووعودها.

النظرية: آلة فون نيومان والهندسة المعمارية 

في الاستخدام العادي ، تعودنا على إعطاء أوامر لمحطاتنا دون أن نسأل أنفسنا عما يحدث بالفعل "تحت الجسم". حتى من خلال مراقبة الجهاز من الخارج ، من الممكن فهم بعض الافتراضات المنطقية التي يقوم عليها النظام بأكمله. يمكننا أن نلاحظ ، على سبيل المثال ، أنالناتج (والذي يمكن أن يكون ما نراه على الشاشة) يعتمد على كليهما إدخال (البيانات الواردة من المستشعرات والشبكة) التي تقدمها دولة حيث يوجد الجهاز ، أو ذاك مع نفس المدخلات والحالة الأولية سوف يتطور النظام دائما بنفس الطريقة.

ومع ذلك ، لكي نفهم بشكل أفضل كيفية عمل أجهزتنا ، سيكون علينا أن ننظر أكثر فأكثر في هيكلها. على المستوى الأول ، لذلك ، سنلاحظ أن المكونات الرئيسية هي 'وحدة العمل (المعالج) ، واحد الذاكرة الرئيسية (ذاكرة الوصول العشوائي) ووحدات مختلفة من المدخلات والمخرجات. علاوة على ذلك ، سيتم إدارة تبادل البيانات بين مختلف أجزاء النظام من خلال أ حافلة الاتصال والتي ، من أجل تحسين الاستهلاك والتكاليف ، يتم استضافتها مباشرة في SoC.

فون نيومان
https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Computer_system_bus.svg/2000px-Computer_system_bus.svg.png

لقد حددنا للتو بنية واحدة آلة فون نيومان هذا ، في الواقع ، في التقريب الأول يصف بشكل جيد كيفية عمل النظام. ستحتوي الذاكرة الرئيسية ، على وجه الخصوص ، في هذا المخطط على كل من البيانات المراد معالجتها وقوائم تعليمات والتي تشكل أنا برامج قابلة للتنفيذ.

من ناحية أخرى ، في جهاز Von Neumann الكلاسيكي ، يكون المعالج بسيطًا للغاية ويتكون أساسًا من ملف عداد البرنامج (PC)، A سجل للحصول على التعليمات، A 'وحدة حسابية ومنطقية (ALU) ودوائر السيطرة (CU). ستبدأ دورة القراءة من العداد عنوان تعليمات ليتم تنفيذها، مما يؤدي بدوره إلى قراءة من الذاكرة وتحميلها في السجل (الخطوة جلب).

مخطط وحدة المعالجة المركزية
http://images.slideplayer.it/1/537766/slides/slide_12.jpg

منطق التحكم ، في هذه المرحلة ، تفسير التعليم ، وسوف نفعل ذلك تشغيل من ALU (تنفيذ) إد سيعزز جهاز الكمبيوتر للذهاب إلى التعليمات التالية. سيكونون أيضا ممكن يقفز مشروطوالتي ، عند حدوث ظروف دقيقة ، ستعمل على عداد البرنامج ، وستنتهي الدورة فقط عندما يتم تحميل الحمل المناسب تعليمات ALT.

ومع ذلك ، فإن SoC من أجهزتنا معقدة للغاية وتحتوي على معالجات مختلفة، تتميز جميعها بخصائص معمارية متقنة للغاية الأمثل للمهام التي يتعين عليهم القيام بها. ومع ذلك ، فقد تم تطوير بعض هذه الأنظمة الفرعية من جهاز Von Neumann ، في حين أن البعض الآخر يعتمد على جهاز جامعة هارفارد عندما الذاكرة للتعليمات وأن البيانات منفصلة.

هارفارد
https://upload.wikimedia.org/wikipedia/commons/thumb/3/3f/Harvard_architecture.svg/2000px-Harvard_architecture.svg.png

هذا النهج الأخير ، على وجه الخصوص ، يحظى بتقدير كبير لأنه يسمح بتقليل الوقت اللازم لبعض العمليات بشكل كبير. هذه الأنظمة ، في الواقع ، تتحرك بين الدول المنفصلة التي تميز تطورها ساعة حائط، إشارة دورية يتم إنشاؤها بواسطة مذبذب يستخدم من أجل تزامن تشغيل الوحدات المختلفة. وبالتالي ، فإن توافر ذاكرة منفصلة يسمح بالتحميل في وقت واحد (في نفس الساعة) كل من البيانات والتعليمات.

وقد أدت هذه الميزة إلى تطوير معماريات هجينة ، والتي يمكن رؤيتها خارجيًا ، من نوع Von Neumann ، ولكن داخليًا ذكريات مخصصة سريعة جدا (ذاكرة التخزين المؤقت L1). هذه ، بفضل خوارزميات الجلب المسبق القوية، على التوالي البيانات والتعليمات التي من المرجح أن تكون مطلوبة في الدورات اللاحقة ، مما يجعل قلب نظام هارفارد الشبيه. حالة SoCs الخاصة بنا أكثر تعقيدًا لأنها تحتوي على واحد وحدة المعالجة المركزية‏: (وحدة المعالجة المركزية) متعددة النوى، حيث يتم استخدام ذكريات إضافية مشتركة بين النوى (L2 و L3) للسماح بالتبادل السريع للمعلومات بينهما.

ARM اللحاء A72

حتى النواة الواحدة ، إذن ، تكون عادة كثيرة أكثر تعقيدا مما وصفناه للتو. لزيادة أداء، على سبيل المثال ، غالبًا ما يتم استخدام البنية خط أنابيبحيث يتم تنفيذ التعليمات "a خط التجميع"مع دارة مخصصة لكل مرحلة. بهذه الطريقة ، لذلك ، من الممكن معالجتها مزيد من التعليمات في نفس الوقت، حيث يمكن أن تعمل المراحل المختلفة في نفس الوقت (بدء التعليمات قبل انتهاء المرحلة السابقة).

هذا النظام ، في الواقع ، لا يمكن أن ينجح إلا عندما يكون للتعليمات درجة جيدة من تواز (ILP) أي عندما يكونون poco ذات صلة ولا تحتاج إلى نتيجة الكود الذي لا يزال قيد المعالجة. يمكن استغلال هذا النوع من التوازي ، بعد ذلك ، باستخدام البنى سوبرسكيلر، فيه واحد المرسل ترتيب التعليمات خطوط أنابيب مختلفة داخل نفس النواة.

خط أنابيب فائق
على اليسار مثال على خط أنابيب ، على يمين معالج superscalar

ومع ذلك ، فإن هذه التقنيات القوية كثيرة محفوف بالمخاطر وإذا لم يتم تنفيذها بشكل جيد ، فقد تؤدي في بعض الحالات إلى واحدة انخفاض حاد في الأداء. عندما يكون هناك ملف قفزة مشروطةعلى سبيل المثال ، من الممكن أن التعليمات المحملة في خط الأنابيب ليسوا هم "الحق"، أي تلك التي سيطلبها البرنامج بالفعل. في أسوأ الحالات ، سيتعين عليك بعد ذلك الانتظار حتى يفرغ خط الأنابيب ، وبالتالي إهدار دورات الساعة الثمينة.

لتجنب هذه النفايات ، يتم استخدام الدوائر الخاصة ، والتي لها دور تحليل التعليمات لتعظيم استخدام وحدات الحوسبة. حالة القفزات المشروطة ، لذلك ، سوف تتطلب وحدة جيدة لل التنبؤ فرع، في حين أن 'تنفيذ المضاربة (حيث تقوم بتشغيل الكود الذي قد لا يكون ضروريًا) وذلك خارج الخدمة (والذي يسمح لك بتوقع الإرشادات التي تتوفر بياناتها بالفعل لتجنب الانتظار غير الضروري) يسمح لك بالأداء ككل أكثر من تعليمات لكل دورة على مدار الساعة (IPC).

خارج الخدمة
http://www.renesas.eu/media/products/mpumcu/rx/getting_started/feature/rxfamily_feature01.gif

متى يجب تنفيذها نفس التعليمات على المزيد من البياناتعندئذ ، من الممكن تخطي بعض مراحل خط الأنابيب (إن لم يكن ذلك ضروريًا ، مثل مراحل الجلب) أو وجود وحدات تعليمات واحدة متعددة البيانات (SIMD) التي تؤدي حسابات المتجهات. أخيرا ، يجب علينا ألا ننسى وجود وحدات مخصصة أخرى مثل FPU والتي ، على عكس ALU ، يمكن أن تؤدي أيضا حسابات الفاصلة العائمة (أسي ومثلثي).

النظام على رقاقة

الآن بعد أن رأينا التقنيات الأكثر استخدامًا لإنشاء المعالجات ، نحتاج إلى توضيح أن تخصص الاستخدام له دور مهم للغاية في تحديد البنية النهائية للعنصر المفرد. لأداء الحسابات العامة، على سبيل المثال ، سيكون من المناسب أن يكون لديك معالج بترددات تشغيل عالية ومجهز بـ عدد قليل من النوى كبيرة ومرنةبينما ل الحسابات المتكررة بسهولة موازية (مثل تلك الوسائط المتعددة) سوف تميل إلى استغلال عدد كبير جدا من النوى الصغيرة والفعالة (لكن أقل تنوعًا).

لقد حددنا للتو ، في الواقع ، الفرق الكبير الموجود بين واحد وحدة المعالجة المركزية‏: و وحدة معالجة الرسوميات‏:‏ (وحدة معالجة الرسومات): يمكن النظر إلى الأولى على أنها طائرة تفوق سرعة الصوت وتنقل بسرعة عددًا قليلاً من الأشخاص في وقت واحد ، والثانية على أنها طائرة تحمل عددًا كبيرًا من الركاب ببطء أكبر. SoCs (نظام على شريحة) من هواتفنا الذكية ، والتي تحتاج إلى أقصى قدر من المرونة واستهلاك منخفض، ودمج داخلها العديد من المعالجات المخصصة إلى سيناريوهات الاستخدام المختلفة ، بحيث يمكنك دائمًا إجراء الحساب al أقصى قدر من الكفاءة.

أنف العجل 810

تستخدم أجهزة SoCs الأكثر شيوعًا للهواتف الذكية ، على وجه الخصوص ، وحدة معالجة مركزية مبنية على بنية معمارية ARMv7A 32 بت ، بينما تلك التي تستند إلى ARMv8A إلى 64 بت. تجد هذه الأبنية تعبيرًا في كلا النوى اللحاء صممه ARM مباشرة، والتي في المنتجات الملكية المختلفة التي حصلت عليها مرخص، مثل Krait من Kualcomm أو تلك التي تم تطويرها داخليًا بواسطة Apple.

ومع ذلك ، من المهم أن تتوافق جميع هذه النوى المختلفة مع نفس المجموعة من التعليمات ويمكن ، بالتالي ، استخدام نفس الرمز بغض النظر عن الشركة المصنعة. يجب أن نقول أيضًا من أجل الاكتمال أن بنية ARM من النوع RISC (يقلل من مجموعة أجهزة الكمبيوتر) ويستخدم ، وفقًا لذلك ، تعليمات بسيطة di طول ثابت نادرا ما توفر الوصول إلى الذاكرة. يتيح لك هذا الأسلوب إنشاء وحدات معالجة مركزية صغيرة وبسيطة من كفاءة كبيرة وبالتالي مثالية للبيئة المتنقلة.

ريسك مقابل سيسك
http://cnx.org/resources/eb1e28a6558e74ff38c6b198d2b0b629e8724264/graphics4.png

النهج البديل CISC (مجموعة تعليمات معقدة الكمبيوتر)، والتي يتم اتباعها على سبيل المثال عن طريق الهندسة المعمارية x86 من إنتل ومشتقاتها ، يوفر بدلا من ذلك وجود عدد كبير من تعليمات طويلة ومعقدة. للأسف ، أثبتت هذه التكنولوجيا مع مرور الوقت أن يكون من الصعب على نحو متزايد لتنفيذ و تكلفة من حيث مساحة السليكون ، لدرجة أن معالجات CISC الحديثة عادةً ما تفعل ذلك ترجمة التعليمات المعقدة في العديد عمليات صغيرة التي يتم تنفيذها من قبل المعالج الذي ، في الجزء السفلي من فك التشفير ، يشبه إلى حد بعيد RISC.

لذلك ، تحتوي عادةً الشركات السائدة على معظم الهواتف الذكية الشائعة على بعض نوى ARM أو Intel ، والتي تعتمد على مختلف أشكال التجسيد ، يمكن الاعتماد على وحدات SIMD (نيون من أجل ARM ه SSE لـ Intel) ، على كميات مختلفة من ذاكرة التخزين المؤقت وعلى تصميم بالترتيب (أقل منها أداء) أو خارج الترتيب. بجانب هذه هي الحاضر تحكم الذاكرة، وحدة معالجة الرسوميات‏:‏ (في كثير من الأحيان على أساس ARM architectures ماليكوالكوم الكظر أو الخيال تكنولوجيز PowerVR) و ال معالج العرض، والتي تتعامل على التوالي مع التواصل مع ذاكرة الوصول العشوائي وحساب الصور ثلاثية الأبعاد وإدارة الشاشة.

أرم مالي-تسنومك

هناك أيضا العديد من أنا DSP (معالج الإشارة الرقمية) ، يستخدم لأداء فعال للغاية خوارزميات الاستخدام الشائع مثل تلك الخاصة بإدارة المستشعرات ، ولإزالة الاضطرابات ولضغط وفك ضغط ملفات الوسائط المتعددة. أقل مرونة هوISP (معالج إشارة الصورة) ، الذي يولد فقط لإدارة الكاميرات ويعتني بصنع كل تلك الخطوات البرمجية التي رأيناها في مقالاتنا مكرسة لهذا الموضوع.

وأخيرا ، هناك أيضا مودم (الذي يدير الاتصال بالشبكات الخلوية ، وأي فأي وجميع تقنيات الاتصال الأخرى لدينا بالفعل التقى الاسبوع الماضي) ولا الدوائر المخصصة ل حساب الموقف الوسائل الكشف عن الأقمار الصناعية. كل هذه العناصر مرتبطة معًا ، في الختام ، بواسطة أ حافلة الاتصال، وعادة ما تكون على أساس المعيار AMBA (متقدمة متحكم حافلة العمارة).

ذاكرة الوصول العشوائي و ROM

يجب بالضرورة تخزين نتيجة الحسابات التي أجرتها المعالجات العديدة الموجودة في SoC في ذاكرات أكثر اتساعًا من ذاكرات التخزين المؤقت الصغيرة المدمجة في الأخير ، واتباعًا لبنية Von Neumann ، ابحث عن ترحيب أول في الذاكرة الأساسية. هذا يجب أن يكون سريع بشكل خاص عدم إبطاء تشغيل النظام بأكمله والاختيار ، نتيجة لذلك ، يقع عادة على ذكريات الوصول العشوائي (RAM).

هذه تتميز بحقيقة ذلك وقت الوصول إلى البيانات لا يعتمد على العنوان، على عكس ما يحدث في ذكريات الوصول المباشر والذكريات المتسلسلة. ذاكرة الوصول العشوائي المستخدمة في الأنظمة الحديثة ، على وجه الخصوص ، هي الحالة الصلبة (مطبوعة على السيليكون) التي يمكن رؤيتها ، من الناحية النظرية ، كمصفوفة مكثفات صغيرة جدا يحكمها الترانزستورات.

رامات
http://i.stack.imgur.com/GXmxz.jpg

La مكتب موجودة في هذه العناصر ، على وجه الخصوص ، أثناء مرحلة القراءة ، سيتم ربطها بواسطة النظام بـ قيمة ثنائية (1 أو 0). المكثفات ، ومع ذلك ، سيكون واحد قدرة مضحكة حقا ، وأنها سوف تميل وفقا لذلك التفريغ بسرعة كافية بمرور الوقت: لهذا السبب ، يتم استدعاء ذاكرة الوصول العشوائي العادية متقلب ويجب تحديثها (قراءة وإعادة كتابتها) بشكل مستمر.

بالطبع ستكون هذه مشكلة كبيرة إذا كانت الذكريات الوحيدة المتوفرة من هذا النوع ، ولكن لحسن الحظ موجودة أيضًا ذاكرة غير متطايرة الحالة الصلبة. هذه هي تلك التي اعتدنا عليها للإشارة بشكل غير ملائم للمصطلح ROM (اقرأ الذاكرة فقط) وهو في الواقع من كلها غير مناسبة لوصف الذكريات القابلة لإعادة الكتابة. لذلك ، لدينا الهواتف الذكية عادة ما يكون لديك كمية لا بأس بها المتاحة ذاكرة فلاش على أساس استخدام ترانزستور بوابة عائم MOSFET (FGMOS).

fgmosfet
https://en.wikipedia.org/wiki/Flash_memory#/media/File:Flash_cell_structure.svg

 

بدون الخوض في الكثير من التفاصيل التقنية ، يمكننا القول أن هذا النوع من الترانزستور لديه بوابتين، واحد منها معزول (تعويم). هذا الأخير ، على وجه الخصوص ، سوف تتصرف مثل لوحة للمكثف وكونها معزولة تماما، سوف تستنزف ببطء شديد بمرور الوقت. من ناحية أخرى ، سيكون من السهل اكتشاف وجود شحنة في العوامة يغير الجهد العتبة من الترانزستور.

أكثر ذكريات الفلاش شيوعا اليوم هي من النوع ناندو، حيث يتم توصيل العديد من FGMOS المسلسل مما يسمح لك بتوفير مساحة مقارنة بالتهيئات الأخرى. أخيرًا ، هناك حالات متكررة أكثر وأكثر هي ذكريات فلاش ، عن طريق ربط المزيد من مستوى لكل خلية, يخزنون المزيد من البيانات لنفس الترانزستور تضحية طفيفة بالسرعة والمدة بمرور الوقت (فلاش حركة تحرير الكونغو).

ناندو
https://it.wikipedia.org/wiki/Memoria_flash#/media/File:Nand_flash_structure.svg

من ناحية أخرى ، تستخدم ذاكرات التخزين المؤقت السريعة المستخدمة داخل SoC ملف عدد أكبر من الترانزستورات (عادةً 6 لكل بت) مقارنةً بذاكرة الوصول العشوائي وذكريات الفلاش ، وبالتالي تضحي بالكثافة لصالح سرعة الوصول إلى البيانات.

في هذه المرحلة سيكون من الطبيعي الحديث عن عملية الطباعة الحجرية مما يسمح بطباعة كل هذه الرقائق التي ، في الواقع ، لا تختلف كثيرًا عما واجهناه بالفعل في الحديث عن الإنتاج بالجملة من أجهزة الاستشعار MEMS. لهذا السبب نحن نشير لك أن المادة للحصول على التفاصيل الأولى حول هذه التقنية ، والتي ستظل مفصلة في المرة القادمة مع تفاصيل عن الأحدث نظم الانتاج وعلى سباق التصغير و أداء!