Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Блок счетчика команд (СК)
Структура блока счетчика команд приведена на рис 6. В состав блока СК входят: - регистр счетчика команд (СК) - предназначен для хранения адреса очередной команды;
Рис.6. Структура блока счетчика команд - р егистр адреса (РА) - предназначен для хранения адреса текущей команды и формирования его на шине адреса на время операции чтения памяти; - блок инкремента - обеспечивает автоматическое увеличение содержимого регистра СК при выполнении операции чтения памяти программ; - б уфер СК - предназначен для согласования 8-разрядной шины данных и внутренней 16-разрядной шины блока СК; - регистр указатель DPTR - хранит адрес при работе с внешней памятью данных.
Блок счетчика команд (СК) имеет три режима работы. 1. Режим формирования адреса команды. В начале цикла обращения к памяти программ содержимое регистра счетчика команд выставляется на внутреннюю шину блока, по которой поступает в регистр адреса, затем по шине адреса микроконтроллера поступает в память программ. Одновременно с этим адрес поступает в блок инкремента, где автоматически увеличивается на единицу, а затем записывается в регистр счетчика команд. 2.Режим коррекции регистра счетчика команд. При выполнении команд условного и безусловного перехода происходит коррекция содержимого регистра счетчика команд. Для этого адрес по шине данных в два этапа (сначала старший, затем младший байт) поступает в буфер программного счетчика, затем полный шестнадцатиразрядный адрес по внутренней шине блока записывается регистр счетчика команд. 3.Режим формирования адреса внешней памяти данных. Для работы с внешней памятью данных адрес предварительно записывается в регистр указатель DPTR. При выполнении команд обращения к внешней памяти данных (чтение или запись) адрес из указателя отправляется в регистр адреса, затем по шине адреса микроконтроллера на внешние контакты портов Р0 и Р2 микроконтроллера. Процедура чтения и выполнения команды осуществляется следующим образом (рис.7): - регистр счетчика команд (СК) хранит адрес очередного байта программного кода; Рис.7. Взаимодействие блоков при чтении и выполнении команды - в начале очередного машинного цикла блок управления формирует управляющий сигнал блоку счетчика команд; - при получении сигнала от блока управления содержимое регистра счетчика команд по внутренней 16-разрядной шине блока отправляется в регистр адреса, где хранится в течение цикла обращения к памяти и откуда выставляется на шину адреса микроконтроллера. Одновременно с этим содержимое регистра СК поступает в блок инкремента, увеличивается на 1, затем записывается обратно в регистр СК (таким образом обеспечивается последовательное считывание программного кода из памяти программ); - адрес по шине адреса поступает в память программ, здесь дешифрируется и обеспечивает доступ к ячейке памяти с указанным адресом. Содержимое ячейки выставляется на шину данных и передается в блок управления; - код команды записывается в регистр команд. После этого дешифратор преобразует восьмиразрядный код команды в 24-разрядный код для программируемой логической матрицы (ПЛМ), которая формирует управляющие сигналы для выполнения команды.
|