![]() |
|
| ||||||||
![]() فروق المعمارية بين معالجات X86 و ARM : العمالقة ! منقول........ ملحوظة 1 : يحتوي هذا المقال علي معلومات تقنية مركزة ، لكنها مبسطة كذلك ، يرجي الحفاظ علي صفاء الذهن أثناء قرائته ، ويفضل قراءته بعقل منتبه. حديثنا اليوم عن عمالقة الحاسوب ، وتحديدا عمالقة المعالجات . ان الناظر الي تقنيات الحاسوب نظرة سطحية خارجية ، سوف يعتقد أن صناعة الحاسوب هي صناعة كونية ، لها معايير ثابتة وبنية محددة لا يختلف عليها اثنان ، فهي ليست مثل صناعة السيارات مثلا ، أو صناعة الملابس ، حيث تتنوع الأذواق والمنتجات . لكن صناعة الحاسوب أسوأ من السيارات أو الملابس ، وذلك لتعقيدها الشديد ، هذا التعقيد الذي ينتج عنه اختلاف طرق التصميم حتي بالنسبة الي منتج واحد ، لتلتقي كل الطرق علي اختلاف دروبها لتحقق هدفا واحدا ، وهو معالجة البيانات . ان معني ذلك أن معالجة البيانات يمكن أن تتم بطرق مختلفة ، قد تتساوي أو تتفاوت في التعقيد والبساطة ، لكنها تؤدي الغرض في النهاية . ومن هنا تنبثق معمارية الحاسوب . ان معمارية حاسوب ما ، أو معالج ما ، هي الطريقة التي تترتب فيها دوائره الكهربية ، بحيث تعالج البيانات بطريقة معينة ، وينتج عن هذا اختلاف قدرات المعالجات باختلاف الشركات المصممة لهم ، فشركة A تتبع طريقتها الخاصة في معالجة البيانات والتي ابتكرها مهندسوها ، وشركة B تتبع طريقة أخري تختلف عن شركة A ، ابتكرها مهندسوها أيضا . ولتخيل ذلك يمكننا تصور حل مسألة حسابية بطريقتين مختلفين ، وكلا الطريقتين صحيحتين ، ليخرج ناتج نهائي واحد . المثال الأول : 15 (7+5 ) = ؟؟ الحل الأول : اقتباس: نقوم بضرب رقم 15 في كلا من 7 و 5 ، ثم نجمع ناتج العمليتين . 7X15 + 5X15 = 105+75 الناتج = 180 الحل الثاني : اقتباس: نقوم بجمع 7 و5 أولا ، ثم نضرب الناتج (12) في رقم 15 . 15X12 الناتج = 180 اختلفت الطريقتين ، لكن كلاهما أتي بنفس الناتج وان اختلفت الخطوات . وقبل أن نطبق هذا المثال علي المعالجات ، ينبغي أن نعرف الطريقة الدقيقة لمعالجة البيانات في المعالج ، ونضرب لذلك مثالا ثانيا : المثال الثاني : 8+1 = ؟؟ 1-يتم استخراج مفردات المسألة من الذاكرة العشوائية أو القرص الصلب ، أي يتم استخراج رقم 8 ورقم 1 ، ويتم استخراج علامة الجمع (+) . 2-تقرأ علامة الجمع أولا ، ومن ثم تحول العملية كلها الي معالج الجمع في المعالج المركزي .(تسمي هذه الخطوة بالترجمة ، وسوف نشرحها بعد قليل). 3-في معالج لجمع يتم تسجيل رقم 8 في مسجل (المسجل هو ذاكرة صغيرة لتخزين البيانات التي ستجري عليها المعالجة حالا ) ، ورقم 1 في مسجل آخر . 4-يتم جمع الرقمين في معالج الجمع ، ويتم وضع الناتج النهائي في مسجل أخير (هذه أيضا احدي وظائف المسجل ، فهو يخزن نتائج بيانات المعالجة تمهيدا لإرسالها إلي الذاكرة ) . 5-يتم نقل الناتج من المسجل الأخير الي الذاكرة العشوائية أو القرص الصلب . هذه هي الخطوات الأساسية لأي عملية معالجة يقوم بها المعالج . _______________ _______________ ______________ ونعود لتطبيق المثال الأول علي المعالجات ، فالمعالج أ يتبع تصميم معين معين يتيح له حل المسألة السابقة باستخدام الحل الأول : اقتباس: نقوم بضرب رقم 15 في كلا من 7 و 5 ، ثم نجمع ناتج العمليتين . 7X15 + 5X15 = 105+75 الناتج = 180 يأخذ المعالج رقم 15 من الذاكرة العشوائية RAM ،ويقوم بتخزينه في مسجل رقم 1 ، ويكرر نفس الأمر مع رقم 5 ورقم 7 ، بتخزينهما في المسجلين رقم 2 و 3 . يتم ضرب رقم 15 في رقم 5 ، وتسجيل النتيجة في مسجل رقم 4. يتم ضرب رقم 15 في 7 ، وتسجيل النتيجة في مسجل رقم 5 . وأخيرا يتم جمع قيمة المسجل رقم 4 ورقم 5، أي يتم جمع ناتج العمليتين السابقتين 105 +75 ، وتسجيل النتيجة في مسجل رقم 6 . احتاج المعالج أ إلي 6 مسجلات ، وعمليتين ضرب ، وعملية جمع لإتمام المسألة السابقة بالحل الأول . ومعني أنه احتاج إلي كل ذلك ، أن المهندسين سوف يصممون ستة مسجلات ، يتصل ثلاثة منهم بمعالج ضرب ، كوسيلة لإدخال البيانات ، (إدخال أرقام المسألة ) ، ويخرج من معالج الضرب هذا مسجلين آخرين (كوسيلة لتسجيل نتائج الضرب ) ، يتصل المسجلين مباشرة بمعالج الجمع ، والذي يخرج منه مسجل أخير وحيد . ونستطيع رؤية مخطط المعمارية للمعالج أ هنا : ![]() _______________ _______ أما المعالج ب فيحمل تصميما معينا يتيح له حل المسألة السابقة باستخدام الحل الثاني : اقتباس: نقوم بجمع 7 و5 أولا ، ثم نضرب الناتج (12) في رقم 15 . 15X12 الناتج = 180 يأخذ المعالج رقم 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+(13X 4)-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 أولا ، ثم نضرب الناتج (12) في رقم 15 . 15X12 الناتج = 180 يتم استخراج رقم 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 : تم تبسيط المفاهيم والمصطلحات في هذا المقال بقدر معقول ، وتم تجاهل عدد من التفصيلات والمعلومات التي لا تساهم في وضوح الفكرة الرئيسية ، وعلي هذا يمكن الاعتماد علي هذه المقالة كمصدر شبه دقيق لمعماريات المعالجات . |
مواقع النشر (المفضلة) |
|
|
![]() | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
جدول يمواصفات المعالجات | (القناص) | افق تكنولوجي | 3 | 12-03-2010 12:45 PM |
يتبع جدول يمواصفات المعالجات | (القناص) | افق تكنولوجي | 3 | 12-03-2010 12:44 PM |
برنامج Ashampoo Core Tuner 1.20 لرفع أداء المعالجات | محمد | افق تكنولوجي | 7 | 04-10-2009 11:22 AM |
الفروق العشره بين الشاب السعودي والشاب الاوربي | رايقه بذوقي | مساحة للضحك والفرفشة | 9 | 03-10-2009 02:49 PM |
إنتل تعطي إشارة الانطلاق لعصر المعالجات رباعية النواة | نبض الحياة | افق تكنولوجي | 5 | 14-01-2007 03:06 PM |
![]() | ![]() |