- •7. Охарактеризувати основні типи сучасних комп*ютерів: сервери, великі універсальні комп*ютерні системи, кластерні системи, суперкомпьютери і мікроконтроллери.
- •8. Назвати форми представлення інформації. Описати яким чином відбувається перетворення інформації з аналогічного в цифрову і навпаки.
- •20. Охарактеризувати можливості сучасних мп. Проаналзувати процесори з risc та cisc архітектурами.
- •21. Проаналізувати архітектурні особливості сучасних поколінь мп та напрямки підвищення продуктивності сучасних мп (cvp, smt, epic).
- •22. Назвати характеристики процесорів та їх значення для сучасних мікропроцесорів.
- •23. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати команди пересилання даних, вказати їх функції, навести приклади.
- •24. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати арифметичні команди, вказати їх функції, навести приклади.
- •25. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати логічні команди, які основні операції вони виконують. Порівняти арифметичні і логічні команди.
25. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати логічні команди, які основні операції вони виконують. Порівняти арифметичні і логічні команди.
Система команд (також набір команд) - угода про надаваних архітектурою засобах програмування, а саме: певних типах даних, інструкцій, системи регістрів, методів адресації, моделей пам'яті, способів обробки переривань і виключень, методів введення і виведення.
Система команд представляється специфікацією відповідності (мікро) команд наборам кодів (мікро) операцій, які виконуються при виклику команди, що визначаються (мікро) архітектурою системи. (При цьому на системах з різною (мікро) архітектурою може бути реалізована одна і та ж система команд. Наприклад, Intel Pentium і AMD Athlon мають майже ідентичні версії системи команд x86, але мають радикально різний внутрішній дизайн.)
Базовими командами є, як правило, такі:
арифметичні, наприклад, «складання» і «віднімання»;
бітові, наприклад, «логічне і», «логічне або» і «логічне НЕ»;
присвоювання даних, наприклад, «перемістити», «завантажити», «вивантажити»;
введення-виведення, для обміну даними із зовнішніми пристроями;
керуючі інструкції, наприклад, безумовний, умовний або непрямий перехід, виклик підпрограми, повернення з підпрограми.
Арифметичні команди, (працюють тільки над цілими числами) в результаті свого виконяння можуть змінювати стан прапорів, який далі аналізується логічними командами(які ще й можуть працювати над мілами чисел).
Логічні команди виконують над операндами логічні (побітові) операції, тобто вони розглядають коди операндів не як єдине число, а як набір окремих бітів. Цим вони відрізняються від арифметичних команд. Логічні команди виконують наступні основні операції:
логічне І, логічне АБО, додавання за модулем 2 (Операція "Нерівнозначність");
логічні, арифметичні і циклічні зсуви;
перевірка бітів і операндів;
встановлення та очищення бітів (прапорів) регістра стану процесора (PSW).
Команди логічних операцій дозволяють побітно обчислювати основні логічні функції від двох вхідних операндів. Крім того, операція І (AND) використовується для примусового очищення заданих бітів (у якості одного з операндів при цьому використовується код маски, у якому розряди, що вимагають очищення, встановлені в нуль). Операція АБО (OR) застосовується для примусового встановлення заданих бітів (у якості одного з операндів при цьому використовується код маски, у якому розряди, що вимагають встановлення в одиницю, дорівнюють одиниці). Операція "Нерівнозначність" (XOR) використовується для інверсії заданих бітів (у якості одного з операндів при цьому застосовується код маски, у якому біти, що підлягають інверсії, встановлені в одиницю). Команди вимагають двох вхідних операндів і формують один вихідний операнд.
Команди зсувів дозволяють побітно зсувати код операнда вправо (убік молодших розрядів) чи вліво (убік старших розрядів). Тип зсуву (логічний, арифметичний чи циклічний) визначає, яке буде нове значення старшого біта (при зсуві вправо) чи молодшого біта (при зсуві вліво), а також визначає, чи буде десь збережене колишнє значення старшого біта (при зсуві вліво) чи молодшого біта (при зсуві вправо). Наприклад, при логічному зсуві вправо в старшому розряді коду операнда встановлюється нуль, а молодший розряд записується як прапор переносу в регістр стану процесора. А при арифметичному зсуві вправо значення старшого розряду зберігається незмінним (нулем чи одиницею), молодший розряд також записується як прапор переносу.
Циклічні зсуви дозволяють зсувати біти коду операнда по колу (по годинниковій стрілці при зсуві вправо чи проти годинникової стрілки при зсуві вліво). При цьому в кільце зсуву може входити або не входити прапор переносу. У біт прапора переносу (якщо він використовується) записується значення старшого біта при циклічному зсуві вліво і молодшого біта при циклічному зсуві вправо. Відповідно, значення біта прапора переносу буде переписуватися в молодший розряд при циклічному зсуві вліво й у старший розряд при циклічному зсуві вправо.
Для прикладу на Рис. 3.12 показані дії, виконувані командами зсуву вправо.
Команди перевірки бітів і операндів призначені для встановлення чи очищення бітів регістра стану процесора в залежності від значення обраних бітів чи всього операнда в цілому. Вихідного операнда команди не формують. Команда перевірки операнда (TST) перевіряє весь код операнда в цілому на рівність нулю і на знак (на значення старшого біта), вона вимагає тільки одного вхідного операнда. Команда перевірки біта (BIT) перевіряє тільки окремі біти, для вибору яких в якості другого операнда використовується код маски. У коді маски бітам, які перевіряються, основного операнда повинні відповідати одиничні розряди.
Нарешті, команди встановлення та очищення бітів регістра стану процесора (тобто прапорів) дозволяють установити або очистити будь-який прапор, що буває дуже зручно. Кожному прапору звичайно відповідають дві команди, одна з яких встановлює його в одиницю, а інша скидає в нуль. Наприклад, прапору переносу C (від Carry) будуть відповідати команди CLC (очищення) і SEC чи STC (установка).
