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

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Bot Gluck (обговорення | внесок)
Тлумачення посилань на сторінки значень, replaced: RISCRISC (4) за допомогою AWB
м replaced: в якості → як (2), На сьогоднішній день → На сьогодні, 1980х → 1980-х (6), removed: (4) за допомогою AWB
Рядок 17:
 
=== Основоположник RISC ===
У '''1981 '''році колектив під керівництвом Джона Хеннесі (John L. Hennessy) з [[Стенфордський університет|Університету Стенфорда]] почав роботу над проектом, який отримав назву MIPS. Головною ідеєю було збільшити продуктивність процесора, використовуючи подовжений [[конвеєр]]. Концепція застосування конвеєра в якостіяк основної технології була відома ще задовго до цього (наприклад, в [[IBM]] 801), але вона не використовувала весь свій потенціал. [[Центральний процесор]] включає в себе кілька спеціальних субблоків, таких як декодери команд, цілочисельний [[АЛП]] (арифметико-логічний пристрій), блоки завантаження / зберігання (робота з пам'яттю) і т. д. В традиційній не оптимізованій реалізації окрема команда в програмі має бути (майже завжди) завершена, перш ніж запуститься інша; в той час як в конвеєрній архітектурі послідовні команди можуть виконуватися паралельно. Наприклад, коли математична інструкція вноситься в блок з плаваючою точкою, блок завантаження / зберігання пам'яті може в цей же момент викликати наступну команду.
 
Однією з головних перешкод у використанні конвеєра був той факт, що деякі команди, такі як ділення, виконуються набагато довше за інші. Внаслідок цього центральному процесору доводиться чекати, перш ніж передати на конвеєр наступну команду. Єдине вирішення цієї проблеми — використовувати серію блокувань, що дозволяють певним стадіям конвеєра сигналізувати, що вони зайняті. В цьому випадку виконання наступних команд потоку призупиняється. Група Хеннесі розглядала ці блокування як величезний бар'єр у збільшенні продуктивності, оскільки було необхідно звертатися до всіх модулів Центрального процесора, що займає зайвий час і обмежує тактову частоту. Головним завданням розробки пристроїв MIPS було вкласти кожну підфазу кожної команди, в тому числі кешування, в один цикл, таким чином уникаючи необхідності в блокуваннях.
Рядок 30:
 
=== Перша апаратна реалізація ===
У 1984 році, переконаний у комерційному успіху своєї розробки, Хеннессі покинув Стенфорд, щоб заснувати компанію MIPS Computer Systems. У 1985 році була реалізована перша версія мікропроцесора MIPS — '''R2000 ''', допрацьована в 1988 році і отримала назву '''R3000 '''. Ці 32-бітові процесори лягли в основу компанії в 1980х1980-х і використовувалися переважно в SG-серіях робочих станцій. Нові комерційні проекти не відповідали Стенфордським науковим дослідженням, так як практично всі блокування виконувалися на апаратному рівні, до того ж операції множення і ділення були повністю реалізовані.
 
У 1991 році MIPS вперше був представлений як 64-бітний мікропроцесор, у версії R4000. '''R4000 ''' має розширений [[Translation lookaside buffer|TLB]], в якому запис містить не лише віртуальний адресу, але і віртуальний ідентифікатор адресного простору. Такий буфер усуває основні проблеми продуктивності мікроядра, досить повільного в архітектурах конкуруючих компаній ([[Pentium]], [[PowerPC]], [[DEC Alpha|Alpha]]) через необхідність скидати TLB під час частого перемикання контексту.
Рядок 39:
 
На початку 1990 року '''MIPS ''' почали ліцензування своїх розробок для сторонніх постачальників.
Ідея виявилася успішною через простоту ядра, яке знаходило безліч застосувань, де раніше використовувалися набагато менш ефективні [[CISC]]-архітектури, з тією ж кількістю і тієї ж ціною схем (2 цих критерію тісно пов'язані: ціна ЦП, як правило, залежить від кількості схем і контактів). Компанія [[Sun Microsystems]] зробила аналогічну спробу ліцензування ядра [[SPARC]], але їх хід не мав подібного успіху. До кінця 1990х1990-х MIPS стали найважливішою компанією у виробництві вбудованих процесорів, і в 1997 році 48-мільйонні поставки процесорів на базі MIPS змусили RISC-архітектури витіснити популярне сімейство процесорів 68k. MIPS були настільки успішними, що в 1998 році SGI передали частину активів '''MIPS Technologies '''. На сьогоднішній деньсьогодні половина доходів MIPS надходить з ліцензування розробок, а велика частина іншої половини — з контрактів на розробку ядер для виробництва сторонніми постачальниками.
 
У 1999 році MIPS формалізували свої системи ліцензування навколо двох основних конструкцій — 32-розрядної '''MIPS32 ''' (на базі MIPS II з деякими додатковими функціями MIPS III, IV MIPS і MIPS V) і 64-розрядних '''MIPS64' '' (на базі MIPS V). Ліцензія на MIPS64 була придбана кожної з компаній [[NEC]], [[Toshiba]] і SiByte (згодом придбана Broadcom) відразу ж після оголошення про її випуску. Незабаром, до них приєдналися [[Philips]], LSI Logic і IDT. Успіх випливав за успіхом, і сьогодні процесори MIPS є одним з найбільш затребуваних товарів на ринку пристроїв комп'ютерного типу (кишенькових комп'ютерів, приставок тощо), поряд з іншими розробниками, марно намагаються їх витіснити.
Рядок 51:
Серед виробників, які створили робочі станції з використанням мікропроцесорів MIPS такі компанії, як [[SGI]], MIPS Computer Systems, Inc., Whitechapel Workstations, Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC, і DeskStation. У числі операційних систем, перенесених на архітектуру MIPS: IRIX компанії SGI, [[Windows NT]] (до версії 4.0) компанії [[Microsoft]], [[Windows CE]], [[Linux]], [[BSD]] , [[UNIX]] System V, SINIX, [[QNX]], і операційна система RISC безпосередньо належить компанії MIPS Computer Systems.
 
На початку 1990х1990-х існувало припущення, що MIPS разом з іншими потужними процесорами RISC незабаром обженуть архітектуру IA32 компанії [[Intel]]. Цьому сприяла підтримка двох перших версій [[Windows NT]] для [[DEC Alpha|Alpha]], MIPS і PowerPC компанії [[Microsoft]], і, дещо меншою мірою, — архітектури Clipper і SPARC. Однак, як тільки Intel випустив новітні версії ЦП класу [[Pentium]], Microsoft Windows NT v4.0 перестав підтримувати все, крім [[DEC Alpha|Alpha]] і Intel. Після рішення SGI перейти на архітектури [[Itanium]] і [[IA32]], процесори MIPS практично повністю перестали використовуватися в персональних комп'ютерах.
 
=== Ринок вбудовуваних систем ===
Рядок 70:
 
=== Суперкомп'ютери MIPS ===
Одним з найцікавіших застосувань архітектури '''MIPS ''' є їх використання в багатопроцесорних обчислювальних суперкомп'ютерах. На початку 1990х1990-х компанія '''Silicon Graphics ''' ([[SGI]]) перенаправила свій бізнес з графічних терміналів на ринок високопродуктивного обчислення. Успіх перших спроб компанії в області серверних систем (а саме, серія Challenge, заснована на R4400, R8000 і R10000) мотивував SGI створити набагато потужнішу систему. Використання R10000 дозволило компанії спроектувати систему Origin 2000, в кінцевому рахунку розширювану до 1024 ЦП, використовуючи власну міжсистемних зв'язків cc-NUMA (NUMAlink). Пізніше Origin 2000 породила нову систему — '''Origin 3000 ''', що вийшла з тими ж максимальними 1024 ЦП, але використала в розробці мікросхеми R14000 та R16000 з частотою до 700 МГц. Проте, в 2005 році, коли SGI прийняла стратегічне рішення про перехід на архітектуру [[Intel]] IA-64, суперкомп'ютери, базовані на MIPS були зняті з виробництва.
 
У 2007 році корпорація SiCortex представила новий багатопроцесорний персональний суперкомп'ютер, заснований на архітектурі MIPS. У його розробку лягли MIPS64 і високопродуктивна міжсистемна зв'язок з використанням топології графів Кауца ({{lang-en | Kautz graph}}). Дана система є гранично ефективної та обчислювально потужною. Її унікальний аспект — багатоядерний вузол обробки, інтегруючий шість ядер MIPS64, комутатор контролера пам'яті, міжсистемних зв'язків механізмів прямого доступу до пам'яті, локальну мережу з пропускною здатністю 1 Гбіт і [[PCI Express]] контролери. І все це на одному кристалі, який споживає 10 Вт енергії, але виконує максимум 6 мільярдів операцій з плаваючою крапкою в секунду. Найпотужніша конфігурація такого суперкомп'ютера — версія SC5832, що складається з 972 вузлів (всього 5832 ядер MIPS64) і виконує 8200000000000 операцій з плаваючою крапкою в секунду.
Рядок 91:
 
== MIPS V ==
'''MIPS V ''' — п'ята версія архітектури, була представлена ​​2121 жовтня 1996 року на Форумі мікропроцесорів 1996. Ця модель була розроблена для того, щоб підвищити продуктивність графічних [[3D]]-додатків. В середині 1990х1990-х велика частина не вбудованих мікропроцесорів MIPS припадала на графічні термінали від [[SGI]]. Розробка MIPS V була доповнена цілочисельними мультимедійними розширеннями MDMX (MIPS Digital Media Extensions), які були представлені в той же день, що і MIPS V.
 
Реалізації MIPS V так ніколи і не були впроваджені. У 1997 році SGI представила мікропроцесори під назвами «H1» («Beast») і «H2» («Capitan»), які повинні були бути проведені в 1999 році. Але незабаром їх об'єднали, і в кінцевому підсумку в 1998 році ці проекти були скасовані.
Рядок 99:
== Родина процесорів з архітектурою MIPS ==
 
Першим комерційним мікропроцесором з архітектурою MIPS був мікропроцесор '''R2000 ''', представлений в 1985 році. У ньому були реалізовані операції множення і ділення, які виконувалися за кілька тактів. Пристрій множення і ділення не було тісно інтегровано в ядро ​​процесорапроцесора, хоча й розміщувалось на тому ж кристалі; з цієї причини система команд розширена інструкціями для завантаження результатів множення і ділення в регістри загального призначення, ці інструкції блокували конвеєр.
 
Мікропроцесор '''R2000 ''' міг бути завантажений як в режимі big-endian, так і в режимі little-endian, містив тридцять два 32-розрядних регістра загального призначення. Подібно процесорам AMD 29000 і [[DEC Alpha|Alpha]] мікропроцесор '''R2000 ''' не мав окремого регістра прапорів умов, так як розробники порахували його потенційним «вузьким місцем». Слід зазначити, що лічильник команд безпосередньо недоступний.
 
Мікропроцесор '''R2000 ''' підтримував підключення до чотирьох співпроцесорів, один з яких є вбудованим і забезпечує роботу з винятками, а також управління пам'яттю (MMU). У разі необхідності в якостіяк ще одногооднин співпроцесораспівпроцесор можна було підключити мікросхему R2010, арифметичний співпроцесор, який містив тридцять два 32-розрядних регістра, які можна було використовувати як шістнадцять 64-розрядних регістрів для роботи з числами подвійної точності.
Наступним в сімействі став R3000, який з'явився в 1988 році. Він містив кеш-пам'ять даних об'ємом 64 КБ (R2000 — 32 КБ). Крім того, R3000 забезпечував когерентність кеш-пам'яті при роботі в мультипроцесорних конфігураціях. Незважаючи на те, що в підтримці мультипроцессорности R3000 є ряд недоліків, на базі R3000 було створено декілька працездатних багатопроцесорних систем. Як і для R2000, для R3000 був створений арифметичний співпроцесор у вигляді окремої СБИС: R3010. Мікропроцесор R3000 став першим комерційно успішним процесором з архітектурою MIPS, було виготовлено більше мільйона процесорів. Прискорена версія R3000, що працює на тактовій частоті 40 МГц, названа R3000A, досягла продуктивності в 32 VUPs (VAX Unit of Performance). Подальший розвиток R3000A, мікропроцесор R3051, що працює на частоті 33,8688 МГц був використаний в ігровій приставці Sony PlayStation. Інші виробники також представили процесори, сумісні з R3000A: в Performance Semiconductor був розроблений R3400, в той час як компанія IDT створила R3500, обидва згаданих процесора мали в інтегрований математичний співпроцесор R3010. Першою системою на кристалі, що використовує процесор з архітектурою MIPS, стала розробка R3900 фірми Toshiba; дана мікросхема використовувалася в портативному комп'ютері, який працював під управлінням Windows CE. Був розроблений радіаційно-стійкий варіант R3000 з інтегрованим R3010, призначений для застосування в космічних апаратах, який отримав назву '''Mongoose-V '''.
 
Рядок 117:
Якщо в R4000 збільшили тактову частоту, але пожертвували кількістю кеш-пам'яті, то QED приділили велику увагу і ємності кеш-пам'яті (доступ до якої можна отримати всього за 2 цикли), і ефективному використанню поверхні кристала. Процесори R4600 і R4700 використовувалися в недорогих версіях робочої станції SGI Indy, а також у перших маршрутизаторах Cisco (заснованих на MIPS), наприклад, серії 36х0 і 7х00. Мікропроцесор R4650 застосовувався в телевізійних приставках WebTV (нині — Microsoft TV). У процесорі R5000 FPU диспетчеризація операцій з плаваючою точкою (одинарної точності) була гнучкішою, ніж в R4000, і, внаслідок цього, робочі станції SGI Indys, базовані на R5000 відрізнялися кращою графічною продуктивністю, ніж R4400 з такою ж тактовою швидкістю і графічним апаратним пристроєм . Щоб підкреслити поліпшення після об'єднання R5000 і старої графічної плати, SGI дала їй нову назву. Трохи пізніше QED розробили сімейство процесорів RM7000 і RM9000 для ринку мереж і лазерних принтерів. У серпні 2000 року компанія QED була придбана виробником напівпровідників PMC-Sierra, і остання продовжила інвестування MIPS-архітектур. Процесор '''RM7000 ''' включав в себе 256 Кб вбудованої кеш-пам'яті 2-го рівня і контролер для додаткової кеш-пам'яті 3го рівня. Були створені процесори RM9xx0 — сімейство SOC-пристроїв, в які включені такі периферійні складові (на північному мосту) як: контролер пам'яті, PCI-контролер, контролер Ethernet, а також швидкі пристрої введення-виведення (наприклад, високопродуктивна шина типу HyperTransport).
 
R8000 (представлений в 1994 році) був першою суперскалярної архітектурою MIPS, здатної здійснювати 2 цілочисельні інструкції (або з плаваючою точкою) і 2 інструкції звернення до пам'яті за один цикл. Дана розробка використовувала 6 схем: пристрій для цілочислових команд (16 Кб — команди і 16 Кб — кеш даних), для команд з плаваючою точкою, три вторинних дескриптора кеш-пам'яті ОЗУ (два для вторинного доступу до кеш-пам'яті + один для відстеження шини), а також кеш-контролер ASIC. Архітектура має два повністю конвейерізовать пристрою множення-складання (з подвійною точністю), які можуть передавати потік даних в 4 Мб внекрістального вторинного кеша. В середині 1990х1990-х процесори R8000 запустили SGI сервери POWER Challenge, а пізніше стали доступні на робочих станціях POWER Indigo2. Хоча продуктивність цього FPU і була найбільш підходящою для наукових співробітників, обмеженість його целочисленной продуктивності і висока ціна не змогли залучити більшість користувачів, тому R8000 був на ринку всього рік, і навіть зараз його навряд чи можна знайти.
 
У 1995 році був випущений '''R10000 '''. Цей процесор в однокристальному виконанні, працював з більш високою тактовою частотою, ніж R8000, а також включав в себе об'ємну (32 КБ) первинну кеш-пам'ять даних і команд. Крім того, він був суперскалярних, але це головне нововведення було несправне. Але навіть з простішим FPU, значно збільшена продуктивність цілочисельний обчислень, нижча ціна та висока щільність запису зробили R10000 кращим для більшості користувачів.