شكرا دكتور محمد على التوضيح....بارك الله فيك
بارك الله فيك ..... مقال متميز ورائع
شكرا دكتور محمد على التوضيح....بارك الله فيك
موضوع ممتاز يا حميدو
وانا حقيقي فهمت جزئية المعمارية والتعليمات بطريقة اول مرة اعرفها
طيب معني كده أن risc ليها تعليمات برمجية وال cisc ليها تعليمات عتاد صح كده ؟
ايه علاقة التردد بالحكاية ديه ؟ هل ليه علاقة ولا ملهوش ؟
شكرا دكتور محمد على الرد
تحياتى.
أبــدع فـي مــواضيـعــك , وأحســن فـي ردودك , وقــدم كــل مــا لــديــك , ولا يغــرك فهمــك
ولا يهينــك جهــلك , ولا تنتظــر شكــر أحـــد , بــل اشكــر الله على هذه النعمــة
ولله الحمــد والشكــر
https://folding.extremeoverclocking....c-m.d&t=155660
السلام عليكم
كالعادة دكتور حميدو رائع بكل ماتعنية الكلمة
والف شكر للإضافات الرائعة..
كلا من RISC و CISC يستخدم تعلميات عتادية ، وأكرر التعليمات العتادية هي طريقة توصيل أجزاء المعالج ببعضها ، اذن فمن البديهي أن يحتوي اي معالج علي تعلميات عتادية ، مهما اختلفت معماريته .
لكن الفارق يظهر في نسبة التعليمات العتادية الي البرمجية ، ففي معمارية CISC ، فان التعليمات العتادية يكون لها اليد العليا ، ب90% أو أكثر من مجموع تعليمات المعالج ، والباقي هو تعليمات برمجية (أي بيانات في ذاكرة) .
أما في معمارية RISC ، فان التعليمات العتادية تتواجد بنصف نسبة التعليمات البرمجية ، وتتواجد أيضا بصورة أبسط من تعليمات CISC (اي أن الوصلات بين أجزاء المعالج تكون في أبسط صورة لها) .
علاقة التردد بالقصة هي علاقة جوهرية ، فتعليمات CISC معقدة (وصلات معقدة بها الكثير من الوقفات والتحويلات)، ومعقدة تعني أن خطواتها كثيرة ، والخطوات الكثيرة تأخذ ترددات متعددة ، مما يسبب تأخيرا في تنفيذ العملية .
أما تعليمات RISC فهي بسيطة جدا ، فهي لا تزيد عن خطوة واحدة بأي حال من الأحوال (لبساطة الوصلات) ،وهذا يعني أنها لا تأخذ أكثر من تردد وحيد للمعالج ، لذا فهي أسرع في التنفيذ ، ولكن لأن تعلمياتها بسيطة وصغيرة فهي تحتاج الي دعم تعلميات برمجي ، ليؤدي الغرض .
وقف الخلق ينظرون جميعا كيف أبنى قواعد المجد وحدى
وبناة الأهرام فى سالف الدهر كفونى الكلام عند التحدى
أنا تاج العلاء فى مفرق الشرق و دراته فرائد عقدى
أى شئ فى الغرب قد بهر الناس جمالاِّ ولم يكن منه عندى
أسلوب يشد الانتباه و تبسيط للمعنى و توصيله بأقصر الطرق رغم أن ما مكتوب ليس قصة فيسهل سردها بل هي معلومات علمية تقنية تفصلية ... بكل صدق أنت موهبة نادرة جدا دكتور حميدو
بارك الله لك في علمك و زاده و نفعك به
و إن شاء الله لي عودة للقراءة عندما يتوفر لدي الوقت الكافي و الذهن الصافي
شرح مميز أخ حميدوا خصوصاً بالنسبة لمعمارية ARM..ولا ينقصك عن التخصص الاكاديمي الا الشي البسيط .
الواقع فقد درست سابقاً كيفية قرآت المعالج للعمليات الحسابية وهي تقريباً كما قلت فعمليات الحسابية(*/+-) يقرأها المعالج قبل الارقام أو المتغيرات القيم الحسابية وطبعاً الأقواس تقراء قبل أي شيء (لا اذكر ترتيب العملية بالكامل الآن) .
ملاحظة الوحدة المسؤولة عن فك شفرة التعليمات تسمى Micro Code Units والهذف منها كان في السابق تسهيل البرمجة خصوصاً بالنسبة للمترجمات Compilers
{وَالَّذِينَ جَاؤُوا مِن بَعْدِهِمْ يَقُولُونَ رَبَّنَا اغْفِرْ لَنَا وَلِإِخْوَانِنَا الَّذِينَ سَبَقُونَا بِالْإِيمَانِ وَلَا تَجْعَلْ فِي قُلُوبِنَا غِلًّا لِّلَّذِينَ آمَنُوا رَبَّنَا إِنَّكَ رَؤُوفٌ رَّحِيمٌ } الحشر آية(10).
شكرا جزيلا اخي حميدو على الموضوع الرائع والشرح الشيق والمميز ,
وبخصوص معمارية CISC فانها حافظت على تشغيل التطبيقات القديمة لانظمة التشغيل بمحافظتها على نفس معماريتها
والا لكان من الافضل الانتقال او التعديل على هذه المعمارية , وهذا جاء على حساب سرعة المعالجة و حجم المعالج واستهلاكه من الطاقة ..
واما عن تقنية معمارية RISC فهي موجودة في معالجات الـ power pc وكانت تعمل عليها منصات آبل ماكينتوش
أي انها معمارية منافسة وموجودة وله اعتمادية اداء عاليه حيث انها اسرع وافضل من معمارية ريسك ,
هذا واكرر الشكر والتحية مرة اخرى للأخ حميدو ,,
أخوك أحمد الشلوي ,,
شارك معنا في المسابقة الرمضانية الكبرى ( جهاز لابتوب للفائز الاول )
https://www.alshalawa.com/vb/images/ds.swf
هذا صحيح أخي سالم ، خصوصا أن المترجمات عانت في السابق من عدم توافر المهارات اللازمة لكتابتها ، فلم تكن بالنضوج الكافي ، والوضع الآن أفضل بكثير .
صحيح تماما ، والمعالجات الحالية من Intel و AMD ، تستعمل طاقم التعليمات المخفضّ RISC في معظم أجزائها ما عدا الـ Micro Code ، وذلك لتسهيل تنفيذ أسلوب خطوط البيانات Pipeline ، الأسلوب الذي يعد المنقذ الوحيد للبطء الناتج عن استخدام طاقم التعليمات المعقد CISC .
وقف الخلق ينظرون جميعا كيف أبنى قواعد المجد وحدى
وبناة الأهرام فى سالف الدهر كفونى الكلام عند التحدى
أنا تاج العلاء فى مفرق الشرق و دراته فرائد عقدى
أى شئ فى الغرب قد بهر الناس جمالاِّ ولم يكن منه عندى
شرح مميز كالمعتاد hameedo شكرا جدا
[CENTER][FONT=Tahoma][B][SIZE=4][COLOR=Red]يارب استر [/COLOR][/SIZE][/B][/FONT]
[IMG]https://www7.0zz0.com/2011/05/16/18/645564013.jpg[/IMG]
[/CENTER]
شكرا د.محمد
بس سمع عن أخبار معالج من ARM متعدد الأنوية طبعا للنقال سؤال هل معمارية مشابهة لـ X86 ؟؟
أليس من العجيب أن حشرة كالنملة؛ إذا وضعتَ أصبعك أمامها وهي تسير؛ وجدتها لم تقف ولم تتجمد, ولم تبرر عجزها وتلقيه على صغر جرمها؛ بل تذهب يميناً أو شمالاً أو تلتف أو تغير اتجاهها... فما بال أحدنا يضرب رأسه في العائق الذي أمامه ألف مرة, ولا يفكر ولو مرة واحدة في تغيير طريقته، ما دامت الإمكانات تسمح والهدف قابلا.
د.سلمان العوده
يمكننا التفكير في الموضوع من زاوية مبسطة جديدة :
1-تعليمات المعالج العتادية هي أمر الزامي لا بد من وجوده .
2-تعليمات المعالج العتادية هي مجرد الوصلات بين أجزاء المعالج المختلفة (مسجلات، وحدات تنفيذ، ذواكر) ، والتي تحدد ترتيب عمله .
3-طاقم التعلميات المعقد CISC يعني وصلات كثيرة بين أجزاء المعالج ، والوصلات الكثيرة تعني أنها تربط أجزاء متعددة ، فيكون فيها وقفات علي العديد من أجزاء المعالج ، بالاضافة الي اعادة التوصيل مع أجزاء معينة .. ولذلك أطلق عليها اسم المعقدة .
4-طاقم التعليمات المخفض RISC يعني استخدام عدد أقل من التوصيلات بين أجزاء المعالج المختلفة ، والوصلات يكون فيها عدد أقل من الوقفات ، ولا نحتاج فيها الي اعدة التوصيل مع أجزاء معينة .. لذلك سميت بالمخفضة .
5-استخدام طاقم التعليمات المخفض Microcode ، يعني أن التعلميات المعقدة سوف تكون محصورة في وحدة التحكم فقط ، بينما تصبح أجزاء المعالج المختلفة بدون تعقيد ، وبدون تعقيد يعني أن بها عدد أقل من الوصلات ، وعدد أقل من الوقفات عي أجزاء مختلفة ، أي أنها تستخدم طاقم التعليمات المخفض RISC بدون أن تشعر !
وبهذا يسقط أول الحواجز التي كانت تميز RISC عن CISC ، ثم ننتقل الي ثاني الحواجز :
5-الوصلات في CISC هي وصلات معقدة -كما قلنا- ، أي أن التعليمات معقدة ، ولأنها كذلك فهي تصلح لتنفيذ العمليات المعقدة بكفاءة ، وتصلج لتنفيذ العمليات البسيطة كذلك (بغض النظر عن مسألة التاخير).
علي الناحية الأخري ، فالوصلات في RISC وصلات بسيطة ، مما يعني أن التعليمات بسيطة جدا ، مما يعني أيضا أن العمليات التي تنفذها هي عمليات بسيطة !
ماذا عن العمليات المعقدة اذن ؟ .. يتم تنفيذ تلك العمليات عن طريق دمج عدد معين من التعلميات البسيطة ، أي يتم تقسيم العملية المعقدة الي عدد من العمليات البسيطة ، وهذا يعني أنني أحتاج الي تعليمات أكثر ، وفي الواقع فانني أحتاج الي عدد أكبر من التعلميات ، لدرجة أنه أكبر من عدد تعليمات CISC
6-احتياج RISC الي عدد أكبر من التعليمات قد يهدد وجودها كمعمارية تحافظ علي البساطة .. لذلك وجب تصميم كل تلك التعليمات الكثيرة مع المحافظة علي البساطة قدر الامكان ، واذا تعذّر ذلك ، فان التعقيد يذهب الي البرامج.
وبذلك يمكنك أخي أن تري ، أنه في الفترة الأخيرة ، أصبحت الحواجز بين CISC و RISC ، حواجز ضبابية ، أقل وضوحا عن السابق ، فكلا منهما يستعمل طاقم التعلميات المخفض بطريقة ما ، والاختلاف أن CISC اختارت وضع تعليمات عتادية معقدة محصورة في جزء واحد ، بينما اختارت RISC وضع التعقيد علي البرامج !
من ناحية التعلميات الأساسية ، تحتفظ المعالجات المزودجة من ARM ، بنفس طاقم التعليمات المخفض ، والتغيير الوحيدة هو اضافة معالج مماثل جديد ، أي دمج معالجين في بعضهما .
من ناحية طريقة التنفيذ ، فهي مطابقة لـمعمارية X86 ، فمعمارية X86 حاليا ، تتبع أسلوب SuperScalar ، أو الترتيب الفائق ، وذلك يعني أن الأنوية تتشارك في ناقل أمامي واحد ، فمعالج Core2Q عبارة عن أريعة أنوية مشتركين في ناقل أمامي واحد ، ولا يمكن الوصول لأي معالج فيهم الا عن طريق هذا الناقل ، مع وجود وحدة تقسيم وتوزيع عتادية ، تتولي توزيع المهام علي الأربع أنوية ، ويتكرر الوضع مع Core i7 و Core i5 ، والآن ARM .
لاحظ أن معمارية بطاقات ATI الرسومية ، تتبع نفس الطريقة ، فكل معالج تظليل فيها عبارة عن خمسة أنوية ، تشترك في ناقل واحد ، أي أنها SuperScalar ، لكنها تختلف في كونها توزّع الحمل علي الأنوية عن طريق برنامج القيادة ، هذا بالنسبة لمعالج تظليل واحد ، لكن بالنسبة لمعالجات التظليل الأخري وبفرض أن البطاقة تحوي 320 معالج تظليل ، فان الحمل يتوزع عليهم باستخدام وحدة توزيع عتادية ، يقتصر عملها علي توزيع البيانات علي المعالجات الكبيرة فقط ، أما الأنوية ، فالتوزيع يتم باستخدام برنامج القيادة كما قلنا .
وقف الخلق ينظرون جميعا كيف أبنى قواعد المجد وحدى
وبناة الأهرام فى سالف الدهر كفونى الكلام عند التحدى
أنا تاج العلاء فى مفرق الشرق و دراته فرائد عقدى
أى شئ فى الغرب قد بهر الناس جمالاِّ ولم يكن منه عندى
طيب ممكن اعرف كام عملية ممكن تنفذها معالجات x86 cisc في التردد الواحد ؟
انا فاهم ان المعالج بينفذ عملية في كل تردد علي معمارية rsic ، او عملية علي اكثر من تردد في معمارية cisc
لكن معالج زي core 2quad مثلا اللي هو خليط من cisc و risc زي ما حضرتك قلت بينفذ كام عملية في التردد الواحد ؟
المفضلات