سه شنبه بیست و نهم مرداد ۱۳۹۲ ساعت 21:8 توسط يوسف دريكوند
|
آشنايي با ريزپردازنده و اجزاي آن
در بخش سختافزار گفته شد كه يك سيستم كامپيوتري از چهار واحد تشكيل شده است كه به شرح زير هستند:
1- واحد وروديIO= Input Unit) )
2- واحد خروجي (OU= Output Unit)
3- واحد حافظه (MU= Memory Unit)
4- واحد پردازش مركزي (CPU= Central Processing Unit)
دراين بخش به بررسي "واحد پردازش مركزي (CPU)" و بخشهاي مختلف آن ميپردازيم.
تعريف واحد پردازش مركزي (CPU): اساسيترين جز يك سيستم كامپيوتري CPU ميباشد كه كار پردازش اطلاعات در سيستم كامپيوتري را انجام ميدهد و به عنوان مغز كامپيوتر محسوب ميشود. پردازنده مركزي، مدار مجتمعي شامل ميليونها قطعه الكترونيكي است. واحد پردازش مركزي (CPU)، در تراشهاي قرار دارد كه به آن ريزپردازنده (MicroProcessor) ميگويند.بيشترين عمليات پردازشي و محاسباتي، در ريزپردازنده انجام ميشود. اين واحد عملياتي دستورالعملها را تفسير و اجرا ميكند. ريزپردازنده براي اين كار از روشها مختلف پردازش استفاده ميكند كه در ادامه اين روشها را توضيح ميدهيم.
نكته: منظور از پردازشگر، ريزپردازنده و واحد پردازش مركزي، همان CPU= Central Processing Unit مي باشد.
هرچه سرعت پردازش اطلاعات توسط پردازنده مركزي بيشتر باشد سرعت كامپيوتر نيز بيشتر ميشود. پردازنده مركزي دادهها را با استفاده از دستورالعملهاي نوشته شده، كه از قبل براي آن تعريف شده است، پردازش ميكند. شركتهاي زيادي در دنيا هستند كه به توليد اين محصول ميپردازند. از معروفترين آنها Intel، Cyrix و ADM= Advanced Micro Devicesميباشد. واحد سرعت ريزپردازندهها يا كامپيوترها MIPS ميباشد كه معادل "يك ميليون دستورالعمل در يك ثانيه" ميباشد.
MIPS مخفف، Million Instruction Per Second ميباشد.
واحد اندازهگيري سرعت ساعت كامپيوترمگاهرتز (MHZ) ميباشد. هرچه سرعت ساعت يك ريزپردازنده بيشتر باشد، آن ريزپردازنده سريعتر عمل ميكند. سرعت ساعت، تعداد ضربانهاي الكترونيكي در ثانيه ميباشد. همچنين تعداد دستورالعملهاي ريزپردازنده هر چقدر بيشتر و كاملتر باشد، قدرت ريزپردازنده بيشتر است.
هر ريزپردازنده دارایمجموعهای از دستورالعملها بوده که دارای کارآئی خاصی میباشند. اين دستورالعملها به صورت الگوئی از صفر و يا يک پياده سازی میشوند. استفاده از دستورات باتوجه به ماهيت الگوئی آنها برای انسان مشکل و بخاطر سپردن آنها امری است مشکلتر. بدين دليل از مجموعهای "کلمات" برای مشخص نمودن الگوهای استفاده میگردد. مجموعه "کلمات" زبان اسمبلی ناميده میشوند. يک اسمبلر، قادر به ترجمهکلمات به الگوهای بيتی متناظر است. پس از ترجمه، حاصل عمليات که همان استخراج" الگوهای بيتی" است، در حافظه مستقر تا زمينه اجرای آنها توسط ريزپردازنده فراهمگردد. هر دستورالعمل از يك كد عملياتي كه نشاندهنده نوع عمل است و يك يا چند عملوند كه نشاندهنده دادههاي مورد استفاده در دستورالعمل ميباشد، تشكيل شده است. نظارت بر صحت اجراي دستورالعملها هم از وظايف ريزپردازنده ميباشد كه توسط واحد كنترل انجام ميشود.
كلمه (Word): به تعداد بيتهايي كه واحد پردازش مركزي در يك زمان ميتواند روي آن كار (پردازش) انجام دهد، گفته ميشود و مي تواند 1 بايتي، 2 بايتي يا 4 بايتي باشد. اما معمولا به 2 بايت يك كلمه گفته ميشود. طول كلمات معمولا 8، 16، 32 و64 بيت ميباشد. وقتي گفته ميشود كامپيوتري مثلا هشت بيتي است يعني طول كلمه آن يك بايت است؛ يعني اطلاعات بين CPU و حافظه RAM به صورت هشت بيتي رد و بدل ميشود. كامپيوترهاي AT (286) شانزده بيتي هستند، يعني طول كلمه آنها و نيز طول ثباتها دو بايت است. بديهي است هر چه طول كلمه بيشتر باشد، CPU سريعتر است.
حالت انتظار (Wait State): مدت زمان لازم جهت 2 دسترسي متوالي به حافظه توسطCPU را حالت انتظار گويند. هر چقدر اين زمان كمتر باشد، سرعت ريزپردازنده يا كامپيوتر بيشتر است.
چرخه ماشين (Machine Cycle): وظايف ريزپردازنده را ميتوان در چهار مرحله زير خلاصه كرد كه به آن، چرخه ماشين گفته ميشود.
1- آوردن دستورالعملها از واحد حافظه به ثباتهاي واحد پردازش كه به آن واكشي (Fetch) گفته مي شود.
2- رمزگشايي دستورالعملها (Decode)
3- پردازش دستورات با توجه به دستورالعملهاي داده شده به ريزپردازنده (Process)
4- بردن نتايج به حافظه اصلي (RAM)
ريزپردازنده دو عمل مهم انجام میدهد:
1- کنترل تمام محاسبات و عملیات
2- کنترل قسمتهای مختلف
به منظور آشنائی با نحوه عملکرد ريزپردازنده لازم است نگاهی به درون يک ريزپردازنده داشته و با منطق نحوه انجام عمليات آن بيشتر آشنا شويم.يک ريزپردازنده مجموعهای از دستورالعملها را اجراء می کند. دستورالعملهای فوقماهيت و نوع عمليات مورد نظر را برای پردازنده مشخص خواهند کرد.
با توجه به نوع دستورالعملها، يک ريزپردازنده سه عمليات اساسی را انجام خواهد داد:
1- يک ريزپردازنده با استفاده از واحد محاسبه و منطق خودقادر به انجام عملياتمحاسباتی نظير جمع ، تفريق، ضرب و تقسيم است. ريزپردازندههای جديد دارای ريزپردازندههای اختصاصی برای انجام عمليات مربوط به اعداد اعشاری میباشند.
2- يك ريزپردازنده قادر به انتقال داده از يك محل به محل ديگر است.
3- يك ريزپردازنده قادر به اتخاذ تصميمگيري و پرش به يك محل ديگر براي اجراي دستورالعملهاي مربوطه براساس تصميم اتخاذ شده است.
پردازنده وظایف اصلی زیر را برای كامپيوتر انجام می دهد:
1- دریافت دادهها از دستگاههای ورودی
2- انجام عملیات و محاسبات و کنترل و نظارت بر آنها
3- ارسال نتایج عملیات به دستگاههای خروجی
ريزپردازنده در رایانههای شخصی به شکل یک قطعه نسبتاً تخت و کوچک به اندازه ۸ یا ۱۰ سانتیمتر مربع که نوعی ماده، مانند پلاستیک یا سرامیک روی آن را پوشانده است تشکیل شده است. در واقع فرآیند به وجود آمدن این مغز الکترونیکی به این گونه میباشد که از سیلیکان به علت خصوصیات خاصی که دارد جهت ایجاد تراشه استفاده میشود. بدین گونه که آن را به صورت ورقههای بسیار نازک و ظریف برش میدهند و این تراشهها را در درون مخلوطی از گاز حرارت میدهند تا گازها با آنها ترکیب شوند و بدین صورت طبق این فرآیند شیمیایی سیلیکان که از جنس ماسه میباشد به فلز و بلور تبدیل میشود که امکان ضبط و پردازش اطلاعات را در بردارد. این قطعه کار میلیونها ترانزیستور را انجام می دهد.
آشنايي با كمك پردازنده (Co-Processor)
يك تراشه الكترونيكي كه به منظور انجام محسبات پيچيده رياضي و گرافيكي مورد استفاده ميگيرد. غالبا منظور از كمك پردازنده، كمك پردازنده رياضي است. ريزپردازندههاي امروزي كمك پردازنده را درون خود قرار جاي دادهاند (پردازنده كمكي داخلي). به عنوان مثال تراشه 80278 يك پردازنده كمكي قديمي است كه در كامپيوترهاي مدل 286 و 386 مورد استفاده قرار مي گيرد. 8086 داراي كمك پردازنده 8087 و 80286 داراي كمك پردازنده 80287 ميباشد. 80386 و 80486 داراي كمك پردازندههايي با نامهاي 80387 و 80487 ميباشد. در 486DX كمك پردازنده داخل خود CPU قرار دارد و به اين دليل سرعت آنها از مدل 486SX كه فاقد كمك پردازنده است، بيشتر ميباشد. در پنتيوم نيز كمك پردازنده داخل خود CPU قرار دارد.
نكته: بعضي از نرمافزارها بدون پردازنده كمكي اجرا نخواهند شد.
اصطلاح کمک پردازنده یا پردازنده كمكي ( (Co-Processorیک عنوان کلی است و در حالت کلی به پردازندهای (ریزپردازندهای) اطلاق میشود که جهت کمک به پردازنده اصلی کنار آن قرار میگیرد. بدین ترتیب بدیهی است که همچنان کار اصلی پردازش بر عهده ریزپردازنده اصلی است و ریزپردازنده کمکی صرفا برای انجام برخی عملیات خاص و به منظور کمک به آن (مثلا در جهت بالا بردن سرعت کلی پردازش) در کنار آن قرارگرفته است. جهت توضیح مفهوم کلی آن فرض کنید شما یک کار تخصصی و کاملا خاصی را انجام میدهید. مثلا در حین برنامهنویسی در موارد زیادی نیاز به رسم یک شکل مشخصی (مثلا شکل یک صندلی) دارید. در این صورت میتوانید به شرکت سازنده ریزپردازنده سفارش کنید تا برای شما ریزپردازنده ای بسازد که عمل رسم صندلی را (که قبلا برای آن برنامه مینوشتید و با دستورات زیادی آن را انجام میدادید) بصورت سخت افزاری (و با یک دستور خاص) انجام دهد. بنابراین ریزپردازنده اصلی در همان موقعیت و جایگاه خودش باقی خواهد ماند و شما صرفا در مواقع خاصی از ریزپردازنده سفارشی خود استفاده خواهید کرد. بدیهی است وجود ریزپردازنده کمکی مذکور، وقتی مفید خواهد بود که شما در برنامهنویسی به تعداد زیادی از دستورات رسم شکل صندلی نیز استفاده کرده باشید.
البته عملا نه شرکت تولید کننده ریزپردازنده، کار طراحی و ساخت یک ریزپردازنده خاصی را برای شما انجام میدهد و نه شما قادر به پرداخت هزینههای سنگین تولید و ساخت این چنین ریزپردازندهای هستید ولی ذکر مثال فوق جایگاه واقعی ریزپردازندههای کمکی را کاملا مشخص میسازد.
البته موارد زیادی در برنامه نویسی و اجرا وجود دارد که می توان برای آنها ریزپردازنده کمکی ساخت. مثل اعمال محاسباتی و ریاضی. مثلا کاربرد اعمال محاسباتی نظیر توابعی مثل sin در محاسبات مهندسی زیاد است و اگر شرکت سازنده ریزپردازنده برای توابع مثلثاتی، ریزپردازنده خاصی بسازد می توان امیدوار بود که تعداد قابل توجهی از آنها به فروش رسد.
واقعیت هم همین است که برای اولین بار شرکت اینتل اقدام به تولید ریزپردازنده محاسباتی بدین منظور نمود و مثلا ریزپردازندهای به شماره 8087 تولید کرد که به عنوان کمکی در کنار ریزپردازنده اصلی (8086) قرار میگرفت و البته صرفا دستورات خاصی را میتوانست انجام دهد (مثل توابع مثلثاتی) و شرکت اینتل این نوع ریزپردازندهای کمکی را تا نسل ریزپردازنده 80386 تولید کرد که به آنها Numeric Processor Unit یا به اختصار NUP گفته میشد (یا پردازندههای کمکی که برای تسریع عملیات I/O ساخته شد).
همان طوری که ذکر شد هدف از بکاربردن پردازنده كمكي، بالا بردن سرعت محاسبات عددي در داخل کامپيوتر به همراه CPU بود. براي تعيين نوع کمک پردازندهها از همان روش شماره گذاری عددي به کار رفته در CPU اصلی استفاده شد و فقط به جای رقم آخر يک عدد 7 در انتهاي شماره ریزپردازنده اضافه گردید. بنابراين براي ریزپردازنده 80286 بايد از يک NPU به شماره 80287 و یا برای ریزپردازنده 80386 از کمک پردازنده 80387 استفاده شود. ولی از ریزپردازنده 80486 به بعد شرکت اینتل تصمیم گرفت که خود ریزپردازنده کمکی محاسباتی را هم در داخل ریزپردازنده اصلی تولید کرده و به بازار ارائه نماید.
بنابراین اگر سيستم شما از يک پردازنده 80486DX يا پردازنده پنتيوم استفاده ميکند نياز به کمک پردازنده نخواهيد داشت، چون خود اين تراشه در داخل پردازنده تعبيه شده است.
نکته 1: در پردازندههاي80486DX-33 تا جديدترين پردازندهها (سريهاي پنتيوم و بعد از آن)، کمک پردازنده در داخل خود CPU طراحي شده است.
نکته 2: در صورتي که پردازنده شما به رده 80486 نميرسد، شما مي توانيد از يک NPU که سرعتش بيشتر از پردازنده سيستم شما است استفاده کنيد و هيچ مشکلي پيش نخواهد آمد. اما اگر سرعت NPU کمتر از سرعت CPU باشد عملا به سرعت سيستم شما چیزی اضافه نخواهد شد
*نظر خود را در مورد این مطلب با ما در میان بگذارید*