لا يوجد نتيجة
اظهر كل النتائج
Tech News, Magazine & Review WordPress Theme 2017
  • الرئيسية
  • مراجعات
  • الأخبار
  • مقالات
  • تطبيقات
  • تعلم
  • دليل الشراء
  • الرئيسية
  • مراجعات
  • الأخبار
  • مقالات
  • تطبيقات
  • تعلم
  • دليل الشراء
لا يوجد نتيجة
اظهر كل النتائج
ريفيولوجي - Revieology
لا يوجد نتيجة
اظهر كل النتائج

كيف يتم تصميم وتصنيع المعالجات؟

Mahmoud Radwan بواسطة Mahmoud Radwan
18 سبتمبر، 2020
في تعلم
وقت القراءة6 mins read
0
الرئيسية مقالات
288
مشاركات
929
مشاهدات
Share on FacebookShare on Twitter

المعالجات هي عقول الحواسيب واحد اهم مكوناتها ان لم يكن الاهم علي الاطلاق، لكن كيف يعمل ويتم تصنيعه من الاساس؟
ماذا يجري داخل بلايين الترانزستورات لجعل الكومبيوتر يعمل؟ في هذه السلسلة سنجيب عن تساؤلاتك ونتعمق في مفاهيم المعماريات، تصاميم الدارات الكهربائية، ومرورا بالدارات فائقة التكامل (VLSI), حتي النهاية وكيف يتم تصنيع المعالج من شرائح السيليكون.

محتوى المقالة إخفاء
1 الجزء الاول: مبادئ معمارية الحاسوب
1.1 المعمارية – CPU Architecture
1.2 انابيب التجزئة – Pipelines
1.3 خطوط المعالجة الفائقة (Hyper-threading)
1.4 الذاكرة المخبئة (Cache Memory)

الجزء الاول: مبادئ معمارية الحاسوب

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

المعمارية – CPU Architecture

مستويات لغات البرمجة

يتم ترجمة لغات البرمجة عالية المستوي الي لغة منخفضة المستوي -يقصد بالمستوي هو مدي اقتراب اللغة من لغة الألة- تسمي بالAssembly Language او لغة التجميع والتي هي عبارة عن مجموعة من الاوامر كجزء مما يعرف بمجموعة التعليمات (Instruction Set Architecture) او معمارية الحاسوب. والتي هي مجموعة من التعليمات والاوامر التي وضعت مسبقا، والتي يتم تصنيع وتصميم المعالج لكي يفهمها. أشهر المعماريات هي x86 وARM وهي الاشهر والاكثر انتشارا ثم يأتي بعدها RISC-V وMIPS وPowerPC. وكما لغات البرمجة المختلفة لها تركيبات مختلفة (Syntax)، فكل معمارية لها تركيباتها وتعليماتها المختلفة التي يلزم بناء البرنامج عليها لكي يعمل مع المعالج، ولهذا على سبيل المثال رأينا عدم امكانية تشغيل الويندوز المبني على معمارية x86 على الهواتف التي تعمل بمعمارية ARM حتى وقت قريب الي ان اضافت مايكروسوفت دعم الARM.

ويمكن تقسيم المعماريات الي نوعين رئيسين، معماريات ذات طول ثابت، واخري ذات طول متغير. لنأخذ معمارية الRISC-V من نوع الطول الثابت كمثال، حيث لكل امر او instruction رقم معين في لغة الألة محدد يميزها، مما يسهل عملية ترجمة الأمر للغة الألة. بينما معمارية ال x86 من النوع ذي الطول المتغير فيمكن للأمر ان يتم ترجمته للغة الألة في اشكال وارقام مختلفة. ولهذا السبب فمترجم الأوامر للغة الألة هو الجزء الاكثر تعقيدا في تصميم المعالجات بمعمارية x86.

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

جدول تعليمات معمارية الRISC-V، يظهر فيه كما ذكرنا ان كل واحدة من التعليمات لها الbinary code المميز الخاص بها في أقصى يمين الصورة.

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

الخطوة الاولي هي جلب الأمر من الذاكرة للمعالج لبدأ التنفيذ، في الخطوة الثانية يتم ترجمة الأمر للغة الألة لكي يفهم المعالج اي امر هو بالتحديد. هنالك العديد من انواع الاوامر امثال العمليات الحسابية، او عمليات الذاكرة وغيرها. بعد التعرف على نوع العملية، يتم تجميع البيانات المراد ان يتم معالجتها من الذاكرة. إذا كنت تريد اضافة العدد A للعدد B فمن المستحيل ان تتم العملية بدون معرفة قيمة العدد A والعدد B. معظم المعالجات اليوم تستخدم الحجم 64bit كحد أقصي لممرات البيانات او كحجم سجل المعالج -كمية صغيرة من الذاكرة المتوافرة على وحدة المعالجة المركزية بهدف تسريع عمليات الوصول مقارنة بالذواكر الأخرى- فبينما المعالجات من النوع 32bit لها حد أقصى من البيانات 4 جيجابايت، فالحد الأقصي لمعالجات ال 64bit هو 16 اكسابايت اي 16 متبوعا ب 18 صفر، وهو رقم لن نصل اليه في المستقبل القريب او البعيد حتى :).

إعلانات

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

انابيب التجزئة – Pipelines

الوصف للعمليات الذي ذكرناه هو تبسيط شديد للواقع، المعالجات الحديثة تقسم تلك العمليات التي ذكرناها ل 20 عملية أصغر لتحسين الفعالية وتسريع المعالجة. هذا يعني انه بالرغم من ان المعالج سيبدأ وينهي عدة اوامر خلال الدورة الواحدة، قد يستغرق 20 دورة او أكثر لتنفيذ اي امر منهم، اي انه قد يقوم بتحميل البيانات للأمر A ومعالجة البيانات للأمر B وتخزين ناتج الأمر C خلال نفس الدورة، هذا السلوك يعرف بأنابيب التجزئة او الPipelines

مثال علي انابيب تجزئة ذات أربع خطوات، كل مربع يدل على امر مختلف مستقل عن الأخر.

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

خطوط المعالجة الفائقة (Hyper-threading)

بالاضافة لتنفيذ الاوامر دون تتابع، تقوم المعالجات الحديثة بتوظيف ما يعرف بالsuperscalar architecture، هذا يعني انه المعالج يمكنه تنفيذ اكتر من امر واحد في نفس الوقت. لجعل هذا ممكن، المعالج سوف يقوم بعمل عدة انابيب للتجزءة (الPipelines). اذ رأي المعالج ان هناك أمرين جاهزين للتنفيذ في نفس الوقت، سيقوم بتنفيذهما في نفس الوقت. أحد الطرق الشائعة تعرف بخطوط المعالجة المتعددة او ماتطلق عليه انتل وAMD الHyperthreading، حاليا الشركتين تدعمان خطوط المعالجة المتعددة الثنائية -اي خطين للمعالجة لكل نواة-.

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

الذاكرة المخبئة (Cache Memory)

دور الذاكرة المخبئة قد يكون مربك للبعض، حيث انه دورهم تخزين الذاكرة مثل الذاكرة العشوائية او الاقراص الصلبة. الفرق بين انواع التخزين الثلاث هو معدل التأخير وسرعة القراءة والكتابة. وبالرغم من سرعة الذاكرة العشوائية الشديدة الا انها تظل بطيئة نسبة لسرعة معالجة البيانات الخاصة بالمعالج، قد تستغرق الذاكرة العشوائية مئات الدورات لكي يحضر البيانات للمعالج بينما المعالج باق بدون اي عمل الي ان تنتهي دورات الذاكرة العشوائية. ولهذا يحتوي المعالج على ذاكرته السريعة الخاصة المكونة من ثلاث مستويات تعرف بالتسلسل الهرمي للذاكرة (Memory Hierarchy).
المستوي الاول L1: الاسرع والاصغر مساحة
المستوي الثاني L2
المستوي الثالث L3: الأبطئ والأكبر حجما
وهناك النوع الرابع ويعرف بالCPU Registers وهي الاسرع في الجهاز ولكن تتراوح مساحتها في حدود ال 1kb.

عندما يطلب المعالج البيانات سيقوم بالتحقق اولا عن وجودها في الL1 في حالة عدم وجودها سيتحقق من وجودها في الL2 وهكذا حتى الاقراص الصلبة والSSD في اخر الترتيب

كان هذا كل شيء لهذا الجزء، سنتناول في الجزء القادم بقية تفاصيل التصميم، البوابات المنطقية، ادارة الطاقة وغيرها.

Tags: #CPU
شارك115تويت72ارسل

اضغط علي اشتراك ليصلك تنبيهات بالمقالات المشابهة

الغاء الاشتراك
المقال السابق

Xperia 5 II: فلاجشيب سونى للنصف الثانى من 2020 بشاشة 120Hz ومدخل 3.5 ملم !

المقال التالي

OPPO Reno 4 SE: عضو جديد من سلسلة Reno بشاحن 65W !

Mahmoud Radwan

Mahmoud Radwan

Tech Enthausist

مشابهةالمقالات

نظرة على الـ Apple silicon وشريحة M2 الجديدة
تعلم

نظرة على الـ Apple silicon وشريحة M2 الجديدة

بواسطة Omar Hossam
15 يونيو، 2022
مميزات واجهة سامسونج One UI
تعلم

اسرار ومميزات واجهة سامسونج One UI 4

بواسطة Mahmoud Saad
2 يونيو، 2022
4 مصطلحات مهمة لزيادة معرفتك بكاميرا الهاتف
تعلم

4 مصطلحات لزيادة معرفتك بكاميرا الهاتف

بواسطة Mahmoud Saad
5 أكتوبر، 2021
المقال التالي
OPPO Reno 4 SE: عضو جديد من سلسلة Reno بشاحن 65W !

OPPO Reno 4 SE: عضو جديد من سلسلة Reno بشاحن 65W !

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

موصّى بهَ.

كل ما تريد معرفته عن سلسلة هواوى ميت 40 الجديدة

كل ما تريد معرفته عن سلسلة هواوى ميت 40 الجديدة

22 أكتوبر، 2020
Realme X7

جميع مواصفات وتفاصيل Realme X7 Pro و X7 و V3

1 سبتمبر، 2020

مواضيع رائجة.

مميزات واجهة سامسونج One UI

اسرار ومميزات واجهة سامسونج One UI 4

2 يونيو، 2022
مميزات وعيوب هاتف Samsung A52s 5G

مميزات وعيوب هاتف Samsung A52s 5G

اسوأ 10 هواتف لا تشتريها

اسوأ 10 هواتف لا تشتريها في 2022

20 أبريل، 2022
كل ما تريد معرفته عن خدمة امازون برايم Amazon Prime بعد توفرها رسميا في مصر

كل ما تريد معرفته عن خدمة امازون برايم Amazon Prime بعد توفرها رسميا في مصر

14 يونيو، 2022
تفاصيل باقات الانترنت المنزلي الجديدة VDSL من اتصالات مصر

تفاصيل باقات الانترنت المنزلي الجديدة VDSL من اتصالات مصر

8 أغسطس، 2019
ريفيولوجي - Revieology

© 2019 ريفيولوجي - موقع مراجعات احترافية للاجهزة الالكترونية

صفحات مهمة

  • من نحن
  • سياسة الخصوصية
  • تواصل معنا

تابعنا

لا يوجد نتيجة
اظهر كل النتائج
  • الرئيسية
  • مراجعات
  • الأخبار
  • مقالات
  • تطبيقات
  • تعلم
  • دليل الشراء

© 2019 ريفيولوجي - موقع مراجعات احترافية للاجهزة الالكترونية