телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Модерни микропроцесори от AMD. Съвременни микропроцесори от AMD Как да получите високи честоти

1. Въведение
2. Процесори с архитектура 80x86 и Pentium, Pentium II, Pentium III

4. Процесори от семейството R4000 на MIPS архитектура от MIPS Technology
5. Процесори с архитектура SPARC от Sun Microsystems
6. Процесори с PA-RISC архитектура от Hewlett-Packard,
7. Списък с литература.

1. Въведение.

И така, в този тест е необходимо да се покрие следният въпрос.

Съвременни микропроцесори

1. Процесори с архитектура 80x86 и Pentium, Pentium II, Pentium III
2. Характеристики на Alpha архитектурата на DEC
3. Характеристики на архитектурата POWER от IBM и PowerPC от Motorola, Apple и IBM.

Обхващайки този въпрос обаче, не можете да пренебрегнете:

Процесори от семейството R4000 на MIPS архитектура от MIPS

Процесори с SPARC архитектура от Sun Microsystems

Процесори с PA-RISC архитектура от Hewlett-Packard, въпреки че тези процесори няма да бъдат разгледани подробно в тази работа.

Тази работа ще предостави аналитична информация за процесорите на тези архитектури.

Тази работа не претендира за абсолютизиране на възгледи и мнения.

2. Процесори с архитектура 80x86 и Pentium, Pentium II, Pentium III.

И така, първо малко история: Архитектура на Intel 8086 – 1978 г

През 1978 г. архитектурата Intel 8086 беше обявена като възходящо съвместимо разширение на успешния тогава 8-битов микропроцесор 8080. 8086 е 16-битова архитектура с всички вътрешни регистри с 16-битова ширина. Микропроцесорът 8080 е просто изграден около акумулатор, но архитектурата 8086 е разширена с допълнителни регистри. Тъй като почти всеки регистър в тази архитектура има специфична цел, 8086 може да бъде класифициран отчасти като акумулираща машина и отчасти като регистрираща машина. с общо предназначение, и може да се нарече разширена акумулаторна машина. Микропроцесорът 8086 (по-точно неговата версия 8088 с 8-битова външна шина) стана основата на серията компютри IBM PC, които по-късно завладяха целия свят, работейки операционна система
MS-DOS.

Копроцесорът 8087 с плаваща запетая беше обявен през 1980 г. Тази архитектура разшири 8086 с близо 60 инструкции с плаваща запетая. Неговите архитекти изоставиха разширените акумулатори, за да създадат един вид хибрид от стекове и регистри, по същество разширена стекова архитектура. Пълният набор от инструкции за стека се допълва от ограничен набор от инструкции за регистър-памет.

През 1982 г. беше обявен микропроцесорът 80286, който допълнително разшири архитектурата 8086 чрез създаване на сложен модел за разпределение на паметта и защита, разширяване на адресното пространство до 24 бита и добавяне на малък брой допълнителни инструкции. Тъй като беше много важно да се гарантира, че програмите, разработени за 8086, работят без модификации,
80286 имаше режим на реален адрес, което позволяваше на машината да изглежда почти като 8086. През 1984 г. IBM обяви използването на този процесор в новата серия персонални компютри IBM PC/AT.

През 1987 г. беше представен микропроцесорът 80386, който разшири архитектурата 80286 до 32 бита. В допълнение към 32-битова архитектура с 32-битови регистри и 32-битово адресно пространство, микропроцесорът
80386 въведе нови режими на адресиране и допълнителни операции. Всички тези разширения превърнаха 80386 в машина, идеологически близка до машините с регистри с общо предназначение. В допълнение към механизмите за сегментиране на паметта, микропроцесорът 80386 също добави поддръжка за пейджинг на паметта. Подобно на 80286, микропроцесорът 80386 има режим за изпълнение на програми, написани за 8086. Въпреки че MS-DOS остава основната операционна система за тези микропроцесори по това време, 32-битовата архитектура и странирането на паметта послужиха като основа за пренасяне на UNIX операционна система към тази платформа. Трябва да се припомни
Виктор Владиленович, че операционната система XENIX е създадена за процесора 80286, но UNIX не е използвана на 286 (поне „по моя памет“).

Тази история илюстрира ефекта от необходимостта да се осигури 80x86 съвместимост, тъй като съществуващата софтуерна база беше твърде критична на всяка стъпка. За щастие следващите процесори (80486 през 1989 г. и Pentium през 1993 г.) се фокусираха върху увеличаване на производителността и добавиха само три нови команди към видимия за потребителя набор от инструкции, за да улеснят многопроцесорната обработка. Каквото и да се говори за неудобствата на архитектурата 80x86, трябва да се има предвид, че тя доминира в света на персоналните компютри. Почти 80% от инсталираните малки системи са базирани на тази архитектура. Дебатът относно предимствата на CISC и RISC архитектурите постепенно затихва, тъй като съвременните микропроцесори се опитват да включат най-добрите свойства и на двата подхода. Отдавна остарялото, но въпреки това активно използвано семейство процесори i486 (468SX, 486DX, 486DX2 и 486DX4), което запази системата за инструкции и методите за адресиране на процесора i386, вече има някои от свойствата на RISC микропроцесорите. Например, най-често срещаните команди се изпълняват в един такт. За да оцени производителността на своите процесори, Intel въведе специална характеристика, наречена iCOMP рейтинг. Компанията се надяваше, че тази характеристика ще се превърне в стандартен еталон и ще се използва от други производители на микропроцесори, но последните бяха разбираемо предпазливи към системата за измерване на производителността на Intel и с добра причина.

Ако сравним i486SX-25 и Pentium-133, тогава тяхната производителност, според рейтинга на iCOMP, е 1:12. Което, разбира се, показва, че увеличението на производителността не е постигнато чрез увеличаване на тактовата честота на процесора и „козметично облизване“ на ядрото. Така че нека ги разгледаме малко по-подробно.

Процесорите i486SX и i486DX са 32-битови процесори с вътрешен 8 KB кеш и 32-битова шина за данни. Основната разлика между тях е, че процесорът i486SX няма интегриран копроцесор с плаваща запетая. Поради това има по-ниска цена и се използва в системи, за които производителността при обработка на реални числа не е много важна. Тези системи обикновено могат да се разширяват с външен i487SX копроцесор. Процесорите Intel OverDrive и i486DX2 са почти идентични. Въпреки това матрицата OverDrive има пакет, който може да бъде инсталиран в гнездото за разширение на копроцесора i487SX, използвано в компютри, базирани на i486SX. Процесорите OverDrive и i486DX2 използват вътрешна технология за удвояване на часовника, за да увеличат производителността на процесора с близо 70%. Процесорът i486DX4/100 използва технология за утрояване на тактовата честота. Той работи с вътрешна тактова честота от 99 MHz, докато външната тактова честота (честотата, на която работи външната шина) е 33 MHz. Този процесор предоставя почти равни възможности на машини от клас 60 MHz
Pentium, като тяхната пълноценна и достъпна алтернатива.

Процесорът Pentium, който се появи през 1993 г., бележи нов етап в развитието на архитектурата x86, свързан с адаптирането на много свойства на процесорите с RISC архитектурата. Произведен е по 0,8 микрона BiCMOS технология, която е нелепа в съвременните времена и съдържа 3,1 милиона транзистора. Първоначалното изпълнение е проектирано да работи на тактова честота 60 и 66 MHz. В момента налични процесори
Pentium, работещ на тактови честоти 75, 90, 100, 120, 133, 150, 200,
233 MHz. Процесорът Pentium има редица подобрени характеристики в сравнение с предшествениците си. Основните му характеристики са: двунишкова суперскаларна организация, позволяваща паралелно изпълнение на двойка прости команди; наличието на два независими двуканални многоасоциативни кеша за инструкции и за данни, осигуряващи семплиране на данни за две операции във всеки цикъл; предвиждане на динамичен преход; тръбопроводна организация на устройство с плаваща запетая с 8 степени; двоична съвместимост със съществуващите процесори от семейството 80x86.

Блоковата диаграма на процесора Pentium е показана на фигура 1. На първо място, новата микроархитектура на този процесор се основава на идеята за суперскаларна обработка (макар и с някои ограничения). Основните команди се разпределят върху два независими изпълнителни механизма (конвейери U и V). U тръбопроводът може да изпълнява всяко x86 семейство от инструкции, включително цели числа и инструкции с плаваща запетая. V тръбопроводът е проектиран да изпълнява прости цели числа и някои инструкции с плаваща запетая. Командите могат да се изпращат до всяко от тези устройства едновременно и когато управляващото устройство издаде двойка команди в един тактов цикъл, по-сложната команда отива към U конвейера, а по-малко сложната отива към V конвейера.
Такова издаване на команди по двойки е възможно само за ограничено подмножество от целочислени команди. Инструкциите за аритметика с плаваща запетая не могат да се изпълняват заедно с инструкции за цели числа. Едновременното издаване на две команди е възможно само ако няма зависимости в регистъра. Когато команда спре по някаква причина в един конвейер, като правило, вторият конвейер също спира, след което компютърът щастливо виси.

Останалите процесорни устройства са проектирани да доставят на тръбопроводите необходимите команди и данни. За разлика от i486 процесорите Процесор PentiumИзползва се отделна кеш памет за команди и данни с капацитет 8 KB, което осигурява независим достъп. В един тактов цикъл две думи могат да бъдат прочетени от всяка кеш памет. В този случай кеш паметта за данни е изградена на принципите на двойно наслояване, което осигурява едновременното четене на две думи, принадлежащи към една и съща линия на кеш паметта.
Кешът за команди съхранява три копия на етикети наведнъж, което ви позволява да четете две командни думи в един тактов цикъл, принадлежащи или към един и същ ред, или към съседни редове, за да осигурите по двойки издаване на команди, докато третото копие на таговете се използва за организира протокол за наблюдение на кохерентността на състоянието на кеш паметта. За да подобри ефективността на презареждане на кеша, процесорът използва 64-битова външна шина за данни

Процесорът ВЕЧЕ има механизъм за динамично предсказване посоката на преходите. За тази цел чипът съдържа малка кеш памет, наречена разклонителен целеви буфер (BTB) и две независими двойки буфери за предварително извличане на инструкции (два 32-битови буфера на конвейер). Буферът за целеви адреси на разклонения съхранява адресите на инструкциите, които са в буферите за предварително извличане. Работата на буферите за предварително извличане е организирана по такъв начин, че във всеки даден момент инструкциите се извличат само в един от буферите на съответната двойка. Когато се открие операция на разклоняване в потока от инструкции, изчисленият адрес на разклонение се сравнява с адресите, съхранени в буфера
BTB. Ако има съвпадение, разклонението се предвижда да се осъществи и друг буфер за предварително извличане се активира и започва да издава команди към съответния конвейер за изпълнение. Ако има несъответствие, се приема, че разклонението няма да бъде изпълнено и буферът за предварително извличане не се превключва, като продължава нормалната поръчка за издаване на команда. Това ви позволява да избегнете престой на конвейери с правилното прогнозиране на посоката на прехода. Окончателното решение за посоката на прехода естествено се взема въз основа на анализа на кода на условието. Ако прогнозата е направена неправилно, съдържанието на тръбопроводите се анулира и издаването на команди започва от необходимия адрес. Неправилна прогноза води до спиране на конвейерите за 3-4 цикъла. Трябва да се отбележи, че повишената производителност на процесора Pentium също изисква подходяща организация на системата, базирана на него. Intel разработи и достави всички необходими чипсети за това. На първо място, кеш L2 е необходим, за да съответства на скоростта с динамичната основна памет. Кеш контролерът 82496 и статичните чипове памет 82491 осигуряват такъв кеш от 256 KB и работят с процесора без тактови цикли. За да организира ефективно системите, Intel разработи стандарт за високопроизводителна PCI локална шина.
Произвеждат се набори чипове за изграждане на мощни компютри на негова основа.

Следващият процесор, който продължи линията Pentium, беше P6 или
PentiumPro. Работи на тактови честоти 150: 166: 180 и 200 MHz.
PentiumPro осигурява пълна съвместимост с предишни поколения процесори. Той е проектиран основно да поддържа високопроизводителни 32-битови изчисления в CAD, 3D графики и мултимедия: и широк обхваттърговски приложения за бази данни. Въз основа на резултатите от тестовете на SPEC (8.58 SPECint95 и 6.48
SPECfp95), процесорът PentiumPro в момента е на трето място в световната класификация по отношение на производителността на целочислените операции, на второ място след 180 MHz HP PA-8000 и 400 MHz DEC Alpha (фиг. 2). За да се постигне такава производителност, е необходимо да се използват технически решения, които се използват широко в изграждането на RISC процесори:

Фиг.2. изпълнение на команди не в последователността, предписана от програмата, което елиминира в много случаи спирането на конвейери поради изчакване на операнди на операции; използване на техника за преименуване на регистър, която ви позволява да увеличите ефективния размер на регистърния файл (малкият брой регистри е едно от тесните места на x86 архитектурата); разширяване на суперскаларните възможности по отношение на процесора Pentium, което осигурява едновременно издаване само на две команди с доста строги ограничения върху техните комбинации.

В допълнение, компании, които преди са произвеждали Intel-съвместими процесори, се присъединиха към битката за новото поколение x86 процесори.
Тези компании са Advanced Micro Devices (AMD), Cyrix Corp и NexGen. По отношение на микроархитектурата най-близък до Pentium е процесорът M1 на компанията
Cyrix, който трябва да се появи на пазара в близко бъдеще. Както и
Pentium има два конвейера и може да изпълни до две инструкции в един такт. Въпреки това, в процесора M1 броят на случаите, когато операциите могат да се извършват по двойки, е значително увеличен. В допълнение, той използва техники за байпас и ускоряване на данни, за да елиминира спиранията на тръбопровода в много ситуации, с които не може да се справи.
Pentium. Процесорът съдържа 32 физически регистъра (вместо 8 логически регистъра, предоставени от x86 архитектурата) и използва техника за преименуване на регистър, за да елиминира зависимостите от данни. Като Pentium, процесорът
M1 използва 256-елементен буфер от местоназначения на разклонения, за да предвиди посоката на разклоняване, но също така поддържа специален стек за връщане, който проследява извикванията на процедури и последващите връщания.

Процесорите K5 на AMD и Nx586 на NexGen имат напълно различен подход. Основата на техните процесори е много бързо RISC ядро, което изпълнява много регулярни операции в суперскаларен режим. Вътрешните формати на инструкции (ROP за AMD и RISC86 за NexGen) съответстват на традиционните системи за инструкции на RISC процесорите. Всички команди са с еднаква дължина и са кодирани в нормален формат. Достъпите до паметта се извършват чрез специални команди за зареждане и запис. Както знаете, архитектурата x86 има много сложна система от инструкции за декодиране. В K5 и
Nx586 реализира хардуерно преобразуване на x86 команди в команди за вътрешен формат, което осигурява по-добри условия за паралелизиране на изчисленията. Процесорът K5 има 40, а процесорът Nx586 има 22 физически регистъра, които реализират техниката на преименуване. В процесора K5 информацията, необходима за прогнозиране на посоката на разклоняване, се записва директно в кеша на инструкциите и се съхранява с всеки кеш ред. В процесора
Nx586 използва 96-елементен кеш адрес за прескачане за тези цели.

По този начин Intel няма монопол върху методите за проектиране на високопроизводителни x86 процесори. Трябва да се отбележи, че самата Intel е сключила стратегическо споразумение с компанията
Hewlett-Packard ще разработи следващото поколение микропроцесори, които ще комбинират архитектурата x86 с архитектурата на Very Long Instruction Word (VLIW).

И сега плавно ще преминем към Pentium II.

За Intel и Hewlett-Packard нямаше "проблем Y2K" - за тях това беше година на нови възможности. В края на 1999 г. Intel представи Merced, първият процесор, изграден с помощта на архитектура от следващо поколение, разработена съвместно от двете компании.
Въпреки че тази 64-битова архитектура се основава на години изследвания
Intel, HP, други компании и университети, той е коренно различен от всичко, което беше представено на пазара преди него.

Тази архитектура, известна като Intel Architecture-64 (IA-
64), напълно „скъса с миналото“. IA-64 не е нито 64-битово разширение на 32-битовата x86 архитектура на Intel, нито редизайн на
HP 64-bit PA-RISC архитектура. IA-64 е нещо напълно ново - авангардна архитектура, която използва дълги инструкции (LIW), предсказание на инструкции, елиминиране на разклонения, спекулативно зареждане и други трикове, за да
"извличане на повече паралелизъм" от програмния код.

Що се отнася до съвместимостта, заслужава да се отбележи, че в Merced всъщност има два режима на декодиране на команди: VLIW и стария CISC. Тези. програмите преминават към необходимия режим на изпълнение. В архитектурата x86 бяха добавени редица команди за преминаване към нов режим, както и за прехвърляне на данни. IA-64 има такива команди изначално. Преди да навлезем в техническите подробности, нека се опитаме да разберем защо Intel и HP поеха риска да направят толкова драстични промени. Причината се свежда до това: те вярват, че и CISC, и RISC архитектурите са изпълнили своя курс.

Кратка екскурзия в миналото. Архитектурата x86 на Intel е CISC архитектура, която се появява през 1978 г. В онези дни процесорите бяха скаларни устройства (т.е. те можеха да изпълняват само една инструкция в даден момент) и практически нямаше конвейери. Процесорите съдържаха десетки хиляди транзистори.

PA-RISC на HP е разработен през 1986 г., когато суперскаларната тръбопроводна технология едва започваше да се развива. Процесорите съдържат стотици хиляди транзистори. В края на 90-те най-модерните процесори съдържаха милиони транзистори. По времето, когато Merced започна производството, Intel беше преминал към 0,18-микрона технология вместо сегашната 0,25-микрона технология. Още първите чипове с архитектура IA-64 съдържаха десетки милиони транзистори.

Проблемът допълнително се усложнява от факта, че чиповете памет не могат да се справят с тактовата честота на процесорите. Когато Intel разработи архитектурата x86, процесорът можеше да извлича данни от паметта толкова бързо, колкото ги обработваше. Днешният процесор прекарва стотици часовникови цикли в очакване да зареди данни от паметта, въпреки че има голям, бърз кеш.
Командите във формат IA-64 са опаковани по три в 128-битов пакет за най-бърза обработка. Това обикновено се нарича "LIW кодиране". (Трудно е да се намери руски аналог. Най-адекватният превод според мен е „кодиране в дълги командни думи“.) Въпреки това Intel избягва това име, заявявайки, че има „отрицателни конотации“, свързани с него.
По същата причина Intel не обича да нарича самите инструкции RISC-подобни, въпреки че те са с фиксирана дължина и се предполага, че са оптимизирани за изпълнение с един цикъл в ядро, което не изисква микрокод. Intel предпочита да нарича новата си LIW технология Explicitly Parallel Instruction Computing или EPIC.
Явен паралелизъм на инструкциите, където „изрично“ означава изрично указано по време на превода). Във всеки случай командният формат IA-64 няма нищо общо с x86. Инструкциите x86 могат да варират от 8 до 108 бита на дължина и процесорът трябва да декодира всяка инструкция последователно след определяне на нейните граници.
Всеки 128-битов пакет съдържа шаблон с дължина няколко бита, поставен в него от компилатора, който казва на процесора кои инструкции могат да бъдат изпълнени паралелно. Сега процесорът няма да има нужда да анализира потока от инструкции по време на изпълнение, за да идентифицира „скрит паралелизъм“. Вместо това компилаторът открива наличието на паралелизъм и поставя информацията в програмния код. Всяка инструкция (както цяло число, така и с плаваща запетая) съдържа три 7-битови полета за регистър с общо предназначение (GPR). От това следва, че процесорите IA-64 съдържат 128 цели числа RON и 128 регистъра за изчисления с плаваща запетая. Всички те са достъпни за програмиста и са видими за програмиста регистри с произволен достъп. В сравнение с процесорите x86, които имат само осем цели числа RON и стек с дълбочина 8 за изчисления с плаваща запетая, IA-64 е много „по-широк“ и съответно ще бъде много по-малко вероятно да бъде неактивен поради
„липса на регистри“.
Компилаторите за IA-64 ще използват технологията "маркирана инструкция".
(предсказание), за да се премахнат загубите на производителност поради неправилно предвидени разклонения и необходимостта да се пропускат секции от код след разклонения. Когато процесорът срещне "маркирано" разклонение по време на изпълнение на програмата, той започва да изпълнява всички разклонения едновременно. След като бъде определен "истинският" клон, процесорът съхранява необходимите резултати и изхвърля останалите.
Компилаторите за IA-64 също ще сканират изходния код, за да търсят инструкции, които използват данни от паметта. След като намерят такава команда, те ще добавят няколко команди - команда за предварително зареждане (спекулативно зареждане) и проверка на зареждане (спекулативна проверка). По време на изпълнение на програмата, първата инструкция зарежда данни в паметта, преди програмата да има нужда от тях. Втората команда проверява дали изтеглянето е било успешно, преди да позволи на програмата да използва данните.
Предварителното извличане може да намали загубите на производителност поради забавяне на достъпа до паметта и също така да увеличи паралелността.

3. Характеристики на Alpha архитектурата на DEC

В момента фамилията микропроцесори Alpha е представена от няколко чипа, които имат различни диапазони на производителност, работят на различни тактови честоти и разсейват различна мощност. Първи на пазара се появи 64-битовият микропроцесор Alpha.
(DECchip 21064). Това е едночипов RISC процесор, който включва устройства за целочислена и плаваща аритметика, както и 16 KB кеш памет. Кристалът е проектиран, като се вземат предвид прилагането на усъвършенствани методи за повишаване на производителността, включително тръбопроводната организация на всички функционални устройства, едновременното издаване на няколко команди за изпълнение, както и средства за организиране на симетрична мултипроцесорна обработка. Чипът има два регистрационни файла, всеки
32 64-битови регистъра: един за цели числа, един за числа с плаваща запетая. За да се осигури съвместимост с архитектурите MIPS и VAX, архитектурата Alpha поддържа както аритметика с единична, така и двойна точност съгласно стандарта IEEE 754 и вътрешния VAX аритметичен стандарт на компанията. Най-мощният модел процесор, 21064, работи на 200 MHz. В края на 1993 г. се появи модернизирана версия на кристала - модел 21064A, който има двойно по-голяма кеш памет на кристала и работи на тактова честота 275 MHz.
След това бяха пуснати модели 21066 и 21068, работещи на честоти 166 и 66
MHz. Отличителна чертаТози клон на процесорите Alpha е вградена в чипа реализация на PCI шината. Това значително опростява и намалява цената както на проектирането, така и на производството на компютри. Отличителна черта на модел 21068 е ниската консумация на енергия (около 8 вата). Основното предназначение на тези два нови модела са персонални компютри и едноплаткови компютри. Фигура 3 показва блокова схема на микропроцесора
21066. Основните компоненти на този процесор са: кеш на инструкции, устройство за цели числа, устройство с плаваща запетая, устройство за зареждане/запис, кеш за данни, контролер на паметта и I/O контролер.

Кешът за инструкции е директно картографиран кеш с капацитет от
8 KB. Инструкциите, избрани от тази кеш памет, могат да бъдат издадени по двойки за изпълнение в едно от устройствата за изпълнение. Кешът за данни от 8 KB също така прилага директно картографиран кеш. Когато се извършва запис в паметта, данните се записват едновременно в този кеш и в буфера за запис. Контролерът на паметта или входно-изходният контролер на PCI шина управлява всички достъпи, които преминават през L1 кешовете на чипа. Контролерът на паметта първо проверява съдържанието на външния кеш от второ ниво, който е изграден на принципа на директното картографиране и прилага алгоритъм за мързеливо копиране при извършване на операции за запис. Когато се открие пропуск, контролерът осъществява достъп до основната памет, за да презареди съответните кеш линии. I/O контролерът на PCI шина управлява целия свързан с I/O трафик. Под управлението на централния процесор той извършва програмируеми входно-изходни операции. DMA трафикът на PCI шина се обработва от PCI контролера във връзка с контролера на паметта. Когато извършвате DMA операции за четене/запис, данните не се поставят в L2 кеша. Паметта и PCI интерфейсите са проектирани специално за еднопроцесорни конфигурации и не поддържат внедряването на многопроцесорни архитектури.
Фигура 4 показва пример за система, изградена върху микропроцесор
21066. В представената конфигурация контролерът на паметта има достъп както до статичната памет, която реализира кеша от второ ниво, така и до динамичната памет, върху която е изградена основната памет.
За съхраняване на етикети и данни в кеша от второ ниво се използват статични кристали на паметта с еднакво време за достъп за четене и запис.

Висока скорост PCI шинаима редица атрактивни свойства. В допълнение към възможността за работа с директен достъп до паметта и програмируем I/O, той позволява специални конфигурационни цикли, разширяемост до 64 бита, компоненти, работещи със захранващо напрежение
3.3 и 5 V, както и по-бърз клок. Основната реализация на PCI шина поддържа мултиплексиране на адреси и данни и работи на 33
MHz, осигуряващ максимална скорост на трансфер на данни от 132 MB/s. Автомобилна гума
PCI се управлява директно от микропроцесора. Фигура 4 показва някои високоскоростни периферни устройства: графични карти, SCSI контролери и мрежови адаптери, свързан директно към автобуса
PCI. ISA мостовият интерфейсен чип ви позволява да свържете към системата нискоскоростни устройства като модем, флоп и др. По-късно процесорът е заменен от модернизираната му версия. Подобно на своя предшественик, новата Alpha 21066A матрица, в допълнение към PCI интерфейса, съдържа интегриран контролер на паметта и графичен ускорител на матрицата. Тези характеристики могат значително да намалят разходите за внедряване на системи, базирани на Alpha 21066A, и да осигурят лесен и евтин достъп до външна памет и периферни устройства. Alpha 21066A има две модификации според честотата: 100 MHz и 233 MHz. Моделът на 233 MHz осигурява производителност съответно от 94 и 100 единици според тестовете
SPECint92 и SPECfp92. Микропроцесорът Alpha 21164 представлява втората изцяло нова реализация на архитектурата Alpha. Микропроцесорът 21164, представен през септември 1994 г., осигурява 330 и
500 единици съответно по скалите SPECint92 и SPECfp92 или около 1200
MIPS и изпълнява до четири инструкции на тактов цикъл. Микропроцесорният чип 21164 съдържа около 9,3 милиона транзистора, повечето от които формират кеша. Кристалът е изграден на базата на 0,5 микрона CMOS технология от DEC. Той е сглобен в 499-пинови PGA пакети (с 205 пина, предназначени за захранване и заземяване) и разсейва 50 W при захранващо напрежение от 3,3 V при 300 MHz.
Преходът към 0,35 микрона CMOS технология през 1996 г. доведе до възможността за по-нататъшно увеличаване на тактовата честота и производителността на процесора.
Процесорите 21164 бяха пуснати на 366 MHz (11.3 SPECint95,
15.4 SPECfp95) и 433 MHz (13.3 SPECint95, 18.3 SPECfp95). В края на 1996 г. започнаха масови доставки на 21164 с тактова честота 500 MHz (15.4
SPECint95, 21.1 SPECfp95). Така през 1996г DEC имаше най-мощните процесори с максимална производителност от 2 милиарда операции в секунда.

Ключови точки за изпълнение висока производителносте режим на суперскаларен процесор, който осигурява до четири инструкции на тактов цикъл, високопроизводителна неблокираща подсистема с памет с високоскоростен L1 кеш, голям L2 кеш в чипа и намалена латентност за операции във всички функционални устройства. Фигура 5 показва блокова диаграма на процесор, който включва пет функционални устройства: блок за управление на потока от инструкции (IBOX), блок за цяло число (EBOX) и блок с плаваща запетая.
(FBOX), модул за управление на паметта (MBOX) и блок за управление на кеша и шина (CBOX). Фигурата също така показва три кеша в чип. Кешът за инструкции и кешът за данни са основните кешове, които реализират директно картографиране.
Мултиасоциативният L2 кеш се използва за съхраняване на инструкции и данни. Дължината на тръбопроводите на процесора 21164 варира от
7 етапа за изпълнение на инструкции с цели числа и 9 етапа за изпълнение на инструкции с плаваща запетая, до 12 етапа за изпълнение на инструкции за достъп до паметта на чип и променлив брой етапи за изпълнение на инструкции за достъп до паметта извън чипа. Устройството за контрол на потока на инструкции извлича и декодира инструкции от кеша на инструкциите и ги насочва за изпълнение към подходящите единици за изпълнение, след като всички конфликти на регистри и функционални единици са разрешени.
Той контролира изпълнението на програмата и всички аспекти на обработката на изключения, капани и прекъсвания. В допълнение, той осигурява контрол на всички изпълнителни механизми, наблюдава всички вериги, заобикаляйки данните и записвайки в регистрационния файл. Контролното устройство съдържа 8 KB кеш за инструкции, вериги за предварително извличане на инструкции и свързания буфер за презареждане, схеми за предсказване на посоката на условно разклоняване и буфер за транслация на инструкции (ITB). Единицата за изпълнение на цели числа изпълнява инструкции с цели числа, изчислява виртуални адреси за всички инструкции за зареждане и запис, изпълнява инструкции за условно разклоняване на цели числа и всички други инструкции за управление. Той включва регистрационен файл и няколко функционални устройства, разположени на четири степени на два паралелни конвейера. Първият тръбопровод съдържа суматор, логическа операционна единица, превключвател и умножител. Вторият конвейер съдържа суматор, устройство за логически операции и устройство за изпълнение на команди за управление.

Устройството с плаваща запетая се състои от две конвейерни изпълнителни единици: конвейер за добавяне, който изпълнява всички инструкции с плаваща запетая, с изключение на инструкциите за умножение, и конвейер за умножение, който изпълнява инструкции за умножение с плаваща запетая. Два специални конвейера за зареждане и един конвейер за данни за запис позволяват инструкциите за зареждане/запис да се изпълняват успоредно с операции с плаваща запетая.
Всички режими на закръгляване, предоставени от стандартите, се поддържат хардуерно
IEEE и VAX.

Устройството за управление на паметта изпълнява всички команди за зареждане, запис и синхронизиране на бариери. Той съдържа напълно асоциативен 64-редов буфер за преобразуване на адреси (DTB), 8 KB директно картографиран кеш за данни, файл с пропускащ адрес и буфер за запис. Дължината на линията на кеша за данни е 32 байта, има два порта за четене и е реализирана на базата на запис. Той се индексира с физически адресни битове и физическите адреси се съхраняват в тагове. Устройството за управление на паметта може да получи до два виртуални адреса от цяло числово устройство във всеки тактов цикъл. DTB също има два порта, така че може да извършва две преводи на виртуални във физически адреси едновременно. Инструкциите за зареждане имат достъп до кеша за данни и връщат резултата в регистрационния файл, ако се появят. В този случай забавянето е два такта. При пропуск физическите адреси се изпращат до файла с адреси на пропуски, където се буферират и изчакват достъпът до L2 кеша да завърши.
Командите за запис записват данни в кеша за данни при попадение и винаги поставят данните в буфера за запис, където чакат да бъдат достъпни от L2 кеша. Отличителна черта на микропроцесора 21164 е разполагането в чипа на вторичен триканален многоасоциативен кеш с капацитет 96 KB. Вторичният кеш рязко намалява броя на достъпите до външната шина на микропроцесора. В допълнение към вторичния кеш в чипа се поддържа работа с външен кеш от трето ниво.

Комбинацията от голям брой изчислителни устройства, по-бързо изпълнение на операции с плаваща запетая (четири тактови цикъла вместо шест), повече бърз достъпкъм първичния кеш (два тактови цикъла вместо три) осигури на този микропроцесор рекордна производителност за това време.

4. Характеристики на POWER архитектурата на фирмите IBM и PowerPC

Motorola, Apple и IBM.

Както вече беше отбелязано, един от разработчиците на фундаменталната концепция на RISC архитектурата беше Джон Кук от изследователския център на IBM. Watson, който в средата на 70-те години провежда изследвания в тази посока и създава миникомпютъра IBM 801, който така и не излиза на пазара. По-нататъшното развитие на тези идеи в IBM беше отразено в развитието на POWER архитектурата в края на 80-те години. POWER архитектура
(и неговите поддиректории POWER2 и PowerPC) в момента са в основата на фамилията работни станции и сървъри RISC System /6000 на IBM.
Развитието на архитектурата IBM 801 в посока POWER върви в следните посоки: внедряване на концепцията за суперскаларна обработка, подобряване на архитектурата като целеви обекткомпилатори, намаляване на дължината на конвейера и времето за изпълнение на инструкциите и, накрая, приоритизиране на ефективното изпълнение на операции с плаваща запетая.
POWER архитектура

Архитектурата POWER е в много отношения традиционна RISC архитектура. Той се придържа към най-важните отличителни характеристики на RISC: фиксирана дължина на инструкциите, архитектура от регистър към регистър, прости начиниадресиране, прости (неизискващи тълкуване) инструкции, голям регистърен файл и три операнда
(неразрушителен) команден формат. Архитектурата POWER обаче също има няколко допълнителни свойства, които я отличават от другите RISC архитектури.

Първо, наборът от инструкции се основава на идеята за суперскаларна обработка.
В основната архитектура командите са разпределени между три независими единици за изпълнение: единица за разклонение, единица с фиксирана запетая и единица с плаваща запетая. Командите могат да се изпращат до всяко от тези устройства едновременно, където те могат да се изпълняват едновременно и в крайна сметка да не работят. За да се увеличи нивото на паралелизъм, което може да бъде постигнато на практика, архитектурата на набора от инструкции дефинира независим набор от регистри за всяко устройство. Това минимизира необходимите комуникации и синхронизация между устройствата, като по този начин позволява на изпълнителните модули да се приспособят към динамична комбинация от команди. Всяка комуникация на данни, необходима между устройствата, трябва да бъде анализирана от компилатора, който може да я планира ефективно. Трябва да се отбележи, че това е само концептуален модел. Всеки даден процесор с архитектура POWER може да третира всяко от концептуалните устройства като множество изпълнителни единици, за да поддържа допълнителен паралелизъм на инструкциите. Но съществуването на модела води до последователен дизайн на набор от инструкции, който естествено поддържа степен на паралелизъм от поне три.

Второ, POWER архитектурата е разширена с няколко "смесени" инструкции за намаляване на времето за изпълнение. Може би единственият недостатък на RISC технологията в сравнение с CISC е, че понякога използва голямо количествокоманди за изпълнение на същата задача. Установено е, че в много случаи увеличаването на размера на кода може да бъде избегнато чрез леко разширяване на набора от инструкции, което не означава връщане към сложни инструкции като CISC. Например, значителна част от увеличението на кода беше намерено в кода на пролога и епилога, свързан със записването и възстановяването на регистри по време на извиквания на процедури. За да елиминира този фактор, IBM въведе командите
"пакетно зареждане и запис", което позволява множество регистри да бъдат преместени към/от паметта с помощта на една инструкция. Конвенциите за обвързване, използвани от компилаторите на POWER, разглеждат задачи за планиране, споделени библиотеки и динамично свързванекато прост, унифициран механизъм. Това беше направено чрез индиректно адресиране чрез съдържание (TOC - Table Of Contents), което се променя по време на зареждане. Командите за групово зареждане и запис бяха важен елемент от тези комуникационни конвенции.

Друг пример за смесени инструкции е възможността за модифициране на основния регистър с новоизчислен ефективен адрес при извършване на операции за зареждане или запис (аналогично на автоматично инкрементално адресиране). Тези команди премахват необходимостта от изпълнение на допълнителни команди за добавяне, които иначе биха били необходими за увеличаване на индекса при достъп до масиви. Въпреки че това е хибридна операция, тя не пречи на работата на традиционен RISC тръбопровод, тъй като модифицираният адрес вече е изчислен и портът за запис на регистрационен файл е свободен, докато чака операция с памет.

Архитектурата POWER също така предоставя няколко други начина за намаляване на времето за изпълнение на инструкцията, като например: обширен набор от инструкции за манипулиране на битови полета, смесени инструкции за умножение и добавяне с плаваща запетая, настройка на регистър на условието като страничен ефект от нормалното изпълнение на инструкция и низ инструкции за зареждане и запис (които работят).с произволно подредени низове от байтове).

Третият фактор, който отличава POWER архитектурата от много други
В RISC архитектурите липсва механизъм за „забавен преход“.
Обикновено този механизъм гарантира, че инструкцията, следваща инструкцията за условно разклоняване, се изпълнява преди самото разклоняване. Този механизъм работи ефективно в ранните RISC машини, за да запълни "балона", който се появява при оценка на условията за избор на посока на разклоняване и извличане на нов поток от инструкции. Въпреки това, при по-напреднали, суперскаларни машини, този механизъм може да е неефективен, тъй като един цикъл на забавяне на инструкция за разклоняване може да доведе до множество мехурчета, които не могат да бъдат покрити от един слот за архитектурно забавяне. Почти всички такива машини, за да елиминират влиянието на тези "балони", са принудени да въведат допълнителен хардуер (например кеш адрес на клон). В такива машини механизмът за забавен преход не само става неефективен, но също така въвежда значителна сложност в логиката за обработка на последователност от команди. Вместо това преходната архитектура POWER беше организирана, за да поддържа " предварителен прегледусловни преходи" (branch-lockahead) и техниката на "сгъваеми преходи" (branch-folding).

Методика за реализиране на условни скокове, използвани в архитектурата
POWER е четвъртата уникална характеристика в сравнение с други RISC процесори. Архитектурата POWER дефинира разширени свойства на регистъра на условията. Проблемът с архитектурите с традиционен регистър на условията е, че задаването на условни битове като страничен ефект от изпълнението на инструкцията поставя сериозни ограничения върху способността на компилатора да променя реда на инструкциите. Освен това регистърът на условията е единственият архитектурен ресурс, който създава сериозно затруднение в машина, която изпълнява множество инструкции паралелно или изпълнява инструкции в нередовен ред в реда, в който се появяват в програмата. Някои RISC архитектури заобикалят този проблем, като елиминират изцяло регистъра на условията и изискват кодът на условието да бъде зададен с помощта на инструкции за сравнение в регистър с общо предназначение или чрез включване на операцията за сравнение в самата инструкция за прескачане. Последният подход потенциално претоварва командния конвейер при извършване на разклонение. Следователно, архитектурата POWER, вместо да коригира проблемите, свързани с традиционния подход на регистъра на условията, предлага: а) наличието на специален бит в кода на операцията на всяка инструкция, която прави модификация на регистъра на условията допълнителна възможност, и по този начин възстановява способността на компилатора да преработи кода, и б) множество (осем) регистри на условия, за да заобиколи проблема с единичен ресурс и да предостави повече имена на регистри на условия, така че компилаторът да може да разпределя и разпределя ресурси на регистър на условия, както прави за универсален регистри.

Друга причина за избора на модела на разширения регистър на условията е, че той е в съответствие с организацията на машината под формата на независими изпълнителни механизми. Концептуално регистърът на условията е локален за преходното устройство. Следователно, за да се оцени посоката на изпълнение на условно разклоняване, не е необходимо да се осъществява достъп до файла с универсален регистър (който е локален за устройството с фиксирана точка). До степента, в която компилаторът може предварително да планира модификацията на кода на условието (и/или предварително да зареди адресни регистри за прескачане), хардуерът може предварително да прегледа и свие условните разклонения, като ги отдели от потока от инструкции. Това освобождава времеви интервал (цикъл) за издаване на команда в конвейера, обикновено зает от команда за прескачане, и позволява на командния мениджър да създаде непрекъснат линеен поток от команди за изчислителни задвижващи механизми.

Първата реализация на архитектурата POWER се появи на пазара през 1990 г. Оттогава IBM представи още две версии на процесорите POWER2 и POWER2+, които осигуряват поддръжка за L2 кеш и разширен набор от инструкции.

Според IBM процесорът POWER изисква по-малко от един тактов цикъл, за да изпълни една инструкция, в сравнение с приблизително 1,25 цикъла за процесора
Motorola 68040, 1,45 тактови цикъла за SPARC процесор, 1,8 тактови цикъла за Intel i486DX и
1.8 часовник Hewlett-Packard PA-RISC. Тактовата честота на архитектурната серия, в зависимост от модела, варира от 25 MHz до 62 MHz.

Процесорите POWER работят на 33, 41.6, 45, 50 и 62.5 MHz.
Архитектурата POWER включва отделни кешове за команди и данни (с изключение на работни станции и сървъри на работни групи) начално ниво, които имат внедряване на процесор POWER с един чип и споделен кеш за инструкции и данни), 64- или 128-битова шина на паметта и 52-битов виртуален адрес. Освен това има интегриран процесор с плаваща запетая и по този начин е много подходящ за изчислително интензивни приложения, типични за технически среди, въпреки че настоящата стратегия
RS/6000 е насочен както към търговски, така и към технически приложения.
RS/6000 показва добра производителност с плаваща запетая: 134.6
SPECp92 за POWERstation/Powerserver 580. Това е по-малко от нивото на моделите
Hewlett-Packard 9000 Series 800 G/H/I-50, които достигат 150
SPECfp92.

За реализиране на бърза I/O обработка, POWER архитектурата използва Micro Channel bus с честотна лента от 40 или 80
MB/сек. Шината Micro Channel включва 64-битова шина за данни и осигурява поддръжка за множество адаптери на хост шина. Тази поддръжка позволява мрежови контролери, видео адаптери и други интелигентни устройства предават информация по шината независимо от главния процесор, което намалява натоварването на процесора и съответно повишава производителността на системата.
Мултичиповият комплект POWER2 се състои от осем полу-персонализирани чипа
(устройства):
Instruction cache unit (ICU) - 32 KB, има два порта със 128-битови шини;
Целочислена аритметична единица (FXU) - съдържа два целочислени конвейера и два регистрови блока с общо предназначение (32 32-битови регистъра всеки). Извършва всички цели и логически операции, както и всички операции за достъп до паметта;
Floating Point Unit (FPU) - съдържа два конвейера за извършване на операции с плаваща запетая с двойна точност, както и 54 64-битови регистъра с плаваща запетая;
Четири блока кеш данни - максималният L1 кеш е 256 KB. Всеки блок има два порта. Устройството също така реализира редица функции за откриване и коригиране на грешки при взаимодействие със системата за памет;
Модул за управление на паметта (MMU).

Комплектът матрици POWER2 съдържа приблизително 23 милиона транзистора на площ от 1217 квадратни мм и е произведен с помощта на CMOS технология със стандарти за проектиране от 0,45 микрона. Разсейването на мощността при 66,5 MHz е
65 W.

Производителността на процесора POWER2 е значително повишена в сравнение с POWER: при тактова честота от 71,5 MHz той достига 131 SPECint92 и 274
SPECfp92.

Еволюция на POWER архитектурата към PowerPC архитектурата

IBM разширява мощта на POWER архитектурата към малки системи с PowerPC платформата. Архитектурата POWER в тази форма може да осигури нива на производителност и скалируемост, които надхвърлят възможностите на днешните персонални компютри. PowerPC е базиран на платформата RS/6000 в евтина конфигурация. В архитектурно отношение основните разлики между тези две разработки са само в това, че PowerPC системите използват едночипово изпълнение на POWER архитектурата, произведена от Motorola, докато повечето системи
RS/6000 използва многочипова реализация. Съществуват няколко варианта на PowerPC процесора, които отговарят на нуждите на преносими продукти и настолни работни станции, но това не изключва възможността за използване на тези процесори в по-големи системи. Процесорът 601 беше обявен за първи на пазара, предназначен за използване в настолни работни станции на компании
IBM и Apple. Той беше последван от матриците 603 за преносими и настолни системи от начално ниво и матриците 604 за настолни системи от висок клас. И накрая, процесорът 620 е проектиран специално за сървърни конфигурации и със своята 64-битова организация се очаква да осигури изключителни високо нивопроизводителност.

При проектирането на архитектурата на PowerPC, за да отговори на нуждите на три различни компании(Apple, IBM и Motorola) при запазване на съвместимостта с RS/6000 бяха направени няколко промени в архитектурата POWER в следните насоки: опростяване на архитектурата, за да се адаптира към внедряването на евтини едночипови процесори; премахване на команди, които могат да се превърнат в пречка за увеличаване на тактовата честота; елиминиране на архитектурни бариери пред суперскаларна обработка и извънредно изпълнение на инструкции; добавяне на функции, необходими за поддържане на симетрична мултипроцесорност; добавяне на нови функции, считани за необходими за бъдещи приложения; ясно определяне на разделителната линия между „архитектура“ и „изпълнение“; осигуряване на дълъг живот на архитектурата чрез разширяването й до 64-битова.

Първият PowerPC микропроцесор, PowerPC 601, в момента се произвежда от IBM и Motorola. Това е процесор от среден клас, предназначен за използване в настолни компютърни системи с ниска до средна цена. Той е проектиран като преходен модел от архитектурата POWER към
PowerPC и реализира възможностите и на двете архитектури. В този случай двоични кодове
RS/6000 работи на него непроменен, като дава допълнително време на разработчиците на компилатори да овладеят архитектурата на PowerPC, както и на разработчиците на приложения, които трябва да прекомпилират своите програми, за да се възползват напълно от архитектурата на PowerPC.

Процесорът 601 е базиран на едночипов процесор от IBM, който е разработен по време на създаването на алианса на трите водещи компании. Но в сравнение със своя предшественик, PowerPC 601 претърпя големи промени за подобряване на производителността и намаляване на разходите.
Например, той включваше по-сложно преходно устройство, подобрено с многопроцесорни възможности, включително шинния интерфейс на високопроизводителния 88110 процесор Motorola. Power 601 реализира суперскаларна обработка, която позволява да бъдат издадени 3 команди за изпълнение във всеки тактов цикъл, вероятно не в реда, в който са разположени в програмния код.

PowerPC 603 процесор

PowerPC 603 е първият микропроцесор от фамилията PowerPC, който напълно поддържа PowerPC архитектурата (Фигура 6). Той включва пет функционални устройства: устройство за прескачане, устройство за целочислено число, устройство с плаваща запетая, устройство за зареждане/запис и устройство за системен регистър, както и две 8 KB инструкции на чип и кеша за данни. Тъй като PowerPC 603 е суперскаларен микропроцесор, той може да издава и изпълнява до три инструкции на тактов цикъл към тези изпълнителни единици. За да увеличи производителността, PowerPC 603 позволява извънредно изпълнение на команди. В допълнение, той предоставя програмируеми режими за намаляване на мощността, които дават на системните дизайнери гъвкавостта да прилагат различни технологии за управление на мощността.

Когато се обработват в процесора, командите се разпределят между пет изпълнителни устройства в реда, определен от програмата. Ако няма зависимости на операнд, изпълнението се извършва незабавно. Едно цяло числово устройство изпълнява повечето инструкции за един такт. Устройство с плаваща запетая е конвейерно и изпълнява операции с плаваща запетая с единична и двойна точност. Командите за условен скок се обработват в устройството за скок. Ако условията за преход са налични, тогава решението за посоката на прехода се взема незабавно, в противен случай изпълнението на следващите инструкции продължава по предположение (спекулативно).
Командите, които променят състоянието на контролните регистри на процесора, се изпълняват от устройството за системен регистър. И накрая, трансферите на данни между кеша за данни от една страна и регистрите с общо предназначение и с плаваща запетая от друга страна се обработват от устройството за зареждане/запис.

В случай на пропуск в кеша, основната памет се осъществява чрез 64-битова високопроизводителна шина, подобна на микропроцесорната шина MC88110. За да се увеличи максимално пропускателната способност и по този начин общата производителност, кешът комуникира с основната памет предимно чрез групови операции, които позволяват редът на кеша да бъде попълнен в една транзакция.

След като дадена команда завърши изпълнението в устройството за изпълнение, нейните резултати се изпращат до буфера за завършване на командата (буфер за завършване) и след това последователно се записват в съответния регистърен файл, докато командите се премахват от буфера за завършване. За да се сведат до минимум конфликтите в регистрите, процесорът PowerPC 603 предоставя отделни комплекти от 32 регистъра за цяло число с общо предназначение и 32 регистъра с плаваща запетая.
PowerPC 604

Суперскаларният процесор PowerPC 604 осигурява едновременно издаване на до четири инструкции. В този случай до шест команди могат да бъдат изпълнени паралелно във всеки цикъл. Фигура 5.21 показва блокова диаграма на процесор 604. Процесорът включва шест изпълнителни единици, които могат да работят паралелно: единица с плаваща запетая (FPU); блок за изпълнение на клонове (BPU); единица за зареждане/запис (LSU); три цели единици (IU): две едноциклични целочислени единици (SCIU); една многоциклична целочислена единица (MCIU).

Този паралелен дизайн, комбиниран със спецификацията на инструкцията
PowerPC, който позволява ускорено изпълнение на инструкции, осигурява висока ефективност и висока производителност на процесора.
Буферите за преименуване на регистъра на 604, буферните станции за резервиране, динамичното условно предсказване на посоката на разклоняване и устройствата за завършване на инструкции значително увеличават пропускателната способност на системата, осигуряват завършване на инструкциите в реда, предписан от програмата, и осигуряват прецизен модел на прекъсване.

Процесорът 604 има отделни устройства за управление на паметта и отделни 16 KB вътрешни инструкции и кешове за данни. Той внедрява два буфера за транслация на виртуални адреси към физически TLB
(отделно за команди и за данни), съдържащи по 128 реда. И двата буфера са двуканални набор-асоциативни и предоставят страници с виртуална памет с променлив размер. Кешът и TLB буферите използват алгоритъма LRU за замяна на блокове.

Процесорът 604 има 64-битова външна шина за данни и 32-битова адресна шина. Протоколът за интерфейс на процесора 604 позволява на множество главни главни шини да се конкурират за системни ресурси в присъствието на централизиран външен арбитър. В допълнение, логиката за наблюдение на вътрешната шина поддържа кохерентността на кеша в многопроцесорни конфигурации. Процесорът 604 осигурява както единични, така и групови трансфери на данни при достъп до основната памет.

До края на 1995 г. се очаква нов процесор PowerPC 620.
За разлика от своите предшественици, той ще бъде изцяло 64-битов процесор. Когато работи на тактова честота от 133 MHz, неговата производителност е оценена на 225 SPECint92 единици и 300 SPECfp92 единици, което е съответно с 40 и 100% повече от процесора PowerPC 604.

Подобно на други 64-битови процесори, PowerPC 620 съдържа 64-битови регистри с общо предназначение и с плаваща запетая и осигурява 64-битови виртуални адреси. В същото време се запазва съвместимостта с 32-битовия режим на работа, внедрен в други модели от семейството PowerPC.

Процесорът разполага с кеш памет за данни и инструкции с общ капацитет 64
KB, интерфейсни схеми за управление на кеша от второ ниво, 128-битова шина за данни между процесора и основната памет, както и логически схеми за поддържане на кохерентно състояние на паметта при организиране на многопроцесорна система.

Процесорът PowerPC 620 е насочен към пазара на високопроизводителни работни станции и сървъри.

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

4. Характеристики на MIPS архитектурата от MIPS Technology

Архитектурата MIPS беше една от първите RISC архитектури, които получиха приемане в индустрията. Обявен е през 1986 г.
Първоначално беше напълно 32-битова архитектура, която включваше
32 регистъра с общо предназначение, 16 регистъра с плаваща запетая и специална двойка регистри за съхраняване на резултатите от операциите за умножение и деление на цели числа. Размерът на инструкцията беше 32 бита, поддържаше само един метод на адресиране и потребителското адресно пространство също беше дефинирано от 32 бита. Изпълнението на аритметичните операции се регулира от стандарта IEEE 754. В компютърната индустрия 32-битовите процесори R2000 и R3000 станаха широко популярни, които дълго време послужиха като основа за изграждането на работни станции и сървъри от Silicon Graphics, Фирми Digital и Siemens
Nixdorf и др. Процесорите R3000/R3010 работеха на тактова честота от 33 или 40
MHz и осигури производителност при 20 SPECint92 и 23 SPECfp92.

Тогава микропроцесорите от семейството R3000 бяха заменени от нови 64-битови микропроцесори R4000 и R4400. (MIPS Technology беше първата компания, която пусна процесори с 64-битова архитектура). Наборът от инструкции на тези процесори (спецификация MIPS II) беше разширен, за да включва 64-битови инструкции за зареждане и запис с плаваща запетая, инструкции за квадратен корен с единична и двойна точност, инструкции за условно прекъсване и атомарни операции, необходими за поддържане на многопроцесорни конфигурации. Процесорите R4000 и R4400 разполагат с 64-битови шини за данни и 64-битови регистри. Тези процесори използват метод за удвояване на вътрешната тактова честота.

Процесорите R2000 и R3000 имаха стандартни петстепенни конвейери за инструкции. Процесорите R4000 и R4400 използват по-дълги конвейери
(понякога наричани супертръбопроводи). Брой етапи в процесорите
R4000 и R4400 са се увеличили до осем, което се обяснява предимно с увеличаване на тактовата честота и необходимостта от разпределение на логиката, за да се осигури дадена производителност на тръбопровода. Процесорът R4000 може да работи на тактова честота 50/100 MHz и осигурява нива на производителност от 58 SPECint92 и 61 SPECfp92. Процесорът R4400 може да работи на 50/100 MHz или 75/150 MHz, осигурявайки нива на производителност от 94 SPECint92 и 105 SPECfp92.

Вътрешната кеш памет на процесора R4000 е с капацитет 16 KB. Той е разделен на 8-KB кеш за инструкции и 8-KB кеш за данни. По отношение на внедряването на кеш памет, процесорът R4400 има по-разширени възможности. Предлага се в три модификации: PC (Primary Cashe) - има вътрешен кеш за команди и данни с капацитет 16 KB. Процесор в тази конфигурация е предназначен предимно за евтини модели работни станции. SC (Secondary Cashe) съдържа логиката за управление на кеша от второ ниво. MC (Мултипроцесор
Cashe) - използва специални алгоритми за осигуряване на кохерентност и последователно състояние на паметта за многопроцесорни конфигурации.

В средата на 1994 г. MIPS обяви процесора R8000, който беше насочен предимно към научни приложения с интензивно използване на плаваща запетая. Този процесор е изграден върху два чипа (предлага се като сборка с множество чипове) и представлява първото суперскаларно изпълнение на MIPS архитектурата.
Теоретична пикова производителност на процесора при 75 тактова честота
MHz е 300 MFLOPs (до четири инструкции и шест операции с плаваща запетая във всеки тактов цикъл). Внедряване на голям кеш за данни с капацитет 16
MB, висока пропускателна способност за достъп до данни (до 1,2 GB/s), комбинирана с висока скоростоперации позволява на R8000 да постигне
75% теоретична производителност дори при решаване на големи проблеми като
LINPACK с размери на матрицата 1000x1000 елемента. Хардуерната поддръжка за кохерентност на кеша, заедно с инструментите за паралелизиране на компилатора, прави възможно изграждането на високопроизводителни симетрични многопроцесорни системи. Например процесорите R8000 се използват в системата Power Challenge на Silicon
Графиката, която лесно може да се сравни по производителност с добре познатите суперкомпютри Cray Y-MP, има порядък по-ниска цена и поставя значително по-ниски изисквания към подсистемите за захранване и охлаждане. В еднопроцесорна версия тази система осигурява производителност от 310 SPECfp92 и 265 MFLOP на пакета LINPACK
(1000x1000).

През 1994 г. MIPS Technology също обяви създаването на своя нов суперскаларен процесор, R10000. Технологията MIPS R10000 осигурява пикова производителност от 800 MIPS, когато работи на вътрешна тактова честота от 200 MHz, като издава четири инструкции на тактов цикъл. В същото време осигурява обмен на данни с кеша от второ ниво със скорост от 3,2 GB/s.

Ориз. 8. Блокова схема на микропроцесор R10000

Йерархия на паметта

По време на разработването на процесора R10000 беше обърнато много внимание на ефективното внедряване на йерархията на паметта. Той осигурява ранно откриване на пропуски в кеша и паралелно презареждане на редове, докато друг полезна работа. Кешовете в чипа поддържат едновременно извличане на инструкции, команди за зареждане и запис в паметта и операции за презареждане на кеш линия.
Попълването на редовете на кеша се извършва на принципа „първо заявената дума“, което може значително да намали времето за престой на процесора поради изчакване на необходимата информация. Всички кешове имат двуканална мултиасоциативна организация с алгоритъм за заместване на LRU.

Кеш данни от ниво 1

L1 кеша за данни на R10000 има капацитет от 32
KB и е организирана под формата на две еднакви банки с капацитет 16 KB, което осигурява двойно наслояване при достъп до тази кеш памет. Всяка банка е двуканален набор-асоциативен кеш с размер на ред (блок) от 32 байта. Кешът за данни се индексира от виртуален адрес и съхранява маркери за адрес на физическа памет. Този метод на индексиране ви позволява да изберете подмножество от кеш паметта в същия тактов цикъл, в който се формира виртуалният адрес. Въпреки това, за да се поддържа кохерентност с L2 кеша, L1 кешът съхранява маркери за адреси на физическа памет.

Масивите от данни и тагове във всяка банка са независими. Тези четири масива работят под общ контрол на опашката за генериране на адреси на паметта и външните интерфейсни вериги на чипа. Адресната опашка може да съдържа до 16 команди за зареждане и запис едновременно, които се обработват в четири отделни конвейера. Командите от тази опашка се подават динамично за изпълнение в специален конвейер, който осигурява изчисляването на изпълнителния виртуален адрес и преобразуването на този адрес във физически. Три други паралелни конвейера могат едновременно да извършват проверка на тагове, препращане на данни за команди за зареждане и пълни команди за запис в паметта. Въпреки че инструкциите се изпълняват в строг ред на паметта, изчисляването на адреса и прехвърлянето на данни за инструкциите за зареждане може да възникнат неправилно. Вградените предни вериги на чипа могат да извършват операции за попълване на редове в кеша, копиране или операции за търсене на етикети. Тази паралелна работа на повечето процесорни устройства позволява на R10000 ефективно да изпълнява многопроцесорни приложения в реалния свят.

Тръбопроводите за кеширане на данни са тясно координирани. Например, командите за зареждане могат да извършват проверка на тагове и четене на данни в същия часовников цикъл като превода на адреси. Командите за запис незабавно започват да проверяват тагове, за да подканят необходимия ред да бъде попълнен от L2 кеша възможно най-скоро, но действителното записване на данни в кеша се забавя, докато самата команда за запис стане най-старата команда в общата опашка за изпълнение. и ще й бъде позволено да запише резултата си („освободен“).
Пропуск в L1 кеша за данни задейства процеса на попълване на ред от L2 кеша. Когато се изпълняват команди за зареждане, докато редът на кеша се запълва, данните могат да бъдат заобиколени в регистрационния файл.

Ако се открие пропуск при достъп до кеша за данни, неговата работа не се блокира, т.е. може да продължи да обслужва бъдещи заявки.
Това е особено полезно за намаляване на такъв важен показател за качеството на внедрената архитектура като средния брой тактови цикли на инструкция (CPI). Фигура 5.14 показва резултатите от симулирането на работата на R10000 с помощта на няколко програми в тестовия пакет SPEC.
За всеки тест се дават два резултата: с кеш данни, заключен при открит пропуск (отгоре) и действителната стойност на CPI R10000 (отдолу).
По-тъмната област вдясно представлява загубено време поради пропуски в кеша. Най-горният резултат представлява общата латентност, ако всички операции за презареждане на кеша са извършени строго последователно. По този начин стрелката представлява загубата на време, която възниква в заключения кеш. Ефектът от използването на неблокиращ кеш зависи до голяма степен от характеристиките на самите програми. За малки тестове, чиито работни комплекти се побират изцяло в L1 кеша, този ефект не е голям. Въпреки това, за по-реалистични програми като теста tomcatv или теста за компресиране с тежък кеш, печалбата е значителна.

L2 кеш памет

L2 кеш интерфейсът на процесора R10000 поддържа
128-битова магистрала за данни, която може да работи на тактова честота до 200 MHz, осигуряваща скорост на трансфер до 3,2 GB/s (за намаляване на изискванията за скорост на чиповете памет, възможността за разделяне на честотата с фактори от 1.5, 2, 2.5 и 3 също са предоставени). Всички стандартни синхронни контролни сигнали за статична памет се генерират вътрешно от процесора. Не са необходими външни интерфейсни схеми. Минималният размер на кеша от второ ниво е 512 KB, максималният размер е 16 MB. Размерът на реда на този кеш е програмируем и може да бъде 64 или 128 байта.

Един от методите за подобряване на времето на кеш паметта е изграждането на псевдо-множествена асоциативна кеш памет. Този кеш има честота на пропуски, подобна на тази на набор-асоциативна памет и време за извличане на попадение, подобно на кеш с директно картографиране. Кеш паметта на R10000 е организирана точно по този начин, като за нейната реализация се използват стандартни синхронни чипове с памет (SRAM). Един и същ чипсет на паметта съдържа и двата кеш канала. Информацията за честотата на използване на тези канали се съхранява в схемите за управление на кеша на процесорния чип.
Следователно, след откриване на пропуск в основния кеш, два реда от четири думи се четат от най-често използвания вторичен кеш канал.
Техните тагове се четат заедно с първия ред от четири думи, а таговете на алтернативния канал се четат заедно с втория ред от четири думи (това се прави чрез просто обръщане на най-значимия бит от адреса).

В този случай са възможни три случая. Ако възникне попадение на първия канал, данните са достъпни незабавно. Ако има попадение в алтернативния канал, вторичният кеш се чете отново. Ако има пропуск и на двата канала, вторичният кеш трябва да се запълни отново от основната памет.

За да се гарантира целостта на данните в кешове с голям капацитет, обичайна практика е да се използват единични кодове за коригиране на грешки (ECC). R10000 съхранява 9-битов ECC код и бит за паритет с всеки ред от четири думи. Допълнителният бит за паритет намалява забавянето, тъй като проверките за паритет могат да се извършват много бързо, за да се предотврати използването на невалидни данни. В този случай, ако бъде открита поправима грешка, отчитането се повтаря чрез специален тръбопровод за коригиране на грешки с натискане и изтегляне.

Кеш инструкции

Вътрешният двуканален кеш с множество асоциативни инструкции е 32 KB. При зареждането му командите се декодират частично. В този случай към всяка команда се добавят 4 допълнителни бита, които показват изпълнителното устройство, в което тя ще бъде изпълнена. Така инструкциите се съхраняват в кеш паметта в 36-битов формат. Размерът на реда на кеша за инструкции е 64 байта.

Обработване на команди за прескачане

При прилагане на конвейерна обработка възникват ситуации, които възпрепятстват изпълнението на следващата команда от командния поток в предвидения за нея тактов цикъл. Такива ситуации се наричат ​​конфликти.
Конфликтите намаляват действителната производителност на тръбопровода, което може да се постигне в идеалния случай. Един от видовете конфликти, с които проектантите на високопроизводителни процесори трябва да се справят, са контролните конфликти, които възникват при конвейерни инструкции за прескачане и други инструкции, които променят стойността на програмния брояч.

Контролните конфликти могат да причинят дори по-големи загуби на производителност на суперскаларен процесор, отколкото конфликтите на данни. Според статистиката сред командите за управление, които променят стойността на програмния брояч, преобладават командите за условен преход. По този начин намаляването на загубата от условни разклонения става критичен проблем. Има няколко техники за намаляване на спиранията на тръбопровода, които възникват поради закъснения при изпълнение на условни разклонения. Процесорът R10000 използва два от най-мощните метода за динамично оптимизиране на изпълнението на условно разклоняване: хардуерно предсказване на посоката на условно разклоняване и
„изпълнение по предположение“ (спекулация).

Модулът за прескачане на процесора R10000 може да декодира и изпълни само една инструкция за прескачане на тактов цикъл. Тъй като всяка инструкция за разклоняване е последвана от слот за забавяне, максимум две инструкции за разклоняване могат да бъдат извлечени едновременно, но само една по-ранна инструкция за разклоняване може да бъде декодирана в даден момент. По време на декодирането на инструкцията към всяка инструкция се добавя бит флаг за разклоняване.
Тези битове се използват за маркиране на инструкции за разклоняване в конвейера за извличане на инструкции.

Посоката на условния преход се прогнозира с помощта на специална памет (таблица с история на разклоненията) с капацитет 512 реда, която съхранява историята на минали преходи. Тази таблица е достъпна с помощта на адреса на инструкцията по време на извличане. Двубитовият код за прогнозиране в тази памет се актуализира всеки път, когато се вземе окончателно решение за посоката на прехода. Симулациите показват, че точността на двубитовата схема за прогнозиране за SPEC бенчмарка е 87%.

Всички команди, избрани след командата за условно разклоняване, се считат за изпълнени по предположение (условно). Това означава, че в момента на тяхното извличане не се знае предварително дали изпълнението им ще приключи.
Процесорът позволява предварителна обработка и предсказване на посоката на четири условни инструкции за разклоняване, които могат да бъдат разрешени във всякакъв ред. В този случай, за всяка инструкция за условно прескачане, изпълнена чрез предположение, информацията, необходима за възстановяване на състоянието на процесора в случай, че посоката на прехода е предвидена неправилно, се записва в специален стек за преход. Преходният стек има дълбочина от 4 елемента и позволява, ако е необходимо, бързо и ефективно (в един такт) да възстанови тръбопровода.

Структура на опашката с команди

Процесорът R10000 съдържа три командни опашки (буфери) (цялочислена командна опашка, командна опашка с плаваща запетая и адресна опашка).
Тези три опашки динамично издават команди към съответните изпълнителни механизми. С всяка команда в опашката се съхранява команден етикет, който се придвижва с командата по етапите на конвейера.
Всяка опашка динамично планира потока от инструкции и може да определи кога операндите, необходими за изпълнение на всяка инструкция, стават налични. В допълнение, опашката определя реда, в който се изпълняват командите въз основа на анализ на състоянието на съответните изпълнителни механизми. Веднага след като ресурсът е свободен, опашката издава команда към съответното изпълнително устройство.

Целочислена опашка от команди

Опашката с целочислени команди съдържа 16 реда и издава команди към две аритметични логически устройства. Целочислените команди пристигат в свободните редове на тази опашка и във всеки цикъл могат да бъдат записани до 4 команди. Инструкциите за цели числа остават в опашката, докато не бъдат издадени към едно от ALU.

Опашка от команди с плаваща запетая

Опашката с команди с плаваща запетая също съдържа 16 реда и издава команди към изпълнителните механизми за събиране и умножение с плаваща запетая. Командите с плаваща запетая се изпращат до свободните редове на опашката и във всеки цикъл могат да бъдат записани до 4 команди. Командите остават в опашката, докато не бъдат издадени към някое от устройствата за изпълнение. Опашката от команди с плаваща запетая също съдържа логика за управление на команди за умножаване и добавяне. Тази команда първо се изпраща към устройството за умножаване и след това директно към устройството за добавяне.

Адресна опашка

Опашката с адресни команди издава команди към устройството за зареждане/запис и съдържа 16 реда. Опашката е организирана като кръгов FIFO буфер
(първи влязъл първи излязъл). Командите могат да се издават във всякакъв ред, но трябва да се поставят в опашка и да се премахват от нея строго последователно. Във всеки цикъл до 4 команди могат да влязат в опашката. FIFO буферът поддържа оригиналната последователност от инструкции, което улеснява откриването на зависимостите на адресите. Издадената команда може да не завърши, ако бъде открита зависимост от адрес, пропуск в кеша или конфликт на ресурси. В тези случаи опашката с адреси трябва да подаде отново командата, докато не завърши.

Преименуване на регистри

Един от хардуерните методи за минимизиране на конфликтите на данни е методът за преименуване на регистъра. Получава името си от метода за преименуване, широко използван в компилаторите - метод за разполагане на данни, който помага за намаляване на броя на зависимостите и по този начин повишава производителността при картографиране на обекти (например променливи), необходими на програмата източник към хардуерни ресурси
(например клетки с памет и регистри).

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

По време на изпълнение на програмата се генерират много временни резултати от регистъра. Тези временни стойности се записват за регистриране на файлове заедно с постоянните стойности. Временната стойност става новата постоянна стойност, когато командата завърши (резултатът й се записва). На свой ред, завършването на дадена команда става, когато всички предишни команди са завършили успешно в реда, определен от програмата.
Програмистът (или компилаторът) работи само с логически регистри.
Изпълнението на физически регистри е скрито от него.

По този начин методът за преименуване на хардуерния регистър, използван в процесора R10000, има три основни предимства. Първо, резултатите от "изпълнени предположения" инструкции могат да бъдат записани директно в регистрационен файл. Второ, този метод елиминира всички конфликти запис-след-четене и запис-след-запис, които често възникват, когато командите се изпълняват неправилно. И накрая, методът за преименуване на регистъра улеснява контрола на зависимостите от данни.
Тъй като процесорът може да издаде до четири инструкции за изпълнение във всеки тактов цикъл, процесът на преименуване на регистъра сравнява техните логически номера, за да определи зависимостите между четирите инструкции, декодирани в един и същи тактов цикъл.

Схемата за картографиране на инструкции, реализирана в микропроцесора R10000, се състои от две таблици за картографиране, списък с активни инструкции и два списъка със свободни регистри (за целочислени инструкции и инструкции с плаваща запетая има отделни таблици за картографиране и списъци със свободни регистри). За да се поддържа последователен ред на изпълнение на командите, има само един активен списък с команди, който съдържа както цели числа, така и команди с плаваща запетая.

Микропроцесорът R10000 съдържа 64 физически регистъра
(цяло число и с плаваща запетая). Във всеки даден момент стойността на физически регистър се съдържа в един от горните списъци. Фигура 5.15 показва опростена блокова диаграма на картографиране на целочислени инструкции.

Командите се извличат от кеша на командите и се поставят в таблицата за съпоставяне.
Във всеки един момент всеки от 64-те номера на физическия регистър се намира в един от трите блока, посочени на фигурата.

Списък с активни команди от 32 елемента може да съхранява програмно подредена последователност от команди, които могат да бъдат в процес във всеки даден момент. Инструкциите в опашката с целочислени инструкции могат да се изпълняват без ред и да записват резултатите във физическите регистри, но редът, в който те в крайна сметка се изпълняват, се определя от списъка с активни инструкции.

Засега можем да спрем до тук относно MIPS. Нека сега да преминем също толкова плавно към процесори със SPARC архитектура.

5. Характеристики на процесори със SPARC архитектура на Sun Microsystems

Мащабируема процесорна архитектура SPARC (Scalable Processor
Архитектура) от Sun Microsystems е най-широко възприетата RISC архитектура, отразяваща доминиращата позиция на компанията на пазара на UNIX работни станции и сървъри. Процесорите SPARC са лицензирани и произведени по спецификации на Sun от няколко производителя, включително Texas
Инструменти, Fujitsu, LSI Logic, Bipolar International Technology, Philips,
Cypress Semiconductor и Ross Technologies. Тези компании доставят процесори SPARC не само на самата Sun Microsystems, но и на други известни производители на компютърни системи, например Solbourne,
Toshiba, Matsushita, Tatung и Cray Research.

Архитектурата SPARC първоначално е проектирана да опрости внедряването на 32-битов процесор. Впоследствие, с подобряването на технологията за производство на интегрални схеми, тя постепенно се развива и в момента съществува 64-битова версия на тази архитектура (SPARC-V9), която формира основата на нови микропроцесори, т.нар.
UltraSPARC. Първият процесор SPARC е произведен от Fujitsu на базата на гейт масив, работещ на честота 16,67 MHz. На базата на този процесор е разработена първата работна станция Sun-4 с производителност 10 MIPS, обявена през есента на 1987 г. (преди това Sun използва микропроцесори Motorola 680X0 в своите продукти).
През март 1988 г. Fujitsu увеличава тактовата честота до 25 MHz, създавайки процесор с производителност от 15 MIPS.

По-късно Sun умело се възползва от конкуренцията сред доставчиците на интегрални схеми, избирайки най-успешните проекти, за да продаде своите SPARCstation 1, 1+, IPC, ELC, IPX, 2 продукти и сървъри от сериите 4xx и 6xx. Тактовата честота на SPARC процесорите е увеличена до 40
MHz, а производителността е до 28 MIPS.

По-нататъшно увеличаване на производителността на процесорите с архитектура
SPARC беше постигнат чрез прилагане на суперскаларни принципи за обработка върху чип от Texas Instruments и Cypress. процесор
SuperSPARC на Texas Instruments е основата за сериите работни станции и сървъри SPARCstation/SPARCserver 10 и 20. В зависимост от комбинацията от команди, той може да издава до три команди на тактов цикъл на машината. процесор
SuperSPARC има балансирана производителност при операции с фиксирана и плаваща запетая. Има вътрешен кеш от 36 KB
(20 KB - кеш за инструкции и 16 KB - кеш за данни), отделни целочислени и реални аритметични конвейери и при тактова честота от 75 MHz осигурява производителност от около 205 MIPS.

Въпреки че архитектурата SPARC остава доминираща на пазара на RISC процесори за дълго време, особено в сектора на работните станции, увеличенията на тактовите честоти на процесорите през 1992-1994 г. се случиха с по-бавни темпове в сравнение с увеличенията на тактовите честоти на конкурентни процесорни архитектури. За да преодолее тази празнина и в отговор на появата на 64-битови процесори на пазара, Sun разработи и изпълнява петгодишна програма за модернизация. В рамките на тази програма Sun планира да увеличи тактовата честота на процесорите MicroSPARC до 100 MHz през 1994 г. (процесорът MicroSPARC II 110 MHz се използва в работни станции и сървъри SPARCstation 4 и 5). Накрая
1994 г. и през 1995 г. на пазара се появяват микропроцесори hyperSPARC и SPARCstation 20 еднопроцесорни и многопроцесорни работни станции с тактова честота на процесора 100, 125 и 150 MHz. До средата на 1995 г. тактовата честота на процесорите SuperSPARC беше увеличена до 85 MHz (60, 75 и
85 MHz версията на този процесор в момента се използва в работните станции и сървъри SPARCstation 20, SPARCserver 1000 и SPARCcenter 2000 на Sun и 64-процесорния сървър на Cray Research). И накрая, през ноември 1995 г. се появиха 64-битови процесори UltraSPARC-I с тактови честоти 143, 167 и 200 MHz и процесори UltraSPARC-II с тактови честоти от 250 до 300 MHz, масовото производство на които започна в средата на 1996 г. Впоследствие започва производството на UltraSPARC-III процесори с честоти до
500 MHz.

Има няколко версии на този процесор, които в зависимост от комбинацията от команди позволяват обработка на до три команди в един машинен цикъл, различаващи се по тактова честота (50, 60, 75 и 85 MHz). SuperSPARC процесор
(Фигура 9) има балансирана производителност при операции с фиксирана и плаваща запетая. Има вътрешен кеш от 36 KB
(20 KB - кеш за инструкции и 16 KB - кеш за данни), отделни целочислени и реални аритметични конвейери и при тактова честота от 75 MHz осигурява производителност от около 205 MIPS. Процесорът SuperSPARC се използва и в сървърите SPARCserver 1000 и SPARCcenter 2000 на компанията
слънце

Структурно кристалът е монтиран на взаимозаменяеми процесорни модули от три типа, които се различават по наличието и размера на кеш паметта от второ ниво и тактовата честота. M-bus SuperSPARC модул използван в модела
50 съдържа 50 MHz SuperSPARC процесор с вътрешен 36 KB кеш
(20 KB кеш за инструкции и 16 KB кеш за данни). M-bus SuperSPARC модули в модели
51, 61 и 71 съдържат по един SuperSPARC процесор, работещ съответно на 50, 60 и 75 MHz, един чип за кеш контролер
(т.нар. SuperCache), както и външен кеш с капацитет 1 MB. M-bus модулите в модели 502, 612, 712 и 514 съдържат два SuperSPARC процесора и два кеш контролера всеки, а последните три модела съдържат един 1 MB външен кеш на процесор. Използването на кеш памет позволява на модулите на процесора да работят с тактова честота, различна от тактовата честота на дънната платка; Следователно потребителите на всички модели могат да подобрят производителността на своите системи, като заменят съществуващите CPU модули, вместо да обновят цялата дънна платка.

Ориз. 9. хиперСПАРЦ

Едно от основните предизвикателства пред разработчиците на микропроцесори hyperSPARC беше да подобрят производителността, особено при извършване на операции с плаваща запетая. Поради това специално внимание на разработчиците беше отделено на създаването на прости и балансирани шестстепенни конвейери за целочислена аритметика и плаваща запетая. Логическите схеми на тези конвейери бяха внимателно проектирани, броят на логическите нива на портите между етапите беше изравнен, за да се опростят проблемите с по-нататъшното увеличаване на тактовата честота.

Производителността на процесорите hyperSPARC може да варира независимо от скоростта на външната шина (MBus). Комплектът матрици hyperSPARC позволява както синхронни, така и асинхронни операции, използвайки персонализирана логика на матрицата RT625. Разделянето на вътрешната процесорна шина от външната ви позволява да увеличите тактовата честота на процесора независимо от честотата на паметта и I/O подсистемите. Това гарантира по-дълъг жизнен цикъл, тъй като надграждането до модули hyperSPARC с по-висока производителност не изисква преработка на цялата система.

Комплектът процесори hyperSPARC 100 MHz е изграден върху CMOS технология с три нива на метализация и стандарти за дизайн от 0,5 микрона. Вътрешната логика работи със захранващо напрежение 3.3V.

Процесорът hyperSPARC е реализиран като многочипов микросглобка
(Фигура 5.4), която включва част от суперскаларен тръбопровод и тясно свързан кеш от второ ниво. Комплектът кристали включва
RT620 (CPU) е централната процесорна единица, RT625 (CMTU) е кеш контролерът, единицата за управление на паметта и единицата за тагове, а четири RT627 (CDU) кеша за данни реализират 256 KB L2 кеш.
RT625 също така предоставя интерфейс към MBus. Процесор RT620
(Фигура 10) се състои от целочислено устройство, устройство с плаваща запетая, устройство за зареждане/запис, устройство за прескачане и двуканална памет за набори асоциативни инструкции с капацитет 8 KB. Устройството с цяло число включва ALU и отделен път за данни за операции за зареждане/запис, които са две от четирите изпълнителни единици на процесора. Преходното устройство обработва команди за прехвърляне на управление, а устройството с плаваща запетая всъщност се състои от два независими конвейера - събиране и умножение на числа с плаваща запетая. За да увеличат пропускателната способност на процесора, инструкциите с плаваща запетая преминават през конвейера с цели числа и влизат в опашка, където чакат да бъдат изпълнени в един от конвейерите с плаваща запетая. Във всеки цикъл се избират два отбора. IN общ случай, докато тези две команди изискват различни изпълнителни устройства за тяхното изпълнение при липса на зависимости от данни, те могат да бъдат стартирани едновременно. RT620 съдържа два регистърни файла: 136 целочислени регистъра, конфигурирани като осем регистърни прозореца, и 32 отделни регистъра с плаваща запетая, разположени в устройството с плаваща запетая. L2 кеш паметта в процесора hyperSPARC е базирана на RT625 CMTU, който е комбиниран чип, който включва кеш контролер и модул за управление на паметта, който поддържа споделена външна памет и симетрична мултипроцесорност. Кеш контролерът поддържа 256 KB кеш, състоящ се от четири RT627 CDU. Кеш паметта има директно картографиране и 4K тагове. Етикетите в кеша съдържат физически адреси, така че логиката за кохерентност на многопроцесорния кеш, намираща се в RT625, може бързо да открие удари или пропуски, когато се гледа от предната шина, без да спира достъпа до кеша от процесора.
Поддържат се както режим на запис, така и режим на обратно копиране.

Устройството за управление на паметта съдържа напълно асоциативна кеш памет за преобразуване на виртуални адреси във физически адреси
(TLB), състоящ се от 64 реда, който поддържа 4096 контекста. RT625 съдържа 32-байтов буфер за четене, използван за зареждане, и 64-байтов буфер за запис, използван за разтоварване на L2 кеша. Размерът на реда на кеша е 32 байта. В допълнение, RT625 включва синхронизираща логика, която осигурява интерфейс между вътрешната шина на процесора и SPARC MBus при извършване на асинхронни операции.

RT627 е 16K(32K) SRAM, специално проектиран да отговаря на изискванията на hyperSPARC. Организиран е като четириканален SRAM в четири масива с логика за запис на байтове и входни и изходни фиксиращи регистри. RT627 за CPU е нулев държавен кеш за изчакване без загуби на конвейер (т.е. спирания) за всички зареждания и записи, които са ударили кеша. RT627 е проектиран специално за процесора hyperSPARC, така че не са необходими допълнителни схеми за взаимодействие с RT620 и RT625.

Комплектът матрици ви позволява да се възползвате от тясното свързване между процесора и кеш паметта. RT620 е проектиран да позволява загуба на един тактов цикъл в случай на пропуск на L1 кеш. За достъп до L2 кеш паметта RT620 има специален конвейер. Ако има пропуск в кеша L1 и удар в кеша L2, процесорът не спира.

Инструкциите за зареждане и запис едновременно генерират два достъпа: един към 8 KB L1 кеш на инструкции и един към L2 кеша. Ако адресът на инструкцията бъде намерен в кеша от първо ниво, тогава достъпът до кеша от второ ниво се отменя и инструкцията става достъпна на етапа на декодиране на конвейера. Ако има пропуск във вътрешната кеш памет и се открие попадение в кеша от второ ниво, тогава инструкцията ще стане достъпна със загубата на един тактов цикъл, който е вграден в конвейера. Тази възможност позволява на тръбопровода да продължи да работи непрекъснато, докато има или L1, или L2 кеш хитове, които са съответно 90% и 98% за типичните приложения. работна станция. За постигане на архитектурен баланс и опростяване на обработката на изключения, конвейерите с цели числа и с плаваща запетая имат пет етапа на работа. Този дизайн позволява на RT620 да осигури максимална производителност, която не е постижима по друг начин.

С прегледа на този процесор можем да завършим нашата дискусия за процесорите с архитектура SPARK.

6. PA-RISC процесори от Hewlett-Packard

В основата на разработването на съвременните продукти на Hewlett-Packard е архитектурата PA-RISC. Той е разработен от компанията през 1986 г. и оттогава е преминал през няколко етапа на своето развитие благодарение на успеха на интегрираната технология от многочипов до едночипов дизайн. През септември
През 1992 г. Hewlett-Packard обяви създаването на своя суперскаларен процесор PA-7100, който оттогава се превърна в основа за фамилията работни станции HP 9000 Series 700 и фамилията бизнес сървъри HP 9000 Series 800. В момента има 33-, 50 - и 99 MHz изпълнение на кристала PA-7100. Освен това бяха пуснати модифицирани кристали PA-7100LC с тактова честота 64, подобрени в много отношения.
80 и 100 MHz и PA-7150 с тактова честота 125 MHz, както и PA-7200 с тактова честота 90 и 100 MHz. Компанията активно разработва следващото поколение процесор HP 8000, който ще работи на тактова честота
200 MHz и осигуряват ниво от 360 единици SPECint92 и 550 единици SPECfp92.
Появата на този кристал се очаква през 1996 г. В допълнение, Hewlett-
Packard, в сътрудничество с Intel, създаде нов процесорс много дълга командна дума (VLIW архитектура), която е съвместима и с двете семейства
Intel x86 и семейството PA-RISC. Производството на този процесор започва през 1998 г. Като илюстративен пример нека изберем PA-7100/

Характеристика на PA-RISC архитектурата е реализацията на кеша извън чипа, което прави възможно внедряването на различни количества кеш памет и оптимизирането на дизайна в зависимост от условията на приложението (Фигура
12.). Инструкциите и данните се съхраняват в отделни кеш памети, а процесорът се свързва с тях с помощта на високоскоростни 64-битови шини. Кеш паметта е реализирана върху високоскоростни статични кристали на паметта
(SRAM), които се синхронизират директно на тактовата честота на процесора. При 100 MHz всеки кеш има 800 MB/s честотна лента за четене и 400 MB/s честотна лента за запис. Хардуерът на микропроцесора поддържа различни количества кеш памет: кешът на инструкциите може да има размер от 4 KB до 1
MB, кеш данни - от 4 KB до 2 MB. За да се намали процентът на пропуски, се използва механизъм за хеширане на адреси. И двата кеша използват допълнителни битове за проверка за подобряване на надеждността, а грешките в кеша на инструкциите се коригират от хардуера.

Модулът с плаваща запетая (Фигура 13) прилага аритметика с единична и двойна точност в стандарта IEEE 754. Неговият блок за умножение се използва и за извършване на операции за умножение на цели числа. Единиците за деление и квадратен корен работят с двойна скорост на процесора. Аритметичното логическо устройство изпълнява операции за събиране, изваждане и преобразуване на формати на данни. Регистърният файл се състои от 28 64-битови регистъра, всеки от които може да се използва като два 32-битови регистъра за извършване на операции с плаваща запетая с единична точност. Регистърният файл има пет порта за четене и три порта за запис, които позволяват едновременни операции за умножение, добавяне и зареждане/запис. Повечето подобрения в производителността на процесора идват от увеличаване на тактовата честота до 100
MHz в сравнение с 66 MHz за неговия предшественик.

Тръбопроводът на целочисленото устройство има шест етапа: четене на кеша на инструкции (IR), четене на операнд (OR), изпълнение/четене на кеша на данни
(DR), завършено четене на кеша на данни (DRC), запис на регистър (RW) и запис на кеша на данни (DW). На етап ID се извличат инструкции. Прилагането на механизма с две инструкции изисква малък буфер за предварително извличане, който гарантира, че инструкциите се извличат предварително два тактови цикъла, преди IR етапът да започне работа. По време на изпълнение в етап ИЛИ, всички изпълнителни механизми декодират операндните полета в инструкцията и започват да изчисляват резултата от операцията. На етапа на DR целочисленото устройство завършва своята работа. Освен това кешът за данни извършва четене, но не пристигат данни, докато етапът DRC не завърши. Резултатите от операциите събиране (ADD) и умножение (MULTIPLY) също стават валидни в края на етапа на DRC. Записването в регистри с общо предназначение и в регистри с плаваща запетая се извършва на етап RW. Записването в кеша за данни с помощта на команди за запис (STORE) изисква два тактови цикъла. Най-ранният команден прозорец STORE с натискане и изтегляне се появява на етапите RW и DW. Този прозорец обаче може да се измести, тъй като записите в кеша за данни се извършват само когато се появи следващата команда за запис. Операциите за деление и квадратен корен за числа с плаваща запетая завършват много тактови цикли след DW етапа.

Тръбопроводът е проектиран да увеличи максимално времето, необходимо за завършване на четене от външни SRAM кеш матрици за данни. Това позволява честотата на процесора да бъде увеличена максимално за дадена скорост на SRAM. Всички инструкции за зареждане (LOAD) се изпълняват в един такт и изискват само един такт от честотната лента на кеша за данни. Тъй като кешовете за команди и данни са разположени на различни шини, няма загуби в конвейера, свързани с конфликти между извиквания към кеша за данни и кеша за команди.

Процесорът може да издава една целочислена инструкция и една инструкция с плаваща запетая за изпълнение във всеки тактов цикъл. Ширината на честотната лента на кеша за инструкции е достатъчна, за да поддържа непрекъснато издаване на две инструкции на всеки такт. Няма ограничения за подравняването или реда на двойка команди, които се изпълняват заедно. В допълнение, няма часовникови цикли, свързани с превключването от изпълнение на две инструкции към изпълнение на една инструкция. Беше обърнато специално внимание, за да се гарантира, че издаването на две команди в един тактов цикъл не ограничава тактовата честота. За да се постигне това, в кеша на инструкциите беше внедрен специален бит с възможност за предварително декодиране, за да се отделят целочислени инструкции на устройства от инструкции на устройства с плаваща запетая. Този бит за предварително декодиране на команда минимизира времето, необходимо за правилно разделяне на командите.

Загубите, свързани със зависимостите от данни и контрол, са минимални в този конвейер. Инструкциите за зареждане се изпълняват в един тактов цикъл, освен ако последващата инструкция не използва регистъра на местоназначението на инструкцията LOAD. Като правило, компилаторът ви позволява да заобиколите такива загуби от един цикъл. За да намали загубите, свързани с инструкциите за условно разклоняване, процесорът използва алгоритъм за предсказване на посоката на прехвърляне на управление. За да се оптимизира производителността на циклите, прехвърлянията на управление напред през програмата се предвиждат като неизпълнени разклонения, а прехвърлянията на управление назад през програмата се предвиждат като изпълнени разклонения.
Правилно предвидените условни разклонения се изпълняват в един тактов цикъл.

Броят отметки, необходими за запис на дума или двойна дума с командата STORE, е намален от три на две отметки. В по-ранните реализации на PA-RISC архитектурата беше необходим един допълнителен тактов цикъл за прочитане на кеша, за да се осигури попадение, а също и за обединяване на старите данни от линията на кеша с данните, които се записват. PA 7100 използва отделна шина за адресен етикет, за да синхронизира четенето на етикета със записа на данните от предишната команда STORE. Освен това наличието на отделни сигнали за разрешаване на запис за всяка дума от кеш линия елиминира необходимостта от обединяване на стари данни с нови данни от команди за запис на word или dword. Този алгоритъм изисква записи в SRAM чипове да се извършват само след като е установено, че този записе придружено от попадение в кеша и не предизвиква прекъсване. Това изисква допълнителна стъпка на тръбопровода между четенето на етикета и записването на данните. Тази конвейерна обработка не води до допълнителни пропилени тактови цикли, тъй като процесорът прилага специални байпасни вериги, които позволяват отложените командни данни за запис да бъдат насочвани към последващи команди за зареждане или команди STORE, които записват само част от думата. За на този процесорРазходите на конвейера за инструкции за запис на дума или двойна дума се намаляват до нула, освен ако непосредствено последващата инструкция не е инструкция за зареждане или запис. В противен случай загубите са равни на един цикъл. Загубите за запис на част от дума могат да варират от нула до два тактови цикъла. Симулациите показват, че по-голямата част от командите за запис действително работят във формат от една или две думи.

Всички операции с плаваща запетая, с изключение на инструкциите за деление и квадратен корен, са напълно конвейерни и имат закъснение за изтегляне и издърпване както в режимите на единична, така и в двойна точност.
Процесорът може да издава независими инструкции с плаваща запетая за изпълнение във всеки тактов цикъл без никакви загуби. Последователните операции със зависимостите на регистъра водят до загуба на един цикъл.
Командите за деление и квадратен корен се изпълняват в 8 тактови цикъла за единична точност и 15 тактови цикъла за двойна точност. Изпълнението на инструкцията не се спира от инструкции за деление/квадратен корен, докато не се изисква регистърът на резултата или не бъде издадена следващата инструкция за деление/квадратен корен.

Процесорът може да изпълни паралелно една целочислена инструкция и една инструкция с плаваща запетая. В този случай „инструкциите за цели числа“ също включват инструкции за зареждане и запис на регистри с плаваща запетая, а „инструкциите за плаваща запетая“ включват инструкциите FMPYADD и FMPYSUB. Тези последни инструкции комбинират операцията за умножение с операциите за събиране или изваждане, съответно, които се изпълняват паралелно. Пиковата производителност е 200 MFLOPS за последователност от FMPYADD инструкции, в които съседните инструкции са независими от регистъра.

Разходите за операции с плаваща запетая, които използват предварително зареждане на операнд с инструкцията LOAD, са един тактов цикъл, ако зареждането и инструкциите с плаваща запетая са съседни, и два тактови цикъла, ако са издадени за изпълнение по едно и също време. За инструкция за запис, която използва резултата от операция с плаваща запетая, няма загуба, дори ако се изпълнява паралелно.

Излишните разходи за пропуски в кеша на данни са сведени до минимум чрез използването на четири различни техники: попадение при пропуск за инструкции LOAD и STORE, нишка на кеша на данни, специално кодиране на команди за запис, за да се избегне копирането на реда, който пропуска, и семафорни операции в кеш-памет. Първото свойство позволява всякакъв вид друга команда да бъде изпълнена, докато се обработва пропуск на кеш данни. За пропуски, възникнали по време на инструкция LOAD, обработката на следващите инструкции може да продължи, докато резултатният регистър на инструкцията LOAD не се изисква като операнд регистър за друга инструкция. Компилаторът може да използва това свойство, за да изтегли предварително необходимите данни в кеша много преди действително да са необходими. За пропуски, възникнали по време на инструкция STORE, обработката на последващи команди за зареждане или запис на част от дума продължава, докато няма препратки към реда, където е настъпил пропускът. Компилаторът може да използва това свойство, за да изпълнява команди, докато записва резултатите от предишни изчисления. По време на забавянето на обработката на пропуски, други инструкции LOAD и STORE, които попадат в кеша за данни, могат да бъдат изпълнени като други инструкции с цели числа и с плаваща запетая. По време на цялото време на обработка на пропусната инструкция STORE, могат да се появят други инструкции за запис в същия кеш ред без допълнителна загуба на време. За всяка дума в кеш ред процесорът има специален бит за индикация, който предотвратява копирането от паметта на думи от реда, които са били записани от инструкции STORE. Тази функция се прилага за операции LOAD и STORE с цели числа и плаващи числа.

Изпълнението на командата спира, когато се регистрира дестинацията на командата
LOAD, който е неуспешен, се изисква като операнд към друга инструкция. Свойството threading позволява изпълнението да продължи веднага щом желаната дума или двойна дума бъде върната от паметта. По този начин изпълнението на командата може да продължи както по време на забавянето, свързано с обработката на пропуска, така и докато съответният ред се попълва, когато възникне пропускът.

Когато извършва блоково копиране на данни, в някои случаи компилаторът знае предварително, че записът трябва да се извърши в пълен кеш ред.
За да оптимизира справянето с такива ситуации, архитектурата PA-RISC 1.1 дефинира специално кодиране на командите за запис („блоково копие“), което означава, че хардуерът не трябва да извлича ред от паметта, който може да причини пропуск в кеша. В този случай времето за достъп до кеша за данни е сумата от времето, необходимо за копиране на стария кеш ред в паметта на същия адрес в кеша
(ако е мръсен) и времето, необходимо за запис на нов кеш таг. Процесорът PA 7100 предоставя тази възможност както за привилегировани, така и за непривилегировани инструкции.

Последното подобрение в управлението на кеша на данни включва прилагане на семафорни операции с "нулево натоварване" директно в кеша.
Ако в кеша се извърши семафорна операция, тогава загубеното време по време на нейното изпълнение не надвишава загубата на нормални операции за запис. Това не само намалява натоварването на конвейера, но също така намалява трафика на шината на паметта. Архитектурата PA-RISC 1.1 също така предоставя друг тип специално кодиране на инструкции, което елиминира изискването за синхронизиране на семафорни операции с I/O устройства.

Управлението на кеш паметта на командите позволява в случай на пропуск да продължи изпълнението на команди веднага след като командата, която не е в кеша, пристигне от паметта. 64-битовата шина за данни, използвана за попълване на кеш блоковете с инструкции, съответства на максимална честотна лента на външната шина на паметта от 400 MB/s при 100 MHz.

Процесорът също така предоставя редица мерки за минимизиране на загубите, свързани с преобразуването на виртуални адреси във физически.

Дизайнът на процесора осигурява реализацията на два начина за изграждане на многопроцесорни системи. При първия метод всеки процесор е свързан към интерфейсен чип, който следи всички транзакции на основната шина на паметта. В такава система всички функции за поддържане на кохерентно състояние на кеш паметта се възлагат на интерфейсния кристал, който изпраща съответните транзакции към процесора. Кешът за данни е изграден на принципите на lazy-back и поддържа битове за лично състояние за всеки кеш блок.
„мръсен“ и „валиден“, чиито стойности се променят в съответствие с транзакциите, които процесорът издава или приема.

Вторият метод за организиране на многопроцесорна система ви позволява да комбинирате два процесора и памет и I/O контролер на една и съща локална шина на паметта. Тази конфигурация не изисква допълнителни интерфейсни чипове и е съвместима със съществуващата система с памет.
Кохерентността на кеша се осигурява чрез наблюдение на шината на локалната памет. Прехвърлянето на линии между кешовете се извършва без участието на контролера на паметта и I/O. Тази конфигурация прави възможно изграждането на много евтини многопроцесорни системи с висока производителност.

Процесорът поддържа редица операции, необходими за подобряване на графичната производителност на работни станции от серия 700: прехвърляне на блокове, Z-буфериране, цветова интерполация и команди за трансфер на данни с плаваща запетая за обмен с I/O пространство.

Процесорът е изграден по технологията CMOS процес с конструктивни стандарти от 0,8 микрона, което осигурява тактова честота от 100 MHz.

Това, Виктор Владиленович, всъщност е всичко, което исках да предложа по този въпрос.

7. Литература.

1. М. Гук Съвременни микропроцесори Pentium, Pentium II, Pentium III.

Издателство "Петър" 2000 г
М. Гук IBM PC хардуер Издателство "ПитерКом" Св.-П. 1999 г.
Жаров А. IBM 2000 хардуер или всичко за модерен компютърМ.2000
Издателство "Microart".
Използвахме и материали, публикувани на сайтовете: www.Ixbt.com www.informix.ru www.banknet.kz www.hardware.ru www.fcentr.com
Използвани са материали от статии, публикувани в списания:
"PC World", "Computerworld", "Computerra".

Катедра "Автоматизирани информационни системи и технологии".

Специалност "Приложна информатика в икономиката"

КУРСОВА РАБОТА

в курса „Компютърни системи, мрежи и телекомуникации”

ХОЛДИНГ

Въведение. 3

Дефиниция на микропроцесор. 4

История на развитието на съвременните микропроцесори. 10

Пазарна структура на съвременните микропроцесори. 13

Модерни процесори INTEL. 15

Микропроцесор PentiumM..16

Intel Core 2 Quad. 19

Съвременни микропроцесори от AMD.. 21

Микропроцесор К5. 22

Микропроцесор К6. 24

Микропроцесор К7. 25

Заключение. 28

Използвана литература.. 29

Въведение

Развитието на персоналните компютри в света доведе до развитието на микропроцесорите. Тенденции на развитие модерни технологииПроизводството на процесори и техните приложения набират скорост всяка година. Използват се нови нанотехнологии, броят на ядрата на един чип се увеличава, битовият капацитет на процесорите се увеличава, кеш паметта на всички нива се увеличава, използват се нови набори от инструкции и много други. Ето защо тази тема в момента се счита за най-подходяща за разглеждане в тази курсова работа. Целта на моята работа е да проуча дизайна на микропроцесори, да науча технологиите за тяхното производство и да разгледам видовете съвременни микропроцесори. Обект на изследване е микропроцесорът и неговите основни функции. Обект на изучаване са видовете съвременни микропроцесори.

Основата на всеки компютър е използването на микропроцесори. Точно това важно устройствовсеки компютър. Нивото на производителност на всеки компютър, а не само на личен, зависи от това. Микропроцесорите заобикалят хората навсякъде. Всяка електроника в съвременното общество е оборудвана със собствен микропроцесор.

Целта на курсовата ми работа е:

1. Анализирайте тенденциите на развитие на съвременните микропроцесори.

2. Идентифицирайте тяхното значение за обществото.

3. Опитайте се да направите груби прогнози за бъдещото им развитие.

Дефиниция на микропроцесор

Микропроцесорът е централно устройство (или набор от устройства) на компютър (или изчислителна система), което изпълнява аритметични и логически операции, определени от програма за преобразуване на информация, контролира изчислителния процес и координира работата на системните устройства (съхранение, сортиране, въвеждане -изход, подготовка на данни и др. ). Една компютърна система може да има няколко процесора, работещи паралелно; Такива системи се наричат ​​многопроцесорни системи. Наличието на няколко процесора ускорява изпълнението на една голяма или няколко (включително взаимосвързани) програми. Основните характеристики на микропроцесора са скорост и битова дълбочина. Производителността е броят операции, извършени в секунда. Битовият капацитет характеризира количеството информация, което микропроцесорът обработва за една операция: 8-битов процесор обработва 8 бита информация за една операция, 32-битов процесор обработва 32 бита, 64-битов процесор обработва 64 бита. Скоростта на микропроцесора до голяма степен определя скоростта на компютъра. Той извършва цялата обработка на данните, влизащи в компютъра и съхранявани в паметта му, под контрола на програма, също съхранявана в паметта. Персоналните компютри са оборудвани с централни процесори с различен капацитет.

Функции на процесора:

· обработка на данни от дадена програмачрез извършване на аритметични и логически операции;

· програмно управление на работата на компютърните устройства.

Моделите процесори включват следните съвместими устройства:

· Контролно устройство (CU).Координира работата на всички други устройства, изпълнява функции за управление на устройства и управлява компютърни изчисления.

· Аритметична логическа единица (ALU). Това е името на устройството за целочислени операции. Аритметични операции като събиране, умножение и деление, както и логически операции (ИЛИ, И, ASL, ROL и др.) се обработват с помощта на ALU. Тези операции съставляват по-голямата част от кода в повечето програми. Всички операции в ALU се извършват в регистри - специално определени клетки на ALU. Един процесор може да има множество ALU. Всеки от тях е в състояние да извършва аритметични или логически операции независимо от другите, което позволява извършването на множество операции едновременно. Аритметичното логическо устройство извършва аритметични и логически операции. Логическите операции са разделени на две прости операции: "Да" и "Не" ("1" и "0"). Обикновено тези две устройства се разграничават чисто условно, те не са конструктивно разделени.

· AGU (единица за генериране на адреси)- устройство за генериране на адреси. Това устройство е не по-малко важно от ALU, т.к той отговаря за правилното адресиране при зареждане или запазване на данни. Абсолютното адресиране в програмите се използва само в редки изключения. Веднага след като се вземат масиви от данни, в програмния код се използва непряко адресиране, което кара AGU да работи.

· Математически копроцесор ( FPU ). Процесорът може да съдържа няколко математически копроцесора. Всеки от тях е способен да изпълнява поне една операция с плаваща запетая, независимо от това какво правят другите ALU. Конвейерният метод позволява на един математически копроцесор да изпълнява множество операции едновременно. Копроцесорът поддържа изчисления с висока точност, както цели числа, така и с плаваща запетая, и също така съдържа набор от полезни константи, които ускоряват изчисленията. Копроцесорът работи паралелно с централен процесор, като по този начин се гарантира висока производителност. Системата изпълнява инструкции на копроцесора в реда, в който се появяват в нишката. Математически копроцесор персонален компютър IBM PC му позволява да извършва високоскоростни аритметични и логаритмични операции, както и тригонометрични функции с висока точност.

· Декодер на инструкции (команди).. Анализира инструкции за извличане на операнди и адреси, където се намират резултатите. Това е последвано от съобщение до друго независимо устройство за това какво трябва да се направи, за да се изпълни инструкцията. Декодерът позволява множество инструкции да се изпълняват едновременно, за да се заредят всички устройства за изпълнение.

· Кеш-памет. Специална високоскоростна процесорна памет. Кешът се използва като буфер за ускоряване на обмена на данни между процесора и RAM, както и за съхраняване на копия на инструкции и данни, които наскоро са били използвани от процесора. Стойностите от кеша се извличат директно, без достъп до основната памет. При изучаване на характеристиките на програмите беше открито, че те имат достъп до определени области на паметта с различна честота, а именно: клетките от паметта, до които програмата е имала достъп наскоро, е най-вероятно да бъдат използвани отново. Да приемем, че микропроцесорът е в състояние да съхранява копия на тези инструкции в своята локална памет. В този случай процесорът ще може да използва копие от тези инструкции всеки път през целия цикъл. В самото начало ще ви трябва достъп до паметта. За съхраняване на тези инструкции е необходимо много малко количество памет. Ако инструкциите пристигнат до процесора достатъчно бързо, тогава микропроцесорът няма да губи време в чакане. Това спестява време при следване на инструкциите. Но за най-бързите микропроцесори това не е достатъчно. Решението на този проблем е да се подобри организацията на паметта. Паметта вътре в микропроцесора може да работи със скоростта на самия процес

1. Кеш памет от първо ниво (кеш L1).Кеш памет, разположена вътре в процесора. Тя е по-бърза от всички останали видове памет, но по-малка по размер. Съхранява най-скоро използваната информация, която може да се използва при изпълнение на кратки програмни цикли.

2. Кеш от второ ниво ( Л 2 кеш памет ). Също така се намира вътре в процесора. Съхранената в него информация се използва по-рядко от информацията, съхранена в кеша от първо ниво, но има по-голям капацитет на паметта. Освен това процесорите в момента използват кеш от трето ниво.

3. Главна памет.Много по-голям по размер от кеш паметта и много по-бавен.

Многостепенната кеш памет ви позволява да намалите изискванията за производителност на най-мощните микропроцесори за основната динамична памет. Така че, ако намалите времето за достъп до основната памет с 30%, тогава производителността на добре проектираната кеш памет ще се увеличи само с 10-15%. Кеш паметта, както е известно, може да окаже значително влияние върху производителността на процесора в зависимост от вида на извършваните операции, но нейното увеличаване няма да увеличи непременно цялостната производителност на процесора. Всичко зависи от това доколко приложението е оптимизирано за дадената структура и използва кеша, както и от това дали различните програмни сегменти се кешират изцяло или на части.

Продуктите на AMD се конкурират успешно с микропроцесорите на Intel. По редица показатели микропроцесорите на тази компания заемат водеща позиция. Някои интересни архитектурни и технически решения, използвани за първи път в микропроцесорите на AMD, впоследствие станаха широко разпространени в продукти от други производители, включително микропроцесори от Intel.

Микропроцесор К5

В продължение на няколко години AMD, поне едно поколение микропроцесори зад Intel, разчиташе предимно на лицензирана технология и направи незначителни промени в дизайна на своите микропроцесори. Появата на микропроцесора Pentium създаде пряка заплаха AMD да бъде принудена да напусне пазара, което стимулира компанията да засили работата по създаването на нова фамилия x86-съвместими микропроцесори. Работата по K5 започна, когато подробностите за процесора Pentium все още не бяха известни. Инженерите на AMD трябваше да разработят своя собствена микроархитектура, като същевременно гарантират съвместимост със съществуващия софтуер за x86 процесори.

Първоначално AMD планира да достави своя 100--120 MHz микропроцесор през 1995 г., но само няколко хиляди от тези процесори са произведени и работят на само 75 MHz. Основните доставки на K5 започнаха през първото тримесечие на 1996 г., след като компанията премина към технология от 0,35 микрона, разработена съвместно с Hewlett-Packard. Това направи възможно увеличаването на броя на транзисторите до 4,2 милиона на чип с площ от 167 mm 2.

K5 ]68] е първият микропроцесор на AMD, който не е създаден с помощта на интелектуална собственост на Intel (с изключение на микрокод), като в същото време има най-доброто Процесори на Intelпроизводителност. Много приложения, като Microsoft Excel, Word, CorelDRAW, работеха с 30% по-бързо на процесори от серията K5, отколкото на Pentium със същата тактова честота. Тази производителност е постигната главно благодарение на увеличената кеш памет и по-усъвършенствана суперскаларна архитектура. Архитектурата RISC86, използвана в микропроцесорите на AMD.

Както знаете, x86 инструкциите се характеризират с променлива дължина и сложна структура, което ги прави трудни за декодиране и анализ на съществуващи зависимости на данните между инструкциите. В архитектурата на AMD декодерът, най-сложната част от микропроцесора, разделя дългите CISC инструкции на малки RISC-подобни компоненти, наречени ROP (RISC операции).

ROPs напомнят на микрокод команди на x86 микропроцесори. Първите микропроцесори с архитектура x86 изпълняваха своя сложен набор от микроинструкции чрез избиране на микрокод от вътрешна памет само за четене. В най-новите x86 микропроцесори използването на микрокод е сведено до минимум чрез използването на прости команди и тяхната хардуерна реализация.

За разлика от Pentium, вместо два конвейера за паралелно изпълнение на две целочислени операции, K5 има шест паралелни операционни блока. Инструкциите с плаваща запетая, зареждане/съхраняване или прескачане могат да се изпълняват едновременно с целочислени операции. Блокът за зареждане/съхраняване може да извлече две инструкции от паметта в един цикъл. Друга разлика от Pentium е, че K5 може да променя последователността от команди, които изпълнява.

Модулът с плаваща запетая (FPU) отговаря на стандартите x86, но е малко по-нисък по производителност от FPU на процесора Pentium.

Комбинацията от принципите CISC и RISC, използвани в архитектурата K5, направи възможно преодоляването на ограниченията на набора от инструкции x86. С цената на нарастваща сложност AMD процесоруспя да увеличи производителността си, като същевременно запази съвместимостта със системата за инструкции x86. Последното е много важно предвид широкото разпространение софтуерза тази микропроцесорна архитектура.

Микропроцесор К6

Микропроцесорът K6 беше пуснат през 1997 г. с помощта на 0,35 микрона CMOS технология с петслойна метализация, съдържаше 8,8 милиона транзистора на чип с площ от 162 mm 2, работеше с тактови честоти от 166, 200 и 233 MHz и беше инсталиран в конектора Socket 7.

Подобно на K5, K6 използва суперскаларната архитектура RISC86 с отделно декодиране/изпълнение на инструкции, осигурявайки приемственост с набора от инструкции x86 и постигайки висока производителност, типична за микропроцесорите от шесто поколение. K6 беше оборудван с мултимедийно разширение на командната система - MMX. По отношение на производителността, K6 при същата тактова честота значително превъзхожда Pentium MMX и е сравним с Pentium Pro. За разлика от Pentium Pro, K6 работи еднакво добре както с 32-битови, така и с 16-битови приложения.

Високата производителност на процесора беше осигурена благодарение на редица нови архитектурни и технологични решения.

· Процесорът предварително декодира x86 инструкции, когато ги извлича в кеш паметта. Всяка инструкция в L1 кеша е оборудвана с предварително декодирани битове, показващи отместването на началото на следващата инструкция в кеша (от I до 15 байта).

· K6 съдържа вътрешен, отделен 32 KB L1 кеш за данни и команди.

· Процесорът реализира високопроизводителна единица за изчисление с плаваща запетая.

· Има високопроизводителен блок от мултимедийни операции на стандарта MMX.

· Използва се многократно декодиране на x86 инструкции в едноциклични RISC операции (ROP).

· Процесорът съдържа паралелни декодери, централизиран планировчик на операции и седем изпълнителни единици, които осигуряват суперскаларно изпълнение на инструкции в шестстепенен конвейер.

· Процесорът използва спекулативно изпълнение с промяна на последователността от инструкции, предварително изпращане на данни и преименуване на регистри.

В началото на 1998 г. бяха пуснати процесорни варианти, базирани на 0,25 микрона технология с пет слоя метализация за тактови честоти от 266 MHz и 300 MHz.

Микропроцесор К7

Следващото поколение микропроцесор - K7 (кодово име Athlon) беше пуснат през юни 1999 г. K7 съдържа над 22 милиона транзистора върху 184 mm2 матрица и първоначално е произведен по технология от 0,25 микрона с 6 слоя метализация* за тактови честоти от 500, 550, 600 и 650 MHz. Впоследствие, с преминаването към 0,18 микрона технология, честотата беше увеличена до 1 GHz и по-висока. Захранващото напрежение на микропроцесора е 1,6 V.

Процесорът е поставен в касета и се свързва към платката чрез слот A, разработен от AMD. Athlon и Slot A използват протокола на шината Digital Alpha EV6, който има редица предимства пред GTL+, използван от Intel. По този начин EV6 предоставя възможност за използване на топология „точка до точка“ за многопроцесорни системи. В допълнение, EV6 работи с нарастващия и спадащия фронт на тактовия сигнал, който при честота от 100 MHz дава ефективна честота на трансфер на данни от 200 MHz и честотна лента на интерфейса от 1,6 GB / s. В следващите модели процесори работната честота на шината (ефективна честота) достигна 133 (266) и след това 200 (400) MHz.

Архитектурата на Athlon се нарича QuantiSpeed™ и включва суперскаларно, суперконвейерно изпълнение, конвейерна единица с плаваща запетая, предварително извличане на хардуерен кеш и усъвършенствана технология за прогнозиране на разклонения.

Athlon има девет изпълнителни единици: три целочислени изпълнителни единици (IEU), три адресни изчислителни единици (AGU) и три единици за обработка с плаваща запетая и мултимедия (една зареждане/съхраняване на плаваща запетая (FSTORE) и два конвейерни блока за изпълнение на FPU /MMX/3DNOW команди).

Athlon може да декодира три x86 инструкции в шест RISC операции. След декодиране, ROPs завършват в буфер, където чакат своя ред за изпълнение в един от функционалните блокове на процесора. Буфер K7 съдържа 72 операции (три пъти повече от KB) и произвежда 9 ROP за 9 задвижващи механизма.

Athlon има 128 KB L1 кеш (64 KB за данни и 64 KB за инструкции). За взаимодействие с кеша от второ ниво е осигурена специална шина (като архитектурата на Intel P6).Кешът от второ ниво с размер 512 KB се намира извън ядрото на процесора, в процесорната касета и работи на половината от честотата на ядрото .

Следващият микропроцесор с архитектура K7, базиран на ядрото Thunderbird, беше Duron -- бюджетен вариантмикропроцесор, насочен към евтини компютри. Основната му разлика е кеш паметта от второ ниво, намалена до 64 KB. Duron съдържа 25 милиона транзистора на 100 mm 2 чип и е предназначен за честоти от 600 до 1200 MHz.

Поставянето на кеш паметта върху чипа позволи на разработчиците да се откажат от използването на касета и да се върнат към конектора тип гнездо (462-пинов конектор Socket A). IN Процесори Athlonи Duron, работата на кеш паметта се извършва съгласно алгоритъм, който осигурява изключителност на представянето на данни в кеш паметта (данните не се дублират в кеш паметта на първо и второ ниво), което увеличава ефективния обем на кешираните данни.

Благодарение на новите архитектурни и технически решения, използвани в K7, микропроцесорите на AMD успяха да надминат производителността на Pentium III със 7-10% при равен тактови скорости.

По-нататъшните подобрения в архитектурата и производствената технология на микропроцесорите в семейството K7 доведоха до появата на две нови версии на Athlon: Athlon XP и Athlon MP.

Основната разлика между процесора AMD Athlon MP от AMD Athlon XP използва технологията Smart MP, която е комбинация от високоскоростна двойна системна шина и кохерентен кеш протокол MOESI, който контролира честотната лента на паметта, което е необходимо за постигане на оптимален баланс между процесорите в многопроцесорни системи. Честотна лентакапацитетът на шината е 2,1 GB/s за процесор.

Процесорът се предлага с тактови честоти от I GHz (технология 0,18 микрона) до 2,133 GHz (технология 0,13 микрона, ядро ​​Thoroughbred).

Съвременните микропроцесори са най-бързите и най-умните чипове в света. Те могат да извършват до 4 милиарда операции в секунда и се произвеждат с помощта на много различни технологии. От началото на 90-те години на ХХ век, когато процесорите влязоха в масова употреба, те преминаха през няколко етапа на развитие. Апогеят на развитието на микропроцесорни структури, използващи съществуващи микропроцесорни технологии от 6-то поколение, се счита за 2002 г., когато стана възможно да се използват всички основни свойства на силиция за получаване на високи честоти с минимални загуби по време на производство и създаване логически схеми. Сега ефективността на новите процесори намалява донякъде въпреки постоянното увеличаване на честотата на работа на кристалите, тъй като силициевите технологии се доближават до границата на своите възможности.

Микропроцесорът е интегрална схема, формирана върху малък силиконов чип. Силицият се използва в микросхеми поради факта, че има полупроводникови свойства: неговата електрическа проводимост е по-голяма от тази на диелектриците, но по-малка от тази на металите. Силицият може да бъде направен както изолатор, предотвратяващ движението на електрически заряди, така и проводник - тогава електрически зарядище премине свободно през него. Проводимостта на полупроводника може да се контролира чрез въвеждане на примеси.

Микропроцесорът съдържа милиони транзистори, свързани помежду си с тънки проводници от алуминий или мед и използвани за обработка на данни. Така се образуват вътрешни гуми. В резултат на това микропроцесорът изпълнява много функции - от математически и логически операции до управление на работата на други чипове и целия компютър.

Един от основните параметри на процесора е честотата на кристала, която определя броя на операциите за единица време, честотата на системната шина и размера на вътрешната SRAM кеш памет. Процесорът е етикетиран според работната честота на кристала. Работната честота на кристала се определя от скоростта, с която транзисторите преминават от затворено състояние в отворено състояние. Способността на транзистора да превключва по-бързо се определя от технологията на производство на силициевите пластини, от които са направени чиповете. Технологичният процес определя размерите на транзистора (неговата дебелина и дължина на затвора). Например, използвайки 90nm технологичен процес, който беше въведен в началото на 2004 г., размерът на транзистора е 90nm, а дължината на гейта е 50nm.

Всички съвременни процесори използват транзистори с полеви ефекти. Преходът към нов технически процес прави възможно създаването на транзистори с по-високи честоти на превключване, по-ниски токове на утечка и по-малки размери. Намаляването на размера едновременно намалява площта на матрицата и следователно разсейването на топлината, а по-тънкият затвор позволява подаване на по-ниско комутационно напрежение, което също намалява консумацията на енергия и разсейването на топлината.

Технологии и пазар

Сега има интересна тенденция на пазара: от една страна, производствените компании се опитват да въведат нови технически процеси и технологии в своите нови продукти възможно най-бързо, от друга страна, има изкуствено ограничаване на растежа на процесорите честоти. Първо, търговците смятат, че пазарът не е напълно готов за следващата промяна в семействата процесори и компаниите все още не са получили достатъчно печалба от обема на продажбите на процесорите, които се произвеждат в момента - предлагането все още не е пресъхнало. Доста забележимо е превесът на важността на цената на готовия продукт над всички други интереси на компаниите. Второ, значително намаляване на темпото на „честотната надпревара“ е свързано с разбирането за необходимостта от въвеждане на нови технологии, които действително повишават производителността с минимално количество технологични разходи. Както вече беше отбелязано, производителите срещнаха проблеми при преминаването към нови технически процеси.

Технологичната норма от 90 nm се оказа доста сериозна технологична бариера за много производители на чипове. Това се потвърждава от TSMC, която произвежда чипове за много пазарни гиганти, като AMD, nVidia, ATI, VIA. Дълго време не беше в състояние да организира производството на чипове по технология 0,09 микрона, което доведе до нисък добив на използваеми кристали. Това е и една от причините AMD дълго да отлагат пускането на своите процесори с технологията SOI (Silicon-on-Insulator). Закъсненията се дължат на факта, че точно при това измерение на елементите започнаха силно да се проявяват всякакви преди това не толкова забележими негативни фактори: токове на утечка, голямо разсейване на параметрите и експоненциално увеличение на генерирането на топлина. Нека да го разберем по ред.

Както знаете, има два тока на утечка: ток на утечка на затвора и подпрагово утечка. Първият е причинен от спонтанното движение на електрони между субстрата на силициевия канал и полисилициевия порт. Второто е спонтанното движение на електрони от източника на транзистора към изтичането. И двата ефекта водят до необходимостта от увеличаване на захранващото напрежение, за да се контролират токовете в транзистора, а това се отразява негативно на разсейването на топлината. И така, чрез намаляване на размера на транзистора, ние преди всичко намаляваме неговия гейт и слоя от силициев диоксид (SiO2), който е естествена бариера между гейта и канала. От една страна, това подобрява скоростта на транзистора (времето за превключване), но от друга страна, увеличава утечката. Тоест, получава се някакъв омагьосан кръг. И така, преходът към 90 nm е друго намаляване на дебелината на диоксидния слой и в същото време увеличаване на изтичането. Борбата с течовете означава отново увеличаване на управляващите напрежения и съответно значително увеличаване на генерирането на топлина. Всичко това доведе до забавяне на въвеждането на нов технически процес от конкурентите на пазара на микропроцесори - Intel и AMD.

Една алтернатива е използването на технологията SOI (силиций върху изолатор), която AMD наскоро въведе в своите 64-битови процесори. Това обаче й коства много усилия и преодоляване на голям брой свързани с това трудности. Но самата технология предоставя огромен брой предимства със сравнително малък брой недостатъци. Същността на технологията като цяло е съвсем логична - транзисторът е отделен от силициевия субстрат с друг тънък слойизолатор. Има много предимства. Няма неконтролирано движение на електрони под канала на транзистора, което да го засяга Електрически характеристики- този път. След прилагане на отключващия ток към портата, времето за йонизация на канала до работно състояние (до преминаване на работния ток през него) се намалява, т.е. подобрява се вторият ключов параметър на производителността на транзистора, времето за включване/изключване е две. Или при същата скорост можете просто да намалите тока на отключване - това са три. Или намерете някакъв компромис между увеличаване на скоростта на работа и намаляване на напрежението. При поддържане на същия ток на затвора, увеличението на производителността на транзистора може да бъде до 30%; ако оставите честотата същата, като се фокусирате върху спестяването на енергия, тогава плюсът може да бъде голям - до 50%. И накрая, характеристиките на канала стават по-предсказуеми и самият транзистор става по-устойчив на спорадични грешки, като тези, причинени от космически частици, удрящи се в субстрата на канала и неочаквано го йонизиращи. Сега, когато попаднат в субстрата, разположен под изолационния слой, те по никакъв начин не влияят на работата на транзистора. Единственият недостатък на SOI е, че дълбочината на областта на емитер/колектор трябва да бъде намалена, което пряко и пряко влияе върху увеличаването на съпротивлението му с намаляване на дебелината.

И накрая, третата причина, която допринесе за забавянето на растежа на честотата, е ниската активност на конкурентите на пазара. Може да се каже, че всеки беше зает със собствения си бизнес. AMD беше ангажирана с широкото въвеждане на 64-битови процесори; за Intel това беше период на подобряване на новия технически процес, отстраняване на грешки за увеличен добив на използваеми кристали.

Началото на годината трябва да ни донесе много новини от областта на технологиите, тъй като тази година и двете компании трябва да преминат към 90 nm технологични стандарти. Но това изобщо не означава ново бързо увеличение на честотите на процесора, а точно обратното. Първоначално ще има затишие на пазара: конкурентите ще започнат да произвеждат процесори, използвайки нови технически процеси, но със стари честоти. С усвояването на производствения процес ще има леко увеличение на честотата на чиповете. Най-вероятно няма да бъде толкова забележимо, колкото преди. До края на 2004 г., когато добивът на използваеми кристали, използващи 90-nm технологичен процес, се увеличи значително, Intel очаква да покори върха от 4 GHz или дори повече. Процесорите на AMD ще се доставят с известно традиционно забавяне на честотата, което като цяло не влияе толкова много на производителността, колкото характеристиките на микроархитектурата.

Така че необходимостта от преминаване към нови технически процеси е очевидна, но всеки път става все по-трудно за технолозите. Първите микропроцесори Pentium (1993) са произведени с помощта на 0,8 микрона технология, след това 0,6 микрона. През 1995 г. технологичният процес от 0,35 микрона е използван за първи път за процесори от 6-то поколение. През 1997 г. тя се промени на 0,25 микрона, а през 1999 г. на 0,18 микрона. Съвременните процесори са базирани на технологии от 0,13 и 0,09 микрона, като последната е въведена през 2004 г. Както можете да видите, за тези технически процеси се спазва законът на Мур, който гласи, че на всеки две години честотата на кристалите се удвоява, тъй като броят на транзисторите от тях се увеличава. Техническият процес се променя със същата скорост. Вярно е, че в бъдеще „честотната надпревара“ ще изпревари този закон. До 2006 г. Intel планира да разработи 65-nm технологичен процес, а до 2009 г. – 32-nm процес.


Тук е време да си спомним структурата на транзистора, а именно тънък слой от силициев диоксид, изолатор, разположен между портата и канала, и който изпълнява напълно разбираема функция - бариера за електрони, която предотвратява изтичането на ток на портата. Очевидно колкото по-дебел е този слой, толкова по-добре изпълнява изолационните си функции. Но той е интегрална частканал и не по-малко очевидно е, че ако ще намалим дължината на канала (размера на транзистора), тогава трябва да намалим дебелината му и то с много бързи темпове. Между другото, през последните няколко десетилетия дебелината на този слой е била средно около 1/45 от цялата дължина на канала. Но този процес има своя край - както същият Intel заяви преди пет години, ако продължим да използваме SiO2, както е било през последните 30 години, минималната дебелина на слоя ще бъде 2,3 nm, в противен случай токът на утечка на тока на затвора ще стане просто нереалистично.

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

Производство на микропроцесори

Производството на микропроцесор е сложен процес, включващ повече от 300 стъпки. Микропроцесорите се формират върху повърхността на тънки кръгли силициеви пластини - субстрати, в резултат на определена последователност от различни процеси на обработка, използващи химикали, газове и ултравиолетово лъчение.

Субстратите обикновено имат диаметър 200 милиметра или 8 инча. Intel обаче вече преминаха към вафли с диаметър 300 мм, или 12 инча. Новите плочи позволяват да се получат почти 4 пъти повече кристали, а добивът е много по-висок. Вафлите са направени от силиций, който се пречиства, разтопява и отглежда в дълги цилиндрични кристали. След това кристалите се нарязват на тънки резени и се полират, докато повърхността им стане огледално гладка и без дефекти. След това последователно, повтаряйки се циклично, се извършва термично окисление (образуване на SiO2 филм), фотолитография, дифузия на примеси (фосфор) и епитаксия (растеж на слой).

По време на производствения процес на микросхемите най-тънките слоеве материали се нанасят върху празните плочи под формата на внимателно изчислени шаблони. На една пластина могат да се поставят до няколкостотин микропроцесора, чието производство изисква над 300 операции. Целият процес на производство на процесори може да бъде разделен на няколко етапа: отглеждане на силициев диоксид и създаване на проводящи области, тестване, производство на опаковката и доставка.

Отглеждане на силициев диоксид и създаване на проводими области.Процесът на производство на микропроцесора започва с „отглеждане“ на изолационен слой от силициев диоксид върху повърхността на полирана пластина. Този етап се извършва в електрическа фурна при много висока температура. Дебелината на оксидния слой зависи от температурата и времето, което плочата прекарва в пещта.

Това е последвано от фотолитография, процес, при който върху повърхността на вафлата се оформя шарка. Първо, временен слой от фоточувствителен материал, фоторезист, се нанася върху плочата, върху която се проектира изображение на прозрачните участъци на шаблона или фотомаска с помощта на ултравиолетово лъчение. Маските се правят по време на проектирането на процесора и се използват за формиране на схеми във всеки слой на процесора. Под въздействието на радиация откритите участъци от фотослоя стават разтворими и се отстраняват с помощта на разтворител (флуорна киселина), разкривайки силициевия диоксид отдолу.

Изложеният силициев диоксид се отстранява чрез процес, наречен "ецване". След това останалият фотослой се отстранява, оставяйки модел от силициев диоксид върху полупроводниковата пластина. Използвайки серия от допълнителни фотолитографски и ецващи операции, поликристален силиций, който има свойствата на проводник, също се нанася върху пластината. При следващата операция, наречена "допинг", откритите участъци на силиконовата пластина се бомбардират с йони от различни видове. химически елементи, които образуват отрицателни и положителни заряди, променяйки електрическата проводимост на тези области.

Нанасянето на нови слоеве, последвано от ецване на веригата, се извършва няколко пъти, докато за междуслойни връзки се оставят „прозорци“ в слоевете, които се запълват с метал, образувайки електрически връзки между слоевете. Intel използва медни проводници в своята 0,13-микрона технология. В 0,18 микрона производствен процес и предишни процеси Intel поколенияизползван алуминий. И мед, и алуминий - отлични водачиелектричество. При използване на 0,18-μm технологичен процес бяха използвани 6 слоя; при въвеждането на 90 nm технологичен процес през 2004 г. бяха използвани 7 слоя силиций.

Всеки слой на процесора има свой собствен модел; заедно всички тези слоеве образуват триизмерно изображение електронна схема. Нанасянето на слоеве се повтаря 20 - 25 пъти в продължение на няколко седмици.

Тестване.За да издържат на напрежението, на което са подложени субстратите по време на процеса на наслояване, силициевите пластини първоначално трябва да бъдат достатъчно дебели. Следователно, преди да нарежете пластината на отделни микропроцесори, използвайте нейната дебелина специални процесинамалете с 33% и премахнете мръсотията от обратната страна. След това върху задната страна на „по-тънката“ пластина се нанася слой от специален материал, който подобрява последващото закрепване на кристала към тялото. Освен това този слой осигурява електрически контакт между задна повърхностинтегрална схема и корпус след сглобяване.

След това пластините се тестват, за да се провери качеството на всички операции по обработка. За да се определи дали процесорите работят правилно, се тестват отделни компоненти. Ако бъдат открити грешки, данните за тях се анализират, за да се разбере на кой етап от обработката е възникнал отказът.

След това към всеки процесор се свързват електрически сонди и се захранва. Процесорите се тестват от компютър, който установява дали характеристиките на произведените процесори отговарят на зададените изисквания.

Изработка на тялото.След тестване пластините се изпращат в съоръжението за сглобяване, където се нарязват на малки правоъгълници, всеки от които съдържа интегрална схема. За отделяне на плочата се използва специален прецизен трион. Нефункционалните кристали се отхвърлят.

След това всеки кристал се поставя в индивидуална кутия. Калъфът предпазва кристала от външни влиянияи осигурява електрическата му връзка с платката, на която в последствие ще се монтира. Малки топчета спойка, разположени в определени точки на чипа, са запоени към електрическите клеми на пакета. Сега електрическите сигнали могат да протичат от платката към чипа и обратно.

В бъдещите процесори Intel ще използва технологията BBUL, която ще позволи създаването на принципно нови корпуси с по-малко генериране на топлина и капацитет между краката на процесора.

След инсталирането на чипа в кутията, процесорът се тества отново, за да се установи дали работи. Дефектните процесори се отхвърлят, а работещите се подлагат на тестове за натоварване: излагане на различни температурни и влажностни условия, както и електростатични разряди. След всеки тест за натоварване, процесорът се тества, за да се определи функционалното му състояние. След това процесорите се сортират въз основа на тяхното поведение при различни тактови честоти и захранващи напрежения.

Доставка.Процесорите, които са преминали тестване, се изпращат на окончателен контрол, чиято задача е да потвърди, че резултатите от всички предишни тестове са правилни и параметрите на интегралната схема отговарят или дори надвишават установените стандарти. Всички процесори, които преминат окончателна проверка, са маркирани и опаковани за доставка до клиентите.

Бъдещи микропроцесорни технологии

Известно е, че съществуващите CMOS транзистори имат много ограничения и няма да позволят повишаване на честотите на процесора в близко бъдеще толкова безболезнено. В края на 2003 г. на конференцията в Токио специалистите на Intel направиха много важно изявление за разработването на нови материали за полупроводникови транзистори на бъдещето. На първо място, говорим за нов диелектрик на транзисторния затвор с висока диелектрична константа (т.нар. „high-k” материал), който ще се използва за замяна на използвания днес силициев диоксид (SiO2), както и нови метални сплави, съвместими с новия затворен диелектрик. Решението, предложено от изследователите, намалява тока на утечка 100 пъти, което прави възможно да се доближи до внедряването на производствен процес с проектна норма от 45 нанометра. Оценява се от експерти като малка революция в света на микроелектронните технологии.

За да разберем за какво говорим, нека първо да разгледаме обикновен MOS транзистор, на базата на който се правят най-сложните процесори.


В него проводящият полисилициев гейт е отделен от канала на транзистора с тънък (само 1,2 nm или 5 атома дебелина) слой от силициев диоксид (материал, използван от десетилетия като диелектрик на гейт).

Такава малка дебелина на диелектрика е необходима, за да се получат не само малките размери на транзистора като цяло, но и за най-високата му производителност (заредените частици се движат по-бързо през портата, в резултат на което такъв VT може да превключи до 10 милиарда пъти в секунда). Казано по-просто, колкото по-близо е гейтът до канала на транзистора (тоест колкото по-тънък е диелектрикът), толкова „по-голямо влияние“ по отношение на скоростта ще има върху електроните и дупките в канала на транзистора.

Следователно значението на откритието на учените от Intel не може да бъде подценено. След пет години изследвания в лаборатории, корпорациите са разработили специален материал, който може да замени традиционния силициев диоксид в конвенционалния начин за производство на чипове. Изискванията за такъв материал са много сериозни: висока химична и механична (на атомно ниво) съвместимост със силиций, лекота на производство в един цикъл на традиционния силициев процес, но най-важното, ниски течове и висока диелектрична константа.


Ако се борим с течове, тогава дебелината на диелектрика трябва да се увеличи до поне 2-3 nm (вижте фигурата по-горе). За да се поддържа същият наклон на транзистора (зависимост на тока от напрежението), е необходимо пропорционално да се увеличи диелектричната константа на диелектричния материал. Ако пропускливостта на насипния силициев диоксид е 4 (или малко по-малко в ултратънки слоеве), тогава разумна стойност за диелектричната константа на новия диелектрик на "Intel" може да се счита за около 10-12. Въпреки факта, че има много материали с такава диелектрична константа (кондензаторна керамика или монокристален силиций), факторите на технологичната съвместимост на материалите са не по-малко важни тук. Поради това беше разработен процес на отлагане с висока точност за новия материал с високо k, по време на който един молекулярен слой от този материал се формира в един цикъл.


Въз основа на тази картина можем да предположим, че новият материал също е оксид. Освен това монооксид, което означава използването на материали главно от втората група, например магнезий, цинк или дори мед.

Но въпросът не се ограничава до диелектрика. Също така беше необходимо да се промени самият материал на затвора - обичайният поликристален силиций. Факт е, че замяната на силициевия диоксид с диелектрик с висок k води до проблеми при взаимодействие с поликристален силиций (широката лента на транзистора определя минималното възможно напрежение за него). Тези проблеми могат да бъдат елиминирани, ако се използват специални метали за портите на двата вида транзистори (n-MOS и p-MOS) в комбинация със специални технологичен процес. Тази комбинация от материали постига рекордна производителност на транзистора и уникално ниски токове на утечка, 100 пъти по-малко от сегашните материали (вижте графиката). В този случай вече няма изкушение да се използва много по-скъпата технология SOI (силиций върху изолатор) за борба с течовете, както правят някои големи производители на микропроцесори.


Отбелязваме и друга технологична иновация от Intel - технологията на напрегнат силиций, която се използва за първи път в 90-нанометровите процесори Prescott и Dothan. И накрая, Intel разкри подробно как точно се формират напрегнати силициеви слоеве в неговите CMOS структури. Клетката CMOS се състои от два транзистора - n-MOS и p-MOS (виж фигурата).


В първия (n-MOS) транзисторният канал (n-канал) провежда ток с помощта на електрони (отрицателно заредени частици), а във втория (p-MOS) - с помощта на дупки (условно положително заредени частици). Съответно механизмите на образуване на напрегнат силиций в тези два случая са различни. За n-MOS транзистор се използва външно покритие със слой от силициев нитрид (Si3N4), който поради механични напрежения леко (част от процента) разтяга (по посока на протичане на тока) силициевата кристална решетка под вратата, в резултат на което работният ток на канала се увеличава с 10% (относително казано, става по-просторно за движение на електрони в посока на канала). В p-MOS транзисторите е вярно обратното: силициево-германиево съединение (SiGe) се използва като материал на субстрата (по-точно, само областите на източване и източник), което леко компресира силициевата кристална решетка под портата в посока на канала. Следователно става „по-лесно“ за дупките да се „движат“ през акцепторни примесни атоми и работният ток на канала се увеличава с 25%. Комбинацията от двете технологии дава 20-30 процента увеличение на тока. По този начин използването на напрегната силициева технология и в двата типа устройства (n-MOS и p-MOS) води до значително увеличение на производителността на транзисторите, като същевременно увеличава производствените им разходи само с ~2% и позволява създаването на по-малки транзистори следващите поколения. Intel планира да използва напрегнат силиций за всички бъдещи технологични процеси до 22 nm.

Съвременните микропроцесори са най-бързите и най-умните чипове в света. Те могат да извършват до 4 милиарда операции в секунда и се произвеждат с помощта на много различни технологии. От началото на 90-те години на ХХ век, когато процесорите влязоха в масова употреба, те преминаха през няколко етапа на развитие. Апогеят на развитието на микропроцесорни структури, използващи съществуващи микропроцесорни технологии от 6-то поколение, се счита за 2002 г., когато стана възможно да се използват всички основни свойства на силиция за получаване на високи честоти с минимални загуби при производството и създаването на логически схеми. Сега ефективността на новите процесори намалява донякъде, въпреки постоянното увеличаване на честотата на работа на кристалите, тъй като силициевите технологии се доближават до границата на своите възможности.

Всички съвременни процесори използват транзистори с полеви ефекти. Преходът към нов технически процес прави възможно създаването на транзистори с по-високи честоти на превключване, по-ниски токове на утечка и по-малки размери. Намаляването на размера едновременно намалява площта на матрицата и следователно разсейването на топлината, а по-тънкият затвор позволява подаване на по-ниско комутационно напрежение, което също намалява консумацията на енергия и разсейването на топлината.

От гледна точка на домашен потребител, не всички функционалностпроцесорите са наистина търсени. Да, за домашна употребаТехнологията за виртуализация е абсолютно ненужна, така че няма смисъл да се фокусирате върху това дали инсталираният във вашия компютър процесор я поддържа.

Tтехнологии и пазар

Сега има интересна тенденция на пазара: от една страна, производствените компании се опитват да въведат нови технически процеси и технологии в своите нови продукти възможно най-бързо, от друга страна, има изкуствено ограничаване на растежа на процесорите честоти. Първо, търговците смятат, че пазарът не е напълно готов за следващата промяна в семействата процесори и компаниите все още не са получили достатъчно печалба от обема на продажбите на процесорите, които се произвеждат в момента - запасите все още не са изсъхнали. Доста забележимо е превесът на важността на цената на готовия продукт над всички други интереси на компаниите. Второ, значително намаляване на ставката„честотната надпревара“ е свързана с разбирането за необходимостта от въвеждане на нови технологии, които действително повишават производителността с минимални технологични разходи. Както вече беше отбелязано, производителите срещнаха проблеми при преминаването към нови технически процеси. микропроцесорно компютърно програмиране

Технологичната норма от 90 nm се оказа доста сериозна технологична бариера за много производители на чипове. Това се потвърждава от TSMC, която произвежда чипове за много пазарни гиганти, като AMD, nVidia, ATI, VIA. Дълго време не беше в състояние да организира производството на чипове по технология 0,09 микрона, което доведе до нисък добив на използваеми кристали. Това е и една от причините AMD дълго да отлагат пускането на своите процесори с технологията SOI (Silicon-on-Insulator). Закъсненията се дължат на факта, че именно при това измерение на елементите започнаха да се проявяват силно всички видове преди това не толкова забележими негативни фактори: токове на утечка, голямо разсейване на параметрите и експоненциално увеличение на генерирането на топлина. Нека да го разберем по ред.

Както знаете, има два тока на утечка: ток на утечка на затвора и подпрагово утечка. Първият е причинен от спонтанното движение на електрони между субстрата на силициевия канал и полисилициевия порт. Второто е спонтанното движение на електрони от източника на транзистора към изтичането. И двата ефекта водят до необходимостта от увеличаване на захранващото напрежение, за да се контролират токовете в транзистора, а това се отразява негативно на разсейването на топлината. И така, чрез намаляване на размера на транзистора, ние преди всичко намаляваме неговия гейт и слоя от силициев диоксид (SiO2), който е естествена бариера между гейта и канала. От една страна, това подобрява скоростта на транзистора (времето за превключване), но от друга страна, увеличава утечката. Тоест, получава се някакъв омагьосан кръг. Така че преходът към 90 nm е още едно намаляване на дебелината на диоксидния слой и в същото време увеличаване на течовете. Борбата с течовете означава отново увеличаване на управляващите напрежения и съответно значително увеличаване на генерирането на топлина. Всичко това доведе до забавяне на въвеждането на нов технически процес от конкурентите на пазара на микропроцесори - Intel и AMD.

Една алтернатива е използването на технологията SOI (силиций върху изолатор), която AMD наскоро въведе в своите 64-битови процесори. Това обаче й коства много усилия и преодоляване на голям брой свързани с това трудности. Но самата технология предоставя огромен брой предимства със сравнително малък брой недостатъци. Същността на технологията като цяло е съвсем логична - транзисторът е отделен от силиконовата подложка с друг тънък слой изолатор. Има много предимства. Няма неконтролирано движение на електрони под канала на транзистора, което да влияе на електрическите му характеристики - този път. След прилагане на отключващия ток към портата, времето за йонизация на канала до работно състояние (до преминаване на работния ток през него) се намалява, т.е. подобрява се вторият ключов параметър на производителността на транзистора, времето за включване/изключване е две. Или при същата скорост можете просто да намалите тока на отключване - това са три. Или намерете някакъв компромис между увеличаване на скоростта на работа и намаляване на напрежението. При поддържане на същия ток на затвора, увеличението на производителността на транзистора може да бъде до 30%; ако оставите честотата същата, като се фокусирате върху спестяването на енергия, тогава плюсът може да бъде голям - до 50%. И накрая, характеристиките на канала стават по-предсказуеми и самият транзистор става по-устойчив на спорадични грешки, като тези, причинени от космически частици, удрящи се в субстрата на канала и неочаквано го йонизиращи. Сега, когато попаднат в субстрата, разположен под изолационния слой, те по никакъв начин не влияят на работата на транзистора. Единственият недостатък на SOI е, че дълбочината на областта на емитер/колектор трябва да бъде намалена, което пряко и пряко влияе върху увеличаването на съпротивлението му с намаляване на дебелината.

И накрая, третата причина, която допринесе за забавянето на растежа на честотата, е ниската активност на конкурентите на пазара. Може да се каже, че всеки беше зает със собствения си бизнес. AMD беше ангажирана с широкото въвеждане на 64-битови процесори; за Intel това беше период на подобряване на новия технически процес и отстраняване на грешки, за да се увеличи добивът на използваеми кристали.

Бъдещи микропроцесорни технологии

Известно е, че съществуващите CMOS транзистори имат много ограничения и няма да позволят повишаване на честотите на процесора в близко бъдеще толкова безболезнено. В края на 2003 г. на конференцията в Токио специалисти Intel направи много важно съобщение за разработването на нови материали за полупроводникови транзистори на бъдещето.

На първо място, говорим за нов диелектрик на транзисторния затвор с висока диелектрична константа (т.нар. „high-k” материал), който ще се използва за замяна на използвания днес силициев диоксид (SiO2), както и нови метални сплави, съвместими с новия затворен диелектрик.

Решението, предложено от изследователите, намалява тока на утечка 100 пъти, което прави възможно да се доближи до внедряването на производствен процес с проектна норма от 45 нанометра. Оценява се от експерти като малка революция в света на микроелектронните технологии. За да разберем за какво говорим, нека първо да разгледаме обикновен MOS транзистор (Фигура 1), на базата на който са направени най-сложните процесори.

Фигура 1 - MOSFET транзистор

В него проводящият полисилициев гейт е отделен от канала на транзистора с тънък (само 1,2 nm или 5 атома дебелина) слой от силициев диоксид (материал, използван от десетилетия като диелектрик на гейт).

Такава малка дебелина на диелектрика е необходима, за да се получат не само малките размери на транзистора като цяло, но и за най-високата му производителност (заредените частици се движат по-бързо през портата, в резултат на което такъв VT може да превключи до 10 милиарда пъти в секунда). Казано по-просто, колкото по-близо е гейтът до канала на транзистора (тоест колкото по-тънък е диелектрикът), толкова „по-голямо влияние“ по отношение на скоростта ще има върху електроните и дупките в канала на транзистора.

Ако се борим с течове, тогава дебелината на диелектрика трябва да се увеличи до поне 2-3 nm (вижте фигурата по-горе). За да се поддържа същият наклон на транзистора (зависимост на тока от напрежението), е необходимо пропорционално да се увеличи диелектричната константа на диелектричния материал. Ако пропускливостта на насипния силициев диоксид е 4 (или малко по-малко в ултратънки слоеве), тогава разумна стойност за диелектричната константа на новия диелектрик на "Intel" може да се счита за около 10-12. Въпреки факта, че има много материали с такава диелектрична константа (кондензаторна керамика или монокристален силиций), факторите на технологичната съвместимост на материалите са не по-малко важни тук. Поради това беше разработен процес на отлагане с висока точност за новия материал с високо k, по време на който един молекулярен слой от този материал се формира в един цикъл (Фигура 2).


Фигура 2 - Образуване на един молекулен слой в един цикъл

Въз основа на фигура 2 може да се предположи, че новият материал също е оксид. Освен това монооксид, което означава използването на материали главно от втората група, например магнезий, цинк или дори мед.

Но въпросът не се ограничава до диелектрика. Също така беше необходимо да се промени самият материал на затвора - обичайният поликристален силиций. Факт е, че замяната на силициев диоксид с диелектрик с висок k води до проблеми с взаимодействието с поликристален силиций (широката лента на транзистора определя минималното възможно напрежение за него). Тези проблеми могат да бъдат отстранени чрез използване на специални метали за гейтовете на двата вида транзистори в комбинация със специален технологичен процес. Тази комбинация от материали постига рекордна производителност на транзистора и уникално ниски токове на утечка, 100 пъти по-ниски от сегашните материали. В този случай вече няма изкушение да се използва много по-скъпа SOI технология за борба с течовете, както правят някои големи производители на микропроцесори.



Свързани публикации