КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Ядро микроконтроллера
В состав ядра МК входят процессор, тактовый генератор и контроллер шины (рис.). Процессор непосредственно осуществляет процесс переработки информации, представленной в виде двоичных кодов, и управление этим процессом в соответствии с программой, представляющей собой последовательность команд. Тактовый генератор осуществляет формирование последовательности опорных сигналов, синхронизирующих протекание процессов в узлах МК, на основе внешней последовательности опорных импульсов. Контроллер шины осуществляет формирование распространяемой по внутренней шине многофазной импульсной последовательности, тактирующей различные стадии выполнения команд в МК и необходимой для организации обмена данными с периферийными устройствами МК. Команды располагаются по заданным адресам (номерам ячеек) в памяти команд и представляют собой управляющие коды, описывающие выполняемую операцию и задающие операнды (данные, над которыми выполняется операция). Каждый МК обладает определенной системой команд, характеризуемой списком команд и их форматом. Список команд представляет собой набор операций, выполнение которых предусмотрено на процессоре данного МК. В списке команд любого МК можно выделить четыре группы операций: - операции передачи данных (между ячейками памяти МК, а также другими программно-доступными элементами МК); - арифметические операции (сложение, вычитание, умножение, деление); - логические операции ("И", "ИЛИ", инверсия, исключающее "ИЛИ", различные сдвиги); - операции передачи управления (безусловный переход по заданному адресу, переход по условию равенства или неравенства операндов, переход на подпрограмму и возврат из нее и т. п.).
Формат команды позволяет определить тип выполняемой на очередном шаге программы операции, входные и выходные операнды, а гакже адрес команды, подлежащей выполнению па следующем шаге программы. Тип выполняемой команды задается кодом операции (КОП). Для задания операндов применяются следующие методы указания их локализации — способы адресации операндов: - неявная: операнд не указывается в связи с однозначностью доступа к нему (например, в связи с единственно возможным его размещением); -непосредственная, входной операнд помещается в гело команды (например, с целью задания констант); - прямая: в команде указывается адрес в памяти данных, по которому расположен операнд; - косвенная: в команде указывается адрес ячейки в памяти данных, содержащей адрес ячейки в памяти данных, по которому расположен операнд (например, при организации доступа к последовательно расположенным данным при неоднократном повторении участка программы удобно изменять значение операнда команде, тем самым меняя адрес искомого данного); - относительная: в команде указывается адрес ячейки в памяти данных, содержимое которой, будучи сложенное с некоторой величиной (например, задаваемой неявно), даст адрес ячейки в памяти данных, по которой расположен искомый операнд (например, при обращении к элементу таблицы данных удобно определять искомый операнд по смещению относительно начала таблицы). Адрес следующей исполняемой команды задается неявно как адрес памяти программ, следующий за адресом выполняемой в данный момент команды, что объясняется преобладанием в большинстве программ линейных участков последовательностей команд. Для его явного задания при организации пик- лов, подпрограмм, ветвлений по условиям и т. п. применяют команды, код операции (КОП) которых кодирует определенную операцию передачи управления.
В состав систем команд большинства МК включены (по количеству адресуемых в одной команде операндов) одно-, двух-, трех- и безадресные команды, Процедура выполнения команд в МК сводится к следующему. Пo окончании действия импульса сброса проводится инициализация регист- рог ядра МК. В указатель команды заносится адрес начального пуска. Пo адресу, содержащемуся в указателе команды, из области памяти iipoi рамм под воздействием управляющих сигналов, формируемых контроллером шипы, в регистр команд загружается очередная команда исполняемой контроллером программы. Выполнение любой команды представляет собой последовательность определенных действий (микрооперации): определение количества требуемых для операции операндов, определение локализации необходимых операндов, их извлечение, формирование кода действия для исполнительного блока, ожидание окончания исполнения операции, определение локализации результатов, занесение результатов, определение адреса следующей команды и ряд других. Конкретный перечень микроопераций, реализуемый при выполнении очередной команды, определяется ее КОП. Для настройки схем процессора на требуемую микрооперацию используются последовательности управляющих сигналов. КОП считанной из памяти программ команды дешифрируется и поступает на микропрограммный автомат (МПА), вырабатывающий с каждым очередным тактом синхронизации, поступающим от контроллера шины, необходимый на данной стадии отработки команды набор управляющих сигналов. Выполнение в процессоре арифметических и логических операций, сдвигов, обнуления и т. п. обеспечивается арифметико-логическим устройством (АЛУ). Память констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при выполнении в АЛУ операций над битами, а также выдачу кодов констант. Для временного хранения данных, над которыми в АЛУ выполняется операция, предназначены регистры входных операндов, информация в которые заносится из области памяти данных с применением соответствующего указателя. По окончании выполнения операции в АЛУ ее результаты заносятся в регистры результатов, а также формируются признаки результатов операции (переполнение, сдвиг, знак и т. п.), заносимые в регистр слова состояния процессора и доступные для считывания и анализа программой (например, для организации перехода на иную ветвь программы в связи с наличием арифметического переполнения). Затем в общем случае в указатель данных последовательно заносятся адреса ячеек памяти данных, в которые необходимо поместить результаты команды (эти адреса извлекаются из полей адресации выходных операндов), и из регистров результата операнды заносятся в ячейки памяти данных, адресуемые указателем данных. (Следует отметить, что, как правило, в процессоре МК используется дополнительный указатель на память данных, снабженный механизмами автоувеличения при занесении операндов в память и автоуменьшения при извлечении операндов из памяти. Такой метод доступа к памяти называется стековым, а выделяемая в памяти данных область для этих манипуляций называется стеком. Стек используется и при организации подпрограмм, в частности, подпрограмм обработки прерываний.)
После размещения выходных результатов происходит автоувеличение указателя команд, либо, в случае выполнения ветвления в исполняемой программе, в него заносится содержимое заданного поля операнда в исполненной команде. В обоих случаях в указателе команд оказывается адрес ячейки памяти, содержащей очередную подлежащую выполнению команду, и описанный процесс повторяется.
Дата добавления: 2014-12-10; Просмотров: 2111; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |