ساختار و عملکرد CPU یا واحد پردازنده مرکزی
سیپییو یا CPU مخفف central processing unit به فارسی "واحد پرداز مرکزی" بخشی در یک رایانه است که محاسبات مثل جمع و تفریق در آن انجام میشود که خود از بخش های مختلف تشکیل شده.
واحد مواجهه گذرگاه
واحد مواجه گذرگاه (BIU) یا bus interface unit یکی از مهم ترین بخش های پردازنده میباشد که وظیفه انتقال داده ها، آدرس ها و سیگنال ها و کنترل گذر گاه ها را بر عهده دارد.
منظور از BUS یا گذرگاه یک سیستم ارتباطی داده میباشد.
این واحد دستور العمل ها را از حافظه رم دریافت و صف میکند، ثبات ها و سگمنت ها را حفظ میکند، و داده ها را در پورت ها و حافظه رم مینویسد.
کنترل گذرگاه ها
در رابطه با پردازنده ۳ گذرگاه وجود دارد که یکی از اصلی ترین وظایف BIU کنترل آنها است.
- گذرگاه آدرس: آدرس حافظه را از پردازنده به دیگر component ها مثل ابزار های I/O و primary storage و... منتقل میکند.
- گذرگاه داده: داده را بین پردازنده و دیگر component ها منتقل میکند.
- گذرگاه کنترل: سیگنال های کنترل را از پردازنده به دیگر component ها منتقل میکند.
ثبات های سگمنت
این ثبات ها آدرس دهی حافظه را مشخص میکنند.
برخی از این ثبات های سگمنت عبارتند از:
- کد سگمنت یا code segment که اشاره میکند به محل اشغال شده در رم توسط برنامه درحال اجرا.
- سگمنت داده یا data segment
- سگمنت پشته
- سگمنت اضافه یا ES
صف دستورالعمل ها
وظیفه دیگر BIU فراهم نمودن دسترسی به دستورالعمل ها با در صف اجرا قرار دادن دستورالعمل های موجود در RAM میباشد.
این خصیصه به BIU امکان میدهد که پیش نگری انجام داده و دستورالعمل ها را از حافظه بگیرد به نحوی که همیشه صفی از دستورات آماده اجرا بوجود آید.
واحد اجرایی
واحد اجرایی یا execution unit از چند واحد شامل CU و ALU و چندین ثبات (register) تشکیل شده است.
نکته: ثبات یا register قسمت ویژه ای از پردازشگر میباشد که برای ذخیره آدرس ها (آدرس بخش ها مختلف رم) و داده ها استفاده میشوند.
واحد کنترل یا CU
واحد کنترل به انگلیسی control unit یک مدار زیر مجموعه از یک CPU میباشد که جریان داده ها بین CPU و دیگر device ها را کنترل میکند؛ بیشتر منابع کامپیوتر با CU مدیریت میشوند.
واحد کنترل, معمولا از یک رمزگشای دودویی یا باینری دیکدر (binary decoder) برای تبدیل «دستور العمل» های کد شده به زمان بندی (timing), و کنترل سیگنال هایی که عملیات (operation) های دیگر واحد ها را کنترل میکنند, استفاده میکند.
واحد کنترل, به واسطه رمزگشای دودویی, وظیفه حافظه رم، ALU و device های I/O را مشخص میکند تا بفهمند که چطور به دستور العمل های ارسال شده به CPU پاسخ دهند.
ثبات دستور العمل
واحد اجرایی, دارای یک ثبات instruction register یا ثبات دستور العمل میباشد که دستور العمل هایی که درحال اجراء هستند, یا در حال رمز گشایی هستند, در خود نگه میدارد.
ثبات دستور, طولی به اندازه طول دستور العمل های خود دارد؛ مثلا ریز پردازنده های AVR از آنجا که دستور العمل های ۱۶ بیتی دارند, ثبات دستورشان نیز ۱۶ بیتی است.
ثبات اشاره گر دستور العمل
اشاره گر دستور العمل به انگلیسی instruction pointer, و یا PC مخفف program counter به فارسی ثبات برنامه, نشان دهنده محل کامپیوتر در مراحل اجرای برنامه اش است؛ ثبات اشاره گر دستور العمل, آدرس دستور العملی در حافظه را در خود نگه میدارد که باید خوانده شود, و در ثبات دستور برای decode ذخیره شود.
طول program counter به اندازه یک کلمه است.
واحد منطقی ریاضی یا ALU
مدار واحد منطقی ریاضی یا ALU مخفف arithmetic logic unit واحدی است که برای انجام محاسبات جمع، تفریق، و اجرای Bitwise ها مورد استفاده قرار میگیرد.
مدار ALU برای انجام محاسبات ۲ ورودی ۴ یا ۸ یا ۱۶ یا ۳۲ یا... بیتی میپذیرد، و خروجی ای به طول ورودی ها تولید میکند.
مدار ALU دارای یک control line است که تعین میکند محاسبات بر سر ۲ ورودی باید جمع، تفریق یا اجرای bitwise های AND یا OR باشد.
ساعت یا clock
ساعتِ پردازنده یا CPU clock یک oscillator یا نوسانگر میباشد که برای synchronize یا همگام کردن پردازش ها در پردازنده بکار میرود.
هرچه clock rate یا نرخِ ساعت پردازنده که سیکل بر ثانیه است بیشتر باشد, دستور العمل ها نیز سریع تر پردازش خواهند شد؛ واحد زمانی این ساعت سیکل یا چرخه بر ثانیه است که بر حسب هرتز بیان میشود.
مثلا CPU ای ۱ مگاهرتزی یعنی ۱ ملیون چرخه در ثانیه.