7.2.2  Микропрограмен автомат с естествена адресация

 

 

      Адресирането на микрокомандите по принципа на тяхното естествено подреждане в паметта на управляващия автомат позволява същите да се превърнат в безадресни. Ще припомним на читателя, че микрокомандите по принцип са от вида за управление на прехода. Ако тези микрокоманди станат безадресни това означава, че те ще съдържат в своята структура само операционна част. Това наистина би било достатъчно за реализиране на линейните участъци в микропрограмите, когато адресирането ще се извършва апаратно, по закона на естественото нарастване на текущия адрес. Вече знаем, че това става вън от микрокомандите - в логически възел брояч, наречен микропрограмен.

      Алгоритмичните (адресните) преходи, които реализира микропрограмния брояч са безусловни и последователни. За съжаление обаче, както много пъти беше отбелязано, алгоритмичните структури са доста по-разнообразни. Например, едно обикновено условно разклонение не може да се реализира само с микропрограмния брояч, тъй като за него следва да се укажат два възможни адреса. Ето защо тук ще бъдат необходими и други микрокоманди, чиято задача ще бъдат тези преходи.

      Какво всъщност казахме до момента? Казахме, че методът на естественото адресиране може да скъси микрокомандата като остави в нея само операционната й част. Такава микрокоманда реализира безусловен преход към следващия по ред адрес. Той от своя страна се подготвя автоматично в микропрограмния брояч. Поради невъзможността на такава микрокоманда да реализира друг тип преходи се налага въвеждането на друг вид микрокоманди. Последното означава (за разлика от предидущия пункт), че управляващият автомат трябва да работи с микрокоманди, които имат различна структура – такива, които ще подават само управляващи сигнали и такива, които ще реализират различните преходи. На този етап, за изясняване на основния принцип, ще разгледаме като допълнение само условния алгоритмичен преход.

      И така, за различаване на двата вида микрокоманди, в структурата им следва да се включи отделно поле за код на вида микрокоманден код (МКК). Тъй като по-горе декларирахме два вида микрокоманди (изпълними и за преход), то за този код е достатъчен един разряд. Кодирането, което се има предвид по-нататък е следното:

·       МКК=1  – изпълнима микрокоманда (за безусловен преход) ;

·       МКК=0  – микрокоманда за управление на прехода (за условен преход) .

      Останалата част от структурата на мокрокомандата ще се интерпретира според кода й, както следва:

      Адресната част на микрокомандата за управление на прехода при метода на естественото адресиране има структурата:

където с Х е означен кодът за избор на условието за преход. Както и в структурите с принудителна адресация, този код трябва да има излишък за да може с една и съща структура да се реализират както условни, така и безусловни преходи. С А е означен адресът за преход.

      И така, логиката на адресното превключване на микропрограмен управляващ автомат с естествена адресация е следната: ако извлечената в регистъра на микрокомандата Рг.МК микрокоманда е от вида "изпълнима", то нейното съдържание (в младшата й част) трябва да се изпрати в операционното устройство, в качеството му на управляващи сигнали. Докато там се извършват заповяданите микрооперации, в схемата за формиране на адреса за преход, по закона

Рг.АМК :=  (Рг.АМК) + 1                                     (7.2.2.1)

се получава адресът на следващата микрокоманда. Ясно е, че реализацията на този закон изисква брояч.

      Ако извлечената микрокоманда е от вида "за преход", то адресът за преход се формира според стойността на кода на проверяваното условие КУ и записаната в полето А на микрокомандата стойност. Възможни са следните случаи:

      1) Когато е употребен код за безусловен преход, Х=БП, то винаги КУ=1 и адресният регистър получава съдържанието:

Рг.АМК :=  А  .                                                           (7.2.2.2)

      2) Когато е употребен код за условен преход, Х=УП, то адресът за преход е функция от стойността на кода на условието КУ, както следва:

      В крайна сметка по изказания алгоритъм за превключване, е синтезирана логическата структура на МПУА с естествена адресация, показана по-долу.

 

Фиг. 7.2.2.1.  Логическа структура на МПУА с естествена адресация

 

      Тъй като формирането на адреса за преход е функция от кода на микрокомандата МКК, то това може да стане едва след като микрокомандата се появи на изхода на Рг.МК, което означава, че всяка микрооперация в Бр.АМК се извършва със закъснение. Закъснението при запис в Бр.АМК на адреса за преход А от микрокомандата се определя от времето за превключване на мултиплексорa МUХ и останалите схеми, което формира определени изисквания към коефициента на запълване на тактовия сигнал. Може да се каже, че всяка нова микрокоманда се появява по предния фронт на тактовия сигнал С1, а адресът на всяка следваща - по предния фронт на тактовия сигнал С2. Процесът на превключване на три последователни микрокоманди е изобразен на фигура 7.2.2.2.

 

Фиг. 7.2.2.2.  Превключвания в МПУА с естествена адресация

 

      При тактуване с еднофазен тактов генератор сигналите С1 и С2 са еквивалентни съответно на С и на not(С). В този случай времедиаграмата би имала същия вид, но със съответното разнасяне на фронтовете на сигналите.

      От времедиаграмата се вижда, че докато на изхода на Рг.МК се намира текущата микрокоманда, в микропрограмния брояч се формира адресът на следващата микрокоманда, която се прочита от микропрограмната памет и в края на такта (по С1) очаква приемането си в Рг.МК.

      Естествено, разгледаната реализация на този алгоритъм за формиране на адреса за преход според метода на естественото адресиране, не е единствената възможна.

      Реализираният в чист вид метод за естествено адресиране значително скъсява формата на микрокомандата, в резултат на което се намалява обемът на микропрограмната памет. Неформално и нестрого може да се твърди, че апаратурните разходи са намалели двойно, за което се заплаща с намалено бързодействие в случаите на условни преходи, което е също почти двойно. Същността на намаленото бързодействие на микропрограмата в точките с условни преходи се дължи на факта, че проверката на условието и формирането на адреса за преход не могат да се реализират едновременно с изпълнението на микрооперациите в операционната част на автомата, тъй като двояката интерпретация на съдържанието на микрокомандата се препятствува от нейния код - МКК. Тук искаме да припомним на читателя направената в този смисъл забележка в предидущия пункт.

      В чисто програмен аспект, реализацията на условния или на безусловния адресен преход в една микропрограма, е напълно аналогична на реализацията на ниво машинни команди, която беше обсъдена в глава 5. Така в последователността от тактове на всяка микрокоманда за преход се губи един такт, по време на който към операционното устройство не се подават никакви управляващи сигнали, което означава, че в тези тактове последното престоява. Естествено, конструкторът е длъжен да отчита този факт и в операционното устройство, като съобрази неговото функциониране с начина на управление. Описаният процес е дискутиран още в книга [3], раздел 7.

      Методът на естествено адресиране има още един отрицателен ефект, който се състои в това, че като цяло текстът на микропрограмата се удължава, по сравнение с текста й в другата алтернативна реализация. Удължаването се дължи на допълнително вписаните микрокоманди за управление на прехода. Това най-добре може да се илюстрира с текста от таблица 7.2.2.1 по-долу, в която е представена микропрограмата на алгоритъма от фигура 7.2.1.3.

      Преди да представим текста на микропрограмата следва да конструираме микрокомандата. Тъй като нейната структура е вече изложена, остава да определим формата й. Общата дължина на микрокомандата се определя по два начина, всеки от които отчита отделните видове микрокоманди. В случая, дължината на изпълнимата микрокоманда се определя от на операционната част (8 бита) плюс дължината на микрокомандния код (1 бит) – общо 9 бита. Дължината на микрокомандата за управление на прехода се получава като сума от дължините на полетата: код за избор на условие Х, адрес за преход А и МКК. В този случай съображенията са следните – ако запазим дължината на полето Х (2 бита) и увеличим дължината на полето за адрес на 4 бита и като добавим 1 бит за МКК, получаваме обща дължина за този вариант от 7 бита. Излиза, че той е с 2 бита по-къс от предидущия. За да изравним общите дължини на микрокомандите до 9 бита разпределяме допълнителните 2 бита към полето Х, което става 4 битово. Така тези окончателни дължини са изразени в долната таблица.

 

Таблица 7.2.2.1  Микропрограма

 

 

Съдържание на МПП

 

 

 

МКК

Х

А

 

Адрес

9

8 7 6 5

4 3 2 1

Коментар на микрокомандата

0

0000

1

0 0 0 0

0 0 1 0

Ако “Пуск”=0, то преход към следващия поред адрес ;

Ако “Пуск”=1, то преход към А=2  -  старт .

1

0001

1

0 0 1 1

0 0 0 0

Безусловен преход към адрес А=0 .

2

0010

0

0 1 0 0

0 0 1 0

БП към следващия поред адрес,  сигнали УС2, УС7.

3

0011

0

0 0 0 0

0 0 0 1

БП към следващия поред адрес,  сигнал УС1 .

4

0100

1

0 0 0 1

1 0 0 1

Ако “КОП”=0, то преход към следващия поред адрес ;

Ако “КОП”=1, то преход към адрес А=9 .

5

0101

0

0 0 0 0

0 1 0 0

БП към следващия поред адрес,  сигнал УС3 .

6

0110

0

0 0 0 0

0 0 0 0

БП към следващия поред адрес,  празен такт .

7

0111

0

0 1 1 0

0 0 0 0

БП към следващия поред адрес,  сигнали УС6, УС7.

8

1000

1

0 0 1 1

0 0 0 0

БП към адрес  А=0 .

9

1001

0

0 0 0 0

1 0 0 0

БП към следващия поред адрес,  сигнал УС4 .

10

1010

0

1 0 0 0

0 0 0 0

БП към следващия поред адрес,  сигнал УС8 .

11

1011

1

0 0 1 1

0 1 1 1

БП към адрес  А=7 .

 

 

 

Следващият раздел е:

http://www.tyanev.com/home.php?s=398&lang=bg&mid=18&mod=1&b=12