русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

БЛОК ВЫБОРКИ


Дата добавления: 2015-08-31; просмотров: 2091; Нарушение авторских прав


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

Память программ

Основным элементом блока выборки является память программ. Программное обеспечение во встраиваемых системах фиксировано, поскольку после включения питания микроконтроллер должен сразу же приступить к выполнению своих задач, не тратя время на загрузку программы. Поэтому память программ, как правило, реализуется в виде ПЗУ какого-либо типа. В большинстве микроконтроллеров РIС используется многократно-программируемое ПЗУ; если в обозначении модели присутствует буква «F», то это FLASН~память.В памяти программ микроконтроллера РIС 16F84 может храниться до 1024 команд, размер каждой из которых составляет 14 бит (см.Рис. 5.1. на стр. 32). В новых микроконтроллерах семейства среднего уровня размер памяти программ колеблется от 1024 (например, Р1С 16F627) до 8192 (Р1С 16F876/7) команд.

Рис. 5.2. Блок выборки PIC16F84

Счетчик команд

Счетчик команд (Ргоgrаm Соuntег — РС) используется для адресации, или указания считываемой из памяти программ команды. Этот 13-битный регистр обычно инкременти-руется после каждой выборки, функционируя как двоичный счетчик. Однако, как мы с вами увидим в следующей главе, существует ряд команд, таких как команда GOTO, выполнение которых вызывает переход к другому месту в памяти программ. Соответственно, нормальное функционирование счетчика команд нарушается. Кроме того, программист может напрямую обращаться к счетчику команд через память данных.

Рис. 5.3. Память программ PIC16F84



Конвейер

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

Естественно, при этом предполагается, что последовательность выполнения команд имеет линейный характер. Для команд, выполняющих переход к другому месту памяти программ, команда, находящаяся на вершине конвейера, должна быть заменена на другую. Этот процесс называется сбросом конвейера и увеличивает время исполнения команды на один цикл.

Как видно изРис. 5.4, обычно команда выполняется за один машинный цикл.

Рис. 5.4. Фазы машинного цикла

Дешифратор команд

Дешифратор команд представляет собой логическую схему, которая декодирует каждое поле 14-битного слова команды и управляет передачей соответствующих адресов и данных на требуемые входы исполнительного блока, а также конфигурирует АЛУ.

Все модели микроконтроллеров РIС имеют встроенный генератор, задающий последовательность выполнения внутренних микроопераций в соответствии с сигналами, поступающими от дешифратора команд. В качестве времязадающего элемента обычно используется внешний кварцевый резонатор, подключаемый к выводам (Рис. 5.2)OSС1 и OSС2 микроконтроллера.

Именно этот резонатор определяет тактовую частоту микроконтроллераFоsс. Максимальная тактовая частота большинства моделей среднего уровня составляет 20 МГц, однако в некоторых ранних моделях частота не могла превышать 10, а то и 4 МГц. Минимальная тактовая частота ничем не ограничена.

Частота тактового генератора делится на четыре, чтобы получить четыре не перекрывающихся тактовых сигнала. Каждый из этих сигналов используется схемой дешифратора для управления внутренними узлами процессора в требуемой последовательности. Соответственно длительность одного машинного цикла равна четырем периодам внешнего сигнала Fоsс (см.Рис.5.4). Таким образом, при использовании резонатора с частотой 4 МГц частота машинных циклов составляет Fоsс/4, что соответствует периоду машинного цикла, равному 1 мкс.

В зависимости от текущей фазы машинного цикла блок выборки выполняет следующие операции:

Q1: Инкрементирование счетчика команд и выставление его содержимого на шину адреса памяти программ.

Q4: Считывание кода команды с шины данных памяти программ в регистр команд IR1 и одновременно с этим пересылка предыдущей команды по конвейеру в регистр команд IR2, подключенный к дешифратору команд.

Стек

Стек представляет собой отдельный блок из восьми 13-битных регистров, который подключен к счетчику команд. Cтек используется для хранения предыдущего значения счетчика команд, т.е. «запоминает» точку возврата при вызове подпрограммы.

Тактовый генератор

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

- XT кваpцевый pезонатоp

- HS высокочастотный кваpцевый pезонатоp

- LP микpопотpебляющий кваpцевый pезонатоp

- RC цепочка

В случае задания ваpиантов XT, HS и LP к микpосхеме подключается pезонатоp, а в случае задания ваpианта RC - pезистоp и конденсатоp. Конечно, кваpцевый pезонатоp значительно точнее и стабильнее, но если высокая точность отсчета вpемени не нужна, использование RC генеpатоpа может уменьшить стоимость и габаpиты устpойства.

Частота тактового генератора определяет машинный цикл работы микроконтроллера. При использовании кварцевого резонатора частотой 4 Мгц машинный цикл составляет 1 мкс.



<== предыдущая лекция | следующая лекция ==>
ГЛАВА 5. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА СЕМЕЙСТВА P1C. | ИСПОЛНИТЕЛЬНЫЙ БЛОК


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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