- •7. Охарактеризувати основні типи сучасних комп*ютерів: сервери, великі універсальні комп*ютерні системи, кластерні системи, суперкомпьютери і мікроконтроллери.
- •8. Назвати форми представлення інформації. Описати яким чином відбувається перетворення інформації з аналогічного в цифрову і навпаки.
- •20. Охарактеризувати можливості сучасних мп. Проаналзувати процесори з risc та cisc архітектурами.
- •21. Проаналізувати архітектурні особливості сучасних поколінь мп та напрямки підвищення продуктивності сучасних мп (cvp, smt, epic).
- •22. Назвати характеристики процесорів та їх значення для сучасних мікропроцесорів.
- •23. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати команди пересилання даних, вказати їх функції, навести приклади.
- •24. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати арифметичні команди, вказати їх функції, навести приклади.
- •25. Визначити поняття системи команд процесора, навести їх типи. Охарактеризувати логічні команди, які основні операції вони виконують. Порівняти арифметичні і логічні команди.
21. Проаналізувати архітектурні особливості сучасних поколінь мп та напрямки підвищення продуктивності сучасних мп (cvp, smt, epic).
Особливості сучасних RISC-процесорів:
розширений обсяг реєстрової пам'яті: від 32 до декількох сотень регістрів загального призначення, що входять до складу мікропроцесора;
використання в командах обробки даних тільки реєстрової адресації (звернення до пам'яті використовується в командах завантаження і збереження вмісту регістрів, а також в командах управління програмою);
відмова від апаратної реалізації складних способів адресації (з постинкрементом або предекрементом, непряма адресація та ін.);
фіксований формат команд (зазвичай 4 байт) замість змінного формату (від 1 до 15 байт), характерного для CISC-процесорів;
виключення з набору команд, що реалізують рідко використовувані операції, а також команд, що не вписуються в прийнятий формат.
Сучасні CISC-процесори застосовують ряд технологій прискорення виконання коду, запозичених у систем RISC:
Конвейеризация (pipelining) припускає розбивку виконання кожної інструкції на кілька етапів, причому кожен етап виконується на своїй ступені конвеєра процесора. Продуктивність процесора можна оцінювати темпом виходу виконаних інструкцій з усіх його конвеєрів.
Скалярним називають процесор з єдиним конвеєром, до цього типу відносяться всі процесори Intel до 486 включно. Суперскалярний (superscalar) процесор має більше одного (Pentium - дві) конвеєра, здатних обробляти інструкції паралельно.
Перейменування регістрів (register renaming) дозволяє обійти архітектурне обмеження на можливість паралельного виконання інструкцій (доступно всього вісім загальних регістрів).
Просування даних (data forwarding) має на увазі початок виконання інструкції до готовності всіх операндів. При цьому виконуються всі можливі дії, і декодована інструкція з одним операндом поміщається в виконавчий пристрій, де чекає готовності другого операнда, що виходить з іншого конвеєра.
Передбачення переходів (branch prediction) дозволяє продовжувати вибірку і декодування потоку інструкцій після вибірки інструкції розгалуження (умовного переходу), не чекаючи перевірки самого умови. Статичний метод передбачення працює за схемою, закладеної в процесор, вважаючи, що переходи по одним умовам, найімовірніше, відбудуться, а за іншими - ні. Динамічне передбачення спирається на передісторію обчислювального процесу - для кожного конкретного випадку переходу накопичується статистика поведінки, і перехід передвіщається, грунтуючись саме на ній.
Виконання за припущенням, зване також спекулятивним (speculative execution), йде далі - передбачені після переходу інструкції не тільки декодуються, але і по можливості виконуються до перевірки умови переходу. Якщо передбачення збувається, то праця виявляється немарно, якщо не збувається - конвеєр виявляється недовантаженим і простоює кілька тактів.
Виконання з зміною послідовності інструкцій (out-of-order execution), властиве RISC-архітектурі, тепер реалізується і для процесорів x86. При цьому змінюється порядок внутрішніх маніпуляцій даними, а зовнішні (шинні) операції вводу-виводу і запису в пам'ять виконуються, звичайно ж, у порядку, встановленому програмним кодом. Однак ця здатність процесора найбільшою мірою може блокуватися недосконалістю програмного коду (особливо 16-бітних додатків), якщо він генерується без урахування можливості зміни порядку.
