Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Устройства внешней памяти



Информация,хранимая в устройствах внешней памяти, организована в файловые структуры. Файл –это единица информации в виде массива байт произвольной длины, которому присвоен уникальный идентификатор (имя).

Каждый идентификатор может содержать трехсимвольное расширение, отделенное от имени точкой. Расширение может быть использовано для задания группового признака (типа файла), характеризующего хранимую информацию: текстовую, графическую и т.д. Например, запись vc.exe означает идентификатор vc с расширением exe (исполняемый файл).

Отдельные файлы объединяются вкаталоги (папки). Каждый каталог имеет свое имя и может быть зарегистрирован в другом каталоге. Тогда он называется подкаталогом. Так образуется древовидная файловая структура для каждогологического устройства. Корневой каталог является каталогом высшего уровня. Логическое внешнее устройство – это устройство, различимое программой. Физическое внешнее устройство может отображаться на одно логическое устройство или быть разделено на несколько логических устройств с непересекающимися областями носителя информации.

Поиск информации во внешней памяти на логическом уровне производится по идентификатору файла. Перед идентификатором файла указывается путь в виде имени логического устройства и перечня имен всех каталогов ветви файловой структуры до искомого файла – пути к файлу. Например, адрес с:\vc\nc.exe означает файл nc.exe, который находится в каталоге vc на логическом устройстве внешней памяти "с".

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

Запись и чтение информации в накопителях на магнитной поверхности производится при помощи магнитных головок. Простейшая магнитная головка (рис. 10) состоит из катушки с магнитопроводом. Магнитопровод имеет воздушный зазор. При протекании тока через катушку в магнитопроводе возникает магнитный поток, который в области воздушного зазора выходит за пределы головки и может замыкаться через магнитоактивный слой носителя информации.

Запись информации на магнитную поверхность основана на явлении остаточной намагниченности.

Если к локальному участку поверхности с магнитоактивным слоем подвести магнитное поле определенной интенсивности, то после снятия магнитного поля на участке поверхности остается остаточная намагниченность магнитоактивного слоя (магнитный отпечаток). Направление остаточной намагниченности определяется ориентацией подводимого магнитного поля. Создание магнитного поля производится при помощи подачи тока определенной силы и направления на катушку магнитной головки.

Локализация магнитного поля на участке поверхности производится при помощи воздушного зазора кольцевого магнитопровода магнитной головки. Так производится запись одного бита информации. При движении магнитной головки относительно поверхности носителя информации производится запись многобитовой информации.

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

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

Наиболее простые магнитооптические диски используют запись на предварительно намагниченную поверхность. Запись магнитного отпечатка производится при помощи кратковременного нагрева локального участка магнитоактивного слоя лазерным лучом и подачи внешнего перемагничивающего поля. Напряженность поля выбирается меньше порога перемагничивания материала магнитоактивного слоя. Но порог перемагничивания падает с ростом температуры. Поэтому перемагничивание магнитоактивного слоя происходит только в локальной области нагрева поверхности лазерным лучом. Плотность записи при этом значительно возрастает.

Возросшая плотность записи исключает использование при чтении обычных магнитоиндукционных головок. Чтение информации производится лазерным лучом. Намагниченность участка магнитоактивного слоя меняет плоскость поляризации отраженного лазерного луча. Это явление используется при чтении информации.

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

· с однократной записью информации емкостью до 700 Мбайт (CD ROM - компакт диск только для чтения),

· с возможностью многократной записи емкостью до 700 Мбайт (CD RW - компакт диск для чтения и записи),

· с однократной записью информации емкостью до 4 Гбайт (DVD R - диск только для чтения),

· с возможностью многократной записи емкостью до 4 Гбайт (DVD RW - диск для чтения и записи).

Кроме этого файловую структуру используют относительно новые виды внешней памяти на основе МДП-транзисторов с плавающим затвором. Это различные устройства флэш-памяти. Запись информации производится благодаря туннелированию электронов на изолированный затвор, чтение – аналогично чтению в однотранзисторных ячейках динамической памяти. Один из способов групповой записи информации в ячейки флэш-памяти с дублирующей динамической памятью реализуется подачей магнитного поля, уменьшающего порог туннелирования электронов в область затвора.

Устройства ввода. Это устройства ввода данных в систему оперативной памяти из системы устройств внешней памяти или устройств связи с внешними объектами.

К устройствам ввода относятся:

· клавиатура (ввод символьной информации),

· мышь (выбор координаты на экране монитора для ввода символьной или графической информации),

· сканер (ввод цифровой и графической информации с бумажного носителя и т.д.),

· устройства связи с внешними объектами.

Устройства вывода. Это устройствавывода данных из системы оперативной памяти в систему внешней памяти или на устройства связи с внешними объектами.

Процессор может осуществлять программное управление операциями ввода/вывода, но не может являться объектом операции ввода или вывода.

Устройства коммуникации. Это устройства, обеспечивающие связь с другими ЭВМ или управляемыми объектами, включая удаленные объекты.

Контрольные вопросы:

1. Устройства, относящиеся к системе ввода/вывода.

2. Понятие файловой структуры размещения информации на внешней памяти.

3. Основы чтения и записи информации в накопителях с записью на магнитной поверхности.

4. Накопители с записью на магнитной поверхности.

5. Флеш-память, физика записи и чтения.

6.2. Теоретические основы операций ввода/вывода

Организация ввода/вывода – это передача данных между оперативной памятью (ОП) и периферийными устройствами (ПУ).

В некоторых случаях в понятие операции ввода/вывода включают обменинформацией между ПУ и процессором (ПР), а также между ПУ и ПУ. Но из-за проблем унификации процедур ввода/вывода, необходимости буферизации передаваемой информации, малого объема внутренней памяти процессора (8 - 16 РОН) обмен информацией между ПУ и ПР, а также между ПУ и ПУ как самостоятельные операции ввода/вывода используются крайне редко. Многие вычислительные системы допускают обмен информацией только с использованием ОП.

Управление вводом/выводом относится к нижнему физическому уровню управления средствами вычислительных систем. На базе операций этого уровня реализуются процедуры верхнего уровня управления, например, процедуры команд операционных систем и программных оболочек: сохранить файл, загрузить файл, копировать файл и т.д.

Для каждого типа ПУ используется устройство управления (контроллер, адаптер), алгоритмы работы которого учитывают индивидуальные особенности данного типа ПУ.

Организация управления вводом/выводом связана с решением ряда задач. Решения части из этих задач зависят от физики работы конкретных ПУ и реализуются на уровне обмена физическими сигналами (в определенные моменты времени формируются импульсы тока или напряжения определенной амплитуды и длительности). На этом уровне решаются следующие проблемы:

· запись информации во внутреннюю память ПУ и чтение из нее,

· управление адресацией внутренней памяти ПУ,

· передача информации между ПУ и контроллером и, частично, контроль процесса ввода/вывода.

Решения другой части задач не зависят от физики работы отдельных ПУ и реализуются на уровне обмена логическими сигналами. На этом уровне решаются проблемы:

· задания кода операции и адреса блока данных в ПУ,

· передачи данных между ПУ и ОП,

· синхронизации передачи данных,

· контроля процесса ввода/вывода,

· активизации и окончания работы ПУ.

Для организации ввода/вывода в контроллерах устройств ввода/вывода предусмотрены специальные регистры (основными являются регистр данных RD и регистр управления RU), а в системе команд – команды ввода/вывода.

Управление вводом/выводом на этом уровне может быть реализовано двумя способами:

· с использованием средств процессора.Такой ввод-вывод называется программным,

· с использованием специальных устройств управления (процессоров ввода/вывода, устройств прямого доступа к памяти ПДП). Такой ввод-вывод называется аппаратным (внепроцессорным, с занятием цикла, с прямым доступом к памяти).

Программный ввод/вывод

При программном вводе/выводе контроллерами управляет ПР при помощи программы (драйвера) ввода/вывода. Программы этого типа учитывают конструкцию контроллера и используемого в вычислительной системе ПР и обычно входят в базовую систему программ управления вводом/выводом на физическом уровне (в РС – BIOS ). Программы BIOS выполняют роль интерфейса между программами операционных систем и используемой аппаратурой вычислительной системы и обеспечивают переносимость операционных систем между ЭВМ с одинаковыми процессорами.

При программировании процедур ввода/вывода учитывается адресация регистров контроллера устройств ввода/вывода. Порты могут быть отображены на общее адресное пространство оперативной памяти (адресация портов большинства архитектур процессоров) или на отдельное номерное пространство портов ввода-вывода.

Адресация регистров контроллеров ввода/вывода, отображенных на общее адресное пространство оперативной памяти

В вариантеввода/вывода с отображением адресов портов в пространство оперативной памяти для процессора регистры RD неотличимы от ячеек памяти, и для доступа к ним можно использовать любую команду с обращением к ОП. В этом варианте для отдельных операций ввода/вывода достаточно использования команды пересылки MOV.

Команда MOVдля PDP-11 имеет вид:

MOV A1, A2, где:

· А1 – адрес источника,

· А2 – адрес приемника.

Если в качестве А1 использовать адрес RD, а в качестве А2– адрес ячейки ОП, то команда реализует передачу информации из ПУ в ОП (операция ввода). При этом производится передача из ПУ в ПР, а затем из ПР в ОП. Нетрудно заметить, что, используя в качестве А1 и А2 адреса РД, ОП и РОН, можно организовать все возможные варианты передачи информации, включая операции загрузки РОН как из ОП, так и из портов.

Адресация регистров контроллеров ввода/вывода, отображенных на номерное пространство портов

Если в программной модели процессора регистры контроллеров отображены на номерное пространство портов (например, в МП IA ), то в состав команд процессора вводят команды ввода IN и вывода OUT. Для IBM PC эти команды имеют вид:

IN al, dx

OUT dx, al

где: al – РOН (младший байт аккумулятора), используется в качестве буфера для передаваемых данных,

dx – РОН, используется для задания номера порта.

Если номер порта не превышает 255, то возможно использование команд ввода/вывода в формате:

IN al, RD

OUT RD, al

где:

· al – аккумулятор, используется в качестве буфера для передаваемых данных,

· RD – номер порта.

Используя эти команды, можно запрограммировать различные варианты передачи информации при вводе/выводе. Например, передачу информации из ПУ в ОП (ввод) можно реализовать при помощи программы:

A_IN1: MOV dx, RD; задание номера порта RD

IN al, dx; пересылка содержимого RD в аккумулятор

MOV TABLE, al;пересылка данных из аккумулятора в

;ячейку TABLE оперативной памяти

или для RD < 256

A_IN2: IN al, RD; пересылка данных из порта в аккумулятор

MOV TABLE, al; пересылка данных в ОП

Приведенные блоки программы организуют передачу байта данных из ПУ в ОП и реализуют способ безусловной программной организации ввода. Безусловный программный вывод организуется аналогичным образом, но c использованием команды вывода.

Самостоятельное применение этих способов ввода/вывода ограничено тем, что они не учитывают независимость работы ПР и ПУ. Из-за отсутствия синхронизации передачи данных между ПУ и ПР возможна потеря информации или передача необновленных данных. Программы безусловного ввода/вывода обычно используются как часть условных способов ввода/вывода, учитывающих независимость работы ПУ и ПР.

Вопросы для самопроверки:

1. Определение операции ввода/вывода.

2. Определение программного ввода/вывода.

3. Определение прямого доступа к памяти.

4. Команды ввода/вывода в моделях семейства PDP-11.

5. Команды ввода/вывода в МП IA.

6. Недостатки безусловного программного ввода/вывода.

6.3. Синхронизация передачи данных при вводе/выводе

Специфика периферийных устройств заключается в том, что их схемы работают несинхронно с тактом работы процессора и, как правило, являются намного менее быстродействующими по сравнению с ПР и ОП.

RD контроллера по отношению к ПР является быстродействующим регистром, который способен производить прием/передачу данных наравне с внутренними регистрами ПР. С другой стороны, RD осуществляет прием/передачу данных от связанного с ним ПУ с той скоростью и в том порядке, которые обусловлены характеристиками данного ПУ.

Поэтому, моменты появления данных на RD контроллера ПУ при вводе, или готовность ПУ принять новые данные при выводе – непредсказуемы. Определение моментов готовности ПУ принять или передать новые данные и передача данных при условии наступления ожидаемых моментов составляют суть условных программных способов ввода/вывода.

В настоящее время известны два условных способа программного ввода/вывода:

· с проверкой готовности,

· с использованием системы прерывания.

 
 

В обоих способах синхронизация передачи данных осуществляется при помощи бита RDY("флага готовности") в специальном программно доступном регистре управления (RU) контроллера ПУ.

Работа RD с использованием бита RDY в процессе ввода или вывода характеризуется чередованием двух фаз:

1. передача данных между RD и ПУ (доступ ПР к RD при этом запрещен);

2. передача данных между RD и ПР (доступ ПУ к RD при этом запрещен).

Закончив свои операции по загрузке RD при вводе или чтению содержимого RD при выводе, ПУ устанавливает бит RDY в состояние 1 - "поднимает флаг готовности". Поднятие флага означает окончание фазы ПУ в работе RD и начало фазы ПР: поднятый флаг разрешает доступ к RD со стороны ПР и запрещает доступ со стороны ПУ.

ПР по окончании своего этапа обмена информацией с RD сбрасывает флаг в нулевое состояние. Сброс флага символизирует окончание фазы ПР и начало фазы ПУ.

Использование системы прерывания при организации ввода/вывода освобождает процессор от непрерывного опроса состояния флага готовности, дает возможность использования процессора в фоновой работе. В этом варианте готовность данных используется для формирования сигнала прерывания фоновой работы и передачи управления программе ввода/вывода с последующим возвратом к фоновой работе.

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

Вопросы для самопроверки:

1. Ввод/вывод с проверкой готовности.

2. Ввод/вывод с использованием системы прерывания.

6.3.1. Ввод/вывод с проверкой готовности

Схема организации операции ввода/вывода с проверкой готовности представлена на рис. 6.1. Основными блоками схемы являются процессор, оперативная память и периферийное устройство. Для простоты рассматривается только операция ввода – передача данных от периферийного устройства (например, датчика температуры) в оперативную память. В схеме периферийного устройства выделены два регистра: данных (RD) и управления (RU).

Регистр RD используется в качествепочтового ящика для промежуточной фиксации текущего значения температуры.

Регистр RUиспользуется в качестве регистра управления. В этом регистре используется только 3 разряда для фиксации сигналов управления:

· «Ошибка» Ош – 15-й разряд,

· «Готовность» Гот – 7-й разряд,

· «Пуск» П – 0-й разряд.

 
 

Стратегия метода передачи данных с проверкой готовности заключается в следующем.

Устройство может иметь два состояния: включенное и выключенное, в зависимости от значения бита "Пуск" регистра управления.

Включение и выключение устройства производится командой программы (драйвера) процессора занесением в младший разряд регистра RD единицы или нуля.

Сигнал «Готовность» является сигналом (светофором) разделения доступности регистра данных RD со стороны процессора и периферийного устройства.

Эта стратегия разделения доступности (метод стробирования и квитирования) в ЭВМ является одним из основных методов согласования работы как программ, так и аппаратуры в разных сочетаниях.

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

Входными параметрами программы ввода/вывода являются:

· Код операции (прочитать/записать) Для рассматриваемого случая (датчик температуры) корректной является операция чтения.

· Начальный адрес массива чтения. Для передачи данных с единственного датчика этот адрес не используется.

· Начальный адрес области ввода в оперативной памяти.

· Количество передаваемых данных, например, в байтах.

Блок схема программы представлена на рис. 6.4.

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

В данном примере рассматриваются три таких функции:

· обработки непредусмотренного кода, например команд записи устройству чтения,

· обработки сообщений о сбоях от периферийного устройства, например, при выявлении бита "Ошибка" в регистре управления (15-й бит в регистре RU).

· обработки ошибки тайм-аута.

Ошибка тайм-аута – это превышение максимального периода ожидания установки периферийным устройством бита готовности (7-й бит регистра управления RU).

В качестве средства программирования выберем ассемблер семейства PDP-11(См. 4.1. Программная модель процессоров семейства PDP - 11).

Для передачи входных параметров определим четыре РОНа:

R1 – код операции W/R,

R2 – начальный адрес (Аm) массива данных в ОП,

R3 – количество слов в массиве,

R4 – значение тайм-аута.

В качестве средства программирования выберем ассемблер семейства PDP-11(См. 4.1. Программная модель процессоров семейства PDP - 11).

Содержание программы:

START

СМP R1, #read;проверка корректности кода операции

JNQ M4;В случае несовпадения кодов – переход на
;программу сообщения об ошибке и выход из программы

МО: MOV R4, R1;копирование значения тайм-аута в освободившийся РОН

MOV #1, @#RU;включение устройства в работу занесением единицы в;младший разряд RU

M1: TSTB @#RU;проверка бита готовности в регистре RU

JPL M2; данные не готовы, переход на продвижение счетчика (М2).

TST @#RU; проверка бита сбоя (7 "знаковый" бит в регистре RU )

JPL M7; бит сбоя определен, переход на блок сообщения об;ошибке (М7)

M2: DEC R1;модификация регистра тайм-аута (R1=R1-1)

JNE M1; пока счетчик тайм-аута не нулевой, передача на повтор;проверки готовности

JMP M6;переход на обработку ошибки тайм-аута

М3: MOV @#RD, (R2)+;пересылка данных из RD в ОП по адресу, заданному

;содержимым регистра R1, модификация адреса.

MOV #1, @#RU;сброс бита готовности в регистре RU

DEC R3,;продвижение счетчика слов (R 3)

JNQ M0;пока содержимое не равно нулю – повтор цикла передачи

CLR @#RU;выключение устройства

END START

Это самый простой по конструкции контроллера и самый старый способ организации ввода вывода. Для реализации этой схемы ввода/вывода не обязательно наличие системы прерывания. Но это не значит, что он несовместим со сложными операционными системами и многопрограммными режимами работы. В многопрограммных режимах программа ввода/вывода может прерываться, как и остальные программы. Основным его недостатком является недостаточно эффективное использование процессора. Но его можно эффективно использовать в микроконтроллерных системах управления.

Вопросы для самопроверки:

1. Назначение регистров RD и RU.

2. Назначение и источник бита "Ошибка" в регистре RU.

3. Назначение и источник бита "Готовность" в регистре RU.

4. Входные параметры программы ввода/вывода с проверкой готовности.

5. Стратегия разделения доступности (метод стробирования и квитирования).

6. Ситуация ошибки тайм-аута.

6.3.2. Ввод/вывод с использованием системы прерывания

Основное преимущество организации ввода/вывода с использованием системы прерывания заключается в возможности организации фоновой работы, т.е. более эффективное использование функциональных возможностей процессора.

Схема организации ввода/вывода с использованием системы прерывания представлена на рис. 6.5.

Отличие этого метода организации ввода/вывода заключается в том, что:

· установка бита готовности не проверяется программой процессора, а приводит к формированию сигнала прерывания,

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

 
 

В этом варианте программа ввода/вывода делится на части.

Начальная часть программы (передача параметров процедуре ввода/вывода) и заключительная часть исполняются в виде проблемной программы, а программа управления передачей оформляется в виде программы обработки внешнего прерывания.

При использовании программы обработки прерывания возникает ряд проблем. Это передача параметров и сохранение содержимого РОН.

При прерываниях основной контекст программы сохраняется аппаратно, а РОНы – в программе обработки прерывания. Перед выходом из прерывания программа обработки восстанавливает содержимое РОНов. Но фоновая (проблемная) программа может испортить содержимое РОНов, в которых программа управления вводом/выводом хранит текущий адрес оперативной памяти и размер блока вводимых (выводимых) данных. Чтобы этого не случилось, можно или сохранять эти параметры в зарезервированных ячейках оперативной памяти, или, для МП IA-32, в процедуре прерывания использовать механизм переключения задач (см. 3.3.1. Основные особенности организации программной модели МП IA-32. Процедура переключения задач).

Схема взаимодействия программ при организации ввода/вывода с использованием системыпрерывания для случая использования процедуры переключения задач представлена на рис. 6.4. В схеме представлены две возможные программы обработки прерывания: программа ввода очередной порции данных с датчика в оперативную память по сигналу готовности и программа обработки возможной ошибки тайм-аута.

Окончание процедуры ввода производится по обнулению счетчика данных.

.Вопросы для самопроверки:

1. Основные особенности организации ввода/вывода с использованием системы прерывания.

2. Особенность передачи и сохранения параметров программы с использованием системы прерывания.

6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти

Изначально прямой доступ к памяти был предназначен для исполнительных устройств обработки данных, т.е. для процессора. Но для более эффективного использования вычислительных средств процессора стали создавать дополнительные, специализированные устройства, ориентированные на выполнение процедур управления операциями ввода/вывода.

В вычислительных системах корпорации CDC используются периферийные процессоры, которые, кроме управления вводом/выводом, могут выполнять ряд вычислительных операций и использоваться для обработки прерываний от внешних устройств. В моделях семейства IBMпериферийные процессоры (каналы) более простые. При выполнении операций ввода/вывода они даже для простейших вычислений через систему прерываний используют вычислительные возможности центрального процессора.

В моделях PC IA используют не процессоры, а простейшие устройства ПДП для управления вводом/выводом. Обычно это стандартные устройства управления вводом/выводом на одну операцию. Обычно они рассчитаны на работу с широким кругом периферийных устройств. Для простоты здесь рассматривается специализированное устройство управления, интегрированное с простейшим устройством ввода, например, датчиком температуры.

Схема организации операции ввода/вывода с использованием интегрированного устройства ПДП представлена на рис. 6.5.


Дополнительными устройствами, реализующими работу в режиме ПДП, в представленной схеме являются:

· инкрементный регистр адреса RA, используется для вычисления текущего адреса ОП в процессе ввода,

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

· схемы управления прямым доступом к памяти.

Функции процессора в передаче данных с использованием ПДП сводятся к инсталляции устройства и анализу корректности завершения передачи данных.

Диаграмма процесса передачи данных с использованием ПДП представлена на рис. 6.6.





Дата публикования: 2014-11-03; Прочитано: 1120 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.027 с)...