В вычислениях и особенно в компьютерном оборудовании, контроллер - это микросхема (например, микроконтроллер ), карта расширения или автономное устройство, которое взаимодействует с более периферийным устройством устройство. Это может быть связь между двумя частями компьютера (например, контроллер памяти, который управляет доступом к памяти для компьютера) или контроллер на внешнем устройстве, который управляет работой (и связь с) этим устройством.
Термин иногда используется в противоположном смысле для обозначения устройства, с помощью которого пользователь управляет работой компьютера, как в игровой контроллер.
В настольных компьютерах контроллер может быть штепсельной вилкой. - на плате, одиночная интегральная схема на материнской плате или внешнее устройство. В мэйнфреймах контроллер обычно представляет собой отдельное устройство, подключенное к каналу или интегрированное в периферийное устройство.
Контроллеры могут находиться на обеих сторонах компьютерной шины. Контроллер на стороне хоста (физически часть хоста) называется хост-контроллером или (в контексте хранения) адаптером шины хоста . Контроллер на периферийной стороне (физическая часть периферийного устройства) называется периферийным контроллером ; примерами являются контроллеры дисков и контроллеры флэш-памяти, которые в современных системах обычно интегрируются в привод.
Эта классификация не применяется к сетевым контроллерам, поскольку системы участвуют в качестве равноправных узлов, и ни одна из систем явно не является более центральной / периферийной.
Ранние настольные компьютеры, такие как IMSAI 8080, использовали платы расширения (или платы расширения) для всех контроллеров, каждая из которых обрабатывает определенный тип устройства. Примеры контроллеров платы расширения:
По мере увеличения плотности микросхем контроллеры были реализованы в виде отдельных микросхем и часто располагались на материнской плате. Примеры:
Дальнейшая интеграция позволила разработать Super Микросхемы ввода-вывода - отдельные микросхемы, которые могут управлять различными устройствами, такими как гибкие диски, параллельные порты, последовательные порты, клавиатура и мышь.
В терминологии IBM контроллер - это «устройство, которое декодирует команду [канал] и влияет на работу устройства. «
В большинстве систем мэйнфреймов независимый от устройства канал обычно подключается к ЦП и к контроллеру или блоку управления, который реализует зависящую от устройства логику для подключения определенных устройств. Функции, выполняемые блоком управления, аналогичны функциям, выполняемым программой драйвера устройства в небольших системах. Некоторые устройства имеют встроенные блоки управления, которые логически дискретны, но включены в комплект, а не требуют отдельной коробки. Часто блок управления может подключаться к нескольким каналам, подключенным к одной или нескольким системам. Вот некоторые блоки управления мэйнфрейма: