PDA

نسخه کامل مشاهده نسخه کامل : ريز پردازنده چگونه كار ميكند؟



mf_film2007
01-09-2006, 16:43
به نام خدا

Microprocessor ها چگونه کار میکنند؟

Microprocessor یا ریزپردازنده قلب هر کامپیوتر است.

(صرف نظر ازاینکه این کامپیوتر Desktop – Server یا Laptop باشد.)

ریزپردازنده کامپیوتر شما ممکن است یک Pentium – یک K6 – یک PowerPC – یک Sparc یا یکی از سایر انواع یا مارکهای ریزپردازنده های موجود باشد. اما به هرحال همه آنها کار تقریبا مشابهی انجام میدهند و این کارها را تقریبا به روش مشابهی انجام میدهند.

اگر به این که ریزپردازنده کامپیوتر شما چه کار میکند یا به تفاوت ریزپردازنده های مختلف فکر میکنید آنچه را در ادامه میاید مطالعه کنید. در ادامه خواهید آموخت که یک کامپیوتر چگونه با استفاده از یک پردازنده ظریف و سبک و با استفاده روشهای منطق دیجیتال محاسبات سنگین و پیچیده را انجام میدهد.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
عکس اهدائی از شرکت IBM

chip مسی CMOS 7S

تاریخچه ریزپردازنده ها


یک ریزپردازنده که CPU (Central Processing Unit) نیز نامیده میشود یک موتور محاسبه گر کامل است که روی یک chip مستقل ساخته میشود. اولین ریزپردازنده در سال ١٩٧١ میلادی (١٣٥٠ شمسی) ساخته شد و Intel 4004 نام داشت. این پردازنده چندان قوی نبود. این پردازنده فقط قادر به جمع و تفریق کردن دو عدد ٤ بیتی درهر لحظه بود.

اما از این نظر که همه این کارها را مدار کوچکی که روی یک chip سوار شده بود انجام میداد بسیار جالب توجه بود. چون کامپیوترهایی که مهندسین قبل از عرضه Intel 4004 می ساختند مجموعه ای از chip ها و اجزا الکترونیکی متعدد و مجزا بود. در آن زمان از Intel 4004 برای ساخت یکی از اولین ماشین حسابهای الکترونیکی قابل حمل استفاده شد.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ولین ریزپردازنده ای که از آن برای ساخت یک کامپیوتر خانگی استفاده شد Intel 8080 بود. این ریزپردازنده یک کامپیوتر ٨ بیتی کامل بود که در سال ١٩٧٤ (١٣٥٣ شمسی) معرفی شد.

اولین ریزپردازنده که ازنظر تجاری سر و صدای زیادی را بپا کرد Intel 8088

بود که در ١٩٧٩ (١٣٥٨ شمسی) ارائه شد و در PCهای ساخت IBM بکار گرفته شد. (و البته این PCها حوالی ١٩٨٢ (١٣٦١ شمسی) روانه بازار شد.)

روند ارتقاء PCها از 8088 آغاز شد و بعد از آن به ترتیب ریزپردازنده های 80286 – 80386 – 80486 – Pentium – Pentium2 – Pentium3 و بالاخره Pentium4 روانه بازار شدند. همه ی این ریزپردازنده ها توسط شرکت Intel ساخته شده و تمام آنها به نوعی حاصل یک پیشرفت و بهسازی در طراحی اولیه 8088 میباشند. Pentium4 قادر به پردازش همه ی آن کدهایی است که 8088 پردازش میکرد البته ٥٠٠٠ بار سریعتر.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
منظور از chip چیست؟


نام دیگرآن IC (Integrated Circuit) میباشد.

بطورکلی یک تکه کوچک و نازک ازسیلیکن (silicon) است که ترانزیستورهای سازنده ریزپردازنده طبق یک مدار چاپی روی آن سوار میشوند.

یک chip ممکن است ابعادی به اندازه یک اینچ (cm ٥/٢) در یک اینچ داشته باشد و حاوی ده ها میلیون عدد ترانزیستور باشد.

گاهی روی یک chip که مساحت آن فقط چند میلیمترمربع است هزاران عدد ترانزیستور سوار میشود.
جدول زیر به شما کمک میکند تا با تفاوتهای پردازنده های ساخت Intel در سالهای اخیر آشنا شوید:

نام پردازنده
تاریخ ساخت پردازنده
تعداد ترانزیستورهای به کار رفته در پردازنده
ضخامت ظریف ترین سیم کشی داخلی
حداکثر سرعت یا تعداد کلاک
(clock speed)
پهنای باند ALU
(Data Width)
MIPS یا ... میلیون دستور در یک ثانیه

۸۰۸۰
۱۹۷۴
6,000
6 micron
2 MHz
۸ bits
0.64

۸۰۸۸
۱۹۷۹
29,000
3 micron
۵ MHz
16 bits 8 bits bus
0.33

۸۰۲۸۶
۱۹۸۲
134,000
1.5 micron
۶ MHz
16 bits
۱

۸۰۳۸۶
۱۹۸۵
275,000
1.5 micron
۱۶ MHz
32 bits
۵

۸۰۴۸۶
۱۹۸۹
1,200,000
1 micron
۲۵ MHz
32 bits
۲۰

Pentium
۱۹۹۳
3,100,000
0.8 micron
۶۰ MHz
32 bits 64 bits bus
۱۰۰

Pentium2
۱۹۹۷
7,500,000
0.35 micron
۲۳۳ MHz
32 bits 64 bits bus
~300

Pentium3
۱۹۹۹
9,500,000
0.25 micron
۴۵۰ MHz
32 bits 64 bits bus
~۵۱۰

Pentium4
۲۰۰۰
42,000,000
0.18 micron
1.5 GHz
32 bits 64 bits bus
~۱.۷۰۰

Pentium4 "Prescott"
۲۰۰۴
125,000,000
0.09 micron
3.6 GHz
32 bits 64 bits bus
~۷۰۰۰


اطلاعاتی درمورد جدول بالا:

• درستون تاریخ ساخت سالی که درآن پردازنده برای اولین بارمعرفی وعرضه شده آمده. البته بسیاری از پردازنده ها پس ازاولین تاریخ عرضه بعدها با سرعت های بالاتری نیز ارائه شدند.
• درستون مربوط به ضخامت ظریف ترین سیم کشی داخلی عددی برحسب میکرون آمده که اگربا ضخامت یک تارموی انسان مقایسه کنید به دقت و پیچیدگی ساخت این پردازنده ها پی میبرید. ضخامت یک تارموی انسان حدود ١٠٠ میکرون است. هرچه این سیم کشی داخلی ظریف تر باشد تعداد ترانزیستور بیشتری در chip پردازنده جای میگیرد.
• درمورد Data Width : یک ALUی ٨ بیتی میتواند درهربار محاسبه دوعدد ٨ بیتی راباهم جمع یا ازهم تفریق یا درهم ضرب کند ویا هرعمل منطقی دیگر. درحالی که یک ALUی ٣٢ بیتی درهر بار میتواند دو عدد ٣٢ بیتی را مورد محاسبه قرار دهد. بنابراین یک ALUی ٨ بیتی برای اینکه دو عدد ٣٢ بیتی را با هم جمع کند این کار را در ٤ مرحله و با ٤ دستور انجام میدهد در صورتی که ALUی ٣٢ بیتی این عمل را دریک مرحله انجام میدهد. دراغلب موارد و نه همیشه پهنای باند Data bus خروجی مشابه پهنای باند ALU است. مثلا 8088 یک ALUی ١٦ بیتی و Databus با پهنای ٨ بیت دارد در حالی که در Pentiumهای جدید Databusشان ٦٤ بیتی و ALU انها ٣٢ بیتی است.
• MIPS سرنام کلمات Million Instractions Pes Second است و با توجه به آن میتوان یک دید کلی از سرعت و به نوعی قدرت CPU بدست آورد.

با توجه به مندرجات جدول فوق به این نتیجه میرسیم که بطورکلی بین MIPS و clock speed رابطه ای برقرار است. حداکثر clock speed تابعی از نوع معماری و وقفه های chip است.
همچنین بین تعداد ترانزیستورهای chip و MIPS نیز رابطه ای برقرار است.
مثلا سرعت clock زدن 8088 حدود MHz ۵ است و MIPS آن ٣٣/٠ میباشد. یعنی 8088 درهرثانیه ٠٠٠/٠٠٠/۵ بار clock میزند و ٠٠٠/٣٣٠ دستوررا اجرا میکند. (تقریبا ١ دستور درهر clock ١۵)
پردازنده های جدید اغلب قادر به اجرای ٢ دستوردرهر clock هستند.
این قدرت و سرعت محاسبه با تعداد ترانزیستورهای به کار رفته در chip ارتباط مستقیم دارد.
برای آشنایی با نحوه عملکرد یک ریزپردازنده نگاهی به ساختمان داخلی و منطق بکار رفته درساخت آن میتواند کمک موثری باشد. دراین فرآیند همچنین با زبان Assembly که زبان ذاتی یک ریزپردازنده است و نیز با بسیاری کارهای دیگر که انجام میشود تا سرعت ریزپردازنده ها بالا رود آشنا میشوید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
عکس اهدایی از شرکت Intel
ریزپردازنده Intel Pentium 4
یک ریزپردازنده مجموعه ای از دستورات به زبان ماشین را اجرا میکند واین دستورات مشخص میکنند که پردازنده چه باید بکند. براساس این دستورات یک ریزپردازنده سه نوع عملیات اصلی را انجام میدهد:


• ریزپردازنده با استفاده از واحد ALU (Arithmetic/Logic Unit)
قادر به انجام عملیات محاسباتی نظیر جمع – تفریق – ضرب و تقسیم است. ریزپردازنده های جدیدتر دارای یک پردازنده داخلی میباشند که با استفاده از آن میتوانند عملیات مختلف ریاضی روی اعداد ممیز شناور (اعشاری) را با دقت بالا انجام دهند.
• یک ریزپردازنده میتواند داده ها را از یک حافظه به حافظه دیگر منتقل کند.
• یک ریزپردازنده قادر به تصمیم گیری و جهش به مجموعه جدیدی از دستورات بر اساس این تصمیم گیری است.

ممکن است یک ریزپردازنده قادر به انجام کارهای بزرگ و پیچیده ای باشد اما این کارها هر چه باشد جزو یکی از سه فعالیت اصلی بالاست.
شکل زیر یک ریزپردازنده را به ساده ترین شکل نشان میدهد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این ریزپردازنده دارای قسمت های زیر است:

• یک address bus (که ممکن است پهنای آن ٨ یا ١٦ یا ٣٢ بیت باشد) که آدرسی را به حافظه ارسال میکند.
• یک data bus (که ممکن است پهنای آن ٨ یا ١٦ یا ٣٢ بیت باشد) که میتواند داده هایی را به حافظه ارسال یا از آن دریافت کند.
• یک خط RD (read) و یک خط WR (write) که به حافظه اعلام میکند که آیا ریزپردازنده در محل آدرس دهی شده قصد نوشتن و ذخیره اظلاعات را دارد یا قصد خواندن اطلاعات از آنجا.
• یک clock line که دنباله ای از clock pulse را برای پردازنده فراهم میکند.
یک reset line که شمارنده داخلی ریزپردازنده را به صفر (یا هر مقدار دیگری که لازم باشد) reset میکند.