1. Извличане на инструкциите
Работата с инструкциите се илюстрира с помощта на програмните
модели. Моделът обяснява графично хода на изпълнение на инструкциите на
отделни етапи.
Начално въвеждане на програмата. По принцип инструкциите са записани в
програмната памет в нарастващ ред след начален (инициализиращ) адрес.
Началният адрес не се транслира в машинен код, а само показва разположението на
програмата в адресното пространство.
Броят на байтовете в инструкцията е закодиран в КОП и с този брой се
увеличава следващото съдържание на реверсивния брояч CnPC.
На фиг.5.1 е даден примерен модел и "стандартните" вътрешни стъпки на
програмата с начален адрес 1500Н. След инициализацията следва поредица от
стандартни стъпки:
В примера първата инструкция е еднобайтова, втората - трибайтова, а третата
инструкция е двубайтова.
Програмата се инициализира на начален адрес 1500Н. След инициализацията
следва поредица от стандартни стъпки:
1. Реверсивният брояч CnPC се зарежда автоматично с номера на първия ред
(съдържащ КОП), а в регистъра му RPC се въвежда автоматично адрес 1501Н пьрвият
ред на програмата.
2. КОП, записан в адреса 1501Н, се извлича от програмната памет и по
магистрала се записва в регистъра IR.
3. КОП се декодира и УУ генерира управляващ сигнал.
4. Резултатът се записва в адрес от паметта.
2. Следват аналогични процедури за втората трибайтова инструкция с адрес
1502Н за КОП2. След изпълнението на тази трибайтова инструкция броячът се
инкрементира 3 пъти, а програмният регистър се зарежда с адреса 1505Н за КОПЗ.
След реализацията на третата двубайтова инструкция броячът CnPC се инкрементира
два пъти.
На фиг.5.2 е илюстрирана примерна схема
за автоматизирано
инкрементиране
(увеличаване с 1 съдържанието) на броячната част CnPC от
блока PC. Последователното въвеждане и извличане на КОП се извършва
автоматично до края на програмата.