- بنيات المعالج
- بنية مجموعة تعليمات RISC و CISC
- حوسبة مجموعة التعليمات المعقدة (CISC)
- حوسبة مجموعة التعليمات المخفضة (RISC)
النظام المضمن هو قلب وجوهر معظم المنتجات الإلكترونية المتوفرة في السوق. إنه تنفيذ الهندسة حيث تلتقي الأجهزة بالبرنامج. نحن محاطون بعالم من الأنظمة المدمجة ، مع أجهزة كمبيوتر صغيرة في أقفال الأبواب البيومترية ، والطائرات ، والسيارات ، وأجهزة تنظيم ضربات القلب ، وما إلى ذلك. تساعدنا هذه الموارد المحدودة ، والأنظمة الصغيرة والذكية والقوية في مهامنا اليومية.
لقد فكرت يومًا في كيفية عمل أجسامنا والجهاز العصبي والدماغ والقدرة على القيام بمهام متعددة. إذا جمعت كل هذه الوظائف ، فستحصل على صورة تقريبية لنظام بيولوجي مضمن. يخفي دماغنا التفاصيل المعقدة لعمله الذي يحدث داخله ولكنه يسمح لنا بالتحكم فيه إلى أقصى حد ممكن. ينطبق نفس التعقيد على المعالج أو وحدة التحكم المستخدمة في الأنظمة المضمنة. إنهم يخفون التفاصيل المعقدة ويوفرون لنا واجهة عالية المستوى للعمل عليها. بالنسبة لمستوى التجريد ، يمكن للمرء أن يربط بين كيفية تسبب الكود الخاص بإضافة رقمين في لغة برمجة عالية المستوى في أن السجلات في بتات التعامل مع الرقائق وتعطي مخرجات للمستخدم.
بنيات المعالج
تقوم وحدة المعالجة المركزية ، التي تشير إلى كل من المعالج الدقيق والميكروكونترولر ، بأداء مهام محددة بمساعدة وحدة التحكم (CU) والوحدة المنطقية الحسابية (ALU). عندما يتم تسليم التعليمات من ذاكرة الوصول العشوائي (RAM) ، تعمل وحدة المعالجة المركزية بمساعدة وحدتي المساعدة من خلال إنشاء المتغيرات وتعيين القيم والذاكرة لها. من المهم حقًا معرفة كيفية قيام وحدة المعالجة المركزية بتنفيذ كل هذه الإجراءات بمساعدة بنيتها. إذا كنت تريد معرفة المزيد حول كيفية عمل وحدة التحكم الدقيقة ، فيمكنك قراءة هذا المقال الأساسي عن وحدة التحكم الدقيقة.
كل وحدة CPU لها ذاكرة مرتبطة بها لتخزين البرنامج والبيانات. يعمل البرنامج والبيانات مع وحدة المعالجة المركزية للحصول على الإخراج. يوفر البرنامج التعليمات بينما توفر البيانات المعلومات التي يجب العمل عليها. للوصول إلى البرنامج واستخدامات وحدة المعالجة المركزية للبيانات ، فإن هذه الحافلات عبارة عن أسلاك ، وبصورة أدق هذه هي آثار الأسلاك كما قد تكون قد شاهدتها على لوحات الدوائر المطبوعة. على مدار هذه السنوات ، تطورت وحدات التحكم الدقيقة والمعالجات الدقيقة من خلال تكييف العديد من البنى ، بناءً على متطلبات التطبيق أو التصميم ، يتأثر اختيار المتحكم الدقيق بنوع العمارة المستخدمة فيه. دعونا نلقي نظرة على البنى الشعبية.
عمارة فون نيومان / برينستون
الطريقة التي تصل بها وحدة المعالجة المركزية إلى البرنامج والبيانات ، تخبرنا عن بنية وحدة المعالجة المركزية. في وقت سابق تم استخدام ناقل واحد للوصول إلى البرنامج والبيانات. يُعرف هذا النوع من الهندسة المعمارية باسم Von Neumann Architecture أو ببساطة برينستون للعمارة. يعني وجود ناقل واحد للحصول على الكود والبيانات ، أنهم يأتون في طريق بعضهم البعض ويبطئون سرعة معالجة وحدة المعالجة المركزية لأن كل منهم كان عليه انتظار الآخر لإنهاء الجلب. يُعرف هذا القيد أيضًا باسم حالة عنق الزجاجة لـ Von-Neumann.
عمارة هارفارد
لتسريع العملية تم اقتراح هارفارد للهندسة المعمارية. في هذه البنية ، يوجد ناقل بيانات منفصل للبيانات والبرنامج. هذا يعني أن هذه العمارة اقترحت استخدام أربع حافلات
- مجموعة من ناقل البيانات تحمل البيانات داخل وخارج وحدة المعالجة المركزية.
- مجموعة من ناقل العنوان للوصول إلى البيانات.
- مجموعة من ناقل البيانات لحمل التعليمات البرمجية إلى وحدة المعالجة المركزية.
- ناقل عنوان للوصول إلى الرمز.
أدى استخدام ناقل العنوان المنفصل وناقل البيانات إلى انخفاض وقت تنفيذ وحدة المعالجة المركزية ولكن هذا يأتي على حساب التعقيد في تصميم البنية. قد تبدو هندسة Von Neumann كسولة بعض الشيء ولكنها تتميز بتصميمها البسيط.
من السهل جدًا تنفيذ هندسة هارفارد عندما تشترك وحدة المعالجة المركزية ووحدات الذاكرة في نفس المساحة أو أن ذاكرة الوصول العشوائي وذاكرة القراءة فقط مدمجة (على الرقاقة) مع وحدة المعالجة ، كما هو الحال في وحدة التحكم الدقيقة حيث تكون المسافات بالميكرونات والمليمترات. ومع ذلك ، يصعب تنفيذ نفس البنية حيث تكون الذاكرة التي تحتوي على الشفرة خارجية لوحدة المعالجة مثل تلك الموجودة في أجهزة كمبيوتر x86 IBM. مجموعة من آثار الأسلاك المنفصلة لكل من البيانات والعنوان على اللوحة الأم ستجعل اللوحة معقدة ومكلفة. دعونا نفهمها بمثال على المعالج.
سيحتاج المعالج الذي يحتوي على ناقل بيانات 64 بت وناقل عنوان 32 بت إلى ما يقرب من 100 ناقل (96 لنقل البيانات والعنوان وعدد قليل من الآخرين لإشارات التحكم) لتنفيذ بنية Von-Neumann. سيكلف نفس الهيكل إذا تم تنفيذه مع بنية Harvard آثار الأسلاك المزدوجة تقريبًا 200 مع خروج عدد كبير من المسامير من المعالج. للسبب نفسه لا نرى هندسة هارفارد الخالصة مطبقة لأجهزة الكمبيوتر ومحطات العمل. بدلاً من ذلك ، يتم استخدام بنية Harvard المعدلة حيث يتم استخدام التسلسل الهرمي للذاكرة مع ذاكرة التخزين المؤقت لوحدة المعالجة المركزية لفصل البرنامج والبيانات. التسلسل الهرمي للذاكرة يفصل التخزين بناءً على التسلسل الهرمي لوقت استجابة العمليات
مجموعة العمارة تعليمات
نظرًا لأنه يتم تحميل البرنامج (الكود) في ذاكرة النظام (RAM) ، يتم جلبه بواسطة وحدة المعالجة المركزية (بالإشارة إلى كل من المعالج الدقيق والميكروكونترولر) للعمل على البيانات ، فهو يشبه إلى حد كبير حيث نعطي التعليمات عندما نقوم بتدريب الكلب على إجراءات وأوامر معينة. نظرًا لأن هذه التعليمات تعمل بناءً على ترانزستورات معينة تنتقل من مستوى منطقي إلى آخر لتحقيق ذلك. لذلك بمساعدة التعليمات ، يتواصل المبرمج البشري مع المعالج. تحتوي كل وحدة معالجة مركزية على مجموعة تعليمات خاصة بها ، ومجموعة من الإرشادات بناءً على بنيتها وقدراتها.
تفهم وحدة المعالجة المركزية هذه التعليمات في مجموعة من 0 و 1 والتي تُعرف أيضًا باسم كود التشغيل. بالنسبة للمبرمج البشري ، من الصعب حقًا تذكر مزيج 0 و 1 لكل تعليمات مرتبطة بوحدة المعالجة المركزية. للحفاظ على سهولة مهمة المبرمج البشري ، يتم تزويدنا بواجهات عالية المستوى لهذه التعليمات ويقوم المترجم بتحويلها في شكل 0 و 1 لمعالجتها. أيضًا في مجموعة التعليمات الخاصة بكل وحدة معالجة مركزية ، لديها عدد محدود من التعليمات التي يمكنها فهمها.
أداء وحدة المعالجة المركزية
ربما تكون قد سمعت عن مصطلح معدل ساعة وحدة المعالجة المركزية (CPU) المتعلق بأداء وحدة المعالجة المركزية. تحتوي وحدة المعالجة المركزية عمومًا على معدل ساعة بالميغاهرتز (Mega-Hertz) أو GHz (Giga-Hertz) مثل معدل الساعة 25 جيجاهرتز. يوضح الرقم المرتبط بمعدل الساعة عدد المرات التي تدق فيها الساعة داخل وحدة المعالجة المركزية في الدورات في الثانية. يمكن فهم التطبيق العملي لمعدل الساعة من خلال حقيقة أن التعليمات يتم تنفيذها بناءً على دورات ساعة وحدة المعالجة المركزية والتي تتناسب مع عدد البرامج التي يمكن لوحدة المعالجة المركزية تشغيلها في كل مرة.
يعتمد أداء وحدة المعالجة المركزية على عدد التعليمات المكتوبة في البرنامج ، والمزيد من التعليمات ، والمزيد من الوقت الذي تستغرقه وحدة المعالجة المركزية في تنفيذها. يعتمد ذلك أيضًا على عدد دورات الساعة التي يتم فيها تنفيذ كل تعليمات ، وتحتاج تعليمات معينة إلى المزيد من دورات الساعة ليتم تنفيذها أكثر من غيرها ، لذا فهي تتأخر في أداء وحدة المعالجة المركزية. التعليمات في البرنامج والدورات المطلوبة لأداء كل تعليمات تتناسب عكسياً مع بعضها البعض. تغيير أحدهما سيؤثر على الآخر. هذه هي النقطة التي تنقسم فيها صناعة وحدة المعالجة المركزية.
بنية مجموعة تعليمات RISC و CISC
كما ذكرنا أعلاه ، يعتمد تنفيذ البرنامج وأداء وحدة المعالجة المركزية على عدد التعليمات في البرنامج حيث يتم اقتراح الإرشادات على وحدة المعالجة المركزية المعينة هذه كجزء من مجموعة التعليمات والعامل الثاني هو عدد دورات الساعة في يتم تنفيذ كل تعليمات. بناءً على هذين العاملين ، تتوفر حاليًا مجموعتان من التعليمات. أقدمها هي حوسبة مجموعة التعليمات المعقدة (CISC) بينما الأخرى هي حوسبة مجموعة التعليمات المختصرة (RISC). دعونا نناقش كل من هذه العمارة بالتفصيل لفهم الفرق بين RIC و CISC Architecture.
حوسبة مجموعة التعليمات المعقدة (CISC)
CISC تعني حوسبة مجموعة التعليمات المعقدة. الدافع الرئيسي لـ CISC هو تقليل عدد التعليمات التي ينفذها البرنامج ، ويتم ذلك من خلال الجمع بين العديد من التعليمات البسيطة مثل وضع العنوان والتحميل وما إلى ذلك ، وتشكيل تعليمات واحدة معقدة. على تعليمات CISC يتضمن سلسلة من التعليمات البسيطة وكذلك بعض التعليمات الخاصة التي تأخذ دورة على مدار الساعة أكثر من واحد لتنفيذه. يمكن أن تعمل تعليمات CISC مباشرة على الذاكرة دون تدخل السجلات مما يعني أنها تلغي الحاجة إلى بعض الإرشادات الأساسية مثل تحميل القيم ومتطلبات الذاكرة (RAM). تؤكد تعليمات CISC على الأجهزة أكثر من البرامج ، مما يعني أنه بدلاً من وضع الحمل على المجمعين ،يستخدم CISC الترانزستورات كأجهزة لفك وتنفيذ التعليمات. ومع ذلك ، نظرًا لأن التعليمات معقدة وتتألف من خطوات متعددة ، يتم تنفيذها في عدد أكبر من دورات الساعة.
تشبيه بسيط للربط هو عندما يُطلب منك فتح الكتاب وقراءة الصفحة الثانية من الفصل الثالث. في هذه السلسلة من الأنشطة ، تقوم بخطوات متعددة مثل العثور على الكتاب من حقيبتك بدلاً من خلط الصفحة إلى الفصل 3 ثم الانتقال إلى الصفحة الثانية من الفصل ثم البدء في القراءة. إذا تم دمج سلسلة الخطوة في تعليمة واحدة لقراءة الصفحة 44 (وهي رقم الصفحة الثانية من الفصل الثالث) ، نحصل على تعليمات CISC.
حوسبة مجموعة التعليمات المخفضة (RISC)
تم تصميم أول شريحة متكاملة بواسطة Jack Kilby في عام 1958 والتي كانت مذبذبًا وفي عام 1970 خرج أول معالج دقيق تجاري من Intel. على الرغم من عدم وجود CISC في بداية المعالجات. ولكن مع متطلبات الحوسبة الثقيلة ، أصبحت بنية CISC أكثر تعقيدًا ويصعب التعامل معها. تم إعادة تصميم بنية CISC المعروفة باسم RISC من شركة IBM بواسطة John Coke. وبالتالي للتمييز بين البنيتين ، تم تقديم المصطلحين RISC و CISC.
RISC تعني حوسبة مجموعة التعليمات المخفضة. كان الدافع الرئيسي لـ RISC هو إدخال التوحيد في حجم وتنفيذ التعليمات. تم ذلك من خلال تقديم مجموعة تعليمات بسيطة يمكن تنفيذها كتعليمات واحدة لكل دورة ، ويتم ذلك عن طريق كسر التعليمات المعقدة مثل التحميل والتخزين في تعليمات مختلفة ، حيث تستغرق كل تعليمات دورة ساعة واحدة تقريبًا للتنفيذ. و العمارة RISC تتضمن تعليمات بسيطة من نفس الحجم التي يمكن تنفيذها في دورة ساعة واحدة. تحتاج الأجهزة القائمة على RISC إلى ذاكرة وصول عشوائي (RAM) أكبر من CISC للاحتفاظ بالقيم أثناء تحميل كل تعليمات في السجلات. يمنح تنفيذ تعليمات فردية لكل دورة الآلات القائمة على RISC ميزة خطوط الأنابيب(خطوط الأنابيب هي العملية التي يتم فيها تحميل التعليمات التالية قبل تنفيذ التعليمات الأولى ، وهذا يزيد من كفاءة التنفيذ). تؤكد بنية RISC