- Архітектури процесорів
- Архітектура набору інструкцій RISC та CISC
- Комплекс обчислень набору команд (CISC)
- Скорочення обчислень набору команд (RISC)
Вбудована система - це серцевина та серцевина більшості електронних продуктів, доступних на ринку. Це реалізація інженерії, в якій обладнання відповідає програмному забезпеченню. Ми оточені світом вбудованих систем з міні-комп’ютерами в біометричних дверних замках, літаках, машинах, кардіостимуляторах тощо. Ці обмежені ресурси, маленькі, розумні та потужні системи допомагають нам у виконанні наших щоденних завдань.
Завжди думав про те, як функціонує наше тіло, нервова система, мозок та здатність виконувати багатозадачні завдання. Якщо поєднати всі ці функції, ви отримаєте приблизне уявлення про вбудовану біологічну систему. Наш мозок приховує складні деталі свого функціонування, що відбуваються всередині нього, але все ж дозволяє нам контролювати його з максимальним потенціалом. Така ж складність стосується процесора або контролера, що використовуються у вбудованих системах. Вони приховують складні деталі та надають нам інтерфейс високого рівня для роботи. Що стосується рівня абстракції, можна сказати, як код додавання двох чисел у мові програмування високого рівня спричиняє те, що регістри в мікросхемах обробляють біти і надають вихідні дані користувачеві.
Архітектури процесорів
Центральний процесорний блок, посилаючись як на мікропроцесор, так і на мікроконтролер, виконує конкретні завдання за допомогою Блоку керування (ЦУ) та Арифметичного логічного блоку (АЛУ). Оскільки інструкції надходять з оперативної пам'яті, центральний процесор діє за допомогою двох допоміжних блоків, створюючи змінні та присвоюючи їм значення та пам'ять. Дійсно важливо знати, як центральний процесор виконує всі ці дії за допомогою своєї архітектури. Якщо ви хочете дізнатися більше про те, як працює мікроконтролер, ви можете прочитати цю основну статтю про мікроконтролер.
Кожен процесор має зв’язану з ним пам’ять для зберігання програми та даних. Програма та дані працюють з центральним процесором, щоб отримати вихідні дані. Програма надає інструкції, тоді як дані - інформацію, над якою слід працювати. Для доступу до програми та даних ЦП використовує шини, ці шини є дротами, точніше це сліди проводів, як ви могли бачити на друкованих платах. За ці роки мікроконтролери та мікропроцесори еволюціонували, адаптуючи різні архітектури, виходячи із застосувань або вимог до дизайну, на вибір мікроконтролера впливає тип використовуваної в ньому архітектури. Давайте поглянемо на популярні архітектури.
Архітектура фон-Неймана / Принстона
Спосіб, яким центральний процесор отримує доступ до програми та даних, розповідає про архітектуру центрального процесора. Раніше для отримання доступу до програми та даних використовувалася одна шина. Цей тип архітектури відомий як архітектура фон Неймана або, простіше кажучи, архітектура Принстона. Єдина шина для отримання коду та даних означає, що вони приходять, щоб заважати один одному і уповільнювати швидкість обробки процесора, оскільки кожному доводилося чекати, поки інший закінчить вибірку. Це обмеження також відоме як стан вузького місця Фон-Неймана.
Гарвардська архітектура
Для прискорення процесу було запропоновано Гарвардську архітектуру. У цій архітектурі існують окремі шини даних для даних та програми. Отже, це означає, що ця архітектура пропонувала використовувати чотири автобуси
- Набір шини даних, що передає дані в і з ЦП.
- Набір адресної шини для доступу до даних.
- Набір шини даних для перенесення коду в центральний процесор.
- Адресна шина для доступу до коду.
Використання окремої адресної шини та шини даних означало низький час виконання для процесора, але це пов'язано зі складністю проектування архітектури. Архітектура фон Неймана може звучати трохи ліниво, але вона має перевагу у своєму простому дизайні.
Гарвардську архітектуру набагато легше реалізувати, коли центральний процесор і блоки пам'яті ділять один і той же простір, або оперативна пам’ять і ПЗУ вбудовані (на мікросхемі) разом з процесорним блоком, наприклад, у мікроконтролері, де відстань у мікронах і міліметрах. Однак ту саму архітектуру важко реалізувати там, де пам'ять, що містить код, є зовнішньою для процесора, така як у x86 IBM PC. Набір окремих трасових трас як для даних, так і для адреси на материнській платі зробить плату складною і дорогою. Давайте розберемося в цьому на прикладі процесора.
Процесору з 64-розрядною шиною даних та 32-розрядною шиною адреси знадобиться приблизно 100 шин (96 для шини даних та адреси та кілька інших для керуючих сигналів) для реалізації архітектури Фон-Неймана. Ця ж структура, якщо вона буде реалізована в архітектурі Гарварда, коштуватиме подвійних проводів приблизно в 200 при великій кількості висновків, що виходять з процесора. З тієї ж причини ми не бачимо чистої архітектури Гарварду, реалізованої для ПК та робочих станцій. Натомість використовується модифікована архітектура Гарварда, в якій ієрархія пам’яті з кеш-пам’яттю центрального процесора використовується для розділення програми та даних. Ієрархія пам'яті відокремлює сховище на основі ієрархії часу відгуку процесів.
Інструкція набору архітектури
Оскільки програма (код) завантажується в пам’ять системи (ОЗУ), її отримує центральний процесор (маючи на увазі як мікропроцесор, так і мікроконтролер) для дії на дані, вона дуже схожа, оскільки ми даємо вказівки, коли тренуємо собаку певні дії та команди. Оскільки ці інструкції діють на певних транзисторах, це переходить від одного логічного рівня до іншого. Отже, за допомогою інструкцій програміст спілкується з процесором. Кожен процесор має власний набір інструкцій, збірник інструкцій, заснований на його архітектурі та можливостях.
ЦП розуміє ці інструкції в поєднанні 0 і 1, які також відомі як код операції. Для програміста-людини дуже важко запам’ятати комбінацію 0 і 1 для кожної інструкції, пов’язаної з центральним процесором. Для полегшення роботи програміста-людини ми маємо високорівневі інтерфейси цих інструкцій, і компілятор перетворює їх у формі 0 і 1 для їх обробки. Також у наборі інструкцій кожного процесора він має обмежену кількість інструкцій, які він може зрозуміти.
Продуктивність процесора
Можливо, ви чули термін тактова частота процесора, пов'язаний з роботою процесора. Процесори, як правило, мають тактову частоту в МГц (мегагерцах) або ГГц (гігагерцах), як тактова частота 25 ГГц. Число, пов'язане з тактовою частотою, говорить про те, скільки разів тактовий сигнал всередині процесора тикає за цикли в секунду. Практичність тактової частоти можна зрозуміти тим, що інструкції виконуються на основі тактових циклів ЦП, що пропорційно кількості програм, які ЦП може виконувати за раз.
Продуктивність процесора залежить від кількості інструкцій, які написані в програмі, більше інструкцій, більше часу, витрачений CPU для виконання їх. Це також залежить від кількості тактових циклів, під час яких виконується кожна інструкція, певним інструкціям потрібно більше тактових циклів для виконання, ніж інші, щоб вони відставали в роботі CPU. Інструкції в програмі та цикли, необхідні для виконання кожної інструкції, обернено пропорційні між собою. Зміна одного вплине на інше. Це точка розділення процесорної індустрії.
Архітектура набору інструкцій RISC та CISC
Як було сказано вище, виконання програми та продуктивність центрального процесора залежить від кількості інструкцій у програмі, де інструкції пропонуються до цього конкретного процесора як частини набору команд, а другий фактор - кількість тактових циклів у який виконується кожна інструкція. Виходячи з цих двох факторів, зараз є два набори інструкцій. Найбільш ранній з них - Комплексні обчислення наборів команд (CISC), а інший - Обчислення обчислень набору команд (RISC). Давайте обговоримо кожну з цих архітектур детально, щоб зрозуміти різницю між архітектурою RIC та CISC.
Комплекс обчислень набору команд (CISC)
CISC розшифровується як Комплекс обчислень набору інструкцій. Основним мотивом CISC є зменшення кількості інструкцій, які виконує програма, це робиться шляхом поєднання багатьох простих інструкцій, таких як режим адреси, завантаження тощо, та формування єдиної складної інструкції. Інструкція CISC включає в себе ряд простих інструкцій, а також деякі спеціальні інструкції, які потрібно більше, ніж один такт для виконання. Інструкції CISC можуть безпосередньо працювати з пам'яттю без втручання регістрів, що означає, що це позбавляє від необхідності в деяких основних інструкціях, таких як завантаження значень та потреба в пам'яті (RAM). Інструкції CISC наголошують більше на апаратному забезпеченні, ніж на програмному забезпеченні, що означає, що замість того, щоб навантажувати компілятори,CISC використовує транзистори як апаратне забезпечення для декодування та реалізації інструкцій. Однак, оскільки інструкція є складною і складається з декількох кроків, вони виконуються з більшою кількістю тактових циклів.
Проста аналогія співвідносити, коли ви сказали, щоб відкрити книгу і прочитати 3 RD 2 Капітула й сторінці. У цій серії заходів ви виконуєте кілька кроків, наприклад, знаходите книгу у своїй сумці, ніж перетасовуєте сторінку до розділу 3, а потім переходите на 2- ю сторінку глави і починаєте читати. Серія крок, якщо об'єднати в одну команду читання стор.44 (який є 2 - й номер сторінки 3 - й главі), ми отримуємо інструкції CISC.
Скорочення обчислень набору команд (RISC)
Перший інтегрований чіп був розроблений Джеком Кілбі в 1958 р., Який був генератором, а в 1970 р. Перший комерційний мікропроцесор вийшов від Intel. Хоча на старті процесорів CISC не було. Але зважаючи на важкі обчислювальні вимоги, архітектура CISC ставала все більш складною та важкою для обробки. Повний перегляд архітектури CISC, відомий як RISC, вийшов від IBM Джоном Коуком. Таким чином, для розмежування двох архітектур були введені терміни RISC та CISC.
RISC означає скорочення обчислень набору команд. Основним мотивом RISC було запровадження однаковості у розмірі та виконанні інструкцій. Це було зроблено шляхом введення простого набору команд, який може виконуватися як одна інструкція за цикл, це робиться шляхом розбиття складної інструкції, наприклад, завантаження та збереження в іншу інструкцію, де кожна інструкція виконує приблизно один тактовий цикл. Архітектура RISC включає прості інструкції однакового розміру, які можна виконати за один такт. Машинам на основі RISC потрібно більше оперативної пам'яті, ніж CISC, щоб утримувати значення, оскільки вони завантажують кожну інструкцію в регістри. Виконання однієї інструкції за цикл надає машинам, що базуються на RISC, перевагу конвеєризації(конвеєризація - це процес, при якому наступна інструкція завантажується до виконання першої інструкції, це підвищує ефективність виконання). Архітектура RISC підкреслює