MC68020 - первый среди микропроцессоров семейства М68000 фирмы Motorola, имеющий полностью 32-битную архитектуру, страница 2

+-------------------------+-------------------------+

¦                         ¦                         ¦ A4

+-------------------------+-------------------------+

¦                         ¦                         ¦ A5

+-------------------------+-------------------------+

¦                         ¦                         ¦ A6

L-------------------------+-------------------------адресные регистры

31                                                0

--------------------------T-------------------------¬

¦                         ¦                         ¦ A7 (USP)

L-------------------------+-------------------------указатель стека пользователя

31                                                0

----------------------------------------------------¬

¦                                                   ¦ PC

L---------------------------------------------------программный счетчик

15           7          0

- - - - - - -T------------¬

0     ¦            ¦ CCR

L - - - - - -+------------регистр кодов условий

Рис.1-2. Формальная модель для режима пользователя

31                                                0

--------------------------T-------------------------¬

¦                         ¦                         ¦ A7' (ISP)

L-------------------------+-------------------------указатель стека прерываний

31                                                0

--------------------------T-------------------------¬

¦                         ¦                         ¦ A7" (MSP)

L-------------------------+-------------------------указатель основного стека

15           7          0

-------------T------------¬

¦            ¦   (CCR)    ¦ CCR

L------------+------------регистр состояния

31                                                0

----------------------------------------------------¬

¦                                                   ¦ VBR

L---------------------------------------------------базовый регистр векторов исключений

31                                            2   0

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -T-----¬

¦                                             ¦     ¦ SFC

+- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+-----+

¦                                             ¦     ¦ DFC

L- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+-----регистры модификации функционального кода (источника и приемника)

31                                                0

----------------------------------------------------¬

¦                                                   ¦ CACR

L---------------------------------------------------управляющий регистр кэш-памяти

31                                                0

----------------------------------------------------¬

¦                                                   ¦ CAAR

L---------------------------------------------------регистр адреса кэш-памяти

Рис.1-3. Дополнения к формальной модели для режима супервизора

Регистр состояния (Рис. 1-4) содержит маску приоритета прерываний (3 бита) и коды условий: расширения  (X),  знака  (N),  равенства нулю (Z), переполнения (V) и переноса (C). Дополнительные управляющие биты служат для индикации того,  что  процессор находится в режиме трассировки (T0 и T1), в режиме  супервизора или пользователя (S), в основном режиме или  режиме  прерывания

(M).

<-----  системный байт -------> <---- байт пользователя ----->

(регистр кодов условий)

15 14  13  12  11  10  9   8   7  6  5   4   3   2   1   0

----T---T---T---T---T----------T---------T---T---T---T---T---¬

¦ T1¦T0 ¦ S ¦ M ¦ 0 ¦I2  I1  I0¦ 0  0  0 ¦ X ¦ N ¦ Z ¦ V ¦ C ¦

LT--+--T+-T-+-T-+---+T--------T+---------+-T-+-T-+-T-+-T-+-T-¦     ¦  ¦   ¦      ¦        ¦            ¦   ¦   ¦   ¦   ¦

L--T---  ¦   ¦      L--------- расширение -   ¦   ¦   ¦   ¦

¦     ¦   ¦       маска               знак -   ¦   ¦   ¦

¦     ¦   ¦       приоритета    равенство нулю -   ¦   ¦

¦     ¦   ¦       прерываний          переполнение -   ¦

¦     ¦   ¦                                    перенос ¦     ¦   L- стек основной/прерываний

¦     L- режим супервизора/пользователя

L- разрешение трассировки

Рис.1-4. Регистр состояния

1.1 ТИПЫ ДАННЫХ И СПОСОБЫ АДРЕСАЦИИ

Поддерживается семь основных типов данных. Это следующие типы:

- биты

- битовые поля (строки последовательных битов, от 1 до 32 бит длиной)

- двоично-десятичные данные в коде BCD

(упакованные: 2 цифры/байт, неупакованные: 1 цифра/байт)

- байтовые целые (8 бит)

- словные целые  (16 бит)

- длинные целые  (32 бит)

- квадрословные целые  (64 бит)

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

18 способов адресации, приведенные в Таблице  1-1,  включают  9

основных типов:

- прямой регистровый

- косвенный регистровый

- косвенный регистровый с индексированием

- косвенный через память

- косвенный через программный счетчик со смещением

- косвенный через программный счетчик с индексированием

- косвенный через программный_счетчик/память

- абсолютный

- непосредственный