صفحة 5 من 5 الأولىالأولى 1 2 3 4 5
النتائج 61 إلى 75 من 75

الموضوع: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

  1. #61
    عضو
    تاريخ التسجيل
    Dec 2007
    المشاركات
    272
    الدولة: Egypt
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    ما شاء الله بجد شرح اكثر من رائع ........ بارك الله فيك ...

  2. #62
    عضوية جديدة
    تاريخ التسجيل
    May 2011
    المشاركات
    3
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    اخي العزيز مشكور جدا على الموضوع وعلى اجتهادك في جلب الاستفاده ولكن في تعليق بسيط جدا بالنسبة لمعمارية المعالجات instructions هناك وحده خاصة بعمليات الضرب والطرح والقسمة والجمع حتى العمليات المنطقية تكون من اختصاصات هذه الوحدة وهي عبارة عن مجموعة من الترانزسيستورز تكون وحدة تسمى وحدة الحساب والمنطق
    (Arithmetic logic unit ) لان المعالج مهما كان نوعه لا يفهم البيانات لا حسابية او منطقية الى ان يتم تحويلها الى تعليمات ثم معلومات في النهاية وذلك لان البيانات كما تعلم تدخل الحاسب على شكل دوائر مفتوحة ودوائر مغلقة ويرمز للمفتوحة بـ 1 والمغلقة
    بـ 0 وبالتالي فان معمارية اي معالج اساسها الاعتماد على تقنية
    RAM Addressing and system numbering وهذا مع احترامي الكامل ليس تعديلا على معلومات ولكنه تصحيح لبعض المعلومات لان هذا الموضوع بالتحديد كان بحثي في الدبلومة الخاصة التي حصلت عليها وهي هندسة صيانة وتطوير الحاسبات وكان مشروع تخرجي يسرد معلومات عنها ايضا وشكرا مرة اخرى على جهدك

  3. #63
    عضو الصورة الرمزية spy_master
    تاريخ التسجيل
    Dec 2010
    المشاركات
    729
    الدولة: Egypt
    معدل تقييم المستوى
    20

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    موضوع اكثر من رائع

  4. #64
    عضو
    تاريخ التسجيل
    Apr 2011
    المشاركات
    208
    الدولة: Egypt
    معدل تقييم المستوى
    0

    Talking رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    اقتباس المشاركة الأصلية كتبت بواسطة Hameedo مشاهدة المشاركة
    فروق المعمارية بين معالجات X86 و ARM : العمالقة !

    ملحوظة 1 : يحتوي هذا المقال علي معلومات تقنية مركزة ، لكنها مبسطة كذلك ، يرجي الحفاظ علي صفاء الذهن أثناء قرائته ، ويفضل قراءته بعقل منتبه.

    حديثنا اليوم عن عمالقة الحاسوب ، وتحديدا عمالقة المعالجات .

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

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

    ان معني ذلك أن معالجة البيانات يمكن أن تتم بطرق مختلفة ، قد تتساوي أو تتفاوت في التعقيد والبساطة ، لكنها تؤدي الغرض في النهاية .

    ومن هنا تنبثق معمارية الحاسوب .

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

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

    المثال الأول : 15 (7+5 ) = ؟؟

    الحل الأول :
    الحل الثاني :

    اختلفت الطريقتين ، لكن كلاهما أتي بنفس الناتج وان اختلفت الخطوات .

    وقبل أن نطبق هذا المثال علي المعالجات ، ينبغي أن نعرف الطريقة الدقيقة لمعالجة البيانات في المعالج ، ونضرب لذلك مثالا ثانيا :

    المثال الثاني :
    8+1 = ؟؟

    1-يتم استخراج مفردات المسألة من الذاكرة العشوائية أو القرص الصلب ، أي يتم استخراج رقم 8 ورقم 1 ، ويتم استخراج علامة الجمع (+) .

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

    3-في معالج لجمع يتم تسجيل رقم 8 في مسجل (المسجل هو ذاكرة صغيرة لتخزين البيانات التي ستجري عليها المعالجة حالا ) ، ورقم 1 في مسجل آخر .

    4-يتم جمع الرقمين في معالج الجمع ، ويتم وضع الناتج النهائي في مسجل أخير (هذه أيضا احدي وظائف المسجل ، فهو يخزن نتائج بيانات المعالجة تمهيدا لإرسالها إلي الذاكرة ) .

    5-يتم نقل الناتج من المسجل الأخير الي الذاكرة العشوائية أو القرص الصلب .

    هذه هي الخطوات الأساسية لأي عملية معالجة يقوم بها المعالج .

    ____________________________________________

    ونعود لتطبيق المثال الأول علي المعالجات
    ، فالمعالج أ يتبع تصميم معين معين يتيح له حل المسألة السابقة باستخدام الحل الأول :

    يأخذ المعالج رقم 15 من الذاكرة العشوائية RAM ،ويقوم بتخزينه في مسجل رقم 1 ، ويكرر نفس الأمر مع رقم 5 ورقم 7 ، بتخزينهما في المسجلين رقم 2 و 3 .

    يتم ضرب رقم 15 في رقم 5 ، وتسجيل النتيجة في مسجل رقم 4.

    يتم ضرب رقم 15 في 7 ، وتسجيل النتيجة في مسجل رقم 5 .

    وأخيرا يتم جمع قيمة المسجل رقم 4 ورقم 5، أي يتم جمع ناتج العمليتين السابقتين 105 +75 ، وتسجيل النتيجة في مسجل رقم 6 .

    احتاج المعالج أ إلي 6 مسجلات ، وعمليتين ضرب ، وعملية جمع لإتمام المسألة السابقة بالحل الأول .

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


    ونستطيع رؤية مخطط المعمارية للمعالج أ هنا :



    ______________________

    أما المعالج ب فيحمل تصميما معينا يتيح له حل المسألة السابقة باستخدام الحل الثاني :
    يأخذ المعالج رقم 7 ورقم 5 من الذاكرة العشوائية ، ويضعهما في مسجلين (مسجل رقم 1 ورقم 2 ) ، ويقوم بإجراء عملية جمع عليهما ، ويضع ناتج العملية في مسجل رقم 3 .

    يتم تخزين رقم 15 في مسجل رقم 4 ، ويتم ضرب قيمة هذا المسجل في قيمة المسجل رقم 3 ، ويتم وضع الناتج الجديد في المسجل رقم 5 .

    احتاج المعالج ب إلي خمسة مسجلات والي عملية ضرب واحدة وعملية جمع واحدة .

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

    ونستطيع رؤية مخطط المعمارية للمعالج ب :


    ____________________

    بغض النظر عن أن معمارية المعالج ب تبدو أبسط من معمارية المعالج أ ، كلا المعالجين أعطيا الناتج النهائي بدقة ، لكن بتصميم مختلف تماما .

    وهذا هو ما نطلق عليه معمارية المعالج التي ترتبط ارتباطا مباشرا بطريقة معالجته للبيانات ، وتسمي تلك المعمارية باسم التعليمات Instructions.

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

    فمثلا في المعالج ب ، فان طريقة توصيل الدوائر فيه كالآتي :

    3 مسجلات --------> معالج ضرب --------> مسجلين --------> معالج جمع --------> مسجل أخير

    يمكنني أن أطلق علي طريقة التوصيل هذه ، تعليمات المعالج ب .

    هل لاحظت أن طريقة التوصيل أو التعليمات ، هي ترجمة أمينة للحل رقم 2 ، والخاص بالمسألة السابقة ، هذه الترجمة تمت باستخدام الدوائر الكهربية ، أي باستخدام العتاد ؟


    وفي مثال المعالج أ ، فان طريقة توصيل الدوائر فيه كالآتي :

    مسجلين --------> معالج جمع --------> مسجل + مسجل (من الخارج) --------> معالج ضرب --------> مسجل أخير

    ويمكنني أن أطلق علي طريقة التوصيل هذه ، تعليمات المعالج أ .

    هل لاحظت أن طريقة التوصيل أو التعليمات ، هي ترجمة أمينة للحل رقم 1 ، والخاص بالمسألة السابقة ، هذه الترجمة تمت باستخدام الدوائر الكهربية ، أي باستخدام العتاد ؟


    الآن عندما أخبرك أن شركة Intel ، أطلقت علي طريقة توصيل دوائرها الكهربية لتكون ترجمة أمينة لطرق معالجة البيانات في معالجاتها المركزية، اسم تعليمات X86 .. فهل تفهمني ؟

    لا تحتاج المسألة إلي فهم عميق في الواقع :

    -معالج أ قام بمعالجة المسألة الحسابية بطريقة معينة .
    ومعالج ب قام بمعالجة نفس المسألة بطريقة أخري .

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

    انتهي ..

    لحظة ! .. ما هي معالجات ARM هذه أصلا ؟
    حسنا ، معالجات ARM هي المنافس لمعالجات X86 ، لكن في سوق مختلف تماما ، فكلنا نعرف أن معالجات X86 منتشرة بصورة رهيبة في الحواسيب الشخصية والمحمولة والخوادم ، بالاضافة الي الحواسيب العلمية الخارقة ، ومحطات تصميم الرسوميات ثلاثية الأبعاد ... أي في معظم الحواسيب تقريبا .

    اذن في أي شئ تتواجد معالجات ARM ؟

    تتواجد تلك المعالجات في الأجهزة الالكترونية الأخري ، مثل الهواتف النقّالة ، والآلات الحاسبة ، ومشغّلات الموسيقي والعروض المرئية ، كما تتواجد في أجهزة الألعاب الصغيرة ، والمساعدات الرقمية PDA ، وحتي الأقراص الصلبة وموجّهات الشبكات Routers ، وهي تحظي بانتشار رهيب في هذه الأسواق.

    ان كلا من X86 و ARM ، هما عملاقان يحكمان دولتين مختلفتين ، و التصادم بينهما مقدّر أن يحصل أن عاجلا أو آجلا.

    لكن الصراع بين العملاقين بدأ منذ زمن سحيق ، وهو صراع تقني أكثر منه تجاري ، انه صراع التعليمات .

    ويتسائل البعض .. كيف يكمن للتعليمات أو (للمعمارية) أن تسبب صراعا ؟

    ____________________________________________

    ولنفهم هذه النقطة جيدا يجب أن نعود الي مثالنا الأول المسكين مرة أخري .. نعود له لنتذكر كيف أن التعليمات العتادية ، ما هي الا ترجمة أمينة للمسألة ، 15(7+5) ، تم تمثيلها باستخدام المسجلات ومعالجي الضرب والجمع .

    هذه الترجمة الأمينة ، تسمّي Decoding ، وهي تعني أنني ترجمت مفردات المسألة الحسابية الي عتاد مباشرة ، والمفردات هنا تعني الأرقام والعلامات الحسابية مثل + و X ، فالأرقام ترجمت الي قيم في مسجلات (ذواكر عتادية) و العلامات الحسابية ترجمت الي معالج الضرب أو معالج الجمع .

    ترجمة الأرقام تبدو عملية سهلة ، فكل ما فعلناه هو وضعها في مسجّل ، وانتهي الأمر .

    لكن هذا غير صحيح ، فنحن لم نضعها في أي مسجل ، بل وضعناها في المسجل الخاص بمعالج الجمع مثلا ، تميهدا لتنفيذ عملية الجمع !

    وهنا يكمن السؤال ! لماذا تم وضع الأرقام في مسجلات معالج الجمع ؟ ولم يتم وضعها في مسجلات معالج القسمة مثلا ؟

    السبب ببساطة هو وجود علامة الجمع في المسألة !

    ان علامة الجمع (+) ما هي الا عنوان لمسجلات معالج الجمع !
    وعلامة الضرب ما هي الا عنوان لمسجلات معالج الضرب !

    اذن فالرقم 15 يتواجد جنبا الي جنب بجوار عنوان مسجلات معالج الضرب داخل الذاكرة العشوائية .
    والرقمين 7 و 5 يتواجدان جنبا الي جنب بجوار عنوان مسجلات معالج الجمع داخل الذاكرة العشوائية .

    عندما يقرأ المعالج الذاكرة العشوائية ، فانه يقرأ تعليمات الجمع أو الضرب أولا (واتفقنا أنهم عناوين مسجلات الضرب والجمع ) ،ومن ثم يقوم بتحويل الرقم 15 الي مسجل معالج الضرب ، لأنه يحمل عنوان هذا المسجل ، ويقوم بتحويل رقمي 7 و 5 الي مسجلات معالج الجمع ، لأنهما يحملان عناوين هذه المسجلات .

    وبهذا تكتمل عملية الترجمة Decoding ، وما يتبقي هو اجراء العملية الحسابية نفسها في معالج الضرب أو الجمع ، ومن ثم الخروج بالناتج النهائي وتسجيله في مسجّل أخير .

    هل لاحظت أن الترجمة تعتمد بشكل اساسي علي وجود عنوان مسجلات معالج الضرب أو الجمع ؟
    ماذا اذا لم يكن هذا العنوان موجودا ؟ ، ماذا اذا تغيرت قيمته ؟
    اذا تغيرت قيمته ، فسوف يعني ذلك تغير معني المسألة ، فبدلا من أن تكون جمعا وضربا ، تتحول ال قسمة وطرح !

    اذن يجب علي الشخص أو البرنامج الذي يتولي كتابة المعادلة وتخزينها في الذاكرة ، أن يعرف عناوين معالجات الجمع والضرب ، والا ذهبت المعادلة الي معالج آخر .

    ومن هنا يبدأ الصراع !!

    في المعالج أ ، يكون عنوان معالج الضرب هو المسجل 1 ، و 2 ، 3 .
    بينما في المعالج ب ، بكون عنوان معالج الضرب هو المسجل 4 و 5 .

    اذا تمّ كتابة البرنامج علي أساس معمارية المعالج أ ، فان المعادلة لن تصلح علي معمارية المعالج ب ، والعكس صحيح !! ، وذلك بسبب اختلاف عناوين معالجات الضرب في المعماريتين !

    اذن وجب علي المبرمج أن يضع في حسبانه الاختلاف في المعماريات بين المعالجات ، حتي يعمل برنامجه علي كل المعالجات !

    لهذا يعمل نظام تشغيل النوافذ Windows حصريا علي معالجات X86 ، لأن شركة Microsoft ، لم تضع في حسبانها أي معالجات أخري أثناء تصميم النظام ، وبهذا فلن يعمل النظام علي معالجات ARM .

    وهذه هي أول المواجهات في الصراع بين العملاقين ، وهي الحصول علي البرامج الداعمة لكل منهما !

    ثاني المواجهات يتعلّق باختلاف وجهات النظر في التصميم بشكل متطرف !

    ولنفهم ذلك نعود مرة ثالثة لمثالنا الأول ، ونرجو منه الصفح علي ازعاجه المستمر ..

    رأينا كيف ترجمت المسألة الحسابية بكل أمين الي مجموعة اتصالات بين المسجلات ومعالجات الضرب والجمع ، هذا بالنسبة الي مسألة بسيطة .

    ماذا عن مسألة أخري أكثر تعقيدا ؟ .. مثلا : 12X(5+4)X8+(13X4)-9

    سوف نحتاج الي مسجلات جديدة وسوف نحتاج الي مجموعة وصلات جديدة بين المسجلات والمعالجات ، تلك الوصلات سوف تكون أعقد وأكثر من المرة السابقة !

    اذن ماذا عن مسألة أكثر تعقيدا ، ومسألة أخري أكثر وأكثر وأكثر تعقيدا ؟

    ان هذا مستحيل !! كلما زاد تعقيد المسألة ، كلما زاد تعقيد تصميم العتاد ، وبازدياد تعقيد البيانات أكثر وأكثر ، يصبح من غير المجدي الاستمرار في تصميم العتاد بهذا التعقيد ، لأن التعقيد لن ينتهي أبدا هكذا !!

    ما الحل اذن ؟ الحل هو اضافة ما يسمي باسم طاقم التعليمات المصغر Microcode Set .

    طاقم التعليمات المصغر هو معالج صغير يسمي باسم وحدة التحكم Control Unit ، وهي الموجودة في كل المعالجات الحديثة ،

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

    تتصل هذه الذاكرة بوحدة معالجة صغيرة ، وفي هذا المثال 15X5 ، تستقبل وحدة المعالجة هذه بيانات المسألة ، وتقرأ علامة الضرب أولا .

    علامة الضرب هنا هي عبارة عن عنوان الذاكرة التي تحوي عنوان مسجلات معالج الضرب !

    تقوم وحدة المعالجة الصغيرة بقراءة الذاكرة ، وتستخرج عنوان مسجلات معالج الضرب ، وتقوم بارسال رقم 15 ورقم 5 الي مسجلات معالج الضرب .

    يجري معالج الضرب العملية ، ويخزن الناتج النهائي (75) في مسجل جديد ، يذهب هذا المسجل الي وحدة التحكم.

    تقرر وحدة التحكم ما اذا كانت المسألة قد انتهت أم لا .. فاذا انتهت .. يرسل الناتج الي الذاكرة العشوائية ، واذا لم تنتهي ، واحتوت المسألة علي جزء جمع اضافي (+10مثلا ) ، تقوم وحدة التحكم بارسال ناتج الضرب (75) ورقم 10 الي معالج الجمع .. وهكذا .. دواليك .. :




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

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

    تعمل معالجات X86 ، بهذا الأسلوب ، ويسمي هذا الأسلوب باسم Complex Instruction Set Computer ، أو حاسوب طاقم التعليمات المعقد CISC ، وذلك لأنه يستعمل مجموعة معقدة من التعليمات ، والتي يتم تسجيلها في وحدة التحكم .

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

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

    المزيد والمزيد من هذا التأخير ، يستلزم عمل شئ ما لتعويضه ، والشئ الذي استقر عليه المهندسون هو خط أنابيب البيانات Pipeline ، وهو مفهوم سوف نشرحه في مقال آخر .

    ولنا أن نتفهم أن المصممين كانوا بين حيرتين ، حيرة تصميم معالج معقد جدا ، أو تصميم معالج أقل تعقيدا ولكنه أبطأ قليلا .. واختارت فئة مصنعي X86 الحيرة الأخيرة .

    ____________________________________________

    لكن فئة مصنعي معالجات ARM ، لم تختر الحل الأخير ، ولم تختر الحل الأول ، وانما قامت باختيار حل مختلف تماما .

    لم تحب هذه الفئة استخدام تعليمات معقدة أو استخدام طاقم تعليمات مصغر ، واصرت علي اتباع الطريق التقليدي .

    ففي مثالنا السابق ، 15(7+5) ، وبافتراض أن العملية تحل باستخدام الحل الثاني :
    يتم استخراج رقم 7 ورقم 5، ويتم ترجمة علامة الجمع ، بتحويل الرقمين الي مسجلات معالج الجمع (المسجل 1 و 2) ، بعد الانتهاء من الجمع ، يتم تخزين الناتج في المسجل رقم 3 .

    المسجل رقم 3 متصل بما يسمي بحوض المسجلات الكبير وهو تجمع كبير لعدة مسجلات مرتبة في صفوف ، في هذا الحوض يتم وضع الناتج في مسجل جديد ، وليكن المسجل رقم 18 .

    الآن نحتاج الي ضرب رقم 15 في الناتج ، لذا يتم استخراج رقم 15 ، ويتم ترجمة علامة الضرب ، ومن ثم تحويله الي مسجل معالج الضرب ، المسجل رقم 4 مثلا .

    الآن يجب ان تحتوي بيانات الضرب الخاصة برقم 15 علي عنوان اضافي خاص بالمسجل رقم 18 ، وذلك لكي يقوم معالج الضرب بأخذ قيمة هذا المسجل ويضربها في رقم 15 .

    يتم وضع ناتج العملية في مسجل جديد ، وليكن مسجل رقم 5 ..ويتصل هذا المسجل بحوض البيانات الكبير ، بحيث ينقل الناتج الي المسجل رقم 19 مثلا .

    بهذا تنتهي بيانات العملية ، لكنها تحتوي علي شق أخير من البيانات ، وهو علامة يساوي (=) مثلا، وهي تحتوي علي عنوان المسجل رقم 19 ، وتترجم بـنسخ محتويات هذا المسجل الي الذاكرة العشوائية .




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

    وعلي وجه الخصوص يجب أن يعرف عناوين حوض المسجلات الكبير ، والتي تعتبر البديل الفعّال لوحدة التحكم ، فهي تتصرف كأنها محطة تصل اليها البيانات من المعالجات المختلفة ، كما تخرج منها البيانات الي المعالجات المختلفة بتحكم من البرنامج نفسه .

    سميت هذه الطريقة باسم Reduced Instruction Set Computer ، أو حاسوب طاقم التعليمات المخفض RISC ، ذلك لأن كل عملياته هي عمليات بسيطة ، من مسجّل الي مسجّل ، وبذلك تحقق هذه المعمارية البساطة في التصميم ، لكن التعقيد يصبح علي كتف البرنامج نفسه ، والذي يجب أن يكون مصمما لهذه المعماربة بالضبط (كما قلنا باحتوائه علي عناوين السمجلات في كل خطوة من خطوات البيانات) .

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

    لا تركز معالجات ARM علي سوق الحوسبة ، لذلك لا تأتي بترددات مرتفعة أو بذاكرة مخبأة كبيرة ، لأنها تقصر نفسها حاليا علي معالجة البيانات السيطة الي حد ما ، وعلي هذا فلم يتم بناء معالج منها لينافس معالجات Intel و AMD ، والمنافسة الوحيدة بينها وبين معمارية X86 ، هو معالج ATOM من شركة Intel .

    لكن ماذا يحدث اذا قررت ARM بناء معالج كبير للتطبيقات الثقيلة كتحرير الفيديو أو الرسوم ثلاثية الأبعاد .. سوف تحتاج الي دعم برمجي كبير بالطبع ، لكنها ستنافس منافسة شرسة ، وعندها سنري ..

    سنري صراع العمالقة الحقيقي ..


    المقارنة بين CISC و RISC

    CISC :
    -تخفف من التعقيد باستخدام طاقم تعليمات مصغر مدمج في وحدة تحكم .
    -يؤدي هذا الي حدوث بطء في عملية المعالجة .
    -حجم المعالج كبير.

    RISC :
    -تخفف من التعقيد بالاكثار من المسجلات ، والاعتماد علي البرنامج .
    -الاعتماد علي البرنامج قد يكون له عواقب وخيمة اذا لم يتم تطويع البرنامج بالشكل المناسب .
    -حجم المعالج صغير .


    تم بحمد الله وفضله ..

    ________________________________________

    ملحوظة 2 : تم تبسيط المفاهيم والمصطلحات في هذا المقال بقدر معقول ، وتم تجاهل عدد من التفصيلات والمعلومات التي لا تساهم في وضوح الفكرة الرئيسية ، وعلي هذا يمكن الاعتماد علي هذه المقالة كمصدر شبه دقيق لمعماريات المعالجات .
    ربنا يزيدك الله ينور

  5. #65
    عضوية جديدة
    تاريخ التسجيل
    Jul 2011
    المشاركات
    2
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    السلام عليكم اخي Hameedo
    استأذنك في اضافة موضوعك إلى مدونتي مع ذكر المصدر

    أنا عضو جديد في هذا المنتدى

  6. #66
    عضوية جديدة
    تاريخ التسجيل
    Jul 2011
    المشاركات
    2
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    مساء الخير

    بعد إذن الأخ Hameedo قمت بترتيب الموضوع في ملف وورد ... لإني استفدت منه

    فأشكر الأخ Hameedo

    الملف منسق في هذي الوصلة ....

    https://www.mediafire.com/?74p03zkp5jepelh

    وسلامتكم

  7. #67
    عضوية جديدة
    تاريخ التسجيل
    Aug 2011
    المشاركات
    1
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    كل عام وانت بخير اخي hameedo ومبارك عليك الشهر
    موضوع شامل وكامل والكمال لله الف شكر لك على الموضوع
    الذي يعتبر مرجع لطريقة عمل المعماريات الف شكر لك مرة اخرى
    وتقبل مروري اخي الكريم

  8. #68
    عضوية جديدة
    تاريخ التسجيل
    Sep 2011
    المشاركات
    1
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة !

    مشكور دكتور على المعلومات القيمة
    ولكن عندي استفسا حول هذا الموضوع وهو
    ماذا نعني بكل من الاختصارات التالية
    AT
    XT
    286
    386
    486
    DX2
    Pentium 1 .2 .3 .4
    DUE
    i core 2. 3 .5 .7
    بليز دكتور هذا واجب معي ولازم اسلمة يوم الاحد 2\10\2011

  9. #69
    عضو
    تاريخ التسجيل
    Jul 2007
    المشاركات
    12
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    شكراً يا أخي، وربنا يزيدك علم

  10. #70
    عضو
    تاريخ التسجيل
    Oct 2011
    المشاركات
    57
    الدولة: Syria
    معدل تقييم المستوى
    13

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    مشكور جدا والله ما قصرت
    شرح وافي وبسيط وحاببرأشكرك على الموقع لأنه فادني كتير ممكن تضيفني عالفيس بوك mohamadwalali@gmail.com

  11. #71
    عضو
    تاريخ التسجيل
    Mar 2011
    المشاركات
    165
    الدولة: Palestinian Territory
    معدل تقييم المستوى
    0

    Post رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة !

    اقتباس المشاركة الأصلية كتبت بواسطة other day مشاهدة المشاركة
    مشكور دكتور على المعلومات القيمة ولكن عندي استفسا حول هذا الموضوع وهو ماذا نعني بكل من الاختصارات التالية AT XT 286 386 486 DX2 Pentium 1 .2 .3 .4 DUE i core 2. 3 .5 .7 بليز دكتور هذا واجب معي ولازم اسلمة يوم الاحد 2\10\2011
    معالجات إنتل يرمز لها بالعادة بـi386 وهي المعمارية التي تقوم عليها معماريات إنتل المنتشرة، وكذلك معالجات AMD و VIA.
    طورت معالجات 386 وأضيفت لها تعليمات instruction sets جديدة إضافة للتعليمات القديمة، وطرحت كجيل جديد يسمى i486، وبعدها صدرت i586 التي تحوي تعليمات إضافيّة، وأشهرها معالجات Pentium من إنتل.
    بعدها صدرت i686 المطورة عن سابقاتها، والتي بدأت من Pentium II والأحدث، وكذلك في معالجات Celeron و Athelon، واستمرت فترة طويلة مع زيادة الترددات كلّ مرّة لتسمى Pentium 3 و Pentium 4.
    الجديد في المعالجات منذ بداية Centrino و DualCore هو دعمها لتعليمات جديدة، وترددات أعلى، إضافة لدعمها لـ64بت وتعدد المعالجات. هذه المعالجات تحمل الاسم x86_64 لتشير إلى أنّها من فصيلة التي تبدأ من اليمين بـ86 ولكنها مطورة عنها وتحوي دعماً لـ64بت. أول من بدأ معالجات x86_64بت هي AMD، ولهذا تجد بعض توزيعات لينكس تشير لمعالجات 64بت من هذه الفصيلة بـamd64.
    كلمة dual تعني ثنائيّ، وكلمة Core تعني قلب أو لُبّ أو نواة. أمّا معالجات i3, i5, i7 فهي معالجات تعتمد على معماريات x86_64 لكن تتميز كل منها عن سابقاتها بالتردد وعدد الانوية ودعمها لتعليمات جديدة تزيد سرعة المعالج

  12. #72
    عضو
    تاريخ التسجيل
    Nov 2013
    المشاركات
    140
    الدولة: Egypt
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    بامتياز عالرغم ان معظم الكلام دا مش مفهوم الا انى استفدت كتير اوى خصوصا مقارنة كفاءة المعالجات فالالعاب
    دا كتير عليا فعلا الا انوا مثير جدا وهحاول اقرا تانى وتالت لعل الفهم ياتينى

  13. #73
    عضو
    تاريخ التسجيل
    Mar 2014
    المشاركات
    15
    الدولة: Egypt
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    جزاكم الله كل خير

  14. #74
    مخالف للقوانين
    تاريخ التسجيل
    Feb 2013
    المشاركات
    143
    الدولة: Egypt
    معدل تقييم المستوى
    0

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    تسلم يا كبير علي الافاده

  15. #75
    عضو فضي
    تاريخ التسجيل
    Sep 2005
    المشاركات
    683
    الدولة: Egypt
    معدل تقييم المستوى
    21

    رد: فروق المعمارية بين معالجات X86 و ARM : العمالقة!

    رائع رائع رائع
    لو فى تقييم 10 نجوم كنت اعطتهولك بدون تفكير

صفحة 5 من 5 الأولىالأولى 1 2 3 4 5

المواضيع المتشابهه

  1. هل فيه فروق بين i5-3550 و i5-3570k
    بواسطة momany في المنتدى الأرشيف
    مشاركات: 27
    آخر مشاركة: 16-09-2012, 21:59
  2. 7 فروق بين مصر وتونس
    بواسطة ™Phantom في المنتدى الأرشيف
    مشاركات: 19
    آخر مشاركة: 20-01-2011, 17:29
  3. هام- فروق أنواع ال dvd
    بواسطة momya في المنتدى الأرشيف
    مشاركات: 1
    آخر مشاركة: 10-01-2010, 00:15
  4. جدول ويضح فروق الأداء في معالجات Phenom™ X4 Quad Core Processors
    بواسطة MightySnake في المنتدى الأرشيف
    مشاركات: 0
    آخر مشاركة: 25-04-2008, 04:53

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •