ما هي المعمارية Architecture؟


ما هي المعمارية Architecture؟

المعمارية عند التعامل مع أي نظامٍ حاسوبي، نلاحظ أنه قائم على مجموعة من الوحدات الوظيفية Functional Modules كالمعالج، الذواكر، بوابات الدخل والخرج، وشبكات التبديل Switching Networks. يمكننا التفكير باللوحة الأم Mother Board الخاصة بالحواسيب الشخصية PC’s كمثالٍ ممتاز على الأنظمة الحاسوبية، فهي تتضمن المعالج الصغري Microprocessor، الذواكر (ذواكر RAM، وذواكر ROM)، بوابات إدخال وإخراج البيانات.

 

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

فما هي المعمارية؟

المعمارية هي الآلية التي يتم وفقاً لها ترتيب الوحدات الوظيفية المختلفة ضمن النظام الحاسوبي، بحيث تحدد المعمارية كيفية انتقال البيانات والمعلومات ما بين الوحدات الحاسوبية، كوحدة المعالجة المركزية والذواكر وبوابات الإدخال والإخراج.

 

 

 

المعمارية

 

 

(ملاحظة: يرد مصطلح “المعمارية” ببعض المراجع على أنه “Processors Architecture” أو “Microarchitecture”، ويشير المصطلحان إلى نفس المفهوم).
يحتوي مصطلح معماريات الحواسيب على جانبين، جانب يشدد على تصميم المعمارية وجانب آخر يُشدد على تنظيم المعمارية. تصميم معمارية حاسوب يتطلب اختيار وحدات وظيفية مُتعددة كالمعالجات والذواكر وترتيبها ضمن نظام وذلك بتصميم الروابط بينها.
على سبيل المثال، من مهام تصميم اختيار إذا ما كانت ستحتوي على تعليمة لضرب عنصرين. ولكن تحديد ما إذا كانت هذه التعليمة ستُنفذ عبر وحدة خاصة للضرب أم عبر أسلوب يستفيد من تكرار استخدام وحدة الجمع هو من مهام تنظيم المعمارية. يتم اختيار هذا القرار بناء على التردد المتوقع لاستخدام تعليمة الضرب، سرعة تنفيذ كل من المنهجين، وكلفة وجود وحدة الضرب الخاصة.
على الرغم من صعوبة التفريق بين مفهومي وتنظيمها في بعض المواضيع إلا أنه دائماً ما يمكننا ملاحظته وتمييزه. يوفر العديد من مصنعي الحواسيب اليوم العديد من المعالجات التي تشترك بنفس التصميم لكن تختلف في التنظيم الداخلي. وبالطبع هذا الاختلاف يسبب تغير كلفة الحاسوب وسمات الأداء. بسبب ذلك، يستطيع تصميم معمارية ما التواجد لسنوات عديدة ومجاراة المتطلبات والتغييرات التقنية بتغيير تنظيم المعمارية فقط. كما نرى في منتج معمارية IBM المركزية حيث تم تصميم معمارية IBM System/370 أول مرة في عام 1970 ومازالت تعتمد الشركة على هذا التصميم، مع تحسينات قليلة، كتصميم المعمارية الأساسي في منتجاتها.
يمكن تشبيه هذه العملية (تصميم وتنظيم المعمارية) بعملية بناء العمارات حيث يجب اختيار المواد البنائية المناسبة أولاً ومن ثم ترتيبها وتنظيمها لتعطي هيكلية البناء المطلوب. فتصميم وحدة المعالجة المركزية يتضمن الجمع بين المسجلات، وحدات حسابية، ووحدة تحكم منطقية وترتيبها للحصول على المعالج المطلوب.
هنالك نقطة هامة تتعلق بمفهوم المعمارية: لا تتعلق بكيفية تنظيم وتصميم العتاد الحاسوبي فقط، بل هي ترتبط أيضاً بالبرامج والتطبيقات ونظم التشغيل. فعندما نقول أن معالجاً ما مبني على معماريةٍ ما، فنحن نقصد الآلية التي تم وفقاً له تصميم وتنظيم الوحدات الداخلية لهذا المعالج. وعندما نقول أن نظام تشغيل مصمم بمعمارية 64-بت، فنحن نقصد تصميم وتنظيم مجموعات التعليمات وكيفية عملها ضمن نظام التشغيل. بمعنى آخر، يجب أن نميز بين مفهوم المعمارية “العتادية Hardware” و “البرمجية Software”.