МикроЭВМ - вычислительная машина, созданная на основе микропроцессора и предназначенная в основном для встраивания в аппаратуру систем в качестве элементов, обеспечивающих логическую и арифметическую обработку информации.
Организация микроЭВМ на базе типовых микропроцессорных комплектов определяется принципами формирования МПК, организацией системы памяти, системы ввода - вывода, системы прерываний, системы команд, архитектурными особенностями микропроцессора и некоторыми характеристиками БИС МПК. Однако основное влияние на организацию микроЭВМ оказывают способы реализации передачи данных и адресов между микропроцессором и другими компонентами микроЭВМ. С этой точки зрения различают два способа организации микроЭВМ:
- с раздельными шинами данных и адреса;
- с мультиплексированной шиной данных и адреса.
Понятие архитектуры микро-ЭВМ или простого микропроцессорного устройства относится к организации регистров центрального устройства (МП), числа бит шин адресов, данных и т. д.
Система команд - это список операций, которые МП может выполнить. Она включает в себя передачу данных, арифметические и логические операции, команды тестирования данных и ветвлений, операции ввода/вывода (ВВ). Команды используют различные способы адресации.
Простое микропроцессорное устройство может содержать МП, генератор тактовых импульсов (ГТИ), ОЗУ, ПЗУ, порты ВВ, дешифратор адресов и источник питания. Иногда эти функции выполняются ИС или различными прочими составляющими, однако многие микропроцессорные устройства содержат большинство названных элементов.
Все элементы МПУ соединены между собой шинами. Шина - совокупность проводников, предназначенных для перемещения данных и сигналов между различными устройствами ВМ.
На рис. 7.1 приведена типовая структура микроЭВМ, реализованной на базе микропроцессорного комплекта. В качестве примера здесь показаны шестнадцатиразрядная шина адреса (ША) и 8-разрядная шина данных (ШД) и управления, которые образуют интерфейс между микропроцессором (МП), с одной стороны, и ПЗУ, ОЗУ и интерфейсными устройствами ввода - вывода (ИУВВ) - с другой. Выделение отдельных шин для всех управляющих сигналов, адресной информации и данных упрощает организацию обмена информацией между отдельными компонентами и уменьшает время выполнения команд в микроЭВМ. Генератор тактовых импульсов (ГТИ) формирует сигналы, необходимые для работы МП.
Архитектура, представленная на рис.7.1, различает два типа полупроводниковой памяти, используемой системой. Постоянное запоминающее устройство ПЗУ представляет собой постоянную память, которая содержит программу-монитор системы. Оно содержит адресные входы, а также входы активизации только чтения и выбора кристалла, а также тристабильные выходы, подсоединяемые на шины. ПЗУ имеет также подсоединение питания, которое на схемах обычно не показывается. ОЗУ - устройство временного размещения данных, в которое входят адресные входы, а также входы выбора кристалла и активизации чтения/записи. Это ОЗУ имеет восемь выходов с тремя состояниями, подсоединенных к шине данных.
В задачу интерфейса устройств ввода - вывода входит размещение данных и управление их вводом с клавиатуры. В нужный момент интерфейс клавиатуры прерывает МП по специальной линии прерывания. Сигнал прерывания заставляет МП: 1) закончить выполнение текущей команды; 2) поддерживать свою нормальную работоспособность; 3) перейти к выполнению специальной группы команд в своем мониторе, по которым ведется управление вводом данных, исходящих с клавишного устройства. Система интерфейса с клавиатурой снабжена адресными входами, линиями выбора кристалла и команд активизации устройства. Активизированное один раз устройство интерфейса с клавиатурой передает данные, поступающие с клавишного устройства на шину данных, микропроцессор их принимает. Если тристабильные выходы интерфейса не активизированы, они возвращаются в свое состояние высокого сопротивления.
Приведенная на рис.7.1 микро-ЭВМ имеет в качестве выхода группу семисегментных индикаторов. Индикаторы запитаны от источника. Система или специальная ИС интерфейса вывода на индикаторы служит для размещения данных и управления состоянием индикаторов. При активизации этого интерфейса по адресной шине, линиям выбора кристалла и активизации он принимает данные, поступающие с шины данных, и размещает их, а также управляет индикатором, на котором размещенные данные высвечиваются.
Представленная на рис. 7.2 схема иллюстрирует на примере микропроцессорного комплекта организацию микроЭВМ с мультиплексированной шиной адреса и данных. Использование одной шины уменьшает число внешних выводов БИС микропроцессорного комплекта, однако приводит к временному разделению передачи адресов и данных, т. е. к снижению скорости обмена информацией между процессором и адресуемыми устройствами, а также к необходимости применения внешних регистров адреса (РгА).
Некоторую специфику имеет организация микроЭВМ на базе МПК с микропрограммированием и секционным выполнением микропроцессора (на рис. 7.2 показана одна секция микропроцессорного комплекта). Использование таких микропроцессорных комплектов позволяет наращивать разрядность микроЭВМ за счет «параллельного» включения элементов комплекта, обеспечивает широкие возможности модификации структуры микроЭВМ в соответствии с требованиями конкретного применения. Такие микропрограммируемые микроЭВМ, как правило, требуют разработки двухуровневого управления - микропрограммного и программного. Это позволяет иметь произвольную систему команд, однако усложняет микроЭВМ.
Рис. 7.1 Структура микроЭВМ с раздельными шинами данных и адреса
Рис. 7.2 Структура микроЭВМ с мультиплексированной шиной данных и адреса
Нормальное функционирование микроЭВМ можно обеспечить лишь при правильном временном соотношении сигналов, определяющих взаимодействие ее компонентов. Поэтому значительную часть технических параметров компонентов МПК составляют различные временные ограничения.
Первичный источник временных сигналов в микроЭВМ - генератор тактовых импульсов, вырабатывающий одно-, двух-, трех- или четырехфазную последовательность импульсов. К параметрам тактовых импульсов предъявляются достаточно жесткие требования, включающие минимальную и максимальную частоты импульсов, максимальные времена фронта и среза импульсов, допуски на низкий и высокий уровни напряжения импульсов, допуски на длительность тактовых импульсов, временные соотношения между тактовыми импульсами различных фаз. Несоблюдение требований к тактовым импульсам может привести к неправильному выполнению операций, поскольку выполнение каждой операции складывается из последовательности действий, каждое из которых имеет вполне определенную длительность. Частота генератора тактовых импульсов обычно стабилизируется кварцем и реализуется в виде отдельного компонента микропроцессорного комплекта или на кристалле микропроцессора.
Тактовые импульсы от генератора начинают поступать на микропроцессор сразу после включения источника питания, но запуск микропроцессора осуществляется только по сигналу начальной установки, подаваемому на специальный его вход. По этому сигналу в программный счетчик записывается определенный адрес, с которого микропроцессор начинает выборку команд программы. Кроме того, в некоторых микропроцессорах по сигналу начальной установки производится сброс в нуль нескольких внутренних регистров.
Простейшие способы формирования сигнала начальной установки: а) использование генератора одиночных импульсов, запускаемого, например, от кнопки; б) формирование импульса начальной установки по включению питания с задержкой на время, необходимое для установки номинального значения напряжения питания после включения источника.
Серьезные ограничения накладываются на временные параметры сигналов, обеспечивающих взаимодействие компонентов микроЭВМ. Пока быстродействие компонентов достаточно для правильной реакции на все сигналы микропроцессора, что обычно выполняется в микроЭВМ с небольшим числом компонентов одного микропроцессорного комплекта, никаких проблем по временному сопряжению компонентов не возникает. Усложнение схемы адресации, увеличение емкости памяти, использование компонентов других микропроцессорных комплектов могут привести к несоблюдению некоторых обязательных временных соотношений и, следовательно, к неправильной работе микроЭВМ.
Однопрограммные и многопрограммные режимы
Вычислительные машины могут выполнять обработку информации в разных режимах (рис. 7.3):
- однопрограммном (монопольном) режиме;
- многопрограммном режиме, который можно подразделить на следующие:
- режим пакетной обработки информации;
- режим разделения машинного времени.
Последний, в свою очередь, имеет разновидности:
- диалоговый режим;
- режим реального времени.
Рис.7.3 Классификация режимов работы ЭВМ
Однопрограммный режим использования ЭВМ самый простой, применяется во всех поколениях ВМ. Из современных машин этот режим чаще всего используется в персональных компьютерах, где он называется реальным режимом работы микропроцессора. В этом режиме все ресурсы ПК передаются одному пользователю. Пользователь сам готовит и машину, и всю необходимую для решения задач информацию, загружает программу и данные, непосредственно наблюдает за ходом решения задачи и выводом результатов. Такой вариант режима называют режимом непосредственного доступа.
Однопрограммный режим имеет и второй вариант - вариант косвенного доступа, при котором пользователь не имеет непосредственного контакта с ВМ. В этом варианте пользователь готовит свое задание и отдает его на обработку. Задача запускается в порядке очередности, и по мере готовности результаты ее решения выдаются пользователю. Этот вариант, бывший когда-то самым распространенным, сейчас практически, по крайней мере на персональных компьютерах, не используется. Однопрограммный режим непосредственного доступа весьма удобен для пользователя, но для него характерен чрезвычайно низкий коэффициент загрузки оборудования - временные простои многих устройств машины и в период подготовки задачи для решения, и непосредственно при решении задачи (при вычислениях в процессоре простаивают внешние устройства, при печати простаивают процессор, основная и внешняя память и т. д.). Поэтому даже в современных ПК, для которых характерен именно однопрограммный режим (в силу их «персо-нальности»), последний в микропроцессорах обогащается многоступенчатой суперконвейерной обработкой данных, использующей некоторые элементы многопрограммности.
Многопрограммный (его также называют мультипрограммным, многозадачным, а в ПК и многопользовательским) режим обеспечивает лучшее использование ресурсов ВМ, но несколько ущемляет интересы пользователя. Для выполнения этого режима необходимо прежде всего разделение ресурсов машины в пространстве (на множестве устройств ВМ) и во времени. Естественно, такое разделение ресурсов эффективно может выполняться только автоматически, следовательно, необходимо автоматическое управление вычислениями. Автоматическое управление особо необходимо для распределения памяти между несколькими одновременно запускаемыми программами, ибо программы готовятся пользователями независимо друг от друга, в них не выполняется предварительно статическое распределение памяти (как и других программных и технических ресурсов машины). В процессе решения задач недопустимо одновременное обращение двух программ к одному и тому же файлу, устройству.
Все названные проблемы решают операционные системы, обеспечивающие многопрограммную работу компьютера, помогают им в этом драйверы устройств машины и автозагрузчики (загрузчики) программ.
Важнейшая проблема — зашита памяти. Недопустимо несанкционированное, пусть и неодновременное обращение двух программ к одним и тем же областям памяти для записи и считывания информации. Для предотвращения такого несанкционированного случайного доступа к памяти, выделенной для другой задачи, служит специальная система защиты памяти. Важность проблемы защиты памяти подчеркивается тем фактом, что многопрограммный режим работы микропроцессора в ПК обычно называют защищенным режимом.
Простейшим вариантом многопрограммного режима является режим пакетной обработки. Он в максимальной степени обеспечивает загрузку всех ресурсов машины, но наименее удобен пользователю. В классических системах пакетной обработки информации все подлежащие решению задачи анализировались и объединялись в различные группы (пакеты) с тем, чтобы в пределах пакета обеспечивалась равномерная загрузка всех устройств машины. Например, задача, связанная с длительным выводом информации на печать, объединялась с задачей, интенсивно использующей внешнюю память, и с задачей, требующей сложных вычислений в процессоре и т.п. После формирования всех пакетов они по очереди запускались на обработку. Пользователь в этом режиме обращался к машине два раза: первый раз для ввода задания, второй раз для получения результатов - по современной терминологии такой режим относится к режимам группы «off-line».
В персональных компьютерах, ввиду небольшого количества одновременно решаемых задач, режим пакетной обработки претерпел существенные изменения и сводится, по существу, к последовательному решению одновременно поступивших задач (пакета задач) в соответствии с их важностью (приоритетностью) и временем поступления. Переход к решению следующей задачи выполняется только после окончательного завершения текущей. Правда, в развитых системах такой пакетной обработки при внезапном поступлении информации по более приоритетной задаче выполняемая на компьютере менее приоритетная задача уступает свое место (прерывается).
Второй частный случай многопрограммного режима - режим разделения времени, характерен тем, что на машине действительно одновременно решается несколько задач, каждой из которых по очереди выделяются кванты времени, обычно недостаточные для полного решения задачи. Условием прерывания решения текущей задачи служит либо истечение кванта выделенного времени, либо обращение к процессору какого-либо приоритетного внешнего устройства, например клавиатуры для ввода информации.
Прерывание задачи от клавиатуры является типичным для диалогового режима работы ПК, являющегося частным случаем режима разделения времени. Диалоговые режимы характерны для многопользовательских систем: они обеспечивают одновременную работу нескольких пользователей при решении задач в интерактивном режиме. В процессе решения задачи пользователь имеет возможность корректировать ход выполнения своего задания. Диалоговые системы активно используются при совместной работе нескольких пользователей даже с одной программой: формирование и корректировка баз данных, программ, чертежей, схем и документов.
Режим реального времени - еще один вариант режима с разделением машинного времени. Этот режим используется в основном в динамических системах управления и диагностики, когда строго регламентируется время ответа системы (выполнения задания) на случайно поступающие запросы. Все режимы разделения машинного времени обеспечивают пользователю работу в режиме «on-line».
Основная нагрузка на реализацию многопрограммных режимов, ложится на операционную систему. Все операционные системы обеспечивают выполнение этих режимов. Особенно эффективные возможности имеет ОС Windows 2000, поддерживающая не только многозадачные и многопользовательские режимы с развитой системой приоритетного прерывания, но и многопроцессорность их исполнения, то есть распределение заданий между несколькими микропроцессорами, имеющимися в системе.
Особенности организации системы прерываний программ в ПК
Важнейшая роль в реализации сложных режимов работы лежит на системе прерывания программ.
Прерывание - это приостановка выполнения в процессоре программы с целью выполнения какой-то более важной или нужной в данный момент другой программы или процедуры, после завершения которой продолжается выполнение прерванной программы с момента ее прерывания. Прерывание позволяет компьютеру приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе машины или ее компонента. Каждое прерывание вызывает загрузку определенной программы, предназначенной для обработки возникшей ситуации, - программу обработки прерывания.
Видов (номеров) прерывания в ПК может быть всего 256, и, соответственно, векторов прерывания (адресов CS:IP программ обработки прерываний) в ОП может находиться до 256.
Прерывания обслуживаются базовой системой ввода-вывода - модулем расширения BIOS и модулем обработки прерываний DOS. BIOS и блок расширения BIOS имеют дело в основном с не планируемыми техническими и логическими прерываниями, пользовательскими прикладными прерываниями, а также со многими планируемыми прерываниями, обслуживающими систему ввода-вывода, детализированными и не очень детализированными (прерывания, обслуживаемые BIOS, часто называют прерываниями нижнего уровня).
Модуль обработки прерываний DOS обслуживает в основном планируемые прерывания, в том числе и прерывания системы ввода-вывода. Прерывания DOS часто называют прерываниями верхнего уровня, так как, с одной стороны, в этих прерываниях меньше учитываются технические особенности элементов ПК, с другой стороны, при обработке этих прерываний часто имеют место обращения к программам прерываний системы BIOS. Большинство прерываний BIOS имеют близкие аналоги среди прерываний DOS.
Использование прерываний BIOS позволяет, как правило, более детализировано выполнить обращения к различным системным ресурсам ПК, к элементам информационных структур и их атрибутам. Однако прерывания DOS более просты в использовании при программировании. Поэтому начинающим программистам можно рекомендовать использование прерываний DOS, особенно расширенных функций DOS для работы с файлами. Схема организации приема запросов на прерывания показана на рис. 16.2.
Для приема внешних прерываний имеются порты двух типов: NMI (None Masked Interrupt) - для приема немаскируемых прерываний и INTR (Interrupt) - для приема прочих прерываний (INTR обычно используется для подсоединения контроллера прерываний). Если запрос на прерывание поступает по входу NMI, то прерывание не маскируется (имеет абсолютный приоритет) и сразу выполняется; по входу INTR прерывание разрешается, если в регистре флагов МПП флаг IF = 1.
Всего предусмотрено 256 типов (0-255) прерываний. Из них только первые 5 жестко закреплены в МП, остальные используются системами BIOS и DOS.
- тип 0 - прерывание возникает при делении на 0 или если частное от деления переполняет разрядную сетку МП;
- тип 1 - в режиме «трассировка» (при TF =1) после выполнения каждой команды программы происходит останов;
- тип 2 - немаскируемое техническое прерывание;
- тип 3 - прерывание по команде INT, включенной в программу: останов и отображение содержимого регистров МПП;
- тип 4 - прерывание по команде INTO, включенной в программу, но только если при выполнении предыдущей команды произошло переполнение разрядной сетки;
- типы 8-15 - аппаратные прерывания, инициируемые внешними устройствами, поступают на входы IRQ0-IRQ7 контроллера прерываний (вход IRQ0 имеет высший приоритет, и прерывание, поступившее по этому входу, обрабатывается первым; всего уровней приоритета 8 и вход IRQ7 имеет низший приоритет);
- типы 32-255 - программные прерывания DOS (жестко задействовано около 10, а вообще в разных версиях DOS их разное количество).
Рис. 7.4 Организация приема запросов на прерывания
Прерывания с 0 по 31 и прерывание 64 относятся к прерываниям нижнего уровня, обслуживаемым BIOS; прерывания, начиная с 32 - прерывания верхнего уровня (за исключением прерывания 64); причем прерывание 33 (21Н) - это комплексное, чаще всего используемое в программах пользователя прерывание, имеющее около 100 разновидностей (служебных функций DOS).
В некоторых типах прерываний BIOS и DOS имеется много разновидностей, иногда более 10. Так, прерывание 10 (АН) имеет 15 разновидностей, прерывание 33 (21Н) - около 100 разновидностей: в DOS 1.0 - 47, в DOS 2.0 - 88, в DOS 3.0 и выше -99 разновидностей (вид работы в рамках каждого прерывания определяется содержимым регистра АН).
45. Основная функция устройства управления, входящего в микропроцессор?
1. управление выполнением операций и выборка команд программы
2. управление вычислением и выдача результатов
3. управление регистром данных
4. управление счетчиками
5. управление триггерами
46.Современная микропроцессорная система имеет упорядоченную многоуровневую иерархическую структуру. Укажите, из скольких основных уровней состоит эта структура:
1. 5
2. 3
3. 10
4. 2
5. 4
47. Современная микропроцессорная система имеет упорядоченную многоуровневую иерархическую структуру. Что включает в себя второй уровень этой структуры:
1. данный уровень включает в себя конструктивные единицы, предназначенные для механического и электрического объединения элементов предыдущего уровня
2. на данном уровне находятся конструктивно неделимые элементы: интегральные схемы, транзисторы, резисторы и т.п.
3. данный уровень образуется объединением нескольких десятков элементов на печатной плате, в результате получается блок элементов
4. данный уровень представляет собой комплектный корпус, в который устанавливаются блоки и другие конструктивные единицы предыдущего уровня
5. данный уровень включает несколько стоек, пультов, и т.д., соединенных между собой кабелем.
48. Современная микропроцессорная система имеет упорядоченную многоуровневую иерархическую структуру. Что представляет собой третий уровень этой структуры:
1. данный уровень представляет собой комплектный корпус, в который устанавливаются блоки и другие конструктивные единицы предыдущего уровня
2. на данном уровне находятся конструктивно неделимые элементы: интегральные схемы, транзисторы, резисторы и т.п.
3. данный уровень образуется объединением нескольких десятков элементов на печатной плате, в результате получается блок элементов
4. данный уровень включает несколько стоек, пультов, и т.д., соединенных между собой кабелем.
5. данный уровень включает в себя конструктивные единицы, предназначенные для механического и электрического объединения элементов предыдущего уровня