Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вузькі місця в структурі ПК





На виконання будь-якої задачі впливають наступні технічні фактори, які можуть значно сповільнити виконання задачі:

1. Арифметико-логічний пристрій (АЛП)

2. Пристрій управління

3. Пам’ять

4. Шини даних, канали даних, тощо.

З програмної сторони на хід виконання програми впливає компілятор та операційна система. Взагалі кажучи комп’ютер може вирішити будь-яку задачу, але при наявності достатньої кількості пам’яті. Друге питання – це час вирішення задачі. Досить часто цей час є настільки великим, що не доцільно використовувати комп’ютер для розв’язування таких задач. Час вирішення задачі залежить від усіх перерахованих вище факторів, наприклад, чим швидше буде працювати АЛП, тим швидше будуть проходити обчислення; чим швидше буде працювати пам’ять, тим швидше дані доставлятимуться до процесора.

Продуктивність комп’ютера вимірюється в операціях на секунду (оп/с). Сумарна продуктивність усіх складових комп’ютера називається піковою продуктивністю. Пікова продуктивність – це теоретичне поняття і в реальних задачах її досягти неможливо, тому говорять також про реальну продуктивність, тобто про таку, яка виявляється при вирішенні кожної реальної задачі. Відношення реальної продуктивності до пікової називають ефективністю роботи. Якщо цей показник в межах від 0,5 до 1, то програма працює дуже ефективно і ніяких змін до неї вносити не треба. Якщо цей показник менший за 0,5, то треба шукати вузькі місця і оптимізувати програму.

Оптимізація обчислень може проводитись наступним шляхами:

1. Паралельна обробка

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

Припустимо, що у нас є 2 вектори (одновимірний масив), які складаються з 100 елементів кожен. Потрібно знайти суму цих векторів. Одна операція додавання виконується за 5 тактів. Якщо виконати послідовні обчислення то на всю операцію потрібно 500 тактів. Такий підхід називається послідовною обробкою даних.

Припустимо, в нас є два функціонально незалежні пристрої тоді операція додавання виконується за 250 тактів. Тобто вся операція додавання векторів виконується за 250 тактів. Якщо в нас є n пристроїв, то операція додавання виконується за 500/n тактів.

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

2. Конвеєрна обробка

При використанні конвеєра, у нашому прикладі додавання двох векторів, потрібно 104 такти. Якщо у конвеєрі є L – незалежних стадій та n – незалежних команд то всі вони виконуються за L+n-1 – такти.

Поєднання двох методів паралельної та конвеєрної обробки називають паралельно-конвеєрною обробкою.

Паралельно-конвеєрна обробка виконується декількома незалежними пристроями кожен із яких є конвеєром. Однак навіть всі ці підходи не дозволяють вирішити всі складні математичні задачі.

Одним із засобів збільшення продуктивності є паралельна робота декількох машин над однією задачею, або створення декількох функціональних пристроїв зі спільною пам’яттю. Перший спосіб називається створенням кластерної системи (кластерна система – це кілька комп’ютерів, які працюють над однією задачею і об’єднані сіткою). Другий спосіб – це багатопроцесорні системи.

В 1962 році була спроектована машина ATLAS, в якій вперше була реалізована конвеєрна обробка команд. В 1969 році компанія Control DATA Corporation створила комп’ютер CDC–7600, в цій ЕОМ існувало 8 незалежних конвеєрних пристроїв, тобто вперше було реалізовано паралельно-конвеєрну обробку даних. В 1967 році компанією ILIAC IV було запропоновано матрицю із 256 синхронно працюючих процесорів. Вони розбивались на 4 квадрати по 64 процесори в кожному. Кожний квадрат мав свій власний пристрій управління. Процесори в квадраті розміщувались на перетині всіх вузлів сітки. Було розроблено тільки один квадрант, який коштував більше ніж 50 мільйонів доларів і працював з1975 року по 1982 рік в НАССА.

 

Класи комп’ютерних систем.

В даний час налічується дуже багато архітектурних рішень, проте всіх їх можна поділити на три класи:

1. Комп’ютери з спільною пам’яттю, мультипроцесорні системи. В даних системах декілька процесорів мають доступ до спільної оперативної пам’яті одночасно і всі вони працюють в єдиному адресному просторі (рис.1).

 

Рис. 1. Комп’ютери з спільною пам’яттю

2. Комп’ютери з розподіленою пам’яттю. Складаються з декількох ЕОМ, кожна з яких має свою власну оперативну пам'ять, окрему операційну систему, свої пристрої введення/виведення. Об’єднання цих комп’ютерів відбувається через єдине комутаційне середовище (рис.2).

 

Рис. 2. Комп’ютери з розподіленою пам’яттю

3. Архітектура NUMA. Це певне поєднання двох попередніх архітектур. Тут кожен процесор має свою архітектуру але із логічної точки зору вся пам’ять є спільною і лежить в одному адресному просторі.







Date: 2015-07-17; view: 368; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию