- •Схемотехника и мп техника
- •Понятие адресного пространства. Совмещенные и параллельные адресные пространства: основные архитектурные и схемотехнические признаки.
- •Клавиатурные алгоритмы: варианты алгоритмов с указанием особенностей и применения.
- •1.2.3 Многоклавишные алгоритмы
- •Iord#. Данные из порта считываются процессором во внутренний шинный буфер.
- •Input/output) с успехом применяются и в интерфейсе ide (ata). Эти режимы используют инструкции
- •Ввод/вывод в режиме прямого доступа к памяти (пдп) (dma): схемотехнические особенности для различных архитектур системы. Области применения режима.
- •Аппаратные реализации шины для интерфейса «Токовая петля 20 мА». Особенности построения и основные ограничения.
- •Xon/xoff. Если двунаправленный обмен не требуется, используют только одну линию данных, а для
- •Последовательная передача в асинхронном режиме: основные характеристики. Понятие стартового и стопового битов, их уровни. Назначение и устройство схемы автофазировки.
- •Виды модуляции, используемые в модемах: сравнительный анализ с точки зрения помехоустойчивости и скорости передачи.
- •2.2. Модели управляющих автоматов
- •2.3.2. Граф-схемы алгоритмов
- •2.3.3. Графы переходов
- •5.1. Программные модели автоматов
- •1 Case (англ.) — случай. Построения произвольной гса с последующим ее структурированием и
- •5.1.2. Использование конструкции s w I t c h при реализации
1.2.3 Многоклавишные алгоритмы
Многоклавишные алгоритмы способны работать в ситуа¬ции, когда головным алго-ритмом программы используются комбинации из нескольких одновременно нажатых клавиш. Обычно такой алгоритм имеет несколько точек выхода: по неактивной кла-виатуре, по одной нажатой клавише, по двум нажатым клавишам, по N нажатым кла-вишам.
В принципе, все эти точки выхода можно объединить в одну, однако такое дей-ствие, скорее всего, плохо впишется в голов¬ной алгоритм программы, поскольку оди-ночное нажатие и многоклавишные комбинации обрабатывают, обычно, суще-ственно различающиеся по функции блоки головного алгорит¬ма программы.
Чаще всего программист направляет выходы по многокла¬вишным комбинациям в соответствующие места головного алгоритма, что позволяет существенно его упро-стить.
Конкретное N - максимальное количество одновременно нажатых клавиш закла-дывается в алгоритм на этапе его разра¬ботки. В случае, если оператор нажмет большее, чем N клавиш одновременно, то все клавиши, нажатые после N-ой, будут про¬игнорированы.
Такое свойство алгоритма основано на том, что оператор не может одновременно (с точки зрения быстродействия ал¬горитма) нажать или отпустить несколько клавиш. В этом слу¬чае нажатия и отпускания будут происходить последовательно и задача алгоритма - просто отсчитать первые N нажатий.
Блок схема алгоритма, обрабатывающего двухклавишные нажатия, показан на рисунке 7.
Этот алгоритм очень напоминает алгоритм, возвращающий код последней отпу-щенной клавиши (см. рис 6), однако после сравнения (А=В?), если код, сохраненный в переменной В не совпал с кодом возврата антидребезгового алгоритма, то дан¬ный алгоритм не возвращается назад, а сохраняет новое значе¬ние А в отдельном эле-менте на продолжении алгоритма.
Эта особенность позволяет разделить алгоритм на две части: часть, в которой зафиксировано одноклавишное нажатие и ожидается отпускание клавиши или нажатие следующей, и часть, в которой зафиксировано двухклавишное нажатие и ожи¬дается только отпускание клавиш.
Алгоритм имеет три точки выхода: выход 1 - по отсутствию нажатых клавиш, вы-ход 2 - по одноклавишному и 3 - по двух-клавишному нажатию.
На этой базе можно построить и алгоритм, способный раз¬личать одно- двух- и трехклавишные нажатия. Блок-схема это¬го алгоритма показана на рисунке 8.
Алгоритм может быть получен из предыдущего обведенно¬го дублированием участка. Точно так же из трехклавишного может быть построен и алгоритм на боль-шее число клавиш -достаточно только нужное число раз продублировать обведен¬ный участок алгоритма.
Алгоритм имеет четыре точки выхода: выход 1 - по отсутст¬вию нажатых клавиш, выход 2 - по одноклавишному нажатию, выход 3 - по двухклавишному нажатию и вы-ход 4 - по трехкла-вишному нажатию.
Алгоритмы быстрого доступа к данным: варианты алгоритмов с указанием особенностей применения.
Алгоритмы быстрого доступа к данным: варианты алгоритмов с указа-нием особенностей применения.
Алгоритм быстрого доступа к данным позволяет считывать данные за несколько тактов про-цессора.
Рассмотрим работу таких алгоритмов на примере работы АЦП.
Существует два варианта алгоритма в зависимости от объёма данных.
Момент поступления данных на шину регистрируется по стробу. Считывание данных может начаться не с началом их поступления, а позже (рис 1.). Для избегания подобной ситуации существует используются специальные алгоритмы.
Рис1
1. Алгоритм для чтения малых объёмов данных (время их передачи/получения значительно меньше времени подготовки/обработки)
После пропуска первой передачи данных, до момента новой передачи начинается опрос строба по алгоритму ниже:
Существует высокая вероятность попасть в момент когда данные будут прочитаны.
2. Алгоритм для чтения больших объёмов данных (длительные по передаче)
Алгоритм работает аналогично изложенному выше, но имеет бОльшее количество циклов чтения. Строб циклически проверяется чтобы считать все данные. Работает в соответствии с нижеизложенной схемы:
Ввод/вывод в режиме программного обмена (PIO): схемотехнические особенности и алгоритмы. Области применения режима.
В спецификации АТА-2 предусмотрено несколько режимов быстрого обмена данными с
жесткими дисками, которые называются режимами /Mode) программного ввода/вывода (Programmed
Input/Output — PIO). В настоящее время существует шесть режимов PIO, которым присвоены номера
от 0 до 5. Их характеристики приведены в табл. 8.9.
Большинство современных накопителей на жестких дисках может работать в режимах PIO-3 и
Р10-5, при этом должна использоваться шина VLB или PCI. Шина ISA может поддерживать режимы
PIO только с 0 по 2.
Режимы PIO используются в однозадачных операционных системах, где процессор компьютера
производит считывание или запись данных в буферную память накопителя на жестких дисках
стандарта IDE или EIDE, а затем эти данные передаются в оперативную память. В многозадачных
операционных системах целесообразно использовать режимы прямого доступа к оперативной памяти
— DMA (Direct Memory Access). Ввод/вывод данных в этом режиме осуществляется в оперативную
память PC, минуя процессор. Этот процесс происходит под управлением контроллера накопителя на
жестких дисках в паузах между обращениями процессора к оперативной памяти, что несколько
снижает скорость передачи данных, но экономит процессорное время. Для реализации режимов DMA,
в отличие от PIO, необходимы специальные контроллеры и драйверы. Режимы DMA в зависимости от количества слов, передаваемых за один цикл работы с системной
шиной, подразделяются на однословные (Singleword) и многословные (Multiword) (табл. 8.10).
В последнее время интерфейс АТА стал поддерживать режим UltraDMA 33/66 со скоростью
передачи 33 и 66 Мбайт/с соответственно (см. Часть 1,раздел 2.7.2.7.2).
Спецификация АТА-2 позволяет использовать интерфейс ATAPI (АТА Pocket Interface),
разработанный специально для подключения к обычному IDE-разъему устройств типа CD-ROM,
накопителей на магнитной ленте и др.
Программный обмен. В обычном программном обмене (PIO) для пересылки блока байт данных,
например из порта в память (инструкция REP INSB), происходят следующие события:
· Процессор генерирует шинный цикл чтения порта, выставляя адрес его порта и формируя сигнал
