Макропрограмування

Таким чином, загальна задача, тобто виконання команди (або машинного циклу), розкладається на ряд окремих елементарних дій -мі крооперацій -, які виконуються в певній послідовності та в темпі, Ідо задається тактовими імпульсами. Мікрооперації виконуються під дією електричних сигналів, котрі КП розсилає по лініях керування до вентилів, що стоять на входах і виходах кожного з блоків мікропроцесора. На кожну мікрооперацію складається макрокоманда, у котрій указується, до яких керованих кіл повинні надходити імпульси в даному такті.

Мікрокоманди записані в ПЗП керуючого пристрою (або в його програмовану логічну матрицю - ПЛМ) у вигляді багаторозрядних слів, кожному розряду котрих відповідає сигнал, що діє на вхідні або вихідні вентилі того чи іншого вузла або блока мікропроцесора. Якщо в розряді стоїть одиниця, то відповідний вентиль відкривається, вузол активізується, а якщо нуль, то цей вентиль залишається закритим.

Труднощі полягають у тому, що кожна команда складається з кількох машинних циклів, а кожний цикл виконується за кілька тактів, причому кожному такту відповідає своя мікрокоманда. Отже, кожна команда реалізується не однією, а цілою послідовністю

мікрооперацій. Така послідовність мікрокоманд має назву ^ікропрограми.

Усе це означає, що у відповідь на дешифровану команду КП повинен запустити в роботу відповідну мікрокоманду, яка зберігається в його внутрішній, так званій керуючій пам'яті. Ця керуюча пам'ять якоюсь мірою подібна до основної пам'яті ЕОМ: вона складається з багаторозрядних комірок пам'яті, кожна з яких має свою індивідуальну адресу. Сам же КП подібний до малої ЕОМ, вбудованої в мікропроцесор. Отже, крім уже відомого нам буферного регістра команд, дешифратора команд і ПЗП, що виробляє керуючі імпульси мікрокоманд, КП містить ще керуючу пам'ять, лічильник мікрокоманд та інші вузли, подібні до тих, які входять звичайно до складу мікропроцесора або ЕОМ.

При виконанні мікропрограми важлива вірна послідовність мікрокоманд. Тому мікрокоманда складається звичайно так, щоб крім дій, що їх має виконувати операційний пристрій, у ній містилась також адреса наступної мікрокоманди. Ця друга мікрокоманда запускає третю, четверту тощо, аж до останньої мікрокоманди, яка означає кінець мікропрограми. Такі мікрокоманди називають операційними.

Однак крім таких безумовних переходів від одної мікрокоманди до наступної, можливі також умовні переходи, котрими здійснюється розгалужування мікропрограми. Такі умовні пеу ходи відбуваються залежно від результатів, одержаних від попередньої дії. Мікрокоманди, за якими здійснюються подібні умовні переходи, називаються керуючими. При виконанні керуючої мікрокоманди до КП пересилається вміст указаного в мікрокоманді одного з регістрів МП. З нього виділяється вказаний керуючою мікрокомандою біт, з котрим порівнюється певний біт самої керуючої мікрокоманди. Таким опитуваним регістром мікропроцесора найчастіше буває регістр ознак, з якого запозичаються відомості про якісний характер одержаного результату попередньо" дії. Якщо результат порівняння є позитивним, то в лічильник мікрокоманд пересилається закладена в керуючій команді адреса, за якою має обиратися наступна мікрокоманда. Умовний перехід відбувся. У противному разі ніяких стрибків у послідовності адрес не відбувається і в наступному такті виконується мікрокоманда, розташована за адресою безпосередньо за виконаною.

Побудова керуючих пристроїв та їх мікропрограмування - це вельми складна (мабуть найскладніша) сфера теорії та практики конструювання мікропроцесорів. В однокристальному мікропроцесорі КР580ВМ80 робота КП цілком схована від користувача й він немає ніякої змоги в неї втрутитися.

На відміну від цього в секціонованих (модульних) мікропроцесорах, наприклад серії 589, взаємозв'язок між окремими ІМС, що складають мікропроцесор, здійснюється на рівні мікрокоманд. Такі мікропроцесори доводиться програмувати на мікрокомандному рівні, перекладаючи на мову мікрокоманд програму, задану в машинних кодах.

На закінчення слід підкреслити ієрархічний характер організації ЕОМ: у ній є дві пам'яті, два набори команд і дві програми -традиційного машинного та мікрокомандного рівнів. Але з погляду користувача однокристального МП він "бачить" лише рівень машинних команд, мікрокомандний йому недоступний.

Те саме стосується мов, котрі також утворюють ієрархічну систему: спочатку йдуть мови високого рівня (Фортран, Бейсик, Паскаль), далі машинні мови низького рівня і, нарешті, - недоступні для користувача мови мікрокоманд.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: