Навігація
Головна
 
Головна arrow Інформатика arrow Архітектура ЕОМ і систем
< Попередня   ЗМІСТ   Наступна >

КОМАНДИ

Вхідний вплив у вигляді двійкового коду, призначене для управління мікропроцесором, називається командою (або інструкцією). Її головна функція - виконання операцій над даними. Команда наказує кроки по реалізації мікропроцесором заданої операції, що представляє собою функціонально завершене дію, яке визначається типом використовуваних даних, джерелом їх отримання, операцією над ними, приймачем розміщення результату, джерелом отримання наступної команди [18]. Машинне представлення команди в пам'яті, що складається з ряду нулів і одиниць, називається об'єктним кодом команди. Для кращого сприйняття команди використовується її символічне позначення або мнемокод.

Формат команди

Кожна команда повинна містити відомості, необхідні для її виконання. Відомості кодуються. Для кодування кожної групи відомостей виділяється своє поле. Сукупність полів, що містять необхідні відомості для виконання необхідної операції, називають форматом команди. У форматі команди повинні бути визначені:

  • • функціональне призначення операції у вигляді коду операції;
  • • адреси джерел даних. У загальному випадку повинні бути вказані адреси двох операндів;
  • • адреса місця розташування результату;
  • • адреса наступної команди.

Способи зменшення формату команди. Рас дивимося гіпотетичну ситуацію. Припустимо, що в форматі команди:

  • • поле коду операцій (КО) займає 4 розряду, що дозволяє закодувати 24 = 16 операцій;
  • • під адреси двох операндів-джерел, адреса місця розташування результату, адреса наступної команди виділені поля AO1, А02, АР, АСК (рис. 5.20) по 12 розрядів, що дозволяє в кожному випадку адресувати 212 = 4К осередків пам'яті.

формат команди

Мал. 5.20. формат команди

Як видно з рис. 5.20, незважаючи на скромні можливості команди, її загальна довжина становить досить велику кількість (52) біт. Для скорочення кількості розрядів команди частина інформації повинна бути задана неявно і не повинна залежати від особливостей конкретної команди.

Найбільш вживаними є такі способи скорочення довжини коду команди:

  • • використання спеціально передбачених для адресації регістрів : програмного лічильника, покажчика стека і ін. Наприклад, при виконанні команд з послідовно зростаючими адресами програмний лічильник автоматично зчитує з пам'яті наступну команду. В цьому випадку в форматі команди відсутній поле адреси наступної команди;
  • • використання неявних способів адресації. Наприклад, при використанні неявній реєстрової адресації адреса наступної команди або операнда зберігається в регістрі, код якого містить значно меншу кількість розрядів, ніж код виконавчого адреси;
  • поєднання джерела одного з операндів з приймачем результату. В цьому випадку в форматі команди виключається поле адреси результату;
  • • використання команд з укороченою адресацією , тобто частини адресного простору пам'яті;
  • • використання для певної групи операції одного регістра. Найбільш часто для цієї мети використовується акумулятор. В операціях з акумулятором не потрібно його кодування. Наприклад, команда ADD В виконує операцію складання вмісту регістра В з акумулятором А і в нього ж поміщає результат. Така команда є одноадресної. Її формат складається з двох полів: коду операції та адреси операнда. Однак одноадресні команди вимагають додаткових команд для попереднього завантаження операндів в акумулятор і подальшого розміщення результатів в пам'яті;
  • • використання декількох акумуляторів (Motorola 6800, National РАСЕ, Signetic 2650). У цьому випадку кожна команда має дві адреси, однак адреса джерела та місця призначення може бути заданий іншим акумулятором.

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

  • • засилання команд (першого байта) в регістр команд з подальшою їх дешифрацией для активізації пристрої управління;
  • • надходження даних (наступних байт) в акумулятор або інші регістри для обробки в АЛ У.

Формати команд 8-розрядного процесора. Довжина команди становить від 1 до 3 байт. Код операції завжди розміщується в першому байті команди. Другий і третій байти відводяться під безпосередні дані, адреса порту або комірки пам'яті. У командах допускається явне завдання тільки одного адреси пам'яті. Тому система команд процесора відноситься до класу одноадресних команд.

Формати команд процесора 8086 зображені на рис. 5.21, де позначено: ОРС (Operation Code) - код операції; X - біти коду

Формати команд 8-розрядного процесора

Мал. 5.21. Формати команд 8-розрядного процесора

операції; dst, src - покажчики приймача і джерела даних; port - адреса порту; data - дані; addr - адреса пам'яті; LB, НВ - молодший і старший байти.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук