Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекцii_ALL.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.55 Mб
Скачать

Питання до лекції

  1. Поясніть терміни програма і машинна мова!

  2. Розкажіть, які є два способи рішення задачі. Прокоментуйте кожний із них!

  3. Намалюйте схему багаторівневої машини!

  4. Коротко розкажіть про кожний із рівнів!

  5. Що ми розуміємо під поняттям архітектури ПК?

  6. Поетапно розкажіть про розвиток комп’ютерної техніки!

  7. Яка різниця між апаратним і програмним забезпеченням?

  8. Які є три великі класи сучасних ЕОМ ?

  9. Які комп’ютери називаються ІВМ-сумісними ?

2.

2.1. Принципи розробки сучасних комп'ютерів

Пройшло вже більш двадцяти років з тих пір, як були сконструйовані перші комп'ютери RISC, однак деякі принципи розробки можна перейняти, з огляду на сучасний стан технологій апаратного забезпечення. Якщо відбувається дуже різка зміна в технологіях (наприклад, новий процес виробництва робить тривалість циклу пам'яті в 10 разів менше, ніж тривалість циклу центрального процесора), змінюються всі умови. Тому розробники завжди повинні враховувати можливі технологічні зміни, що можуть вплинути на баланс між компонентами комп'ютера.

Існує ряд принципів розробки, так званих принципів RISC, яким по можливості намагаються наслідувати виробники універсальних процесорів. Через деякі зовнішні обмеження, наприклад вимоги сумісності з іншими машинами, приходиться час від часу іти на компроміс, але ці принципи – ціль, до якої прагне більшість розробників.

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

Комп'ютер повинний починати виконання великої кількості команд. У сучасних комп'ютерах використовується багато різних способів для збільшення продуктивності, головний з яких – можливість звертатися до як можна більшої кількості команд у секунду. Процесор 500-MIPS здатний приступати до виконання 500 млн команд у секунду, і при цьому не має значення, скільки часу займає саме виконання цих команд. (MIPS — це скорочення від Millions of Instructions Per Second — «мільйони команд у секунду».) Цей принцип припускає, що паралелізм може відігравати головну роль у поліпшенні продуктивності, оскільки приступати до великої кількості команд за короткий проміжок часу можна тільки в тому випадку, якщо одночасно може виконуватися кілька команд.

Хоча команди деякої програми завжди розташовані у визначеному порядку, комп'ютер може приступати до їхнього виконання й в іншому порядку (тому що необхідні ресурси пам'яті можуть бути зайняті) і, крім того, може закінчувати їхнє виконання не в тому порядку, у якому вони розташовані в програмі. Звичайно, якщо команда 1 установлює регістр, а команда 2 використовує цей регістр, потрібно діяти з особливою обережністю, щоб команда 2 не зчитувала регістр доти, поки він не буде містити потрібне значення. Щоб не допустити подібних помилок, необхідно вводити велику кількість відповідних записів у пам'ять, але продуктивність все одно стає вищою завдяки можливості виконувати кілька команд одночасно.

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

До пам'яті повинні звертатися тільки команди завантаження і збереження. Один з найпростіших способів розбивання операцій на окремі кроки – це умова, щоб операнди для більшості команд бралися з регістрів і поверталися туди ж. Операція переміщення операндів з пам'яті в регістри може здійснюватися в різних командах. Оскільки доступ до пам'яті займає багато часу, а подібна затримка небажана, роботу цих команд можуть виконувати інші команди, якщо вони не роблять нічого, крім пересування операндів між регістрами і пам'яттю. З цього спостереження випливає, що до пам'яті повинні звертатися тільки команди завантаження і збереження (LOAD і STORE).

Повинна бути велика кількість регістрів. Оскільки доступ до пам'яті відбувається досить повільно, у комп'ютері повинне бути багато регістрів (принаймні 32). Якщо слово один раз викликано з пам'яті, при наявності великого числа регістрів воно може утримуватися в регістрі доти, поки буде не потрібно. Повернення слова з регістра в пам'ять і нове завантаження цього ж слова в регістр небажані. Кращий спосіб уникнути зайвих переміщень – наявність достатньої кількості регістрів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]