پروژه درس ریزپردازنده
نام دانشجو مهدی سلامی
معماری پردازنده های RISC و CISC
مقدمه:
تعریف پردازنده:
واحد پردازش مرکزی (پردازنده) یاCPU که مخفف عبارت Central Processor Unit میباشد مانند مغز و بخش اصلی کامپیوتر است که مسئول پردازش تمامی دستورالعملها و مدیریت کلیه مراحل پردازش دادهها است.
عملکرد پردازنده شامل سه مرحله است:(Fetch)
واکشی یا همان دریافت دادهها و دستورالعمل اولین مرحله از مراحل عملکرد پردازنده است. در این مرحله سی پی یو دستورالعملهایی که توسط کاربر به کامپیوتر داده میشود در قالب صفر و یک از RAM دریافت میکند که این دستورالعملها یک بخش کوچک از عملیاتی است که قرار است بر روی دادهها انجام شود؛ بنابراین سی پی یو برای انجام کامل عملیات باید بداند دستورالعمل بعدی کاربر چیست. آدرس دستور فعلی دادهشده به سیستم توسط شمارنده سیستم یا(Program Counter) که بهاصطلاح به آن PC میگویند نگهداری میشود سپس PC به همراه دستورالعملها در واحد ثبت دستور (Instruction Register) که اصطلاحاً به آن IR میگویند درج میشوند و در آخر مقدار PC یک واحد افزایش مییابد تا به نشانی دستورالعمل بعدی ارجاع داده شود. در فرآیند واکشی با توجه به محتوای PC محل قرار گرفتن دستور بر روی حافظه مشخص میشود و درصورتیکه یک دستور بهصورت جهش (Jump) اجرا شود شمارنده برنامه به آدرس دستوری که جهش به آن نقطه انجامشده است تغییر پیدا میکند.رمزگشایی (Decode):
وقتیکه یک دستور واکشی شد در واحدی به نام ثبت دستورالعمل (Instruction Register) ذخیره میشود و سی پی یو دستورالعملها را به یک واحد به نام رمزگشای دستورالعمل (مدار کدگشایی دستورالعمل) که با نام خارجی (Instruction Decoder) شناخته میشود ارسال میکند. در واحد رمزگشایی دستورات به سیگنالهایی تبدیل میشوند و برای اقدامهای مختلف به واحدهای دیگر پردازنده فرستاده میشوند.
اجرا (Execute):
اجرا آخرین مرحله از سه مرحله عملکرد سی پی یو میباشد. در این مرحله دستورات رمزگشاییشده برای تکمیل فرآیند پردازش به قسمتهای مربوطه در CPU ارسال میشوند و نتایج تکمیل فرآیند در بخشی به نام حافظههای ثبات نگهداری میشوند تا در دستورات بعدی به آنها ارجاع شود.
واحدهای یک پردازنده:واحد محاسبه و عملیات منطقی(ALU):
واحد محاسبه و عملیات منطقی(ALU) یک مدار دیجیتالی پیچیده است که عملیات ریاضی و مقایسهای را انجام میدهد و بعد از پردازش اطلاعات توسط ALU آنها را حافظه کامپیوتر ارسال مینماید. چندین واحد محاسبه و منطق را میتوان درCPU، GPU وFPU یافت. در برخی پردازندههای رایانهای، ALU به AU وLU تقسیم میشود. AU عملیات حسابی را انجام میدهد و LU عملیات منطقی را انجام میدهد.
واحد کنترل حافظه (CU):
واحد کنترل یا CU مداری است که عملیات را درون پردازنده رایانه هدایت و مدیریت میکند و این امکان را به واحد محاسبه و منطق و همچنین دستگاههای ورودی و خروجی میدهد که چگونه میتوانند به دستورالعملهای دریافت شده از یک برنامه پاسخ دهند. واحد کنترل با دریافت اطلاعات ورودی که آن را به سیگنالهای کنترلی تبدیل میکند، کار میکند و سپس به پردازنده مرکزی ارسال میشود و پردازنده به سختافزار متصل میگوید چه عملیاتی را باید انجام دهد. کارکردهایی که یک واحد کنترل انجام میدهد، به دلیل واریانس معماری بین تولیدکنندگان مختلف، به نوع CPU بستگی دارد.
واحد حافظه ثبات (Register):
CPU های مختلف دارای حافظه ثباتهای گوناگون میباشند. بعضی از رجیسترها برای نگهداری نتایج اعمال استفاده میشوند و بعضی دیگر بهعنوان اشارهگر و برخی نیز برای اهداف دیگر میباشند. دستورالعملها مجاز هستند که با سرعتی برابر با 16، 32 یا 64 بیت پردازش شوند و بهعنوانمثال اگر برنامهای برای پردازش دستورالعملهای 64 بیتی طراحیشده باشد، پردازندهای با ثبت 32 بیتی قادر به اجرای آن برنامه نیست
اولین پردازنده اینتل 4004 بود که در سال 1971 معرفی شد. ریز پردازنده 4004 چندان قدرتمند نبود و تنها کاری که میتوانست انجام دهد جمع و تفریق بود و همزمان تنها با 4 بیت کار میکرد. اما شگفتآور بود که همه چیز روی یک تراشه قرار داشت. قبل از 4004، مهندسان کامپیوترها را از مجموعه تراشهها یا از اجزای گسسته مانند ترانزیستورها میساختند. ریزپردازنده 4004 مجهز به یکی از اولین ماشینحسابهای الکترونیکی قابل حمل بود.