Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.
Т.е. это процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возвратом к прерванной программе.
Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так наз. обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.
Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.
Механизм прерываний поддерживается на аппаратном уровне.
В зависимости от источника, прерывания делятся на
Урок 12 — Прерывания. Создаем обработчик задач (Вдохни жизнь в свое электронное устройство)
· аппаратные — возникают как реакция микропроцессора на физический сигнал от некоторого устройства (клавиатура, системные часы, клавиатура, жесткий диск и т.д.), по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные моменты времени;
· программные — вызываются искусственно с помощью соответствующей команды из программы (int), предназначены для выполнения некоторых действий операционной системы., являются синхронными;
· исключения — являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы.
По другой классификации прерывания делятся на
· внешние — вызываются внешними по отношению к микропроцессору событиями
(по существу — это группа аппаратных прерываний) Вложенных прерываний нет!
· внутренние — возникают внутри микропроцессора во время вычислительного процесса (по существу — это исключительные ситуации и программные прерывания).
Система прерываний — это совокупность программных и аппаратных средств, реализующих механизм прерываний.
К аппаратным средствам системы прерываний относятся:
· выводы микропроцессора (INTR, INTA, NMI) /// это доп. материал
· программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15 плюс одно немаскируемое прер.; именно он формирует номер вектора прерывания и выдает его шину данных);
К программным средствам системы прерываний Реального режима относятся:
· таблица векторов прерываний. Первый килобайт ОП (адреса 00000h-003FFh) занимает таблица векторов прерываний. Она содержит адреса (векторы) обработчиков прерываний и состоит из 256 (0..255) элементов по 4 байта каждый.
· два флага в регистре флагов flags/eflags:
Асинхронность, многопоточность, многопроцессность в python | Библиотека asyncio и асинхронный код
· IF (Interrupt Flag) — флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует;
· TF(Trace Flag) — флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1;
· машинные команды микропроцессора: int, into, iret, cli, sti
Источник: studfile.net
Команды прерываний
Ещё один из способов изменения порядка выполнения программы заключается в использовании в программе прерываний.
Прерывания — это инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возобновлением прерванной программы.
Прерывания используются, прежде всего, для увеличения эффективности, работы микропроцессора, а также в качестве удобного средства, обеспечивающего доступ к аппаратному оборудованию и утилитным программам, контролируемым операционной системой.
Прерывания дают возможность операциям ввода-вывода от микропроцессора, т.е. когда устройство ввода-вывода требует обслуживания со стороны микропроцессора, оно сообщает об этом микропроцессору формированием соответствующего запроса (сигнала), по которому может быть прервано выполнение текущей программы.
Прерывания могут быть внешними (аппаратными) и внутренними.
Внешние или аппаратные прерывания в свою очередь делятся на немаскируемые и маскируемые.
Немаскируемые — обрабатываются микропроцессором независимо от состояния флага прерывания IF. К ним относятся прерывания, приходящие по линии NMI, сигнализирующие о каких-то неординарных (катастрофических) событиях в системе.
Маскируемые — предназначены для фиксации запросов от различных периферийных устройств (например, клавиатуры) — вход INTR.
Внутренние прерывания также делятся на две группы: программные прерывания и прерывания в особой ситуации (или исключения), которые возникают при ненормальном внутреннем состоянии микропроцессора, возникшем при обработке некоторой команды программы (например, прерывание из-за ошибки при делении, если возникает условие деления на нуль), или при попытке выполнить несуществующую команду.
Программные прерывания — это планируемые прерывания, так как с их помощью программист обращается в нужное для него время за обслуживанием своих запросов к операционной системе или к BIOS, или к собственным программам обработки прерываний.
Этот вид прерываний обрабатывается командой INT xx, где xx — номер прерывания.
Обработка прерываний в реальном режиме как внешних, так, и внутренних производится в три этапа:
1. прекращение выполнения текущей программы;
2. переход к выполнению программы обработки прерывания;
3. возврат управления прерванной программе.
Все возможные прерывания нумеруются числами от 0 до 255.
Для каждого прерывания есть своя процедура обработки прерывания.
В самом начале компьютерной памяти находится специальная таблица — таблица векторов прерываний, которая содержит адреса всех программ обработки прерываний. Номер прерывания используется для включения соответствующей программы обработки прерывания.
Перед тем, как такая программа начнёт свою работу, механизм микропроцессора, отвечающий за обработку прерывания, оставляет запись в стеке о том, какая работа производилась до прерывания.
Для этого микропроцессор заносит в стек текущее содержимое трёх регистров: CS, IP, регистра флагов. (CS и IP — полный адрес возврата в прерванную программу).
Когда обработчик прерываний закончит свою работу, он должен возобновить работу прерванной программы. Для этого из стека считываются три слова и восстанавливаются по ним регистры CS, IP и регистр флагов.
Для осуществления этих действий используется команда IRET — “возврат из прерывания”.
Описанные действия микропроцессором выполняются совершенно одинаково для всех видов прерываний.
Далее процессор загружает CS и IP из соответствующего вектора прерываний, осуществляя, тем самым, переход на обработчик прерывания связанный с этим вектором.
Краткая выдержка из таблицы векторов
00h — внутреннее прерывание, деление на 0;
01h — внутреннее прерывание, пошаговое выполнение (при TF=1);
02h — немаскируемое прерывание (выводит NMI процессора);
08h — аппаратное прерывание от системного таймера;
09h — аппаратное прерывание от клавиатуры;
0Eh — аппаратное прерывание от гибкого диска;
13h — программное прерывание, программы BIOS управление дисками;
16h — программное прерывание, программы BIOS управления клавиатур;
21h — программное прерывание, диспетчер функций DOS;
22h — программное прерывание, адрес перехода при завершении процесса, используемый DOS;
25h — программное прерывания, абсолютное чтение диска (функция DOS);
26h — программное прерывание, абсолютная запись на диск (функция DOS);
60h …66h — зарезервировано для программных прерываний пользователя;
68h …6Fh — программные прерывания, свободные векторы;
70h — аппаратное прерывание от часов реального времени (с питанием от аккумулятора);
76h — аппаратное прерывание от жёсткого диска;
Системные программы, адреса которых хранятся в векторах прерываний, в большинстве своем являются всего лишь диспетчерами, открывающими доступ к большим группам программ, реализующих системные функции.
Особенно характерен в этом отношении вектор 21H, через который осуществляется вызов практически всех функций DOS: ввода с клавиатуры и вывода на экран и т.д.
Для вызова требуемой функции надо не только выполнить команду INT с соответствующим номером, но и указать системе в одном из регистров (для этой цели всегда используется регистр AH) номер вызываемой функции, в другие регистры — исходные данные, после чего выполнить команду INT 21H, которая передает управление DOS.
Например, вывод на экран строки текста можно осуществить функцией 09H, которая требует, чтобы в регистрах DS:DX содержался полный адрес выводимой строки. (Регистр DS-начальный адрес сегмента данных, а в регистр DX-заносится относительный адрес строки). Длина выводимой строки не указывается, так как функция 09H DOS выводит на экран строку от указанного адреса до символа доллара $.
Для завершения программы используется функция DOS с номером 4CH. Эта функция предполагает, что в регистре AL находится код завершения программы, который она передает DOS. Если программа завершилась успешно, код завершения должен быть равен 0, поэтому мы в одном предложении MOV AX, 4C00H загружаем в AH 4CH, а в Al — 0 и вызываем DOS командой INT 21H.
6.6 Команды ввода/вывода
Любые микропроцессорные системы должны иметь в системе своих команд команды вода/вывода с внешних устройств. Для данного семейства таких команд две – ввод из внешнего порта – IN и вывод во внешний порт – OUT.
Здесь первый операнд, в который записывается или откуда считывается соответственно вводимое или выводимое значение – это регистр-аккумулятор – AL или AX. Адрес порта, в который вводится или откуда считывается значение, является вторым операндом и в данной команде им может быть или 8-ми разрядная константа, или содержимое регистра DX. Следует помнить, что в первом случае команды можно адресовать только такие порты ввода/вывода, адрес которых находится в пределах от 0 до 256, при этом старшие биты адреса устанавливаются в 0. Во втором случае, при использовании регистра DX, можно адресовать порты ввода/вывода во всём адресном пространстве таких устройств.
Эти команды не изменяют состояния флагов микропроцессора.
Источник: studopedia.su
Программные и аппаратные прерывания.
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.
Т.е. это процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возвратом к прерванной программе.
Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так наз. обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.
Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.
Механизм прерываний поддерживается на аппаратном уровне.
В зависимости от источника, прерывания делятся на
· аппаратные — возникают как реакция микропроцессора на физический сигнал от некоторого устройства (клавиатура, системные часы, клавиатура, жесткий диск и т.д.), по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные моменты времени;
· программные — вызываются искусственно с помощью соответствующей команды из программы (int), предназначены для выполнения некоторых действий операционной системы., являются синхронными;
· исключения — являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы.
По другой классификации прерывания делятся на
· внешние — вызываются внешними по отношению к микропроцессору событиями
(по существу — это группа аппаратных прерываний) Вложенных прерываний нет!
· внутренние — возникают внутри микропроцессора во время вычислительного процесса (по существу — это исключительные ситуации и программные прерывания).
Система прерываний — это совокупность программных и аппаратных средств, реализующих механизм прерываний.
К аппаратным средствам системы прерываний относятся:
· выводы микропроцессора (INTR, INTA, NMI) /// это доп. материал
· программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; он выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15 плюс одно немаскируемое прер.; именно он формирует номер вектора прерывания и выдает его шину данных);
К программным средствам системы прерываний Реального режима относятся:
· таблица векторов прерываний. Первый килобайт ОП (адреса 00000h-003FFh) занимает таблица векторов прерываний. Она содержит адреса (векторы) обработчиков прерываний и состоит из 256 (0..255) элементов по 4 байта каждый.
· два флага в регистре флагов flags/eflags:
· IF (Interrupt Flag) — флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует;
· TF(Trace Flag) — флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1;
· машинные команды микропроцессора: int, into, iret, cli, sti
Дисковые накопители. Принцип функционирования. Типы разметки поверхности магнитного диска. Параметры диска.
HDD
Накопи́тель на жёстких магни́тных ди́сках, НЖМД, жёсткий диск, хард, харддиск, HDD, HMDD или винче́стер, (англ. Hard (Magnetic) Disk Drive, HDD, HMDD) — энергонезависимое, перезаписываемое компьютерное запоминающее устройство. Является основным накопителем данных практически во всех современных компьютерах.
В отличие от «гибкого» диска (дискеты), информация в НЖМД записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного материала, чаще всего двуокиси хрома. В некоторых НЖМД используется одна пластина, в других — несколько на одной оси. Считывающие головки в рабочем режиме не касаются поверхности пластин благодаря прослойке набегающего потока воздуха, образуемого у поверхности при быстром вращении. Расстояние между головкой и диском составляет несколько нанометров (в современных дисках 5-10 нм), а отсутствие механического контакта обеспечивает долгий срок службы устройства. При отсутствии вращения дисков, головки находятся у шпинделя или за пределами диска в безопасной зоне, где исключён их нештатный контакт с поверхностью дисков.
Интерфейс (англ. interface) — набор, состоящий из линий связи, сигналов, посылаемых по этим линиям, технических средств, поддерживающих эти линии, и правил обмена.
Ёмкость (англ. capacity) — количество данных, которые могут храниться накопителем.
Физический размер (форм-фактор) (англ. dimension) — почти все современные (2001—2008 года) накопители для персональных компьютеров и серверов имеют размер либо 3,5, либо 2,5 дюйма.
Время произвольного доступа (англ. random access time) — время, за которое винчестер гарантированно выполнит операцию чтения или записи на любом участке магнитного диска.
Скорость вращения шпинделя (англ. spindle speed) — количество оборотов шпинделя в минуту.
Надёжность (англ. reliability) — определяется как среднее время наработки на отказ (Mean Time Between Failures, MTBF).
Количество операций ввода-вывода в секунду — у современных дисков это около 50 оп./сек при произвольном доступе к накопителю и около 100 оп./сек при последовательном доступе.
Потребление энергии — важный фактор для мобильных устройств.
Уровень шума — шум, который производит механика накопителя при его работе. Указывается в децибелах. Тихими накопителями считаются устройства с уровнем шума около 26 дБ и ниже. Шум состоит из шума вращения шпинделя (в том числе аэродинамического) и шума позиционирования.
Объём буфера: Буфером называется промежуточная память, предназначенная для сглаживания различий скорости чтения/записи и передачи по интерфейсу. В современных (2008 год) HDD он обычно варьируется от 8 до 32 Мб.
Жёсткий диск состоит из гермозоны и блока электроники. Гермозона включает в себя корпус из прочного сплава, собственно диски (пластины) с магнитным покрытием, блок головок с устройством позиционирования, электропривод шпинделя.
Блок головок — пакет рычагов из пружинистой стали (по паре на каждый диск). Одним концом они закреплены на оси рядом с краем диска. На других концах (над дисками) закреплены головки.
Диски (пластины), как правило, изготовлены из металлического сплава.
Диски жёстко закреплены на шпинделе. Во время работы шпиндель вращается со скоростью несколько тысяч оборотов в минуту (4200, 5400, 7200, 10 000, 15 000).
Устройство позиционирования головок состоит из неподвижной пары сильных, как правило неодимовых, постоянных магнитов и катушки на подвижном блоке головок.
Вопреки расхожему мнению, внутри гермозоны нет вакуума. Одни производители делают её герметичной (отсюда и название) и заполняют очищенным и осушенным воздухом или нейтральными газами, в частности, азотом; а для выравнивания давления устанавливают тонкую металлическую или пластиковую мембрану.
На заключительном этапе сборки устройства поверхности пластин форматируются — на них формируются дорожки и сектора.
Границы зон и количество секторов на дорожку для каждой зоны хранятся в ПЗУ блока электроники.
Кроме того, в действительности на каждой дорожке есть дополнительные резервные сектора. Если в каком либо секторе возникает неисправимая ошибка, то этот сектор может быть подменён резервным (remapping). Конечно, данные, хранившиеся в нём, будут потеряны, но ёмкость диска не уменьшится. Существует две таблицы переназначения: одна заполняется на заводе, другая в процессе эксплуатации.
Блок электроники
В ранних жёстких дисках управляющая логика была вынесена на MFM или RLL контроллер компьютера, а плата электроники содержала только модули аналоговой обработки и управление шпиндельным двигателем, позиционером и коммутатором головок. Увеличение скоростей передачи данных вынудило разработчиков уменьшить до предела длину аналогового тракта, и в современных жёстких дисках блок электроники обычно содержит: управляющий блок, постоянное запоминающее устройство (ПЗУ), буферную память, интерфейсный блок и блок цифровой обработки сигнала.
Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.).
ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования.
Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем.
ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры.
Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
Источник: zdamsam.ru