Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Система команд





Під системою команд розуміють сукупність відомостей необхідних процесору для виконання певної дії під час реалізації програми. Для виконання більшості алгоритмів як правило необхідними є невелика кількість команд. Більшість МП мають для реалізації цих програм 60-120 базових команд. Під базовою командою розуміють команду, яка визначає виконувану команду без врахування модифікації за рахунок використання різних режимів адресації, РЗП, які є джерелом і приймачем інформації.

КР580 містить 78 базових команд, загальне число команд 244. Зарезервовані є команди: 10,20,30,40,50,60,70,313,331,335,355.

Класифікація команд:

По функціональному призначенню По числу адрес По довжині За способом адресації
Пересилання даних Безадресні 1 байт Пряма
Арифметико-логічні Одноадресні 2 байти Безпосередня
Розгалуження Двоадресні 3 байти Неявна
Спеціальні команди     Регістрова

 

 

10. Команди пересилань, арифметичні, логічні, команди переходів(використання регістру станів-прапорців):

· Арифметичні команди

Почнемо зі складання. Скласти акумулятор з вмістом регістра ADD reg

Кодування: 10000RRR

Виконується за один цикл. Зверніть увагу, що всі арифметичні команди змінюють прапори: Z, S, P, CY, AC.

Для виконання багатобайтові складання необхідно враховувати перенос. Тому молодші байти доданків складаються за допомогою команди ADD, а всі наступні в допомогою команди ADC reg. Вона враховує при складанні вміст прапора переносу. Зрозуміло, що в цій системі команд легко написати арифметику, яка буде працювати з цілими числами довжиною кілька кілобайт (що і було зроблено в системі muMATH-80).

Аналогічно влаштовані команди віднімання.

Різновидом команди складання є команда інкремента регістра, необхідна для адресної арифметики та організації циклів.

INR reg

Кодування: 00ККК100

Встановлюються всі прапори, за винятком CY.

 

Зворотній за дією команда DCR reg.

Досить рідко використовується команда DAA (мнемоніка від DecimalAdjustAccumulator) виконує наступні дії: якщо вміст молодшого полубайта (Нібло) акумулятора менше 9 або встановлений прапор CY, то (A) + 6, якщо значення старшого полубайта більше 9 або встановлений прапор CY, то 6 додається до вмісту старшого полубайта.

При цьому встановлюються всі прапори.

· Логічні команди

ANA reg

Прапор CY скидається, а AC встановлюється (в 8085). У мікропроцесорі 8080 на ці прапори впливає результат операції над третіми битамиоперандів.

У командах груп XRA і ORA прапори CY і AC скидаються.

CMP reg - порівняти регістр (Compareregister), віднімає вміст регістра з акумулятора. Вміст акумулятора не змінюється. Прапори встановлюються як при відніманні. Z = 1, якщо (A) = (reg). CR = 1, якщо (A) <(reg).

Циклічний зсув вліво RCL працює таким чином. Вміст акумулятора зсувається на одну позицію вліво, тобто кожен старший біт отримує значення стояла поряд з ним молодшого біта. Вміст сьомого біта переходить у нульовий біт акумулятору:

(CY) ← (b7).

RRC - зрушує вміст акумулятора вправо. (CY) ← (b0), (b7) ← (b0).

RAL - (RotateLefttroughCarry). Спочатку (CY) заноситься в молодший біт акумулятора, а потім у CY записується вміст старшого його бита.

Формально: (b0) ← (CY), (CY) ← (b7).

Аналогічно зі зсувом вправо: (Bn) ← (Bn +1), (CY) ← (b0), (b7) ← (CY).

Команда CMA (мнемоніка від ComplementAccumulator) інвертує кожен біт акумулятора, тобто 0 стає 1 і навпаки. Прапори не встановлюються.

Команда CMC інвертує вміст прапора переносу. Інші прапори не встановлюються.

За командам управління варто відзначити виконання команди виклику підпрограми.

CALL addr - при її виконанні в стек записується адреса наступної за CALL команди, значення покажчика стека двічі декрементируется, а управління передається за вказаною адресою.

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

Для цього є, втім, більш зручна можливість - команда PCHL. Вона дозволяє передати управління за адресою в регістровий парі HL.

 

Іноді в системних програмах використовується команда зупинки HLT. Процесор зупиняється, регістри і прапори не встановлюються. Для запуску важливо подати сигнал Reset.

IN port - дані з порту з вказаним номером зчитуються в акумулятор. Циклів 3. Прапори не змінюються.

OUT port - вміст акумулятора поміщається на шину даних для запису у вказаний в команді порт.

 

· Команди переходів

Для коректної обробки даних в асемблері потрібна розгалуженість програми. Це досягається використанням умовних переходів. Умовний перехід це така команда процесора, при якій в залежності від стану регістра прапорів проводиться передача управління з деякою адресою інакше кажучи стрибок. Ця адреса може бути ближнім або далеким. Стрибок вважається ближнім, якщо адреса, на який робиться стрибок, знаходиться не далі ніж 128 байт назад і 127 байт вперед від наступної команди. Далекий стрибок це стрибок далі, ніж на [-128,127] байт. Стрибати просто так в будь-якому місці програми безглуздо. Кожна команда змінює регістр прапорів в залежності від результату своєї операції. Зазвичай перед командою стрибка йде команда порівняння, яка змінює регістр прапорів залежно від результату. Команд порівняння дві: cmp і test. Найбільш універсальна cmp. Команда Cmp виробляє порівняння двох операндів. Вона порівнює два значення (регістр, пам'ять, безпосереднє значення) і встановлює прапор нуля Z (zeroflag) якщо вони рівні.

Cmpeax, ebx

Cmpedx, 045567890h

Cmp [ebx], esi

Cmpbyteptr [VALUE1], 045h

 

11. Однокристальнамікро-ЕОМ MCS-51, мікроконтролери:

Сімейство 8-розрядних однокристальнихмікроконтролерів MCS-51 з'явилося на світовому ринку на початку восьмидесятихроків. Першімодифікаціїкристалів (близько 7) Були функціональнозавершенимиоднокристальними МІКРОЕОМ гарвардськоїархітектури, один з основнихпринципівякоїполягає в логічномурозділенніадреснихпросторівпам'ятіпрограм і даних. Зрозвиткомнапівпровідниковоїтехнологіїподальшіверсіїмікросхем MCS-51 стали виготовлятизадосконалішою (CHMOS) технологією (у активному режиміспоживання струму 10 50 мА).

Система команд MCS-51, орієнтована на реалізаціюрізнихцифровихалгоритмівуправління, при збереженнідеякоїзовнішньоїсхожості з системою команд попередньогосімейства MCS-48, якіснорозширилася, в нійз'явилисяпринциповінововведення:

• бітово-орієнтованіоперації і бітові поля, що дало можливістьговорити про реалізацію на кристалібітовогопроцесора;

• реалізовановиконання команд множення, ділення і віднімання;

• вдосконалена робота із стеком;

• розширенагрупа команд передачіуправління;

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

• двох 16-розрядних таймерів-лічильників;

• апаратногопослідовного дуплексного порту;

• дворівневоїсистемипереривань;

• чотирьох 8-бітових портіввведення-виводу.

Принциповізмінивструктурітимчасового циклу роботипроцесора привели до прискореннюроботиіззовнішньоюпам'яттюпрограм і даних, а такожреакцій на зовнішні і внутрішніпереривання. Сумарнийрозмір адресного простору зовнішньоїпам'ятіпрограм і данихзбільшився до 128 Кбайт. 16-розрядні регістрилічильника команд (ProgramCounter) і покажчикаданих (DataPointer) дозволили безпосередньозвертатися до всьогодіапазону адрес що дало розробникамможливістьреалізаціїалгоритмівшвидкоїобробки великих масивівданих.

Всіпрограмно-доступнівузлимікроконтролерабулизведенівспеціальну область пам'ятіданих (SpecialFunctionRegister), що дозволило звертатися до них майже так же, як і до звичайнихвічок резидентного ОЗУ.

У пізнішихмодифікаціяхкристалівудосконаленняйшло по дорозінарощуваннядодатковихфункціональнихможливостейіззбереженнямповноїпрограмноїсумісності з ранішимиверсіями. Особливостямиостанніхмодифікаціймікроконтролерівсімейства MCS-51 є:

• повністюстатичний дизайн;

• версії 3- і 5-вольтів живлення;

• широкий спектр вбудованихпериферійнихпристроїв;

• максимальна тактова частота - 24 мГц; для окремихгрупкристалів - 33 мГц.

В даний час до складу MCS-51 входить близько 60 версійкристалів, крім того є і доступна детальна фірмовадокументація (на жаль, поки мало переведена на українськумову). Для підготовкиматематичногозабезпеченнямікроконтролерів MCS-51 використовуються в основному мови "ASM-51", "С", для якихіснують ряд доситькомпіляторів, що добре зарекомендували себе, бібліотекстандартнихпідпрограм і програмнихемуляторів, щовиробляютьсярізнимизарубіжнимифірмами.

Не дивлячись на достатню "старовину" сімейства (більше 15 років) і появу на світовому ринку за останні роки однокристальнихмікроконтролерівбільшоїпродуктивності і вдосконаленоїархітектури - MCS-51, MCS-251, MCS-96, контролериMCS-51 щедостатньодовго широко використовуватимуться в порівнянопростихвбудованих системах управління

 

12. Особливості архітектури мікроконтролерів:

 

У процесорах з RISC-архітектурою набір команд, що виконуються, скорочений до мінімуму. До МК із RISC-процесором відносяться МК AVR фірми Atmel, МК PIC16 і PIC17 (PeripheralInterfaceController) фірми Microchip і інші.

RISC МК мають наступні характерні риси.

1. Всі команди мають формат фіксованої довжини(наприклад, 12, 14 або 16 біт).

2. Вибірка команди з пам'яті і її виконання здійснюється за один цикл (такт) синхронізації.

3.Система команд процесора припускає можливістьрівноправного використання всіх регістрів процесора.У МК із RISC-процесором усі регістри (часто й акумулятор) розташовуються по адресах, що явно задаються. Це забезпечує додаткову гнучкість при виконанні ряду операцій.

На перший погляд, МК із RISC-процесором повинні мати більш високу продуктивність у порівнянні з CISC МК при одній і тій же тактовій частоті внутрішньої магістралі ВКМ. Однак на практиці питання про продуктивність більш складне і неоднозначне.

По-перше, оцінка продуктивності МК за часом виконаннякоманд різних систем (RISC і CISC) не зовсім коректна. Звичайно продуктивність МП і МК прийнято оцінювати числом операцій пересилання «регістр-регістр», що можуть бути виконані протягом однієї секунди. У МК із CISC-процесором час виконання операції «регістр-регістр» складає від 1 до 3 циклів, що, здавалося б, уступає продуктивності МК із RISC-процесором. Однак прагнення до скорочення формату команд RISC-процесора приводить до змушеного обмеження числа доступних в одній команді регістрів. Так, наприклад, системою команд МК PIC16 передбачена можливість пересилання результату операції тільки в один із двох регістрів — регістр-джерело операнда або робочий регістр. Таким чином, операція пересилання вмісту одного з доступних регістрів в іншій (не джерело операнда і не робочий) потребує використання двох команд. Така необхідність часто виникає при пересиланні вмісту одного з регістрів загального призначення (РЗП) в один з портів МК. У той же час, у системі команд більшості CISC-процесорів присутні команди пересилання вмісту РЗП в один з портів введення-виведення. Тобто більш складна система команд іноді дозволяє реалізувати більш ефективний спосіб виконання операції.

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

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

13. Склад і основні технічні характеристики:

 

СімействоMCS-51 однокристальних8-розрядних мікроконтролерів фірми Intel є одним з найбільш розвинених вданому класіпристроїв.Основніхарактеристикидеякихпредставниківсімействанаведені нижче

 

БазовеядроМКсімействаMCS-51 включатьтакіпристрої:

- Центральнепроцесорнийпристрій (ЦПУ);
- Пам'ятьданихі пам'ятьпрограм;
- 4паралельнихпортувведення /виводу;
- 2таймера /лічильника;
- Блокпереривань;
- Послідовнийпорт.

 

Date: 2015-07-27; view: 541; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию