2. Архітектура РС(ПК)
У комп'ютерній інженерії і інформатиці,архітектура комп'ютера (англ. Computer architecture ) — це набір дисциплін, які описують функціональність, організацію та реалізацію комп'ютерних систем. Деякі визначення архітектури є описами можливостей та програмної моделі комп'ютера, але не конкретної реалізації. Інші описи комп'ютерної архітектури містять опис архітектури системи команд, логічної побудови та реалізації.
Серед таких комп'ютерних архітектур, найбільшого поширення отримали 2 типи архітектури:принстонська (фон Неймана) і гарвардська. Обидві вони виділяють 2 основних вузли ЕОМ:центральний процесор і пам'ять комп'ютера. Різниця полягає в структурі пам'яті: в принстонській архітектурі програми і дані зберігаються в одному масиві пам'яті і передаються в процесор одним каналом, тоді як гарвардська архітектура передбачає окремі сховища і потоки передачі для команд і даних.
У докладніший опис, що визначає конкретну архітектуру, також входять: структурна схема ЕОМ, засоби і способи доступу до елементів цієї структурної схеми, організація і розрядність інтерфейсів ЕОМ, набір і доступність регістрів, організація пам'яті та способи її адресації, набір і формат машинних команд процесора, способи представлення і формати даних, правила обробки переривань.
За перерахованими ознаками та їх поєднаннями серед архітектур виділяють:
- За розрядністю інтерфейсів і машинних слів: 8 -, 16 -, 32 -, 64-розрядні (ряд ЕОМ має й інші розрядності);
- За особливостями набору регістрів, формату команд і даних: CISC, RISC, VLIW;
- За кількістю центральних процесорів: однопроцесорні, багатопроцесорні, суперскалярні;
Організація комп'ютера
Організація комп'ютера допомагає оптимізувати продукти, що базуються на продуктивності комп'ютера. Наприклад, розробники програмного забезпечення повинні знати здатність обробки процесора. Їм можливо доведеться оптимізувати програмне забезпечення з ціллю отримати найкращу продуктивність за найменших витрат. Це потребує детального аналізу організації комп'ютера.
Організація комп'ютера також допомагає спланувати вибір процесора для відповідного проекту. Мультимедійним проектам може знадобитися дуже швидкий доступ до даних, у той час як керувальному програмному забезпеченню потрібні швидкі переривання. Інколи деякі завдання потребують також додаткових компонентів. Наприклад, комп'ютер, здатний до віртуалізації, потребує віртуальної пам'яті, щоб пам'ять різних симульованих комп'ютерів могла зберігатися окремо. Організація комп'ютера та властивості також впливають на вживання енергії та ціну процесора.
Архітектури та програмна сумісність
Аналогічно тому, як стрілковий годинник багато віків залишається зручним способом слідкування за часом, вдалі архітектури ЕОМ можуть залишатись конкурентоспроможними протягом десятиліть. Еволюціювати може і сама архітектура, збагачуючи програміста новими інструментами для написання надійніших та швидкодіючих програм.
Приклад — архітектура IA-32 (у вживанішому позначенні x86, починаючи з i386) центрального процесора фірми Intel, яка є ключовою складовою загальної архітектури ЕОМ. Ця архітектура не була революційною, а зберегла повну сумісність знизу вгору з попередньою архітектурою IA-16 (x86, закінчуючиi286), але в неї були додані нові інструменти для роботи в захищеному режимі, організації багатозадачної роботи, розширена розрядність операндів тощо. Кожне наступне сімейство процесорів IA-32 включає нові інструменти, нові команди, але при цьому вимога до сумісності знизу вгору залишається недоторканною.
Ця сумісність є певною жертвою з боку розробника, який міг би, напевно, запропонувати радикально нову архітектуру, яка має масу переваг в порівнянні з іншими, морально застарілими, але він таким вчинком змусив би користувачів на колосальні витрати, пов'язані з адаптацією існуючого програмного забезпечення, накопиченого за багато років експлуатації. Ця обставина миттєво нівелює будь-які аргументи привабливості нової архітектури для більшості потенційних користувачів. Акуратніший підхід якраз полягає в забезпеченні еволюційної наступності нових архітектур.
Існує й інше вирішення проблеми сумісності програмного забезпечення з різними архітектурами ЕОМ — використання мов програмування високого рівня для написання крос-платформених програм (переносимих програм). Під переносимими програмами розуміють такі програми, в текстах яких не використовуються ніякі специфічні для будь-якої конкретної архітектури відомості. Мова високого рівня повинна в свою чергу бути стандартизованою. Це дає гарантію того, що одного разу написана, програма може бути використана на різних архітектурах. Відповідальність за адаптацію високорівневих конструкцій мови програмування до особливостей конкретної архітектури бере на себе компілятор з цієї мови для даної конкретної архітектури.
- Архітектура системи команд (англ. instruction set architecture, ISA). Архітектура системи команд визначає машинний код, який процесор зчитує і виконує, а також розмір слова, способи адресації пам'яті, регістри процесора, і формати даних.
- Мікроархітектура, або побудова комп'ютера (англ. computer organization) описує, як процесор реалізує систему команд.[5] Наприклад, розмір кеша процесора це виключно питання побудови комп'ютера і немає нічого спільного з архітектурою системи команд.
- Системне проектування (англ. System Design) містить усі інші апаратні елементи обчислювальної системи. Це включає:
- Обробка даних поза процесором, така як прямий доступ до пам'яті (DMA)
- Інші властивості, такі, як віртуалізація, багатопроцесорність та програмне забезпечення.
Деякі архітектури від таких компаній, як Intel і AMD використовують більш тонкі відмінності. Наприклад, вони послуговуються макроархітектурою, це шар більш абстрактний ніж мікроархітектура.
Немає коментарів:
Дописати коментар