حدائق اللغات والعلوم الإنسانية
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

حدائق اللغات والعلوم الإنسانية

منتدى تعليمي أدبي تربوي تثقيفي
 
البوابةالرئيسيةأحدث الصورالتسجيلدخول

 

 CISC مقابل RISC

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

مصطفى بن الحاج


عدد الرسائل : 6067
العمر : 60
المنطقة : السوقر ولاية تيارت
المهنة /مكان العمل : أستاذ اللغة العربية و آدابها/ثانوية قاديري خالد
تاريخ التسجيل : 27/04/2008

CISC مقابل RISC Empty
مُساهمةموضوع: CISC مقابل RISC   CISC مقابل RISC I_icon_minitimeالثلاثاء 9 نوفمبر 2010 - 15:49



CISC مقابل RISC
ضمن هذه الصفحة :

CISC مقابل RISC Cisc-vs-risc-web%281%29
تعريف "CISC"
وهي اختصار للجملة "Complex Instruction Set Computer"، أغلب الحواسيب الشخصية تستخدم المعيار "CISC" والتي تدعم مجموعة أوامر "Instruction Set" قد يصل عددها إلى /3000/ أمر أو أكثر في بعض الأحيان، الدافع الأساسي وراء تقنية "CISC" هو تخفيض التكلفة العامة للحواسيب وذلك عن طريق جعل البرمجة - وهي العنصر الأكثر تكلفة في أي نظام كمبيوتر - أكثر سهولة وبالتالي أقل تكلفة، ويتلخص جميع ذلك بتطبيق مبدأ بسيط وهو نقل التعقيد من عالم البرمجيات إلى عالم العتاد.

تعريف "RISC"
وهي اختصار للجملة "Reduced Instruction Set Computer"، وهي نوع من المعالجات التي تتعرف على محدود نسبياً من الأوامر "Small Instruction Set" حوالي /200/ أمر.
من ميزات أوامر هذا النوع أنها قصيرة ومبسطة مما يسرع في عملية التنفيذ، وميزة أخرى قد تكون أكثر أهمية وهي أنه لبساطة أوامر هذا النوع فقد أصبح بالإمكان التقليل من عدد الترانزستورات مما سيؤدي بالضرورة إلى خفض تكلفة التصنيع.

طقم التعليمات الذي يدعمه أي معالج هو عبارة عن مجموعة أوامر كل أمر منها يمثل تسلسل من الـبايتات "Bytes" يستطيع المعالج التعرف عليها مباشرة ومن ثم يستجيب لمحتوى ذلك الأمر.

اعتمدت "CISC" على التالي :
"كل ما زاد عدد الأوامر زادت سهولة البرمجة بشكل كبير، لكن بالمقابل يزيد التعقيد في بناء المعالج"
حيث سيحتاج المعالج إلى وحدة ترجمة معقدة داخل نفس المعالج للتعرف على كم الأوامر الكبير، وسيستغرق الأمر وقتاً إضافياً داخل وحدة الترجمة "MicrocodeUnit" حتى يتم تفسيره مما يعني تباطؤاً في الأداء اعتماداً على تعقيد الأمر المدخل.

اعتمدت "RISC" على التالي :
أوامر بدائية جداً لا تحتاج لوحدة ترجمة "NO Microcode Unit" تنفذ الأوامر تنفيذاً سريعاً وكل أمر يستغرق دورة معالجة وحيدة أو أقل وكل الأوامر موحدة الطول /4/ بايت فقط.
ونظراً لسهولة الأوامر كما ذكرنا وتوحيد الطول أصبحت الحاجة لقوة المعالجة أقل مما يعني إمكانية الحصول على معالج "RISC" بنفس أداء معالج "CISC" ولكن بعدد ترانزستورات أقل بكثير، وأيضاً تم إلغاء وحدة الترجمة مما يعني تخفيضاً كبيراً في تكاليف التصنيع وفي حجم المعالج أيضاً مما مكن من إضافة المزيد من المسجلات الداخلية والتي بدورها وفرت مخزناً واسعاً لتخزين البيانات والأوامر ذات الاستخدام المتكرر ضمن المعالج، مما يعني وصولاً سريعاً جداً لها بدلاً من الحاجة للخروج خارج المعالج لجلبها من الذاكرة "RAM" الرئيسية.
وعملية الخروج من المعالج أثناء التنفيذ لعملية ما تعني تباطؤاً لا يستهان به خصوصاً إذا نظرنا إلى سرعة النواقل والتي تعتبر بطيئة جداً مقارنة بسرعة المعالج الداخلية.
ولكن العيب هنا ما وصل إليه المبرمجون من ناحية التعقيد وتحديداً في برمجة البرامج المترجمة "Compilers" وهي البرامج التي تحول البرامج المكتوبة بلغات عالية المستوى مثل "C" و "JAVA" إلى لغة الآلة، والصعوبة هذه سببها قلة وبدائية الأوامر المتوفرة.
لنأخذ مثالاً لتوضيح قصة الصعوبة والسهولة في البرمجة استناداً لحجم وعدد الأوامر المتاحة :
هناك /الطفل 1/ عنده مكعبات للبناء وهي بدائية أي عبارة عن مكعبات فقط وهناك /الطفل 2/ عنده مكعبات بأشكال متنوعة من مستطيلات ومثلثات إلى أشكال جاهزة من سيارات وبشر إلى ما هنالك.

طلب من الطفلين بناء منزل مثلاً ... فمن سيعاني أكثر في البناء ؟؟
أكيد الطفل الأول لأنه سيحتاج لتكوين كل العناصر بنفسه من الأشكال البدائية جداً بينما الطفل الثاني لن يستغرق وقتاً يذكر بل وسيجد وقتاً إضافياً في إضافة الأشكال الجمالية, هذه فلسفة تقنية "CISC".
ولكن إذا نظرنا من زاوية أخرى سنجد أن تكلفة مكعبات الطفل الثاني تكون أضعافاً مضاعفة من تكلفة مكعبات الطفل الأول وأيضاً لو كان الطفل الأول ذكي لدرجة كبيرة فإنه سيستطيع التعامل مع مكعباته بمهارة وسرعة غير مسبوقة، بينما سيحتاج الطفل الثاني مهما كان ذكياً لبعض الوقت لكي يستوعب الشكل الذي في يده والمكان المناسب لوضعه، هذه فلسفة تقنية "RISC".

نماذج أولية لكل من "CISC" & "RISC"
في هذه النقطة سنعرض بعض المعالجات الأولى من كل نوع حيث يمكننا ملاحظة عدم وجود وحدة الترجمة في معالجات "RISC" وكذلك أن طول الأوامر موحد بـ /4/ بايت وأيضاً تجد أن عدد الأوامر أقل من معالجات "CISC" بمعدل النصف على الأقل.
يوضح الجدول التالي هذه المقولة :

التسلسل

معالجات CISC

معالجات RISC

1

النــــــــــــــــوع IBM
سنــــة التصنيـــــع 1973
عدد الأوامــــــــر 208
حجم وحدة الترجمة 54k
حجم الأوامــــــــــر 2-6 بايت

النــــــــــــــــوع 801 IBM
سنــــة التصنيـــــع 1980
عدد الأوامــــــــر 120
حجم وحدة الترجمة 0
حجم الأوامــــــــــر 4 بايت

2

النــــــــــــــــوع VAX
سنــــة التصنيـــــع 1978
عدد الأوامــــــــر 303
حجم وحدة الترجمة 61k
حجم الأوامــــــــــر 2-57 بايت

النــــــــــــــــوع Berkeley
سنــــة التصنيـــــع 1981
عدد الأوامــــــــر 3
حجم وحدة الترجمة 0
حجم الأوامــــــــــر 4 بايت

3

النــــــــــــــــوع Xerox
سنــــة التصنيـــــع 1978
عدد الأوامــــــــر 270
حجم وحدة الترجمة 17k
حجم الأوامــــــــــر 1-3 بايت

النــــــــــــــــوع Stanford
سنــــة التصنيـــــع 1983
عدد الأوامـــــــر 55
حجم وحدة الترجمة 0
حجم الأوامــــــــــر 4 بايت


CISC VS RISC

التسلسل

معالجات CISC

معالجات RISC

1

أوامر معقدة قد تستغرق أكثر من دورة للمعالج

أوامر بسيطة تستغرق دورة معالج وحيدة لإتمام التنفيذ

2

أي أمر ممكن أن يحتاج للوصول إلى الذاكرة أثناء تنفيذه

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

3

لا تستخدم تقنية الأنابيب Pipelining أو تستخدمه بشكل أقل مقارنة مع RISC

استخدام تقنية الأنابيب Pipelining بشكل موسع

4

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

تنفيذ الأوامر يكون مباشرة دون ترجمة أي أنها عبارة عن أوامر بسيطة

5

الأوامر تتفاوت في الحجم والتعقيد

الأوامر بسيطة و موحدة الطول ( 4 بايت )

6

عدد كبير من الأوامر(3000) ووضعيات التشغيل. "Safe ,Protected, Vertual"

عدد قليل من الأوامر ( 200 أمر )

7

التعقيد في مستوى العتاد تحديدا في وحدة Microcode Unit

التعقيد في مستوى البرمجيات تحديداً في المترجمات

8

مجموعة مسجلات واحدة فقط

العديد من مجاميع المسجلات


خلاصة القول
حتى منتصف الثمانينات في القرن السابق كان التوجه السائد في عالم صناعة المعالجات "CPUs" هو بناء معالجات ذات أوامر أعقد وأكثر عدداً مما يجعل البرمجة أمراً أسهل، ولكن في تلك الأثناء ظهر توجه آخر معاكس تماماً وهو السعي لبناء معالجات ذات أوامر بسيطة جداً ومحدودة العدد مما سيمكن من تنفيذها بسرعات عالية جداً وغير مسبوقة، إلى جانب السرعة في التنفيذ.
هناك جانب إيجابي يعتقد البعض أنه أكثر أهمية وهو أنه طالما أن الأوامر بسيطة فإن عدد الترانزستورات اللازمة سيكون أقل وتعقيد التصميم للـ "CPUs" صار أقل، مما يعني كلفة أقل في الإنتاج والتطوير مع ظهور ذلك الجيل ذو الأوامر المحدودة والذي تمت تسميته "RISC".
في الحقيقة تم تسمية التوجه القديم ذو الأوامر الأكثر عدداً وتعقيداً بـ "CISC" وذلك لتمييزها عن الجيل الجديد.
من باب ذكر الشيء في موضعه يجب أن نذكر أن تقنية "CISC" كانت ولا تزال ذات شعبية عارمة نظراً لأنها تسهل مهمة المبرمجين عموماً مما يمكن من تطوير البرامج بسرعة أعلى وكلفة أقل وهذا في الحقيقة مكمن القوة الأكبر لهذه التقنية.
التوجه القديم أفضل أم الجديد موضع جدل ونقاش بين الكثيرين, الكثير قالوا طالما أن تقنية "RISC" تعني معالجات أسرع وأرخص إذن هي ستكون معالجات المستقبل ومسألة بقاء معالجات "CISC" ما هي إلا مسألة وقت .. لكن ذلك لم يحدث .. لماذا ؟؟
نعود ونتذكر نقطة قوة "CISC" وهي مسألة لا يستهان بها بل وتعتبر نقطة ضعف كبرى في الـ "RISC" إذ وجد الكثيرون أن تكلفة تطوير البرامج لها والعناء المبذول فيها أكبر بكثير من "CISC"، بل وحتى مسألة السرعة فإن معالجات الـ "CISC" كانت في تطور دائم نحو الأفضل وذلك لأنها بدأت "CISC" تطبق الكثير من تقنيات الـ "RISC" مثل "Pipelining" و "Superscaling" مما يعني أن هامش الأداء تناقص بشكل كبير بين التقنيتين، حتى أن معالجات "RISC" بدأت أعداد الأوامر فيها بالازدياد.
الخلاصة أن كلا التقنيتين بدأتا في أخذ الصفات الجيدة من الأخرى محاولة تقليل الضعف فيها مما حدى بالكثيرين للقول أنهما في تقارب دائم من ناحية الأداء، والواقع أن كلاً منهما مستمر في شريحته الخاصة.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
CISC مقابل RISC
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
حدائق اللغات والعلوم الإنسانية :: أوليات :: منتدى الإعلام الآلي والبرمجيات-
انتقل الى: