- •1. Архитектурные принципы фон Неймана.
- •2. Структура фон-неймановской вычислительной машины.
- •3. Понятие организации и архитектуры.
- •4. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода/вывода.
- •5.Организация микропроцессорной системы (мпс): магистрально-модульный принцип организации мпс, основные классы микропроцессорных средств. Микропроцессорная система (мпс)
- •6. Типовые структуры мпс: магистральная, магистрально-каскадная, магистрально-радиальная.
- •7.Шинная организация микропроцессорных систем: с одной шиной, с двумя видами шин, с тремя видами шин.
- •8. Характеристики микропроцессоров.
- •9. Организация магистрали микропроцессорной системы. Трехшинная магистраль с раздельными шинами передачи адреса и данных.
- •10. Циклы обращения к магистрали.
- •11. Организация обращения к магистрали с синхронным доступом.
- •12. Организация обращения к магистрали с асинхронным доступом.
- •13. Совмещение адресной шины и шины данных. Двухшинная магистраль с совмещенными шинами адреса/данных.
- •14. Механизм пакетной передачи данных по системной магистрали.
- •15. Архитектура подсистемы памяти микропроцессорной системы. Характеристики подсистемы памяти микропроцессорной системы
- •16. Адресная память (запоминающие устройства с произвольным доступом).
- •17. Ассоциативная память.
- •18. Стековая память.
- •19. Основная память: блочная, циклическая и блочно-циклическая схемы организации основной памяти.
- •20. Кэш-память. Принципы кэширования памяти.
- •21. Способы отображения основной памяти на кэш-память. Архитектуры кэш-памяти.
- •22.Алгоритмы замещения информации в заполненной кэш-памяти.
- •23.Алгоритмы согласования содержимого кэш-памяти и основной памяти.
- •24.Концепция виртуальной памяти.
- •25.Страничная организация виртуальной памяти.
- •26.Сегментная организация виртуальной памяти. Комбинированная сегментно- страничная организация виртуальной памяти.
- •27.Архитектура подсистемы ввода/вывода микропроцессорной системы.
- •28.Организация прерываний в микропроцессорной системе.
- •29.Радиальная система прерываний.
- •30. Векторная система прерываний.
- •31.Организация прямого доступа к памяти в микропроцессорной системе.
- •32.Аккумуляторная архитектура микропроцессоров.
- •33.Регистровая архитектура микропроцессоров.
- •34. Архитектура микропроцессоров с выделенным доступом к памяти.
- •35.Стековая архитектура микропроцессоров.
- •36.Классификация команд микропроцессоров.
- •37.Структура (форматы) команд микропроцессоров.
- •38. Регистровые структуры микропроцессоров
- •39. Адресация данных в микропроцессорах: представление адресной информации, способы адресации.
- •40.Управление памятью в микропроцессорах: линейная и сегментная адресации, преобразование логических адресов в физические, управление виртуальной памятью.
- •41.Защита памяти в микропроцессорах: механизмы защиты, концепция привилегий.
- •42.Поддержка операционной системы в микропроцессорах.
- •43.Специальные прерывания (особые случаи, исключения) в микропроцессорах.
- •44.Мультипрограммный режим работы микропроцессоров.
- •45.Структурная организация однокристальных микроконтроллеров (на примере 8- разрядных микроконтроллеров): модульный принцип построения, типы процессорных ядер.
- •46.Резидентная (внутренняя) память микроконтроллеров.
- •47.Периферийные устройства микроконтроллеров: параллельные порты ввода/вывода, таймеры и процессоры событий, интерфейсы последовательного ввода/вывода.
- •48.Основы организации интерфейсов микропроцессорных систем.
- •49.Классификация интерфейсов.
- •50.Организация параллельной передачи данных.
- •51.Организация последовательной передачи данных.
- •52.Основы проектирования микропроцессорных систем: цикл проектирования мпс, средства разработки и отладки мпс.
43.Специальные прерывания (особые случаи, исключения) в микропроцессорах.
Помимо обработки системного вызова в системном режиме осуществляется обработка запросов прерывания от периферийных устройств.
Прерывания (interruption) – это штатные ситуации, возникающие при поступлении соответствующих команд (программные прерывания) или внешних запросов (аппаратные прерывания).
Кроме того, с помощью ОС удобно осуществлять обработку отказов аппаратуры и обработку ошибок программного обеспечения, т.е. нештатных ситуаций (ошибок), возникающих при работе процессора. Такие нештатные ситуации называют исключениями (exeption), а их обработку с помощью ОС путем автоматического переходав системный режим в ходе выполнения прикладной программы в пользовательском режиме – обработкой специального прерывания или прерывания при возникновении непредусмотренной (исключительной) ситуации. Действия при переходе к такой обработке общие для всех случаев и аналогичны действиям, выполняемым при переходе к обработке прерываний.
Исключения делятся на ошибки (faults), ловушки (traps) и отказы (aborts).
Ошибки выявляются и обслуживаются до выполнения команды, которая является причиной их возникновения.Примером ошибки может служить ситуация, возникающая при обращении очередной командык сегменту, отсутствующим в основной памяти. В этом случае в качестве адреса возврата к прерванной программе сохраняется адрес команды, выполнение которой вызвало данное исключение.
Ловушка – это исключение,которое выявляетсяпосле выполнения команды. Примером ловушки может служить команда INTO в МП Intel 80x86, которая реализует исключение с номером n=4 в случае, если в регистре флагов значениепризнака переполнения OF=1. При обслуживании ловушки в качестве адреса возврата сохраняется адрес команды, следующей за командой, вызвавшей данное исключение.
Ошибки и ловушки предусматривают продолжение нормального выполнения программы после завершения их обслуживания. Отказы сообщают о возникновении серьезных нарушений в работе системы. Примером таких нарушений может быть неисправность аппаратуры или возникновение исключения при обслуживании ранее поступившего запроса. Отказ не предусматривает продолжение выполнения прерванной программы, поэтому при его возникновении обычно производится повторный запуск процессора.
44.Мультипрограммный режим работы микропроцессоров.
Под задачей понимается процесс обработки информации. В МП процесс обработки информации реализуется путем выполнения последовательности команд программы, т.е задаче соответствует выполняемая процессором программа, которая называется процессом. Многозадачностью называется такой способ организации работы системы, при котором в ее памяти одновременно содержатся программы и данные для выполнения нескольких задач. Параллельное (одновременное) выполнение нескольких процессов (задач) называется мультипрограммным режимом. Другими словами, мультипрограммный режим – это такой режим работы МП, в котором реализуется мультизадачность.
Мультизадачность имеет несколько достоинств:
лучшее использование МП. Мультизадачностьповышает производительность системы, если каждая отдельная задача не захватывает МП полностью. Процессор может выбрать из ожидающих задачновую задачу, если выполнение текущей задачи заблокировано;
обеспечение надежности. В системе могут быть автономные, не связанныедруг с другом функции. Оформлениеэтих функции в виде задач позволяет исключить нежелательные воздействия между ними за счет ограничения действия ошибок управляемой областью, которой является задача;
упрощение отладки, разработки и сопровождение программ. Обеспечивается наличие четких границ (интерфейсов) между задачами в системе.
Однозадачная архитектура поддерживает только один процесс, т.е. однопрограммный режим, так как процессор в каждый момент времени может выполнять команды только одной программы. При этом команды любой другой программы не выполняются.
Мультизадачная архитектура фактически поддерживает несколько процессов, т.е. мультипрограммный режим. В этом режиме команды всех задач выполняются с использованием процессора в режиме разделения времени. При этом выполнение задачи может быть приостановлено на любой команде, поэтому необходимо обеспечить ее перезапуск. Каждой задаче отводится отдельная область памяти (рис. 69), в том числе и стек для хранения всех данных, используемых в задаче. Кроме того, в памяти предусмотрены ячейки для хранения содержимого программного счетчика, регистра состояния и регистров общего назначения процессора.
Рисунок 69 – Распределение памяти между задачами
Когда выполнение задачи приостанавливается, в эти ячейки помещаются значения содержимого этих регистров, в регистры загружаются значения, соответствующие новой задаче,после чего начинается выполнение задачи. При возобновлении выполнения задачи содержимое этих ячеек пересылается в программный счетчик, регистр состояния и РОН процессора, после чего выполнение задачи продолжается. Совокупность этих ячеек называется блоком управления задачей. Обычно помимо содержимогоуказанных регистров в них может храниться и другая информация.
Таким образом, мультипрограммный режим реализуется путем переключения процессора с одной задачи па другую. Однако в любой момент времени процессор выполняеттолько одну задачу – она является активной, а все остальные задачи в системе пассивны.
Возможные состояния задачи можно разделить в на дватипа: пассивное и активное. Активное состояние подразделяется на состояния выполнения, готовности и ожидания. Эти состояния характеризуются следующими свойствами:
пассивное состояние. Запуск еще не производился или работауже завершена;
состояние выполнения (прогона). Выполняются команды программы;
состояние готовности. Возможно выполнение любой команды (в ходе выполнения процессором команд другой задачи);
состояние ожидания. Ожидается генерация некоторых условий, например возникновение прерывания. До генерации этого условия следующую команду выполнять нельзя.
В ОС должны быть предусмотрены программа управления задачей, которая управляет переходом задачи из одного состояния в другое. Переход осуществляется по диаграмме, показанной на рис. 70
Рисунок 70 – Диаграмма изменения состояний задачи
При запуске задачи с помощью системного вызова (СТАРТ) устанавливается состояние готовности. В большинстве задач в этом состоянии ожидается начало выполнения команд. Если в задаче, находящейся в состоянии выполнения, происходит обращение к команде, выполнение которой возможно после генерации некоторых условий, выполнение приостанавливается, и задача с помощью системного вызова (ОЖИДАНИЕ) переходит в состояние ожидания. Из состояния ожидания задача переходит в состояние готовности, если генерируется ожидаемое задачей условие. Когда выполнение команд полностью закончено, задача с помощью системного вызова (ОКОНЧАНИЕ) переходит в пассивное состояние. В обоих случаях, когда задача переходит из состояния выполнения в состояние ожидания или пассивное состяние, выбирается одна из задач, находящихся в состоянии готовности, и переводится в состояние выполнения.
Выбор задачи зависит от стратегии планирования выполнения задач, реализуемой программой управления задачей. Существуют различные стратегии планирования выполнения задач. Широко используется метод, по которому первой выбирается задача, находившаяся в состоянии выполнения непосредственно перед последней выполненной задачей. Замена задачи в состоянии выполнения называется переключением задач.
Имеются аппаратные и программные причины переключения задач. Необходимость переключения может возникнуть в результате внешнего сигнала прерывания или по требованию операционной системы, управляющей разделением времени МП. Задача, которая начинает выполняться в результате прерывания, называется планируемой аппаратно (или по прерыванию).
Задача, которая начинает выполняться по требованию операционной системы, называется планируемой программно. В мультизадачной системе обычно имеется оба типа планирования задач. Например, пользовательские задачи, разделяющие МП, планируются программно операционной системой. Некоторые системные задачи, например ввод с клавиатуры или другой ввод/вывод, обычно планируется прерыванием, чтобы обслужить периферийные устройства в реальном времени (в пределах гарантированного времени реакции).
При переключении задач в блок управления выполняемой задачей необходимо переслать содержимое программного счетчика, регистра состояния и РОН, а из блока управления новой задачей считать содержимое этих регистров. Для реализации этих действий программными средствами требуется много времени. Кроме того, для управления задачей требуются различные системные вызовы, на выполнение которых также уходит много времени. Таким образом, реализация мультипрограммного режима сопровождается затратами времени, дополнительными по отношению ко времени, требуемому для выполнения основной работы. В целях сокращения времени основные операции по переключению задач желательно выполнять автоматически аппаратными средствами