Назначение контроллеров и шины
Контроллер — это специализированный процессор, управляющий работой вверенного ему внешнего устройства. Поскольку в системе появилось теперь несколько процессоров, главный из них для отличия стали называть центральным.
Наличие контроллеров существенно изменяет процессы обмена информацией внутри компьютера. Центральный процессор при необходимости произвести обмен выдает задание на его осуществление контроллеру.
В отличие от первоначальной архитектуры, для связи между отдельными функциональными узлами компьютера используется специальное устройство — шина.
Шинасостоит из трех частей:
• шины данных (для передачи данных);
• шины адреса (для передачи адресов);
• шины управления (для передачи управляющих сигналов).
Одно из достоинств описанной схемы заключается в возможности легко подключать к компьютеру новые устройства. Это называется принципом открытой архитектуры. Для пользователя открытая архитектура означает возможность свободно выбирать состав внешних устройств для своего компьютера в зависимости от круга решаемых задач.
Виды памяти
Память компьютера делится на внутреннюю — оперативнуюивнешнюю — долговременную. Основные различия внутренней и внешней памяти состоят в следующем: внутренняя память энергозависимая и «быстрая», внешняя память энергонезависимая и сравнительно «медленная».
Чем определяется быстродействие памяти? Временем доступа процессора к данным, хранящимся в устройстве памяти. Иначе говоря, тем, за какое время процессор считывает или записывает в память фиксированную порцию данных, например 1 байт. Время доступа самого современного жесткого диска (винчестера) составляет примерно 10 миллисекунд. А современная оперативная память обладает временем доступа порядка 5 наносекунд, т. е. работает примерно в миллион раз быстрее.
Конструктивно оперативная память (ОЗУ) компьютера представляет собой совокупность микросхем (чипов), обеспечивающих хранение программ и данных, оперативно обрабатываемых компьютером.
Существуют два основных типа устройств оперативной памяти: динамическая и статическая память. Динамическая память чаще всего является основной памятью, статическая — дополнительной. Динамическая память стоит много меньше статической (в расчете на единицу хранимой информации), но по быстродействию значительно уступает современным микропроцессорам. Это означает, что внутрипроцессорные операции совершаются значительно быстрее (в несколько раз), чем обмен информацией между процессором и памятью. Поскольку при исполнении программы постоянно идет обмен данными между процессором и оперативной памятью, то низкое быстодействие динамической памяти тормозит весь процесс.
Значит, дополнительно необходима пусть менее емкая, но более «быстрая» память. Это статическая память, которую еще называют кэш-па-мятью. В ней хранятся данные, к которым исполняемая программа обращается наиболее часто. Кэш-память работает практически с той же скоростью, что и процессор. Использование кэш-памяти позволяет значительно увеличить производительность системы.
Существует еще один вид устройств памяти — постоянное запоминающее устройство (ПЗУ). ПЗУ — энергонезависимое устройство, т. е. данные, находящиеся в нем, не зависят от того, включен ли компьютер. В динамической и статической памяти при исчезновении энергопитания данные практически мгновенно исчезают. В ПЗУ хранится программа запуска компьютера, которая называется BIOS (базовая система ввода/вывода). BIOS начинает работать после включения питания компьютера. Эта программа загружает с диска операционную систему и далее в работе компьютера не участвует.
На рис. 4.1 также представлен еще один вид памяти — видеопамять, обслуживающая устройство визуального отображения выводимой информации — монитор. Сначала формируется содержимое видеопамяти, а затем контроллер монитора выводит изображение на экран.
Системная плата
Конструктивно упомянутые выше устройства расположены в персональном компьютере в системном блоке (в настольном варианте ПК). Если снять крышку системного блока, то под ней мы обнаружим несколько плат, содержащих многочисленные разъемы и микросхемы. Главная из них — системная плата, называемая также материнской платой. Перечислим лишь некоторые компоненты системной платы:
Контроллеры
Контроллер — это электронное устройство, предназначенное для подключения к магистрали компьютера разных по принципу действия, интерфейсу и конструктивному исполнению периферийных устройств (см. также “Функциональное устройство” и “Шины и интерфейсы”).
К термину “контроллер” очень близок по смыслу другой термин — “адаптер”. Назначение обоих одинаково, но контроллер несколько сложнее: “подразумевается его некоторая активность — способность к самостоятельным действиям после получения команд от обслуживающей его программы. Сложный контроллер может иметь в своем составе и собственный процессор” 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 с.
Устройство и принцип работы контроллеров
Контроллеры представляют собой микропроцессорные устройства, выполняющие определенные действия по заложенной в них программе. По сути, контроллеры мало чем отличаются от микро-ЭВМ (компьютеров) и имеют одинаковые с ними основные узлы. Контроллеры, как и большинство существующих на сегодняшний день ЭВМ, построены по архитектуре фон Неймана: они содержат процессор (блок управления + арифметико-логическое устройство), память и устройства ввода-вывода. На рис. 1.1 приведена общая структурная схема контроллера. Однако надо отметить, что конкретные модели контроллеров могут не вполне соответствовать приведенной схеме.
Рис. 1.1. Общая структурная схема программируемых
Рассмотрим основные элементы контроллеров, приведенные на рис. 1.1.
Процессор. Основная часть любой ЭВМ, его функция – выполнять команды, записанные в памяти. Тип процессора не является основной характеристикой контроллеров (в отличие от персональных компьютеров), поскольку обычно от контроллеров не требуется очень высокого быстродействия; часто тип процессора даже не указывается в документации к контроллеру. Однако в последнее время развиваются так называемые SCADA-системы (системы контроля управления и диспетчеризации), которые предъявляют новые требования к контроллерам, в частности, поддержку современных сетевых технологий (Ethernet) и многозадачность. Поэтому в современных контроллерах могут применятся достаточно совершенные процессоры, например, Intel Pentium III и др. В то же время, в более простых контроллерах, работающих без связи с другими контроллерами и компьютерами, могут использоваться и более простые процессоры, например, Z80.
Память (ОЗУ и ПЗУ). Функция памяти – хранить программу и данные. Обычно контроллеры не имеют большого объема памяти, поскольку они работают под управлением упрощенных узкоспециализированных операционных систем с довольно скромными запросами. Программа контроллера также не занимает большого объема. Следовательно, контроллеры не имеют жестких дисков (в них нет никакой необходимости). Чтобы контроллер не «забывал» программу при выключении питания, память может быть энергонезависимой (EPROM, Erasable Programmable Read Only Memory), это альтернатива жестким дискам, более простая и дешевая, но с малой емкостью. Объем памяти не является важной характеристикой контроллера. Он может быть, например, несколько килобайт (у персональных компьютеров объем памяти составляет порядка сотен мегабайт, т.е. в сотни тысяч раз больше).
Клавиатурно-дисплейный модуль (КДМ). Предназначен для управления контроллером, ввода команд, программирования, мониторинга. Не особенно удобен для выполнения перечисленных функций, так как обычно контроллеры могут подключаться к компьютерам, выполняющим те же функции. Как правило, КДМ применяется для настройки контроллера «на месте», т.е. довольно нечасто. По этой причине КДМ обычно небольшой и простой.
Порты ввода-вывода. Они служат для преобразования двоичной информации в какие-либо физические сигналы (как правило, в дискретные электрические) и обратно. Порты являются неотъемлемой частью любого микропроцессорного устройства, а контроллере они выполняют функцию ввода данных и выдачи управляющих воздействий. Внешние устройства, как правило, не подключаются к шине контроллера напрямую, поскольку их уровни сигналов обычно не совпадают с уровнями сигналов шины контроллера (лог.0 – 0,2 В, лог.1 – 5 В). Кроме того, подключение устройств к шине без гальванической развязки небезопасно, так как любые виды помех (из-за наводок, пробоев изоляции, коротких замыканий и т.д.) поступали бы напрямую в контроллер, что приводило бы к его неустойчивой работе и даже к выходу из строя. Поэтому порты ввода-вывода обеспечивают, во-первых, необходимое преобразование уровней сигналов, и во-вторых, гальваническую развязку.
Дискретные входные сигналы, как правило, несут информацию о замыкании или размыкании какого-либо контакта (рис. 1.2).
Рис. 1.2. контроллер с двумя дискретными входами
и с двумя релейными выходами
Дискретные выходные сигналы представляют собой управляемые контроллером «ключи», способные замыкать или размыкать цепь (рис. 1.2). Дискретные выходы могут быть релейными или транзисторными. Транзисторные выходы обладают высоким быстродействием и бесшумностью. Релейные выходы достаточно медленные и срабатывают с характерными для реле громкими «щелчками», однако они могут коммутировать цепи с большим напряжением, например, 220 В.
Аналоговые входные сигналы несут изменяющуюся информацию в форме тока или напряжения. Аналоговый сигнал может принимать произвольное значение из определенного диапазона, например, от 0 до 12 В. Такой сигнал не может непосредственно восприниматься контроллером, поскольку контроллер оперирует дискретной (двоичной), а не аналоговой информацией. Для преобразования аналогового сигнала в цифровой контроллеры оснащаются аналого-цифровыми преобразователями (АЦП). На каждый аналоговый вход контроллер содержит отдельный АЦП.
Аналоговые выходные сигналы формируются в цифро-аналоговых преобразователях (ЦАП), которые преобразуют двоичный цифровой код в аналоговый сигнал. Следует отметить, что АЦП и ЦАП могут и не находится непосредственно внутри контроллеров, а подключаться как дополнительные модули. АЦП и ЦАП рассматриваются в главе 3.
Шина контроллера связывает все его компоненты. Контроллеры содержат три основные шины. Шина данных используется для передачи данных между процессором и другими элементами. Адресная шина используется для передачи адреса в памяти (или порта ввода-вывода), по которому данные можно прочитать или сохранить. Шина управления используется для передачи сигналов управления из процессора другим элементам. Физически шины представляют собой группу проводящих дорожек на плате или проводов, по которым посылаются цифровые сигналы. Передача данных по шинам называется параллельной передачей. При последовательной передаче данных каждый бит по очереди передается по одному-единственному проводу. А при параллельной передаче данных, например при передаче двоичного числа 01101001 по шине передаются все восемь разрядов одновременно, и каждый разряд по своему отдельному проводу (рис. 1.3).
Рис. 1.3. Параллельная (а) и последовательная (б) передачи данных
Интерфейс предназначен для связи контроллера с компьютером или другими элементами автоматизированной системы. Под интерфейсом понимают унифицированное аппаратно-программное устройство для передачи информации. То есть два разных устройства, обладающих одним интерфейсом, можно подключить друг к другу для обмена информацией. Унификация интерфейсов обеспечивает совместимость подключаемых устройств. Контроллеры могут обладать различными интерфейсами. Обычно контроллеры подключаются через интерфейс к ПЭВМ (рис. 1.1) для программирования и/или мониторинга работы, но могут подключаться также и к другим устройствам и даже к компьютерным сетям. Очевидно, что ПЭВМ, к которой производится подключение, должна обладать соответствующим интерфейсом. Основные типы интерфейсов рассмотрены в главе 4.
Как происходит программирование
Контроллеры – это устройства, позволяющие обрабатывать электрический сигнал и преобразовывать его. На сегодняшний день в ПЛК ставится логика при помощи компьютерной программы. Именно она определяет, на каких выходных клеммах будет присутствовать напряжение при определенных условиях на входных клеммах. Отчасти эта логика схожа с той, которая применяется в релейной схемотехнике. Но в ней нет никаких реле, переключателей, контактов. Написание и просмотр программы происходит при помощи компьютера, который соединяется с портом программирования.
Допустим, у нас есть контроллер, лампа и выключатель. Контроллер подключается к источнику питания, со входом соединяется выключатель, а на выходе ставится лампа. При нажатии кнопки должна загораться лампа. Вариант простейшей программы для ПЛК:
- При разомкнутом выключателе на вход не подается напряжение, поэтому на выходе лампа не будет загораться.
- При нажатии на кнопку подается сигнал на вход. В программе контакты, соответствующие порту, будут активироваться. Все мнимые реле начнут работать внутри контроллера. Это образное обозначение, на деле никаких электромагнитных реле в нем нет. В результате появляется напряжение на выходе контроллера и лампа загорается.
Все действия, которые производятся с контроллерами, удобнее всего рассматривать на примере электромагнитных реле. Так нагляднее видна работа устройства.
Контроллер (компьютеры и интернет)
Контроллер (controller) — специализированный процессор, предназначенный для управления внешними устройствами: накопителями, мониторами, принтерами и т. п.
Наличие контроллера освобождает центральный процессор от выполнения этих функций. Контроллер, выполненный в виде интегральной микросхемы (чипа), называется микроконтроллером (англ. microcontroller).
Контроллеры материнской платы
Контроллеры — устройства для подключения к плате внешних устройств и управления ими. Таких контроллеров на плате много, но мы рассмотрим только некоторые из них.
Контроллеры IDE – предназначены для подключения к материнской плате устройств хранения и чтения информации – жестких дисков, CD/DVD-ROMов и т.д. контроллеры IDE уже устарели и на матерях, где встречается контроллер IDE их установлено два и к каждому можно подключить до двух устройств – ведущее Master и ведомое Slave. По умолчания первым ведущим всегда ставится жесткий диск, именно с него производится загрузка системы. Вторым ведущим ставится, как правило, CD/DVD-ROM. Если вы покупаете себе компьютер или отдельно материнскую плату, то вам следует отказаться от IDE в пользу нового стандарта Serial ATA (SATA).
SerialATA – новый стандарт интерфейса жестких дисков. К каждому разъему SATA подключается только одно устройство и привычная схема Master/Slave уходит в прошлое. Интерфейс SerialATA позволяет передавать данные с наиболее большей скоростью, чем традиционный ATA. Но здесь один минус – разъемов стало нехватать. Поэтому при покупке системной платы обратите внимание на количество SATA разъемов, их должно быть как можно больше.