Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шумахер У. Полупроводниковая электроника

.pdf
Скачиваний:
203
Добавлен:
28.03.2015
Размер:
8.01 Mб
Скачать

INFSEMI_2-Text.fm, стр. 302 из 589 (September 3, 2010, 17:05)

302 7. Микроконтроллеры

16

16

8

 

32

16

 

Внутреннее

 

 

 

 

 

ПЗУ

Процессорное ядро

16

Внутреннее

 

 

 

 

ОЗУ

 

 

 

 

16

 

 

16

Тактовый

генератор

Порт 0

 

 

 

 

Контроллер

 

 

 

 

1

 

 

внешней

 

 

 

шины

 

Порт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт 4

 

 

 

 

 

 

 

 

 

 

 

 

PEC

Сторожевой

таймер

Контроллер прерываний

16

GPT1

ASC

SSC

 

(USART)

 

T2

T3

T4

GPT2

T5

 

 

T6

BRG

BRG

Порт 6

Порт 5

Порт 3

Порт 2

8

6

15

8

Рис. 7.28. Функциональная схема C165.

INFSEMI_2-Text.fm, стр. 303 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 303

16

16

8

 

32

16

 

Внутреннее

 

 

 

 

 

ПЗУ

Процессорное ядро

16

Внутреннее

 

 

 

 

ОЗУ

 

 

 

 

16

 

 

 

16

PEC

Сторожевой

 

 

 

 

 

 

 

 

таймер

Тактовый

 

Контроллер прерываний

 

 

 

 

генератор

 

 

 

с ФАПЧ

 

 

16

SSP

GPT1

ASC

 

 

(USART)

0

 

 

Порт

 

T2

 

 

 

Контроллер

T3

 

 

1

внешней

T4

шины

Порт

 

 

GPT2

 

 

4

 

T5

 

 

 

 

Порт

BRG

T6

BRG

 

 

 

Порт 6

Порт 5

Порт 3

Порт 2

8

6

15

8

Рис. 7.29. Функциональная схема C163.

INFSEMI_2-Text.fm, стр. 304 из 589 (September 3, 2010, 17:05)

304 7. Микроконтроллеры

XTAL

CAN_RxD

P4.5/

CAN_TxD

P4.6/

16

6

Внутреннее

 

Процессорное ядро С166

 

 

 

однократно

Команды/

 

 

 

 

 

 

 

программи-

данные

32

 

 

 

руемое

 

 

 

16

 

ПЗУ, 64К

 

 

Данные

 

 

 

 

 

(C164CI-8EM)

 

 

 

 

Двух-

 

16

ЦПУ

Данные

16

портовое

 

внутреннее

Генератор

 

 

 

 

 

 

ОЗУ

с ФАПЧ

 

 

 

 

 

 

 

 

2 Кбайт

с прогр.

 

 

 

 

 

 

 

 

 

коэфф.

 

 

 

 

 

умножения:

 

 

 

 

 

0.5; 1; 1.5; 2;

 

 

 

 

 

2.5; 3; 4; 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PEC

 

 

activeV2.0BCAN-

 

 

 

Внешние команды/данныеД

 

 

Часы

Сторожевой

 

 

 

 

 

 

 

 

 

реального

данных/адреса)

 

 

 

 

 

 

 

 

таймер

 

 

 

 

 

 

 

 

времени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контроллер прерываний

 

 

 

 

 

 

 

 

(обслуж. до 12 запросов

 

 

 

 

 

 

 

 

от внешних прерываний)

 

 

 

0Порт Интерфейс FULL

битная-(16XBUSнемультиплексированная шина

16

 

 

 

 

 

 

 

 

 

внешнейУправлениешиной мультиплексибитная-8/16(только - шинойишина)рованаяXBUS

8-канальный

 

 

 

 

Шина прерываний

 

 

 

BRG

BRG

 

(CAPCOM2)

сравнения сравнения

 

 

 

 

 

Шина данных периферийных устройств

 

16

 

 

 

 

битный - 10 АЦП

USART

Синхронный последовательный (SPI) канал

GPT1

Блок захвата/

Блок захвата/

 

 

 

 

7 Таймер

8 Таймер

13 Таймер

 

 

 

 

 

 

 

 

 

сравнения

сравнения

 

 

 

 

 

 

 

 

общего назначения

для сигналов ШИМ

 

 

 

 

 

 

 

 

 

 

(CAPCOM6)

 

 

 

 

 

 

 

T2

 

 

 

 

 

 

 

 

...

 

 

T3

8-канальный

 

3/6

 

 

 

 

 

ASC

SSC

 

 

 

 

 

 

 

T4

16-битный модуль

1 канал

каналов

 

 

 

 

 

 

 

захвата/сравнения

захвата/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт 4

Порт 5

 

 

Порт 3

 

Порт 8

 

 

Порт 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

9

4

16

Рис. 7.30. Функциональная схема C164CI.

INFSEMI_2-Text.fm, стр. 305 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 305

6

Память

 

Процессорное ядро С166

 

 

 

 

 

 

 

 

программ

Команды/данные

 

 

 

ПЗУ/ОППЗУ

Данные 16

 

 

32 Кбайт

 

32

Двухпортовое внутреннее 2ОЗУКбайт

active2.0BRevCANИнтерфейс -(16XBUSшинаВнутренняябитная немультиплексированная)

 

ЦПУ

Данные 16

 

времениреальногоЧасы

таймерСторожевой

 

 

 

 

 

 

Генератор/

 

 

16

 

ФАПЧ

 

 

 

 

 

 

 

 

PEC

 

 

 

 

 

Внешние команды/данныеД

 

 

 

 

 

Контроллер прерываний

 

 

 

 

 

16 уровней приоритета

 

 

 

 

 

 

16

 

 

 

 

Шина прерываний

 

 

 

 

16

Шина данных периферийных устройств

 

 

 

 

 

 

 

 

Порт 20

 

Контроллер внешней шины Управление XBUS Управление внешней шиной

 

 

 

 

 

 

 

 

 

АЦП

ASC0

SSC

GPT1

10-бит

(USART)

(SPI)

 

8-каналов

T2

T3

..

T4

BRGen BRGen

Блок

Блок

захвата/

захвата/

сравнения

сравнения

26

T7

T12

T8

T13

 

8

..

Порт

 

Порт 0

Порт 5

Порт 1

16

8

16

XTAL

4

Рис. 7.31. Функциональная схема C164CM.

INFSEMI_2-Text.fm, стр. 306 из 589 (September 3, 2010, 17:05)

306 7. Микроконтроллеры

Память

 

 

Процессорное ядро С166

 

 

 

программ

Команды/данные

 

ПЗУ

 

 

 

256 Кбайт

32

 

 

ЦПУ

 

16

Внутренняя

PEC

Внешние команды/данныеД

шина XBUS

 

(16-бит немульти-

 

плексированная)

 

 

Контроллер прерываний

XRAM

16 уровней приоритета

8 Кбайт

 

ASC1

 

(USART)

 

I2C

Шина прерываний

400 Кбод,

 

2 канала

16

 

CAN/SDLM

Шина данных периферийных устройств

 

2.0B act. /CI.B

 

Данные 16

Двухпортовое внутреннее 2ОЗУКбайт

 

Данные 16

 

 

 

 

Генератор/

XTAL

 

ФАПЧ

 

 

 

 

16

Часыреального времени

Сторожевойтаймер

 

 

 

 

8

8

Порт 4

Порт 6

Контроллер

 

АЦП

ASC0

SSC

GPT

Блок

Блок

 

 

10-бит

(USART)

(SPI)

 

захвата/

захвата/

 

 

внешней шины

 

 

 

12-каналов

 

 

 

сравнения

сравнения

 

 

 

 

 

 

 

 

 

 

 

 

 

T2

2

1

 

 

 

 

 

 

 

T7

T0

 

 

Управление XBUS

 

 

 

 

 

 

 

 

 

T3

 

 

 

 

Управление

 

 

 

 

T8

T1

 

 

 

 

 

 

 

 

 

внешней шиной

 

 

 

 

T4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

..

 

 

 

 

 

2

8

 

 

 

 

T5

 

 

Порт

 

 

 

 

 

..

..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BRGen

BRGen

T6

 

 

 

 

 

 

 

 

 

 

 

 

Порт 0

Порт 1

Порт 5

Порт 3

 

Порт 7

Порт 9

 

 

16

16

 

12

15

 

4

6

 

 

Рис. 7.32. Функциональная схема C161CS.

INFSEMI_2-Text.fm, стр. 307 из 589 (September 3, 2010, 17:06)

7.3. Шестнадцатибитные микроконтроллеры 307

16

16

8

 

32

 

16

 

Внутреннее

 

 

 

 

 

 

 

ПЗУ

 

Процессорное ядро

16

Внутреннее

 

 

 

ОЗУ

 

16

 

 

 

 

 

 

 

Сторожевой

 

 

 

 

таймер

XRAM

16

PEC

 

 

 

 

 

 

 

 

 

 

 

 

 

Тактовый

 

 

 

 

генератор

 

 

Контроллер прерываний

 

 

Модуль

 

 

 

16

 

 

 

 

CAN

 

 

 

 

Порт 4 Порт 1 Порт 0

10GPT1 битный

АЦП

T2

Контроллер

T3

 

внешней

T4

шины

 

Модуль таймеров 2

 

T5

...

T6

ASC Синхронный ШИМ CAPCOM CAPCOM (USART) последо- 2 1

вательный

канал

T7

T0

 

 

T8

T1

2

16

 

 

 

 

 

 

 

 

Порт

 

BRG

BRG

...

...

 

 

Порт 6

Порт 5

Порт 3

Порт 7

Порт 8

8

16

15

8

8

Рис. 7.33. Функциональная схема C167CR.

INFSEMI_2-Text.fm, стр. 308 из 589 (September 3, 2010, 17:06)

308 7. Микроконтроллеры

Память

Процессорное ядро С166

 

 

 

 

 

 

 

программ

Команды/данные

 

 

 

ПЗУ

 

Данные 16

 

 

32 Кбайт

32

Двухпортовое внутреннее 3ОЗУКбайт

 

ЦПУ

Данные 16

 

 

 

 

 

Генератор/

 

16

 

ФАПЧ

 

 

 

времениреальногоЧасы

таймерСторожевой

Внутренняя

PEC

 

Внешние команды/данныеД

 

 

 

шина XBUS

 

 

 

 

 

 

 

(16-бит немульти-

 

 

 

плексированная)

 

 

 

 

Контроллер прерываний

 

 

 

XRAM

16 уровней приоритета

 

 

 

6 + 2 Кбайт

 

 

 

 

 

 

16

 

 

CAN2

Шина прерываний

 

 

 

Rev 2.0B active

 

 

 

 

 

16

 

 

 

CAN1

Шина данных периферийных устройств

 

 

 

Rev 2.0B active

 

 

 

 

8

8

Порт 4

Порт 6

Контроллер

АЦП

ASC0

SSC

GPT

ШИМ

Блок

внешней шины

10-бит

(USART)

(SPI)

 

захвата/

 

 

 

16+8

 

 

 

 

сравнения

 

каналов

 

 

T2

 

2

Управление XBUS

 

 

 

 

 

 

 

 

 

 

T7

Управление

 

 

 

T3

 

внешней шиной

 

 

 

 

 

 

 

 

 

 

T8

 

 

 

 

T4

 

 

 

 

 

 

 

 

..

 

 

T5

 

 

 

 

 

 

 

..

 

 

 

 

 

 

 

 

BRGen BRGen

T6

 

 

 

 

 

 

 

Блок

захвата/

сравнения

1

T0

T1

 

2

..

Порт

 

Порт 0

Порт 1

Порт 5

Порт 3

Порт 7

Порт 8

 

XTAL

16

16

16

16

15

8

8

Рис. 7.34. Функциональная схема C167CS.

7.4.Архитектура 32-битных микроконтроллеров TriCore

Архитектура TriCore является первым примером комбинированной архитектуры микроконтроллер/DSP, оптимизированной для построения интегрированных систем реального времени. Она сочетает в себе выдающиеся характеристики сразу трёх различных устройств: эффективность обработки сигналов DSP-контроллера, быстро-

действие микроконтроллера реального времени и вычислительную мощность RISCархитектуры (которая, в данном случае, и является базовой). Таким образом, использование архитектуры TriCore обеспечивает великолепное соотношение цена/производительность, поскольку в микроконтроллере интегрировано большое количество различных функциональных блоков и для построения микроконтроллерной системы потребуется задействовать меньшее число

INFSEMI_2-Text.fm, стр. 309 из 589 (September 3, 2010, 17:06)

7.4. Архитектура 32-битных микроконтроллеров TriCore 309

Команды работы с битовыми полями, логические команды для битовых переменных, команды сравнения, команды ветвления

Команды умножительно-аккумуляторного блока (MAC), математика с насыщением, режимы DSP-адресации, SIMD-инструкции для арифметических операций

с данными в упакованном формате

Операции над переменными с плавающей точкой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ан

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с

 

 

 

 

ни

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

н

 

 

 

 

вле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

е

 

у

 

я

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ра

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

ы

 

п

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

в

 

 

д

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

о

 

 

 

н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

Команды: арифметические, логические,

У

с

 

 

м

 

 

 

 

 

 

 

 

 

Команды

 

 

 

 

м

 

 

 

к

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

д

вычисления и сравнения адресов,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обшего

 

 

 

 

 

 

 

 

н

с

 

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ы

чтения/записи, загрузки/хранения,

р

 

 

 

 

 

 

назначения

 

 

 

 

 

 

 

 

 

контекстного переключения

п

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ы

 

ц

 

 

н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

д

 

 

 

с

 

д

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ы

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м

н

 

 

 

 

 

 

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

а

 

 

 

 

 

 

 

 

е

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тн

 

 

 

 

 

 

 

 

Команды чтения/записи,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16-би

 

 

 

 

 

 

 

 

 

арифметические,

ветвления

Рис. 7.35. TriCore — единая архитектура с модульным набором команд.

модулей. Микроконтроллеры данного семейства содержат оптимальный набор высокопроизводительных периферийных устройств, что позволяет использовать их для решения широкого спектра задач (обеспечение безопасности и контроль динамических характеристик автомобиля, управление трансмиссией, построение информацион- но-развлекательных систем, управление кузовной электроникой и системами обеспечения комфорта, и т.д.). На Рис. 7.35 показана общая концепция построения микроконтроллеров семейства TriCore.

Архитектура набора команд (Instruction Set Architecture — ISA) поддерживает общее линейное адресное пространство с памятьориентированным вводом/выводом. Процессорное ядро работает в суперскалярном режиме, т.е. оно может исполнять одновременно до трёх команд и до четырёх операций. Более того, ISA может работать в сочетании с системами различной архитектуры, в том числе и с многопроцессорными системами. Столь высокая толерантность к используемой аппаратной платформе и системному уровню программного обеспечения позволяет создавать микроконтроллеры с различным сочетанием цена/производительность, в зависимости от конкретных требований пользователя.

Микроконтроллер TriCore поддерживает смешанный 16- и 32-битный набор команд. Команды различной длины могут использоваться совместно без изменения режима работы, что позволяет значительно уменьшить среднюю длину программ и даже несколько ускорить их исполнение. При этом уменьшаются стоимость системы, уровень её энергопотребления и снижаются требования к доступному объёму памяти программ.

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

Подробное описание архитектуры TriCore с полным набором команд содержится в документе «TriCore Architecture Manual».

7.4.1.Отличительные особенности архитектуры TriCore

Ниже перечислены основные отличительные особенности архитектуры TriCore:

32-битная архитектура;

единое (4 Гбайт) адресное пространство памяти данных, памяти программ и портов ввода/вывода;

16/32-битные команды, использование которых позволяет уменьшить размер программного кода;

малое время реакции на прерывание;

быстрое автоматическое аппаратное переключение программного контекста;

блок умножителя-аккумулятора;

поддержка целочисленной арифметики с насыщением;

операции с битовыми переменными и обращение к ним поддерживаются как на уровне архитектуры, так и системой команд;

INFSEMI_2-Text.fm, стр. 310 из 589 (September 3, 2010, 17:06)

310 7. Микроконтроллеры

обработка упакованных данных (под-

32 регистра общего назначения образуют

 

держка параллельных

вычислений в

две группы: шестнадцать 32-битных регист-

 

формате SIMD — одна команда, не-

ров данных

(D0…D15) и шестнадцать

 

сколько данных);

 

 

 

 

32-битных адресных регистров (A0…A15).

отсутствие потерь в производительности

Четыре регистра общего назначения вы-

 

при работе в DSP-приложениях;

полняют особые функции: D15 по умолча-

гибкое управление энергопотреблением;

нию является регистром данных, A10 слу-

байтовая и битовая адресация;

жит указателем стека (SP), A11 использует-

прямой порядок записи байтов (первым

ся как регистр адреса возврата из подпро-

 

записывается младший байт, little-

граммы и A15 является по умолчанию ре-

 

endian);

 

 

 

 

гистром базового адреса. Регистры A0 и A1

поддержка прямого и обратного (первым

из числа младших адресных регистров в со-

 

записывается старший байт, big-endian)

вокупности с A8 и A9 из числа старших ад-

 

порядка записи байтов при передаче

ресных регистров определены как глобаль-

 

данных через шинный интерфейс;

ные системные регистры. Они не входят в

прецизионное определение исключи-

состав переключаемого контекста, поэтому

 

тельных состояний в системе;

 

 

не сохраняются и не восстанавливаются ав-

гибкая конфигурируемая система орга-

томатически при аппаратных контекстных

 

низации прерываний с поддержкой до

переключениях. Операционная система ис-

 

256 уровней приоритета.

 

 

 

 

пользует их, например, с целью снижения

7.4.2. Регистры состояния программы

системных издержек.

Регистры PCXI и PSW содержат флаги

 

Как показано на Рис. 7.36, набор регист-

состояния, информацию о текущей испол-

 

няемой команде

и служебную информа-

ров TriCore содержит 32 регистра общего

цию.

 

 

 

 

назначения (GPR), два 32-битных регистра,

 

 

 

 

Обратите внимание, что набор регистров

содержащих информацию о состоянии про-

разделен также на нижний и верхний кон-

граммы (PCXI и PSW), а также ещё один ре-

текст; автоматическое переключение к од-

гистр — счётчик команд (PC). PCXI, PSW и

ной этих частей влечёт за собой аппаратное

PC входят в число регистров специальных

сохранение второй.

функций процессорного ядра (CSFR).

 

 

 

 

 

 

 

Адресные регистры

 

 

 

Регистры данных

 

 

Системные регистры

31

0

31

0

31

0

 

 

 

 

 

 

 

 

 

 

 

 

A15 (Базовый адресный

 

 

 

D15 (Регистр данных

 

 

 

PCXI

 

 

регистр по умолчанию)

 

 

 

по умолчанию)

 

 

 

 

 

 

 

 

 

 

 

 

PSW

 

 

A14

 

 

 

 

D14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC

 

 

 

 

 

 

 

 

 

 

 

 

 

A13

 

 

 

 

D13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A12

 

 

 

 

D12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A11 ( Адрес возврата)

 

 

 

 

D11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A10 (Указатель стека)

 

 

 

 

D10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A9

 

 

 

 

D9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A8

 

 

 

 

D8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A7

 

 

 

 

D7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A6

 

 

 

 

D6

 

 

 

 

 

 

A5

 

 

 

 

D5

 

 

 

 

 

 

A4

 

 

 

 

D4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A3

 

 

 

 

D3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

 

 

 

 

D2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

 

 

 

 

D1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0

 

 

 

 

D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7.36. Регистры состояния программы.

INFSEMI_2-Text.fm, стр. 311 из 589 (September 3, 2010, 17:06)

7.4. Архитектура 32-битных микроконтроллеров TriCore 311

7.4.3. Типы данных

Система команд TriCore поддерживает операции с логическими (булевыми) переменными, битовыми последовательностями, символами, числами с фиксированной точкой, адресами, знаковыми и беззнаковыми целыми числами, а также с числами с плавающей точкой одинарной точности.

Б=ольшая часть команд поддерживает работу только с определёнными типами данных, однако некоторые команды могут работать с различными типами данных.

7.4.4. Режимы адресации

Режимы адресации позволяют обеспечивать эффективный доступ к элементарным блокам данных внутри таких структур данных, как записи, массивы с прямым или последовательным доступом, стеки и циклические буферы. Длина элементарных блоков данных может составлять 1, 8, 16, 32 или 64 бит.

Режимы адресации также обеспечивают эффективную компиляцию программ, написанных на языке С, лёгкий доступ к регистрам периферийных устройств или эффективное использование стандартных для DSP структур данных (DSP-режимы адресации, например циклические буферы для фильтров и адресация с инвертированием битов адреса для реализации функции БПФ). Архитектурой TriCore поддерживаются следующие семь режимов адресации:

абсолютная;

базовый адрес + короткое смещение;

базовый адрес + длинное смещение;

предварительное инкрементирование или предварительное декрементирование;

адресация с последующим инкрементированием и адресация с последующим декрементированием;

циклическая;

с инвертированием битов адреса.

7.4.5. Форматы команд

Архитектура TriCore поддерживает как 16-битные, так и 32-битные форматы команд. По умолчанию все команды имеют 32-битный формат; 16-битные команды представляют собой подмножество наиболее часто используемых команд. Их реализация в 16-битном формате позволяет

уменьшить объём программного кода. Команды выбираются компилятором и могут исполняться параллельно; при этом не требуется изменения режима работы.

7.4.6. Задачи и контекст

В данной книге термин «задача» используется для обозначения независимой процедуры управления.

Можно выделить два типа задач: программно управляемые пользовательские задачи (SMT) и процедуры обработки прерываний (ISR). Первые порождаются службами ядра реального времени или операционной системы и выполняются под управлением программы-диспетчера. ISR-процеду- ры обслуживаются по аппаратным запросам как ответ на прерывание. В данной архитектуре ISR относятся только к программному коду, который запускается на исполнение непосредственно аппаратной частью. Программно управляемые задачи иногда называют также пользовательскими задачами, поскольку они запускаются в пользовательском режиме.

Каждой задаче может быть присвоен её собственный уровень авторизации. Эти индивидуальные права обычно включаются/отключаются установкой соответствующих битов в регистре PSW (слово состояния программы) через соответствующие выводы порта ввода/вывода. Ассоциированный с каждой из задач набор элементов в совокупности называется контекстом. Термин «контекст» относится ко всем элементам, необходимым процессору для корректного определения состояния соответствующей задачи и для её дальнейшего исполнения. Контекст включает в себя используемые в процессе исполнения задачи регистры общего назначения ЦПУ, счётчика команд (PC) и регистры состояния (PCXI и PSW). В архитектуре TriCore реализовано эффективное управление контекстом задач аппаратными средствами.

Верхний и нижний контекст

Как показано на Рис. 7.37, контекст делится на две части: верхний контекст и нижний контекст.

В состав верхнего контекста входят старшие регистры адреса A10…A15 и старшие регистры данных D8…D15. Эти регистры определены как энергонезависимые с

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]