Сегментная структура программ
Развитие логического мышления на уроках информатики. Построение модели контроллера, организация доступа к регистрам. Изучение структуры процессора современных компьютеров. Реализация механизма программных прерываний. Система ввода-вывода информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 25.05.2017 |
Размер файла | 22,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Лекция
Предмет: Основы микропроцессорной техники
Тема занятия: Сегментная структура программ
Введение
Цели занятия:
Образовательная: ознакомить учащихся с новыми устройствами
Развивающая: развивать умение и навыки, логическое мышление учащихся
Воспитательная: воспитать чувствовать ответственности, аккуратности к оборудованию, любовь к выбранной профессии, к выполняемой работе
Межпредметные связи: Обеспечиваемые основы алгоритмизации и программирования, объектно-ориентированное программирование
Обеспечивающие: Математика, информатика
Обеспечение занятия
А. Наглядные пособия |
стенды, плакаты |
|
Б. Раздаточный материал |
опорный конспект, учебно-методическое пособие |
|
В. ТСО |
компьютер, интерактивная доска |
Литература |
Основная: Черненко В.Д. Высшая математика в примерах и задачах. 1-том. Учебное пособие, СПб:-2003Б.П. Москва, 1966 |
|
Дополнительная: Демидович, И.А.Марон Основы вычислительной математики. Учебное пособие, издательство «Наука», |
Структура занятия
Время (минут) |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
|
№ элементов |
I |
II |
II |
II |
II |
II |
III |
III |
III |
III |
III |
III |
III |
III |
III |
IV |
IV |
V |
|
Использов. НП и др. |
Содержание занятия
I. Организационный момент
- Подготовка учащихся к уроку
- Проверка учащихся по списку
- Подготовка ТСО
II. Повторение домашнего задания
1. Что такое сегментный адрес?
2. Что такое Стек?
3. регистр флагов и где оно используется?
III. Объяснение нового материала
Контроллеры устройств ввода-вывода весьма различны как по своему внутреннему строению, так и по исполнению (от одной микросхемы до специализированной вычислительной системы со своим процессором, памятью и т. д.), поскольку им приходится управлять совершенно разными приборами.
Не вдаваясь в детали этих различий, мы выделим некоторые общие черты контроллеров, необходимые им для взаимодействия с вычислительной системой. Обычно каждый контроллер имеет по крайней мере четыре внутренних регистра, называемых регистрами состояния , управления, входных данных и выходных данных.
Для доступа к содержимому этих регистров вычислительная система может использовать один или несколько портов, что для нас не существенно. Для простоты изложения будем считать, что каждому регистру соответствует свой порт.
Регистр состояния содержит биты, значение которых определяется состоянием устройства ввода-вывода и которые доступны только для чтения вычислительной системой. Эти биты индицируют завершение выполнения текущей команды на устройстве ( бит занятости ), наличие очередного данного в регистре выходных данных ( бит готовности данных ), возникновение ошибки при выполнении команды ( бит ошибки ) и т. д.
Регистр управления получает данные, которые записываются вычислительной системой для инициализации устройства ввода-вывода или выполнения очередной команды, а также изменения режима работы устройства. Часть битов в этом регистре может быть отведена под код выполняемой команды, часть битов будет кодировать режим работы устройства, бит готовности команды свидетельствует о том, что можно приступить к ее выполнению.
Регистр выходных данных служит для помещения в него данных для чтения вычислительной системой, а регистр входных данныхпредназначен для помещения в него информации, которая должна быть выведена на устройство. Обычно емкость этих регистров не превышает ширину линии данных (а чаще всего меньше ее), хотя некоторые контроллеры могут использовать в качестве регистров очередь FIFO для буферизации поступающей информации.
Разумеется, набор регистров и составляющих их битов приблизителен, он призван послужить нам моделью для описания процесса передачи информации от вычислительной системы к внешнему устройству и обратно, но в том или ином виде он обычно присутствует во всех контроллерах устройств. логический информация компьютер регистр
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы. Построив модель контроллера и представляя себе, что скрывается за словами "прочитать информацию из порта" и "записать информацию в порт", мы готовы к рассмотрению процесса взаимодействия устройства и процессора.
Как и в предыдущих случаях, примером нам послужит команда записи, теперь уже записи или вывода данных на внешнее устройство. В нашей модели для вывода информации, помещающейся в регистр входных данных, без проверки успешности вывода процессор и контроллер должны связываться следующим образом.
1. Процессор в цикле читает информацию из порта регистра состояний и проверяет значение бита занятости. Если бит занятостиустановлен, то это означает, что устройство еще не завершило предыдущую операцию, и процессор уходит на новую итерацию цикла. Если бит занятости сброшен, то устройство готово к выполнению новой операции, и процессор переходит на следующий шаг.
2. Процессор записывает код команды вывода в порт регистра управления.
3. Процессор записывает данные в порт регистра входных данных.
4. Процессор устанавливает бит готовности команды. В следующих шагах процессор не задействован.
5. Когда контроллер замечает, что бит готовности команды установлен, он устанавливает бит занятости.
6. Контроллер анализирует код команды в регистре управления и обнаруживает, что это команда вывода. Он берет данные из регистра входных данных и инициирует выполнение команды.
7. После завершения операции контроллер обнуляет бит готовности команды.
8. При успешном завершении операции контроллер обнуляет бит ошибки в регистре состояния, при неудачном завершении команды - устанавливает его.
9. Контроллер сбрасывает бит занятости.
При необходимости вывода новой порции информации все эти шаги повторяются. Если процессор интересует, корректно или некорректно была выведена информация, то после шага 4 он должен в цикле считывать информацию из порта регистра состояний до тех пор, пока не будет сброшен бит занятости устройства, после чего проанализировать состояние бита ошибки.
Как видим, на первом шаге (и, возможно, после шага 4) процессор ожидает освобождения устройства, непрерывно опрашивая значение бита занятости. Такой способ взаимодействия процессора и контроллера получил название polling или, в русском переводе, способа опроса устройств. Если скорости работы процессора и устройства ввода-вывода примерно равны, то это не приводит к существенному уменьшению полезной работы, совершаемой процессором. Если же скорость работы устройства существенно меньше скорости процессора, то указанная техника резко снижает производительность системы и необходимо применять другой архитектурный подход.
Для того чтобы процессор не дожидался состояния готовности устройства ввода-вывода в цикле, а мог выполнять в это время другую работу, необходимо, чтобы устройство само умело сигнализировать процессору о своей готовности. Технический механизм, который позволяет внешним устройствам оповещать процессор о завершении команды вывода или команды ввода, получил название механизма прерываний .
В простейшем случае для реализации механизма прерываний необходимо к имеющимся у нас шинам локальной магистрали добавить еще одну линию, соединяющую процессор и устройства ввода-вывода - линию прерываний.
По завершении выполнения операции внешнее устройство выставляет на эту линию специальный сигнал, по которому процессор после выполнения очередной команды (или после завершения очередной итерации при выполнении цепочечных команд, т. е. команд, повторяющихся циклически со сдвигом по памяти) изменяет свое поведение. Вместо выполнения очередной команды из потока команд он частично сохраняет содержимое своих регистров и переходит на выполнение программы обработки прерывания, расположенной по заранее оговоренному адресу.
При наличии только одной линии прерываний процессор при выполнении этой программы должен опросить состояние всех устройств ввода-вывода, чтобы определить, от какого именно устройства пришло прерывание ( polling прерываний!), выполнить необходимые действия (например, вывести в это устройство очередную порцию информации или перевести соответствующий процесс из состояния ожидание в состояние готовность ) и сообщить устройству, что прерывание обработано (снять прерывание ).
В большинстве современных компьютеров процессор стараются полностью освободить от необходимости опроса внешних устройств, в том числе и от определения с помощью опроса устройства, сгенерировавшего сигнал прерывания. Устройства сообщают о своей готовности процессору не напрямую, а через специальный контроллер прерываний, при этом для общения с процессором он может использовать не одну линию, а целую шину прерываний.
Каждому устройству присваивается свой номер прерывания, который при возникновении прерывания контроллер прерывания заносит в свой регистр состояния и, возможно, после распознавания процессором сигнала прерывания и получения от него специального запроса выставляет на шину прерываний или шину данных для чтения процессором.
Номер прерывания обычно служит индексом в специальной таблице прерываний, хранящейся по адресу, задаваемому при инициализации вычислительной системы, и содержащей адреса программ обработки прерываний - векторы прерываний. Для распределения устройств по номерам прерываний необходимо, чтобы от каждого устройства к контроллеру прерываний шла специальная линия, соответствующая одному номеру прерывания.
При наличии множества устройств такое подключение становится невозможным, и на один проводник (один номер прерывания ) подключается несколько устройств. В этом случае процессор при обработке прерывания все равно вынужден заниматься опросом устройств для определения устройства, выдавшего прерывание, но в существенно меньшем объеме. Обычно при установке в систему нового устройства ввода-вывода требуется аппаратно или программно определить, каким будет номер прерывания, вырабатываемый этим устройством.
Рассматривая кооперацию процессов и взаимоисключения, мы говорили о существовании критических секций внутри ядра операционной системы, при выполнении которых необходимо исключить всякие прерывания от внешних устройств.
Для запрещения прерываний, а точнее, для невосприимчивости процессора к внешним прерываниям обычно существуют специальные команды, которые могут маскировать (запрещать) все или некоторые из прерываний устройств ввода-вывода. В то же время определенные кризисные ситуации в вычислительной системе (например, неустранимый сбой в работе оперативной памяти) должны требовать ее немедленной реакции. Такие ситуации вызывают прерывания, которые невозможно замаскировать или запретить и которые поступают в процессор по специальной линии шины прерываний, называемой линией немаскируемых прерываний (NMI - Non-Maskable Interrupt).
Не все внешние устройства являются одинаково важными с точки зрения вычислительной системы ("все животные равны, но некоторые равнее других"). Соответственно, некоторые прерывания являются более существенными, чем другие. Контроллер прерываний обычно позволяет устанавливать приоритеты для прерываний от внешних устройств. При почти одновременном возникновении прерываний от нескольких устройств (во время выполнения одной и той же команды процессора) процессору сообщается номер наиболее приоритетного прерывания для его обслуживания в первую очередь.
Менее приоритетное прерывание при этом не пропадает, о нем процессору будет доложено после обработки более приоритетного прерывания. Более того, при обработке возникшего прерывания процессор может получить сообщение о возникновении прерывания с более высоким приоритетом и переключиться на его обработку.
Механизм обработки прерываний, по которому процессор прекращает выполнение команд в обычном режиме и, частично сохранив свое состояние, отвлекается на выполнение других действий, оказался настолько удобен, что зачастую разработчики процессоров используют его и для других целей. Хотя эти случаи и не относятся к операциям ввода-вывода, мы вынуждены упомянуть их здесь, для того чтобы их не путали с прерываниями. Похожим образом процессор обрабатывает исключительные ситуации и программные прерывания.
Для внешних прерываний характерны следующие особенности.
· Внешнее прерывание обнаруживается процессором между выполнением команд (или между итерациями в случае выполнения цепочечных команд).
· Процессор при переходе на обработку прерывания сохраняет часть своего состояния перед выполнением следующей команды.
· Прерывания происходят асинхронно с работой процессора и непредсказуемо, программист никоим образом не может предугадать, в каком именно месте работы программы произойдет прерывание.
Исключительные ситуации возникают во время выполнения процессором команды. К их числу относятся ситуации переполнения, деления на ноль, обращения к отсутствующей странице памяти и т. д. Для исключительных ситуаций характерно следующее.
· Исключительные ситуации обнаруживаются процессором во время выполнения команд.
· Процессор при переходе на выполнение обработки исключительной ситуации сохраняет часть своего состояния перед выполнением текущей команды.
· Исключительные ситуации возникают синхронно с работой процессора, но непредсказуемо для программиста, если только тот специально не заставил процессор делить некоторое число на ноль.
Программные прерывания возникают после выполнения специальных команд, как правило, для выполнения привилегированных действий внутри системных вызовов. Программные прерывания имеют следующие свойства.
· Программное прерывание происходит в результате выполнения специальной команды.
· Процессор при выполнении программного прерывания сохраняет свое состояние перед выполнением следующей команды.
· Программные прерывания, естественно, возникают синхронно с работой процессора и абсолютно предсказуемы программистом.
IV. Домашнее Задание
1. Что такое контроллер?
2. Система прерывание и их виды?
3. Система ввода-вывода и локальные вводы-выводы?
V. Заключение занятия и оценка
Размещено на Allbest.ru
...Подобные документы
Создание и компиляция программ на ассемблере. Структура программ, использование специальных директив резервирования и инициализации данных. Организация ввода-вывода на ассемблере и организация вычислений. Команды передачи управления и обработки строк.
методичка [104,8 K], добавлен 02.12.2009Проектирование механизма обработки прерываний. Контроллер прерываний Intel 82C59A. Ввод-вывод по прерыванию. Программируемый контроллер интерфейса Intel 82C55A. Роль процессора в обработке прерывания ввода-вывода. Обзор алгоритма обработки прерывания.
контрольная работа [8,0 M], добавлен 19.05.2010Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.
курсовая работа [3,7 M], добавлен 24.06.2013Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.
курсовая работа [348,7 K], добавлен 22.12.2014Изучение сущности, функций и основных задач центрального процессора - микросхемы, исполнителя машинных инструкций (кода программ), главной части аппаратного обеспечения компьютера или программируемого логического контроллера. Основные характеристики.
контрольная работа [18,5 K], добавлен 26.12.2010Принципы организации и особенности обработки прерываний на основе контроллера 8259A. Общая характеристика аппаратных средств системы прерываний PIC (Programmable Interrupt Controller). История разработки и порядок работы с технологией Plag and Play.
курсовая работа [305,1 K], добавлен 29.07.2010Характеристики системной шины ISA. Проектирование устройств ввода/вывода для нее. Принципы построения и программирование модулей шины. Особенности использования прерываний. Применение прямого доступа. Процедуры инициализации системы ПДП.
методичка [812,0 K], добавлен 14.07.2012Введение в API-программирование. Структура API-программ. Организация ввода-вывода в консольном приложении Windows. Организация низкоуровнего консольного ввода-вывода. Расширенная поддержка клавиатуры в консоли. Поддержка работы с мышью в консоли.
курсовая работа [91,0 K], добавлен 10.02.2015Принципы программного управления компьютером. Модульная и функциональная организация, аппаратная реализация электронно-вычислительной машины. Назначение устройств ввода и вывода информации. Функции процессора; устройства внутренней и внешней памяти.
презентация [2,2 M], добавлен 27.11.2013Использование программой функции ввода-вывода данных для реализации дружественного интерфейса с пользователем. Функции консоли и особенности их применения для обеспечения аккуратного ввода информации и упорядоченного вывода. Обзор стандартных функций.
лабораторная работа [40,4 K], добавлен 06.07.2009История развития информатики и вычислительной техники. Общие принципы архитектуры ПЭВМ, ее внутренние интерфейсы. Базовая система ввода-вывода. Материнская плата. Технологии отображения и устройства хранения информации. Объем оперативной памяти.
презентация [9,3 M], добавлен 26.10.2013Основные направления информатики. Единицы измерения информации. Принципы построения компьютеров, сформулированные Джоном Нейманом. Функции центрального процессора. Устройства, образующие внутреннюю и внешнюю память. Классификация компьютерных сетей.
лекция [46,0 K], добавлен 10.04.2014Элементы и классификация компьютеров. Представление информации, устройства ввода и вывода. Специфика программного обеспечения и организация файлов на дисках. Программно-методический комплекс для изучения архитектуры ЭВМ на базе учебной модели "Нейман".
курсовая работа [253,3 K], добавлен 23.04.2011Последовательность активных фаз процессора и фаз ввода-вывода. Гистограмма периодов активности процессора. Стратегия обслуживания в порядке поступления и обслуживания самого короткого задания первым. Реализация стратегии диспетчеризации для приложений.
курсовая работа [507,1 K], добавлен 11.05.2012Изучение подсистемы ввода-вывода и файловой системы ОС семейства Windows NT. Анализ особенностей работы приложения TotalCommander и его взаимодействия с файловой системой и подсистемой ввода-вывода. Взаимодействие TotalCommander с сетевыми адаптерами.
лабораторная работа [1,1 M], добавлен 12.06.2012Структура процессора Pentium, суперскалярность, основные особенности архитектуры. Организация конвейера команд, правила объединения. Дополнительные режимы работы процессора. Источники аппаратных прерываний. Формат ММХ команды. Процессор Pentium 4, схемы.
лекция [4,0 M], добавлен 14.12.2013Набор программ и драйверов, обеспечивающих взаимодействие программ с аппаратным оборудованием компьютера, базовые возможности для ввода команд пользователем. Системы счисления. Количество байт в килобайте. Основные характеристики центрального процессора.
тест [13,1 K], добавлен 12.04.2014Понятие и функциональные особенности программируемого логического контроллера, внутренняя структура и взаимосвязь элементов данного устройства. Advantech - контроллеры и модули ввода / вывода, ПТК КОНТАР производства МЗТА, ОВЕН (ПЛК ОВЕН), Сегнетикс.
реферат [1,5 M], добавлен 22.03.2014Общий вид вычислительной системы. Начальная последовательность действий. Элементы организации основных блоков ЭВМ. Архитектурная организация процессора ЭВМ. Организация систем адресации и команд ЭВМ. Система внешних устройств. Средства вывода информации.
курсовая работа [39,5 K], добавлен 28.01.2012Ознакомление с педпосылками интеграции изучения средств информатики. Развитие логического и алгоритмического мышления при изучении информатики. Описание компьютерной технологии обучения. Использование здоровьесберегающих технологий для детского здоровья.
контрольная работа [29,1 K], добавлен 26.02.2015