Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Цифровая и микропроцессорная техника. Учебное пособие

.pdf
Скачиваний:
3
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
5.1. Типовая структура микропроцессорной системы
столько его структурой, сколько последовательностью управляю­щих слов (команд), поступающей из программной памяти.
Для комплексной характеристики возможностей микропро-
цессора пользуются понятием архитектуры.
Архитектурой микропроцессора называют комплекс его ап­паратных и программных средств, предоставляемых пользова­телю. Архитектура отражает структуру микропроцессора, набор программно-доступных элементов, систему команд и способы адресации, объем и структуру адресуемой памяти, реакцию ми­кропроцессора на внешние сигналы.
При описании архитектуры и функционирования микро­процессора обычно используют его представление в виде набора программно-доступных элементов – регистров, образующих так называемую программную модель микропроцессора. В этих ре­гистрах содержатся обрабатываемые данные (операнды) и управ­ляющая информация. Соответственно, в программную модель входит группа регистров общего назначения, служащих для хра­нения операндов, и группа служебных регистров, обеспечиваю­щих управление выполнением программы и режимами работы микропроцессора. Регистры общего назначения образуют вну­треннюю регистровую память микропроцессора.
При использовании подобной программной модели функцио­нирование микропроцессора представляется в виде реализации регистровых пересылок, т. е. процедур изменения состояния этих регистров путем чтения или записи их содержимого. В результа­те таких пересылок обеспечивается адресация и выбор команд и операндов, хранение и пересылка результатов, изменение по­следовательности команд и режимов функционирования микро­процессора в соответствии с поступлением нового содержимого в служебные регистры, а так же все другие процедуры, реализую­щие процесс обработки информации.
С точки зрения системы команд и способов адресации опе­рандов в современных микропроцессорах реализуется один из двух принципов построения:
• CISC-архитектура, в которой реализуется так называемая
полная система команд;
• RISC-архитектура, в которой реализуется сокращенная си-
стема команд.
CISC-архитектура характеризуется большим набором разно­форматных команд с использованием многочисленных способов адресации. Это классическая архитектура процессоров, которая
101
Глава 5. Основы архитектуры микропроцессоров и микропроцессорных систем
начала свое развит ие в 1940 -х гг. с появлением первы х компьюте­ров. Основной целью ее было сокращение размера программ, что уменьшало требования к объему оперативной памяти. Расшире­ние спектра операций, реализуемых системой команд, позволяло уменьшить размер программ, а также трудоемкость их написания и отладки. Для CISC-микропроцессоров характерно:
• большое количество коман д, некоторые из которых выпол-
няют много функций;
• большое количество форматов команд различной разряд-
ности;
• большое количество методов адресации;
• широкое использование команд обработки типа «регистр–
пам ять»;
• сравнительно небольшое число регистров общего назначе-
ния (8–16).
Типичным примером CISC-процессоров являются микро­процессоры семейства Pentium фирмы Intel. Они выполняют бо­лее 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают более 10 различных способов адресации. Такое многообразие команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач. Однако при этом суще­ственно усложняется структура микропроцессора, особенно его устройства управления, что приводит к увеличению размеров и стоимости кристалла, снижению производительности. В то же время многие команды и способы адресации используют доста­точ но редко. Кроме того, на личие в программе кома н д ра з л и ч но­го формата приводит к нерегулярности потока команд и сильно ограничивает эффективность их конвейерной обработки.
Эти недостатки обусловили необходимость разработки аль­тернативной архитектуры, нацеленной, прежде всего, на сниже­ние нерегулярности потока команд и уменьшение их количества.
Первые RISC-микропроцессоры, разработанные в начале 1980-х гг., выполняли относительно небольшой набор команд (50–10 0).
В настоящее время определились следующие характерные особенности RISC-микропроцессоров:
• расширенный объем регистровой памяти: от 32 до не-
скольких сотен регистров общего назначения, входящих в состав микропроцессора;
102
5.1. Типовая структура микропроцессорной системы
• использование в командах обработки данных только ре-
гистровой адресации (обращение к памяти используется в ко­мандах загрузки и сохранения содержимого регистров, а также в командах передачи управления);
• отказ от аппаратной реализации сложных способов адре-
сации;
• фиксированный формат команд (обычно 4 байта);
• исключение из набора команд, реализующих редко ис-
пользуемые операции, а также команд, не вписывающихся в при­нятый формат.
Использование регистровой адресации значительно повы­шает производительность микропроцессора. Фиксированный формат команд, отказ от сложных и редко используемых ко­манд и способов адресации существенно упрощает устройство управления, сокращает объем его микропрограммной памяти, что позволяет уменьшить размер кристалла RISC-процессоров, снизить их стоимость и повысить тактовую частоту. Исполь­зование фиксированного формата команд обеспечивает также более эффективную работу конвейера микропроцессора, умень­шает число тактов простоя и ожидания, что дает дополнитель­ный рост производительности. Поэтому RISC-процессоры в 2–4 раза производительнее CISC-процессоров, имеющих ту же тактовую частоту, несмотря на несколько больший (примерно на 30 %) объем программ.
Важной архитектурной особенностью микропроцессоров яв­ляется используемый вариант реализации памяти и организация выборки команд и данных. По этим признакам различают про­цессоры с принстонской и гарвардской архитектурами. Эти архи­тектурные варианты были предложены в конце 1940-х гг. специа­листами соответственно Принстонского и Гарвардского универ­ситетов (США) для разрабатываемых ими моделей компьютеров.
Принстонская архитектура (рис. 5.2), которую часто называ­ют архитектурой фон Неймана, характеризуется общей оператив­ной памятью для хранения программ и данных. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают команды и данные.
Принстонская архитектура имеет ряд достоинств. Наличие общей памяти позволяет оперативно перераспределять ее объ­ем для хранения отдельных массивов команд и данных в зави-
103
Глава 5. Основы архитектуры микропроцессоров и микропроцессорных систем
симости от решаемых задач. Обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения микропроцес­сора. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком мно­го. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных (например, в системах сбора данных от многих объектов). Перераспределе­ние памяти не вызывает никаких проблем, главное – чтобы про­грамма и данные вместе помещались в памяти. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до сотен мегабайт). Это позволяет решать самые слож­ные задачи. Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность. Поэтому принстонская архитектура в течение долгого времени доминировала в вычислительной технике.
Память
Процессор
Команды Данные
Общая шина команд и данных
Рис. 5.2. Принстонская архитектура микропроцессорной системы
Устройства
ввода
(вывода)
Принстонской архитектуре присущи и существенные недо­статки. При единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или устройств ввода (вывода)) и передавать данные (в память или устройства ввода (вывода)), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по шине про­исходить не могут, они должны производиться по очереди. При этом общая шина становится «узким местом», которое ограни­чивает производительность системы. Поэтому все возрастающие
104
5.1. Типовая структура микропроцессорной системы
требования к производительности микропроцессорных систем вызвали переход к гарвардской архитектуре с двумя системными шинами.
Гарвардская архитектура (рис. 5.3) характеризуется физиче­ским разделением памяти команд и памяти данных. Обмен про­цессора с каждым из двух типов памяти происходит по своей шине.
Общая шина команд
Память команд
Процессор
Память данных
Общая шина данных
Рис. 5.3. Гарвардская архитектура микропроцессорной системы
Устройства
ввода
(вывода)
Каждая память соединяется с процессором отдельной ши­ной, что позволяет одновременно с чтением или записью данных при выполнении текущей команды производить выборку следу­ющей команды. Благодаря такому разделению потоков команд и данных, совмещению операций их выборки и исполнения реали­зуется более высокая производительность, чем при использова­нии принстонской архитектуры.
Недостатки гарвардской архитектуры связаны с необходимо­стью использования большего числа шин, усложнения структуры процессора. Кроме того, существенный недостаток – это фик­сированный объем памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому прихо­дится применять память большего объема, коэффициент исполь-
105
Глава 5. Основы архитектуры микропроцессоров и микропроцессорных систем
зования которой при решении разнообразных задач оказывается более низким, чем в системах с принстонской архитектурой.
Развитие микроэлектронной технологии позволило в значи­тельной степени преодолеть указанные недостатки, поэтому гар­вардскую архитектуру широко применяют во внутренней струк­туре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства ми­кропроцессорных систем реализуются принципы принстонской архитектуры.
Проще всего преимущества двухшинной архитектуры реали­зуются внутри одной микросхемы. В этом случае можно также существенно уменьшить влияние недостатков гарвардской архи­тектуры. Поэтому эта архитектура получила преимущественное распространение в однокристальных микроконтоллерах, рабо­чая программа которых обычно хранится в отдельном постоян­но запоминающем устройстве. В микроконтроллерах программы обычно небольшие, но необходимо максимальное быстродей­ствие при заданной тактовой частоте.
Структура микропроцессорной системы является маги­ст рально-модульной. В такой структуре имеется группа шин (ма­гистраль), к которым подключаются различные модули, обмени­вающиеся между собой информацией по одним и тем же шинам поочередно. Структура типовой микропроцессорной системы с тремя шинами приведена на рисунке 5.4.
Главн ым модулем системы являет ся процессор, ко торы й счи­тывает и выполняет команды программы, организует обращение к памяти, в нужных случаях инициирует работу устройств вво­да и вывода. Основой модуля служит микропроцессор. Кроме микропроцессора в процессоре обычно расположены генератор тактовых импульсов и буферы для сопряжения с магистралью микропроцессорной системы. Генератор обеспечивает тактиро­вание микропроцессора. Микропроцессор имеет выводы трех шин: адреса, данных и управления. Эти шины служат для фор­мирования магистрали (системной шины) микропроцессорной системы. Однако нагрузочная способность выводов микросхемы микропроцессора мала, поэтому для его подключения к маги­страли используются буферы, выполненные на основе шинных формирователей.
106
5.1. Типовая структура микропроцессорной системы
Шина
Шина
Шина
адреса
к памяти
Контроллер
управления
данных
Устройства
ввода (вывода)
прямого доступа
Порты
вывода
К внешним
Запросы
внешних
устройств
ввода
Порты
устройствам
Контроллер
прерываний
Память
ПЗУ
Рис. 5.4. Типовая структура микропроцессорной системы
Буферы
ОЗУ
цессоры
Процессор
Микропро-
Гене-
ратор
107
Глава 5. Основы архитектуры микропроцессоров и микропроцессорных систем
Память микропроцессорной системы имеет две разновидности:
• постоянное запоминающее устройство (ПЗУ);
• оперативное запоминающее устройство (ОЗУ).
ПЗУ служит для хранения констант и неизменяемых про­грамм, является энергонезависимым и при выключении питания информацию не теряет. ОЗУ хранит оперативные данные (изме­няемые программы, промежуточные результаты вычислений) и теряет свое содержимое вместе с отключением питания. ОЗУ, в отличие от ПЗУ, позволяет процессору записывать данные, а не только читать их в процессе работы микропроцессорной системы.
С программной точки зрения память микропроцессорной системы представляет собой набор регистров (ячеек памяти), обычно 8-разрядных, предназначенных для хранения информа­ции в двоичной форме. Каждая ячейка имеет уникальный адрес, что обеспечивает возможность доступа к ней.
Внешние устройства подключаются к микропроцессорной системе с помощью устройств ввода (вывода), реализующих опре­деленные протоколы параллельного или последовательного об­мена. Такими внешними устройствами могут быть клавиатура, монитор, внешние запоминающие устройства (магнитные и оп­тические диски), датчики и преобразователи информации (ана­лого-цифровые и цифро-аналоговые), исполнительные устрой­ства (индикаторы, принтеры, электродвигатели, реле и др.).
Устройства ввода (вывода) в микропроцессорной системе чаще всего выполняют в виде портов ввода (вывода). Порты мо­гут быть двунаправленными, т. е. работать поочередно на ввод или вывод данных. Чаще порты выполняют однонаправленны­ми, т. е. используют только для ввода или вывода данных.
С программной точки зрения порт ввода – это адрес устрой­ства микропроцессорной системы, через которое из внешнего устройства могут быть переданы данные на шину данных. Соот­ветственно порт вывода – это адрес устройства микропроцессор­ной системы, через которое данные с шины данных передаются на внешнее устройство.
Порты ввода (вывода) могут передавать данные в параллель­ном формате, тогда их называют параллельными портами ввода (вывода). Некоторые порты для сопряжения с внешними устрой­ствами могут использовать последовательный формат передачи кода данных, тогда их называют последовательными портами.
108
5.1. Типовая структура микропроцессорной системы
Для реализации различных режимов работы к микропроцес­сорной системе могут подключаться дополнительные устройства (контроллеры прерываний и прямого доступа к памяти, таймеры и др.), выполняющие специальные функции управления.
Практически любая микропроцессорная система (в том чис­ле и компьютер) имеет три основных режима работы:
• выполнение основной программы;
• обслуживание прерываний;
• прямой доступ к памяти.
Выполнение основной программы. В этом режиме процес- сор выбирает из памяти очередную команду программы и вы­полняет соответствующую операцию, читая данные из памяти или устройств ввода (вывода), записывая данные в память или устройства ввода (вывода). В этом режиме процессор является единоличным «хозяином» (задатчиком) магистрали (системной шины) микропроцессорной системы. Все операции обмена ин­формацией инициируются только процессором и выполняются строго в порядке, определяемом исполняемой программой.
Для хранения адреса очередной команды служит специ­альный регистр микропроцессора – счетчик команд, или про­граммный счетчик PC (Program Counter), содержимое которого автоматически увеличивается на 1 (инкрементируется) после вы­борки очередного байта команды. Таким способом обеспечива­ется последовательность выборки команд в процессе выполнения программы. При выборке очередной команды содержимое PC поступает на шину адреса, обеспечивая считывание из памяти следующей команды выполняемой программы. При реализации безусловных или условных переходов (ветвлений) или других из­менений последовательности выполнения команд производится загрузка в PC нового содержимого, в результате чего происходит переход к другой ветви программы или подпрограмме.
Обращение к подпрограмме реализуется при поступлении в микропроцессор специальной команды вызова подпрограм­мы, которая указывает адрес первой команды вызываемой под­программы. Этот адрес загружается в PC, обеспечивая выборку первой команды подпрограммы. Предварительно выполняет­ся процедура сохранения в специальной области ОЗУ текущего содержимого PC, где в этот момент хранится адрес следующей команды основной программы, чтобы обеспечить возвращение
109
Глава 5. Основы архитектуры микропроцессоров и микропроцессорных систем
к ней после выполнения подпрограммы. Возврат в основную программу реализуется при поступлении команды возврата, за­вершающей подпрограмму. По этой команде сохранявшееся со­держимое PC снова загружается в счетчик команд, обеспечивая выполнение команды, которая в основной программе следовала за командой вызова подпрограммы.
Для реализации процедуры вызова подпрограммы и возврата из нее используется стек (stack) – часть ОЗУ, предназначенная для временного хранения данных и работающая по принципу LIFO (Last-in First-out – последним пришел, первым ушел).
Особенность стека – это заданный и неизменный способ адресации. Адресация к ячейкам стека производится с помо­щью специального регистра – указателя стека SP (Stack Pointer), который входит в состав микропроцессора. Любое число (код) записывается в стек по адресу, определяемому как содержимое регистра SP, предварительно уменьшенное на единицу (декре­ментированное), т. е. (SP) = (SP) – 1. Читается число из стека из ячейки с адресом, определяемым содержимым указателя стека, после чего это содержимое увеличивается на единицу (инкре­ментируется), т. е. (SP) = (SP) + 1. В результате получается, что число, записываемое последним, будет прочитано первым, а чис­ло, записанное первым, – последним.
Обслуживание прерываний. При работе микропроцессорной системы часто возникают ситуации, когда требуется прервать вы­полнение текущей программы и перейти к подпрограмме, обе­спечивающей реакцию системы на создавшиеся обстоятельства. Прерывания можно разделить на программные, аппаратные и исключения.
Программные прерывания возникают при поступлении в микропроцессор соответствующих команд. Аппаратные преры­вания активизируются при поступлении сигналов от внешних устройств. Исключениями являются ошибки, возникающие при работе микропроцессора.
Во всех этих ситуациях микропроцессор завершает выпол­нение очередной команды и заносит в стек текущее содержимое счетчика команд PC, которое является адресом возврата к прер­ванной программе после выполнения подпрограммы обслужива­ния, и содержимое регистра состояния PSW (EFLAGS). Затем в PC загружается из памяти вектор прерывания – начальный адрес
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]