МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

IN (Input from Port) – ввод из порта





Ввод – вывод

 

Все компоненты ПК представляются для CPU в виде наборов ячеек памяти или портов ввода-вывода. Адрес, формируемый процессором на адресных выводах, обычно ссылается на одну из ячеек основной памяти. Если изменить напряжение на специальном выводе "память" (memory) или "ввод-вывод" (input/output) с высокого на низкое, значение на адресных выводах CPU следует интерпретировать как область в совершенно другом адресном пространстве. Основное назначение ячеек этого пространства – передача информации между процессором и остальными частями ПК, включая внешние устройства. Поэтому данное адресное пространство называется пространством портов ввода-вывода, а сами ячейки – портами ввода-вывода. Хотя доступ к ним происходит через те же адресные выводы процессора, по которым осуществляется доступ к памяти, пространство портов ввода-вывода существенно отличается от физического адресного пространства:

· оно значительно меньше;

· при адресации вв/выв процессор использует только 16 младших адресных линий, поэтому размер этого пространства одинаков для всего семейства CPU i80x86 и равен 64 Кбайта (65536). Следовательно, для адресации порта достаточно 16-разрядного числа, которое должно быть загружено в регистр общего назначения DX (т.к. многие инструкции обращаются именно к регистру DX).

· пересылаемые данные в портах не хранятся, а тут же поступают на вход устройства, подсоединенного к этому порту, байты , посланные в RAM остаются там на хранение. Читая из порта обычно всегда получают новое значение. Порт служит как бы буфером между процессором и устройством.

Данные от CPU приходят в порт и из него достигают точки назначения – определенного устройства, которым и обрабатываются. Само устройство в процессе работы также может пересылать данные для CPU, которые опять же поступают в порт. Ячейка же памяти всегда хранит данное, полученное последним.

В современных ПК пути от CPU к памяти и от CPU к портам отделены друг от друга [внутри CPU они объединяются – ША и ШД], работают независимо друг от друга, каждый на своей частоте. Это разделение связано с увеличением скорости процессора и уменьшением времени доступа к памяти (наличие медленной шины ISA, к которой можно подсоединить карты внешних устройств).

Связь CPU с остальными устройствами осуществляется по системной шине. Сигналы, распространяющиеся по шине, доступны всем подключенным к ней устройствам. Но за каждым устройством закреплена определенная группа адресов, на которые оно должно реагировать в соответствии с протоколом обмена. Обнаружив свой адрес на магистрали, устройство либо считывает с магистрали поступившие данные, либо устанавливает на магистрали свои данные. Это зависит от заданного процессором направления передачи.

Контроллеры и адаптеры периферийных устройств могут и не использовать порты вв/выв, если их регистры отображены на пространство памяти. В результате, все устройства можно разбить на две категории. В одну категорию входит. например. видеобуфер. Устройство управления видеобуфером настроено на две группы адресов (1-ая графический, 2-ая текстовый), которые как бы продолжают адреса основной оперативной памяти, начинаются с адреса А0000h. Таким образом, адреса основной оперативной памяти и памяти видеобуфера не перекрываются.

Вторая категория устройств – это те, адреса которых перекрываются с адресами основной оперативной памяти. Например, котроллер клавиатуры: адреса 60h и 61h; контроллеры прерываний: адреса 20h – 21h и A0h - A1h.

Идентификация устройств по системной шине осуществляется с помощью сигнала Mem/IO, который генерируется CPU при каждой операции чтения – записи. Значение этого сигнала зависит от категории адресуемого устройства. При обращении к ОП или видеобуферу CPU устанавливает Mem/IO = 1. При обращении к остальным устройствам Mem/IO = 0. (Все устройства, подключенные к шине, анализируют значения этого сигнала). Таким образом, осуществляется аппаратное разделение устройств типа "памяти" и устройств ввода-вывода.

Программное разделение устройств реализуется с помощью двух наборов команд CPU: 1) для памяти – это практически все команды, которые дают возможность обращаться по адресу; 2) для устройств ввода-вывода. Ко второму набору относятся: команда ввода IN и команда вывода OUT.

Арифметические операции или анализ данных в устройстве невозможны! Необходимо сначала прочитать в CPU данное из внешнего устройства и лишь затем выполнять над ним операцию. Инструкции для исполнения CPU может считать только из пространства ОП!

Итак, наличие двух категорий устройств дает основание говорить о существовании двух адресных пространств:

· пространства памяти - входит сама память, видеобуферы и ПЗУ;

· пространство ввода-вывода - пространство портов, куда входят адреса остальной аппаратуры ПК. Максимальное значение адреса в этом пространстве FFFFh. Реально из этих 64Кбайт используется малая часть.

К портам ввода-вывода обращаются только по реальным (физическим адресам)! Адрес устройства задается либо в команде (только младший байт, старший – нулевой), либо полный 16-разрядный берется из регистра DX. Линии А16 – А19 (31) не используются. В защищенном режиме инструкции ввода-вывода являются привилегированными, т.е. используются задачами только с определенным уровнем привилегий.

 

Команды вода – вывода.

IN (Input from Port) – ввод из порта

 

IN <accumulator>, <address>

(Аккумулятор) ← (Порт вода-вывода)

Осуществляется передача байта или слова из порта ввода-вывода в регистр AL или AX. Адрес порта от 0 до 255 может быть указан в виде константы. Если для задания адреса порта используется регистр DX, его содержимое позволяет адресоваться к 65536 различным портам. Не влияет на флаги.

Машинные коды:

E4 Data8 формат AL, Immed8 (E4 и E5 могут адресовать порты

E5 Data8 формат AX, Immed8 только до 28=256)

EC формат AL, DX (старшие 8 бит адреса равны 0)

ED формат AX, DX

Например, IN AL, 20h ; E420

IN AX, 20h ; E520

IN AL, DX ; EC

IN AX, DX ; ED

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.