مقایسه پردازندههای RISC و CISC
مقایسه پردازندههای RISC و CISC
در ابتدا و پیش از مقایسه پردازندههای RISC و CISC بهتر است که به معرفی هر یک از این 2 معماری در طراحی پردازندهها بپردازیم.
در تعریفی کلی میتوان گفت که در طراحی انواع پردازنده ها اصول طراحی و معماری ای تعریف شده که طراحان از این اصول و قوانین پیروی میکنند.
معماری RISC
RISC مخفف Reduced instruction Set Computing یا مجموعه دستورات ساده شده است. این نوع معماری در واقع نوعی از طراحی CPU است که اساس و هدف آن، ساده سازی دستورات است که در نتیجه باعث بازده بالا و سرعت بخشیدن به اجرای دستورات میشود.
اولین پروژه مبتنی بر معماری ریسک در اواخر دهه ۷۰ و اوایل دهه ۸۰ میلادی توسط شرکت آیبیام، دانشگاه استنفورد و دانشگاه برکلی آغاز شد.
معروفترین و مهمترین معماری که براساس RISC صورت گرفته، طراحی سری ARM است.
ایده اصلی طراحی RISC نخستین بار توسط جان کوکی در IBM با همکاری دانشگاه استنفورد و دانشگاه برکلی در سال ۱۹۷۴ شکل گرفت، او به این نظریه اعتقاد داشت که یک کامپیوتر تنها به ۲۰ درصد از دستورات نیاز دارد و ۸۰ درصد دیگر، دستورات غیرضروری هستند.
پردازندههای ساخته شده براساس طراحی RISC از دستورات کمی پشتیبانی میکنند به این ترتیب به ترانزیستور کمتری نیز نیاز دارند و ساخت آنها نیز نسبت به CISC کم هزینه تر است.
همچنین با کاهش ترانزیستورها و اجرای دستورات کمتر، پردازنده در زمان کمتری دستورات را پردازش میکند و در نتیجه دارای سرعت بالاتری خواهند بود. کمی بعد اصطلاح RISC توسط یک استاد دانشگاه کالیفرنیا-برکلی به نام دیوید پترسون David Patterson ایجاد شد.
معماری CISC
در نقطه مقابل ریسک که در بالا به اختصار معرفی شد، معماری دیگری با نام CISC وجود دارد که مخفف Complex Instruction Set Computing یا مجموعه دستورات پیچیده است که معروفترین سری طراحی شده با این معماری سری معروف x86 اینتل است و بعنوان پردازنده کامپیوترها ، لپ تاپها و بسیاری از کاربرد های دیگر از آن بهره میبرند.
هر دو طراحی RISC و CISC در انواع و اقسام ابزارها بکار گرفته میشوند، اما مفهوم کلی RISC در واقع سیستمی است که در آن به پردازش دستورات ساده و به شدت بهینه شده پرداخته میشود، درست برخلاف CISC که در آن دستورات پیچیده ارسال میشوند. یکی از تفاوتهای عمده بین RISC و CISC نیز در نحوه دسترسی به حافظه و اجرا و ذخیره اطلاعات برروی آن است. در ریسک دسترسی به حافظه تنها از طریق دستورالعملهای خاصی قابل انجام است و به عنوان مثال نمیتوان از بخشی از دستور add به حافظه دسترسی داشت.
علاوه بر ARM شرکتهای بسیار دیگری مثل Intel i860, AMD 29k, ARC و غیره از طراحی RISC برای ساخت پردازنده استفاده میکنند، اما به لطف گسترش تلفن و تبلتها، معماری ARM به عنوان برجستهترین معماری مبتنی بر RISC شناخته میشود.
مقایسه پردازندههای RISC و CISC
به شکل مقایسه ای بین 2 معماری RISC و CISC اگر بخواهیم به مواردی اشاره کنیم میتوانیم برخی از تفاوت های زیر را نام ببریم.
1- مهمترین مشخصه پردازنده های RISC (ریسک) برخلاف سیسک در این است که 95% دستورات در یک سیکل ساعت اجرا می شوند.
2- همه ریز پردازنده های ریسک حداقل ۳۲ ثبات دارند که مزیت آن عدم احتیاج به یک پشته بزرگ برای دخیره پارامتر هاست.
3- اندازه دستورات در پردازنده RISC ثابت است و CPU میتواند دستورات را به سرعت دیکد کند. ولی در CISC دستورات می تواند یک ، 2 یا حتی 3 بایتی باشد.
4- پردازنده های RISC مجموعه کوچکی از دستورات شامل دستورات پایه ای را در خود دارند که کار برنامه نویسان اسمبلی را در مقایسه با اسمبلی نویسی برای پردازنده های CISC سخت می کند.
5- پردازنده های RISC گذرگاه های جداگانه ای برای داده و کد دارند و لی در CISC از گذرگاه های مشترکی برای کد و داده استفاده می شود.