Организация основных блоков

 
 

РЗУ – однопортовая память (Рис. 10.14) включает накопитель на 32 16-разрядных слова, выходной регистр данных, дешифратор адреса и схему управления записью/чтением. Запись осуществляется по заднему фронту тактового сигнала С при IEN\ = 0. При работе с байтами старшая половина слова остается неизменной.

Рис. 10.14. Блок РЗУ

Аккумулятор – 16-разряд­ный регистр (Рис. 10.15), запись в который осуществляется по переднему фронту С, если в инструкции Акк определен в качестве приемника результата. При IEN\ = 1 запись не производится независимо от инструкции.

Регистр данных – «защелка» по заднему фронту DLE (Рис. 10.16). Наличие и позволяет организовать три режима работы регистра данных:

1) ввод информации через шину Y(0:15) при DLE = 0 (регистр «открыт») и OEY\ = 1;

2) вывод информации из микропроцессора через шину Y при DLE = 1 (регистр «закрыт») и OEY\ = 0;

3) ввод, обработка и вывод через шину Y:

¨ в течение первой половины такта OEY\ = 1 и DLE = 1

¨ в течение второй половины такта OEY\ = 0 и DLE = 0.

В отличие от РЗУ и Акк в Рг.D может быть записано лишь полное 16-разрядное слово.

Арифметико-логическое устройство (Рис. 10.17) включает мультиплексоры входов R, S и U, сдвигатель канала U, арифметико-логический блок АЛБ, приоритетный шифратор ПШ, формирователь признака нуля ФПН и выходной мультиплексор.

Рис. 10.15. Аккумулятор

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

       
   

Сдвигатель позволяет за один такт выполнить циклический сдвиг в сторону старших разрядов (левый) на заданное число разрядов (от 1 до 15). При выполнении операций с байтами осуществляется сдвиг только восьми младших разрядов. Признаки C, N, Z, OVR формируются как для слов, так и для байтов.

 

Рис. 10.17. Арифметико-логический блок

 
 

На вход ПШ поступает R&S\ (S – маска, R – операнд). Приоритетный шифратор формирует номер позиции старшей «1» в формате, приведенном в Табл. 10.9.

Табл. 10.9

1) Нет
2)
3)                

1) позиция старшей единицы;

2) выход ПШ при операциях со словами;

3) выход ПШ при операциях с байтами.


Блок регистра состояния (Рис. 10.18) включает восьмиразрядный регистр состояния Рг.С, мультиплексор загрузки младшей тетрады и схему управления записью.

Рис. 10.18. Регистр состояния и его связи

Запись в Рг.С производится по переднему фронту С при SRE\ = 0 и IEN\ = 0. Формат Рг.С показан ниже.

FL3 FL2 FL1 L N OVR C Z

В младшие четыре разряда могут быть записаны признаки Z, C, OVR, N или 4 младших разряда с шины Y. Источник для четырех младших разрядов Рг.С определяется выполняемой инструкцией (за исключением «NOP», «Хранение Рг.С», «Проверка состояния», «Уст. 0», «Уст. 1 старших битов Рг.С»). В старших четырех разрядах хранится бит связи L (который формируется после каждой инструкции сдвига) и три флага пользователя.

Содержимое Рг.С можно вывести на шину Y или записать в РЗУ или Акк. При выполнении записи в инструкции со словом старшие 8 бит устанавливаются в «0», при операциях с байтами содержимое Рг.С так же записывается в младшие 8 разрядов, но содержимое старшего байта регистра или Акк не меняется.

При операциях со словами в Рг.С записываются все 8 признаков, а при операциях с байтами – только 4 младших.

Блок формирования кода условий обеспечивает выработку одного из 12 возможных условий (см. табл), а мультиплексор MUX CT обеспечивает прохождение на выход СТ условия под управлением инструкции (от блока управления) или кода на входах Т(4:1)

 

Система инструкций

Инструкции ВМ1 можно разбить на 11 групп:

1) с одним операндом;

2) с двумя операндами;

3) сдвига на 1 разряд;

4) битовые;

5) циклического сдвига на n разрядов (1 £ n £15);

6) циклического сдвига и сравнения;

7) циклического сдвига и слияния;

8) шифрации;

9) генерации избыточного кода (CRC);

10) установки и проверки состояния;

11) «нет операции».

1) Инструкции с одним операндом имеют два формата SOR (с использованием РЗУ) и SONR (без использования РЗУ), форматы которых приведены в Табл. 10.10 и Табл. 10.11.

  14 13 12 9 8 5 4 0
SOR B/W 1 0 К О П ИСТ, ПРМ Адрес РЗУ
SONR B/W 1 1 К О П ИСТ ПРМ

Каждая инструкция может работать как с байтом (при B/W = 0), так и со словом (при B/W = 1).

Табл. 10.10. Инструкции SOR с одним операндом

Код операций Источник, приемник
Код Мнемо Операция Код Мнемо Источн. Приемн.
MOVE ИСТ ® ПМН SORA РЗУ Акк
1101 COMP ИСТ ® ПМН SORY РЗУ Шина Y
INC ИСТ+1 ® ПМН SORS РЗУ Рг.С
1111 NEG ИСТ+1 ® ПМН SOAR Акк РЗУ
Примечания: Рг. D.0 – расширение байта нулями; Рг. D.S– расширение байта знаком SODR Рг. D РЗУ
SOIR I РЗУ
SOZR РЗУ
SOZER Рг. D.0 РЗУ
SOSER Рг. D.S РЗУ
SORR РЗУ РЗУ

 

Табл. 10.11. Инструкции SONR с одним операндом

Код операций Источник, приемник
Код Мнемо Операция Код Мнемо Источн. Приемн.
MOVE ИСТ ® ПМН SOA Акк
COMP ИСТ ® ПМН SOD Рг. D
INC ИСТ+1 ® ПМН SOI I
1111 NEG ИСТ+1 ® ПМН SOZ
  SOZE Рг. D.0
SOSE Рг. D.S
NRY Шина Y
NRA Акк
NRS Рг. С
NRAS Акк, Рг.С
               

Все однооперандные инструкции передают на шину Y значение, загружаемое в приемник.

Разряды Z, C, N, OVR регистра состояний модифицируются, остальные – не меняются.

 
 

Единственное ограничение на способ адресации: если Акк и Рг.С определены одновременно в качестве приемников, то невозможно использовать РЗУ в качестве источника.

2) Инструкции с двумя операндами имеют следующие форматы:

  14 13 12 9 8 5 4 0
TOR1 B/W 0 0 ИСТ, ИСТ, ПРМ К О П Адрес РЗУ
TOR2 B/W 1 0 ИСТ, ИСТ, ПРМ К О П Адрес РЗУ
TONR B/W 1 1 ИСТ, ИСТ К О П ПРМ

 

Табл. 10.12. Двухоперандные инструкции типа TOR 1,2

  ИСТ, ИСТ, ПРМ К О П  
Код Мнемокод R S ПРМ Код Мнемокод Операция  
TOR1 TORAA РЗУ Акк Акк SUB R S – R  
TORIA РЗУ I Акк SUB RC S – R + C  
TODRA Рг.D РЗУ Акк SUB S R – S  
TORAY РЗУ Акк Y SUB SC R – S + C  
TORIY РЗУ I Y ADD R + S  
TODRY Рг.D РЗУ Y ADD C R + S +C  
TORAR РЗУ Акк РЗУ AND R & S  
TORIR РЗУ I РЗУ NAND (R & S)\  
TODRR Рг.D РЗУ РЗУ EXOR R Å S  
TOR2 TODAR Рг.D Акк РЗУ NOR (R Ú S)\  
TOAIR Акк I РЗУ OR R Ú S  
TODIR Рг.D I РЗУ EXNOR (R Å S)\

 

Табл. 10.13. Двухоперандные инструкции типа TONR

ИСТ, ИСТ К О П ПРМ
Код Мнемокод R S Код Мнемокод Приемник
TODA Рг.D Акк В соответствии с табл. 4 NRI Y
TOAI Акк I NRA Акк
TODI Рг.D I NRS Рг.C
        NRAS Акк, Рг.C

Примечание. Флаги OVR, N, Z, C модифицируются по результатам арифметических операций; в логических операциях OVR := C := 0.

3) Инструкции сдвига на один разряд имеют следующие форматы:

  14 13 12 9 8 5 4 0
SHFTR B/W 1 0 ИСТ, ПРМ К О П Адрес РЗУ
SHFTNR B/W 1 1 ИСТ К О П ПРМ

 

При сдвиге модифицируются биты N и Z регистра состояний, а биты C и OVR устанавливаются в «0». Функция NÅOVR используется при умножении чисел в дополнительном коде.

Рис. 10.19. Выполнение процедур сдвига

 

 

Табл. 10.14. Инструкции сдвига на 1 разряд

  ИСТ, ПРМ, (ИСТ) (ПРМ) К О П
Код Мнемокод ИСТ ПРМ Код Мнемокод Направление Вдвигаемое значение
SHFTR SHRR РЗУ РЗУ SHUPZ Влево
SHND Рг.D РЗУ SHUP1 Влево
SHFTNR SHA Акк   SHUPL Влево L
SHD Рг.D   SHDNZ Вправо
NRY   Y SHDN1 Вправо
NRA   Акк SHDNL Вправо L
          SHDNC Вправо C
          SHDNOV Вправо NÅOVR

 

 

Табл. 10.15. Управление шиной Y и регистром состояния

  Операция Режим Шина Рг. С
N L
Влево SHUPZ SHUP1 SHUPL W = 1 Y[15:0] := ИСТ[14:0].X ИСТ[14] ИСТ[15]
W = 0 Y[7:0] := ИСТ[6:0].X Y[15:8] := ИСТ[7:1]. ИСТ[7] ИСТ[6] ИСТ[7]
Вправо SHDNZ SHDN1 SHDNL SHDNC SHDNOV W = 1 Y[15:0] := X .ИСТ[15:1] X ИСТ[0]
W = 0 Y[7:0] := X .ИСТ[7:1] Y[15:8] := X .ИСТ[7:1] X ИСТ[0]

 

Примечания. W = 1 – команды работы со словами; W = 0 – команды работы с байтами; Х – вход при сдвиге.

 

4) Инструкции с битами имеют следующие форматы:

  14 13 12 9 8 5 4 0
BOR1 B/W 1 1 n К О П Адрес РЗУ
BOR2 B/W 1 0 n К О П Адрес РЗУ
BONR B/W 1 1 n 1 1 0 0 К О П

 

 

Табл. 10.16. Инструкции с битами формата BOR 1,2

  Код Мнемокод Операция Шина Y Z-разряд РгС*)
BOR1 SETNR Устан. РЗУ в «1» Yi РЗУi, i ¹ n; Yn 1
RSTNR Сброс в «0» Yi РЗУi, i ¹ n; Yn 0 U
TSTNR Проверка РЗУ Yi 0, i ¹ n; Yn РЗУn U
BOR2 LD2NR 2n ® РЗУ Yi 0, i ¹ n; Yn 1
LDC2NR (2n)\ ® РЗУ Yi 1, i ¹ n; Yn 0
A2NR РЗУ + 2n ® РЗУ Y РЗУ + 2n U
S2NR РЗУ - 2n ® РЗУ Y РЗУ - 2n U
*) Разряды L, Fl(1:3) не меняются, C, OVR – устанавливаются в «0»

 

 

Табл. 10.17. Инструкции с битами формата BONR

Код Мнемокод Операция Шина Y РгС
Z C, OVR
TSTNA Проверка Акк Yi 0, i ¹ n; Yn Аккn U
RSTNA Сброс в «0» Акк Yi Аккi, i ¹ n; Yn 0 U
SET NA Устан. в «1» Акк Yi Аккi, i ¹ n; Yn 1
A2NA Акк + 2n ® Акк Y Акк + 2n U U
S2NA Акк - 2n ® Акк Y Акк - 2n U U
LD2NA 2n ® Акк Yi 0, i ¹ n; Yn 1
LDC2NA (2n)\ ® Акк Yi 1, i ¹ n; Yn 0
TSTND Проверка РгD Yi 0, i ¹ n; Yn РгDn U
RSTND Сброс в «0» РгD Yi РгDi, i ¹ n; Yn 0 U
SETND Устан. в «1» РгD Yi РгDi, i ¹ n; Yn 1
A2NDY РгD + 2n ® Y Yi РгDi + 2n U U
S2NDY РгD - 2n ® Y Yi РгDi - 2n U U
LS2NY 2n ® Y Yi 0, i ¹ n; Yn 1
LDC2NY (2n)\ ® Y Yi 1, i ¹ n; Yn 0

 

В табл. 8 и 9 «проверка» – это установка признака Z в состояние, определяемое значением n-го разряда адресуемого объекта. «Установка» и «сброс» – при сохранении всех разрядов, кроме n-го.

5) Инструкции циклических сдвигов на n разрядов имеют следующие форматы:

  14 13 12 9 8 5 4 0
ROTR1 B/W 0 0 n ИСТ, ПРМ Адрес РЗУ
ROTR2 B/W 0 1 n ИСТ, ПРМ Адрес РЗУ
ROTNR B/W 1 1 n 1 1 0 1 ИСТ, ПРМ

 

Операнд источника циклически сдвигается на n позиций (0 £ n £ 15) в сторону старших разрядов (влево), результат сдвига помещается в приемник и/или на шину Y. В режиме слова сдвигаются все биты (что соответствует сдвигу вправо на (16 – n) позиций. В режиме байта сдвигаются только биты (7:0), а сдвиг на n влево эквивалентен сдвигу на (8 - n) вправо. Биты N и Z модифицируются, а биты C и OVR устанавливаются в «0».

 

Табл. 10.18. Инструкции циклического сдвига

Формат Код Мнемокод ИСТ ПРМ
ROTR1 RTRA РЗУ Акк
RTRY РЗУ Шина Y
RTRR РЗУ РЗУ
ROTR2 RTAR Акк РЗУ
RTDR РгD РЗУ
ROTNR RTDY РгD Шина Y
RTDA РгD Акк
RTAY Акк Шина Y
RTAA Акк Акк
  Режим B/W Шина Y N регистра РгC  
  0 (байт) Yi ИСТ(i-n) mod 16 ИСТ(15-n)  
  1 (слово) Yi ИСТ(i-n) mod 8 Для i = 1.. 7 ИСТ(8-n)  
                 

 

6) Инструкции циклического сдвига и сравнения:

  14 13 12 9 8 5 4 0
ROTC B/W 0 1 n ИСТ, ПРМ, МАСКА Адрес РЗУ

 
 

Инструкция осуществляет поразрядное сравнение двух 16-разрядных векторов, маскированных вектором маски, причем один из входных векторов предварительно (перед маскированием) сдвигается на заданное число разрядов ().

Рис. 10.20. Сдвиг и сравнение

Единичное значение разряда маски исключают из сравнения соответствующие разряды операндов (оба при сравнении равны «0»). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0».

Табл. 10.19. Инструкции циклического сдвига и сравнения

Код [8 : 5] Мнемокод Сдвигаемый ИСТ Несдвигаемый ИСТ, ПРМ Маска
CDAI РгD Акк I
CDRI РгD РЗУ I
CDRA РгD РЗУ Акк
CRAI РЗУ Акк I

7) Инструкции циклического сдвига и слияния:

  14 13 12 9 8 5 4 0
ROTM B/W 0 1 n ИСТ, ПРМ, МАСКА Адрес РЗУ

Сдвигаемый операнд U циклически сдвигается на n позиций в сторону старших разрядов, затем с помощью маски формируется результат: в качестве его i-го разряда берется i-й разряд сдвинутого U, если соответствующий разряд маски равен «1», иначе берется разряд Ri. Результат заносится по адресу несдвигаемого операнда.

Пример: n = 4, режим W (работа со словами)

Операнд U 0011 0001 0101 0110
сдвинутый U 0001 0101 0110 0011
Операнд R 1010 1010 1010 1010
Маска S 0000 1111 0000 1111
Результат (R) 1010 0101 1010 0011

Табл. 12. Инструкции циклического сдвига и слияния

Код [8 : 5] Мнемокод Сдвигаемый ИСТ Несдвигаемый ИСТ, ПРМ Маска
MDAI РгD Акк I
MDAR РгD Акк РЗУ
MDRI РгD РЗУ I
MDRA РгD РЗУ Акк
MARI Акк РЗУ I
MRAI РЗУ Акк I

Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0».

Инструкции этого типа могут быть эффективно использованы для преобразования одного кода в другой.

8) Инструкции шифрации:

  14 13 12 9 8 5 4 0
PRT1 B/W 1 0 ПРМ ИСТ (R) Адрес РЗУ/ Маска S
PRT2 B/W 1 0 Маска S ПРМ Адрес РЗУ/ ИСТ
PRT3 B/W 1 0 Маска S ИСТ (R) Адрес РЗУ/ ПРМ
PRTNR B/W 1 1 Маска S ИСТ (R) ПРМ

В этих инструкциях производится поразрядная конъюнкция операнда R и инвертированного значения маски S. Нулевое значение разряда маски Si разрешает участие соответствующего разряда операнда R в шифрации приоритета. Выходной 5-разрядный код указывает номер старшей единицы операнда R (с учетом маски). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0». Ограничение на выбор операндов – необходимость использования для операнда и маски различных источников (что, впрочем, логично). Инструкции этого типа могут быть эффективно использованы в операциях нормализации.

Табл. 10.20. Инструкции шифрации

PRT! ПРМ ИСТ (R)
Код Мнемокод ПРМ Код Мнемокод ИСТ (R)
PR1A Акк PRT1A Акк
PR1Y Шина Y PRT1D РгD
PR1R РЗУ  
PRT2 Маска S ПРМ
Код Мнемокод Маска S Код Мнемокод ПРМ
PRA Акк PR2A Акк
PRZ PR2Y Шина Y
PRI I  
PRT3 Маска S ИСТ (R)
Код Мнемокод Маска S Код Мнемокод ИСТ (R)
PRA Акк PR3R РЗУ
PRZ PR3A Акк
PRI I PR3D РгD

Табл. 10.21. Инструкции шифрации PRTNR

Маска S ИСТ (R) ПРМ
Код Мнемокод Маска S Код Мнемокод ИСТ (R) Код Мнемокод ПРМ
PRA Акк PRTA Акк NRY Шина Y
PRZ PRTD РгD NRA Акк
PRI I    

 

9) Инструкции генерации циклического избыточного кода (CRC) определяются одним полем – адресом РЗУ. Инструкции обеспечивают генерацию контрольных разрядов в циклическом избыточном коде. Одна инструкция – «прямая» (CRCF), другая – «обратная» (CRCR), отличающиеся порядком поступления разрядов на свертку: при прямой свертка начинается со старшего (15-го) разряда, при обратной – с младшего. Две инструкции необходимы, т.к. существующие стандарты применения циклических избыточных кодов не определяют, какой разряд данных (старший или младший) должен передаваться первым.

Форматы инструкций:

  14 13 12 9 8 5 4 0
CRCF 1 0 Адрес РЗУ
CRCR 1 0 Адрес РЗУ

На рис. показан процесс реализации инструкции обратной свертки. Бит L используется как вход последовательного кода. В соответствии с полиномом, задаваемым с помощью маски, последовательный вход комбинируется с разрядами регистра контрольной суммы. После того, как последний входной бит будет обработан, регистр РЗУ содержит контрольные разряды. В процессе выполнения инструкций биты L, N, Z регистра состояний РгС модифицируются, а C и OVR – сбрасываются в «0».

Перед началом операции необходимо загрузить в Акк полиноминальную маску, а в разряд L РгС – первый бит данных. В следующем такте этот бит появится на выходе L. Результат операции Å этого бита и старшего (младшего – для обратной свертки) бита регистра РЗУ передается на схемы поразрядной конъюнкции для умножения на разряды маски S. Выходы конъюнкторов поступают на входы сумматоров по модулю два Å, где поразрядно складываются со сдвинутым на один разряд влево (для обратной свертки n = 15, что соответствует сдвигу на один разряд вправо) операндом U (РЗУ). Результат операции поразрядного суммирования записывается в регистр РЗУ.

Очередной такт начинается с загрузки следующего разряда данных в разряд связи L. Процесс продолжается до тех пор, пока все разряды данных не пройдут такой цикл.

Табл. 10.22. Управление шиной Y в инструкциях CRC

Инструкция Шина Y Бит L
CRCF Yi [(L Å РЗУ15) & Аккi] Å РЗУi –1 i = 15 .. 1 Y0 [(L Å РЗУ15) & Акк0] Å 0 РЗУ15
CRCR Yi [(L Å РЗУ0) & Аккi] Å РЗУi +1 i = 14 .. 0 Y15 [(L Å РЗУ0) & Акк15] Å 0 РЗУ0

 

10) Инструкции установки и сохранения состояния оперируют с регистром состояния РгС, формат которого имеет след. вид:

FL3 FL2 FL1 L N OVR C Z

Форматы инструкций:

  14 13 12 9 8 5 4 0
SETST 1 1 К О П
RSTST 1 1 К О П
SVSTR B/W 1 0 Адрес РЗУ/ ПРМ
SVSTNR B/W 1 1 ПРМ

 

Табл. 10.23. Инструкции SETST и RSTST

SETST RSTST
Код Мнемокод Установка Код Мнемокод Сброс
SONCCZ OVR, N, C, Z 1 RONCCZ OVR, N, C, Z 0
SL L 1 RL L 0
SF1 F1 1 RF1 F0 0
SF2 F2 1 RF2 F2 0
SF3 F3 1 RF3 F3 0
Y(15:0) 1 Y(15:0) 0

 

При реализации инструкций SVST в регистр РЗУ (SVSTR) или в Акк (SVSTNR) загружается только младший байт (при B/W = 0) или все слово (при B/W = 1) с шины Y. На шину Y во всех случаях передается: Y(7:0) РгС, Y(15:8) 0.

 

11) Инструкции проверки состояния определяют одно из 12 тестовых условий, которое передается на выход CT. Формат инструкций:

  14 13 12 9 8 5 4 0
TSTST 1 1 К О П

Табл. 10.24. Инструкции TSTST

Код (4:0) Мнемокод Выдается на СТ Код (4:0) Мнемокод Выдается на СТ
00000 TNOZ (NÅOVR)ÚZ TZC ZÚC\
TNO NÅOVR TN N
TZ Z TL L
TOVR OVR TF1 F1
TLOW 0 (Const) TF2 F2
TC C TF3 F3

Состояние шины Y при действии инструкции TSTST не определено, содержимое РгС не меняется.

Содержимое РгС может быть так же проверено (помимо инструкции) через двунаправленную шину Т(4:1), причем код Т(4:1) совпадает с полем кода инструкции I(4:1) для выбора соответствующего условия (см. таблицу). При конфликте кодов I(4:1) и Т(4:1) приоритет имеют линии I(4:1).

12) Инструкция «Нет операции»:

  14 13 12 9 8 5 4 0
NOP 1 1

Значение шину Y не определено; Внутреннее состояние регистров не меняется.

Инструкции с непосредственным операндом – двухтактные – содержат в мнемокоде литеру «I». Операнд размещается в программе (микропрограмме) непосредственно за словом инструкции


 

.

Рис. 10.21. Реализация обратной свертки









Дата добавления: 2019-02-07; просмотров: 326;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.07 сек.