- •1. Описать формат селектора сегмента в мп Intel x86.
- •2.Какие таблицы используются при сегментном преобразовании адреса в защищенном режиме мп Intel x86?
- •4. Дать определение стандартного интерфейса. Назвать основные аспекты стандартного интерфейса.
- •5.Описать процедуру векторного прерывания для контроллера прерываний 8259a.
- •6. Какие два вывода параллельного порта Intel 8255 осуществляют выбор внутреннего регистра схемы?
- •3. Системная шина. Шина расширения и локальная шина.
- •5.Три режима работы параллельного порта.
- •5. Мп и inta. 8 векторов прерываний. Как они взаимосвязаны между собой.
- •6. Стробируемый ввод, Stb сигнал.
- •7.Какую инфу дает функция WinApi ReadConsoleInput?
- •4. Порты ввода/вывода при прямой адресации памяти.
- •1.Каково назначение теневых регистров мп Intel x86?
- •2.Каковы правила защиты при использовании шлюзов прерываний (специального прерывания) в защищенном режиме мп Intel x86?
- •4.В чем заключается ввод-вывод, отображенный на память?
- •5.Сколько управляющих слов инициализации используется при программировании контроллера прерываний 8259a?
- •6.Когда устанавливается сигнал запроса прерывания intr в режиме стробируемого вывода параллельного порта Intel 8255?
- •7.Описать устройство дискового накопителя информации.
- •1. Чем определяется максимальный размер виртуальной памяти в 32-битных мп x86?
- •2.Какие шлюзы являются стандартными при описании обработчиков особых случаев в защищенном режиме мп Intel x86 и почему?
- •4.В каком регистре вводятся данные при 8- и 16-битной команде in?
- •5.К какому выводу ведущего контроллера прерываний подключается вывод int ведомого контроллера?
- •7. Что представляет собой таблица шрифтов?
- •4. Основные требования, для создания usb.
- •5. Где в памяти находится таблица прерываний и сравнение в реальном и защищенном режиме.
- •6. Как задается формат ввода/вывода в uart?
- •7. Дайте определение: логический диск, кластер, сектор, файл.
- •2.Асинхронный и синхронный режимы передачи данных. Стандарты v24 (с2) и ирпс.
- •3.Программируемый связной адаптер uart 16550a. Структурная схема. Режимы работы. Управляющие слова. Последовательность программирования.
- •3 Способа чтения:
- •5. Тенденции развития эвм и систем. Новые направления в разработке вычислительной техники.
7. Дайте определение: логический диск, кластер, сектор, файл.
Логический диск или том (англ. volume или англ. partition) — часть долговременной памяти компьютера, рассматриваемая как единое целое для удобства работы. Термин «логический диск» используется в противоположность «физическому диску», под которым рассматривается память одного конкретного дискового носителя.
Для операционной системы не имеет значения, где располагаются данные — на лазерном диске, в разделе жёсткого диска, или на флеш-накопителе. Для унификации представляемых участков долговременной памяти вводится понятие логического диска.
Кластер - минимальный элемент магнитного диска, которым оперирует операционная система при работе с дисками. Каждый кластер состоит из нескольких секторов
Сектор – участок магнитной дорожки, который является одной из основных единиц записи информации. Каждый сектор имеет свой собственный номер (имеет заголовок и область в 512 МБ).
Файл (англ. file) — именованная область данных на носителе информации.
Файлы обладают такими наборами свойств, как
имя файла, расширение имени файла, основные атрибуты, время, права доступа
Прерывание – инициируемый определенным образом процесс, временно переключающий МП на выполнение другой программы с последующим возобновлением выполнения прерванной программы. На время обработки, МП прекращает выполнения некоторой программы и переключается на процедуру обработки прерывания. После этого, прерванная программа продолжит выполнение с той точки, где было приостановлено его выполнение.
Прерывания могут быть внешние и внутренние.
Внешние прерывания вызываются вешними по отношения к МП событиями.
Внутренние прерывания возникают внутри МП во время вычислительного процесса. К их возбуждению приводит одна из двух причин:
-ненормальное внутренне состояние МП, возникающее при обработке некоторой команды. Такие прерывания называются исключениями.
- обработка машиной команды int. Этот тип прерывания называется программным.
Система прерываний – это совокупность программных и аппаратных средств, реализующих механизмы прерываний.
К аппаратным средствам системы прерываний относятся:
• Выводы МП:
INTR – вывод для входного сигнала внешнего прерывания.
INTA – вывод МП для выходного сигнала подтверждения получения сигнала прерывания микропроцессором.
NMI – вывод МП для входного сигнала немаскируемого прерывания.
• Микросхема программируемого КП 8259А. Она предназначена для фиксирования сигналов прерываний от восьми различных внешних устройств.
К программным средствам относятся:
• Таблица векторов прерываний
• Флаги:
o IF-флаг прерываний
o TF-флаг трассировки.
• Машинные команды процессора.
Обработка прерываний:
При поступлении сигнала на вход INTR в МП происходят следящие процессы:
1. Анализируется флаг IF.
2. Если IF=0, то запрос повисает до момента установки в 1
3. Если IF=1 то:
• IF=0;
• Формируется сигнал подтверждения прерывания на вводе МП INTA.
Таким образом, сигнал о прерывании прошел через МП и вернулся обратно в КП через вывод INTA. Данный вывод внутри контроллера прерываний замкнут на его схему управления, которая выполняет сразу несколько действий при поступлении этого сигнала:
1. Сбрасывает бит в регистре IRR, соответствующий уровню прерываний IRQ0.
2. Устанавливает в 1 бит 0 регистра ISR
3. Формирует с помощью блока управления номер вектора прерывания, значение которого формируется в буфере данных и далее поступает на вывода d0..d7. Выводы d0..d7. замкнуты на ШД, по которой номер вектора прерываний поступает в МП. В МП этот номер используется для вызова соответствующей процедуры обработки прерываний.
Управляющие слова операции
OCW1-управляющее слово маски, используется для разрешения/запрещения обслуживания запросов по отдельным входам IRQi, если маска для i-ого запроса установлена, то этот запрос фиксируется в регистре запросов, но не обслуживается до снятия маски. Первое слово инициализации сбрасывает регистр масок запросов.
OCW1
1 _ _ _ _ _ _ _ _
Биты:
если соответствующий бит установлен, то IRQi маскируется.
OCW2 – управляющее слово конца прерывания.
7 модификаций.
Для случая векторного прерывания с фиксированным распределением приоритетов это слово имеет следующий формат.
0 0 0 1 0 0 0X 0X 0X
В конце обработчика прерывания выдача этого слова сбрасывает бит регистра обслуживаемых запросов с максимальным приоритетом.
OCW3 имеет 5 модификаций . Используется, в том числе , после выдачи определенных форм можно читать регистр запросов и регистр обслуживаемых запросов.
Каскадное включение контроллеров прерывания.
Если запрос поступил от устройства ввода вывода , подключенному к ведущему контроллеру, то он обрабатывается как в системе с 1м КП.
Если запрос поступил от устройства ввода вывода, подключенному к ведомому контроллеру, то ведомый КП формирует запрос в ведущий, а он в ЦП.
В первом цикле подтверждения прерывания, по сигналу INTA, ведущий контроллер на шине каскадирования выдает номер ведомого контроллера (это номер входа ведущего КП, к которому подключен ведомый).
Во втором цикле подтверждения прерывания, по сигналу INTA ведомый КП , указанный в предыдущем цикле, выдает на шину данных номер прерывания, соответствующий входу запроса.
IRQi Устройство ввода вывода
0 Таймер
1 Клавиатура
2 Запрос от ведомого
3 Последовательные порты COM2 COM4
4. Последовательные порты COM1 COM3
5 LPT2, звук, построчная печать
6 Гибкий диск
7 LPT1 (принтер)
8 Часы реального времени
9 Устройство PnP
10 Видеоконтроллер
11 Мышь PS/2
12 Pnp
13 Арифметический сопроцессор
14 HDD1
15 HDD2
Программируемый контроллер прерываний Intel 8259A.
Контроллер реализован управлением приоритетов прерываний от 8 источников.
Вход запросов IRQi i=0..7
Выходной сигнал прерывания INTP подается на вход маскируемых прерываний ЦП.
Разрешить или запретить с помощью CLI,STI.
Программно контроллер прерываний может быть настроен для работ в одном из четырех режимов.
Векторное прерывание с фиксированным распределением приоритетов.
Вход IRQ0 - максимальный приоритет
IRQ1 – минимальный приоритет
При программировании контроллера каждому входу контроллера соответствует определенный номер прерывания.
7 3 2 1 0
NNNN 0000
….
1111
программируется номер входа
Когда поступают запросы на вход контроллера, сначала обслуживается вход с максимальным приоритетом, при этом контроллер сообщает ЦП номер прерывания для доступа к таблице прерываний.
Векторное прерывание с циклическим распределением приоритетов
В этом случае последнее обслуживаемое прерывание становится дном приоритетного кольца, т.е. принимает минимальный приоритет.
0→1→2→3→4→5→6→7 →убывание приоритетов
Векторное прерывание с адресуемым распределением приоритетов.
В конце подпрограммы обработчика прерывания указывается номер входа запросов, который станет дном приоритетного кольца.
Прерывание по опросу
Контроллер прерываний не программируется на определенные номера прерываний, и для того чтобы определить вход от которого произведен запрос программно считывается регистр запросов.
Последовательность работы контроллера прерываний при обработке запроса на прерывание
Поступил запрос IRQ от внешнего устройства
Контроллер прерываний анализирует запрос, и если маска не наложена на данный вход запросов, то передает запрос INTP в ЦП.
ЦП завершает выполнение текущей команды, и если IF =1, то генерируется цикл подтверждения прерывания INTA1. Если в системе один контроллер прерываний, то в цикле ничего не происходит, иначе ведущий контроллер выдает информацию на шину каскадирования.
Процессор генерирует второй цикл подтверждения прерывания INTA2. КП выдает на шину данных номер прерывания, соответствующий запросу с максимальным приоритетом. Бит IRQR сбрасывается, а бит SIRQR устанавливается. Этот установленный бит запрещает повторное обслуживание запросов по данному входу и входам с меньшим приоритетом.
По номеру прерываний ЦП из таблицы прерываний берет адрес подпрограммы обработчика прерывания и передает ей управление. Обработчик прерывания должен сообщить контроллеру прерываний о своем завершении, поэтому в конце подпрограммы обработчика прерываний в контроллер направляется управляющее слово конца прерываний, которое сбрасывает бит регистра обслуживаемых запросов, тем самым разрешает обслуживание прерываний от данного входа и входам с меньшим приоритетом.
IRQ0 от таймера, IRQ1 от клавиатуры.
Управляющие слова инициализации
ICW1 является словом сброса. По нему сбрасывается все остальные регистры, в том числе и регистр масок запросов и устанавливается векторное прерывание с фиксированным распределением приоритетов. Определяет сколько дальше слов инициализации программируется, также вид запросов по IRQi: по уровню или по фронту.
Формат слова – адресный вход А0-0 (управляющее слово 1).
0 0X 0X 0X 1 _ 0X _ _
Биты:
1- слово ICW4 программируется
0 – не программируется
1- КП единственный, ICW3 не программируется
КН не единственный, ICW3 программируется
1- IRQ воспринимается уровнем
0- Воспринимается фронтом
ICW2 определяет номера прерываний, соответствующие кодам запроса
1 _ _ _ _ _ 0X 0X 0X
Старшие биты – номера прерываний(вектор)
В младшие биты подставляется номер входа. Чтобы получить полный номер прерывания, соответствующему i-ому входу, надо в младшие 3 бита поставить номер входа в двоичной коде.
ICW3 имеет вида: для ведущего и для ведомого КП.
ICW3 для ведущего
1 _ _ _ _ _ _ _ _
Биты 0-7:
1-запрос от ведомого КП
0-запрос от устройства ввода-выода
ICW3 для ведомого
1 0 0 0 0 0 _ _ _
3 младшие бита определяют номер входа ведущего КП, к которому подключен данный ведомый.
Ведомы ПКП (выход INTP) подключается к IRQ2 ведущего. К остальным входам ведущего подключаются запросы от устройства ввода вывода.
ICW4
1 _ _ _ _ _ _ _ _
Биты:
0: 1-работа с системой х86
1: 1-разрешение автоматического конца прерывания(только для ведущего)
2: 1-ведущий
0-ведомый
3: 1- MS/SL/DE выход
4: 1- разрешение приоритета ведомого контроллера
Все слова инициализации программируются последовательно.
Программируемый контроллер прямого доступа в память Intel 8237. Структурная схема. Инициализация. Режимы работы. Пример программирования.
Прямой доступ к памяти (Direct Memory Access - DMA) используется для выполнения операций передачи данных непосредственно между оперативной памятью и устройствами ввода/вывода, минуя процессор. Управление Системной Шиной берет на себя специальный контроллер – контроллер прямого доступа к памяти (DMA).
При использовании DMA процессор не участвует в операциях ввода/вывода, контроллер прямого доступа сам формирует все сигналы, необходимые для обмена данными с устройством. Скорость такого непосредственного обмена значительно выше, чем при традиционном вводе/выводе с использованием центрального процессора и команд INP, OUT.
Контроллер прямого доступа реализован на базе микросхемы Intel 8237 и содержит четыре канала.
Чаще всего обмен данными происходит между жестким диском и основной памятью. DMA встроен в контроллер ЖД.
Структурная схема Intel 8237
Каждый канал содержит 16-разрядные регистры:
• регистр текущего адреса CAR, содержит текущий адрес ячейки памяти при выполнении операции обмена данными с использованием DMA;
• регистр циклов прямого доступа к памяти CWR, содержит число слов, предназначенных для передачи минус единица; при выполнении обмена данными регистр работает в режиме вычитания;
• регистр хранения базового адреса BAR, используется для хранения базового адреса памяти, используемого при передачи данных; в процессе работы канала DMA содержимое этого регистра не изменяется;
• регистр хранения базового числа циклов прямого доступа к памяти WCR; он хранит число циклов DMA, его содержимое также не изменяестя;
• регистр режима MR, определяющий режим работы канала.
Общий алгоритм ПДП.
• Для осуществления прямого доступа к памяти контроллер должен выполнить ряд последовательных операций:
• принять запрос (DREQ) от устройства ввода-вывода;
• сформировать запрос (HRQ) в процессор на захват шины;
• принять сигнал (HLDA), подтверждающий захват шины;
• сформировать сигнал (DACK), сообщающий устройству о начале обмена данными;
• выдать адрес ячейки памяти, предназначенной для обмена;
• выработать сигналы (MEMR, IOW или MEMW, IOR), обеспечивающие управление обменом;
• по окончании цикла DMA либо повторить цикл DMA, изменив адрес, либо прекратить цикл.
Для ЦП Контроллер прямого доступа (КПД) к памяти представлен как 16 адресованных портов в/в данных. ЦП может записывать в них и считывать с них. При программировании в контроллер заносится общее слово режима работы во все 4 канала, затем П-УВВ и УВВ-П, задается уменьшение или увеличение адреса.
При завершении инициализации контроллер может обслуживать запросы DRQi или
Рг. запросов. Контроллер формирует запрос HRQ. У ЦП есть команда LOCK (команда блокировки), которая запрещает подтверждение захвата шины. Если LOCK отсутствует, то после завершения текущего цикла шины, контроллер получает HLDA.
ЦП отключается от системной шины, передает управление контроллеру ПД к памяти(КПД становится «хозяином» системной шины). По окончании обмена подсистема DMA возвращает процессору право управления шиной.
Режимы обслуживания.
В активном цикле обслуживание подсистемы DMA возможно в одном из четырех режимов. Окончание обслуживания распознается по переходу регистра счетчика слов из 0000Н в FFFFН. При этом возникает сигнал окончания счета (TC), который может вызвать авто инициализацию, если она запрограммирована, или маскирование канала при ее отсутствии.
Одновременно с TC вырабатывается выходной сигнал -EOP. Во время автоинициализации первоначальные значения регистров текущего адреса и счетчика восстанавливаются из соответствующих базовых регистров. После автоинициализации канал готов выполнять другое обслуживание подсистемы DMA без вмешательства CPU, как только обнаружится достоверный DREQ.
Режим одиночной передачи (Single Transfer Mode)
В этом режиме контроллер DMA выполняет только одну передачу. Адрес и счетчик слов будут изменяться при каждой передаче. DREQ должен быть активным, пока не активизируется соответствующий DACK. Если DREQ активен на протяжении одиночной передачи, HRQ переходит в неактивное состояние по выполнении одной передачи и освобождает шину системе. HRQ снова станет активным (при активном DREQ) и по получении нового HLDA будет выполняться следующий цикл одиночной передачи. Это гарантирует CPU в системе выполнение одного полного машинного цикла между передачами DMA.
Режим передачи блока (Blok Transfer Mode)
В этом режиме передается блок информации во время обслуживания подсистемы DMA. DREQ должен быть активным, пока не появиться активный DACK.
Режим передачи по требованию (Demand Transfer Mode)
В этом режиме передача данных выполняется до тех пор, пока не появится TC или внешний -EOP, либо когда DREQ станет неактивным. Таким образом, передачи могут продолжаться до тех пор, пока периферийное устройство не исчерпает объем данных.
Каскадный режим (Cascade Mode)
Этот режим использует объединение нескольких контроллеров DMA для расширения числа подключаемых каналов. Выходы HRQ и входы HLDA от дополнительных контроллеров соединяются соответственно со входами DREQ и выходами DACK первичного контроллера DMA . Это дает возможность запросам от дополнительного устройства распространяться через сеть приоритетных цепей предшествующего устройства.
Таким образом, канал первичного контроллера DMA, к которому подключен дополнительный контроллер, программируется на выполнение каскадного режима и служит только для определения приоритета дополнительного устройства и транзита сигналов HRQ в CPU и HLDA из CPU. Все другие сигналы каскадного канала первичного контроллера DMA в формировании циклов подсистемы DMA не участвуют.
Режим память-память
Этот режим предназначен для передачи блоков данных из одного адресного пространства памяти в другое с минимальными программными и временными затратами, но в PC AT не используется. В данном режиме могут работать только нулевой и 1-й каналы контроллера. Эта передача инициируется программной установкой REQ для канала 0. Адрес ячейки памяти-источника данных задают в CAR0, а ячейки-приемника - в CAR1. Байт данных, считанный из памяти, заносится во временный регистр (TR) и затем из TR считывается в ячейку-приемник. Когда значение счетчика слов канала 1 станет равным FFFFh, обслуживание заканчивается.
Параллельные интерфейсы. Стандарты. Программируемый параллельный периферийный адаптер Intel 8255 (К580ВВ55). Структурная схема. Режимы работы. Управляющие слова. Примеры применения.
Параллельный интерфейс — для каждого бита передаваемой группы используется своя сигнальная линия, и все биты группы передаются одновременно за один квант времени. Примеры: параллельный порт подключения принтера (LPT-порт, 8 бит), интерфейс ATA/ATAPI (16 бит), SCSI (8 или 16 бит), шина PCI (32 или 64 бита);
Последовательный интерфейс — используется лишь одна сигнальная линия, и биты группы передаются друг за другом по очереди; на каждый из них отводится свой квант времени (битовый интервал). Примеры: последовательный коммуникационный порт (COM-порт), последовательные шины USB и FireWire, PCI Express, интерфейсы локальных и глобальных сетей.
IEEE 1284, LPT (англ. Line Print Terminal; также параллельный порт, порт принтера) — международный стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера.
В основном используется для подключения к компьютеру принтера, сканера и других внешних устройств (часто использовался для подключения внешних устройств хранения данных), однако может применяться и для других целей (организация связи между двумя компьютерами, подключение каких-либо механизмов телесигнализации и телеуправления).
В основе данного стандарта лежит интерфейс Centronics и его расширенные версии (ECP, EPP).
Название LPT образовано от наименования стандартного устройства принтера LPT1 (Line Printer Terminal или Line PrinTer) в операционных системах семейства MS-DOS
Программируемый периферийный адаптер (ППА) КР580ВВ55 представляет собой три канала ввода/вывода A, B и C по 8 бит каждый. Существует три режима работы микросхемы
Структурная схема программируемого периферийного адаптера
D0…D7 |
Двунаправленная шина данных. Предназначена для передачи и приема данных процессором, а также передачи управляющих команд и слова состояния |
/CS |
Chip Select. Выбор микросхемы. Низкий уровень инициирует обмен между процессором и ППА |
/RD |
Read. Чтение. Низкий уровень на этом входе позволяет ППА передать данные или слово состояния процессору |
/WR |
Write. Запись. Низкий уровень на этом входе позволяет ППА принять данные или управляющую команду |
RESET |
Reset. Сброс. Высокий уровень на этом входе сбрасывает все внутренние регистры, включая регистры управления, переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода (только при /RD = 0 и /WR = 0) |
A0, A1 |
Адресные входы. Выбор канала. Позволяют выбрать один из каналов (A, B, C) или регистры управляющего слова и состояния (в зависимости от сигналов на входах /RD и /WR) |
PA0…PA7 |
Канал A |
PB0…PB7 |
Канал B |
PC0…PC7 |
Канал С |
Режим 0 (простой ввод/вывод)
Работа в этом режиме позволяет организовать простой ввод или вывод для каждого из трех каналов, если все три порта в режиме 0. Данные просто записываются или считываются из выбранного канала. Таким образом, основные особенности функционирования микросхемы в режиме 0 следующие:
• два 8-битовых канала (каналы A и B) и два 4-битовых канала (старшая и младшая половинки канала C);
• каждый канал может быть независимо от других запрограммирован на ввод или вывод; таким образом, всего может быть 16 различных комбинаций ввода/вывода;
• выходы имеют память, входы работают без буферной памяти.
Режим 1 (стробируемый ввод/вывод)
Этот режим служит для однонаправленного обмена данными по выбранному каналу с периферийным устройством. Для управления передачей или приемом по каналу A используется младшая тетрада канала C, канал B управляется старшей тетрадой канала C.
STB –входной управляющий сигнал, по которому данные от внешнего устройства записываются в порт.
ACK – выходной сигнал, информирующий внешнее устройство, что данные поступили в порт но еще не считаны ЦП
IRQ – выходной сигнал, информирующий ЦП о том, что данные готовы для чтения
Режим 2 (двунаправленной шины (А), объединяет строб ввод и вывод)
В этом режиме возможен обмен данными по 8-битовой двунаправленной шине данных. Управление обменом данными, а также направление передачи задается с помощью управляющих сигналов аналогичным режиму 1 способом. Возможно также генерирование сигналов прерываний и запрета разрешения.
Пример применения подключение принтера по интерфейсу ИРПРМ(Centronics):
Data – (вых) передаваемые данные
STB – (вых) строб данных
ACK – (вх) подтверждение приема данных
Busy – (вх) сигнал занятости принтера
Алгоритм вывода 1-го символа на печать:
1. проверить готовность принтера, готов -2, иначе -1.
2. Выдача байта данных
3. Формирование строба STB=0
4. Ожидание сигнала подтверждения
5. Снятие строба STB=1
