در محاسبات و به ویژه در سختافزار رایانه، یک controller نوعی تراشه است که با دستگاههای جانبی بیشتری ارتباط برقرار میکند و میتواند ارتباطی بین دو بخش رایانه (مانند یک کنترلکننده حافظه که دسترسی به حافظه را برای رایانه کنترل میکند) یا یک کنترلکننده در یک دستگاه خارجی که عملکرد و ارتباط با آن دستگاه را کنترل میکند، فراهم کند.
در واقع، کنترلکننده در حوزه محاسبات یک دستگاه سختافزاری یا یک نرمافزار است که جریان دادهها را بین دو نهاد مدیریت یا هدایت میکند. در محاسبات، کنترلکننده میتواند یک کارت، یک میکروچیپ یا دستگاههای سختافزاری جداگانه برای کنترل دستگاه جانبی باشد. به طور کلی، یک کنترلکننده را میتوان به عنوان یک واسط بین دو سیستم تصور کرد که ارتباطات بین آنها را مدیریت میکند.
اصطلاح کنترلکننده در برخی موارد به طور مخالف برای اشاره به دستگاهی استفاده میشود که توسط آن کاربر کامپیوتر را مانند یک کنترلکننده بازی کنترل میکند. در کامپیوترهای رومیزی، کنترلکننده میتواند یک صفحهکلید، مدار مجتمع بر روی مادربورد یا یک دستگاه خارجی باشد. در کامپیوترهای اصلی، کنترلکننده معمولاً یک دستگاه جداگانه است که به یک کانال متصل میشود یا در محیط جانبی یکپارچه شده است. کنترلکنندهها ممکن است در دو طرف رابطه بوس رایانهای قرار بگیرند. در طرف میزبان (Host) به عنوان کنترلکننده میزبان یا (در زمینههای ذخیرهسازی) یک آداپتور رابطه میزبان (Host Bus Adapter) نامیده میشود.
کنترلکننده در قسمت جانبی (از نظر فیزیکی بخشی از دستگاه محیطی) به عنوان یک کنترلکننده محیطی نامیده میشود. به عنوان مثال، یک کنترلکننده دیسک سخت (Hard Disk Controller) مسئول کنترل و مدیریت دسترسی به دادهها در دیسک سخت است. همچنین، کنترلکننده USB (USB Controller) مسئول مدیریت و کنترل دستگاههای متصل به پورت USB است.
کنترلکنندهها نقش مهمی در عملکرد صحیح سیستمهای کامپیوتری ایفا میکنند، زیرا آنها ارتباط و هماهنگی بین قسمتهای مختلف سیستم را فراهم میکنند و از تعامل صحیح آنها با یکدیگر اطمینان حاصل میکنند.
نمونه هایی از controller ها
در اینجا چند نمونه از controller ها آورده شده است:
- کارت گرافیک یک کارت مدار یکپارچه در یک کامپیوتر یا در برخی موارد مانیتوری است که امکان تبدیل دیجیتال به آنالوگ، RAM ویدیویی و یک کنترلر ویدیویی را فراهم می کند تا داده ها به صفحه نمایش رایانه ارسال شوند.
- کنترلر بازی وسیله ای برای پخش بازی ها است.
- کارت رابط شبکه (NIC) یک برد مدار رایانه یا کارت است که در یک کامپیوتر نصب شده است تا بتواند به یک شبکه وصل شود.
- کارت رابط WAN (WIC) یک کارت تخصصی رابط شبکه است که به دستگاه ها امکان اتصال به یک شبکه گسترده را می دهد.
- فلش کنترلر بخشی از فلش مموری است که با دستگاه host ارتباط برقرار می کند و دایرکتوری فایل فلش را مدیریت می کند.
- controller مدیریت baseboard (BMC) یک پردازنده خدمات تخصصی است که با استفاده از سنسورها وضعیت فیزیکی رایانه ، سرور شبکه یا سایر تجهیزات سخت افزاری را کنترل می کند و از طریق یک ارتباط مستقل با مدیر سیستم ارتباط برقرار می کند.
- Controller SBC وسیله یا برنامه ای است که بر نحوه برقراری تماس نظارت می کند، در یک شبکه VoIP (Voice over Internet Protocol) آغاز، اجرا و خاتمه می یابد.
- کنترل کننده دامنه اولیه (PDC) و کنترل کننده دامنه پشتیبان (BDC) نقش هایی هستند که می توانند برای مدیریت دسترسی به مجموعه ای از منابع شبکه (برنامه ها ، چاپگرها و موارد دیگر) برای یک گروه از کاربران به یک سرور اختصاص دهند.
بردهای controller
رایانه های رومیزی اولیه مانند IMSAI 8080 از کارت های توسعه برای همه controller ها استفاده می کردند که هر یک نوع خاصی از دستگاه ها را دارند. نمونه هایی از کنترلرهای بورد توسعه عبارتند از:
- Controller گرافیک یا کنترل کننده نمایشگر فیلم
- کنترلر SCSI
- کنترلر رابط شبکه (NIC)
- کنترلر پورت موازی
تراشه های Controller
به عنوان تراکم تراشه کنترل های بهبود یافته به عنوان تراشه های تک اجرا می شدند و اغلب در مادربرد قرار دارند. از جمله مثال های تراشه های Controller می توان به موارد زیر اشاره کرد:
- واحد میکروکنترلر (MCU)
- Controller صفحه کلید
- کنترلر وقفه قابل برنامه ریزی
- Northbridge (محاسبات) – تراشه کنترل کننده حافظه اینتل
- Southbridge (محاسبات) – تراشه کنترل Intel I / O
- تراشه کنترل کننده گیرنده / فرستنده ناهمزمان جهانی (UART)
- Controller حافظه، منطقی که مدیریت جریان داده ها در یک سیستم رایانه ای را کنترل می کند.
- کنترل کننده DMA محیطی
- کنترل کننده دیسک فلاپی
کنترلرهای خارجی
ادغام بیشتر امکان توسعه تراشه های Super I / O را فراهم کرده است. تراشه های منفرد که می توانند دستگاه های مختلفی مانند فلاپی دیسک ها، پورت های موازی، پورت های سریال، صفحه کلید و ماوس را کنترل کنند. از Controller های خارجی می توان به موارد زیر اشاره کرد:
- Controller های دیسک، اغلب در درایوهای مدرن دیسک وجود دارد.
- Controller دیسک آرایه ، همچنین به عنوان کنترل کننده RAID شناخته می شود، نوعی کنترلر ذخیره سازی
- کنترلر Flash یا کنترل کننده SSD ، حافظه فلش را مدیریت می کند.
کنترلرهای اصلی
در بیشتر سیستم های اصلی، یک کانال مستقل از دستگاه معمولاً به CPU و یک کنترلر یا واحد کنترل وصل می کند که منطق وابسته به دستگاه را برای اتصال دستگاه های خاص پیاده سازی می کند. عملکردهایی که توسط واحد کنترل انجام می شود مشابه عملکردهایی است که توسط یک برنامه درایور دستگاه در سیستم های کوچکتر انجام می شود.
برخی از دستگاه ها دارای واحدهای کنترل یکپارچه هستند که منطقا گسسته هستند اما به جای نیاز به جعبه جداگانه با دستگاه گنجانده شده اند. اغلب یک واحد کنترل می تواند به چندین کانال متصل به یک سیستم واحد یا چندگانه وصل شود. برخی از واحدهای کنترل اصلی عبارتند از:
- واحد کنترل IBM 2821 که برای وصل کردن کارت خوان، پانچ و چاپگر خط به رایانه های IBM System / 360 و IBM System / 370 استفاده می شود.
- IBM 270x و IBM 37xx که برای ارتباطات از راه دور استفاده می شود.
- IBM 3271 ، ۳۲۷۲ ، ۳۲۷۱و ۳۱۷۴ که برای اتصال پایانه ها (دستگاه های نمایش) استفاده می شود.
سوالات متداول
1. Controller چیست؟
controller یک تراشه (مانند میکروکنترلر)، کارت توسعه یا یک دستگاه مستقل است که با دستگاه جانبی بیشتری ارتباط دارد و ممکن است ارتباطی بین دو بخش یک رایانه را ایجاد کند و مدیریت عملکرد و ارتباط با آن دستگاه را کنترل می کند.
2. چه ویژگیهایی در یک کنترلر مهم است؟
ویژگیهای مهم در یک کنترلر عبارتند از:
- قابلیت کنترل و مدیریت دقیق: کنترلر باید قادر باشد عملکرد دستگاه یا سیستم را به طور دقیق کنترل کند و دستورات را به درستی اجرا کند.
- سرعت و کارایی: کنترلر باید بتواند با سرعت بالی و به طور کارآمد عمل کند تا بتواند نیازهای سیستم را برآورده کند.
- پایداری و قابلیت اطمینان: کنترلر باید پایداری و قابلیت اطمینان بالایی داشته باشد تا به طور مداوم و بدون اشکال عمل کند.
- قابلیت ارتباط و تعامل: کنترلر باید قابلیت ارتباط و تعامل با دستگاهها و سیستمهای دیگر را داشته باشد تا بتواند اطلاعات را دریافت و ارسال کند و با سایر اجزا تعامل داشته باشد.
- برنامهپذیری: بسیاری از کنترلرها باید قابلیت برنامهپذیری داشته باشند تا بتوانند عملکرد و رفتار خود را با توجه به نیازهای خاص سیستم تنظیم کنند.
- امکانات اضافی: برخی از کنترلرها ممکن است امکانات اضافی مانند پورتهای ارتباطی متنوع، ذخیرهسازی داخلی، پشتیبانی از پروتکلهای خاص و قابلیتهای امنیتی را داشته باشند.
3. واحد Controller های اصلی را نام ببرید؟
واحد Controller های اصلی عبارتند از: واحد کنترل IBM 2821، IBM 270x، IBM 33xx، IBM 3271، IBM 3272، IBM 3271 و IBM 3174.
4. تراشه های کنترلر را نام ببرید؟
برخی از تراشه های کنترلر به شرح زیر می باشد:
تراشه کنترل کننده حافظه اینتل
تراشه کنترل Intel I / O
تراشه کنترل کننده گیرنده / فرستنده ناهمزمان جهانی (UART)