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

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Gromko (обговорення | внесок)
Створена сторінка: '''MIPS ''' ({{lang-en | Microprocessor without Interlocked Pipeline Stages}}) - мікропроцесор, розроблений компанією '''MIPS C...
 
Стаття, які слід категоризувати за допомогою AWB
Рядок 1:
'''MIPS ''' ({{lang-en | Microprocessor without Interlocked Pipeline Stages}}) - мікропроцесор, розроблений компанією '''MIPS Computer Systems ''' (нині '''MIPS Technologies ''') в Відповідно до концепції проектування процесорів '''[[RISC]] ''' (тобто для процесорів зі скороченим набором команд). Ранні моделі процесора мали [[32 біт | 32-бітну]] структуру, пізніше з'явилися його [[64-біт]]ні версії. Існує безліч модифікацій процесора, включаючи MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32 і MIPS64, з них діючими є MIPS32 (для 32-бітної реалізації) і MIPS64 (для 64-бітної реалізації). MIPS32 і MIPS64 визначають як набір регістрів управління, так і набір команд.
 
Крім цього, доступні доповнені моделі, наприклад, '''MIPS-3D ''', що включає в себе набір [[SIMD]] команд для обробки чисел з плаваючою точкою, призначений для вирішення простих [[3D]] завдань, ''' MDMX '''(MaDMaX) - з ще більш широкими можливостями - набором SIMD команд і використовує 64-бітові регістри з плаваючою точкою для роботи з цілими числами, ''' MIPS16e ''', який стискає потік команд, щоб зменшити обсяг пам'яті, займаний програмами, а також '''MIPS MT ''', забезпечує багатопотокових режим обробки.
 
Архітектуру MIPS часто вивчають в програмі курсу Комп'ютерна Архітектура в університетах і технічних ліцеях. Ці процесори значно вплинули на пізніші RISC-архітектури, зокрема на [[DEC Alpha | Alpha]].
 
В даний час різні реалізації MIPS використовуються в основному у вбудованих системах, наприклад, в пристроях [[Windows CE]], [[маршрутизатор]] ах, [[шлюз]] ах, а також в ігрових консолях, таких як [[Sony PlayStation ]] 2 і [[Sony PlayStation]] Portable. До кінця 2006 року вони застосовувалися і в комп'ютерах [[SGI]]. До кінця 1980х і 1990х ця архітектура широко використовувалася багатьма компаніями, серед них [[Digital Equipment Corporation]], [[NEC]], Pyramid Technology, [[Siemens Nixdorf]] і Tandem Computers. З середини до кінця 1990х років кожним третім мікропроцесором на ринку виробництва був процесор під управлінням MIPS.
 
== Історія ==
 
=== Основоположник RISC ===
У '''1981 '''році колектив під керівництвом Джона Хеннесі (John L. Hennessy) з [[Стенфордський університет | Університету Стенфорда]] почав роботу над проектом, який отримав назву MIPS. Головною ідеєю було збільшити продуктивність процесора, використовуючи подовжений [[конвеєр]]. Концепція застосування конвеєра в якості основної технології була відома ще задовго до цього (наприклад, в [[IBM]] 801), але вона не використовувала весь свій потенціал. [[Центральний процесор]] включає в себе кілька спеціальних субблоків, таких як декодери команд, цілочисельне [[АЛУ]] (арифметико-логічний пристрій), блоки завантаження / зберігання (робота з пам'яттю) і т. д. В традиційною не оптимізованої реалізації окрема команда в програмі має бути (майже завжди) завершена, перш, ніж запуститься інша; в той час як в конвеєрної архітектурі послідовні команди можуть виконуватися паралельно. Наприклад, коли математична інструкція вноситься в блок з плаваючою точкою, блок завантаження / зберігання пам'яті може в цей же момент викликати наступну команду.
 
Одним з головних перешкод у використанні конвеєра був той факт, що деякі команди, такі як поділ, виконуються набагато довше, і, внаслідок цього, центральному процесору доводиться чекати, перш, ніж передати на конвеєр наступну команду. Єдине вирішення цієї проблеми - використовувати серію блокувань, що дозволяють певним стадіям конвеєра индицировать, що вони зайняті і, в цьому випадку, призупиняти вищестоящі в потоці команди. Група Хеннесі розглядала ці блокування як величезний бар'єр в збільшенні продуктивності, оскільки було необхідно звертатися до всіх модулів Центрального процесора, що займає зайвий час і обмежує тактову частоту. Головним аспектом пристрої MIPS було узгодити кожну підфази кожної команди, в тому числі кешування, в один цикл, таким чином уникаючи необхідності в блокуваннях і пропускаючи на конвеєр тільки один цикл.
Рядок 18 ⟶ 17:
Інша відмінність дизайну MIPS від конкуруючих з ним Berkеley-архітектур - це впроваджена в Berkеley-[[RISC]] можливість обробки виклику підпрограм. Щоб збільшити продуктивність настільки спільної справи, в Berkеley-RISC була використана технологія, яка називається регістровим вікном, яка, тим не менш обмежувала максимальну глибину багаторівневих викликів. Кожен виклик підпрограми вимагав свій набір регістрів, що призводило до необхідності збільшення їх кількості. А апаратна реалізація даного механізму займала додатковий простір в кристалі ЦП. Але Хеннессі вважав, що більш «ретельний» компілятор міг би знайти вільні регістри для передачі параметрів функції, і що всього лише збільшення числа регістрів могло б не тільки спростити цю задачу, але і збільшити продуктивність всіх операцій. Тому було прийнято рішення відмовитися від даної технології в MIPS.
 
Архітектура '''MIPS ''' була, в деякому відношенні, найбільш типовою для '''[[RISC]] '''. Щоб заощадити біти в коді команди, в RISC було зменшено кількість інструкцій для кодування. В MIPS з 32 бітів слова всього 6 використовуються для основного коду, а інші можуть містити або єдиний 26-бітний адреса переходу, або до 5 полів, що встановлюють від 1 до 3 регістрів + довжина зсуву регістра. Існує і ряд інших форматів, наприклад, коли 2 регістра задаються безпосередньо виділеним 16-бітовим полем і т. д. Такий розподіл дозволило процесору завантажувати команду і необхідні їй дані в одному циклі, в той час як у більш старих архітектурах (не були [[ RISC]]), наприклад, таких як MOS Technology 6502, були потрібні окремі цикли для завантаження основного коду і даних.
 
Це було одним з головних удосконалень продуктивності, які пропонували RISC. Однак, варто сказати, що архітектури, яка не є RISC все ж досягли подібної швидкості, але іншими засобами (такими, як черги в ЦП).
Рядок 25 ⟶ 24:
У 1984 році, переконаний у комерційному успіху своєї розробки, Хеннессі покинув Стенфорд, щоб заснувати компанію MIPS Computer Systems. У 1985 році була реалізована перша версія мікропроцесора MIPS - '''R2000 ''', допрацьована в 1988 році і отримала назву '''R3000 '''. Ці 32-бітові процесори лягли в основу компанії в 1980х і використовувалися переважно в SG-серіях робочих станцій. Нові комерційні проекти не відповідали Стенфордським науковим дослідженням, так як практично всі блокування виконувалися на апаратному рівні, до того ж операції множення і ділення були повністю реалізовані.
 
У 1991 році MIPS вперше був представлений як 64-бітний мікропроцесор, у версії R4000. '''R4000 ''' має розширений [[Translation lookaside buffer | TLB]], в якому запис містить не тільки віртуальний адресу, але і віртуальний ідентифікатор адресного простору. Такий буфер усуває основні проблеми продуктивності мікроядра, досить повільного в архітектурах конкуруючих компаній ([[Pentium]], [[PowerPC]], [[DEC Alpha | Alpha]]) через необхідність скидати TLB під час частого перемикання контексту.
 
Тим не менш, у MIPS виникали фінансові труднощі у зв'язку з поставкою процесорів на ринок. Проект був настільки важливий для [[SGI]] (в той час були одними з небагатьох основних покупців MIPS), що в 1992 році [[SGI]] викупили права на компанію з умовою гарантії, що конструкція мікропроцесорів не зміниться. Ставши дочірньої компанією, MIPS Computer Systems отримали назву '''MIPS Technologies '''.
Рядок 44 ⟶ 43:
Серед виробників, які створили робочі станції з використанням мікропроцесорів 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х існувало припущення, що MIPS разом з іншими потужними процесорами RISC незабаром обженуть архітектуру IA32 компанії [[Intel]]. Цьому сприяла підтримка двох перших версій [[Windows NT]] для [[DEC Alpha | Alpha]], MIPS і PowerPC компанії [[Microsoft]], і, дещо меншою мірою, - архітектури Clipper і SPARC. Однак, як тільки Intel випустив новітні версії ЦП класу [[Pentium]], Microsoft Windows NT v4.0 перестав підтримувати все, крім Alpha і Intel. Після рішення SGI перейти на архітектури Itanium і IA32, процесори MIPS практично повністю перестали використовуватися в персональних комп'ютерах.
 
=== Ринок вбудовуваних систем ===
 
[[Файл: Ingenic JZ4730.JPG | thumb | 168px | [[Ingenic Semiconductor | Ingenic]] JZ4730 - приклад SOC, базованої на MIPS]]
У 1990е роки, '''MIPS '''-архітектура була широко поширена на ринку [[Вбудована система | вбудовуваних систем]]: для мереж, телекомунікацій, відео ігор, ігрових консолей, принтерів, цифрових приставок, цифрових телевізорів, [[xDSL ]] і кабельних модемів, а також кишенькових комп'ютерів.
 
Низьке енергоспоживання і температурні характеристики вбудованих MIPS-архітектур, широкі можливості внутрішніх функцій роблять цей мікропроцесор універсальним для багатьох пристроїв.
Рядок 55 ⟶ 54:
=== Синтезовані ядра для ринку вбудованих систем ===
 
В останні роки більшість технологій, що використовуються в різних поколіннях '''MIPS ''', запропоновані у вигляді [[IP-cores | IP-ядер]] (стандартних блоків) для вбудованих реалізацій процесора. Більше того, запропоновані обидва типи ядер - засновані на 32 і 64 бітах, відомі як '''4 K '''і '''6 K '''.
Такі ядра можуть поєднуватися з іншими структурними елементами, такими як '''[[Математичний співпроцесор | FPU]] ''', системами [[SIMD]], різними пристроями введення / виводу і т. д.
 
Колись комерційно успішні ядра MIPS, і в даний час знайшли споживче та промислове застосування. Ці ядра можна знайти в нових маршрутизаторах [[Cisco]], [[Linksys]] та [[MikroTik]], кабельних і [[ADSL]] модемах, [[смарт-карта]] х, механізмах лазерних принтерів, цифрових приставках, роботах, кишенькових комп'ютерах, Sony PlayStation 2 і Sony PlayStation Portable. Тим не менш, в додатках мобільних телефонів і PDA MIPS не вдалося змістити міцно сталу там конкуруючу '''[[ARM (архітектура) | ARM]] '''-архітектуру.
 
Процесори під управлінням '''MIPS ''' включають в себе: [[Integrated Device Technology | IDT]] RC32438; [[ATI Technologies | ATI]] Xilleon; [[Alchemy (процесори) | Alchemy Au1000, 1100, 1200]] ; [[Broadcom]] Sentry5; RMI XLR7xx, Cavium Octeon CN30xx, CN31xx, CN36xx, CN38xx and CN5xxx; [[Infineon Technologies]] EasyPort, Amazon, Danube, ADM5120, WildPass, INCA-IP, INCA-IP2; [[Microchip Technology]] [[PIC # 32-бітові мікроконтролери | PIC32]], [[NEC]] EMMA and EMMA2, [[NEC]] VR4181A, VR4121, VR4122, VR4181A, VR5432, VR5500; Oak Technologies Generation; PMC-Sierra RM11200 ; QuickLogic QuickMIPS ESP; [[Toshiba]] Donau, [[Toshiba]] TMPR492x, TX4925, TX9956, TX7901.
 
=== Суперкомп'ютери MIPS ===
Рядок 94 ⟶ 93:
Першим комерційним мікропроцесором з архітектурою MIPS був мікропроцесор '''R2000 ''', представлений в 1985 році. У ньому були реалізовані операції множення і ділення, які виконувалися за кілька тактів. Пристрій множення і ділення не було тісно інтегровано в ядро ​​процесора, хоча й розміщувалось на тому ж кристалі; з цієї причини система команд розширена інструкціями для завантаження результатів множення і ділення в регістри загального призначення, ці інструкції блокували конвеєр.
 
Мікропроцесор '''R2000 ''' міг бути завантажений як в режимі big-endian, так і в режимі little-endian, містив тридцять два 32-розрядних регістра загального призначення. Подібно процесорам AMD 29000 і [[DEC Alpha | Alpha]] мікропроцесор '''R2000 ''' не мав окремого регістра прапорів умов, так як розробники порахували його потенційним «вузьким місцем». Слід зазначити, що лічильник команд безпосередньо недоступний.
 
Мікропроцесор '''R2000 ''' підтримував підключення до чотирьох співпроцесорів, один з яких є вбудованим і забезпечує роботу з винятками, а також управління пам'яттю (MMU). У разі необхідності в якості ще одного співпроцесора можна було підключити мікросхему R2010, арифметичний співпроцесор, який містив тридцять два 32-розрядних регістра, які можна було використовувати як шістнадцять 64-розрядних регістрів для роботи з числами подвійної точності.
Рядок 101 ⟶ 100:
Серія '''R4000 ''', випущена в 1991 році, розширила процесори MIPS до 64 бітів. (MIPS Technology була першою компанією випустила процесори з 64-бітової архітектурою)
R4000 складається з 1300000 транзисторів, має вбудований кеш даних і кеш інструкцій (обидва по 8 Кб). У цьому процесорі зовнішня тактова частота 50 МГц подвоюється, а внутрішня тактова частота становить 100 МГц. Процесор R4400 виконаний на основі R4000, складається з 2200000 транзисторів, має вбудований кеш даних і кеш інструкцій (обидва по 16 Кб), а внутрішня тактова частота становить 150 МГц. Набір команд цих процесорів (специфікація MIPS II) було розширено командами завантаження і записи 64-розрядних чисел з плаваючою точкою, командами обчислення квадратного кореня з одинарною і подвійною точністю, командами умовних переривань, а також атомарними операціями, необхідними для підтримки мультипроцесорних конфігурацій. В процесорах R4000 і R4400 реалізовані 64-бітові шини даних і 64-бітові регістри.
 
 
MIPS, тепер є відділом SGI під назвою '''MTI ''', розробив недорогі процесори R4200, що послужили основою для майбутніх (ще більш дешевих) R4300i. Похідна цього процесора, NEC VR4300, використовувалася в ігрових консолях '''Nintendo 64 '''.
 
[[Файл: IDT R4700 diephoto2.jpg | thumb | нижня сторона R4700 Orion, на якій видно кремнієвий чіп, виготовлений [[Integrated Device Technology | IDT]] і спроектований Quantum Effect Devices]]
[[Файл: KL IDT R4700 MIPS Microprocessor.jpg | thumb | лицьова сторона R4700 Orion]]
 
 
'''Quantum Effect Devices ''' (QED), самостійна компанія, заснована розробниками MIPS, розробила серію процесорів R4600 Orion, R4700 Orion, R4650 і R5000.
Рядок 178 ⟶ 175:
|-
! R24K
| 750 + || 2003 || 65  nm ||? || 0.83 ||? ||? ||? || 64 || 64 || 4-16 Mб Зовнішня || НЕМАЄ
|}
 
Рядок 273 ⟶ 270:
* [http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Mips/bitshift.html Mips bitshift operators]
* [http://www.it.uu.se/edu/course/homepage/datsystDV/ht04/Project/tools/machinedata/4KcProgMan.pdf MIPS software user’s manual]
{{Без категорій}}