کامپیوتری که هم اکنون به کمک آن در حال مشاهده و مطالعه این صفحه هستید، دارای یک ریزپردازنده است. ریزپردازنده بمنزله مغز در کامپیوتر است. تمام کامپیوترها اعم از کامپیوترهای شخصی، کامپیوترهای دستی و ... دارای ریزپردازنده می باشند. نوع ریزپردازنده استفاده شده در یک کامپیوتر می تواند متفاوت باشد ولی تمام آنها تقریبا عملیات یکسانی را انجام می دهند.
واحد مرکزی پردازش در هر کامپیوتر ، که پردازش های مختلف در آنجا انجام می گیرد، پردازنده یا CPU نام دارد. با استفاده از تکنولوژی ساخت قطعات نیمه هادی می توان این واحد پردازنده (CPU) را کوچک (ریز) نموده و در یک بسته بندی یا تراشه (IC) قرار داد، که به آن ریزپردازنده یا میکروپروسسور گویند. پس در حالت کلی کلمه CPU یک مفهوم کلی تری از کلمه ریزپردازنده است. با پیشرفت تکنولوژی، هم اکنون تمام CPUها بصورت ریزپردازنده ساخته می شود در صورتی که در کامپیوترهای نسلهای پایین تر به دلیل پایین بودن تکنولوژی ، امکان ساخت CPU بصورت متمرکز و در داخل یک بسته بندی (تراشه وجود نداشت).
تاریخچه مختصری از ریزپردازنده ها
ریزپردازنده، پتانسیل های اساسی برای انجام محاسبات و عملیات مورد نظر در یک کامپیوتر را فراهم می نماید. ریزپردازنده از لحاظ فیزیکی یک تراشه است. اولین ریزپردازنده در سال 1971 و با نام Intel 4004 معرفی گردید. ریزپردازنده فوق چندان قدرتمند نبود و صرفا" قادر به انجام عملیات جمع و تفریق چهار بیتی بود. نکته مثبت پردازنده فوق، استفاده از یک تراشه بود. قبل از آن مهندسین و طراحان کامپیوتر از چندین تراشه برای تولید CPU استفاده می کردند.
اولین ریزپردازنده ای که بر روی یک کامپیوتر خانگی نصب گردید، 8080 بود. پردازنده فوق هشت بیتی و بر روی یک تراشه قرار داشت. این ریزپردازنده در سال 1974 به بازار عرضه گردید. اولین ریزپردازنده ای که باعث تحولات اساسی در دنیای کامپیوتر شد، 8088 بود. ریزپردازنده فوق در سال 1979 توسط شرکت IBM طراحی و اولین نمونه آن در سال 1982 عرضه گردید.
وضعیت تولید ریزپردازنده توسط شرکت های تولید کننده بسرعت رشد کرده و مثلا ریزپردازنده های شرکت اینتل از مدل 8088 به 80286، 80386، 80486، پنتیوم، پنتیوم II، پنتیوم III و پنتیوم 4 رسیده است. ریزردازنده های پنتیوم 4 در مقایسه با ریزپردازنده 8088 عملیات مربوطه را با سرعتی به میزان 5000 بار سریعتر انجام می دهد. جدول زیر ویژگی هر یک از ریزپردازنده های فوق به همراه تفاوت های موجود را نشان می دهد:
توضیحات جدول
ستون Date نشاندهنده سال عرضه پردازنده است.
ستون Transistors تعداد ترانزیستور موجود بر روی تراشه را مشخص می کند. تعداد ترانزیستور بر روی تراشه در سال های اخیر شتاب بیشتری پیدا کرده است.
ستون Micron ضخامت کوچکترین رشته بر روی تراشه را بر حسب میکرون مشخص می کند. ( ضخامت موی انسان 100 میکرون است) .
ستون Clock Speed حداکثر سرعت Clock تراشه را مشخص می نماید.
ستون Data Width پهنای باند واحد منطق و محاسبات (ALU ) را نشان می دهد. یک واحد منطق و حساب هشت بیتی قادر به انجام عملیات محاسباتی نظیر: جمع، تفریق، ضرب و ... برای اعداد هشت بیتی است. در صورتیکه یک واحد منطق و حساب 32 بیتی قادر به انجام عملیات بر روی اعداد 32 بیتی است. یک واحد منطق و حساب 8 بیتی بمنظور جمع دو عدد 32 بیتی می بایست چهار دستورالعمل را انجام داده در صورتیکه یک واحد منطق وحساب 32 بیتی عملیات فوق را صرفا" با اجرای یک دستورالعمل انجام خواهد داد.
در اغلب موارد گذرگاه خارجی داده ها مشابه ALU است. هرچند این موضوع در تمام موارد صادق نخواهد بود مثلا" پردازنده 8088 دارای واحد منطقی ومحاسابتی 16 بیتی بوده در حالیکه گذرگاه داده ی آن هشت بیتی است. در اغلب پردازنده های پنتیوم جدید، گذرگاه داده 64 بیتی و واحد منطق وحساب آن 32 بیتی است.
ستون MIPS مخفف کلمات Millions of instruction per Second ( میلیون دستورالعمل در هر ثانیه ) بوده و واحدی برای سنجش کارآئی یک پردازنده است.
ساختمان داخلی یک پردازنده
به منظور آشنائی با نحوه عملکرد یک ریزپردازنده، در حالت کلی، لازم است نگاهی به ساختمان داخلی یک ریزپردازنده بیندازیم و با نحوه عملکرد آن بیشتر آشنا شویم. یک ریزپردازنده مجموعه ای از دستورالعمل ها را اجراء می کند. این دستورالعمل نوع عملیات مورد نظر را برای ریزپردازنده مشخص خواهند کرد. با توجه به نوع دستورالعمل ها، یک ریزپردازنده سه عملیات اساسی را انجام خواهد داد :
1-یک ریزپردازنده با استفاده از واحد محاسبات و منطق خود (ALU) قادر به انجام عملیات محاسباتی نظیر: جمع، تفریق و عملیات منطقی نظیر and و غیره ؛که بر روی بیت ها انجام می گیرد؛ است. ریزپردازنده های جدید دارای پردازنده های اختصاصی برای انجام عملیات مربوط به اعداد اعشاری نیز می باشند.
2- یک ریزپردازنده قادر به انتقال داده از یک محل حافظه به محل دیگر است .
3-یک ریزپردازنده قادر به اتخاذ تصمیم (تصمیم گیری) و پرش به یک محل دیگر برای اجرای دستورالعمل های مربوطه بر اساس تصمیم اتخاذ شده است .
توضیح اجزاء شکل
●گذرگاه آدرس (Address Bus ) که آدرس از طرف ریزپردازنده بر روی این گذرگاه قرار می گیرد. ریزپردازنده قادر به ارسال آدرس به حافظه یا مدارات جانبی جهت تعیین دستگاه ورودی- خروجی است. تعداد بیتهای آدرس (و بالطبع خطوط گذرگاه آدرس) بستگی به طراحی و نوع ریزپردازنده دارد. مثلا در ریزپردازنده های مختلف گذرگاه فوق 8، 16، 32 بیتی و ... است.
●گذرگاه داده ها (Data Bus ) که داده ها بر روی خطوط این گذرگاه قرار گرفته و از طرف حافظه یا دستگاه ورودی - خروجی به ریزپردازنده ارسال می شود یا از ریزپردازنده به سمت آنها فرستاده می شود.
قرارداد:
قرارداد می کنیم که ریزپردازنده محور نام گذاری برای عناوین ارسال و دریافت داده ها باشد. بنابراین منظور از دریافت داده ها یعنی دریافت به ریزپردازنده و ارسال داده ها یعنی ارسال از طرف ریزپردازنده به سمت دستگاهای I/O. گذرگاه فوق می تواند 8، 16، 32 و ... بیتی باشد.
● یک خط برای صدور فرمان خواندن از طرف ریزپردازنده (RD ) و یک خط برای صدور فرمان نوشتن از طرف ریزپردازنده (WR ) است و فعال شدن هر کدام از طرف ریزپردازنده (به ترتیب) تعیین می نماید که آیا ریزپردازنده در حال ارسال داده یا دریافت داده می باشد.
● خط Clock که پالس های ساعت ورودی به ریزپردازنده را تعیین می کند و ریزپردازنده خود را با پالس های ساعت ورودی به این خط همزمان خواهد کرد.
● یک خط Reset که مقدار شمارنده برنامه را صفر نموده و یا باعث اجرای مجدد یک فرآیند می گردد.
فرض کنید پردازنده هشت بیتی بوده واز عناصر زیر تشکیل شده است:
- ثبات (Register)های A,B,C ثبات (نگاهدارنده) هائی بوده که از فلیپ فلاپ ها ساخته شده اند.
- Address Latch مشابه ثبات های A,B,C است.
- شمارنده برنامه (Program Counter ) نوع خاصی از یک نگهدارنده اطلاعات است که قابلیت افزایش به میزان یک و یا پذیرش مقدار صفر (یا هر مقدار دیگری) را داراست.
- واحد منطق و حساب (ALU ) می تواند یک مدار ساده جمع کننده هشت بیتی بوده و یا مداری است که قابلیت انجام عملیات جمع، تفریق، ضرب و تقسیم را دارا باشد.
- ثبات Test یک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتایج حاصل از انجام مقایسه ها توسط ALU است. ALU قادر به مقایسه دو عدد و تشخیص مساوی و یا نامساوی بودن آنها است. ثبات Test همچنین قادر به نگهداری یک بیت نقلی (Carry bit) ماحصل بیت انتقالی آخرین مرحله عملیات جمع است. ثبات فوق مقادیر مورد نظر را در فلیپ فلاپ ها ذخیره می کند که در ادامه Instruction Decoder (تشخیص دهنده دستورالعمل ها) با استفاده از مقادیر فوق قادر به اتخاذ تصمیمات لازم خواهد بود.
- همانگونه که در شکل فوق مشاهده می گردد از شش بافر سه حالته 3-State استفاده شده بافرهای فوق قادر به عبور دادن مقادیر صفر و یا یک و یا حالت سوم یعنی قطع خروجی مربوطه می باشند. وجود این نوع بافرها امکان ارتباط چندین خروجی را از طریق یک مسیر ارتباطی (سیم) فراهم می نماید. در چنین حالتی فقط یکی از خروجی ها قادر به انتقال (حرکت) صفر و یا یک بر روی خط خواهد بود.
- ریجستر Instruction و Instruction Decoder مسئولیت کنترل سایر عناصر را برعهده خواهند داشت. بدین منظور از خطوط کنترلی متفاوتی استفاده می گردد. خطوط فوق در شکل فوق نشان داده نشده اند ولی مثلا می بایست قادر به انجام عملیات زیر باشند:
- به ریجستر A اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به ریجستر B اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به ریجستر C اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به " شمارنده برنامه " اعلام نماید که مقدار موجود بر روی گذرگاه آدرس را در خود نگاه دارد. (Latch )
- به ریجستر Address اعلام نماید که مقدار موجود بر روی گذرگاه آدرس را در خود نگاه دارد. (Latch )