اجزاي داخلي CPU
حال به بررسي هر واحد و وظيفه آن ميپردازيم.
1- واحد محاسبه و منطق ( :(ALU= Arithmetic & Logic Unitاجراي عمليات محاسباتي و منطقي مطابق با دستورالعملهاي ارائه شده به آن بر عهده اين واحد است. منظور از عمليات محاسباتي همان اعمال رياضي، يعني جمع، تفريق، ضرب و تقسيم است و منظور از عمليات منطقي، اعمال مقايسهاي است. اين واحد شامل مداراتي است كه ميتوانند محاسبات و تصميمگيريهاي منطقي برنامههاي كامپيوتر را انجام دهند. واحد محاسبه و منطق وظيفه تجزيه، تحليل و اجراي دستورات را در CPU بر عهده دارد.2- واحد كنترل (Control Unit): واحد كنترل از مدارهاي الكترونيكي پيچيدهاي تشكيل شده است كه بر عملكرد ريزپردازنده نظارت دارد. اين واحد وظيفه اجراي دستورات را بر عهده ندارد، اما مشخص ميكند كه هر قسمت چه وظيفهاي دارد و ترتيب اجراي دستورالعملها را هم مشخص ميكند. اين واحد هماهنگ كننده فعاليتهاي سيستم كامپيوتري ميباشد. هنگامي كه برنامهاي اجرا ميشود، دستورالعملهاي برنامه از حافظه اصلي واكشي شده و در درون ثباتها قرار ميگيرند؛ سپس توسط واحد كنترل رمزگشايي شده و براساس دستورالعمل جاري واحد كنترل سيگنالهاي لازم را به اجزاي كامپيوتر اعمال ميكند تا عمل پردازش به درستي انجام شود. بنابراين وظايف واحد كنترل واكشي (خارج كردن دستورالعملها از حافظه به واحد پردازش) و رمزگشايي دستور (تفسير دستورالعملها براي اجرا) و اعمال سيگنالهاي مناسب به ساير اجزا با توجه به دستورالعمل رمزگشايي شده ميباشد. واحد كنترل با انتخاب و ترجمه دستورالعملها و پيگيري براي اجراي آنها، نظارت بر ورود و خروج دادههاي CPU و مديريت CPU را بر عهده دارد. به عبارت ديگر واحد كنترل نقش هدايت كننده را دارد و بر ورود دادهها از طريق واحد ورودي، ذخيره آنها در حافظه، انتقال آنها از واحد حافظه به واحد ALU و خروج اطلاعات از طريق واحد خروجي نظارت دارد. پس وظايف واحد كنترل عبارتند از: تفسير دستورات- تعيين آدرس- برقراري ارتباط بين اجزاء مختلف كامپيوتر- نظارت بر انجام كليه امور.
3- ثبات يا رجيستر (Register): حافظهاي با حجم بسيار كم كه دادهها پس از عمل واكشي در آن قرار ميگيرند و پس از پردازش نيز دادهها براي انتقال به حافظه، مجددا در ثبات قرار ميگيرند. در واقع دادهها و آدرسهاي در حال پردازش CPU به طور موقت در ثباتها قرار ميگيرند. سرعت دسترسي CPU به اين نوع از حافظهها در مقايسه با حافظههاي اصلي بيشتر است و واحد محاسبه و منطق و كنترل، همواره با اين حافظهها در ارتباط هستند.
اگر بخواهيم يك تعريف ساده و قابل درك از اين حافظهها داشته باشيم ميتوانيم بگوييم، ريزپردازنده براي جمع كردن دو عدد نياز به يك محل موقت دارد تا آنها را از داخل حافظه به داخل خود بياورد و لازم است اين دو عدد داخل آن قرار گرفته و سپس عمليات جمع انجام شود و به حافظه اصلي منتقل شود. حافظههاي موقت براي چنين عملياتي را ثبات مي گويند.
ثبات انباره يا اكومولاتور (Accumulator): ثباتي است كه نتايج عمليلت رياضي و منطقي انجام شده به وسيله واحد ALU را در خود نگه ميدارد.
4- حفظه سريع، نهان يا پنهانCache) ): سرعت عمليات CPU زياد است در نتيجه اطلاعات نيز بايد با سرعت زياد از حافظه اصلي (RAM) خوانده شده و جهت پردازش به CPU منتقل شوند و به سرعت در حافظه نوشته شوند. اما سرعت حافظه اصلي از سرعت واحد پردازش مركزي كمتر است، پس واحد پردازش مركزي بايد مكث كند تا اطلاعات از حافظه اصلي به آن انتقال يابد، بعد از انتقال اطلاعات به CPU، پردازش با سرعت انجام ميشود و باز جهت انتقال نتايج پردازش به حافظه اصلي (RAM) جهت ذخيره سازي آنها واحد پردازش مركزي بايد مكث كند تا بعد از نوشتن نتايج پردازش در حافظه اصلي بتواند اطلاعات جديد را بخواند و پردازش كند. اين مكثها در هنگام خواندن و نوشتن اطلاعات از حافظه اصلي باعث ميشود سرعت كامپيوتر پايين بيايد. اين زمانهاي مكث را حالتهاي انتظار مينامند. حافظه نهان يا پنهان حافظهاي از نوع SRAM با سرعت زياد است كه بين RAM و CPU قرار مي گيرد و سرعت آن مانند CPU ميباشد. در ابتدا مقداري از محتويات RAM كه مورد استفاده CPU است به حافظه Cache منتقل ميشود. حال اگر ريزپردازنده به دادههايي نياز داشته باشد، حافظه پنهان را بررسي ميكند، اگر اطلاعات مد نظر ريزپردازنده در كش بود، با سرعت بيشتري نسبت به حافظه اصلي در اختيار CPU قرار ميگيرند و سرعت پردازش و در نتيجه سرعت كامپيوتر بيشتر ميشود. اگر واحد پردازش مركزي به دادههايي احتياج داشته باشد كه در حافظه پنهان (كش) نيستند ولي در حافظه اصلي هستند، دادهها از RAM وارد حافظه Cache شده و در اختيار CPU براي پردازش قرار ميگيرند. بنابراين با وجود حافظه نهان يا پنهان يا Cache، كامپيوتر سريعتر ميشود؛ زيرا تعداد مكثهاي CPU كاهش مييابد. محل حافظه كش در بعضي سيستمها روي برد اصلي و در بعضي ديگر درون ريزپردارنده است. در بسياري از سيستمها مانند 80286اين حافظه به صورت يك واحد مستقل خارج از CPU قرار دارد. اما در سيستمهايي مانند 80486 يك كش داخلي بهتر از يك كش خارجي و به صورت موثرتري عمل ميكند. زيرا Cache داخلي با واحدهاي ديگر داخل CPU به صورت مجتمعتري قرار گرفته است. ظرفيت كش حدود 256 كيلوبايت تا چند مگابايت است كه به مراتب كمتر از مقدار RAM ميباشد.
چهار قسمت مطرح شده در بالا از مهمترين بخشهاي يك ريزپردازندهاند؛ اما ريزپردازنده اجزاي ديگري هم دارد:
- يک خط برای خواندن ( (RDو يک خط برای نوشتن WR)) است که آدرسیدهی حافظه را انجام میدهند.
- يک خط :Clock که ضربان پردازنده را تنظيم خواهد کرد. خط Clockپالسهای ساعت ورودی به ریزپردازنده را تعیین میکند و ریزپردازنده خود را با پالسهای ساعت ورودی به این خط همزمان خواهد کرد.
- يک خط :Reset که مقدار " شمارنده برنامه " را صفر نموده و يا باعث اجرای مجدد يک فرآيند میگردد.
- شمارنده برنامه (Program Counter): نوع خاصی از يک نگهدارنده اطلاعات است که قابليت افزايش به ميزان يک و يا پذيرش مقدار صفر را دارا است؛ و گذرگاهها كه در ادامه توضيح داده ميشوند.
- ثبات Test: يک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتايج حاصل از انجام مقايسهها توسط ALU است. ALU قادر به مقايسه دو عدد و تشخيص مساوی و يا نامساوی بودن آنها است. ثبات Test همچنين قادر به نگهداری يک بیت نقلی Carry bit)) ماحصل بیت انتقالی آخرين مرحله عمليات جمع است. ثبات فوق مقادير مورد نظر را در فليپ فلاپها ذخيره میکند که در ادامه Instruction Decoder (تشخيص دهنده دستورالعملها) با استفاده از مقادير فوق قادر به اتخاذ تصميمات لازم خواهد بود.
ثباتهای A,B,C: ثبات (نگاهدارنده)هائی بوده که از فليپ فلاپها ساخته شدهاند.
:Address Latch-مشابه ثباتهایA,B,Cاست.
- ريجستر Instruction و :Instruction Decoder مسئوليت کنترل ساير عناصر را برعهده خواهند داشت. بدين منظور از خطوط کنترلی متفاوتی استفاده میگردد.
واحد پردازش مركزي با قسمتهاي زير ارتباط دارد:
1- حافظه اصلي: در بخش حافظهها به انواع حافظهها و ويژگي آنها پرداخته خواهد شد.
2- واحد كنترل: توضيح داده شد.
3- واحد ورودي: اين واحد گذرگاهي است كه كليه دادهها جهت پردازش داخلي ريزپردازنده از اين واحد عبور ميكنند و به داخل ريزپردازنده وارد ميشوند يا به عبارت ديگر واحدي است كه دادهها از طريق آن وارد ريزپردازنده ميشوند. مثلا براي جمع دو عدد بايد دو عدد از طريق اين واحد به داخل ريزپردازنده بيايند. اين آمدن با نظارت واحد كنترل انجام ميشود و عمليات جمع انجام ميشود.
4- واحد خروجي: پس از پردازش دادهها نتايج پردازش بايد از داخل ريزپردازنده خارج شوند تا مورد استفاده قسمتهاي ديگر قرار گيرند. در نتيجه حاصل عمليات ريزپردازنده از طريق واحد خروجي از داخل ريزپردازنده خارج ميشوند. مثلا حاصل جمع دو عدد از طريق واحد خروجي به حافظه اصلي ميرود. اين خروج دادهها با نظارت واحد كنترل انجام ميشود.
*نظر خود را در مورد این مطلب با ما در میان بگذارید*
با سلام خدمت شما دوست عزیز و تشكر از اينكه وبلاگ بنده برای ديدن انتخاب كردی.