Принципы управления внешними устройствами персонального компьютера
Вычислительные машины, помимо процессоров и основной памяти (образующих ее ядро), содержат многочисленные периферийные устройства (ПУ): ВЗУ и УВВ.
Передача информации с периферийного устройства в ЭВМ называется операцией ввода, а передача из ЭВМ в ПУ — операцией вывода.
Производительность и эффективность ЭВМ определяются не только возможностями ее процессора и характеристиками ОП, но и составом ПУ, их техническими данными и способами организации их совместной работы с ЭВМ.
При разработке систем ввода-вывода ЭВМ особое внимание обращается на решение следующих проблем:
• должна быть обеспечена возможность реализации машин с переменным составом оборудования (машин с переменной конфигурацией), в первую очередь с различным набором периферийных устройств, с тем чтобы пользователь мог выбирать состав оборудования (конфигурацию) машины в соответствии с ее назначением, легко дополнять машину новыми устройствами;
• для эффективного и высокопроизводительного использования оборудования в ЭВМ должны реализовываться одновременная работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода;
• необходимо упростить для пользователя и стандартизовать программирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного •периферийного устройства;
• необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готовность устройства, отсутствие носителя, различные нарушения нормальной работы и др.).
Первый шаг в совершенствовании структуры ЭВМ с целью повышения производительности был сделан при разработке второго поколения ЭВМ, когда впервые была обеспечена автономность внешних устройств. Сначала она была необходима для согласования скорости работы устройств ЭВМ.
Однако автономность потребовала проведения проверок исправности устройств при каждом обращении к ним. Появилась определенная технология обращения к автономным внешним устройствам — интерфейс.
Когда эту технологию унифицировали, появилось понятие стандартного интерфейса.
Стандартизация интерфейсов ввода-вывода привела к возможности гибко изменять конфигурацию вычислительных машин (количество и состав внешних устройств, расширять комплект ЭВМ за счет подключения новых устройств).
Затем появилась концепция виртуальных устройств, позволяющая совмещать различные типы ЭВМ, операционные системы. Совместимость распространилась и на работу машин разной конфигурации (можно использовать соответствующее программное обеспечение и при физическом отсутствии необходимых устройств).
Изменилась и технология работы — при отсутствии печатающих устройств файлы направлялись в виртуальное устройство, где и накапливались, а реально распечатывались на другой машине.
Дальнейшее совершенствование интерфейсов потребовалось при решении специфических задач: новые внешние устройства (сканеры) позволяли вводить текст в графическом виде, а обрабатывать его надо было в символьном виде. Поэтому возникла необходимость в системах распознавания, идентификации, преобразования из графического формата в символьный.
При анализе снимков из космоса появилась необходимость автоматической классификации наблюдаемых объектов, самообучения распознающей программы, анализа сцен.
Все это стимулировало развитие специального математического аппарата в интерфейсах.
Необходимость вывода информации различными шрифтами привела к изменению технологии вывода, связанной с применением TrueType-шрифтов, масштабированием матричных и векторных изображений, преобразованием векторных символов в матричные.
В о внешние устройства стали встраивать свою основную память, объем которой должен обеспечивать вывод целой страницы (например, текста) при плотности 600 точек/дюйм — этот объем превышает иногда объем основной памяти ЭВМ.
Необходимость пересчета при преобразовании векторных шрифтов в матричные привела к необходимости включить в состав устройств отображения информации специальные графические процессоры матричной архитектуры, в качестве которых часто используются транспьютеры.
При создании автоматизированных рабочих мест появилась необходимость подключения к ЭВМ аудиовизуальной аппаратуры — телекамер, видеомагнитофонов, фотокамер, аудиоустройств. На этой основе образовался специальный аппаратный комплекс, называемый анимационной линейкой. Из-за технической несовместимости необходимой для таких комплексов аппаратуры потребовались программные и аппаратные преобразователи сигналов, специальные средства сопряжения.
При разработке пятого поколения ЭВМ была заложена интеллектуализация общения: речевой ввод и вывод; графический ввод; ввод текстовой информации без клавиатуры; естественно-языковое общение; общение на разных естественных языках.
Все это и явилось основой для совершенствования систем, обеспечивающих связь ЭВМ с периферийными устройствами.
В общем случае для организации и проведения обмена данными между двумя устройствами требуются специальные средства:
• специальные управляющие сигналы и их последовательности;
• программы, реализующие обмен.
Весь этот комплекс линий и шин, сигналов, электронных схем, алгоритмов и программ, предназначенный для осуществления обмена информацией, называется интерфейсом.
В зависимости от типа соединяемых устройств различаются:
• внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ;
• интерфейс ввода-вывода — для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.);
• интерфейсы межмашинного обмена (для обмена между разными машинами) — для сопряжения различных ЭВМ (например, при образовании вычислительных сетей);
• интерфейсы «человек — машина» — для обмена информацией между человеком и ЭВМ.
Для каждого интерфейса характерно наличие специального аппаратного комплекса (рис. 6.1).
Характер использования этого аппаратного комплекса определяется технологией обмена, установленным церемониалом, идеологией данного интерфейса, протоколом общения.
Особое место занимает человеко-машинный интерфейс, реализующий специфические методы организации общения. Например, церемониал человеко-машинного общения предусматривает «дружественность пользователю», которая может обеспечиваться техническими средствами, программами и технологией общения.
Если интерфейс обеспечивает обмен одновременно всеми разрядами передаваемой информационной единицы (чаще всего — байта или машинного слова), он называется параллельным интерфейсом.
Внутренний интерфейс ЭВМ всегда делается параллельным или последовательно-параллельным (если одновременно передается не вся информационная единица, а ее часть, содержащая несколько двоичных разрядов: например, i8088 обеспечивает побайтовый, a 80386SX — двухбайтовый обмен через системную магистраль, тогда как основная информационная единица — машинное слово — имеет длину: у 8086 — 2 байта, а у 80386 — 4 байта).
Интерфейсы межмашинного обмена обычно последовательные, т.е. в них обмен информацией производится по одному биту, последовательно.
Для параллельного и последовательно-параллельного интерфейса необходимо, чтобы участники общения были связаны многожильным интерфейсным кабелем (количество жил не меньше числа одновременно передаваемых разрядов — бит). В последовательных интерфейсах участники общения связываются друг с другом одно-двух-проводной линией связи, световодом, коаксиальным кабелем, радиоканалом.
В зависимости от используемых при обмене программно-технических средств интерфейсы ввода-вывода делятся на два уровня: физический и логический (рис. 6.2).
Рис. 6.2. Логический и физический уровни интерфейсов ввода-вывода
В зависимости от степени участия центрального процессора в обмене данными в интерфейсах может использоваться три способа управления обменом:
• режим сканирования (так называемый «асинхронный» обмен);
• прямой доступ к памяти.
Для внутреннего интерфейса ЭВМ режим сканирования предусматривает опрос центральным процессором периферийного устройства (ПФУ): готово ли оно к обмену, и если нет, то продолжается опрос периферийного устройства (рис. 6.3).
Операция пересылки данных логически слишком проста, чтобы эффективно загружать сложную быстродействующую аппаратуру процессора, в результате чего в режиме сканирования снижается производительность вычислительной машины.
Вместе с тем при пересылке блока данных процессору приходится для каждой единицы передаваемых данных (байт, слово) выполнять довольно много команд (чтобы обеспечить буферизацию данных, преобразование форматов, подсчет количества переданных данных, формирование адресов в памяти и т.п.). В результате скорость передачи данных при пересылке блока данных даже через высокопроизводительный процессор может оказаться неприемлемой для систем управления, работающих в реальном масштабе времени.
Режим сканирования упрощает подготовку к обмену, но имеет ряд недостатков:
• процессор постоянно задействован и не может выполнять другую работу;
• при большом быстродействии периферийного устройства процессор не успевает организовать обмен данными.
Рис. 6.3. Алгоритм сканирования
В синхронном режиме центральный процессор выполняет основную роль по организации обмена, но в отличие от режима сканирования не ждет готовности устройства, а осуществляет другую работу. Когда в нем возникает нужда, внешнее устройство с помощью соответствующего прерывания обращает на себя внимание центрального процессора.
Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями ввода-вывода используют прямой доступ к памяти (DMA — Direct Memory Access).
Прямым доступом к памяти называется способ обмена данными, обеспечивающий автономно от процессора установление связи и передачу данных между основной памятью и внешним устройством.
В режиме прямого доступа к памяти используется специализированное устройство — контроллер прямого доступа к памяти, который перед началом обмена программируется с помощью центрального процессора: в него передаются адреса основной памяти и количество передаваемых данных. Затем центральный процессор от контроллера прямого доступа к памяти отключается, разрешив ему работать, и до окончания обмена может выполнять другую работу. Об окончании обмена контроллер прямого доступа к памяти сообщает процессору. В этом случае участие центрального процессора косвенное. Обмен ведет контроллер прямого доступа к памяти. Прямой доступ к памяти (ПДП):
• освобождает процессор от управления операциями ввода-вывода;
• позволяет осуществлять параллельно во времени выполнение процессором программы с обменом данными между внешним устройством и основной памятью;
• производит обмен данными со скоростью, ограничиваемой только пропускной способностью основной памяти и внешним устройством.
ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей производительности ЭВМ, дает возможность машине более приспособленно работать в системах реального времени.
Вычислительные машины, помимо процессоров и основной памяти (образующих ее ядро), содержат многочисленные периферийные устройства (ПУ): ВЗУ и УВВ.
Передача информации с периферийного устройства в ЭВМ называется операцией ввода, а передача из ЭВМ в ПУ — операцией вывода.
Производительность и эффективность ЭВМ определяются не только возможностями ее процессора и характеристиками ОП, но и составом ПУ, их техническими данными и способами организации их совместной работы с ЭВМ.
При разработке систем ввода-вывода ЭВМ особое внимание обращается на решение следующих проблем:
• должна быть обеспечена возможность реализации машин с переменным составом оборудования, чтобы пользователь мог выбирать состав оборудования (конфигурацию) машины в соответствии с ее назначением.
• для эффективного и высокопроизводительного использования оборудования в ЭВМ должны реализовываться одновременная работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода;
• необходимо упростить для пользователя и стандартизовать программирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного •периферийного устройства;
• необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готовность устройства, отсутствие носителя, различные нарушения нормальной работы и др.).
- для реализации Главной функции процессор выполняет целый ряд аппаратных функций: формирует адреса для выборки последовательности команд, инициирует на Системном интерфейсе операцию «Чтение команды» и др.;
Главная функция микропроцессора — это выполнение заданного для него набора команд:
Главная внешняя функция микропроцессора - это инициирование операций обмена на системном интерфейсе. Выбирая команды, выполняя большинство команд, выполняя аппаратную функцию прерывания процессор инициирует на системном интерфейсе операции обмена: «Чтение команды», «Чтение данных из памяти», «Запись данных в память», «Чтение порта», «Запись в порт», «Чтение дескриптора» и др.
Операцию обмена «Чтение порта» - процессор инициирует выполняя свою команду IN AL,DX — чтение порта, а «Запись в порт» - отрабатывая свою команду OUT DX,AL — запись в порт.
Выполняя, например, команду сложения ADD [1000], BX процессор два раза обратится в ОЗУ: первый раз — для чтения второго слагаемого (из ячейки с адресом 1000), а второй раз - для записи результата сложения содержимого регистра BX со вторым слагаемым (по адресу 1000).
В операциях обмена с одной стороны всегда участвует один из регистров процессора, а с другой стороны - ячейка оперативной памяти (DRAM или ПЗУ BIOS), или регистр контроллера внешнего устройства, или регистр чипсета и других микросхем (исключение — обмен по «прямому доступу»).
А что есть у процессора для управления внешними устройствами (устройствами ввода, вывода, устройствами внешней памяти)? Есть всего две команды: IN и OUT («чтение порта» и «запись в порт»), и есть аппаратная функция «прерывание» (без которой он в принципе может обойтись). Есть еще две команды — INS, OUTS (без которых он в принципе тоже может обойтись).
А что вообще доступно процессору во «внешней среде»? Ему доступны регистры контроллеров внешних устройств (например, видеоадаптера, принтера и др.), регистры чипсета и других микросхем, ячейки оперативной памяти (DRAM или ПЗУ BIOS) для чтения и записи.
Внешние устройства подключаются к локальным шинам системного интерфейса через контроллеры (каждый контроллер имеет свой набор команд, которые он обязан выполнять по отношению к своему внешнему устройству). После «начального сброса» контроллер ждет, что процессор перешлет в его соответствующие регистры команду и информацию необходимую для выполнения операции обмена. Непосредственное управление внешним устройством процессор осуществляет выполняя операции записи и чтения (по командам IN и OUT) по отношению к соответствующим регистрам контроллера этого внешнего устройства. Как минимум, любой контроллер должен иметь хотя бы три доступных процессору регистра:
- регистр управления (регистр команд);
«Сложные» контроллеры могут иметь значительно большее число регистров, и каждый из этих регистров имеет свое функциональное назначение: регистр ошибок, регистр номера головки, регистр номера цилиндра и т. д.. Например, контроллер принтера (параллельный порт) имеет три регистра, а видеоадаптер имеет свыше 60 регистров (каждый из которых имеет свое функциональное назначение, отдельные разряды и группы разрядов регистров тоже имеют свое функциональное назначение), уже поэтому управление видеоадаптером на уровне регистров реализуется очень сложно. Эту проблему для нас решают программы BIOS видеосистемы, которые «знают» как управлять на уровне регистров и команд контроллеров. Каждая такая программа BIOS реализует свою элементарную функцию управления, например видеосистемой:
INT 10h, функция 00h - Установка видеорежима;
INT 10h, функция 02h - Установка позиции курсора;
INT 10h, функция 09h - Запись символа и атрибута в позицию курсора;
INT 10h, функция 0Сh - Запись пиксела;
«Прерывание» по команде INT 10h передает управление программе обслуживания BIOSa видеосистемы, которая по номеру функции (02h, 09h, 0Ch. ) запускает соответствующую программу BIOS на исполнение. Используя программы BIOS можно достаточно просто создавать программы для диагностики даже видеосистемы и создавать условия для исследования процессов осциллографом и т. д.
Примеры по ФУНКЦИЯМ BIOS видеосистемы.
1. Справочные данные по функциям BIOS
INT 10h, функция 00h. Установка видеорежима.
Устанавливает текущий видеорежим. При вызове (в регистры процессора нужно занести):
АL= видеорежим, например:
03h - текстовый, 80х25 строк, 16 цветов
10h - графический, 640х350 точек,16 цветов
04h - графический, 320х200 точек, 4 цвета (видеоадаптер CGA)
. . . и выполнить INT 10h
INT 10h, функция 02h. Установка позиции курсора.
Задает положение курсора на экране в текстовых координатах на указанной текстовой странице(в том числе
не активной). При вызове:
DL = столбец . . . и выполнить INT 10h
INT 10h, функция 09h. Запись символа и атрибута в позицию курсора.
Записывает символ и его атрибут в текущую позицию курсора как в графическом, так и в текстовом режимах.
В графическом режиме символы не должны переходить на следующую строку. Все коды в AL рассматриваются, как знаки и не управляют положением курсора. После вывода символа курсор следует сместить к следующей позиции функцией 02h. Коэффициент повторения позволяет выводить строки одинаковых символов (но курсор не смещается). В текстовом режиме символ выводится с указанным атрибутом, т.е. заданного цвета на заданном фоне. В графическом режиме содержимое BL влияет только на цвет символа, но не фона под ним. Однако графическое изображение под знакоместом затирается. При вызове:
ВL = атрибут (текстовый режим) или цвет(графический режим)
СХ = коэффициент повторения . . . и выполнить INT 10h
Атрибут символа определяет цвет символа и фона под ним, а также некоторые дополнительные характеристики изображения на экране.
Структура байта атрибутов
В биты 0. 2 байта атрибутов записывается код цвета символа, а бит 3 при исходной настройке видеоадаптера, действующей по умолчанию, управляет яркостью символа. Таким образом, каждый символ независимо от других может принимать любой из 16 возможных цветов. Соответствие кодов, записываемых в байте атрибута, конкретным цветам составляет палитру видеосистемы. Палитра устанавливается программно, по умолчанию действует назначение кодов приведенное в таблице:
INT 10h, функция 0Сh. Запись пиксела.
Записывает в видеобуфер точку заданного цвета в заданной графической позиции.
Внешние устройства подключаются к системному интерфейсу через специальные устройства - контроллеры (адаптеры). Каждый контроллер имеет в своем составе ряд программно-доступных регистров (как минимум имеет хотя бы регистр данных, регистр состояния и регистр управления).
Каждый контроллер имеет свой набор команд. Получив команду от процессора, выполняющего программу ввода-вывода, контроллер отрабатывает команду автономно, управляя внешним устройством через "малый" интерфейс между устройством и контроллером. Контроллер, отрабатывая принятую от процессора команду, пересылает во внешнее устройство свои команды, данные и читает из устройства состояния, данные (команды и состояния обычно представляют собой высокий или низкий уровень напряжения в соответствующей линии "малого" интерфейса, импульс или последовательность импульсов в соответствующей линии "малого" интерфейса). Кроме того, контроллер может выполнять ряд вспомогательных аппаратных функций инициируемых аппаратными сигналами или записью управляющей информации в его программно-доступный регистр (например, сброс по сигналу RESET или включение шпиндельного двигателя гибкого диска путем записи в регистр 3F2 контроллера гибкого диска управляющей информации).
Существуют простые контроллеры и более сложные (интеллектуальные) контроллеры, выполняющие более сложные аппаратные функции и команды. Процессор управляет внешним устройством, выполняя соответствующую программу ввода/вывода, где он с помощью команд IN, OUT (чтение порта, запись в порт) имеет доступ к программно-доступным регистрам контроллера. В регистр управления процессор записывает команду, из регистра состояния читает информацию о состоянии внешнего устройства и контроллера, в регистр данных записывает выводимые на устройство данные, или читает из регистра данных считываемую с устройства информацию.
Возможны два способа организации программного обмена с внешними устройствами: обмен с опросом готовности устройства, обмен по запросам на обслуживание устройства (запросам на маскируемое прерывание).
При первом способе обмена, выполняя программу ввода-вывода, процессор запустит в контроллере операцию и циклически читает регистр состояния контроллера. Он ожидает появления (в соответствующем разряде регистра состояния) признака готовности к обмену данными с процессором. При появлении этого признака в регистре состояния процессор с помощью команды OUT осуществляет запись в регистр данных (при выводе на устройство), или выполняет чтение информации из регистра данных контроллера с помощью команды IN (при вводе с устройства). После чего запускает в контроллере следующую операцию и т. д.
При выполнении обмена по второму варианту, процессор, выполняя программу, и запустив на контроллере операцию, не ожидает готовности контролера к обмену данными. Он продолжает выполнять полезную программу. Контроллер внешнего устройства в случае полной готовности к обмену данными с процессором выдает на соответствующую линию IRQ сигнал запроса на обслуживание. Процессор через выполнение процедуры прерывания по сигналу IRQ (в ее выполнении участвуют контроллер прерываний и контроллер шины) переходит на выполнение программы ввода/вывода для данного устройства. Эта программа осуществляет обмен данными через регистр данных контроллера, запускает в контроллере следующую операцию и т. д. Процессор возвращается к выполнению прерванной программы через выполнение команды IRET (возврат из прерывания), которой заканчивается программа ввода/вывода, и т. д.
Прямой доступ (DMA).
Прямой доступ - это способ обмена между внешним устройством и динамической памятью, при котором управление операциями обмена по интерфейсу между регистром данных устройства и последовательно расположенными ячейками памяти осуществляет контроллер прямого доступа к памяти, а микропроцессор в это время свободен. Прямой доступ может осуществляться двумя способами: обычным DMA и busmastering DMA. В первом случае используется стандартный контроллер прямого доступа, который интегрирован в ICH. Во втором случае, функции аналогичные функциям контроллера выполняет аппаратура, расположенная в составе адаптера устройства (например, контроллер жестких дисков поддерживает режим Bus Master).
Главная функция микропроцессора — это выполнение заданного для него набора команд:
- выполняя последовательность команд (т. е. Программу) он вычисляет, управляет внешними устройствами, рассчитывает зарплату и т. п. , он может выполнять и бессмысленную последовательность своих команд - ему все равно — он автомат (принцип программного управления — мы пишем программу — он исполняет);
- для реализации Главной функции процессор выполняет целый ряд аппаратных функций: формирует адреса для выборки последовательности команд, инициирует на Системном интерфейсе операцию «Чтение команды» и др.;
Главная внешняя функция микропроцессора - это инициирование операций обмена на системном интерфейсе. Выбирая команды, выполняя большинство команд, выполняя аппаратную функцию прерывания процессор инициирует на системном интерфейсе операции обмена: «Чтение команды», «Чтение данных из памяти», «Запись данных в память», «Чтение порта», «Запись в порт», «Чтение дескриптора» и др.
Операцию обмена «Чтение порта» - процессор инициирует выполняя свою команду IN AL,DX — чтение порта, а «Запись в порт» - отрабатывая свою команду OUT DX,AL — запись в порт.
Выполняя, например, команду сложения ADD [1000], BX процессор два раза обратится в ОЗУ:
первый раз — для чтения второго слагаемого (из ячейки с адресом 1000),
а второй раз - для записи результата сложения содержимого регистра BX со вторым слагаемым (по адресу 1000).
В операциях обмена с одной стороны всегда участвует один из регистров процессора, а с другой стороны - ячейка оперативной памяти (DRAM или ПЗУ BIOS), или регистр контроллера внешнего устройства, или регистр чипсета и других микросхем (исключение — обмен по «прямому доступу»).
А что есть у процессора для управления внешними устройствами (устройствами ввода, вывода, устройствами внешней памяти)? Есть всего две команды: IN и OUT («чтение порта» и «запись в порт»), и есть аппаратная функция «прерывание» (без которой он в принципе может обойтись). Есть еще две команды — INS, OUTS (без которых он в принципе тоже может обойтись).
А что вообще доступно процессору во «внешней среде»? Ему доступны регистры контроллеров внешних устройств (например, видеоадаптера, принтера и др.), регистры чипсета и других микросхем, ячейки оперативной памяти (DRAM или ПЗУ BIOS) для чтения и записи.
Внешние устройства подключаются к локальным шинам системного интерфейса через контроллеры (каждый контроллер имеет свой набор команд, которые он обязан выполнять по отношению к своему внешнему устройству). После «начального сброса» контроллер ждет, что процессор перешлет в его соответствующие регистры команду и информацию необходимую для выполнения операции обмена. Непосредственное управление внешним устройством процессор осуществляет выполняя операции записи и чтения (по командам IN и OUT) по отношению к соответствующим регистрам контроллера этого внешнего устройства. Как минимум, любой контроллер должен иметь хотя бы три доступных процессору регистра:
- регистр управления (регистр команд);
«Сложные» контроллеры могут иметь значительно большее число регистров, и каждый из этих регистров имеет свое функциональное назначение: регистр ошибок, регистр номера головки, регистр номера цилиндра и т. д.. Например, контроллер принтера (параллельный порт) имеет три регистра, а видеоадаптер имеет свыше 60 регистров (каждый из которых имеет свое функциональное назначение, отдельные разряды и группы разрядов регистров тоже имеют свое функциональное назначение), уже поэтому управление видеоадаптером на уровне регистров реализуется очень сложно. Эту проблему для нас решают программы BIOS видеосистемы, которые «знают» как управлять на уровне регистров и команд контроллеров. Каждая такая программа BIOS реализует свою элементарную функцию управления, например видеосистемой:
INT 10h, функция 00h - Установка видеорежима;
INT 10h, функция 02h - Установка позиции курсора;
INT 10h, функция 09h - Запись символа и атрибута в позицию курсора;
INT 10h, функция 0Сh - Запись пиксела;
«Прерывание» по команде INT 10h передает управление программе обслуживания BIOSa видеосистемы, которая по номеру функции (02h, 09h, 0Ch. ) запускает соответствующую программу BIOS на исполнение. Используя программы BIOS можно достаточно просто создавать программы для диагностики даже видеосистемы и создавать условия для исследования процессов осциллографом и т. д.
Многие квалифицированные специалисты по ремонту компьютерной техники относятся к написанию специальных программ с "большой осторожностью". Одни из них считают написание программ очень сложным, а другие - ненужным делом. И те, и другие неправы: во-первых, научиться писать небольшие специальные программы несложно, а во-вторых, отказываться от такого мощного и эффективного инструмента просто неразумно и расточительно. С помощью специальных программ обычную системную плату можно превратить в универсальный стенд для диагностирования и ремонта большинства узлов и устройств компьютера. Умение программировать дает возможность создавать "инструментальные" программные средства, заменяющие аппаратные тестеры, используемые для контроля и диагностики устройств. Стоимость аппаратных тестеров достаточно высока, а их номенклатура невелика. Модификация и их приспособление к конкретному устройству - это сложное и дорогостоящее удовольствие. Разработанные "инструментальные" программные средства, в отличие от аппаратных тестеров, легко модифицируются и приспосабливаются для работы с любым устройством. Программным путем можно задать в устройстве любой необходимый для контроля режим работы, удобно и эффективно осуществлять контроль процессов осциллографом.
Программный инструмент. Принципы управления внешними устройствами ПК.
- выполняя последовательность команд (т. е. Программу) он вычисляет, управляет внешними устройствами, рассчитывает зарплату и т. п. , он может выполнять и бессмысленную последовательность своих команд - ему все равно — он автомат (принцип программного управления — мы пишем программу — он исполняет);
Рекомендуемые материалы
ПРИНЦИПЫ ПОСТРОЕНИЯ ФУНКЦИОНАЛЬНЫХ УЗЛОВ (Конструирование, технологии производства и эксплуатации ЭВМ)
Информационная система для автоматизации документооборота оперативного управления производственного предприятия
В общем случае для организации и проведения обмена данными между двумя устройствами требуются специальные средства:
• специальные управляющие сигналы и их последовательности;
• программы, реализующие обмен.
Весь этот комплекс линий и шин, сигналов, электронных схем, алгоритмов и программ, предназначенный для осуществления обмена информацией, называется интерфейсом.
В зависимости от типа соединяемых устройств различаются:
• внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ;
• интерфейс ввода-вывода — для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.);
• интерфейсы межмашинного обмена (для обмена между разными машинами) — для сопряжения различных ЭВМ (например, при образовании вычислительных сетей);
• интерфейсы «человек — машина » — для обмена информацией между человеком и ЭВМ.
Если интерфейс обеспечивает обмен одновременно всеми разрядами передаваемой информационной единицы (чаще всего — байта или машинного слова), он называется параллельным интерфейсом.
Внутренний интерфейс ЭВМ всегда делается параллельным. Интерфейсы межмашинного обмена обычно последовательные, т.е. в них обмен информацией производится по одному биту, последовательно.
Для параллельного интерфейса необходимо, чтобы участники общения были связаны многожильным интерфейсным кабелем (количество жил не меньше числа одновременно передаваемых разрядов — бит). В последовательных интерфейсах участники общения связываются друг с другом одно-двух-проводной линией связи, световодом, коаксиальным кабелем, радиоканалом.
В зависимости от используемых при обмене программно-технических средств интерфейсы ввода-вывода делятся на два уровня: физический и логический
В зависимости от степени участия центрального процессора в обмене данными в интерфейсах может использоваться три способа управления обменом:
• режим сканирования (так называемый «асинхронный » обмен);
• синхронный обмен;
• прямой доступ к памяти.
Для внутреннего интерфейса ЭВМ режим сканирования предусматривает опрос центральным процессором периферийного устройства (ПФУ): готово ли оно к обмену, и если нет, то продолжается опрос периферийного устройства (рис. 6.3).
Операция пересылки данных логически слишком проста, чтобы эффективно загружать сложную быстродействующую аппаратуру процессора, в результате чего в режиме сканирования снижается производительность вычислительной машины.
Режим сканирования упрощает подготовку к обмену, но имеет ряд недостатков:
• процессор постоянно задействован и не может выполнять другую работу;
• при большом быстродействии периферийного устройства процессор не успевает организовать обмен данными.
В синхронном режиме центральный процессор выполняет основную роль по организации обмена, но в отличие от режима сканирования не ждет готовности устройства, а осуществляет другую работу. Когда в нем возникает нужда, внешнее устройство с помощью соответствующего прерывания обращает на себя внимание центрального процессора.
Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями ввода-вывода используют прямой доступ к памяти (DMA — Direct Memory Access).
Прямым доступом к памяти называется способ обмена данными, обеспечивающий автономно от процессора установление связи и передачу данных между основной памятью и внешним устройством.
Прямой доступ к памяти (ПДП):
• освобождает процессор от управления операциями ввода-вывода;
• позволяет осуществлять параллельно во времени выполнение процессором программы с обменом данными между внешним устройством и основной памятью;
• производит обмен данными со скоростью, ограничиваемой только пропускной способностью основной памяти и внешним устройством.
ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей производительности ЭВМ, дает возможность машине более приспособленно работать в системах реального времени.
Читайте также: