В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > HC08 > Архитектура
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Функциональное описание CPU

Ниже следует обзор архитектуры CPU HC08 с описанием работы важнейших блоков CPU.

CPU, как это видно из Рис.7, состоит из двух основных блоков: блока управления и блока выполнения. Блок управления, в свою очередь, состоит из конечного автомата с разнообразной логикой управления и синхронизации. Выходы этого блока управляют блоком выполнения, содержащим арифметико-логическое устройство (ALU), регистры и шинный интерфейс.

Блок-схема CPU

Рис. 7. Блок-схема CPU

Внутреннее тактирование

Тактирование CPU08 организуется четырехфазным тактовым сигналом, фазы которого обозначаются T1, T2, T3 и T4. Синхронизация шины CPU организуется тактовым импульсом по каждой фазе, как это показано на Рис. 8. Для упрощения последующих диаграмм считается, что импульсы фаз T объединены в единый тактовый сигнал, названный тактовым сигналом CPU. Начало тактового сигнала CPU приходится на передний фронт импульса T1, хотя адрес, связанный с этим циклом не будет выдан на шину адреса до поступления импульса T3. Отметим, что новый адрес выведет соответствующие данные через половину цикла шины.

Например, чтение данных, соответствующих новому значению счетчика команд, генерируемого в фазах T1/T2 цикла 1 (См. Рис.8), не будет считано до наступления фазы T2 следующего цикла.

Детальное представление внутреннего тактирования CPU

Рис. 8. Детальное представление внутреннего тактирования CPU

Блок управления

Блок управления содержит секвенсер - формирователь последовательности состояний, память управления и логику произвольного управления. Эти блоки составляют конечный автомат, генерирующий сигналы управления блоком выполнения.

Секвенсер формирует последовательность состояний для управления управляющей памятью, базирующуюся на содержимом регистра команд (IR) и текущем состоянии конечного автомата. Управляющая память стробируется (разрешается) когда очередное состояние входа стабилизируется, формируя выход, представляющий декодированное условие следующего состояния блока выполнения (EU). Этот результат, с помощью некоторой произвольной логики, используется для генерации сигналов управления, которые конфигурируют блок выполнения. Произвольная логика выбирает соответствующие сигналы и добавляет сигналы синхронизации управляющей памяти. Блок управления срабатывает один раз на каждый цикл шины но срабатывает почти на целый цикл раньше блока выполнения для обеспечения декодирования и генерации всех управляющих сигналов для следующего цикла. Последовательная природа конечного автомата показана на Рис.9.

Сeквенсер содержит также, и управляет его работой, регистр OPCODE LOOKAHEAD, который используется для предварительной выборки следующей команды. Тактирование этой операции обсуждается в подразделе Выполнение команды.

Тактовая частота CPU

Тактирование блока управления

Рис. 9. Тактирование блока управления

Блок выполнения

Блок выполнения (EU) содержит все регистры, АЛУ и шинный интерфейс. С каждым циклом шины вычисляется новый адрес, передачей содержимого выбранного регистра по внутренней шине данных в буферы адреса. Отметим, что новый адрес приведет к соответствующим данным через половину цикла шины. Блок выполнения также содержит некоторую логику специальных функций для таких команд, как: DAA, MUL и DIV.

Выполнение команд

Каждая команда выполняется в границах, определяемых конечным количеством циклов T1-T2-T3-T4. Все команды отвечают, во время их выполнения, за выборку следующего операционного кода (опкода) из регистра OPCODE LOOKAHEAD. Содержимое регистра OPCODE LOOKAHEAD копируется в регистр команд во время последнего цикла команды. Выполнение новой команды начинается с цикла T1 после того как она будет загружена в регистр команд.

Отметим, что все команды отвечают за инкремент счетчика команд (PC) после предварительной выборки следующей команды. Таким образом, по завершении выполнения команды (т.е. на границе выполнения команды) счетчик команд будет отмечать байт следующий за операционным кодом, выбранным командой. Пример последовательности команд, касающихся активности шин адреса и данных, относительно границ команд, показан на Рис.10.

Сигнал блока управления, OPCODE LOOKAHEAD, указывает цикл, когда выбирается следующий операционный код. Другой управляющий сигнал, LASTBOX, указывает последний текущий цикл выполняемой команды. В большинстве случаев, OPCODE LOOKAHEAD и LASTBOX активны в одно и то же время. Однако, для ряда команд, сигнал OPCODE LOOKAHEAD выбирается в команде раньше и следующий операционный код предвыбирается и сохраняется в регистре предварительного просмотра до окончания выполняемой команды.

В примере границ команд (Рис.10) OPCODE LOOKAHEAD и LASTBOX устанавливаются одновременно во время выполнения TAX и INCX, но индексированная команда LDA, с 8-разрядным смещением, выбирает следующий операционный код перед последним циклом. См. Рис.11.

Выделенные команды Рис.10 иллюстрируются на Рис.11.

                    ORG $50
                    FCB $12 $34 $56
                    ORG $100
0100    A6  50      LDA #$50            ;A = $50        PC=$0103
0102    97          TAX                 ;A -> X         PC=$0104
0103    e6  02      LDA 2, x            ;[X+2] -> A     PC=$0106
0105    5c          INCX                ;X = X+1        PC=$0107
0106    c7  80  00  STA $8000           ;A -> $8000     PC=$010A

Рис. 10. Границы команд

Временная диаграмма выполнения команд

Рис. 11. Временная диаграмма выполнения команд



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