Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Архитектура C28x




Микроконтроллеры C28x

ИСР AVR Studio

 

Это дешевый 32-разрядный цифровой сигнальный контроллер (DSC – Digital Signal Controller) с фиксированной точкой. В нем использована система команд RISC (с интуитивно понятными одноцикловыми командами), модифицированная гарвардская архитектура и циклическая адресация.

Высокоуровневая концептуальная модель включает:

· ЦП CPU для генерации адресов памяти программ и памяти данных, декодирования и исполнения инструкций, выполнения арифметических, логических и сдвиговых операций, и контроля передачи данных между регистрами CPU, памятью данных и программ.

· Эмуляционную логику, которая наблюдает за и управляет функциональностью DSC, а также выполняет тестирование.

· Блок схема C28x

Использует гарвардскую архитектуру с раздельными шинами программ и данных. Система команд – RISC (Reduced Instructions Set Computing). Содержит компоненты:

· Ядро C28x – 32-битный DSP, производительность 100-150 MIPS (миллионов инструкций в секунду).

· ПЗУ загрузчика (Boot ROM)

· ОЗУ до 40 Кбайт (RAM).

· Память программ ПЗУ до 256 Кбайт, либо перезагружаемое (Flash), либо программируемое на заводе (ROM).

· Блок управления прерываниями (Interrupt Management).

· Шина данных (Memory Bus).Периферийная шина (Peripheral Bus).

· 2 блока управления событиями (Event Manager A, B).

· Встроенный 12-разрядный аналого-цифровой преобразователь (ADC).

· Сторожевой таймер (Watchdog). Он для защиты от сбоев делает сброс программы через определенные интервалы времени.

· Многоканальный буферизированный интерфейс c последовательным портом McBSP (Multichannel Buffered Serial Port).

· Интерфейс c коммуникационным портом I2C. Используется всего 2 линии – данные и синхронизация. К интерфейсу подключается любой уникально адресуемый источник.

· Интерфейсы c сетевым контроллером CAN (Control Area Network). Связывает множество клиентов общей сетью, использует буферы, фильтры данных и поддерживает работу с приоритетами.

· Масштабируемый когерентный интерфейс c коммуникационным портом SCI (Scalable Coherent Interface), обмен 16-битными словами.

· Последовательный периферийный интерфейс SPI (Serial Peripherial Interface). Надежный обмен данными по индивидуальным для каждого направления линиям.

Ядро C28x содержит:

· Умножитель 32х32 (Multiplier).

· 32-битные таймеры.

· Встроенный модуль отладки (JTAG реального времени).

· Атомарное АЛУ, выполняющее одновременно считывание, перемножение и запись результата.

· Регистровый файл с комплектом регистров.

В DSC используются регистры (находятся или в регистровом файле, или в других модулях):

· ACC – аккумулятор, 32 бита. Находится в АЛУ.

· AH – старшая часть ACC, 16 бит.

· AL – младшая часть ACC, 16 бит.

· P – произведение, 32 бита. Находится в умножителе.

· PH – старшая часть P, 16 бит.

· PL – младшая часть P, 16 бит.

· XT – регистр сомножителя, 32 бит Находится в умножителе.

· XAR0 – XAR7 – дополнительные регистры, 32 бита. Находятся в регистровом файле.

· AR – старшая часть XAR, 16 бит.

· PC - программный счетчик, 22 бита. Находится в ядре.

· RPC – возврат программного счетчика, 22 бита. Находится в ядре.

· DP – указатель на страницу данных, 16 бит. Находится в ядре.

· SP – указатель стека, 16 бит. Находится в ядре.

· STO0 –STO1 – статусные регистры, 16 бит. Находятся в ядре.

· IER – разрешение прерываний, 16 бит. Находится в ядре.

· IFR - флаг прерываний, 16 бит. Находится в ядре.

Главные особенности CPU:

· Поддерживается 8-ступенчатый конвейер, который предотвращает запись или чтение по одному и тому же адресу в неправильном порядке.

· Имеется независимое пространство регистров. Оно не входит в пространство данных. Эти регистры используются как системные (доступны в специальных командах), математические и указатели на данные.

· 32-разрядное арифметико-логическое устройство (АЛУ), выполняет арифметику в дополнительном коде и логические операции.

· Арифметический модуль адресного регистра (Address register arithmetic unit - ARAU). Он работает параллельно с АЛУ, генерирует адреса памяти и увеличивает или уменьшает указатели.

· Циклический сдвигатель (Barrel shifter). Осуществляет сдвиги данных влево или вправо на 1-16 бит.

· Умножитель (Multiplier). Реализован аппаратно, выполняет умножение 32х32 в дополнительном коде с 64-разрядным результатом. Сомножители могут быть как знаковые, так и без знака.

Главные особенности эмуляционной логики:

· Прямой доступ к памяти в отладочном и тестовом режимах (Debug-and-test direct memory access - DT-DMA).

· Запрос данных.

· Счетчик для реализации закладок.

· События отладки. Следующие события вызывают сброс устройства: команды ESTOP0 и ESTOP1, обращение к определенной области памяти программ или памяти данных, запрос от внешнего устройства. Когда событие возникает, CPU переходит в режим ожидания.

· Работа в режиме реального времени.

Главные сигналы CPU:

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

· Тактовый и управляющий сигналы. Обеспечивают тактирование CPU и эмуляционной логики, а также используются при контроле и управлении CPU.

· Сигналы сброса и прерываний. Осуществляют аппаратный сброс или обращение к процедуре обработки прерывания, а также для контроля статуса прерывания.

· Эмуляционные сигналы используются при отладке и тестировании.

· Карта памяти

В C28x используется память из 16-разрядных слов. На кристалле находятся:

Память программ. Адрес задается 22-разрядным регистром программного счетчика (Program Counter - PC). Это позволяет иметь в памяти программ 4М слов (слово = 16 бит). По нижним 2К адресам $0000…$7FF определены 2 блока по 1К: блок векторов прерываний VMAP=0 (адреса $000…$3FF), блок M1 для кода программы (адреса $400…$7FF). Адреса $800…$9FF зарезервированы. По адресам $1000…$3FFFFF расположена область памяти и периферия. Верхние 64К (адреса $3F0000…$3FFFFF) этой области занимает сегмент, совместимый с режимом C2xLP. В нем по верхним адресам имеется блок VMAP=1 векторов прерываний.

Память данных. Использует страничную организацию, номер страницы хранится в 16-разрядном регистре (Data Page Pointer – DP), всего страниц 64К=216. Размер страницы 64К. Всего память данных может содержать до 4Г=64К*64К слов (слово = 16 бит). Нижние 64К (адреса $0000…$A000) этой области занимает сегмент, совместимый с режимом C2xLP. По нижним 2К адресам $0000…$7FF определены 2 блока по 1К: блок векторов прерываний VMAP=0 (адреса $000…$3FF), блок M1 для данных (адреса $400…$7FF). Адреса $800…$9FF зарезервированы. По адресам $1000…$FFFFFFFF расположена область памяти и периферия.

Память имеет отдельные шины для пространства программ и пространства данных. Это означает, что инструкция может быть вызвана, когда данные уже готовы. Возможен доступ к данным размером 16 и 32 бита. Имеются также инструкции доступа к младшему или старшему байту слова данных. Имеются 3 адресные шины:

· PAB (Program address bus) - шина адреса памяти программ для выборки кода программы.

· DRAB (Data-read address bus) - шина адреса памяти даных для чтения данных.

· DWAB (Data-write address bus) - шина адреса памяти данных для записи данных.

Имеются 3 шины данных:

· PRDB (Program-read data bus). Шина, на которую считывается код из памяти программ.

· DRDB (Data-read data bus). Шина, на которую считываются данные из памяти данных

· DWDB (Data-write data bus). Шина, с которой данные записываются в память данных или в память программ.

Для временного хранения данных предусмотрена стековая память, организованная по правилу «последним пришел первым ушел» (Last In First Out - LIFO).. Доступ к стеку через указатель стека (Stack Pointer – SP). Его содержимое – адрес верхушка стека.

Стек SP размещается в памяти данных. Стек растет в сторону увеличения адреса. Указатель стека SP хранит адрес верхушки стека. SP имеет 16 разрядов, поэтому максимальный адрес в SP равен $FFFF и размер стека не может превышать этого значения. Стек может использовать адреса в диапазоне от $0000 до $FFFF.

Когда 32-разрядное значение сохраняется в стеке, то сначала сохраняется старшая часть, а по следующему адресу – младшая часть.

Методы адресации. Поддерживаются 4 метода адресации:

· Прямая. Использует 16-разрядный DP (Data Page) регистр. Его содержимое – начальный адрес сегмента памяти. В инструкциях для адресации в пределах сегмента добавляется поле смещения (6 или 7 бит). Используется для адресации к структурам.

· Стековая. Использует 16-разрядный регистр указателя стека (Stack Pointer – SP). Его содержимое – адрес верхушка стека. В инструкциях для адресации в пределах стека добавляется поле смещения (6 бит), которое вычитается из адреса верхушки стека. Используется для адресации к стековой памяти.

· Косвенная (не прямая). Использует 32-разрядныевспомогательные регистры XAR0…XAR7 в качестве указателей памяти данных. В инструкциях можно прямо использовать содержимое выбранного регистра с полем смещения (3-битовая константа или содержиое 16-разрядного регистра). Альтернатива - пост-инкремент, пред/пост-декремент для автоматического изменения адреса.

· Регистровая. Использует пару регистров, один источник данных, другой приемник.

Концептуальная блок-схема CPU.

 

 

На схеме представлены::

· 32-разрядная шина считываемых команд. На нее считываются команды из памяти программ.

· 22-разряднаяадресная шина команд.

· 32-разрядная адресная шина считываемых данных.

· 32-разрядная шина считываемых данных. На нее считываются данные из памяти данных.

· Буфер считываемых данных. Это регистр для хранения считанных данных. Его выход передается на шину операндов, либо на генератор адреса памяти программ, если данные - это адрес стека. Это первый операнд при выполнении команды.

· Шина операндов. На ней находится первый операнд при выполнении команды.

· Шина результата операции в исполнительном устройстве.

· Буфер записываемых данных. Это регистр данных, записываемых в память данных. Он загружается с шины результатов операции Result Bus.

· Логика управления командами. Декодирует считанную команду и передает данные исполнительным устройствам.

· Логика генерации адресов команд.

· Арифметический модуль адресного регистра ARAU. Вычисляет адреса для регистрового файла и адресной шины считываемых данных.

· Регистровый файл, который содержит набор регистров (системные и общего назначения).

· Исполняющее устройство, включает - умножитель, параллельный сдвигатель, АЛУ. Умножитель реализован аппаратно, выполняет умножение 32х32 или два умножения 16х16.




Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 518; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.