پاورپوینت اصول سیستم های کامپیوتری RISCو CISC (pptx) 39 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 39 اسلاید
قسمتی از متن PowerPoint (.pptx) :
اصول سیستم های کامپیوتری
1
RISCو CISC
کلمه (RISC) ریسک ساده شده یا مخفف عبارت Reduced instruction set computing به معنای "مجموعه دستورات محاسباتی ساده شده" یا "مجموعه دستورات بهینه شده" است.
کلمه (CISC) سیسک ساده شده و مخفف عبارت Complex instruction set computing به معنای “مجموعه دستورات محاسباتی پیچیده” یا “مجموعه دستورات پیچیده” است.
2
RISC یکی از طراحیهای پردازنده است که اغلب به نام معماری RISC نیز شناخته میشود. RISC بر اساس ساده سازی و بهینه کردن مجموعه دستورات طراحی شده و به عبارت بهتر، بجای پردازش مجموعهای از دستورالعملهای پیچیده، از دستورات بسیار ساده تر و بهینه تری برای پردازش استفاده میکند که باعث کارایی و عملکرد بسیار بهینه تر آن میشود. ریسک از روش لولهای (Pipeline) برای پردازش استفاده میکند. ARM از مهمترین معماریهایی است که همراه با این طراحی در بسیاری از پردازندههای از پیش نصب شده مورد استفاده قرار میگیرد.
البته منظور از دستورات ساده این است که اکثر آنها در یک سیکل پردازش میشوند بنابراین طراحی RISC بسیار ساده تر از طراحیهای دیگری مانند CISC است. در ساختار RISC به دلیل همین سادگی، معمولاً فرکانس کاری پردازنده بیشتر از طراحیهایی مثل CISC ثبت میشود درحالی که در RISC دستورات به صورت ابتدایی، بهینه و کوتاه پردازش میشوند؛ بنابراین در فرکانس کلاک مشخص، معمولاً کارایی کمتری نسبت به طراحی CISC دارند. یکی دیگر از خصوصیات مهم طراحی ریسک دسترسی به حافظه RAM است. در RISC دسترسی به دادههای موجود در آدرسهای مشخص از رم تنها به تعدادی دستور ویژه ( Load/Store) محدود شده که امکان دسترسی به دادههای رم را از طریق سایر دستورات غیرممکن میکند.
3
برای مثال، فرض کنید که قصد ضرب کردن دو عدد را داریم توجه کنید که برای درک بهتر، همه چیز به صورت ساده بیان شده است. در حافظه RAM و در آدرسهای a50 و a51 به ترتیب اعداد ۳ و ۲ ذخیره شده اند. با استفاده از دستورهای زیر در زبان اسمبلی و در طراحی RISC، میتوانیم این دو عدد را در یکدیگر ضرب کنیم:
LOAD r1, a50
LOAD r2, a51
PROD r1, r2
STORE a50, r1
در دستور اول و دوم، به ترتیب دادههای موجود در آدرس a50 و a51 را در ثباتهای r1 و r2 ذخیره میکنیم. در خط سوم، این دو عدد را در یکدیگر ضرب کرده و در خط آخر هم این مقدار را در آدرس a50 مینویسیم. توجه کنید که کل این فرایند را در طراحی CISC میتوانیم با استفاده از دستور MUL a50, a51 انجام دهیم. دستور MUL هم مجموعهای از همین کدهاست.
4
معایب طراحی ریسک
زیاد بودن رجیسترها
با این که سریع ترین حافظههای پردازنده هستند، باعث تاخیر در انتقال دادهها میشود.
به دلیل ساده بودن دستورات ریسک، این طراحی معمولاً نیاز به RAM بیشتری نیز دارد.
میکروکنترلر ATXMEGA128A3 که از طراحی RISC استفاده میکند
5
چرا استفاده از طراحی RISC بسیار رایج است؟
کمتر بودن تعداد ترانزیستورها
ترانزیستورهای موجود در هر هسته RISC که برای پردازش منطقی مورد استفاده قرار میگیرد، بسیار کمتر از تعداد ترانزیستورهایی است که بر روی طراحی CISC استفاده میشوند. که سبب کاهش اندازه کامل شده پردازنده شده و در نتیجه به صورت قطعات کوچکتر میتوانند در اغلب ابزارهای الکتریکی مورد استفاده قرار گیرند. همچنین ترانزیستور کمتر به معنای کاهش مصرف انرژی شده و باعث میشود پردازنده به نسبت، کمتر گرم شود.البته طراحی ریسک، ثباتهای بیشتری در اختیار کاربران و برنامه نویسان قرار میدهد اگر چه از انواع مهم دادهها (مثلاً اعداد اعشاری) پشتیبانی نمیکند.
همه این دلایل باعث میشوند که پردازندههای ساخته شده توسط طراحی RISC به خصوص (همراه با معماری )ARM هزینه تمام شده بسیار کمتری نسبت به پردازندههای CISC داشته باشند. به این ترتیب میتوان از آنها در اغلب دستگاهها از تلفنهای ثابت گرفته تا سوپرکامپیوترها استفاده کرد. البته بیشترین کاربرد این پردازندهها در دستگاههایی هستند که به نسبت، نیاز به پردازش و توان مصرفی کمتری دارند مانند تلفنهای هوشمند، تبلتها، ساعتهای هوشمند و ... .
معماری های مهمی که از طراحی ریسک استفاده می کنند کدامند ؟
6
طراحی CISC چیست؟
CISC یکی از طراحیهای پردازنده است که اغلب به نام “معماری CISC” نیز شناخته میشود. CISC بر اساس جمع کردن مجموعهای از دستورات سطح پایین(Low-level) به عنوان تنها یک دستور ساخته شده است و در مقابل طراحی (RISC) قرار دارد. در این طراحی مجموعهای از دستورات ساده و ابتدایی مثل خواندن از حافظه، انجام عملیات محاسباتی و ذخیره کردن در حافظه، در یک دستور جمع میشوند یعنی بجای نوشتن تک تک این دستورات، میتوانیم از یک دستور استفاده کنیم. x86 و x64 از مهمترین معماریهایی هستند که با این طراحی در بسیاری از پردازندههای اینتل و AMD مورد استفاده قرار گرفته و بخش بزرگی از کامپیوترهای شخصی را پوشش میدهند.
7
منظور از مجموعه دستورات پیچیده این است که هر دستور سطح بالاتری، از مجموعهای از دستورات سطح پایین تر ساخته شده است. برای مثال، فرض کنید که قصد ضرب کردن دو عدد را داریم توجه کنید که برای درک بهتر، همه چیز به صورت ساده بیان شده است. درحافظه (RAM) و در آدرسهای a50 و a51 به ترتیب اعداد ۳ و ۲ ذخیره شده اند. با استفاده از دستورهای زیر در زبان اسمبلی و در طراحی CISC، میتوانیم این دو عدد را در یکدیگر ضرب کنیم:
MUL a50, a51
نه تنها CISC کار برنامه نویس را بسیار آسان تر میکند، بلکه باعث کاهش حجم کدهای برنامه نیز میشود.
CISC طراحیای است که زبانهای سطح بالا را بوجود میآورد.
8
معایب طراحیCISC
بسیاری از دستورات پیچیده در طراحی سیسک اغلب استفاده نمیشوند و از طرفی، هزینه تولید پردازندههایی که برپایه طراحی سیسک هستند، بسیار بیشتر است و تعداد رجیستری های عمومی آن نیز کم هستند.
در طراحی سیسک امکان استفاده از قابلیت پردازشی لولهای (Pipeline) وجود ندارد؛ چون دستورات به دلیل پیچیدگیهایی که دارند اندازهها و فرم دادههایی که خواهند خواند مشخص نیست. به علاوه، دستورات در طراحی CISC در چرخههای متفاوتی پردازش میشوند. برای مثال ممکن است دستوری در یک چرخه و دستور دیگری در ۶ چرخه تکمیل شود. به این ترتیب استفاده از پایپ لاین در طراحی سیسک بر خلاف طراحی رسیک، عملاً غیر ممکن خواهد بود.
با وجود نداشتن قابلیت پایپ لاین، سرعت در پردازندههای طراحی شده برپایه سیسک بیش از پیش اهمیت خود را نشان خواهد داد. برای مقایسه سرعت پردازندههای سیسک میتوان از فرمول زیر استفاده کرد که در سه حالت مختلف بیان میشود. در این فرمول، نتیجه همان زمان لازم برای اجرای کامل برنامه است. البته به دلیل اینکه ممکن است برخی از دستورات در چرخههای متفاوتی اجرا شوند، از این فرمول نمیتوان به صورت دقیق برای محاسبات استفاده کرد:
9