Конвеєрна обробка
Як бачимо з цього прикладу час обробки п’яти команд скорочується майже втричі (за дев’ять машинних циклів). Кількість таких конвеєрів визначає глибину конвеєризації. Сучесні комп’ютери мають глибину конвеєризації у кілька десятків.
Більш того, у найдосконаліших конструкціях в чіп мікропроцесора вбудовується декілька самостійних (до 6-8) обчислювальних блоків з фіксованою та плаваючою арифметикою, надшвидка внутрішня пам’ять (кеш) та дивовижний пристрій управління. Цей пристрій пророчить можливий розвиток обчислювального процесу на декілька кроків уперед, і з урахуванням цього організує паралельну роботу кількох конвеєрів. Неминуча плата за таку організацію – значне підвищення складності та вартості схеми.
4. Багатопроцесорні конфігурації.Неважко прийти до висновку, що, якщо не можна використовувати можливості закону Мура на одному ядрі через виняткову складність такого ядра, то слід піти шляхом збільшення числа ядер. Саме так поступили в Sun Microsystems, випустивши 8-ядерний процесор Niagara. Під ядром розуміється процесорний елемент разом із власною кеш-памяттю.
Тобто, коли можливості одного кристала вичерпані, продуктивність комп’ютера у цілому може бути збільшена за рахунок багатопроцесорної організації. Аналіз реальних додатків показує, що довгі ланцюжки машинних команд, які повинні виконуватися строго послідовно, зустрічаються відносно рідко, в основному в наукових розрахунках. Як правило, обчислювальний процес можна розбити на декілька паралельних гілок, кожну з яких доцільно доручити самостійному мікропроцесору.
Зараз можна говорити про дві тенденції, що помітно різняться між собою у процесі збільшення кількості ядер. Одну зараз називають мультиядерність (multi-core), у цьому випадку передбачається, що ядра є високопродуктивними та їх відносно небагато. Зараз їхня кількість – два-чотири, і згідно закону Мура вона періодично має подвоюватися. Цей шлях має два основні колишні недоліки: перший – високе енергоспоживання, другий – висока складність чіпа і, як наслідок, низький відсоток виходу готової продукції. При виробництві 8-ядерного процесора IBM Сell лише 20% кристалів, які виробляються, є придатними. Інший шлях – багатоядерність (many-core). У такому випадку на кристалі збирається на порядок більша кількість, але при цьому простих ядер, які споживають мілівати. В осяжному майбутньому з’являться процесори з тисячами та десятками тисяч ядер.
В принципі кількість процесорів у комп’ютері нічим не обмежена. Відомі конструкції з сотнями і навіть тисячами процесорів, проте сумарна продуктивність багатопроцесорної системи зростає далеко не лінійно з кількістю процесорів, оскільки у кожній програмі є деяка межа розпаралелювання, до того ж у багатопроцесорних системах різко зростають накладні витрати на диспетчеризацію обчислювального процесу. Практика показала, що на стандартних комерційних завданнях продуктивність системи зростає як sqrt(n), тобто чотирипроцесорна конфігурація лише у два рази продуктивніше однопроцесорної, проте на спеціальних завданнях, що припускають багаторазове розпаралелювання (наприклад, аналіз варіантів ходу у шаховій партії), багатопроцесорні комп’ютери можуть показувати рекорди продуктивності.
Дата добавления: 2015-09-28; просмотров: 1261;