CPU به زبان ساده
اشاره :
CPU تقريباً گرانقيمت ترين و در عين حال سخت كوش ترين بخش يك كامپيوتر مي باشد ، همين دو ويژگي آشنايي با چگونگي كار كرد CPU را جالب مي كند. در اين مقاله قصد نداريم به مسايل پيچيده و بحث هاي خاص فني بپردازيم بلكه مي خواهيم با توضيحاتي نسبتا ساده شما را با نحوه عمكرد و اصطلاحاتي در خصوص پردازنده ها آشنا سازيم
عناصر تشكيل دهنده CPU
CPU ، اين قطعه كوچك اما بسيار پيچيده چيزي نيست جز يك مجموعه بسيار بزرگ از ترانزيستورها.
اما ترانزيستور چيست ؟ به بيان بسيار ساده ، ترانزيستور از سه سيم تشكيل شده است كه يكي ولتاژ به آن وصل است و دو سيم ديگر نيز حامل جريان مي باشند. اگر ولتاژ قطع شود در پي آن جريان نيز قطع خواهد شد در حقيقت ترانزيستور مانند يك سوئيچ ساده اما بسيار كوچك عمل مي كند.
يك ترانزيستور به تنهايي كار خاصي انجام نمي دهد بلكه زماني كه تعدادي از آنها در كنار يكديگر قرار دهيم مي توان عمليات خاصي را توسط آنها انجام داد .با كنار هم قرار گرفتن ترانزيستورها مي توان گيت هاي منطقي ايجاد نمود كه توسط آنها اعمال منطقي ( Logical ) انجام مي شود .
به عنوان مثال جدول 1 نحوه عمل گيت XOR ( Exclusive OR ) را نشان مي دهد . خروجي گيت هنگامي 1 است كه فقط يكي از ورودي ها حامل ولتاژ ( 1 ) باشد.
Y X Z 0 0 0 0 1 1 1 0 1 1 1 0
|
جدول 1
حال ولتاژها را مانند اعداد دودويي در نظر بگيريد كه روشن ( ON ) به معناي 1 و خاموش ( OFF ) به معناي 0 است.
اكنون اعداد باينري را به ورودي گيت XOR مي دهيم. اگر هر دو ورودي 0 يا هر دو 1 باشد خروجي نخواهيم داشت يعني خروجي OFF مي باشد ( به جدول 1 توجه نماييد) و اگر فقط يكي از ورودي ها 1 باشد خروجي برابر 1 يعني روشن ( ON ) مي شود.
با در نظر گرفتن مثال فوق و به در صورتيكه از گيت هاي بيشتري در آن قسمت استفاده شود مي توان عمليات منطقي و رياضي مانند جمع ، تفريق ، ضرب و تقسيم را توسط ترانزيستورها و گيت ها انجام داد كه اساس كار CPU است.
اكنون كاري كه سازندگان CPU مثلاً AMD يا Intel انجام مي دهند عبارت است ازكنار هم قرار دادن ترانزيستورهاي بسيار زيادي ( بالغ بر 230 ميليون ترانزيستور ) براي انجام اعمال بسيار پيچيده تر كه دقيقا بر پايه همين علوم ساده استوار مي باشد.
مراحل كاري CPU
اگر كمي بيشتر پيش برويم مطالب زياد و مشتركي بين CPU هاي مختلف باقي مي ماند كه قابل بحث مي باشد مانند ثبات ها ( Register ) كه قطعه بسيار كوچكي از جنس حافظه مي باشند و مي توانند نتايج اعمال منطقي را در خود ذخيره كنند.
CPU هاي مختلف داراي رجيسترهاي گوناگون مي باشند. بعضي از رجيستري ها براي نگهداري نتايج اعمال استفاده مي شود و بعضي ديگر به عنوان اشاره گر و برخي نيز براي اهداف ديگر مي باشند. بعنوان مثال رجيستر AX براي نگهداري نتيجه يك عمل دودويي منطقي يا رياضي بكار مي رود و رجيستر Program Counter ( PC ) يك اشاره گر است كه بايد به دستوري كه در لحظه بعد توسط CPU اجرا شود اشاره كند. براي انجام يك عمل توسط CPU مراحل زيادي بايد طي شود تا آن عمل انجام شده و نتيجه مطلوب حاصل گردد.
به طور خلاصه براي انجام يك دستور مراحل زير انجام مي شود:
• ابتدا عمليات Fetch ، يعني آوردن دستور از داخل حافظه ( RAM ) به داخل CPU انجام گيرد.
• بعد از اين مرحله دستور بايد Decode شده تا CPU متوجه شود كه چه عملي بايد انجام گيرد.
• در مرحله بعد عمل Execute انجام مي گيرد كه دستور در واقع در اين مرحله اجرا مي گردد. انجام اين اعمال بر عهده قسمت هاي گوناگوني از CPU مي باشد كه تمامي آنها توسط مولد پالس ساعت CPU همزمان مي گردند.
منظور از دستور در اين مرحله ساده ترين نوع دستورات مي باشد مثلاً ضرب دو مقدار با يگديگر و يا جمع كردن عددي با عدد ديگر.
مجموعه دستوراتي كه در يك CPU مي توانند مورد استفاده قرار گيرند Instruction Set نام دارد.
سرعت پردازنده و ClockPuls
كارايي ، كليد موفقيت يك CPU مي باشد. اعمالي كه باعث مي شود كارايي يك CPU افزايش يابد ، مواردي هستند كه موجب برتري يك CPU اينتل به AMD و يا بالعكس مي شود. يكي از راه هاي افزايش كارايي ، بالا بردن سرعت ساعت( Clock Speed ) پردازنده مي باشد. همانطور كه مي دانيد پردازنده ها براي كار نياز به عاملي به نام Clock Puls ( پالس ساعت ) دارند.
پردازنده ها فركانس پايه كه اكثرا سرعت پاييني هم دارد ( مثلا 133 يا 200 مگاهرتز) را از مادر برد مي گيرد و بر اساس سرعت خود آن را در يك ضريبي خاص ضرب مي كند تا فركانس اصلي پردازنده را ايجاد كندبه عنوان مثال يك پردازنده Pentium 4 2.8GHz كه FSB آن 533 مگاهرتز مي باشد فركانس 133مگاهرتز را از مادريرد مي گيرد و آن را در عدد 21 ضرب مي كند.اين پردازنده در هر ثانيه 2800 ميليون پالس توليد مي كند در نتيجه اگر به طور مثال هر دستورالعمل در يك پالس انجام گيرد اين پردازنده قادر است در هر ثانيه 2800 ميليون دستور العمل را اجرا كند بنابراين در يك پردازنده هر چه تعداد پالس ها در يك ثانيه افزايش يابد تعداد دستورات بيشتري در هر ثانيه انجام شده و كارايي CPU افزايش مي يابد.
اما نكته قابل توجه اينست كه افزايش سرعت با مشكلاتي نيز همراه خواهد شد بطور مثال افزايش بيش از حد سرعت مي تواند در نحوه عملكرد ترانزيستور ها تاثير زيادي ايجاد كند كه مسئله موجب از كار افتادن پردازنده و بيش از حد داغ شدن آن مي شود.
Pipelining
متداولترين راه براي افزايش سرعت يك پردازنده ، بالا بردن فركانس آن مي باشد اما را ه هاي ديگري نيز وجود دارد كه به وسيله آن مي توان مقدار قابل توجهي كارايي يك پردازنده را افزايش داد راه هايي چون استفاده از Pipelining ، حافظه نهان ( Cache Memory) و Dual Core .
Pipelining ، روشي مي باشد كه مدت زيادي است در پردازنده ها از آن استفاده مي شود در اين روش پردازنده ها كمي باهوش تر عمل مي كند.
براي واضح تر شدن موضوع Pipelining ، مثالي از اجراي يك دستور در CPU را شرح مي دهيم ؛ يك پردازنده را در نظر بگيريد كه در هر پالس يك دستورالعمل را اجرا مي كند. در اولين پالس ، دستور را از داخل حافظه اصلي ( RAM ) به داخل CPU انتقال داده مي شود. در پالس بعدي CPU دستور را Decode و در پالس سوم دستور اجرا مي شود .
در پالس چهارم نتيجه عمل ذخيره مي گردد كه ا ين چرخه به صورت متوالي ادامه پيدا خواهد كرد.
در صورتيكه يك پردازنده داراي قابليت Pipelining باشد مي تواند چند عمل را در يك زمان و به صورت موازي انجام دهد بدين ترتيب كه :
• در پالس اول ، دستور اول از حافظه اصلي خوانده مي شود.
• در پالس دوم ، دستور اول Decode گشته و همزمان دستور العمل دوم از حافظه اصلي خوانده مي شود.
• در پالس سوم ، دستور العمل اول اجرا ، همزمان دستورالعمل دوم Decode و دستور العمل سوم از حافظه اصلي خوانده مي شود.
بدين ترتيب اين كارها همگي در يك زمان انجام مي گيرند كه به Pipelining معروف مي باشد.
طراحان و كارشناسان با انجام تغيير در معماري CPU ها توانستند با تكنولوژي Pipelining كارايي پردازنده را تا 4 برابر افزايش دهند.
نتيجه اي كه از اين قسمت مي توان گرفت اينست كه سرعت در پردازنده ها فقط به عامل فركانس بستگي ندارد بلكه فركانس فقط يكي از عوامل مهم در سرعت آنها مي باشد به همين دليل است كه كمپاني AMD بر خلاف اينتل نام پردازنده هاي خود را بر حسب فركانس بيان نمي كند بطور مثال پردازنده AMD Athlon XP 1800+ داراي فركانسي معادل 1533 مگاهرتز مي باشد اما اينتل تمام مدل هاي خود را برحسب سرعت فركانس آنها بيان مي كند به ( Pentium 4 2800MHz)
CacheMemory
يكي ديگر از راه هاي افزايش كارايي در پردازنده ها استفاده از حافظه نهان يا همان Cache Memory مي باشد.
با يك مثال وظيفه حافظه نهان ( Cache Memory ) را شرح مي دهيم :
بخش بايگاني اداره اي را در نظر بگيريد .كارمند اين بخش ، پرونده ها را منظم در قفسه هاي متراكم و شلوغ قرار داده است.
فرض كنيد پيدا كردن يك پرونده بطور ميانگين يك دقيقه از وقت كارمند را بگيرد.اگر كارمند قسمت بايگاني احتمال دهدكه ممكن است مجددا به اين پرونده مراجعه شود و به جاي آنكه آن را مجددا در قفسه قرار دهد روي ميز خود بگذارد در مراجعه بعدي به همان پرونده ديگر زماني براي جستجو و پيدا كردن آن تلف نخواهد شد.
وظيفه حافظه نهان يا Cache Memory نيز دقيقا همين است . حافظه نهان در حقيقت همان ميز كارمند است ( كه در مقايسه با قفسه ها از ابعاد بسيار كوچكي برخوردار مي باشد ) و پرونده نيز در حكم دستور العمل و يا داده اي مي باشد كه از آن زياد استفاده مي شود. پردازنده در هنگام اجراي يك برنامه و خواندن اطلاعات از حافظه اصلي ، با دستورات و يا داده هايي برخورد مي كند كه به دفعات از آنها استفاده مي شود.
براي جلوگيري از مراجعه از تكرا ر مراجعه پردازنده به حافظه اصلي براي خواندن دستورات و يا داده هاي تكراي اين اطلاعات به قسمتي به نام حافظه Cache ممنتقال مي گردد. اين حافظه به دليل اينكه از نوع حافظه هاي Static مي باشد( بر خلاف حافظه اصلي كه از نوع Dynamic مي باشد ) داراي سرعت بسيار بيشتري نسبت به حافظه اصلي است و زمان مراجعه به آن بسيار كمتر از زمان مراجعه به حافظه اصلي ( RAM ) مي باشد.
همانطور كه مي دانيد حافظه اصلي ( RAM ) از تعداد بسيار زيادي خازن تشكيل شده است اما در Cache Memory همانند CPU در ساختمان آن از ترانزيستور استفاده شده است و به همين دليل است كه افزايش مقدار Cache در پردازنده ها با افزايش قيمت همراه است . در حال حاضر مقدار حافظه نهان در پردازنده ها معمولي از 256 كليو بايت تا 1 مگابايت مي باشد.
CPU و اصطلاح نانومتر تكنولوژي
همانطور كه در ابتدا نيز به آن اشاره شد يك پردازنده متشكل از چند صد ميليون ترانزيستور است.
استفاده از Pipelining ، Cache Memory و موارد ديگر در ساختار داخلي پردازنده ها موجب افزايش تعداد ترازيستور ها مي شود بطوريكه در پردازنده جديد تعداد ترازيستور ها تقريبا دو برابر شده است. اين افزايش ترانزيستور ها موجب شد كه متخصصان شركت هاي سازنده پردازنده رو به كاهش اندازه ترانزيستور ها بياورند تا بتواند از ترانزيستور هاي بيشتر در هسته پردازنده استفاده نمايند.
تا دو سال قبل اندازه هر ترانزيستور 180 نانومتر بود كه بعد از مدتي به 130 نانو و 90 نانو رسيد و اخيرا نيز اينتل پردازنده Pentium D 900 را با تكنولوژي 65 نانو عرضه كرده است. اما مشكلي كه با افزايش تعداد ترانزيستور ها پيش آمده اينست كه اين عمل موجب افزايش توان مصرفي و همچنين توليدگرماي بسيار زياد توسط CPU مي باشد.
شكل 1 : نمايي از داخل يك پردازنده دو هسته اي .
همانطور مشاهده مي شود دو هسته كاملا مشخص شده است.
پردازنده هاي دو هسته اي
شركت هاي Intel و AMD با كاهش سايز ترانزيستورها سعي مي كنند تا بتوانند از ترانزيستورها بيشتري در يك CPU استفاده كنند. اين قابليت موجب شده است كه اين شركت ها بتوانند در يك پردازنده از دو هسته( Dual Core ) استفاده كنند اين عمل در افزايش كارايي پردازنده ها بسيار موثر مي باشد.
شركت AMDاخيرا پردازنده هاي Dual Core خود با نام Athlon64 X2 را وارد بازار كرده است و در پي آن نيز شركت Intel براي ماندن در عرصه رقابت پردازنده هاي دو هسته اي خود را نيز به بازار ارائه كرده است.
آنچه كه در سطر هاي قبل به آن اشاره شد نگاه ساده اي بود بعضي از قسمت هاي مهم يك پردازنده كه بسياري از خوانندگان طي تماس هايي سوالاتي در اين زمينه ها داشتند.اميد است كه اين مقاله توانسته باشد تا حدودي نقاط تاريك از عملكرد پردازنده ها و اصطلاحات مرتبط با آن را براي شما روشن كرده باشد .
CPU واجزای داخلی آن
در کامپیوتر واحد پردازش ، CPU یا واحد پردازش مرکزی ( Central Processing Unit ) نام دارد که گاهی به آن مغز سیستم نیز می گویند . این بخش از کامپیوتر دارای مدارهای الکترونیکی ویژه ای است که کار اصلی پردازش داده ها را انجام می دهند . CPU بر اساس دستوراتی که دریافت می کند عملیات لازم را روی داده ها انجام می دهد ؛ همچنین روند پردازش داده ها و مسیر جریان آنها را در سیستم کنترل می کند . به عبارت دیگر مسئولیت هدایت داده ها هنگام ورود به سیستم قرار گرفتن در حافظه و بازیابی آنها را در هنگام نیاز بر عهده دارد .
شرکتهایی که توانایی ساخت CPU را دارند از تعداد انگشتان دست کمترند و از جمله مهمترین آنها می توان به Intel , Cyrix و AMD اشاره کرد . مدلهای مختلفی از CPU توسط شرکت Intel ساخته شده که با توجه به سیر تکاملی پیشرفت آنها حدوداً هر یکسال و نیم یک بار مدل قبلی از رده خارج و مدل جدیدتری وارد بازار شده است .
از جمله مدلهای قدیمی می توان 8086 ,80386 , 80486 و پنتیوم اشاره کرد و از مدلهای جدید نیز می توان PII , PIII و PIV را نام برد . همچنین مدلهای مختلفی از CPU ها توسط شرکت AMD ساخته شده اند که از جمله مدلهای قدیمی می توان به K6-2 , Duron و Athlon اشاره کرد و از مدلهای جدید نیز می توان Athlon XP , Barton و Opteron را نام برد . شرکت Cyrix نیز دارای مدلهای مختلف CPU می باشد که از جمله می توان به 6X86MX و M2 اشاره کرد . از معیارهای طبقه بندی CPU ها سرعت پردازش اطلاعات در آنها می باشد که با واحد مگاهرتز بیان می شود ( هر مگاهرتز تلویحاً معادل انجام یک میلیون دستورالعمل در ثانیه است (گرچه دقیقاً این طور نیست )) مثلاً CPU مدل PII با سرعت 466 مگاهرتز می تواند حدوداً 466 میلیون دستورالعمل در ثانیه را انجام دهد و CPU مدل PIV با سرعت 2/3 گیگاهرتز می تواند حدوداً سه میلیارد و دویست میلیون دستورالعمل در ثانیه را انجام می دهد . البته واحد های دقیق دیگری نیز برای سنجش سرعت CPU وجود دارد مانند MIPS ( Million Instruction Per Second )
اجزای الکترونیکی cpu از طریق خطوطی به نام BUS یا گذرگاه به یکدیگر متصل می شوند که مانند بزرگراهی وظیفه انتقال داده ها , دستورالعمل ها و آدرسها را بر عهده دارند .
در این قسمت اجزای CPU را شرح می دهیم :
واحد محاسبه و منطق (ALU) بخشی از cpuاست که تمام عملیات محاسباتی(ریاضی)ومنطقی(مقایسه ای)
را انجام می دهد منظور از عملیت ریاضی جهار عمل اصلی یعنی جمع وتفریق وضرب وتقسیم است
عملیات منطقی شامل توابع کوچکتر ازیا بزرگتر از یا تساوی است بیشتر اوقات هدف دستورالعملهای مقایسه ای
تعیین ترتیب اجرای دستورالعملهاست یعنی نتیجه حاصل از یک تابع مقایسه ای تعیین می کند که کدام دستورالعمل اجرا شود
واحد کنترل(cu)
واحد کنترل از مدارهای الکترونیکی پیچیدهای تشکیل شده است و وظیفه هدایت و هماهنگی فعالیتهای سیستم را بر عهده دارد .این قسمت قادر به اجرای دستورات نیست ولی به قسمتهای دیگر می گوید که چه کاری انجام دهند .
حافظه ثبات
ثباتها حافظه های ناپایدار برای ذخیره موقتی داده هایی هستند که بایدپردازش شوند ودر cpuقرار گرفته اند این نوع حافظه ها می توانند داده ها ودستورالعملهای در حال پردازش را به سرعت دریافت ذخیره ومنتقل کنند برای اجرای یک دستورالعمل واحد کنترل cpuان را از حافظه اصلی خارج کرده ودر یک ثبات قرار می دهد
حافظه پنهان
از چند سال پیش طراحی حافظه پنهان مورد توجه طراحان cpuقرار گرفته اند این حافظه کوچک وسریع می تواند با در داشتن اطلاعات ودستورالعملهایی که اغلب مورد استفاده قرار می گیرند . باعث افزایش کارایی سیستم می شود . حافظه پنهان مقدار زیادی از فضای مفیدcpu را مصرف کرده و پیش بینی می کند کهcpu در مراحل بعدی پردازش به چه اطلاعاتی نیاز خواهد داشت چون این موضوع با بالا رفتن کارآیی سیستم می شود آشغال فضای توسط حافظه پنهان نادیده گرفته می شود و هر چه این حافظه بزرگ تر باشد کارآیی نیز افزایش می یابد .
اولين ريزپردازنده ای که بر روی يک کامپيوتر خانگی نصب گرديد ، 8080 بود. پردازنده فوق هشت بيتی و بر روی يک تراشه قرار داشت . اين ريزپردازنده در سال 1974 به بازار عرضه گرديد.اولين پردازنده ای که باعث تحولات اساسی در دنيای کامپيوتر شد ، 8088 بود. ريزپردازنده فوق در سال 1979 توسط شرکت IBM طراحی و اولين نمونه آن در سال 1982 عرضه گرديد. وضعيت توليد ريزپردازنده توسط شرکت های توليد کننده بسرعت رشد و از مدل 8088 به 80286 ، 80386 ، 80486 ، پنتيوم ، پنتيوم II ، پنتيوم III و پنتيوم 4 رسيده است . تمام پردازنده های فوق توسط شرکت اينتل و ساير شرکت های ذيربط طراحی و عرضه شده است . پردازنده های پنتيوم 4 در مقايسه با پردازنده 8088 عمليات مربوطه را با سرعتی به ميزان 5000 بار سريعتر انجام می دهد! جدول زير ويژگی هر يک از پردازنده های فوق بهمراه تفاوت های موجود را نشان می دهد.
Name
|
Date
|
Transistors
|
Microns
|
Clock speed
|
Data width
|
MIPS
|
8080
|
1974
|
6,000
|
6
|
2 MHz
|
8 bits
|
0.64
|
8088
|
1979
|
29,000
|
3
|
5 MHz
|
16 bits 8-bit bus
|
0.33
|
80286
|
1982
|
134,000
|
1.5
|
6 MHz
|
16 bits
|
1
|
80386
|
1985
|
275,000
|
1.5
|
16 MHz
|
32 bits
|
5
|
80486
|
1989
|
1,200,000
|
1
|
25 MHz
|
32 bits
|
20
|
Pentium
|
1993
|
3,100,000
|
0.8
|
60 MHz
|
32 bits 64-bit bus
|
100
|
Pentium II
|
1997
|
7,500,000
|
0.35
|
233 MHz
|
32 bits 64-bit bus
|
~300
|
Pentium III
|
1999
|
9,500,000
|
0.25
|
450 MHz
|
32 bits 64-bit bus
|
~510
|
Pentium 4
|
2000
|
42,000,000
|
0.18
|
1.5 GHz
|
32 bits 64-bit bus
|
~1,700
|
توضيحات جدول :
ستون Date نشاندهنده سال عرضه پردازنده است.
ستون Transistors تعدا ترانزيستور موجود بر روی تراشه را مشخص می کند. تعداد ترانزيستور بر روی تراشه در سال های اخير شتاب بيشتری پيدا کرده است .
ستون Micron ضخامت کوچکترين رشته بر روی تراشه را بر حسب ميکرون مشخص می کند. (ضخامت موی انسان 100 ميکرون است ).
ستون ClockSpeed حداکثر سرعت Clock تراشه را مشخص می نمايد.
ستون DataWidth پهنای باند واحد منطق و محاسبات (ALU) را نشان می دهد. يک واحد منطق و حساب هشت بيتی قادر به انجام عمليات محاسباتی نظير: جمع ، تفريق ، ضرب و ... برای اعداد هشت بيتی است. در صورتيکه يک واحد منطق و حساب 32 بيتی قادر به انجام عمليات بر روی اعداد 32 بيتی است . يک واحد منطق و حساب 8 بيتی بمنظور جمع دو عدد 32 بيتی می بايست چهار دستورالعمل را انجام داده در صورتيکه يک واحد منطق وحساب 32 بيتی عمليات فوق را صرفا" با اجرای يک دستورالعمل انجام خواهد داد.در اغلب موارد گذرگاه خارجی داده ها مشابه ALU است . وضعيت فوق در تمام موارد صادق نخواهد بود مثلا" پردازنده 8088 دارای واحد منطق وحساب 16 بيتی بوده در حاليکه گذرگاه داده ئی آن هشت بيتی است . در اغلب پردازنده های پنتيوم جديد گذرگاه داده 64 بيتی و واحد منطق وحساب 32 بيتی است . ستون MIPS مخفف کلمات Millions of instruction per Second ( ميليون دستورالعمل در هر ثانيه ) بوده و واحدی برای سنجش کارآئی يک پردازنده است.
درون يک پردازنده
بمنظورآشنائی با نحوه عملکرد پردازنده لازم است، نگاهی به درون يک ريزپردازنده داشته و با منطق نحوه انجام عمليات بيشتر آشنا شويم. يک ريزپردازنده مجموعه ای از دستورالعمل ها را اجراء می کند. دستورالعمل های فوق ماهيت و نوع عمليات مورد نظر را برای پردازنده مشخص خواهند کرد. با توجه به نوع دستورالعمل ها ، يک ريزپردازنده سه عمليات اساسی را انجام خواهد داد :
1 - يک ريزپردازنده با استفاده از واحد منطق و حساب خود (ALU) قادر به انجام عمليات محاسباتی نظير: جمع ، تفريق، ضرب و تقسيم است. پردازنده های جديد دارای پردازنده های اختصاصی برای انجام عمليات مربوط به اعداد اعشاری می باشند.
2 - يک ريزپردازنده قادر به انتقال داده از يک محل حافظه به محل ديگر است .
3 - يک ريزپردازنده قادر به اتخاذ تصميم ( تصميم گيری ) و پرش به يک محل ديگر برای اجرای دستورالعمل های مربوطه بر اساس تصميم اتخاذ شده است .
شکل زير يک پردازنده ساده را نشان می دهد.
پردازنده فوق دارای :
●يک گذرگاه آدرس (Address Bus) است که قادر به ارسال يک آدرس به حافظه است ( گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد)
● يک گذرگاه داده (Data Bus) است که قادر به ارسال داده به حافظه و يا دريافت داده از حافظه است (گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد)
● يک خط برای خواندن (RD) و يک خط برای نوشتن (WR) است که آدرسی دهی حافظه را انجام می دهند. آيا قصد نوشتن در يک آدرس خاص وجود داشته و يا مقصود، خواندن اطلاعات از يک آدرس خاص حافظه است؟
● يک خط Clock که ضربان پردازنده را تنظيم خواهد کرد.
● يک خط Reset که مقدار " شمارنده برنامه " را صفر نموده و يا باعث اجرای مجدد يک فرآيند می گردد.
فرض کنيد پردازنده فوق هشت بيتی بوده واز عناصر زير تشکيل شده است:
- ريجسترهای A,B,C نگاهدارنده هائی بوده که از فليپ فلاپ ها ساخته شده اند.
- Address Latch مشابه ريجسترهای A,B,C است .
- شمارنده برنامه (Program Counter) نوع خاصی از يک نگهدارنده اطلاعات است که قابليت افزايش بميزان يک و يا پذيرش مقدار صفر را دارا است
- واحد منطق و حساب (ALU) می تواند يک مدار ساده جمع کننده هشت بيتی بوده و يا مداری است که قابليت انجام عمليات جمع ، تفريق ، ضرب و تقسيم را دارا است .
- ريجستر Test يک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتايج حاصل از انجام مقايسه ها توسط ALU است .ALU قادر به مقايسه دو عدد وتشخيص مساوی و يا نامساوی بودن آنها است . ريجستر Test همچنين قادر به نگهداری يک Carry bit ( ماحصل آخرين مرحله عمليات جمع) است . ريجستر فوق مقادير مورد نظر را در فليپ فلاپ ها ذخيره و در ادامه Instruction Decoder "تشخيص دهنده دستورالعمل ها " با استفاده از مقادير فوق قادر به اتخاذ تصميمات لازم خواهد بود.
- همانگونه که در شکل فوق ، مشاهده می گردد از شش " 3-State" استفاده شده که به آنها "tri-State buffers" می گويند. بافرهای فوق قادر به پاس دادن مقادير صفر و يا يک و يا قطع خروجی مربوطه می باشند.. اين نوع بافرها امکان ارتباط چندين خروجی را از طريق يک Wire فراهم می نمايند. در چنين حالتی فقط يکی از آنها قادر به انتقال ( حرکت ) صفر و يا يک بر روی خط خواهد بود.
- ريجستر Instruction و Instruction Decoder مسئوليت کنترل ساير عناصر را برعهده خواهند داشت . بدين منظور از خطوط کنترلی متفاوتی استفاده می گردد. خطوط فوق در شکل فوق نشان داده نشده اند ولی می بايست قادر به انجام عمليات زير باشند:
- به ريجستر A اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به ريجستر B اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به ريجستر C اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به " شمارنده برنامه " اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به ريجستر Address اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به ريجستر Instruction اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)
- به " شمارنده برنامه " اعلام نمايد که مقدار خود را افزايش دهد.
- به " شمارنده برنامه " اعلام نمايد که مقدار خود را صفر (Reset) نمايد.
- به واحد منطق و حساب نوع عملياتی را که می بايست انجام گيرد، اعلام نمايد.
- به ريجستر Test اعلام نمايد که بيت های ماحصل عمليات ALU را در خود نگاهدارد.
- فعال نمودن خط RD ( خواندن )
- فعال نمودن خط WR ( نوشتن )
تغيير و تحولات CPU در 11 سال اخير ، مسئولين لابراتوار THG را بر آن داشت تا اين پديده شگرف را مورد آزمايش قرار دهند و با هم مقايسه كند، در قسمت اول اين سري از مقالات نگاهي داريم به نقطه آغازين ريزپردازنده هاي Intel و حركت رو به رشد آنها تا به امروز و در بخش دوم مقاله تمركز خود را بر تاريخچه توسعه ريزپردازنده هاي AMD معطوف مي سازيم.
اكثر خوانندگان اين مقاله كامپيوترهاي Pentium 100 و حافظه هاي 16 مگابايتي را به خاطر دارند كه براي دانش آموزان با ذوق آن زمان به عنوان يك وسيله مهم به حساب مي آمد. در سال 1994 اين كامپيوترها با قيمتي برابر 3000 دلار ( چيزي بيش از 1 ميليون تومان در سال 73 ) به فروش مي رسيد اما امروزه تقريبا ديگر نامي از آنها شنيده نمي شود . صنعت كامپيوتر با چه سرعت سرسام آوري در حال پيشروي است !!
در مجموع دو قسمت مقاله تعداد 111 عدد از ريزپردازنده هاي متعدد از تاريخ 1995 تا ابتداي 2005مورد آزمايش قرار مي گيرند. اين آزمايشات كامل مي توانند به منزله سفري از ميان زمان باشند كه به روشني، نحوه كار تراشه ها را انعكاسي مي دهند و در ضمن تغييرات عمده در سيستم هاي PC كه در اين فاصله زماني كوتاه اتفاق افتاده اند را نشان مي دهند.
نحوه كاركرد بهينه سيستم يا همان Performance تنها پارامتري است كه بيشتر مشتريان در هنگام خريد به آن توجه مي كنند ولي تغييرات و تحولات فني و استانداردها از جمله مسائلي هستند كه اكثريت كاربران از آنها بي اطلاع مي باشند. مقاله مذكور مي توانند اطلاعات جامعي را در اين زمينه ارائه دهند.
ابتدا به ساكن، به موضوع ريزپردازنده ها مي پردازيم كه در مورد ( ريز پردازنده هاي Intel از سال 1995 تا به كنون ، از سوكت شماره 5 تا سوكت شماره 775 ) شاهد بيش از 7 مرحله تكاملي مي باشيم كه در همين فاصله زماني، شركت AMD ريزپردازنده هاي خود را در 5 مرحله ( از سوكت شماره 7 تا سوكت شماره 939 ) طراحي نموده است.
به جرات مي توان گفت كه اين مقاله جامع ترين و كامل ترين آمار در زمينه مقايسه ريزپردازنده ها بصورت كلي مي باشد. خواننده اين مقاله مي تواند مستقيماً نحوه كار اين 111 عدد ريز پردانده را مورد تجزيه و تحليل قرار دهند اما بالاتر از همه اينها، كاربراني كه در صدند تا سيستم هاي قديمي خود را با يك سيستم جديد جايگزين نمايند، مي توانند از اين مقاله براي انتخاب پردازنده راهنمايي بگيرند.
در طي ساليان متوالي، طراحي و ساخت ريزپردانده ها با در نظر گرفتن مقدار حافظه، نوع تراشه ها و پلتفورم ها، تغيير يافته است به عنوان مثال، در حاليكه سرعت ساعت سيستم ( Clock Speed ) تقريباً 40 برابر از قبل افزايش داشته است ( سرعت ريزپردازنده هاي اينتل از ميزان 100MHz در سال 1995 به ميزان 3800MHz در سال اخير مي رسد) ، حافظه نهان نيز " Cache " به سرعت رشد يافته و همچنين ميزان پهناي باند ريزپردازنده هاي AMD K6-III/450 از مقدار 110MB/S ( در سال 1997 ) به مقدار 6000MB/S در نوع Athlon64 افزايش يافته است.
با نظر به آزمايشات متفاوت اينچنين بر مي آيد كه در بازي هاي سه بعدي ( 3D ) سرعت تكرار فريم ها از ميزان 17/1FPS در ريز پردازنده AMD Duron 650 به ميزان 171/7 FPS در ريزپردازنده AMD Athlon64 افزايش يافته است. اگر از ارقام و جزئيات ديگر چشم پوشي كنيم، شاهد 100% رشد خواهيم بود. اين افزايش وقتي بسيار برجسته تر مي شود كه تفاوت سرعت رمزگذاري MPEG 2 فايل يك گيگابايتي DV را ملاحظه گردد در يك سيستم هاي پنتيوم 4 با سرعت 3.8GHz براي انجام اين كار زماني در حدود دو دقيقه و نيم به طول مي انجامد حال آنكه درسيستم قديمي Pentium 233 MMX ( در سال 1997 ) براي انجام اين كار تقريباً به يك ساعت زمان احتياج داشت.
نكته ديگري كه مورد مشاهده قرار گرفت تفاوت دو سيستم مذكور در رمز گذاري MPEG4 Divx مي باشد . در سيستم Pentium 233 MMX، يك كدگذاري معمولي تقريباً دو ساعت به طول مي انجامد حال آنكه سيستم P4 با سرعت 3.8GHz آن را در كمتر از دو دقيقه به انجام مي رساند. كلام آخر آنكه سيستم P4 با سرعت 3.8GHz ، در حدود 64 برابر از ريزپردازنده هاي سال 1997 افزايش سرعت داشته است.
موضوع كدگذاري MP3 در سال 1995 مساله اي بود كه به قدرت پردازش كامپيوتر مربوط مي شد:
يك سيستم Pentium 100 براي كد گذاري يك فايل صوتي 17 دقيقه اي به 77 دقيقه زمان احتياج داشت حال آنكه در ريزپردازنده AMD Athlon 64 FX -55 همين كار را در يك دقيقه و سي ثانيه انجام مي گيرد.
تعداد ترانزيستورها در هر ريز پردازنده نيز بسيار جالب توجه مي باشد. سيستم Pentium 100 در سال 1994 رقمي معادل 3 / 3 ميليون ترانزيستور را شامل مي شد حال آنكه اين رقم در Pentium 4 Extheme Edition به تعداد 178 ميليون ترانزيستور رسيده است. امروزه 54 ترانزيستور در خانه اي قرار مي گيرند كه در ريز پردازنده هاي 11 سال قبل تنها يك ترانزيستور در آنجا قرار مي گرفت.
ريزپردازنده Pentium 570 ( با سرعت 3.8GHz ) پردازنده هايي هستند كه گرماي زيادي توليد و توان الكتريكي بيشتري مصرف مي كنند و مقدار مصرفي در اين پردازنده ها معادل 9 عدد ريزپردازنده Intel Pentium 100 مي باشد. اين نكته بسيار قابل توجه و شگرف مي باشد به خاطر اينكه در همين مدت ، اندازه ( سايز) ترانزيستورها 6 برابر كاهش يافته است به همين دليل براي تامين پايداري سيستم به خنك كننده هاي بزرگتر و همچنين به منظور تامين انرژي به منبع تغذيه بزرگ با توان بالاتر از 400 وات احتياج است.
مقاله ما در خصوص پردازنده هاي AMD با پردازنده هاي مدل AMD K6-III/450 كه در سال 1996 با سوكت شماره 7 ساخته شدند شروع مي شود و تا مدل AMD Athlon 64 FX-55 ( كه با سرعت 2600MHz كار مي كند كه به عنوان آخرين و توانمندترين نوع ريزپردازنده ارائه شده توسط شركت AMD مي باشد ادامه پيدا مي كند .
1978 : آغاز عصر تاريخي X86
در سال 1978 شركت اينتل ريزپردازنده مدل 8086 را وارد بازار مي كند كه امروزه نيز به عنوان جزء اساسي در ريزپردازنده هاي X86 Compatible به حساب مي آيد. اين پردازنده در سيستم كامپيوتري مدل XT با سرعت 77 / 4 كه بعدها به 8MHz رسيد و به بيشترين ميزان حافظه يعني 1MB دست مي يابد.
شكل 1،مادر تمام پردازنده هاي x86 . شكل فوق پردازنده 8086 اينتل با سرعت 4.77 MHz را نشان مي دهد .
در اين دوران مقدار RAM هنوز در حدود كيلو بايت بود. بهترين و مجهزترين نوع سيستم ها تنها داراي 256 كيلو بايت RAM ( كه تنها شامل يك تراشه بود ) مي شد. اگر مقدار RAM به ميزان 320 كيو بايت افزايش مي يافت، كامپيوتر قادر بود كه سيستم عامل Windows 1.0 را بارگذاري مي كند از سوي ديگر در آن زمان هارد ديسك بسيار نادر و گران قيمت بود. اما آندسته از كساني كه استطاعت مالي داشتند، مي توانستند سيستم شخصي خود را مجهز به دو Disk Drive نمايند. برخي از كاربران ممكن است فلاپي ديسك هاي 8 اينچي را بخاطر داشته باشند كه بعد ها جاي خود را به فلاپي ديسك هاي 25/ 5 اينچي دادند.
در سال 1982 اينتل، ريزپردازنده مدل 286 خود را وارد بازار كرد كه طراحي مادربرد آن از اسلات هاي 16 بيتي ISA استفاده كرده بود. بيشترين مقدار حافظه موقت SIMM به مقدار 1 مگابايت مي رسيد. سه سال بعد يعني درسال 1985 ريزپردازنده مدل 386 وارد بازار شد كه مي توانست با بيشترين مقدار حافظه موقت يعني 4GB كار كند اما مادربردي كه بتواند با اين تكنولوژي كار كند، وجود نداشت.
شكل 2 : اولين پردازنده 32 بيتي كه بر اساس تكنولوژي x86 بنا شده بود و بدون فن كار مي كرد.
ضمناً براي اولين بار سيستم عامل Windows توانست از حافظه مجازي ( Virtuel memory ) در مدل 386 بهره گيرد. اولين نوع ريز پردازنده مدل 386 با سرعت 16 MHz در همين سال ها وارد بازار گشت كه چهار سال بعد مدل ديگري از اين ريزپردازنده با سرعت 32 MHz ارائه شد.
1989: سوكت 1 ، 2 و3
در سال 1989 شركت اينتل ريزپردازنده مدل 486DX را با سوكت شماره 1 وارد بازار كرد. ريزپردازنده مذكور با فركانس 25MHz كار مي كرد كه اين ميزان در سال هاي بعد به 133MHz رسيد .
در قسمت هاي بعدي مقاله نگاهي خواهيم داشت بر شروع استفاده از كامپيوترهاي PC در اوايل دهه 1990. در اين سال ها بيشتر كاربران ، سيستم هاي خانگي خود را اعم از Commodem Amige, Commodoer 64 و يا Atai ST با كامپيوترهاي PC جايگزين كردند.
شكل 3 : پردازنده 486 DX با سرعت 33MHz
شكل 4 : پردازنده 486 DX2 با سرعت 66MHz و سوكت شماره 2
شكل 5 : پردازنده 486 DX4 100 با سرعت 100MHz و سوكت شماره 3
شكل 6 : پردازنده مشابه خانواده Intel 486 DX از كمپاني AMD با سرعت 133MHz
سال هاي بين 1993 و 1997: سوكت هاي شماره 4 ، 5 ، 7 و پلتفورم هاي AMD و Intel
سال 1993: سوكت 4 براي اولين نوع Pentium
در طول سال هاي 1993 و 1994 اولين نوع كامپيوترهاي Pentium در معرض فروش قرار گرفت. در اين سال ها متقاضيان خريد قبل از باز شدن مغازه ها به صف مي ايستادند تا يكي از بالاترين پيشنهادهاي فروش را به چنگ آورند، در بيشتر مواقع، اجناس در مدت زماني كوتاه فقط در چندين دقيقه به فروش مي رسيد.
در صد فروش اجناس دربازار كامپيوتر به دو برابر افزايش يافته بود و شركت هاي كوچك در زمينه مونتاژ و فروش كامپيوتر مانند قارچ شروع به رشد كردند . سيستم هاي 486 DX100 به همان قيمت Pentium 60 ( با قيمتي عجيب بين 1000 تا 1500 دلار ) به فروش مي رسيد.
شكل 7 : Intel Pentium 60 ، اولين پردازنده از خانواده پنتيوم ـ اين پردازنده بعد توليد انبوه به دليل داشتن اشكال محاسباتي در بخش مميز شناور درد سرهاي زيادي را براي كمپاني اينتل بوجود آورد.
سوكت 4 در سال 1993 وارد بازار شد كه در نهايت براي دو ريزپردازنده مدل Pentium 60 و Pentium 66 مورد استفاده قرار گرفت . نوع Pentium 60 سرعت كمتري داشت ( در حدود 30MHz ) كه در مقايسه با مدل 486 DX داراي سرعت ساعت كمتري بود. از طرف ديگر Pentium 66 كاربردي تر بود. اما كثر كاربران ريزپردازنده هايي با سرعت ساعت بالا با همان قيمت خريداري مي كردند يعني پردازنده هايي ازقبيل 486 DX 100 .
سال هاي بين 1996 تا 1998: سوكت 5 ريزپردازنده هاي AMD و Intel
به دنبال سوكت شماره 4، سوكت شماره 5 و به همراه آن پردازنده Pentium 75 وارد بازار شد. در ان مدل حافظه نهان به عنوان يك خصيصه مشاهده مي شود كه كارايي سيستم را به مقدار قابل توجهي بالا مي برد.
با پرداخت كمي پول بيشتر، مي توانستيد سيستمي با پردازنده Pentium 75 و مادر بردي با با 256KB Casch و يا 512 KB خريداري كنيد( در آن زمان ها حافظه نهان بر روي مادر برد بود نه داخل پردازنده ).
شكل 8 : شكل فوق يك ماژول 256 كيلو بايتي حافظه نهان را نشان مي دهد كه بر روي يك مادربرد سوكت 5 با چيپ 430FX نصب شده است.
شركت ASUS اولين توليد كننده مادربردهايي با حافظه نهان بود. در اين مادربردها Cach بر روي يك سوكت سوار مي شد و قابليت افزايش از 32 تا 512 كيلو بايت را داشت .
شكل 9 : پردازنده Pentium 75
سال 1998 تا 2000 : سوكت 7 و پردازنده هاي AMD
اينتل با ارائه Pentium 166 MMX، اولين نوع MMX ( چندين رسانه اي ) را وارد بازار كرد كه به مادربردي با دو ولتاژ (2.7 و 3.3 ولت ) احتياج داشت. بعد از ارائه پردازنده مدل Pentium MMX توسط اينتل ، شركت AMD نيز به دنبال آن مدل K6 خود را كه تا سرعتي بالغ بر 166 MHz كار مي كرد را در معرض فروش قرار داد. در سال براي اولين بار حافظه SDRAM ارائه گرديد كه استفاده از آن موجب يك تغيير عمده در سرعت انتقال اطلاعات در حافظه شد.
شكل 10 : پردازنده Pentium 75
شكل 11 : پردازنده AMD- K5
با استفاده از حافظه هاي SDRAM ( با سرعت 60ns يا 70ns ) سرعت انتقال اطلاعات حافظه بالغ بر 90 مگا بايت در ثانيه و بالاترين ميزان سرعت در آن زمان 384 مگا بايت بود كه بعداً اين ميزان به مقدار 768 مگا بايت افزايش يافت. تقريباً در همين اثناء بود كه فاكتور ATX به بازار معرفي مي گرديد.علاوه بر اين يك منبع تغذيه جديد كه به كامپيوتر اين امكان را مي دهد تا وارد وضعيت Standby شود و يا توسط يك نرم افزار خاموش يا روشن شود. عرضه واسطه AGP سرعت را نسبت به استاندارد PCI بالا برد. در آن زمان، حافظه هنوز از نظر سرعت كند و از نظر قيمت گران بودندبه همين دليل اينتل امكان دسترسي مستقيم كارت گرافيك به RAM را فراهم ساخت. اينتل تاريخچه سوكت 7 را با پردازنده Pentium 233MMX به اتمام رساند. برخلاف اينتل كه از آن به بعد از Slot 1 براي پردازنده هاي خود استفاده مي كرد، شركت AMD از آن تاريخ به بعد به مدت دو سال نيز از سوكت 7 استفاده مي كرد.
شكل 12 : پردازنده Pentium 233MMX نمايي از رو و پشت
شركت AMD آخرين ريزپردازنده خود از سوكت 7 را با نام AMD K6-III 500 وارد بازار كردكه از نظر كارايي، ريزپردازنده مذكور توانست بهتر از ريزپردازنده Pentium III عمل كند.اما چه عاملي باعث شد تا ريز پردازنده مذكور كارايي ( Performance ) بهتري داشته باشد؟ علت آن به اين دليل بود كه ريزپردازنده مذكور داراي دو حافظه نهان L2 و L3 بود. ظرفيت L2 ، 256 كيلو بايت و ظرفيت L3 ، 2 مگا بايت بود.
شكل 13 : پردازنده AMD K6-III 450 ـ داراي دو حافظه نهان L2 و L3
شكل 14 : نمونه اي از مادر برد سوكت 7
با توجه به اينكه L2 بر روي خود ريزپردازنده و L3 بر روي مادربرد نصب مي شد در اين زمان اينتل نتوانست تكنولوژي جديدي را براي رقابت با AMD ارائه دهد مخصوصاً از زماني كه AMD ريزپردانده K6-III 450 خود را به قيمت ارازان تر به فروش رساند.در اين زمان بود كه مسير دو شركت Intel و AMD از هم جدا شد.اينتل در طراحي مادربرد از Slot1 و AMD نيز از يك اسلات مشابه موسوم به Slot A ( كه با اسلات Intel سازگار نبود) استفاده كرد.
ريزپردازنده هاي اينتل از ماه مارس 1994 تا دسامبر2004
استفاده از Slot 1 از ماه مي 1997 تا ماه مارس 2000 :
اين كه تنها دليل اينتل براي تغيير پردازنده ها از سوكت 7 به Slot 1 به خاطر دستيابي به يك بازار بزرگ تر بوده است را كسي منكر نيست . به هر صورت، تنها نكته فني و تفاوتي كه در ريزپردانده ها Slot 1ديده شد اين بود كه حافظه نهان L2 از روي مادر به روي يك كارت ( نه داخل پردازنده ) قرار گرفت .
از همان ابتدا در مورد Slot 1 اختلاف نظر وجود داشت، مخصوصاً زماني كه حافظه نهان L2 در هسته CPU جاي داده شد، بحث بر سر Slot 1 بودن پردازنده ها تشديد گرديد.
البته شركت اينتل در اوايل اقدام به معرفي پردازنده اي به نام Celeron ( كه اين ريزپردازنده از داشتن حافظه نهان L2 محروم بود ) نمود.
اين ريزپردازنده كارايي ضعيفي داشت و همين مساله منجر شد تا تمايل مشتريان به خريد Pentium II بيشتر شود.
در آن زمان حافظه هاي SDRAM با فركانس 100 مگا هرتز و سرعت انتقال اطلاعات 800 مگا بايت اطلاعات در واحد زمان (