MIPS: відмінності між версіями

[перевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
IvanBot (обговорення | внесок)
м replaced: у відповідності до → відповідно до
Рядок 17:
У '''1981 '''році колектив під керівництвом Джона Хеннесі (John L. Hennessy) з [[Стенфордський університет|Університету Стенфорда]] почав роботу над проектом, який отримав назву MIPS. Головною ідеєю було збільшити продуктивність процесора, використовуючи подовжений [[конвеєр]]. Концепція застосування конвеєра в якості основної технології була відома ще задовго до цього (наприклад, в [[IBM]] 801), але вона не використовувала весь свій потенціал. [[Центральний процесор]] включає в себе кілька спеціальних субблоків, таких як декодери команд, цілочисельне [[АЛУ]] (арифметико-логічний пристрій), блоки завантаження / зберігання (робота з пам'яттю) і т. д. В традиційною не оптимізованої реалізації окрема команда в програмі має бути (майже завжди) завершена, перш, ніж запуститься інша; в той час як в конвеєрної архітектурі послідовні команди можуть виконуватися паралельно. Наприклад, коли математична інструкція вноситься в блок з плаваючою точкою, блок завантаження / зберігання пам'яті може в цей же момент викликати наступну команду.
 
Одним з головних перешкод у використанні конвеєра був той факт, що деякі команди, такі як поділ, виконуються набагато довше, і, внаслідок цього, центральному процесору доводиться чекати, перш, ніж передати на конвеєр наступну команду. Єдине вирішення цієї проблеми - використовувати серію блокувань, що дозволяють певним стадіям конвеєра индицироватьсигналізувати, що вони зайняті і, в цьому випадку, призупиняти вищестоящі в потоці команди. Група Хеннесі розглядала ці блокування як величезний бар'єр в збільшенні продуктивності, оскільки було необхідно звертатися до всіх модулів Центрального процесора, що займає зайвий час і обмежує тактову частоту. Головним аспектом пристрої MIPS було узгодити кожну підфази кожної команди, в тому числі кешування, в один цикл, таким чином уникаючи необхідності в блокуваннях і пропускаючи на конвеєр тільки один цикл.
 
Хоча така реалізація і виключала б деякі дуже корисні операції, такі як множення і ділення, очевидно, що гранична продуктивність системи значно збільшилася б, так як мікросхеми змогли б працювати з більш високою тактовою частотою. Досягнення високої швидкості з використанням блокувань було б складним, тому що час, необхідний для установки блокувань, пропорційно тактовій частоті (залежної, в свою чергу, від розміру кристала). Ось чому виключення вищезазначених операцій стало спірним питанням.