Статьи

мікропроцесори

На шляху в третє тисячоліття

Олександр Ліверовських

У 1964 р, через шість років після винаходу інтегральної схеми, один із засновників корпорації Intel Гордон Мур висловив припущення, що число транзисторів в кристалі буде подвоюватися кожні півтора року. Це твердження отримало назву першого закону Мура. Досить поглянути на рис. 1, щоб переконатися в його справедливості. З тих пір і до теперішнього часу цей закон не порушується, і є всі підстави припускати, що і в найближчі 10 років становище не зміниться. Альберт Ю, керівник корпорації Intel по мікропроцесорним продуктам, пророкує, що 2006 р число транзисторів на кристалі досягне 350 млн., Тактова частота - 4 ГГц, а продуктивність - 20 000 млн. Команд в секунду (MIPS).

Команд в секунду (MIPS)

На жаль, діє і другий закон Мура, який свідчить, що вартість фабрик з виробництва мікросхем експоненціально зростає з ускладненням кристалів. Так, вартість фабрики, на якій корпорація Intel виробляла мікросхеми динамічної пам'яті ємністю 1 Кбіт, становила 4 млн. Дол., А обладнання з виробництва мікропроцесора Pentium по 0,6-мікронної технології c 5,5 млн. Транзисторів обійшлося в 2 млрд. Дол .

Вартість же заводу з виробництва мікросхем за 0,1-мікронній технології оцінюється в 10 млрд. Дол., І ця обставина може вплинути на втілення першого закону Мура в життя.

Трішки історії

Ми не будемо повертатися до витоків мікропроцесорної техніки, а почнемо з того моменту, коли мікропроцесори стали 16-розрядними і в них почали застосовуватися методи, раніше використовувалися в великих машинах.

У 1978 році корпорація Intel випустила 16-розрядний мікропроцесор i8086, якому судилося стати основою персональних комп'ютерів, так сильно змінили наш світ. У ньому ще не було помітно впливу великих машин і міні-комп'ютерів. На наступний рік з'явився 16-розрядний процесор Z8000 компанії Zilog з сегментної організацією пам'яті. У тому ж році Motorola випустила на ринок свій 32-розрядний процесор MC68000. Хоча арифметика процесора MC68000 була насправді 16-розрядної, програміст цього не помічав, так як всі 16 регістрів процесора були 32-розрядними і арифметичні операції так само виконувалися з 32 розрядними операндами. Він мав усі передумови стати серцем майбутніх ПК. Але цього не сталося. За не цілком ясним причин IBM вибрала для свого комп'ютера IBM PC, який з'явився в 1981 р, процесор i8088, а не MC68000.

У 1981 р, після численних відстрочок, Intel випустила універсальний 32-розрядний процесор iAPX432, чия захист пам'яті базувалася на тегах. Раніше подібні методи використовувалися у великих машинах, а саме в машині університету Rice (1959 рік), в машинах B5000 і B5500 корпорації Burroughs (1961 г.), в комп'ютері S38 корпорації IBM (1975 г.) і ряді інших.

Два процесора iAPX432 могли працювати паралельно і перевіряти один одного. Але прогалини в архітектурі та інші проблеми призвели до того, що цей процесор був тихо забутий, а Intel зосередилася на 16-розрядному процесорі i80286, який з'явився в 1982 р Процесор працював в двох режимах: в режимі 8086 і в захищеному. У ньому була організована сегментна організація пам'яті з чотирма рівнями, або "кільцями" захисту, набір команд був розширений і процесор став набагато швидше i8086. Однак в новому режимі старі програми виконувати не можна було, і не тільки тому, що деякі команди в захищеному режимі виконувалися не так, як в i8086 (наприклад, PUSH SP, а всього таких команд було 14), а тому, що дескриптори сегментів цього не допускали. Проте він з великим успіхом використовувався в PC / AT, в режимі швидкого i8086 з операційною системою DOS корпорації Microsoft.

Співдружність IBM, Microsoft і Intel і величезний обсяг програм, написаних для DOS, фактично закрили дорогу на ринок ПК багатьом виробникам мікропроцесорів.

У 1983 р Zilog створила мікропроцесор Z8003, що підтримує віртуальну пам'ять з сторінкової організацією. У тому ж році компанія оголосила про майбутній випуск 32-розрядного процесора Z80000 і видала докладний його опис. Цей процесор підтримував віртуальну пам'ять з сегментно-сторінкової організацією і мав внутрішню кеш-пам'ять і буфер швидкої переадресації (TLB). Але поставки його почалися тільки в 1986 р - на рік пізніше 32-розрядного процесора Intel i386, він і не зміг пробитися на ринок.

Першим мікропроцесором з вбудованою кеш-пам'яттю (вперше застосованої в IBM 360/85 в 1969 р) був процесор компанії Motorola MC68020 (1984 г.)

Розроблялися і інші процесори. Так, корпорація National в 1980 р випустила 16-розрядний процесор 32016, за яким в 1982 р пішов 32-розрядний 32032, а потім 32332 (1985 г.) і 32532 (1987 р). Цікавою особливістю цих процесорів була підтримка модульності програми і поділу пам'яті. У процесорі серед восьми спеціальних регістрів був регістр, в якому містився адреса дескриптора виконуваного в даний момент модуля. У дескрипторі був адреса таблиці компонування модуля. Елементом таблиці міг бути або адреса зовнішньої змінної, або номер модуля і зміщення точки входу в нього щодо його початку. Команда виклику зовнішньої процедури використовувала цю пару для передачі управління.

Адреса зовнішньої змінної в цій таблиці можна було використовувати для спільної роботи з даними з різних модулів в режимі "зовнішньої" адресації.

Архітектура цього мікропроцесора була вельми елегантною, але і ця лінія мікропроцесорів не отримала широкого поширення, і до 1989 р випуск їх був припинений.

Після того як корпорація AT & T в 1981 році була розділена урядом США на сім незалежних компаній, їй було дозволено випускати комп'ютери на продаж, на що раніше вона права не мала.

Була створена серія мікропроцесорів WE32000 (1985 г.), також з дуже цікавою архітектурою, розробленої в лабораторії Bell. Так, наприклад, ця архітектура безпосередньо підтримувала концепцію процесу. У наборі команд була команда виклику процесу, при виконанні якої з блоку управління процесом брався контекст нового процесу.

І ця серія також не отримала широкого розповсюдження.

Тільки Motorola домоглася успіху. Її процесори стали застосовуватися в робочих станціях Apollo і Sun (1982 г.) і в персональних комп'ютерах Apple Macintosh (1984 г.).

Хоча Вілкс ще в 1951 році запропонував мікропрограмний спосіб виконання команд, при якому управління їх виконанням базувалося на постійній пам'яті, організованої у вигляді прямокутної матриці, де кожен рядок відповідала одному машинному такту, а елементи в стовпці управляли вентилями, проте на зорі розвитку обчислювальної техніки панував апаратний спосіб управління виконанням команд.

Використання микропрограммирования дає істотні переваги, оскільки дозволяє легко реалізовувати складні команди і виправляти помилки. Виправлення зводяться до заміни частини мікропрограмного пам'яті і не вимагають переробки апаратури.

Як правило, одна машинна команда вимагає для свого виконання кількох мікрокоманд. Тому мікропрограмна пам'ять повинна бути значно швидше оперативної, тієї, в якій зберігаються команди та дані. Саме відсутність досить швидкої мікропрограмного пам'яті затримало впровадження микропрограммирования до 1964 р, коли корпорація IBM оголосила про створення системи IBM 360, що складається з декількох машин. Всі вони мали однакову архітектуру і були мікропрограмні. З цього часу почалося широке впровадження микропрограммирования як засобу реалізації архітектури. Практично всі випущені на продаж машини (за винятком суперкомп'ютерів) були мікропрограмні, так як вбудоване управління дозволяло економити дороге обладнання. Крім того, воно дозволило значно розширити систему команд, в основному за рахунок збільшення обсягу мікропрограмного пам'яті. Впровадження микропрограммирования також стимулювалося необхідністю економити пам'ять, для чого потрібні були компактні і потужні команди. У наборі команд процесорів з'явилися такі складні команди, як "відредагувати", "транслювати" (IBM 360, 1964 г.), обчислення значення полінома і постановки елемента в двусвязний список (VAX 11/780, 1978 г.). Все це призводило до зростання обсягу мікропрограм. Так, в IBM 360/168 (1973 г.) обсяг мікропрограм склав 420 Кб при 208 реалізованих командах, а в VAX 11/780 фірми DEC - 480 Кб при 303 командах.

Першими мікропроцесорами, в яких використовувалися прошивки, були i8086 і MC68000.

До 1973 р операційні системи та системне програмне забезпечення писалися на асемблерах відповідних машин. Тільки в 1973 р з'явилася операційна система Unix, ядро ​​якої майже повністю було написано на розробленому Денисом Річі і Кеном Томпсоном мовою Сі. Однак тривалий час системне ПО продовжувало створюватися на асемблерах. Наприклад, ОС VMS (1978 г.) була все ще написана на асемблері. Причиною тому послужила необхідність економити оперативну пам'ять через її високу вартість. В останнє десятиліття пам'ять настільки подешевшала, що відпала необхідність її економити. Зараз важко уявити, що в 1972 р пристрій напівпровідникової оперативної пам'яті ємністю в 1 Мб коштувало 550 тис. Дол. Для порівняння - тепер 5 дол.

В даний час більшість програм пишеться на мовах високого рівня. Дослідження статичного і динамічного поведінки програм, написаних, наприклад, на мовах Сі та Паскаль, показали, що статично 30 - 40% - це звернення до процедур, 30 - 40% операторів - присвоєння і майже всі інші - умовні оператори.

У табл. 1 показані статичні і динамічні частоти виконання різних операторів.

З табл. 1 випливає, що майже в половині випадків звернення до пам'яті зобов'язані своїм походженням викликам процедур і повернень з них.

Для прискорення виконання програм бажано мінімізувати число звернень до пам'яті і прискорити виклики процедур.

Аналіз звернень до процедур показує, що у 99% всіх процедур число параметрів не перевищує п'яти, а у 92% - двох.

При дослідженні динамічної поведінки набору Сі програм:

- NROFF - при форматуванні керівництва по мові Фортран;

- SORT - сортування масиву з 2025 рядків;

- Сі - компілятор, що компілює сам себе, виявилося, що при виклику процедур число параметрів плюс число локальних змінних не перевищує:

- - в 75,4% випадків;

7 - в 93,8% випадків;

11 - в 98,6% випадків;

15 - в 99,2% випадків;

23 - в 100% випадків.

Якщо у кожної процедури будуть свої регістри для передачі параметрів і зберігання локальних змінних, то при зверненні до них можна заощадити чимало часу.

Практика написання компіляторів і досягнення в теорії трансляції показали, що для ефективної компіляції краще мати невеликий набір простих реєстрових команд (і, отже, швидких), ніж набір складних команд, що ускладнюють застосування методів оптимізації коду транслюється програми.

Не дивно, що в реальних програмах найбільш часто використовуються прості команди, такі, як LOAD, STORE, ADD і ін., В той час як складні команди використовуються досить рідко. Так, в програмах для VAX 20% з набору команд займають при виконанні 0,2% часу, в той же час їх обсяг складає 60% від загального обсягу мікропрограмного пам'яті.

Ці міркування послужили основою для створення на початку 80-х років архітектури мікропроцесорів зі скороченим набором команд (Reduced Instruction Set Computer - RISC-архітектури).

Введення в архітектуру RISC-процесорів дано в статті Едуарда Пройдакова на стор. 49.

Дослідження в області такої архітектури були розпочаті корпорацією IBM в 1975 р і завершилися появою машини 801; про неї в той час не було публікацій, і тому вона не мала впливу на розвиток архітектур процесорів.

В університеті Берклі були створені мікропроцесори RISC I і RISC II, перший став комерційним мікропроцесором MIPS R2000 (1986 рік), а другий перетворився в SPARC-1 (1987 р), в якому був набір з 138 регістрів, організованих як вісім вікон, що перекриваються з 22 регістрів; шість регістрів у сусідніх вікон були загальними. Через них передавалися параметри при виклику процедур.

Згодом процесори RISC-архітектури були розроблені компаніями Hewlett-Packard - PA RISC (Precision Architecture), DEC - Alpha, IBM, Motorola і Apple - Power PC. Однак процесори Intel класичної CISC-архітектури - х86 - теж не стояли на місці. Були випущені процесори Pentium, Pentium Pro і Pentium II, які не поступаються за продуктивністю процесорів RISC-архітектури.

Від мікропроцесорів для високопродуктивних робочих станцій потрібна максимальна продуктивність, яку можна отримати при використанні максимально можливого числа транзисторів, що розміщуються на кристалі з прийнятним ще виходом придатних мікропроцесорів.

З часів Вавилона і Давнього Єгипту були відомі два способи прискорення виконання робіт:

- збільшення темпу;

- розпаралелювання.

У наш час був винайдений конвеєр. Робота розбивається на N послідовних етапів, кожен з них доручається окремому виконавцю. Конвеєр дозволяє отримати N-кратне прискорення, якщо завдання не змінюється. В іншому випадку конвеєр перед перезапуском треба очистити, і чим довше конвеєр, тим більше йде на це часу.

Збільшення тактової частоти - основний метод підвищення швидкодії мікропроцесорів. Наприклад, тактова частота збільшилася з 5 МГц у процесора i8086 (1978 г.) до 500 МГц у процесора Alpha корпорації DEC (1996 г.) і при цьому продуктивність збільшилася до 500 MIPS. Зауважимо, що за час такту процесора Alpha світло в вакуумі проходить всього 60 см.

У всіх без винятку мікропроцесорах для виконання команд застосовується конвеєр, число ступенів в якому коливається від п'яти до дев'яти. Збільшення їхньої кількості перешкоджають команди передач управління, що зустрічаються досить часто. Так, в програмах для x86 на чотири-п'ять команд доводиться один перехід.

Розпаралелювання потоку команд також використовується в усіх сучасних високопродуктивних процесорах. Число потоків доходить до шести, але в більшості випадків дорівнює чотирьом.

Добре відомо, що продуктивність мікропроцесора визначається двома параметрами: логічної швидкістю, т. Е. Числом команд, які мікропроцесор виконує в середньому за такт, і самої тактовою частотою.

Логічна швидкість є мірою якості архітектури і якості її реалізації.

Подивимося, яка логічна швидкість найбільш поширених в даний час мікропроцесорів.

Подивимося, яка логічна швидкість найбільш поширених в даний час мікропроцесорів

З табл. 2 випливає, що максимальна логічна швидкість помітно менше середньої.

Щоб проілюструвати складність її збільшення, зауважимо, що в архітектурі х86 її подвоєння досягається лише при чотириразове збільшення числа транзисторів.

Перераховані вище методи підвищення швидкодії мікропроцесорів раніше застосовувалися в мейнфреймах. Так, процесор "Ельбрус" (1978 р):

- декодувати дві команди одночасно;

- виконував команди не в тому порядку, в якому вони розташовувалися в програмі (проглядалося вперед до 30 команд);

- мав спекулятивне виконання по одному з умовних переходів;

- використовував перейменування регістрів.

Основні виробники високопродуктивних мікропроцесорів - це корпорації Intel, Sun Microsystems, DEC, Hewlett-Packard, IBM і MIPS (тепер Silicon Graphics). За винятком корпорації Intel, яка випускає процесори архітектури CISC, всі інші випускають RISC-процесори.

Як уже згадувалося, компанії MIPS і Sun Microsystems першими розробили мікропроцесори класичної RISC-архітектури. Сама назва мікропроцесора MIPS розшифровується як Microprocessor without Interlocked Pipeline Stages, т. Е. Мікропроцесор, у якого немає перевірки виконуваних в конвеєрі команд на залежність за даними. Це було зроблено у відповідності з ідеологією максимального спрощення устрою управління.

Часто RISC-процесори порівнюють з гоночним автомобілем, конструкція якого підпорядкована меті забезпечення найвищої швидкості при заданому вазі. У нього немає нічого, без чого можна було б обійтися.

У першому процесорі MIPS R2000 були 32 32-розрядних регістра R0-R31, лічильник команд PC і два додаткових регістра HI і LO. Регістри з номерами від R1 до R30 - це регістри загального призначення, без спеціальних функцій. Двом регістрів додані спеціальні функції:

- При читанні регістра R0 його значення завжди дорівнює нулю. Запис в нього будь-якого числа виконується, а його вміст не змінюється і залишається рівним нулю.

- У регістрі R31 при виконанні команд "перехід" і "перехід з поверненням" (JUMP і LINK) запам'ятовується адресу повернення. Проте його можна використовувати в будь-якій команді, але з обережністю.

Проте його можна використовувати в будь-якій команді, але з обережністю

Так як при віконанні операции цілочісельного множення двох 32-розрядно чисел результат виходом 64-розрядно, то для его зберігання потрібні два регістра. Если результат поміщаті в регістрі Загальне призначення, то це буде заважаті алгоритмам оптимального розподілу регістрів. Тому були введені два спеціальніх регістру HI и LO. При віконанні ділення в HI поміщається старша частина діленого, а в LO - молодша. В результаті виконання операції ділення приватне поміщається в LO, а залишок - в HI. У цю ж пару записується результат множення.

Всі команди 32-розрядні. Є три формату команд:

- з безпосереднім операндом;

- передач управління;

- реєстрові.

Наявність команд тільки трьох типів істотно спрощує їх декодування.

Набір команд поділено на п'ять підгруп.

- пересилань даних між пам'яттю і регістрами (Load і Store). Всі команди цієї підгрупи - з безпосереднім операндом. Адреса цього утворюється шляхом додавання вмісту індексного регістра і 16-розрядної зміщення зі знаком, записаного безпосередньо в команді.

- Арифметичних команд додавання, віднімання, множення, ділення, зрушень, а також логічних операцій, що виконуються над даними в регістрах.

- Переходів і переходів з поверненням.

- Спеціальних, серед яких виклик супервізора, контрольні точки і ін.

- Звернень до сопроцессору.

Цей початковий набір команд (MIPS I) було розширено додаванням команд для обчислень з плаваючою комою. Були додані 32 64-розрядних регістра для подібних обчислень подвійної точності. Розширений таким чином набір команд був названий MIPS II. Потім процесор став 64-розрядних і були додані відповідні команди роботи з такими даними, а набір команд став називатися MIPS III. Робота з тривимірними даними зажадала збільшення продуктивності і набір команд для обчислень з плаваючою комою був відповідним чином розширено і отримав назву MIPS VI.

Останнє розширення набору команд для підтримки мультимедіа-даних названо MDMX.

Самий високопродуктивний мікропроцесор компанії MIPS Technologies - R10000 - являє собою суперскалярний процесор, який може вибирати і виконувати до чотирьох команд за один цикл процесора.

У процесорі є два пристрої цілочисельний арифметики, а також умножитель і суматор чисел з плаваючою комою. Декодована команда ставиться в одну з трьох черг; дві з них - до пристроїв цілочисельний арифметики і одна - до сумматору і умножителю чисел з плаваючою комою. У кожній черзі проводиться динамічна диспетчеризація їх виконання. У кожній целочисленной черзі може перебувати до 16 команд. За один такт записуються в чергу чотири команди.

Черга команд обчислень з плаваючою комою має ємність в 16 команд. З черги команди направляються в суматор або умножитель. Черга володіє логікою повторів для виконання таких команд, як множення з накопиченням. Ці команди спочатку направляються в пристрій множення, а потім в суматор.

Є окрема черга адрес даних, за якими дані вибираються або записуються. Ці адреси направляються в пристрій читання-запису даних (Load-Store). Черга організована як зациклений FIFO-буфер. Адреси з нього можуть братися в довільному порядку, але повинні міститися і віддалятися в вихідної послідовності.

Мікропроцесор R10000 може працювати через кластерну шину в багатопроцесорної системі.

64-розрядний процесор PA-8000 компанії HP представляє для нас особливий інтерес, тому що має найвищу логічну швидкість з усіх випущених нині мікропроцесорів, а також тому, що саме в співдружності з HP корпорація Intel розробляє процесор Merced.

Яким чином отримані такі результати?

По-перше, в PA-8000 є два пристрої цілочисельний арифметики, два групових сдвігатель, два помножувача з накопиченням чисел з плаваючою комою, два пристрої розподілу і обчислити квадратний корінь та два пристрої читання-запису, які можуть одночасно почати виконання чотирьох операцій.

Крім того, існує двухвходових кеш-пам'ять даних і буфер переупорядочивания на 56 команд. Блок вибірки команд розрахований на вибірку з зовнішньої кеш-пам'яті чотирьох команд за один цикл.

Особливі зусилля були зроблені для покращення передбачення адрес передач управління.

У процесорі є повністю асоціативна таблиця адрес переходів (BTAC) на 32 адреси, де зберігаються адреси відбулися переходів. При вибірці команди її адресу направляється в кеш-пам'ять команд і одночасно в буфер. Якщо фіксується збіг, то адреса, виданий BTAC, використовується для вибірки наступної команди. Кожен раз, коли адреса переходу передбачений правильно, він поміщається в BTAC, якщо його там не було.

Бажано мінімізувати число невдало передбачених передач управління. Цій меті служить таблиця передбачення адрес переходів (BHT) на 256 входів. Кожен її елемент містить 3-розрядний зсувний регістр, в якому міститься результат трьох попередніх передач управління, т. Е. Фіксується передача. Якщо дві з трьох передач відбулися, то вважається, що і в третій раз вона відбудеться.

У кожному 64-розрядному пристрої цілочисельний арифметики знаходиться і суматор адрес передач управління.

Пристрій для обчислень з плаваючою комою складається з двох пристроїв множення з накопиченням (MAC) і двох пристроїв ділення і витягання квадратного кореня.

У процесорі є апаратура підтримки налагодження і вимірювань продуктивності.

Навіть короткий огляд архітектурних хитрувань, спрямованих на збільшення продуктивності, і скромні результати цих зусиль показують, що існують фундаментальні проблеми, що перешкоджають її росту. Справа в тому, що програміст знає, які частини алгоритму можуть бути виконані в програмі паралельно і які операції залежні один від одного за даними. Але алгоритм програмується на одній з мов, послідовних за своєю природою, внаслідок чого залежності за даними маскуються. Потім програма компілюється і компілятор повинен знайти частини програми, які можна виконати паралельно, для чого доводиться проводити складний аналіз структури програми і залежностей даних один від одного. В результаті компілятор генерує послідовність команд, максимально використовує можливості паралельного їх виконання на конкретній апаратурі. А при виконанні цієї послідовності суперскалярний процесор повинен виконати майже той же самий аналіз частини програми. Це необхідно з кількох причин. По-перше, деякі команди, наприклад цілочисельне ділення, в R10000 виконуються за різний час, в залежності від вихідних даних. По-друге, в компіляторі можуть бути помилки і він генерує неоптимальну послідовність команд. І по-третє, програма може бути просто написана на асемблері.

Для складного аналізу потрібна апаратура великого обсягу, що в свою чергу уповільнює процесор, а для підвищення продуктивності потрібне збільшення числа виконавчих пристроїв і складності апаратури управління.

Вихід з цього становища полягає в розробці архітектури, в якій на рівні команди явно використовується паралелізм. Команда складатиметься з декількох простих трьохадресних реєстрових складів. Всі склади в такій довгій команді, що виконується за один такт, будуть генеруватися компілятором.

Є підстави вважати, що таким шляхом можна довести середню логічну швидкість до чотирьох.

Головна проблема нової архітектури - сумісність з раніше написаними програмами.

Існує й інший підхід, коли в мікропроцесор поміщаються кілька процесорів і апаратура координації їх спільної роботи.

Проект створення такого процесора - М-машини - наближається до завершення, він розробляється в Массачусетському технологічному інституті.

М-машина Массачусетського технологічного інституту

В рамках програми Mechanisms for Teraflops, що фінансується DARPA, в Массачусетському технологічному інституті розробляється комп'ютер нової архітектури, або М-машина, що складається з декількох обробних вузлів, з'єднаних в мережу. Мета розробки - створення комп'ютерів з терафлопного продуктивністю.

Кожен вузол складається з мікропроцесора з декількома арифметичними пристроями (MAP) і п'ятьма пристроями динамічної пам'яті. Мікропроцесор MAP містить сім обробних пристроїв, розділених на три кластери. У кластері поміщено целочисленное арифметичний пристрій, пам'ять і група регістрів. Крім того, в мікропроцесорі є пристрій керування мережею, що організує двомірну мережу, загальна кеш-пам'ять, інтерфейс з оперативною пам'яттю і два набори шин, через які можна здійснювати запис даних з кластера в кластер і передачу даних між кластерами і пам'яттю.

М-машина дозволяє одночасно на трьох кластерах виконувати послідовності команд (треди).

Схема захисту пам'яті базується на захищених покажчиках, які використовуються для запобігання несанкціонованого доступу до пам'яті з декількох тредов, які можуть одночасно виконуватися на М-машині. Покажчики реалізовані у вигляді 64-розрядних тегованих слів. У них закодовані права доступу, адреси та інформація про сегментах. Розміщення прав доступу разом з адресою дозволяє розділити функції захисту і трансляції адреси. Така схема дає можливість процесору MAP одночасно в одному циклі звертатися до пам'яті з різних доменів.

Мікропроцесор, що містить 5 млн. Транзисторів, буде виготовлений по 0,5 нм КМОП-технології на кристалі розміром 18,25х18,30 мм.

Перші мікропроцесори будуть готові в першому кварталі 1998 року, а М-машина, виготовлена ​​на їх основі, - в другому.

для мобільних пристроїв

Існує ринок мікропроцесорів для мобільних пристроїв, таких, як кишенькові і блокнотние комп'ютери, персональні комунікатори, "розумні" мобільні та Інтернет-телефони і т. П. Мікропроцесори для цих пристроїв повинні мати мале енергоспоживання і високу продуктивність. Тут головний критерій - продуктивність в розрахунку на ват споживаної потужності (табл. 3).

З процесорів такого класу заслуговує на увагу мікропроцесор ARM, розроблений в 1988 р англійською компанією ACORN. Його архітектура - класичний RISC. Апаратура процесора складається з 32-розрядної арифметично-логічного пристрою, групового сдвігатель, умножителя Бута, суматора адрес і реєстрового файлу з 25 регістрів, що дозволяє за один такт прочитати два і записати один регістр. Для прискорення виконання команд в процесорі реалізований триступеневий конвеєр. У кожному такті одночасно одна команда вибирається, одна декодируется і одна виконується. Всі команди мають однакову довжину в 32 розряду. Арифметичні команди - трехадресние реєстрові і виконуються за один такт.

Рис.3 Мікрофотографія процесора SA-1100

Як і повинно бути в RISC-процесорі, команди звернення до пам'яті - тільки завантаження в регістр і вивантаження з нього.

Старші чотири розряду команди представляють код умови, при якому дана команда виконується. Така схема дозволяє в багатьох випадках обійтися без використання команд умовного переходу, що гальмують конвеєр.

Процесор був виконаний по 3-мікронною КМОП-технології і містив 27 тис. Транзисторів, причому управління займало 4% площі кристала.

Однак на реальних задачах при тактовій частоті в 8 МГц цей процесор не поступався за швидкістю 16 МГц 386-му процесору. При напрузі живлення 5 В он споживав 10 мА.

Крім процесора були розроблені диспетчер пам'яті, контролери введення-виведення і дисплея. Цей набір мікросхем застосовувався в ПК "Архімед".

У листопаді 1990 р компанії ACORN, VLSI Technology і Apple утворили фірму ARM. Спочатку передбачалося розробляти дешеві, але продуктивні процесори для освітньої сфери.

Архітектура виявилася настільки вдалою, що лягла в основу цілого сімейства мікропроцесорів і мікроконтролерів, в тому числі мікропроцесорів ARM7, ARM6 і ARM60. Вони ідеальні для застосування в умовах обмежених можливостей джерел живлення.

У таблиці 4 представлені їх параметри.

Багато компаній купили ліцензії на архітектуру ARM. У тому числі: Digital Semiconductor, Cirrus Logic, Samsung, NEC, Hyundai, LG Semicon, Lucent Microelectronics, OKI, Philips, Texas Instruments і ін.

Корпорація Digital Semiconductor в 1996 р випустила мікропроцесор StrongARM (SA-110), який представляє собою розширену реалізацію архітектури ARM версії 4. У ньому, зокрема, є: п'ятиступінчастий конвеєр; диспетчер пам'яті; кеш-пам'ять команд та даних по 16 Кб.

Процесор працює з тактовою частотою 100, 160 і 200 МГц, його продуктивність - 115, 185 і 230 MIPS. Потужність на частоті 160 МГц - 450 мВт.

2 вересня 1997 року компанія випустила SA-1100 - 32-розрядний мікропроцесор з кеш-пам'яттю команд об'ємом 16 КБ, кеш-пам'яттю даних обсягом 8 Кб, диспетчером пам'яті, контролерами рідкокристалічного дисплея, динамічної пам'яті, прямого доступу і п'ятьма портами послідовних каналів ( рис. 3). Число транзисторів в ньому - 2,5 млн.

Процесор працює на тактовій частоті 133 і 200 МГц зі швидкістю 150 і 230 MIPS, споживаючи при цьому відповідно 200 і 250 мВт.

У третє тисячоліття ми увійдемо з процесором Intel з великим числом виконавчих пристроїв (целочисленной і плаваючою арифметики і обчислень з плаваючою комою, а також пристроїв обробки мультимедіа-даних), з довгою командою, в якій на рівні вхідного мови явно буде враховуватися паралелізм. 4

Версія для друку

Яким чином отримані такі результати?

Новости


 PHILIP LAURENCE   Pioneer   Антистресс   Аромалампы   Бизнес   Игры   Косметика   Оружие   Панно   Романтика   Спорт   Фен-Шуй   Фен-Шуй Аромалампы   Часы   ЭКСТРИМ   ЭМОЦИИ   Экскурсии   визитницы   подарки для деловых людей   фотоальбомы  
— сайт сделан на студии « Kontora #2 »
E-mail: [email protected]



  • Карта сайта