На головну

ПРИКЛАД: СИСТЕМА КОМАНД ПРОЦЕСОРІВ РОДИНИ PDP

  1. DNS - система доменних імен
  2. FC - команда порівняння файлів
  3. I.2.3) Система римського права.
  4. II. Початкове фундаментальне уявлення: діяльність - система
  5. II.5.1) Поняття і система магістратур.
  6. III. Поняття знака як органічна система
  7. JIT - це система, яка показує наявність непотрібних витрат,

Як приклад реально існуючого процесора, зручного для більш детального вивчення, візьмемо процесор серії машин, створених фірмою DEC (США) і відомих під назвою PDP-11 (в нашій країні аналогічні процесори використовувалися в родинах 16-розрядних міні- і мікро-ЕОМ « електроніка », ДВК, БК, а також в шкільному комп'ютерному класі УКНЦ; всього таких машин було випущено в СРСР до 1,3 млн. штук і приблизно стільки ж в США). Це сімейство міні- і мікро-комп'ютерів - одне з найбільш довгоживучих: перша машина цієї серії була випущена в 1970 р, а припинення випуску було заплановано фірмою DEC на 1997 р

Причина вибору процесора PDP для ілюстрації обговорюваного питання полягає в тому, що система команд цього процесора побудована на простих і наочних принципах, вивчивши і запам'ятавши які вже можна складати нескладні програми. У той же час система команд інших процесорів, наприклад, широко поширених представників сімейства «Intel», влаштована значно складніше, вимагає запам'ятовування великої кількості довідкових даних. В якості підтвердження сказаного досить вказати, що в команді процесора PDP може бути використаний будь-який з наявних внутрішніх регістрів, тоді як багато команд процесорів «Intel» оперують з фіксованими регістрами, не допускаючи альтернативного розташування даних і результатів.

Процесор машин серії PDP і його вітчизняні аналоги (при подальшому викладі будемо все це велике сімейство для стислості називати «процесор PDP») з точки зору програміста влаштований досить просто. Він складається з восьми регістрів загального призначення (РОН) і особливого регістру, в якому відображається поточний стан процесора (в іноземній літературі його прийнято позначати PSW - Processor Status Word). Будь-який з регістрів загального призначення може бути використаний в командах на рівних підставах. Разом з тим є два виділених регістра, вміст яких процесор використовує для власних потреб. Перш за все слід назвати регістр R7, що виконує роль лічильника команд, в якому зберігається адреса наступної інструкції програми. Іншим виділеним регістром є покажчик стека R6, який використовується при запам'ятовуванні інформації в момент виклику підпрограм і при переході до обробки переривання.

Решта 6 регістрів, що позначаються RO, Rl. R2, R3, R4, R5, програміст може повністю використовувати на свій розсуд. Є тільки одне (непринципове) виняток: у великій системі команд PDP існує лише єдина, і то досить екзотична, команда (MARK), що працює з регістром R5.

Слід зазначити, що і виділені регістри процесора R6 і R7 можуть бути використані в будь-якій команді поряд зі звичайними РОН RO-R5. Наприклад, допускається переписати інформацію з R7 в R3 і тим самим повідомити програмі адресу пам'яті, в якому знаходиться наступна команда програми. Такий прийом дуже часто використовується програмістами для автоматичної «самонастроювання» на ті адреси ОЗУ, в яких опинилася завантаженої програма. Цікаво, що такого простого доступу до вмісту програмного лічильника багато процесори не мають.

Мал. 4.14. Схема регістра стану процесора PDP

Регістр стану процесора PSW, як і всі РОН, є 16-бітовим. Його особливістю є те, що кожен його біт має самостійне значення і може використовуватися процесором окремо від інших. У керуючих бітах регістра постійно відображається інформація про виконувані результатах (негативність, рівність нулю і т.п.), а також про стан процесора в даний момент (наприклад, один з бітів дозволяє дозволяти або забороняти обробку переривання). З усіх використовуваних бітів (в повному обсязі 16 біт регістра стану задіяні!) Найбільш використовувані два; їх прийнято позначати N і Z. Керуючий ознака N (Negative) відображає знак результату операцій: якщо число негативне, то N = 1, невід'ємне - N = 0. Біт Z (Zero) говорить про рівність або нерівність нулю результату: в першому випадку Z = 1, у другому - Z = 0. Шляхом нескладних міркувань можна переконатися в тому, що з шести відомих математичних співвідношень

=, <,>, ?, ?, ?

чотири можуть бути проаналізовані за однією з ознак, а два залишилися вимагають спільного аналізу бітів N і Z.

Інші керуючі біти, зображені на малюнку, використовуються таким чином. Біт Р - завдання маскування переривань від зовнішніх пристроїв (Р = 0 -прериваніе відбудеться. Р = 1 - замасковано). Біт Т - «ознака пастки»; при Т = 1 після переривання запускається спеціальна системна програма, що дозволяє на етапі налагодження поточної програми здійснювати режим трасування. Біт V-ознака переповнення розрядної сітки при арифметичній операції (якщо це сталося, встановлюється V = 1); біт С - аналогічно при переповненні розрядної сітки при логічної операції, що супроводжується зрушенням коду. Описані керуючі ознаки широко використовуються для реалізації розгалужень програми в залежності від отриманих результатів, аналізу причин переривань і інших дій.

Процесор PDP має досить зручний і широкий набір команд. Основна їх частина є двоадресний і одноадресних, тобто вони обробляють два або один операнд, відповідно. Для виконання деяких керуючих команд дані не потрібні (наприклад, команда зупинки програми) - такі команди не містять посилань на операнди. Формати одно- і двоадресного команд зображені нижче на рис. 4.15.

 КОП  КМА  N POH
 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
 КОП  KMA1  N POH1  KMA2  N POH2
 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
         

Ріс.4.15. Формат одноадресної команди (вгорі) і двоадресний (внизу). КОП - код операції. КМА - код методу адресації, N РОН - номер регістра загального призначення (код адреси)

Приклади деяких найбільш важливих операцій приведені в табл. 4.2. Дії, що виконуються за простою арифметичною операцій, зрозумілі з пояснень. У деяких додаткових поясненнях потребують тільки команди переходів.

По перше, переходи бувають абсолютні (На задану адресу) і відносні (На певне число команд щодо даної). Переходи першого типу більш наочні і можуть бути реалізовані на будь-яку адресу ОЗУ. Відносні переходи вимагають обчислення адреси переходу, зате вони не прив'язані до конкретних адресами ОЗУ: програма, яка використовує відносні переходи, може працювати в будь-якому місці пам'яті. Відносні переходи займають менше місця в пам'яті, ніж абсолютні; внаслідок цього діапазон відносних переходів обмежений (в процесорі PDP тільки на 127 слів вперед і 128 - назад).

Таблиця 4.2




АРХІТЕКТУРА ЕОМ | КЛАСИЧНА АРХІТЕКТУРА ЕОМ II ПРИНЦИПИ фон Неймана | ВДОСКОНАЛЕННЯ І РОЗВИТОК ВНУТРІШНЬОЇ СТРУКТУРИ ЕОМ | ОСНОВНИЙ ЦИКЛ РОБОТИ ЕОМ | СИСТЕМА КОМАНД ЕОМ І СПОСОБИ ЗВЕРНЕННЯ ДО ДАНИХ | ІСТОРІЯ РОЗВИТКУ МІКРОПРОЦЕСОРІВ | ВНУТРІШНЯ ОРГАНІЗАЦІЯ МІКРОПРОЦЕСОРА | РОБОТА МІКРОПРОЦЕСОРА З ПАМ'ЯТТЮ. МЕТОДИ аДРЕСАЦІЇ | ФОРМАТИ ДАНИХ | обробки переривання |

© um.co.ua - учбові матеріали та реферати