потокові процесори

Питання # 2 "Класифікація мікроконтролерів"

Всі МК можна умовно розділити на три основні класи:

8-розрядні МК для вбудованих додатків;

16- і 32-розрядні МК;

цифрові сигнальні процесори (DSP).

Цифровий сигнальний процесор (DSP) - спеціалізований процесор, призначений для цифрової обробки сигналів. Особливості: Гарвардська архітектура, вбудована оперативна пам'ять (одночасна вибірка декількох машинних слів), апаратна реалізація складних інструкцій цифрової обробки сигналів (наприклад, операція множення з накопиченням за 1 такт), вкладені цикли, досить велика довжина конвеєра.

Архітектура фон Неймана - спільне зберігання програм і даних в пам'яті комп'ютера (дешевше, але повільніше). У загальному випадку:

потокові процесори

Гарвардська архітектура - програма і дані зберігаються в різних пристроях пам'яті (в архітектурі фон Неймана для вибірки команди і двох операндів потрібно три такти, тут два; в реальності, цей час може бути скорочено до одного такту).

потокові процесори

Питання # 3 "Тенденції розвитку архітектури"

Питання № 5 - "Огляд мікропроцесорів управління потоками подій"

З точки зору організації обміну командами між процесором і пам'яттю все комп'ютери можна розділити на чотири класи:

SISD (Single Instruction Single Data) - «один потік команд, один потік даних» »;

SIMD (Single Instruction Multiply Data) - один потік команд, багато потоків даних;

MISD (Multiple Instruction Single Data) - багато потоків команд, один потік даних;

MIMD (Multiple Instruction Multiple Data) - багато потоків команд, багато потоків даних.

У найзагальнішому вигляді багатопотокових процесор складається з двох типів примітивів. Перший тип - це ресурс, який підтримує виконання потоку, який називають mutex (від Mutual Exclusion - «взаємне виключення»), а другий - події. Те, як фізично реалізований той чи інший mutex, залежить від обраної схеми - SMT або CMP. У будь-якому випадку виконання процесу зводиться до того, що черговий потік захвативаает mutex на час свого виконання, а потім звільняє його. Якщо mutex зайнятий одним потоком, то другий потік не може його отримати. Конкретна процедура передачі повноважень на володіння mutex від одного потоку іншому може мати випадковий характер; вона залежить від реалізації управління, наприклад, в певній операційній системі. У будь-якому випадку управління повинно бути побудовано так, щоб ресурси, що складаються з mutex, розподілялися коректно і пригнічувався ефект невизначеності.

Події - це об'єкти (event), що сигналізують про про зміну у зовнішньому середовищі. Вони можуть переводити себе в режим очікування до настання іншої події або повідомляти про свій стан іншої події. Таким способом події можуть взаємодіяти між собою, і при цьому повинна забезпечуватися спадкоємність даних між подіями. Дзвінок виконання агент необхідно інформувати про готовність даних для нього. І як в розподілі mutex повинен придушуватися ефект невизначеності, так при роботі з подіями повинен придушуватися ефект невідомості. Вперше схема SMT була реалізована в процесорах Compaq Alpha 21464, а також в Intel Xeon MP і Itanium

Немає достатніх підстав для однозначного твердження про переваги CMP в порівнянні з SMT. Досвід створення процесорів, що реалізують SMT, є набагато більшим: починаючи з середини 80-х років створені кілька десятків експериментальних виробів і кілька серійних процесорів. Історія розвитку CPM поки коротка: якщо не враховувати сімейство спеціалізованих сигнальних процесорів Texas Instruments TMS 320C8x, то першим успішним проектом став Hydra, виконаний в Стенфордському університеті. Серед університетських дослідницьких проектів, націлених на побудову CMP-процесорів, відомі ще три - Wisconsin Multiscalar, Carnegie-Mellon Stampede і MIT M-machine.

Niagara - «сплав» MAJC і Hydra

У процесора UltraSPARC T1, більш відомого як Niagara, два основних попередника - Hydra і MAJC.

В середині 90-х років, на хвилі захоплення спеціалізованими Java-процесорами, в Sun Microsystems була зроблена спроба створення процесора «з дуже довгим словом» - Very Long Instruction Word (VLIW). Ця ініціатива отримала назву MAJC (Microprocessor Architecture for Java Computing). Як і в інших проектах, які стартували в той час (Intel IA-64 Itanium), в даному випадку ставилося завдання перенесення деяких з найскладніших операцій у відання компілятора. Звільнилася транзисторную логіку можна використовувати для створення більш продуктивних функціональних вузлів (functional units), з тим щоб забезпечити продуктивний обмін командами і даними між CPU, кеш-пам'яттю і основною пам'яттю. Таким чином, долали фон-Неймановская «пляшкове горло».

MAJC відрізнявся від більшості процесорів відсутністю спеціалізованих співпроцесорів (subprocessors), які зазвичай називають функціональними пристроями, призначеними для виконання операцій з цілими числами, числами з плаваючою точкою і мультимедійними даними. У ньому все функціональні пристрої були однаковими, здатними до виконання будь-яких операцій, що, з одного боку, знижувало ефективність виконання окремих операцій, але з іншого підвищувало коефіцієнт використання всього процесора.

Niagara втілює в собі найкраще з двох альтернативних підходів до реалізації багатопотоковості - SMT і CMP. На перший погляд, він дуже схожий на Hydra, але швидше за Hydra можна назвати «макетом» Niagara. Крім того що в останньому - вдвічі більше ядер, кожне з них може обробляти чотири потоки.

Власний підхід до створення багатоядерних процесорів запропонувала корпорація IBM, чий проект Cell названий «гетерогенним мультипроцесорним чіпом» (heterogeneous chip multiprocessor). Архітектуру Cell називають ще й Cell Broadband Engine Architecture (CBEA). Мультипроцессор Cell складається з ядра IBM 64-bit Power Architecture і восьми спеціалізованих співпроцесорів, що реалізують схему «одна команда багато даних». У компанії IBM цю архітектуру називають Synergistic Processor Unit (SPU).

Може бути окремий потоковий процесор (Single-streaming processor - SSP) і багатопотокових процесор (Multi-Streaming Processor - MSP).

Безперечними представниками класу SIMD вважаються матриці процесорів: ILLIAC IV, ICL DAP, Goodyear Aerospace MPP, Connection Machine 1 і т.п. У таких системах єдине управ-ляющее пристрій контролює безліч процесорних еле-ментів. Кожен процесорний елемент отримує від пристрою управління в кожен фіксований момент часу однаковий-ву команду і виконує її над своїми локальними даними.

Іншими представниками SIMD-класу є вектор-ні процесори, в основі яких лежить векторна обработкаданних. Векторна обробка збільшує продуктивність процесора за рахунок того, що обробка цілого набору даних (вік-тора) проводиться однією командою. Векторні комп'ютери ма-ніпуліруют масивами подібних даних подібно до того, як ска-лярні машини обробляють окремі елементи таких мас-вов. У цьому випадку кожен елемент вектора треба розглядати як окремий елемент потоку даних. При роботі у векторному режимі векторні процесори обробляють дані практично паралельно, що робить їх в кілька разів швидшими, ніж при роботі в скалярному режимі. Максимальна швидкість передачі даних у векторному форматі може становити 64 Гб / с, що на 2 порядки швидше, ніж в скалярних машинах. Прикладами систем подібного типу є, наприклад, процесори фірм NEC і Hitachi

Питання # 6 "Архітектура однокристальних мікро-ЕОМ сімейства МСS-51"

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

Арифметико-логічний пристрій (АЛП) призначено для виконання арифметичних і логічних операцій перетворення інформації. АЛУ зазвичай складається з двох регістрів, суматора і схем управління. Суматор - можна додавати надходять на вхід двійкових кодів. Регістри - швидкодіючі комірки пам'яті різної довжини. Схеми управління приймають по шині інструкцій керуючі сигнали від УУ і перетворять їх в сигнали для керування роботою регістрів і суматора. АЛУ виконує арифметичні операції (+, -, *, :) тільки над цілими двійковими числами.

Інтерфейсна частина мікропроцесора.

вибору з осередків ОЗУ черговий команди і прийому в регістр команд;

розшифровки коду операції;

зчитування з осередків ПЗУ мікропрограм керуючих сигналів, що визначають процедури виконання заданої операції, і пересилання керуючих сигналів в ці блоки;

записи результатів в пам'ять.

потокові процесори
потокові процесори

Схема управління шиною і портами виконує наступні функції:

прийом від порту інформації: керуючої, про готовність порту, про стан;

організацію каналу для передачі даних між портом і МП.

Питання # 7- "Організація внутрішньої і зовнішньої пам'яті МС8-51"

потокові процесори
потокові процесори

Про

потокові процесори
бращеніе до зовнішньої пам'яті програм. Механізм програмування і верифікації внутрішньої пам'яті програм тут розглядатися не буде, оскільки в продажу є програматори різних типів і вартості. Це дозволяє розробнику зосередитися на вирішенні основного завдання. Універсальний професійний програматор KROM описаний в гл. 4.

На рис, 2.5 зображена область регістрів спеціальних функцій. У неї включені всі програмно доступні регістри (управління і даних) внутренніхблоков введення-виведення.

Формат всіх регістрів спеціальних функцій буде розглянуто в розділах, присвячених опису системи переривань і функцій окремих блоків введення-виведення. Тут наведено формат регістра PSW, що зберігає слово стану процесора. Цей регістр разом з акумулятором містить результат виконання команд.

Формат всіх регістрів спеціальних функцій буде розглянуто в розділах, присвячених опису системи переривань і функцій окремих блоків введення-виведення. Тут наведено формат регістра PSW, що зберігає слово стану процесора. Цей регістр разом з акумулятором містить результат виконання команд.

потокові процесори
потокові процесори

Питання # 8- "Порти введення-виведення МС8-51. Особливості роботи, програмування. "