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

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
IvanBot (обговорення | внесок)
м →‎Суперкомп'ютери MIPS: replaced: В 2007 році → У 2007 році
м суміш розкладок за допомогою AWB
Рядок 15:
Хоча така реалізація і виключала б деякі дуже корисні операції, такі як множення і ділення, очевидно, що гранична продуктивність системи значно збільшилася б, так як мікросхеми змогли б працювати з більш високою тактовою частотою. Досягнення високої швидкості з використанням блокувань було б складним, тому що час, необхідний для установки блокувань, пропорційно тактовій частоті (залежної, в свою чергу, від розміру кристала). Ось чому виключення вищезазначених операцій стало спірним питанням.
 
Інша відмінність дизайну MIPS від конкуруючих з ним BerkеleyBerkeley-архітектур - це впроваджена в BerkеleyBerkeley-[[RISC]] можливість обробки виклику підпрограм. Щоб збільшити продуктивність настільки загальної задачі, в BerkеleyBerkeley-RISC була використана технологія, яка називається регістровим вікном, яка, тим не менш обмежувала максимальну глибину багаторівневих викликів. Кожен виклик підпрограми вимагав свій набір регістрів, що призводило до необхідності збільшення їх кількості. А апаратна реалізація даного механізму займала додатковий простір в кристалі ЦП. Але Хеннессі вважав, що більш «ретельний» компілятор міг би знайти вільні регістри для передачі параметрів функції, і що всього лише збільшення числа регістрів могло б не тільки спростити цю задачу, але і збільшити продуктивність всіх операцій. Тому було прийнято рішення відмовитися від даної технології в MIPS.
 
Архітектура '''MIPS ''' була, в деякому відношенні, найтиповішою для '''[[RISC]] '''. Щоб заощадити біти в коді команди, в RISC було зменшено кількість інструкцій для кодування. В MIPS з 32 бітів слова всього 6 використовуються для основного коду, а інші можуть містити або єдиний 26-бітний адреса переходу, або до 5 полів, що встановлюють від 1 до 3 регістрів + довжина зсуву регістра. Існує і ряд інших форматів, наприклад, коли 2 регістра задаються безпосередньо виділеним 16-бітовим полем і т. д. Такий розподіл дозволило процесору завантажувати команду і необхідні їй дані в одному циклі, в той час як у старіших архітектурах (не були [[RISC]]), наприклад, таких як MOS Technology 6502, були потрібні окремі цикли для завантаження основного коду і даних.
Рядок 130:
! abbr = "Power" | Потужність (Вт)
! abbr = "Voltage | Напруга (В)
! abbr = "Data cache" | Кеш даних (КБ)
! abbr = "Instruction cache" | Кеш інструкцій (КБ)
! Кеш 2го рівня
! Кеш 3го рівня
Рядок 139:
|-
! R3000
| 12-40 || 1988 || 1.2 || 0.11 || 66.12 || 145 || 4 ||? || 64 || 64 || 0-256 Кб Зовнішня || НЕМАЄ
|-
! R4000
| 100 || 1991 || 0.8 || 1.35 || 213 || 179 || 15 || 5 || 8 || 8 || 1 Мб Зовнішня || НЕМАЄ
|-
! R4400
| 100-250 || 1992 || 0.6 || 2.3 || 186 || 179 || 15 || 5 || 16 || 16 || 1-4 Мб Зовнішня || НЕМАЄ
|-
! R4600
| 100-133 || 1994 || 0.64 || 2.2 || 77 || 179 || 4.6 || 5 || 16 || 16 || 512 Кб Зовнішня || НЕМАЄ
|-
! R4700
Рядок 154:
|-
! R5000
| 150-200 || 1996 || 0.35 || 3.7 || 84 || 223 || 10 || 3.3 || 32 || 32 || 1 Мб Зовнішня || НЕМАЄ
|-
! R8000
| 75-90 || 1994 || 0.7 || 2.6 || 299 || 591 +591 || 30 || 3.3 || 16 || 16 || 4 Мб Зовнішня || НЕМАЄ
|-
! R10000
| 150-250 || 1996 || 0.35, 0.25 || 6.7 || 299 || 599 || 30 || 3.3 || 32 || 32 || 512 Кб-16 Мб Зовнішня || НЕМАЄ
|-
! R12000
| 270-400 || 1998 || 0.25, 0.18 || 6.9 || 204 || 600 || 20 || 4 || 32 || 32 || 512 Кб-16 Мб Зовнішня || НЕМАЄ
|-
! RM7000
| 250-600 || 1998 || 0.25, 0.18, 0.13 || 18 || 91 || 304 || 10, 6, 3 || 3.3, 2.5, 1.5 || 16 || 16 || 256 Кб Внутрішня || 1 Мб Зовнішня
|-
! R14000
| 500-600 || 2001 || 0.13 || 7.2 || 204 || 527 || 17 ||? || 32 || 32 || 512 Кб-16 Мб Зовнішня || НЕМАЄ
|-
! R16000
| 700-1000 || 2002 || 0.11 ||? ||? ||? || 20 ||? || 64 || 64 || 512 Кб-16 Мб Зовнішня || НЕМАЄ
|-
! R24K
| 750 + || 2003 || 65 nm ||? || 0.83 ||? ||? ||? || 64 || 64 || 4-16 Мб Зовнішня || НЕМАЄ
|}
 
Рядок 222:
== Емулятори ==
 
Серед '''Open Virtual Platforms''' існує безкоштовний емулятор '''OVP-sim''', доступний для некомерційного використання, який являє собою бібліотеку моделей процесорів і платформ, а також інтерфейсів API, що дозволяють користувачеві проектувати свої власні моделі. Бібліотека моделей є відкритим ресурсом, написаному на мові С, і включає в себе ядра MIPS 4K, 24K і 34K. Дані моделі створені і підтримуються компанією Imperas, яка у співпраці з '''MIPS TеchnologiesTechnologies''' протестувала емулятор і відзначила його знаком MIPS-Verified. Зразки платформ, заснованих на MIPS включають в себе як само металеве обладнання, так і платформи для завантаження немодифікованих двійкових відображень Linux. Такі платформи-емулятори ефективні для навчання, а також доступні, безкоштовні і прості у використанні. '''OVPsim''' розроблений і підтримуваний Imperas працює з високою швидкістю (сотні мільйонів інструкцій з секунду), і застосуємо для опису багатоядерних архітектур.
 
Існує вільно доступний емулятор MIPS32 (ранні версії могли імітувати тільки '''R2000/R3000'''), випущений під назвою SPIM і призначений для використання в навчанні. EduMIPS64 - це міжплатформна графічний емулятор процесора MIPS64, написаний на мові '''[[Java]] / Swing'''. Він підтримує безліч MIPS64 [[ISA]] і дозволяє користувачеві наочно побачити, що відбувається в конвеєрі, коли ЦП виконує програму на мові асемблера. Проект має строго освітні цілі і широко використовується на деяких курсах комп'ютерної архітектури в усьому світі.