Основні аспекти класифікацій архітектур комп'ютерних систем

Розвиток класифікацій архітектур комп'ютерних систем. Класифікація за характерними ознаками: показники роботи, оптимальність системи, ефективність роботи та критерії ефективної роботи. Приклади класів архітектур в залежності від кількості потоків даних.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 13.12.2020
Размер файла 133,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ОСНОВНІ АСПЕКТИ КЛАСИФІКАЦІЙ АРХІТЕКТУР КОМП'ЮТЕРНИХ СИСТЕМ

Н.П. Франчук,

Київ, Україна

Анотація

В статті розглядається становлення та розвиток класифікацій архітектур комп'ютерних систем. Науковці класифікують архітектури комп'ютерних систем за певними характерними ознаками, такими як: показники ефективної роботи, оптимальність системи, ефективність роботи та критерії ефективної робот и.

Різноманітність обчислювальних систем, породила багато різних класифікацій. В основі кожної класифікації лежить розв'язування певної задачі. В історії розвитку комп'ютерних систем відомо більше десятка класифікацій. Зокрема в даній статті показано та охарактеризовано одну з найбільш відомих таксономію Майкла Дж. Флінна, яка базується на поняттях двох потоків: команд і даних. На основі числа цих потоків виокремлюється чотири класи архітектур: єдина інструкція щодо одномісних даних (ОІОД); єдина інструкція щодо множинних (багатьох) даних (ОІМД); множинна інструкція щодо одномісних даних (МІОД); множинна інструкція щодо множинних (багатьох) даних (МІМД).

Також описані й інші класифікації та структуровані за роками виникнення. Описано приклади класів архітектур в залежності від кількості потоків даних. Наведено огляд класифікацій комп'ютерних систем, з яких випливає, що в кожній з них описується архітектура комп'ютерних систем, взаємозалежність її складових та певні характеристики. Вказано відповідні переваги та недоліки щодо кожної класифікації.

Використання вдалої класифікації може допомогти розробникові під час написання ефективних програм та підказати шляхи удосконалювання комп'ютерів.

Ключові слова: класифікація комп'ютерних систем, таксономія комп'ютерних систем, архітектура комп'ютерних систем, потік даних, класи архітектур комп'ютера: SISD, SIMD, MISD, MIMD.

BASIC ASPECTS OF CLASSIFICATIONS OF ARCHITECTURES OF COMPUTER SYSTEMS

Resume

архітектура комп'ютерний система класифікація

The article deals with the formation and development of classifications of the architecture of computer systems. Scientists classify computer system architectures by specific characteristics, such as performance, system optimization, performance, and performance criteria.

The variety of computing systems has generated many different classifications. At the heart of each classification is solving a particular problem. In particular, this article shows and characterizes, one of the most famous, Michael J. Flynn's taxonomy, which is based on the concepts of two streams: commands and data. Four classes of architectures are distinguished based on the number of these threads: single instruction single data (SISD); single instruction multiple data (SIMD); multiple instruction single data (MISD); multiple instruction multiple data (MIMD).

Also described are other classifications and structured by year of occurrence. Examples of architecture classes are described depending on the number of data streams. An overview of the classifications of computer systems, which shows that each of them describes the architecture of computer systems, the interdependence of its components and certain characteristics. The respective advantages and disadvantages of each classification are indicated.

Using good classification can help a developer write effective programs and suggest ways to improve computers.

Key words: the classification of computer systems, the taxonomy of computer systems, the architecture of computer systems, the flow of data, the classes of computer architectures: SISD, SIMD, MISD, MIMD.

Постановка проблеми

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

Аналіз попередніх досліджень. Проаналізувавши різні класифікації комп'ютерних систем постала проблема об'єднати їх, щоб можна було ознайомитись з різними підходами до класифікацій.

Мета статті. Дослідження різних класифікацій та впорядкування їх за роками.

Виклад основного матеріалу

Ще в 60-х роках ХІХ століття (1966 р.) Майкл Дж. Флінн (Michael J. Flynn) [2] розробив і запропонував класифікацію (таксономію), що базувалася на поняттях двох потоків, а саме: потоку команд-інструкцій та потоку даних. В залежності від кількості потоків даних М. Флінн виокремив чотири класи архітектур [7] (Рис. 1):

1. Single Instruction Single Data (SISD) - Єдина інструкція щодо одномісних даних;

2. Single Instruction Multiple Data (SIMD) - Єдина інструкція щодо множинних (багатьох) даних;

3. Multiple Instruction Single Data (MISD) - Множинна інструкція щодо одномісних даних;

4. Multiple Instruction Multiple Data (MIMD) - Множинна інструкція щодо множинних (багатьох) даних.

Використання такого підходу до організації архітектур комп'ютерних (обчислювальних) систем дало змогу розглядати поняття потоку, під яким мають на увазі послідовність команд, інструкцій, операцій або даних, що опрацьовуються за допомогою процесора.

Single Instruction Single Data SISD - в загальному випадку є класичною машиною Фон-Неймана, тобто звичайні комп'ютери, на яких в певний момент часу виконується певна (лише одна) команда (інструкція), тобто в одному ядрі процесора виконується одна операція. Сюди можна віднести всі однопроцесорні системи. Це послідовні комп'ютерні системи, які оснащені одним центральним процесором, за допомогою якого опрацьовується тільки один потік послідовно виконуваних команд чи інструкцій. Сьогодні практично всі високопродуктивні системи налічують більше одного центрального процесора, однак за допомогою кожного з них виконуються незв'язані потоки команд (інструкцій), що робить такі системи комплексами SISD-систем, що функціонують на різних просторах даних.

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

Рис. 1. Класифікація Флінна

Single Instruction Multiple Data (SIMD) - це матричні комп'ютери або ж клас паралельних комп'ютерів. Сюди відносять комп'ютери з кількома блоками опрацювання даних, тобто ті комп'ютери, в яких виконується одна і та сама операція в кількох місцях одночасно. В значній частині сучасних конструкцій процесорів містяться команди (інструкції) SIMD для підвищення продуктивності мультимедійного використання. Часто до цього класу відносять і векторно-конвеєрні комп'ютери, коли кожен з елементів вектора розглядається як окремий елемент в потоці даних. Прикладами є системи:

- Cambridge Parallel Processors Distributed Array Processor (CPP DAP) - Кембриджський процесор розподілених масивів паралельних процесорів (ICL DAP);

- Connection Machine 1;

- Gamma II;

- Goodyear Aerospace MPP;

- Hitachi S2600.

- ILLIAC IV;

- Quadrics Apemille;

Multiple Instruction Single Date (MISD) - можна розглядати як роботу банку. З терміналу можна дати команду і виконати деякі операції з певними даними. Оскільки база даних одна, а команд багато, то розглядається множинний потік інструкцій (команд) і одиничний потік даних. Сам М. Флінн не зміг привести жодного прикладу реально існуючої такої системи, що функціонує за цим принципом. На даний час не створено жодного реального комп'ютера, який би можна було віднести до цього класу.

Multiple Instruction Multiple Date (MIMD) - до цього класу належать практично всі сучасні багатопроцесорні системи. За допомогою такої машини можна виконати кілька потоків інструкцій (операцій) над різними потоками даних. На відміну від згаданих вище багатопроцесорних SISD-систем, команди та дані пов'язані, тому що вони є різними частинами однієї і тієї самої задачі. Наприклад, з використанням MIMD-системи можна паралельно виконувати багато підзадач з метою скорочення часу виконання основної задачі. На сьогоднішній день це найпоширеніший клас паралельних архітектур, в яких кожний процесор може функціонувати незалежно від інших для виконання окремого завдання.

Після оприлюднення класифікації М. Флінна багато чого змінилось в комп'ютерних системах і вона стала застарілою, або ж такою, що потребує уточнення. Так 4-х процесорні SX-5 компанії NEC, і багатотисячні процесорні Cray T3E потрапляють в цей один клас. Це змушує використовувати інший підхід до класифікації обчислювальних (комп'ютерних) систем.

Розробники і вчені вважають, що множинний потік команд може бути утворений двома способами:

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

- опрацювання кожного потоку з використанням окремого пристрою (паралельні комп'ютери).

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

В основі паралельних комп'ютерів лежить ідея використання для розв'язування одної задачі кількох процесорів, які функціонують одночасно, причому процесори можуть бути як скалярними, так і векторними.

Так в 1972 році Т. Фенг (T. Feng) запропонував класифікувати обчислювальні системи на основі двох простих характеристик послівний і порозрядний паралелізм. Перша характеристика - число біт n в машинному слові, що опрацьовується паралельно під час виконання машинних інструкцій (команд). Практично у всіх сучасних комп'ютерах це число збігається з довжиною машинного слова. Друга характеристика - число слів т, опрацьовуваних одночасно за допомогою даної обчислювальної системи. Трохи змінивши термінологію, функціонування будь-якого комп'ютера можна уявити як паралельне опрацювання n бітових шарів, на кожному з яких незалежно перетворюються т біт. Спираючись на таку інтерпретацію, другу характеристику зазвичай називають шириною бітового шару [5].

Слід звернути увагу і на класифікацію Дж. Шора (J.E. Shore), її інакше ще називають розширенням Т. Фенга, в якій виокремлюються шість «типових архітектур» обчислювальних систем. Вона була запропонована Дж. Шором на початку 70-х років. За такого підходу цікаво ще й те, що здійснюється спроба виокремлення типових способів компонування комп'ютерних систем на основі фіксованого числа базових блоків, а саме: пристрою управління, арифметико-логічного пристрою, пам'яті команд і пам'яті даних. Додатково передбачається, що вибірка з пам'яті даних може здійснюватися за окремими словами, тобто вибираються всі розряди одного слова, і/або бітовим шаром - один за одним розряди з однієї і тієї самої позиції кожного слова (іноді ці два способи називають горизонтальною і вертикальною вибірками відповідно). Звичайно ж, під час аналізу даної класифікації треба зважати на час, оскільки передбачити велику різноманітність паралельних систем теперішнього часу, в 70-ті роки було в принципі неможливо. Отже, згідно з класифікацією Дж. Шора, всі комп'ютери розділяються на шість класів, перший з яких дістав назву машини І, другий - машини II, і т. д. [3].

У 1984 році К. Ванг (K. Hwang), і Ф.А. Бріггс (F. A. Briggs) запропонували доповнення до класифікації Флінна, а саме: конкретизацію класів SISD, SIMD та MIMD.

Л. Шнайдер (L. Snyder) в 1988 p запропонував класифікацію, що базувалася на описі архітектур рівнобіжних обчислювальних систем, що попадають у клас SIMD систематики Флінна. За даною класифікацією виокремлюються етапи вибірки і безпосередньо виконання в потоках команд і даних.

У 1989 році Д. Скілікорном була зроблена чергова спроба розширити класифікацію Флінна і відкоригувати певні її недоліки. З класифікації Д. Скілікорна випливає, що архітектура комп'ютера є абстрактною структурою, що складається з компонентів чотирьох типів (процесора команд, процесора даних, ієрархії пам'яті та комутатора). Д. Скілікорн розробив підхід, який можна використовувати для опису характеристик багатопроцесорних систем і деяких нетрадиційних архітектур, зокрема dataflow і rйduction machine [6]. За класифікацією Д. Скілікорна розглядаються два рівні. На першому рівні розглядаються певні характеристики архітектури комп'ютера, а саме:

1. Командний процесор (instruction processor - IP), з функціональним блоком, який використовується в якості інтерпретатора інструкцій (команд). Цей пристрій іноді називають блоком управління процесора.

2. Кількість опрацьовуваних даних з використанням процесора (data processor - DP), який є функціональним блоком. DP може вважатися арифметико-логічним блоком або ALU.

3. Ієрархія пам'яті, яка є пристроєм, за допомогою якого передаються дані в командні процесори та в зворотному напрямі. Реальною аналогією є використання кешу пам'яті (це частина пам'яті, через використання якої забезпечується максимальна швидкість доступу і прискорюється швидкість обчислення) (data memory - DM).

4. Перемикач, який є абстрактним пристроєм, через використання якого забезпечується з'єднування між іншими функціональними блоками.

На другому рівні класифікації Д. Скілікорна просто уточнюється опис, зроблений на першому рівні, додаються характеристики конвеєрного процесора опрацювання команд і даних [4].

До вище перелічуваних класифікацій комп'ютерних систем слід віднести і такі класифікації як:

1. Класифікація А. Базу (A. Basu): послідовність рішень, прийнятих на етапі проектування архітектури.

2. Класифікація С. Дазгупти: побудова схем архітектур із семи базових понять.

3. Класифікація Еріка Джонсона: чотири класи MIMD-комп'ютерів, комп'ютери із загальною або розподіленою пам'яттю, запрограмовані за допомогою передавання повідомлень або поділюваних змінних.

4. Класифікація Ральфа Дункана (Ralph Duncan) про огляд паралельних комп'ютерних архітектур (1990 р.).

5. Класифікація багатопроцесорних обчислювальних систем, запропонована Ф.Г. Енслоу. В її основу покладено різновиди топології об'єднаної мережі та її функціонування, через що визначаються методи з'єднування апаратних модулів в єдину багатопроцесорну обчислювальну систему.

6. Класифікація Є. Кришнамарфі (Krishnamurthy): чотири якісні характеристики паралелізму, ступінь гранулярності паралелізму, спосіб реалізації, топологія й природа зв'язку процесорів, спосіб управління процесорами.

7. Класифікація В. Хендлера: кількісний опис паралелізму на трьох різних рівнях опрацювання даних, виконання програми, виконання команд, опрацювання бітів.

8. Класифікація Хокні (Roger W. Hockney): конкретизація класу MIMD. Р. Хокні - відомий англійський фахівець в галузі паралельних обчислювальних систем, розробив свій підхід до класифікації, введеної ним для систематизації комп'ютерів, що потрапляють в клас MIMD за класифікацією М. Флінна, розділивши їх на: конвеєрні, з перемикачами, мережеві. Найголовніше, що Р. Хокні розрізняє два способи опрацювання можливого потоку інструкцій (команд), а саме:

- Один конвеєрний пристрій, який функціонує в режимі розділеного часу для окремих потоків команд;

- Кожен потік команд опрацьовується з використанням окремих пристроїв.

9. Класифікація Л. Шнайдера (L. Snyder): конкретизація класу SIMD, основна ідея - висвітлення етапів вибірки й безпосереднього виконання команд в потоках даних.

Висновки

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

Список ви користаних джерел:

1. A Taxonomy of Synchronous Parallel - Machines URL: https://apps.dtic.mil/dtic/tr/fuNtext/u2/a204256.pdf

2. Michael J. Flynn. Wikipedia URL: https://en.wikipedia.org/wiki/Michael_J._Flynn.

3. Shore J.E. Second thoughts on parallcl processing, International Journal of Computerand Electrical Engineering, V. 1, p. 95-109.

4. Skillicorn D. A Taxonomy for Computer Architectures // Computer. 1988. V.21. N 11. P. 46-57. URL: https://books.google.com.ua/books?id=mvogBQAAQBAJ&pg=PA50&lpg=PA50&dq=Skillicorn+D.+A+Taxonomy+for+Comp uter+Architectures&source=bl&ots=Iysr9U5L5R&sig=ACfU3U1189vDRv2iW7ak4pu_elFdsiYcrg&hl=uk&sa=X&ved=2ahUKE wiUg4Tu7PrgAhXjtYsKHfqFBEIQ6AEwB3oECAQQAQ#v=onepage&q=Skillicorn%20D.%20A%20Taxonomy%20for%20Computer%20Architectures&f=false.

5. Воєводін Вл.В., Капітонова А.П. «Методи опису та класифікації обчислювальних систем». Видавництво МДУ, 1994.

6. Мельник А. О. «Архітектура комп'ютера» Наукове видання. Луцьк: 2008. 470 с.

7. Таксономія Флінна - Вікіпедія URL: https://uk.wikipedia.org/org/wiki/Таксономія_Флінна.

Размещено на Allbest.ru


Подобные документы

  • Підхід Фліна до класифікації архітектур комп’ютерних систем. Доповнення Ванга та Бріггса до класифікації Фліна. Класифікація MIMD-архітектур Джонсона. Особливості способів компонування комп’ютерних систем Хендлера, Фенга, Шора, Базу та Шнайдера.

    реферат [233,7 K], добавлен 08.09.2011

  • Вивчення історії кафедри "Комп’ютерної інженерії". Дослідження процесу складання, монтажу, налагодження, тестування апаратного забезпечення комп’ютерних систем і мереж. Науково-дослідні роботи у лабораторії "Програмного забезпечення комп’ютерних систем".

    отчет по практике [23,9 K], добавлен 01.03.2013

  • Поняття пам’яті в комп’ютері. Класифікація сучасних персональних комп’ютерів за їх ознаками. Основні принципи будови та функціонування комп'ютерних систем. Функціональність смартфонів і комунікаторів в порівнянні із звичайними мобільними телефонами.

    курсовая работа [70,3 K], добавлен 31.01.2014

  • Огляд та конфігурація комп’ютерних мереж - двох або більше комп’ютерів, об’єднаних кабелем таким чином, щоб вони могли обмінюватись інформацією. Характеристика мереживих пристроїв иа середовища передачі даних. Під’єднання до мережі NetWare та Internet.

    дипломная работа [1,5 M], добавлен 15.02.2010

  • Особливості архітектури комп'ютерних мереж. Апаратні та програмні засоби комп'ютерних мереж, їх класифікація та характеристика. Структура та основні складові комунікаційних технологій мереж. Концепції побудови та типи функціонування комп'ютерних мереж.

    отчет по практике [1,2 M], добавлен 12.06.2015

  • Клас програм, призначених для виконання різних несанкціонованих користувачем дій, іноді спрямованих на заподіяння шкоди (знищення або пошкодження даних). Історія комп’ютерних вірусів, їх класифікація. Основні особливості алгоритму роботи вірусів.

    презентация [2,0 M], добавлен 28.10.2014

  • Класифікація мереж залежно від призначення та кола користувачів, визначена законодавством України. Порівняльна характеристика систем автоматизації роботи з документами. Переваги використання комп'ютерних технологій при проведенні судової експертизи.

    контрольная работа [47,7 K], добавлен 20.07.2011

  • Принцип роботи конвеєрних комп’ютерних систем. Опис можливостей паралельної обробки інформації обчислювальною системою. Конвеєрна обробка на кожному з рівнів. Розширення трирівневої моделі паралелізму засобами опису потенційних можливостей конвейєризації.

    лабораторная работа [44,0 K], добавлен 21.10.2014

  • Характеристика та призначення Прикладного рівня як джерела і приймача для переданих через мережу повідомлень. Устаткування, принцип роботи локальних та глобальних комп’ютерних мереж. Умови ефективної взаємодії комп'ютерів в мережному середовищі.

    контрольная работа [26,7 K], добавлен 20.09.2009

  • Різновиди архітектур баз даних. Архітектура "файл-сервер" і локальні бази даних. Обґрунтування вибору архітектури стосовно проектованої системи. Основні концепції мови SQL. Структура запитів до окремих таблиць. Інтерфейс користувача проектованої системи.

    дипломная работа [972,5 K], добавлен 26.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.