Контроллеры
Содержание
Контроллер — это электронное устройство, предназначенное для подключения к магистрали компьютера разных по принципу действия, интерфейсу и конструктивному исполнению периферийных устройств (см. также “Функциональное устройство” и “Шины и интерфейсы”).
К термину “контроллер” очень близок по смыслу другой термин — “адаптер”. Назначение обоих одинаково, но контроллер несколько сложнее: “подразумевается его некоторая активность — способность к самостоятельным действиям после получения команд от обслуживающей его программы. Сложный контроллер может иметь в своем составе и собственный процессор” 11. На уровне рядового пользователя данные понятия практически неразличимы и могут считаться синонимами.
И еще одним похожим устройством является сопроцессор. Сопроцессоры “помогают” основному (центральному) процессору, который исполняет программу, реализовывать сложные специфические функции. Примером может служить графический сопроцессор, выполняющий геометрические построения и обработку графических изображений, — его вполне можно считать графическим контроллером. Несколько особняком стоит математический сопроцессор, который выполняет свои функции “в одиночку”, не управляя никакими внешними устройствами.
Все перечисленные выше устройства служат для уменьшения нагрузки на центральный процессор и повышают общую производительность системы. Значение контроллеров состоит в том, что они освобождают процессор от наиболее медленных функций ввода/вывода информации. Идеи применения специализированных интеллектуальных схем для разгрузки центрального процессора были заложены еще в третьем поколении ЭВМ в больших машинах коллективного пользования IBM-360 (в СССР данное семейство машин известно в качестве “аналога” под именем ЕС ЭВМ). В четвертом поколении возникла технологическая возможность собирать схемы управления в едином кристалле, и появились микроконтроллеры.
В качестве примера на фотографии приведен вид микроконтроллера, располагающегося внутри клавиатуры. Подчеркнем, что еще один контроллер для обслуживания клавиатуры есть в самом компьютере. Кроме того, все устройства ввода/вывода и внешняя память также имеют свои контроллеры.
В состав контроллера, как правило, входят: собственный микропроцессор, ОЗУ, ПЗУ, регистры внешних устройств (через них контроллер взаимодействует с центральным процессором), буферные (согласующие) схемы. В определенном смысле сложный контроллер является упрощенной специализированной ЭВМ.

Чтобы читатели получили некоторое представление о функциях и возможностях современных контроллеров, приведем описание контроллера накопителя на гибких магнитных дисках, которое дается в фундаментальном труде Э.Таненбаума по операционным системам 12. “Основными командами являются команды read и write (чтение и запись). Каждая из них требует 13 параметров, упакованных в 9 байт. Эти параметры определяют такие элементы, как адрес блока на диске, который нужно прочитать, количество секторов на дорожке, физический режим записи, расстановку промежутков между секторами. Они же сообщают, что делать с меткой адреса данных, которые были удалены. Если вы не можете сразу это осмыслить, не волнуйтесь — полностью это понятно лишь посвященным. Когда выполнение операции завершается, чип контроллера возвращает упакованные в 7 байт 23 параметра, отражающие наличие и типы ошибок”.
Еще боRльшим интеллектом обладает контроллер современного винчестера. Например, он “помнит” все имеющиеся на магнитной поверхности некачественно изготовленные сектора (а их при современной плотности записи избежать не удается!) и способен подменять их резервными, создавая видимость диска, который полностью свободен от дефектов. Или еще один пример. Современные жесткие диски используют технологию S.M.A.R.T. (Self Monitoring Analysis and Report Technology — дословно “технология самоконтроля, анализа и отчета”; кроме того, английское слово “smart” имеет значение “разумный”, “интеллектуальный”). Винчестер, оснащенный такой возможностью, со времени самого первого включения ведет статистику своих параметров, сохраняя ее результаты в некоторой скрытой области диска. Накопленные данные могут помочь специалистам при анализе состояния жесткого диска и условий его эксплуатации.
Методические рекомендации
Курс информатики основной школы
Строго говоря, в Стандарте и Примерной программе не упоминается термин “контроллер”. Тем не менее минимальное представление о контроллерах и их функциях, по нашему мнению, школьникам желательно дать.
Курс информатики в старших классах
Стандарты (базовый и профильный) старших классов содержат вопросы, связанные с архитектурой и организацией современных компьютеров. По-видимому, осветить эти вопросы, не упоминая терминов “адаптер”, “контроллер” и “сопроцессор”, просто невозможно. Изложенный в статье материал можно рассматривать в качестве минимума информации, который следует изложить старшекласснику в рамках рассказа об устройстве современного компьютера.
11 Гук М. Аппаратные средства IBM PC. Энциклопедия. СПб.: Питер, 2003, 923.
12 Э.Таненбаум. Современные операционные системы. СПб.: Питер, 2004, 1040 с.