
7.3.Организайия и структура мпс
Под организацией МС понимают состав ее программно-аппаратных средств, связи между ними и их функциональные характеристики. Микросистемы имеют многоуровневую иерархическую организацию со многими составными компонентами на каждом уровне. С нижним уровнем функционального описания МС и ее составляющих связано понятие физической организации МС— ее принципиальная схема. Термин логическая организация относится к более высоким уровням описания МС. Так, логическая организация на уровне аппаратуры—это состав, функциональные связи и характеристики взаимодействия аппаратных модулей в процессе выполнения различных задач, которые обычно называют структурной схемой или структурой. Рассматривая логическую организацию на уровне программного обеспечения (ПО), говорят о вычислительной среде и ее особенностях.
Конечная цель проектирования МС— создание работоспособного и оптимального изделия на базе одного или нескольких МП. Возможность ее достижения определяется в первую очередь выбором рационального соотношения между программными и аппаратными средствами МС. Для этого вводится понятие архитектуры,
Архитектура МС—это функциональные возможности аппаратных средств МС, используемые для представления программ и данных, а также для управления процессом вычислений. Архитектура служит примером вычислительной среды нижнего уровня, связанной непосредственно с аппаратурой МС.
Микросистемам, построенным на основе микропроцессорных комплектов (МПК) младшего поколения, свойственны более простые архитектуры, что было важно для интегральной технологии прошлого десятилетия. Однако вычислительные возможности и быстродействие этих систем, как правило, были низки. Усовершенствование технологических приемов позволило увеличить степень интеграции аппаратуры и перейти к сложным 16-разрядным архитектурам с виртуальной памятью, обеспечивающим параллельную обработку многих задач в реальном масштабе времени.
Микросистема
состоит из построенного на базе МПцентрального
процессора (ЦП),
основной
памяти для
хранения программ и данных, а также
подсистемы
ввода-вывода
(ВВ)
для связи МС с внешней аппаратурой (рис.
7.1).
Задача управления МС
возлагается на ЦП, который связан с
памятью и подсистемой
ВВ через каналы памяти и ВВ соответственно.
Центральный процессор считывает из памяти МС команды, которые образуют программу, и декодирует их. В соответствии с результатом декодирования команд он осуществляет выборку данных из памяти МС и портов ввода, обрабатывает их и пересылает обратно в память или порты вывода подсистемы ВВ.
Существует также возможность ВВ данных из памяти на внешние устройства и обратно, минуя ЦП. В этом случае обмен данными выполняется через канал прямого доступа к памяти (ПДП), управление которым возлагается на подсистему ВВ. Иногда выделяются средства поддержки режима реального времени, в простейшем случае разделяемые процессором и подсистемой ВВ.
Каждый уровень организации МС и любая ее составная часть имеют достаточно сложную внутреннюю структуру, детализация которой приводит к появлению различных типов структур и вычислительных сред. В соответствии с используемым в МС принципом программного управления их организация в значительной степени определяется методологией построения больших вычислительных систем. Однако из-за особенностей производства МПК БИС и их применения организация МС приобрела ряд черт, не свойственных большим ЭВМ.
В большинстве современных микроЭВМ для хранения программ и данных используется одно пространство памяти. Такая организация получила название архитектуры Дж. фон Неймана —по имени математика, предложившего кодирование программ в формате, соответствующем формату данных. Программы и данные хранятся в едином пространстве, и нет никаких признаков, указывающих на тип информации в ячейке памяти. Содержимое ячейки интерпретируется оператором обработки, в качестве которого в простейшем случае выступает ЦП.
Однако почти все однокристальные микро-ЭВМ, представляющие класс однокристальных программируемых микроконтроллеров, выполнены по другой схеме, известной как архитектура Гарвардской лаборатории, в которой память программ CSEG (Code Segment) и память данных DSEG (Data Segment) разделены и имеют свои собственные адресные пространства и способы доступа к ним. Такое разделение, позволившее реализовать компактно кодируемый набор машинных команд, экономно использовать память программ, и было применено при разработке однокристальных микроконтроллеров первых типов, имеющих всего лишь (1—2) К байт (К=210) управляющей памяти, расположенной на кристалле.
Дальнейшее совершенствование архитектур обоих типов состояло в выделении специального пространства данных небольшого объема, которое сегодня известно как напор программно-доступных регистров RSEG (Register Segment). В отличие от CSEG или DSEG регистры RSEG располагаются внутри ЦП в непосредственной близости от его арифметческо-логического устройства (АЛУ), что обеспечивает быстрый физический доступ к информации, хранящейся в них. В некоторые интервалы времени программа наиболее интенсивно работает лишь с небольшим объемом данных. Для временного хранения этих данных и предназначена регистровая область — набор программно-доступных регистров.
Область RSEG может быть как полностью изолирована от пространства данных DSEG. так и частично пересекаться с ним, что дает возможность рассматривать отдельные регистры МП как обычные ячейки памяти данных. Такая организация является целесообразной, если в МС поддерживается быстрый доступ ко всей или хотя бы некоторой части памяти данных DSEG.
Почти все современные МС имеют регистровые области независимо от того, к какому типу они принадлежат: неймановскому или гарвардскому. Внутренняя логическая организация-RSEG очень разнообразна и играет определяющую роль в классификации архитектур. Пока отметим в ее составе лишь один регистр PC (Program Counter), который называется программным счетчиком. Данный регистр является неотъемлемой частью всех МС и связан с адресацией памяти программ. Именно он служит указателем следующего элемента программной последовательности, подлежащей выборке и исполнению.
Система ВВ в простейшем случае представляет набор адресуемых буферных схем и регистров (портов), через которые осуществляется связь с внешними и внутренними аппаратными средствами МС. Система ВВ обычно использует единый механизм адресации портов, размещенных в специальном пространстве ВВ микросистемы IOSEG (Input/Output Segment), логически изолированном от других пространств данных,—изолированный ВВ. К МС с изолированным ВВ относятся системы на базе МП К.Р580ВМ80, К.1810ВМ86 и других, имеющих специальные наборы команд ВВ.
В некоторых системах логически изолированное пространство ВВ может отсутствовать. В этом случае в пространстве памяти данных DSEG выделяются области, в которых и размещаются порты,— совмещенный ВВ. Организация доступа к портам в таких МС ничем не отличается от процесса записи-считывания данных в память. Совмещенный ВВ используется в МС на базе МП серии К1801.
На рис. 7.2 представлены четыре типовых набора областей для хранения программ и данных. Стрелкой указан процесс изоляции отдельных областей, приводящий к появлению нового типового набора. Все наборы существуют реально, на их основе созданы те или иные серии микропроцессорных БИС.
Каждый
тип организации
имеет свои преимущества и недостатки,
учет которых позволяет создавать
высокоэффективные системы различного
применения.
Организация пространств памяти и ввода-вывода. В отличие от RSEG память программ CSEG и данных DSEG, а также область ВВ 1/OSEG организованы проще. В ряде случаев память МС с точки зрения программиста представляет собой линейно упорядоченный набор n-разрядных ячеек с произвольным доступом — линейная память. Каждой ячейке набора соответствует число, называемое ее адресом. Все адреса занимают целочисленный диапазон от 0 до 2m-1, который образует адресное пространство памяти. Разрядность адреса m обычно равна 16, 18, 20, 24 или 32. В тех случаях, когда наименьшая адресуемая единица — байт (n=8), память имеет байтовую организацию.
Одним из примеров МС с памятью линейной организации байтового типа является 8-разрядная система на базе МП КР580ВМ80. Команды этого МП выполняют обращение к пространству памяти емкостью 216=64К байт. В дальнейшем память МС будет представляться таким образом, чтобы ячейки со старшими адресами располагались ниже, чем с младшими. Нумерация отдельных разрядов в ячейке производится справа налево начиная с нуля, при этом разряд с нулевым номером является младшим.
При необходимости хранящиеся в памяти программные объекты команды и операнды (данные к командам) могут располагаться в соседних ячейках пространства памяти. Адресом объекта обычно служит наименьший из адресов ячеек, занимаемых им. Операция обращения к памяти предполагает считывание или запись всего объекта как единого целого. Например, слова в памяти МС на базе МП КР580ВМ80 хранятся в двух соседних байтах. Старшая часть слова занимает байт со старшим адресом, а младшая — байт с младшим адресом. При атом адрес младшего байта служит адресом слова (см. рис. 7.3, а).
Память
большинства 16-
и
32-разрядных МС
также имеет байтовую организацию. Так,
нижний
уровень логического представления
памяти МП K18IOBM86
емкостью I
Мбайт (М=220)
аналогичен рассмотренному выше. Однако
в данном МП существует более высокий
уровень организации памяти, на котором
в основном и работает программист.
Очень часто организация памяти предусматривает определенные ограничения на возможное расположение многобайтовых объектов. Так, в МС на базе 16-разрядного МП К1801 BMI, которая также имеет память с байтовым доступом емкостью 64К байт,
слова в памяти могут находиться только по четным адресам, как представлено на рис. 2.3,6. Тогда при доступе к слову значение младшего разряда его адреса, указывающего на байт в слове, во внимание не принимается, т. е. такая память имеет границу слов. Порядок расположения байтов внутри слова стандартный: сначала младший, затем старший байт слова.
Организацию такого вида имеют не только пространства памяти DSEG и CSEG, но и область ВВ 1OSEG.
Командный цикл. Центральный процессор осуществляет ввод, обработку и вывод данных в соответствии с программой, хранимой в CSEG.
Программа—это упорядоченная последовательность команд и данных. Процесс исполнения программы заключается в последовательном выполнении команд, образующих программу.
Команда—это функционально завершенное элементарное действие, которое определяется типом используемых данных, источником их получения, операцией над ними, приемником размещения результата, а также источником получения следующей команды. Программист рассматривает команду как одно неделимое действие. На уровне физического обмена каждая команда представляет собой ряд типовых циклов обращения к системной магистрали.
Машинное
представление команды в памяти МС
называется ееобъектным
кодом.
Объектный
код команды состоит из ряда нулей и
единиц. Однако человеку более
понятна информация, представленная в
символьной форме. Поэтому наряду с
объектным кодом каждой команде
приписывается ее символическое
обозначение, или
мнемокод,
который
используется при написании программ
человеком с последующей
их перекодировкой в машинное представление.
Обычно существует взаимно-однозначное
соответствие между мнемокодом и
объектным кодом команды.
Время, необходимое для выполнения одной команды, называется командным циклом (рис. 7.4). Командный цикл делится на две фазы: выборки и исполнения. Работа ЦП заключается в непрерывном повторении чередующихся фаз командного цикла.
Фаза исполнения состоит в дешифрации содержимого 1R и выполнении действий, определяемых этим содержимым. Состав и порядок действий фазы исполнения для каждой команды свой. Она также может включать считывание дополнительных байтов (слов) команды и соответствующего изменения PC, несколько дополнительных обращений к памяти программ и(или) данных для выпорки операндов и размещения результата, циклы обращения к портам ВВ IOSEG.
В целом работа МС заключается в следующем. При включении источника питания или нажатии клавиши сброса RESET управление аппаратно передается на стартовый адрес памяти программ. Выбирается и исполняется первая команда, по результатам которой управление передается другой и т. д. При приеме специальной команды останова НLТ МС приостанавливает свою работу до следующего пуска.