Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.
Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.
Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.
Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.
- Обратная связь
- Правила сайта
Источник: www.soloby.ru
Порты ввода-вывода | Первая программа | Микроконтроллеры с нуля #4
Обмен данными с внешними устройствами ввода/вывода.
· регистры в состоянии управления, также как и регистры данных доступны только через шину данных; другими словами часть управляющей информации в компьютере передаётся не по шине управления, а по шине данных;
· такая организация передачи управления информации обусловлена тем, что каждое внешнее устройство имеет целый набор собственных сигналов и команд, а потому предусмотреть для них соответствующие линии на шине управления системного интерфейса не представляет возможным, очевидно, что это существенно замедляет обмен данными с внешним устройством
Нарисуем упрощённую блок-схему контроллера внешнего устройства для системного интерфейса с изолированной шиной:
- логика управления обеспечивает дешифрацию регистров контроллеров; приём управляющих сигналов системного интерфейса (ввод/вывод); формирование на их основе внутренних управляющих сигналов, кроме того, она может генерировать сигнал готовности ВУ; запрос на прерывание; запрос на прямой доступ к памяти
- внутренние управляющие сигналы определяют, в какой из регистров контроллера будет подключён через приемо-передатчик шины к шине данных
Различают 3 основных способа организации ввода/вывода:
- программно – управляющий обмен
- обмен в режиме прерывания
- обмен в режиме прямого доступа к памяти
программно – управляющий обмен – это передача данных по инициативе и под управлением программы, осуществляющей ввод/вывод
Такой обмен может быть реализован в 2 режимах:
а) обмен в синхронном режиме – обмен с безусловной передачей данных (без контроля приёма данных);
· синхронный режим используется для обмена с такими ВУ, для которых точно известно время выполнения одной операции ввода/вывода;
· программа, управляющая обменом, должна давать команды на приём или передачу данных с временным интервалом не меньшим, чем время необходимое для выполнения одной операции
4. Периферийные устройства.
· если команды и данные будут передаваться в более быстром темпе, то они будут потеряны
· этот наиболее простой способ обмена требует минимальных и аппаратных и программных затрат
б) обмен в асинхронном режиме – обмен с проверкой готовности ВУ (обмен по готовности ВУ)
· в этом режиме каждая следующая команда на приём или передачу данных даётся только тогда, когда ВУ выполнит предыдущую команду и сообщит об этом, установив бит (флаг) готовности в своём регистре состояний
Изобразим алгоритм обмена:
Рассмотрим действия, необходимые для печати слова EPSON на принтере, подключённом параллельно в входу PC (LPT1).
Контроллер параллельного интерфейса имеет 3 регистра:
- регистр данных – 378h: записывается байт данных, который затем пересылается в буфер принтера
- регистр состояний – 379h
- регистр управления – 37Ah: записывается команда, управляющая работой принтера
Рассмотрим простейшую программу:
const D: array [1..7] of byte = ($45,$50,$53,$4F,$4E,$D,$A);
if (Port[SR] and $80) = 0 then
writeln(‘принтер не готов’);
for I:=1 to sizeof (D) do
while (Port[SR] and $80) = 0 do;
обмен в режиме прерывания – такой способ обмена, при котором производится приостановка (для выполнения ввода/вывода) или прерывание выполняемой программы; причём обмен инициирует не программа, выполняемая процессором, а само внешнее устройство (ВУ)
· при реализации этого способа обмена команды или инструкции обслуживания этого устройства оформляются в виде подпрограммы – подпрограммы обработки прерываний (ПОП)
· процессор передаёт управление ПОП только в том случае, если ВУ, исходя из своих внутренних побуждений, само известит процессор о готовности к обмену, для этого он выставляет на соответствующую линию шины управления системного интерфейса сигнал «запрос на прерывание»
· если при программо-управляемом обмене готовность ВУ определяется путём программного считывания содержимого регистра состояний контроллера ВУ, то появление запроса на прерывание появляется аппаратно
· наличие сигнала готовности проверяется процессором автоматически при выполнении каждой команды – это существенно экономит время процессора, поскольку программный цикл ожидания отсутствует
Какие действия выполняются в компьютере при появлении сигнала на прерывание?
процессор завершает выполнение текущей команды
если аппаратное прерывание разрешено, т.е. установлен флаг в прерывании в регистре состояний процессора, то процессор с помощью специальных сигналов и соответствующих циклов шины подтверждает готовность к прерыванию и идентифицирует источник запроса
процессор сохраняет в (текущем) стеке содержимое счётчика команд (СК) и содержимое регистра состояний (РС)
процессор помещает в СК адрес подпрограммы обработки прерывания для данного устройства и приступает к её выполнению
в начале своей работы подпрограмма обработки прерывания должна сохранить в стеке содержимое регистров процессора и в конце работы она должна восстановить эти регистры из стека
подпрограмма обработки прерываний завершается специальной инструкцией возврата из прерывания, по этой инструкции процессор извлекает из стека адрес возврата прерванной программы – после чего продолжается выполнение прерванной программы
· такой алгоритм обслуживания прерываний с использованием стека обеспечивает вложенность прерываний; вложенность означает, что любое ВУ может прервать уже выполняющуюся подпрограмму обработки прерываний, если оно имеет более высокий приоритет, чем обслуживаемое устройство
· приоритет – число, приписанное ВУ, которое определяет очерёдность его обслуживания (обычно наибольший приоритет имеет наиболее быстродействующие устройства или устройства, данные от которых не могут быть восстановлены
· устройство с высшим приоритетом обслуживается первым
· если обслуживание запрашивает устройство, приоритет которого не выше приоритета уже обслуживаемого устройства, то его запрос блокируется до завершения текущей ПОП
- в контроллерах ВУ, работающих в режиме прерывания в регистре управления, как правило, имеется бит, с помощью которого можно разрешить или запретить устройству генерацию сигналов «запрос на прерывание»
- прерывания, о которых идёт речь, это аппаратные или внешние прерывания (т.е прерывания генерируемые внешними по отношению к процессору устройствами)
аппаратные прерывания подразделяют на:
- маскируемые прерывания (INIR) можно запретить, сбросив флаг прерывания в регистре флагов процессора; можно также запретить прерывания от отдельных устройств с помощью регистра маски контроллера прерываний
- немаскируемые прерывания с помощью регистра флагов запретить нельзя; немаскируемые прерывания могут генерировать схемы контроля чётности оперативной памяти (NMI), а также систему управления энергопотребления (SMI)
- также различают программные или внутренние прерывания – генерируются самим процессором
- к программным прерываниям относят особые случаи (исключения) (деление на ноль; запрос о отсутствующей в памяти страницы; нарушение защиты по привилегиям)
- прерывания, генерируемые машинными командами, используются для доступа к стандартным подпрограммам, адреса которых программисту неизвестны
- программные прерывания обрабатываются так же, как и аппаратные, только в первом случае отсутствуют циклы подтверждения прерывания
Высшие приоритеты имеют:
- программы прерывания
- немаскируемые аппаратные прерывания
- маскируемые прерывания
Существуют 2 основных свойства идентификации ВУ, запросившего обслуживание:
- с помощью программного опроса (полинга) готовности ВУ, работающих в режиме прерывания
- с использованием векторов прерывания
- в первом случае запросы на прерывание от всех ВУ объединяются по схеме ИЛИ (монтажное ИЛИ) и подаются на соответствующий вход процессора; обработка прерываний осуществляется с помощью единой подпрограммы обработки прерываний
- приоритеты ВУ при такой организации обслуживания прерываний определяются очерёдностью их опроса, чем раньше в подпрограмме опрашивается устройство, тем выше его приоритет и тем меньше время реакции на его запрос
- необходимость последовательного опроса всех ВУ существенно увеличивает время устройств, опрашиваемых последними
- уменьшить время обслуживания ВУ можно с помощью векторной системы подготовки прерывания
- в случае векторной системы для каждого ВУ имеется собственная подпрограмма обработки прерываний, адрес этой подпрограммы обычно называется векторным прерыванием
- для того чтобы процессор смог обработать запрос от ВУ, он должен тем или иным способом получить вектор прерывания для данного устройства
Существует 2 основных способа получения вектора прерывания:
- само ВУ может сообщить вектор прерывания
- контроллер прерывания, общий для всех ВУ
Соответственно различают 2 варианта реализации векторной системы:
- векторная система с интерфейсным вектором
- с вне интерфейсным вектором
- в первом случае контроллер каждого внешнего устройства, работающего в режиме прерывания должен иметь специальный регистр для хранения вектора прерывания
- это схема намного эффективнее схемы прерывания с программным опросом, поскольку здесь опрос осуществляется не программно, а аппаратно
- во втором случае системы с вне интерфейсным вектором — специальные регистры для хранения векторов, адресов в контроллере ВУ отсутствует, а для идентификации используется общий для всех устройств контроллер прерывания – такая схема характерна для IBM совместимых PC
Изобразим схему взаимодействия процессора с контроллером прерывания и шины IBM PC:
- за исключением IRQ0, IRQ1, IRQ8, IRQ13 (системный таймер, клавиатура, часы реального времени, сопроцессор); контроллер шины формирует 2 цикла чтения, только во 2 цикле чтения контроллер прерывания выставляет номер вектора прерывания на шину данных, а процессор считывает его с шины данных
- в реальном режиме вектора прерываний хранятся в таблице векторов прерываний, которые находятся в одном килобайте оперативной памяти, под каждый вектор выделено 4 байта (2 под смещение и 2 байта под адрес сегмента)
- абсолютный адрес вектора прерываний в таблице = номер вектора умножить на 4
- далее процессор сохраняет в стеке содержимое регистров флагов, содержимое регистра сегмента кода CS, смещение IP, затем сбрасывается флаг прерывания в регистре флагов; по адресу: номер вектора умноженный на 4 считывается из оперативной памяти адрес сегмента
- подпрограмма обработки прерывания завершается инструкцией конца прерывания – EOI (end of interruption)
- если обслуживание одновременно запрашивает несколько устройств, то контроллер прерывания обслуживает устройства с наибольшим приоритетом, а остальные устройства блокирует до получения команды конца прерывания
обмен в режиме прямого доступа к памяти – обмен между ВУ и памятью осуществляется без участия процессора – специальный контроллер доступа к памяти общий для всех устройств, либо контроллер ВУ, если он имеет средство управления шинами
· это наиболее быстрый способ обмена поскольку он требует меньшего числа тактов шины, чем при программно-управляющем обмене и обмене в режиме прерывания
· в режиме прямого доступа могут работать LPT, COM, накопитель на магнитной диске, жёсткий диск, сетевые адаптеры
· существует много способов организации обмена в режиме доступа к памяти
1. с захватом цикла (с идентификацией состояния памяти)
· в этом режиме обмен устройства с памятью осуществляется в течении тех машинных циклов процессора, когда последний не обращается к шине
· для идентификации таких состояний процессор может генерировать специальный сигнал, указывающий что шина свободна
2. прямой доступ к памяти с блокировкой процессора по запросу
· в этом случае на время обмена процессор отключается от шин системного интерфейса
· если устройство работает медленно, то оно в режиме прямого доступа к памяти (ПДП) – передаёт отдельные байты
· команда SC – после передачи байта запрос на прямой доступ к памяти сразу снимается DACK
· если устройство работает быстро – данные передаются блоками, DACK не снимается
Источник: poisk-ru.ru
Современные операционные системы — тест 2
nbsp
nbsp
nbsp
Номер 2
Что такое операционная среда?
nbsp
nbsp
nbsp
Номер 3
Что такое оболочка операционной системы?
nbsp
nbsp
nbsp
Упражнение 3: Номер 1
Какие функции выполняет операционная система?
nbsp
nbsp
nbsp
Номер 2
Какие задачи решаются на этапе планирования ресурса в операционной системе?
nbsp
nbsp
nbsp
Номер 3
Какие задачи решаются при управлении ресурсами?
nbsp
nbsp
nbsp
nbsp
Упражнение 4: Номер 1
Какие подсистемы являются общими для всех ресурсов?
nbsp
nbsp
nbsp
nbsp
Номер 2
Какие подсистемы являются общими для всех ресурсов?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какие показатели являются критериями эффективности операционной системы?
nbsp
nbsp
nbsp
Упражнение 5: Номер 1
Какие функции выполняет подсистема управления процессами?
nbsp
nbsp
nbsp
nbsp
Номер 2
Какие функции выполняет подсистема управления памятью?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какая подсистема выполняет настройку адресно-зависимых частей кодов процесса на физические адреса выделенной области?
nbsp
nbsp
nbsp
nbsp
Упражнение 6: Номер 1
Какие подходы используются при разработке архитектуры операционной системы?
nbsp
nbsp
nbsp
nbsp
Номер 2
Какие утверждения являются верными?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какие утверждения являются неверными?
nbsp
nbsp
nbsp
nbsp
Упражнение 7: Номер 1
Выполнение какого требования к операционной системе позволяет пользователю выполнить свои приложения в новой операционной системе?
nbsp
nbsp
nbsp
nbsp
Номер 2
Выполнение какого требования к операционной системе позволяет операционной системе управлять компьютером с различным числом процессов, обеспечивая линейное возрастание производительности при увеличении числа процессоров?
nbsp
nbsp
nbsp
nbsp
Номер 3
Выполнение какого требования к операционной системе позволяет переносить код операционной системы с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа?
nbsp
nbsp
nbsp
nbsp
Упражнение 8: Номер 1
Какие возможности предлагает виртуализация?
nbsp
nbsp
nbsp
Номер 2
Какие утверждения являются верными?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какие утверждения являются неверными?
nbsp
nbsp
nbsp
nbsp
Упражнение 9: Номер 1
Какие операционные системы выполняются на одном процессоре, распределяя прикладные задачи по остальным процессорам?
nbsp
nbsp
nbsp
Номер 2
Какой системой является операционная система Windows XP?
nbsp
nbsp
nbsp
nbsp
nbsp
Номер 3
Какие утверждения верны только для многозадачных операционных систем (для однозадачных — неверны)?
nbsp
nbsp
nbsp
nbsp
Упражнение 10: Номер 1
Какие операционные системы предназначены для управления техническими объектами (станок, спутник, технологический процесс и прочее), где существует предельное время на выполнение программ, управляющих объектом?
nbsp
nbsp
nbsp
Номер 2
Какие операционные системы предназначены для решения задач в основном вычислительного характера, не требующих быстрого получения результатов?
nbsp
nbsp
nbsp
Номер 3
Какие операционные системы обеспечивают удобство и эффективность работы пользователя, который имеет терминал и может вести диалог со своей программой?
nbsp
nbsp
nbsp
Упражнение 11: Номер 1
Какие утверждения являются верными для систем семейства UNIX/Linux?
nbsp
nbsp
nbsp
Номер 2
Чем системы семейства UNIX/Linux отличаются от систем Windows?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какие утверждения являются неверными для систем семейства UNIX/Linux?
nbsp
nbsp
nbsp
nbsp
Упражнение 12: Номер 1
На каких платформах работает операционная система Solaris?
nbsp
nbsp
nbsp
Номер 2
В каких операционных системах поддерживается только командная строка как интерфейс пользователя?
nbsp
nbsp
nbsp
nbsp
Номер 3
Какая операционная система создана для разнообразных мобильных устройств?
Источник: eljob.ru