Типы микропроцессорных систем
Диапазон применения микропроцессорной техники сейчас очень широк, требования к микропроцессорным системам предъявляются самые разные. Поэтому сформировалось несколько типов микропроцессорных систем, различающихся мощностью, универсальностью, быстродействием и структурой отличиями. Основные типы следующие: · микроконтроллеры — наиболее простой тип микропроцессорных систем, в которых все или большинство узлов системы выполнены в виде одной микросхемы; · контроллеры — управляющие микропроцессорные системы, выполненные в виде отдельных модулей; · микрокомпьютеры — более мощные микропроцессорные системы с развитыми средствами сопряжения с внешними устройствами. · компьютеры (в том числе персональные) — самые мощные и наиболее универсальные микропроцессорные системы. Четкую границу между этими типами иногда провести довольно сложно. Быстродействие всех типов микропроцессоров постоянно растет, и нередки ситуации, когда новый микроконтроллер оказывается быстрее, например, устаревшего персонального компьютера. Но кое-какие принципиальные отличия все-таки имеются. Микроконтроллеры представляют собой универсальные устройства, которые практически всегда используются не сами по себе, а в составе более сложных устройств, в том числе и контроллеров. Системная шина микроконтроллера скрыта от пользователя внутри микросхемы. Возможности подключения внешних устройств к микроконтроллеру ограничены. Устройства на микроконтроллерах обычно предназначены для решения одной задачи. Контроллеры, как правило, создаются для решения какой-то отдельной задачи или группы близких задач. Они обычно не имеют возможностей подключения дополнительных узлов и устройств, например, большой памяти, средств ввода/вывода. Их системная шина чаще всего недоступна пользователю. Структура контроллера проста и оптимизирована под максимальное быстродействие. В большинстве случаев выполняемые программы хранятся в постоянной памяти и не меняются. Конструктивно контроллеры выпускаются в одноплатном варианте.
Микрокомпьютеры отличаются от контроллеров более открытой структурой, они допускают подключение к системной шине нескольких дополнительных устройств. Производятся микрокомпьютеры в каркасе, корпусе с разъемами системной магистрали, доступными пользователю. Микрокомпьютеры могут иметь средства хранения информации на магнитных носителях (например, магнитные диски) и довольно развитые средства связи с пользователем (видеомонитор, клавиатура). Микрокомпьютеры рассчитаны на широкий круг задач, но в отличие от контроллеров, к каждой новой задаче его надо приспосабливать заново. Выполняемые микрокомпьютером программы можно легко менять. Наконец, компьютеры и самые распространенные из них — персональные компьютеры — это самые универсальные из микропроцессорных систем. Они обязательно предусматривают возможность модернизации, а также широкие возможности подключения новых устройств. Их системная шина, конечно, доступна пользователю. Кроме того, внешние устройства могут подключаться к компьютеру через несколько встроенных портов связи (количество портов доходит иногда до 10). Компьютер всегда имеет сильно развитые средства связи с пользователем, средства длительного хранения информации большого объема, средства связи с другими компьютерами по информационным сетям. Области применения компьютеров могут быть самыми разными: математические расчеты, обслуживание доступа к базам данных, управление работой сложных электронных систем, компьютерные игры, подготовка документов и т.д.
Любую задачу в принципе можно выполнить с помощью каждого из перечисленных типов микропроцессорных систем. Но при выборе типа надо по возможности избегать избыточности и предусматривать необходимую для данной задачи гибкость системы. В настоящее время при разработке новых микропроцессорных систем чаще всего выбирают путь использования микроконтроллеров (примерно в 80% случаев). При этом микроконтроллеры применяются или самостоятельно, с минимальной дополнительной аппаратурой, или в составе более сложных контроллеров с развитыми средствами ввода/вывода. Классические микропроцессорные системы на базе микросхем процессоров и микропроцессорных комплектов выпускаются сейчас довольно редко, в первую очередь, из-за сложности процесса разработки и отладки этих систем. Данный тип микропроцессорных систем выбирают в основном тогда, когда микроконтроллеры не могут обеспечить требуемых характеристик. Наконец, заметное место занимают сейчас микропроцессорные системы на основе персонального компьютера. Разработчику в этом случае нужно только оснастить персональный компьютер дополнительными устройствами сопряжения, а ядро микропроцессорной системы уже готово. Персональный компьютер имеет развитые средства программирования, что существенно упрощает задачу разработчика. К тому же он может обеспечить самые сложные алгоритмы обработки информации. Основные недостатки персонального компьютера — большие размеры корпуса и аппаратурная избыточность для простых задач. Недостатком является и неприспособленность большинства персональных компьютеров к работе в сложных условиях (запыленность, высокая влажность, вибрации, высокие температуры и т.д.). Однако выпускаются и специальные персональные компьютеры, приспособленные к различным условиям эксплуатации.
Семинар 9. Программная модель процессора
На нашей недавней лекции мы рассмотрели архитектуру и познакомились с общими свойствами процессора Pentium II (см. рис. 6.12). Программную модель рассмотрим на примере базовой архитектуры 32-битных процессоров IA-32. Это будет проще и нагляднее, а особенности архитектуры рассмотрим позже.
Главным объектом изучения любого процессора является его программная модель, которая рассматривает его программные ресурсы. Программные ресурсы процессора состоят из: пользовательских и системных регистров; форматов данных; форматов команд и режимов адресации. Общие понятия Разрядность адреса определяет, сколько бит (16, 32 или 64) используется в регистрах формирующих адрес данных или команд (инструкций), расположенных в памяти. Разрядность данных определяет, сколько бит содержится в командах, оперирующих словами. Каждому режиму работы процессора соответствует своя разрядность, применяемая по умолчанию. При необходимости для каждой исполняемой команды разрядность адреса или/и операнда может изменяться с помощью специальных префиксов (байтов перед кодом операции КОП). 32-битные регистры позволяют непосредственно адресовать до 4 Гбайт памяти, что в свое время было более чем достаточно. Сейчас существует несколько механизмов расширения (х86-64 или ЕМ64Т), которые позволяют радикально увеличить объем адресуемой памяти: 64-битные регистры позволяют адресовать до 264 = 18,4 х 1018 байт, но пока используют только младшие 48 бит адреса. Процессоры могут работать в различных режимах, определяющих возможности адресации памяти и защиты. Режим работы задается операционной системой с учетом работы приложений. Режимы работы процессоров: · Режим реальной адресации, или просто реальный режим полностью совместим с 8086. В этом режиме возможна адресация до 1 Мбайт физической памяти. · Защищенный режим. Это основной режим работы, в этом режиме процессор включает механизмы сегментации и страничной трансляции. Это позволяет поддерживать виртуальную память объемом до 64 Тбайт. В защищенном режиме процессор может выполнять дополнительные команды, недоступные в реальном режиме. · Мультипрограммный режим (многозадачность) это такой способ организации работы процессора, при котором в его памяти одновременно содержатся программы и данные для выполнения нескольких процессов обработки данных. При этом обеспечивается взаимная защита программ и данных.
· 64 – битный режим – это режим полной поддержки 64-битной виртуальной адресации и 64-битных расширений регистров. · Режим совместимости позволяет 64-битным ОС работать с 32 и 16-битными приложениями. Операнды команд могут находиться в регистрах процессора, ячейках памяти (или в портах ввода/вывода), а также в самой команде (непосредственный операнд). Наиболее эффективно процессор работает с операндами, расположенными в его регистрах. Регистры процессора Программная модель включает восемь регистров общего назначения, шесть регистров сегментов, указатель команд, регистр системных флагов, регистры системных адресов, четыре регистра управления и шесть регистров отладки. Рис.9.1 Пользовательские регистры процессоров х86 Для обращений к памяти у процессоров х86 используются 16-битные сегментные регистры, с помощью которых формируется логический адрес: · CS (Code Segment) – для адресации команд; · SS (Stack Segment) – для работы со стеком; · DS, ES, GS – для обращений к данным. Обратите внимание, названия 32-битных регистров начинаются с буквы E, 64-битных – с буквы R. Блоки FPU, MMX, XMM в архитектуре процессора х86 держатся особняком. Они присутствуют не во всех процессорах и являются пристройкой. Эти блоки предназначены для ускорения вычислений с данными различных форматов. Восемь регистров общего назначения (РОН) имеют длину в 32 бит и содержат адреса или данные. Они поддерживают операнды-данные длиной 1, 8, 16, 32 и (при использовании двух регистров) 64 бит; битовые поля от 1 до 32 бит; операнды-адреса длиной 16 и 32 бит. Эти регистры называются EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP. Доступ к младшим 16 бит этих регистров выполняется независимо при использовании соответствующих имен 16-битных регистров: AX, BX, CX, DX, SI, DI, BP и SP. Также могут использоваться индивидуально младший (биты 0-7) и старший (биты 8-15) байты регистров AX, BX, CX, DX. Им соответствуют обозначения AH, DH, CH, BH и AL, DL, CL, BL. Хотя регистр ESP тоже относится к регистрам общего назначения, он содержит указатель на вершину стека и не используется для других целей. Следует отметить, что регистры могут быть неравнозначны и при использовании определенных инструкций могут иметь и иногда имеют специальное назначение: · EAX - аккумулятор, операнд-источник или приемник результата (некоторые инструкции могут быть короче на один байт при использовании EAX); · EBX - указатель на данные в сегменте DS; · ECX - счетчик для цепочечных (например, MOVS) и циклических (с префиксом REP) инструкций; · EDX - адрес порта ввода-вывода для инструкций IN/INS, OUT/OUTS; · ESI - указатель на операнд-источник в сегменте DS для цепочечных инструкций;
· EDI - указатель на операнд-приемник в сегменте ES для цепочечных инструкций; · EBP - указатель на данные в сегменте SS. МП включает шесть непосредственно доступных 16-битных регистров сегментов. С каждым сегментным регистром ассоциирован программно-недоступный кэш дескриптора соответствующего сегмента, содержащий базовый адрес сегмента в линейном адресном пространстве, предел сегмента и атрибуты сегмента. Не все сегментные регистры равнозначны. Регистр CS хранит селектор сегмента кода. МП извлекает очередную инструкцию для исполнения, формируя логический адрес из селектора в CS и смещения в регистре EIP. Значение этого регистра нельзя изменить непосредственно, оно меняется в командах межсегментного перехода (FAR JMP), межсегментного вызова (FAR CALL), при вызове обработчика прерывания (INT) и при возврате из далекой процедуры (RETF) или обработчика прерывания (IRET). Регистр SS хранит селектор сегмента стека. Стек используется для передачи параметров подпрограммам и для сохранения адреса возврата при вызове подпрограммы или обработчика прерывания. Вершиной стека считается байт, логический адрес которого образуется из селектора в регистре SS и смещения в регистре ESP. Регистры DS, ES, FS и GS хранят селекторы сегментов данных. Если инструкция обращается к памяти, но содержит только смещение, то считается, что она обращается к данным в сегменте DS. Сегмент ES может использоваться без явного указания в цепочечных командах. Сегменты FS и GS используются при обращении к памяти только при явном использовании в инструкции префиксов этих сегментов. Указатель команд (EIP) является 32-разрядным регистром. Он содержит смещение следующей команды, подлежащей выполнению. Относительный адрес отсчитывается от базового адреса сегмента исполняемой задачи. Указатель команд непосредственно недоступен программисту, но он изменяется явно командами управления потоком, прерываниями и исключениями (JMP, CALL, RET, IRET, команды условного перехода). Получить текущее значение EIP можно, если выполнить команду CALL, а затем прочитать слово на вершине стека. Регистр системных флагов EFLAGS содержит группу флагов состояния, управления и системных флагов. Младшие 16 бит регистра представляют собой 16-разрядный регистр флагов и состояния МП 8086, называемый FLAGS, который наиболее полезен при исполнении программ для МП 8086 и Intel-286. Некоторые из флагов могут быть изменены специально предназначенными для этой цели инструкциями. Для изменения или проверки группы флагов можно воспользоваться следующими командами: · LAHF/SAHF - загрузка/сохранение младших 8 битов регистра флагов в регистре AH; · PUSHF/POPF - помещение/извлечение из стека младших 16 битов регистра флагов; · PUSHFD/POPFD - помещение/извлечение из стека 32-битного регистра EFLAGS. МП имеет четыре 32-разрядных регистра управления CR0-CR4, в которых хранятся флаги состояния МП или глобальные флаги. Вместе с регистрами системных адресов эти регистры хранят информацию о состоянии МП, которая влияет на все задачи в системе. Системным программистам регистры управления доступны только через варианты команды MOV, которые позволяют их загружать или сохранять в регистрах общего назначения. Шесть доступных регистров отладки (DR0-DR3, DR6, DR7, регистры DR4 и DR5 зарезервированы) расширяют возможности отладки. Они устанавливают точки останова по данным и позволяют устанавливать, задавать точки останова по командам без модификации сегментов программ. Регистры DR0-DR3 предназначены для хранения четырех линейных адресов точек останова. Регистр DR6 отражает текущее состояние точек останова. Регистр DR7 задает условие для точек останова.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|