
- •1.Що таке комп'ютер?
- •2. Дайте визначення алгоритму.
- •3. Дайте хронологію появи перших комп'ютерів.
- •4. Які основні функції комп'ютера? Які основні функціональні вузли комп'ютера? їх завдання
- •20. Як узгодити передачу даних між повільними і швидкими вузлами комп'ютера?
- •21. Поясніть роботу комп'ютера з одношинною структурою.
- •22. Що таке архітектура комп'ютера?
- •28. Які існують ненейманівські архітектури комп'ютерів? Які їх відмінні риси?
- •29. Назвіть два основних напрями використання комп'ютерів.
- •30. Що розуміється під паралельною обробкою?
- •31. Які є типи комп'ютерів?
- •43. В яких випадках використовується формат представлення чисел з рухомою-рухомою
- •45. Приведіть двійково-десятковий код з 2 з 5 та назвіть вигоди від його використання.
- •46. Приведіть двійково-десятковий код з надлишком 3 та назвіть вигоди від його викорис
- •47. Поясніть суть кодування чисел кодом ebcdic.
- •3. Як кодуються команди в комп ютері?
- •4. Що таке асемблерна мова і для чого використовується асемблер?
- •5. Як класифікуються команди за типами операцій?
- •6. Назвіть команди обробки даних
- •7. Назвіть базові операції зсуву
- •8. Назвіть команди переміщення даних
- •9. Поясніть принципи організації послідовного виконання команд і розгалуження
- •10. Назвіть команди передачі керування
- •15. Якою є продуктивність 4-ярусного конвеєра з тактом 20нс при виконанні 100 команд?
- •16. Назвіть можливі конфлікти, які можуть сповільнити конвеєр
- •17. Які використовуються формати команд при роботі з основною пам яттю?
- •18. Які формати команд використовуються при роботі з регістрами процесора?
- •3.5.1. Формати команд комп'ютерної системи ibm 370
- •19. Які головні критерії вибору формату команд?
- •20. Поясніть різницю між акумуляторною архітектурою, стековою архітектурою та архітектурою
- •21. Поясніть різницю між архітектурами системи команд типу регістр регістр, регістр
- •22. Які переваги та недоліки команд з фіксованим та зі змінним форматом? Який формат є
- •23. Яким чином знаходяться дані в пам'яті коли в команді відсутня адресна частина?
- •24. Яка програма має більше команд: та, що складається з безадресних команд, одноадресних
- •25. Що таке спосіб адресації?
- •26. Які є способи адресації пам'яті? їх призначення?
- •27. Як організовується стекова пам ять?
- •28. Поясніть порядок організації обчислень при використанні стекової адресації
- •29. Наведіть приклади використання інфіксної, префіксної та постфіксної форм запису арифметичних
- •30. Наведіть приклади безпосередньої, прямої, непрямої, відносної та базової адресацій
- •31. Чим відрізняється індексна адресація від базової?
- •32. Чому необхідна велика кількість різних способів адресації?
- •33. Які формати команд використовуються в системі ibm 370? їх відмінності
- •34. Які формати команд використовуються в машині Cyber-70?
- •35. Які формати команд використовуються в комп'ютері dlx?
- •36. Дайте класифікацію архітектур комп'ютера за складом системи команд
- •37. Яка різниця між комп'ютерами із складною та простою системами команд?
- •38. Які особливості має комп'ютер з доповненою системою команд?
- •39. Які переваги має комп'ютер з орієнтованою системою команд?
- •1. Місце процесора в комп'ютері та його функції.
- •2. Що таке командний цикл?
- •3. Дві основні фази командного циклу.
- •4. Основні вузли процесора.
- •5. Одношинна структура процесора комп'ютера із складною системою команд і його зв'язки з
- •6. Виконання процесором операції "Вибірка слова з пам'яті".
- •7. Виконання процесором операції "Запам'ятовування слова в пам'яті".
- •8. Виконання процесором операції обміну між регістрами.
- •9. Виконання процесором арифметичних і логічних операцій.
- •10. Порівняння одношинної та багатошинної структур процесора комп'ютера із складною
- •11. Чому в процесорі комп'ютера із складною системою команд команда виконується за багато
- •12. Чому в процесорі комп'ютера із складною системою команд потрібна складна система
- •13. Чому в процесорі комп'ютера із складною системою команд організація конвеєризації виконання команд складніша, ніж у процесорі комп'ютера з простою системою команд?
- •14. Основні вимоги до процесора комп'ютера з простою системою команд.
- •15. Сформуйте правила вибору системи команд комп'ютера з простою системою команд.
- •16. Чому в системі команд комп'ютера з простою системою команд відносно небагато операцій
- •26. Проаналізуйте та поясніть мікродії, що виконуються на сходинці id конвеєра комп'ютера
- •27. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ех конвеєра комп'ютера dlx при виконанні команди алп.
- •28. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ех конвеєра комп'ютера dlx при виконанні команд завантаження і збереження (load/store).
- •29. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ех конвеєра комп'ютера dlx при виконанні команди умовного переходу (branch).
- •30. Проаналізуйте та поясніть мікродії, що виконуються на сходинці mem конвеєра комп'ютера
- •31. Проаналізуйте та поясніть мікродії, що виконуються на сходинці mem конвеєра комп'ютера dlx при виконанні команд завантаження або збереження.
- •32. Проаналізуйте та поясніть мікродії, що виконуються на сходинці wb конвеєра комп'ютера dlx при виконанні команд алп.
- •33. Проаналізуйте та поясніть мікродії, що виконуються на сходинці wb конвеєра комп'ютера dlx при виконанні команди load.
- •34. Основна ідея суперконвеєрних процесорів.
- •35. Суперскалярні процесори - структура та принцип роботи.
- •36. Процесори векторних комп'ютерів - структура та принцип роботи.
- •37. Наведіть класифікацію архітектури комп'ютера за рівнем суміщення в ньому опрацювання команд та даних.
- •2. Назвіть 3 класи конфліктів у конвеєрі команд та причини їх появи.
- •3. Які є дві групи структурних конфліктів?
- •6. Чому розробники допускають наявність структурних конфліктів?
- •9. Які є способи вирішення структурних конфліктів?
- •11. Назвіть три можливі конфлікти за даними.
- •15. Які можливі конфлікти за даними?
- •16. Які є методи зменшення впливу залежностей між даними на роботу конвеєра команд?
- •34. Поясніть суть способу введення буфера попередньої вибірки з метою зниження втрат на
- •35. Поясніть суть способу дублювання початкових ярусів конвеєра з метою зниження втрат
- •36. Поясніть суть способу затримки переходу з метою зниження втрат на виконання команд
- •37. Поясніть суть способу статичного передбачення переходу з метою зниження втрат на виконання
- •38. Назвіть методи статичного передбачення умовного переходу.
- •39. Поясніть суть методу повернення, який застосовується при статичному передбаченні
- •40. Поясніть суть методу профілювання, який застосовується при статичному передбаченні
- •41. Поясніть суть методу статичного передбачення умовного переходу, за яким результат переходу
- •42. Поясніть суть методу статичного передбачення умовного переходу, за яким результат переходу
- •43. Поясніть суть динамічного передбачення переходу.
- •44. Що таке таблиця історії переходів? Як вона реалізується?
- •45. Наведіть однорівневу схему передбачення переходу з формуванням адреси таблиці історії
- •46. Наведіть однорівневу схему передбачення переходу з формуванням адреси таблиці історії
- •47. Наведіть однорівневу схему передбачення переходу з комбінованим формуванням адреси
- •53. Наведіть основні ідеї, покладені в основу архітектури еріс.
3. Як кодуються команди в комп ютері?
Команда в комп'ютері зберігається в двійковій формі. Вона вказує тип операції, яка
має бути виконаною, адреси операндів, над якими виконується операція, та адреси розміщення
результатів виконання операції. Відповідно до цього команда складається з
двох частин, як це показано на рис. 3.1: коду операції та адресної частини.
коп А
0 к-1 0 т-1
Рис. 3.1. Кодування команди
Поле коду операції (КОП) займає k розрядів. Ним може бути закодовано до N = 2k
різних операцій. Кількість двійкових розрядів, які відводяться під код операції, вибирається
таким чином, щоб ними можна було закодувати всі виконувані в даному комп'ютері
операції. Якщо деякий комп'ютер може виконувати Nc різних операцій, то мінімальна
розрядність поля коду операції k визначається наступним чином: k = [log Nc], де вираз в
дужках означає заокруглення до більшого цілого.
Поле адреси (адресна частина) займає m розрядів. В ньому знаходяться адреси операндів.
Кожна адреса займає пт. розрядів, де і - номер адреси (і=1,2,...1), 1 - кількість
адресних полів. Кожною адресою можна адресувати пам'ять ємністю 2 т і слів. Детальна
інформація про зв'язок між ємністю пам'яті та розрядністю адреси наведена в розділі 9,
в якому описана будова пам'яті.
Розмір команди k + m повинен бути узгодженим з розміром даних, тобто бути з ним
однаковим або кратним цілому числу, що спрощує організацію роботи з пам'яттю. Як
правило, розмір команди рівний 8, 16, 32 біти.
При написанні програми крім двійкової можуть використовуватись й інші форми
представлення команд: вісімкова, шістнадцяткова, символьна (мнемонічна).
Використання вісімкового і шістнадцяткового кодування дозволяє скоротити записи
і спростити роботу програміста. Як відомо 3 двійкових розряди (тріада) замінюються
на 1 вісімковий, а 4 двійкових розряди (тетрада) - на 1 шістнадцятковий. Приклад:
(000011111111)2 = (0377)8 = (0FF); 6
Мнемонічне кодування спрощує процес написання, читання і відлагодження програми.
Основний принцип такого кодування - кожна команда представляється 3-х або
4-х буквеним символом, який показує назву команди. Деякі приклади мнемонічного кодування:
ADD - додати (add),
SUB - відняти (subtract),
4. Що таке асемблерна мова і для чого використовується асемблер?
Програма, яка переводить із мнемонічного коду асемблерної мови в машинний, називається
асемблером. Команди, які використовуються для переводу вихідної програми
в асемблерну, називаються командами асемблера. Ці команди вказують як інтерпретувати
назви, де розмістити програму в пам'яті, яка кількість комірок пам'яті необхідна для
зберігання даних.
Асемблерна мова є дуже далекою від мови людини і заставляє програміста думати
виходячи з принципів побудови комп'ютера. Тому були створені мови високого рівня та
компілятори, які переводять програми з цих мов на мову асемблера. Використання мов
високого рівня має цілий ряд переваг в порівнянні з використанням асемблера. По-перше,
програміст пише програми на мові, близькій до його мови спілкування. Більше того,
мови високого рівня орієнтуються на класи вирішуваних задач. По-друге, скорочується
час написання програм. І по-третє, мови високого рівня є незалежними від типу та архітектури
комп'ютера, що дозволяє використовувати написані на цих мовах програми на
всіх комп'ютерах, а програміста звільнити від знання 'їх структури та організації роботи.
Разом з тим, хоча більшість програм сьогодні пишуться на мовах високого рівня,
асемблерна мова є корисним засобом для написання машинних команд завдяки близькості
до машинної мови, наочності та компактності, і ми також будемо її для цього використовувати.