Borna66
03-15-2009, 07:12 PM
کامپیوتر کار اصلی خود را در بخشی از دستگاه که توسط ما دیده نمیشود انجام میدهد. این بخش دادههای خام را به اطلاعات تبدیل میکند. این مرکز کنترل که واحد پردازش مرکزی (Central Processing Unit) یا اختصارا CPU نامیده میشود، مجموعهی گسترده و پیچیدهای از مدارهای الکترونیکی است که وظیفهی اجرای دستورهای برنامه های ذخیره شده را به عهده دارد. واحد پردازش مرکزی از دو بخش عمده تشکیل شده است که هر یک از آنها را به اختصار توضیح خواهیم داد.
واحد کنترل (Control Unit): این بخش از مدارهای الکترونیکی تشکیل شده است که به وسیلهی آنها سیستم کامپیوتر را در جهت اجرای دستورات هدایت میکند. مانند یک رهبر ارکستر. توجه به این نکته ضروری است که این واحد خود دستورات را اجرا نمیکند بلکه دیگر اعضای سیستم را وادار به انجام آنها میکند. به این منظور این واحد باید با حافظهی کامپیوتر و واحد محاسبه و منطق ارتباط داشته باشد.
واحد محاسبه و منطق (Arithmetic/ Logic Unit): این واحد مجموعهای از مدارهای الکترونیکی است که همان طور که از نامش بر میآید مسئول اجرای دستورات محاسباتی و منطقی است. دستورات محاسباتی این بخش به چهار عمل اصلی ضرب، تقسیم، جمع و تفریق محدود میشود. دستورات منطقی نیز معمولا شامل مقایسه است. این بخش می تواند اعداد، حروف یا کاراکترهای به خصوص را با هم مقایسه کند.
عملکرد CPU
مجموعهی عملکردهای CPU را میتوان به چهار بخش اصلی تقسیمبندی کرد که تقریبا در همهی ریزپزدازندههای امروزی یکسان است.
فراخوانی (Fetch): مرحلهی فراخوانی شامل دریافت یک دستورالعمل اجرایی از یک برنامهی ذخیره شده است که این دستورالعمل معمولا به صورت یک عدد یا مجموعهی مرتبی از اعداد است. بخشی از CPU به نام شمارندهی برنامه (Program Counter) یا PC، محلی را در قسمتی از حافظه که توسط برنامهی تحت اجرا اشغال شده است مشخص میکند. عددی که در PC ذخیره میشود مرحلهی فعلی فرآیند اجرای برنامه را مشخص میکند. بعد از این که دستور فراخوانی میشود، شمارنده افزایش مییابد. این افزایش متناسب با اندازهی حجمی از حافظهی کامپیوتر است که دستور تحت اجرا آن را اشغال کرده بود. به این ترتیب CPU هنگام اجرای دستور بعدی می داند که از کجای حافظه شروع کند.
رمزگشایی (decode): در این مرحله، واحد کنترل دستور فراخوانی شده را به بخشهایی که برای قسمتهای پردازنده قابل فهم هستند تفکیک میکند. همان طور که ذکر شد، هر دستور به صورت مجموعهی مرتبی از اعداد است. بخشی از این مجموعه اعداد که شناسنده (opcode) نام دارد، بیان میکنند که عمل اصلی مربوط به این دستور چیست. بخش باقیمانده معمولا حاوی دادههای مورد نیاز برای اجرای آن دستور است. مثلا برای دستور جمع دو عدد، opcode دستور جمع را معرفی میکند و باقی دستور نشان میدهد که متغیرهایی که باید با هم جمع شوند چه هستند یا باید از کدام قسمت حافظه برداشته شوند.
اجرا (execute): در این مرحله بخشهای مختلف اجرایی، ورودی و خروجی و حافظهای CPU در ارتباط با یکدیگر قرار میگیرند و سرانجام عملیات نهایی در بخش محاسبه و منطق روی دادهها انجام میگیرد.
بازگشت برای نوشتن مجدد (writeback): در این مرحله، نتایج مرحلهی اجرا به شکل نوعی از حافظه ذخیره میشوند. گاهی ممکن است لازم باشد که این نتیجه در دسترس سریع CPU قرار گیرد تا برای انجام فرآیندهای بعدی CPU از آن استفاده کند. برای این منظور نوعی حافظهی موقت در CPU وجود دارد که ثبّات (register) نام دارد که این گونه اطلاعات روی آن ذخیره میشوند
نویسنده :آقای محسن غفوریان
برگرفته از :
كد - لینک:
PersianBlog (http://www.Mohsen2008mahdi.persianblog.ir)
:104:
گردآونده:طه-Borna66__________________
واحد کنترل (Control Unit): این بخش از مدارهای الکترونیکی تشکیل شده است که به وسیلهی آنها سیستم کامپیوتر را در جهت اجرای دستورات هدایت میکند. مانند یک رهبر ارکستر. توجه به این نکته ضروری است که این واحد خود دستورات را اجرا نمیکند بلکه دیگر اعضای سیستم را وادار به انجام آنها میکند. به این منظور این واحد باید با حافظهی کامپیوتر و واحد محاسبه و منطق ارتباط داشته باشد.
واحد محاسبه و منطق (Arithmetic/ Logic Unit): این واحد مجموعهای از مدارهای الکترونیکی است که همان طور که از نامش بر میآید مسئول اجرای دستورات محاسباتی و منطقی است. دستورات محاسباتی این بخش به چهار عمل اصلی ضرب، تقسیم، جمع و تفریق محدود میشود. دستورات منطقی نیز معمولا شامل مقایسه است. این بخش می تواند اعداد، حروف یا کاراکترهای به خصوص را با هم مقایسه کند.
عملکرد CPU
مجموعهی عملکردهای CPU را میتوان به چهار بخش اصلی تقسیمبندی کرد که تقریبا در همهی ریزپزدازندههای امروزی یکسان است.
فراخوانی (Fetch): مرحلهی فراخوانی شامل دریافت یک دستورالعمل اجرایی از یک برنامهی ذخیره شده است که این دستورالعمل معمولا به صورت یک عدد یا مجموعهی مرتبی از اعداد است. بخشی از CPU به نام شمارندهی برنامه (Program Counter) یا PC، محلی را در قسمتی از حافظه که توسط برنامهی تحت اجرا اشغال شده است مشخص میکند. عددی که در PC ذخیره میشود مرحلهی فعلی فرآیند اجرای برنامه را مشخص میکند. بعد از این که دستور فراخوانی میشود، شمارنده افزایش مییابد. این افزایش متناسب با اندازهی حجمی از حافظهی کامپیوتر است که دستور تحت اجرا آن را اشغال کرده بود. به این ترتیب CPU هنگام اجرای دستور بعدی می داند که از کجای حافظه شروع کند.
رمزگشایی (decode): در این مرحله، واحد کنترل دستور فراخوانی شده را به بخشهایی که برای قسمتهای پردازنده قابل فهم هستند تفکیک میکند. همان طور که ذکر شد، هر دستور به صورت مجموعهی مرتبی از اعداد است. بخشی از این مجموعه اعداد که شناسنده (opcode) نام دارد، بیان میکنند که عمل اصلی مربوط به این دستور چیست. بخش باقیمانده معمولا حاوی دادههای مورد نیاز برای اجرای آن دستور است. مثلا برای دستور جمع دو عدد، opcode دستور جمع را معرفی میکند و باقی دستور نشان میدهد که متغیرهایی که باید با هم جمع شوند چه هستند یا باید از کدام قسمت حافظه برداشته شوند.
اجرا (execute): در این مرحله بخشهای مختلف اجرایی، ورودی و خروجی و حافظهای CPU در ارتباط با یکدیگر قرار میگیرند و سرانجام عملیات نهایی در بخش محاسبه و منطق روی دادهها انجام میگیرد.
بازگشت برای نوشتن مجدد (writeback): در این مرحله، نتایج مرحلهی اجرا به شکل نوعی از حافظه ذخیره میشوند. گاهی ممکن است لازم باشد که این نتیجه در دسترس سریع CPU قرار گیرد تا برای انجام فرآیندهای بعدی CPU از آن استفاده کند. برای این منظور نوعی حافظهی موقت در CPU وجود دارد که ثبّات (register) نام دارد که این گونه اطلاعات روی آن ذخیره میشوند
نویسنده :آقای محسن غفوریان
برگرفته از :
كد - لینک:
PersianBlog (http://www.Mohsen2008mahdi.persianblog.ir)
:104:
گردآونده:طه-Borna66__________________