В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве




Arduino Uno R3 Atmega328
готовый модуль
Лучшая Цена 335 руб




Стартовый набор с большим набором аксесуаров
Arduino Uno R3 Atmega328
Лучшая Цена 2211 руб



3.5. Программный поток

Сразу после сброса выполнение программы начинается с нулевого адреса. Управление программным потоком выполняется инструкциями условного и безусловного переходов и вызова подпрограммы, которые способны адресоваться напрямую в пределах всего адресного пространства. Большинство инструкций являются 16-битными. По каждому адресу в памяти программ хранится 16- или 32-битная инструкция. Счетчик программы (PC) содержит адрес ячейки памяти, по которому выполняется выборка инструкции. При вызове процедур обработки прерывания и подпрограмм состояние PC запоминается в стеке, как адрес возврата.

При возникновении разрешенного прерывания в счетчик программы загружается вектор этого прерывания, что позволяет перейти к процедуре его обработки. Флаг прерывания сбрасывается автоматически на аппаратном уровне.

Встроенный в МК контроллер прерываний имеет отдельные регистры управления. В частности в его регистре статуса имеет дополнительный бит общего разрешения прерываний. У всех прерываний имеется отдельный вектор. Они следуют за вектором сброса, расположенного по адресу 0 в памяти программ. У каждого прерывания реализована возможность программирования уровня приоритета. Если же для прерываний установлен одинаковый уровень, то приоритет будет определяться адресом вектора прерывания: чем меньше адрес, тем выше приоритет.

3.6. Временная диаграмма выполнения инструкций

ЦПУ AVR синхронизируется сигналом CLKCPU. Внутреннее деление частоты этого сигнала не предусмотрено. На рисунке 3.2 демонстрируется параллелизм выборки одной инструкции и исполнения другой. Такой механизм стал возможным, благодаря использованию Гарвардской архитектуры и концепции, обеспечивающей быстродействие доступа к данным в регистровом файле. В конечном счете, такая концепция простой конвейеризации позволяет добиться производительности близкой к 1 MIPS/МГц и, как следствие, получить уникальные соотношения функциональности со стоимостью решения, частотой синхронизации и энергопотреблением.

Параллельность выборки и выполнения инструкций
Рисунок 3.2. Параллельность выборки и выполнения инструкций

На рисунке 3.3 представлена временная диаграмма доступа АЛУ к регистровому файлу. За один цикл синхронизации, который требуется для выполнения операции в АЛУ, выполняется операция над двумя регистрами-операндами, а результат возвращается в регистр-назначение.

Операция в АЛУ выполняется за один цикл синхронизации
Рисунок 3.3. Операция в АЛУ выполняется за один цикл синхронизации

3.7. Регистр статуса

В регистре статуса (SREG) хранится информация относительно результата большинства ранее выполненных арифметических или логических инструкций. Данная информация необходима для выполнения операций условия, которые управляют программным потоком. Обратите внимание, что регистр статуса обновляется после выполнения любой операции АЛУ в объеме, указанном в описании набора инструкций. Благодаря этому, во многих случаях исчезает необходимость использования специальных инструкций сравнения, что делает код программы более компактным, а его выполнение более быстрым.

Содержимое регистра статуса автоматически не запоминается при вызове процедур обработки прерывания и не восстанавливается при выходе из них. Данные действия необходимо выполнить программно.

Регистр статуса доступен в пространстве памяти ввода-вывода.



<-- Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники