1. Микропроцессоры. Определение, классификация, закономерности развития, области применения


(?). Структура современных 32-разрядных микроконтроллеров с RISC-архитектурой


Download 1.82 Mb.
bet23/34
Sana27.02.2023
Hajmi1.82 Mb.
#1234382
TuriЗакон
1   ...   19   20   21   22   23   24   25   26   ...   34
Bog'liq
Mpsis ekz

22(?). Структура современных 32-разрядных микроконтроллеров с RISC-архитектурой


Рассмотрим структуру современных 32-разрядных микроконтроллеров с RISC-архитектурой на примере микроконтроллера LPC2300 с архитектурой ARM7:



С точки зрения программиста, память любого из устройств LPC2300 представляет собой непрерывное 32-битное адресное пространство. На самом деле внутри устройства имеется по меньшей мере две стандартные шины: усовершенствованная высокоскоростная шина AHB (Advanced High performance Bus) для наиболее быстродействующих периферийных устройств и усовершенствованная периферийная шина APB (Advanced Peripheral Bus) для остальных модулей. Шина APB подключена к AHB посредством моста, в состав которого входит делитель частоты тактового сигнала. Благодаря этому делителю при запуске пользовательской периферии на частоте ниже частоты ядра уменьшается потребляемая мощность.


Кроме того, в состав LPC2300 входит ряд быстродействующих периферийных устройств, каждое из которых имеет собственный модуль ПДП. Чтобы минимизировать конфликты захвата шины между ядром и ПДП, микроконтроллер включает в себя две шины AHB, одну шину APB и дополнительную локальную шину для связи с ядром.


Основной элемент ядра ARM7 — трехступенчатый конвейер команд, который не подвержен возникновению конфликтов, таких как «чтение-после-записи», встречающихся в конвейерах с большим числом ступеней. Конвейер имеет три аппаратно-независимые ступени, благодаря которым одновременно с выполнением первой команды осуществляются декодирование второй и выборка третьей команд.


Процессор ARM7 имеет архитектуру «загрузка-хранение» (load-and-store), т. е. для выполнения любой обработки данных необходимо сначала перенести эти данные из памяти в определенные регистры, выполнить команду обработки данных и затем записать полученные значения обратно в память.


Основной регистровый файл состоит из 16 пользовательских 32-битных регистров R0 – R15. Регистры R0 – R12 предназначены исключительно для нужд пользователя и не выполняют никаких дополнительных функций. Регистр R13 используется в качестве указателя стека (Stack Pointer — SP). При вызове подпрограммы адрес возврата автоматически запоминается в регистре связи R14 (Link Register — LR), откуда затем считывается при возврате, что позволяет быстро переходить к .концевым. функциям (функции, которые не вызывают других функций) и возвращаться из них. Если же функция входит в состав ветви, т. е. вызывает другие функции, содержимое регистра связи необходимо сохранять в стеке (R13). Регистр R15 выполняет функции счетчика команд (Program Counter — PC). Многие команды могут работать с регистрами R13 – R15, как с обычными пользовательскими регистрами.


Наряду с банком регистров в ядре ARM7 имеется дополнительный 32-битный регистр, называемый регистром текущего состояния программы (Current Program Status Register — CPSR), который содержит набор флагов, управляющих функционированием МП ARM7 и отображающих его состояние.


В старших четырех битах регистра CPSR хранятся флаги условий, значения которых определяются процессором. Младшие восемь битов содержат флаги, значения которых прикладная программа может изменять.


Ядро ARM7 разработано таким образом, чтобы его можно было использовать как в качестве процессора с обратным порядком битов (big-endian processor), так и в качестве процессора с прямым порядком битов (little-endian processor). В семействе LPC2300 используется только прямой порядок битов.


Одна из наиболее интересных особенностей набора команд ARM заключается в том, что каждая команда поддерживает условное выполнение. В традиционных микроконтроллерах условными командами являются команды условных переходов и иногда команды проверки либо изменения состояния отдельных битов.


Все множество команд ARM можно разбить на шесть основных групп: команды ветвления, команды обработки данных, команды передачи данных, команды передачи блоков данных, команды умножения и команда программного прерывания.


Рассмотренная архитектура ARM7 является основой широко распространенного семейства 32-разрядных микроконтроллеров и отображает ключевые принципы построения, присущие контроллерам других семейств на базе ядра ARM.



Download 1.82 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   34




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling