КАТЕГОРИИ: Архитектура-(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; Просмотров: 542; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |