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

 
Пересюхтюмя


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





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





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


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





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


Регистровая структура процессора CPU32

Набор регистров (регистровая модель) процессора CPU32 показан на рис.3.1. Регистры, входящие в модель супервизора: SR (старший байт), SSP, VBR,SFC,DFC доступны только при работе CPU32 в режиме супервизора.

         
 
31 16
15 8
7 0
 
        D0
        D1
        D2
        D3
        D4
        D5
        D6
        D7
 
31 16
15 0
 
      A0
      A1
      A2
      A3
      A4
      A5
      A6
    USP A7
     
7 0
 
      CCR  
 
31 0
 
    PC
Модель пользователя  
 
31 16
15 0
 
SSP A7
 
15 8
7 0
 
    CCR SR
31 0
 
  VBR
                     
2 0
 
                        SFC
Модель супервизора     DFC
         

Рис.3.1. Регистровая модель процессора CPU32

    Модель пользователя содержит два набора из восьми 32-разрядных регистров: регистры данных D0-D7 и регистры адреса A0-A7. Один из регистров адреса - A7, служащий в качестве указателя стека (SP - stack pointer), дублирован для обслуживания задач различных классов. В режиме пользователя указателем стека служит регистр USP, в режиме супервизора - регистр SSP. Таким образом обеспечивается возможность разделения стеков при решении задач пользователя и супервизора. Программный счетчик PC имеет 32 разряда, однако в данном семействе микроконтроллеров используются только 24 разряда в соответствии с принятой разрядностью шины адреса.

15  14 13 12  11 10  8 7  5 4 3 2 1 0
T1-0 S 0  0 I2-0 0  0  0 X N Z V C
                   
  CCR

Рис.3.2. Формат содержимого регистра состояния SR

Регистр состояния SR (рис.3.2) содержит два байта: системный байт и байт пользователя. Полностью регистр SR доступен только в режиме супервизора. В режиме пользователя доступны только младшие разряды (байт пользователя), которые образуют регистр условий CCR. Отдельные биты регистра CCR имеют следующее назначение:
    С - признак переноса, принимает значение C=1 при возникновении переноса из старшего разряда обрабатываемых операндов;
    V - признак переполнения, принимает значение V=1 в случае переполнения разрядной сетки при обработке операндов со знаком;
    Z - признак нуля, принимает значение Z=1 при получении нулевого результата операции;
    N - признак знака, принимает значение старшего (знакового) разряда результата операции: N=0 - положительное число, N=1 -отрицательное;
    X - признак расширения, в большинстве случаев копирует признак С, но при выполнении некоторых операций эти признаки устанавливаются по-разному.
    Биты системного байта регистра состояния SR, определяющие режимы функционирования процессора, имеют следующее назначение:
    S-признак супервизора, при S=0 процессор работает в режиме пользователя, при S=1 - в режиме супервизора;
    T1-0 - поле режима трассировки (пошаговый режим): при T1=1 процессор останавливается после каждой команды, при T0=1 - только после команд переходов и ветвлений, меняющих ход программы;
    I2-0 - поле маски прерываний, определяет минимальный уровень приоритета для обслуживания запросов прерывания (см. раздел Система команд CPU32 ).
    Остальные биты регистра SR не используются или резервированы для последующих моделей процессоров.
    При включении микроконтроллера происходит автоматическая установка начального состояния регистров. В регистре SR устанавливается значение бита S=1, и процессор начинает работать в режиме супервизора. Из памяти загружаются начальные значения содержимого программного счетчика PC и указателя стека SSP (см. раздел Система команд CPU32). Если в процессе дальнейшей работы потребуется перевод процессора в режим пользователя, то с помощью команды MOVE to SR в регистр SR загружается новое содержимое, в котором бит S=0. Обратный перевод в режим супервизора производится при обслуживании запросов прерывания или возникновении исключительных ситуаций, а также в процессе установки процессора в начальное состояние (повторный запуск) при поступлении внешнего сигнала сброса или команды RESET.
    Регистры VBR, SFC, DFC доступны только в режиме супервизора. В 32-разрядный регистр VBR заносится базовый адрес таблицы векторов исключений (см. раздел Модуль таймерного процессора TPU ). Загрузка этого регистра производится командой MOVEC. При обслуживании исключений формируемое процессором значение Av=4Ne является относительным адресом (смещением), определяющим положение выбираемого вектора в таблице, которая может быть размещена в любом месте адресного пространства. В 3-разрядные регистры SFC,DFC с помощью команды MOVEC заносится код адресного пространства, который поступает на выводы FC2-0 микроконтроллера при выполнении команды MOVES. Таким образом обеспечивается расширение адресного пространства с помощью организации виртуальной памяти.