Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Система командПід системою команд розуміють сукупність відомостей необхідних процесору для виконання певної дії під час реалізації програми. Для виконання більшості алгоритмів як правило необхідними є невелика кількість команд. Більшість МП мають для реалізації цих програм 60-120 базових команд. Під базовою командою розуміють команду, яка визначає виконувану команду без врахування модифікації за рахунок використання різних режимів адресації, РЗП, які є джерелом і приймачем інформації. КР580 містить 78 базових команд, загальне число команд 244. Зарезервовані є команди: 10,20,30,40,50,60,70,313,331,335,355. Класифікація команд:
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 включатьтакіпристрої: - Центральнепроцесорнийпристрій (ЦПУ);
|