Nios II — архітектура 32-розрядного програмного мікропроцесора RISC від компанії Altera. Архітектура спеціально спроектована і оптимізована для FPGA Altera, і є розвитком попередньої 16-бітної архітектури . Починаючи з FPGA Altera Quartus підтримується модуль керування пам'яттю (англ. Memory Management Unit — MMU), що забезпечує запуск операційної системи, наприклад Linux. Без MMU на процесорі можна запустити спрощені операційні системи, такі як FreeRTOS або [en].
До ключових особливостей процесора відносять можливість вбудовувати додаткову логіку за допомогою користувацьких команд.
Версії
Процесор Nios II забезпечує високий ступінь гнучкості, оскільки Altera пропонує три версії системи, що різняться експлуатаційними вимогами, вартістю та площею кристалу. Nios II/f (fast) призначений для забезпечення високої продуктивності виконання, Nios II/e (economy) забезпечує найменший розмір самого ядра і підходить для застосувань, що вимагають простої логіки керування. Середнє положення між ними займає Nios II/s (standard), адже використовується на 20% менше логічних елементів та ресурсів плати, ніж Nios II/f за рахунок продуктивності (на 40% ніж Nios II/f).
Властивості Nios
- окремі кеші для команд та даних, розміри яких визначаються користувачем: від 512 байт до 64 КБ;
- додатковий MMU для підтримки операційних систем, які цього вимагають;
- додатковий блок захисту пам'яті (англ. Memory Protection Unit — MPU) для підтримки операційних систем і середовищ виконання, які мають механізм захисту пам'яті, але не потребують віртуальної пам'яті;
- доступ до 2 ГБ (за відсутності MMU), або 4 гігабайті (коли MMU присутній) віртуального адресного простору, поділеного на розділи: верхні 2 ГБ зарезервовані для операційної системи, а нижні 2 — для користувацьких процесів. З пам'яті, виділеної для операційної системи, 512 МБ необхідно для доступу до периферійних пристроїв, ще 512 відведено для її ядра, решта використовується TLB і процесами ядра;
- підтримка інтерфейсу додаткового контролеру зовнішніх переривань (англ. External Interface Controller — EIC), що забезпечує налаштування пріоритетів переривань;
- підтримка додаткових наборів тіньових регістрів для зменшення затримки при обробці переривань;
- шестиступінчатий конвеєр та динамічне прогнозування переходів;
- апаратні команди множення, ділення та зсуву для збільшення ефективності арифметичних інструкцій;
- підтримка додавання користувацьких команд;
- підтримка модуля налагодження JTAG та апаратних точок зупинки.
Набір команд
Усі команди процесора є 32-розрядними та діляться на три типи: I, R та J. Команди першого класу мають константи, записані в командному слові. В командах другого типу всі аргументи та результати визначаються через номери регістрів. Нарешті, останній клас команд має 26-бітне поле констант, що використовуються як адреси переходу.
Інструкції передавання даних
Процесор Nios II реалізує типову архітектуру load/store («завантажити/зберегти»), тому всі переміщення даних між регістрами, пам'яттю та периферійними пристроями виконуються цими командами. Пам'ять та периферійні пристрої поділяють загальний адресний простір.
Арифметичні й логічні команди
Дані для арифметично-логічного блоку мікропроцесора зберігаються в регістрах загального призначення, а після виконання операції, результат зберігається теж в регістрі.
Логічні операції представлені операціями І, АБО, ВИКЛЮЧНЕ АБО та НЕ, арифметичні включають команди додавання, віднімання. Також існує одна команда виконання множення 32-бітних операндів та ділення (з 32-розрядним результатом) та спеціалізовані команди для множення 64- та 128-бітних чисел.
Ядро Nios II надає кілька варіантів для підвищення продуктивності множення, ділення та операцій зсуву. Їх реалізація залежить від особливостей цільової платформи: наприклад, в ПЛІС Altera для прискорення можуть бути задіяні апаратні перемножувачі.
Інструкції move
Ці команди забезпечують переміщення операндів, копіювання значень регістрів та констант в регістри.
Команди порівняння
Оператори рівності й відносин в мові C мають відповідні команди порівняння двох регістрів чи констант на мові асемблер Nios II.
Зсув та циклічний зсув
Для команд зсуву необхідно задати кількість біт константою або в регістрі.
Команди керування виконанням програми
Архітектура Nios II підтримує всі типи команд переходу: безумовні, умовні та виклики підпрограм. Умовні інструкції порівнюють значення регістрів безпосередньо та виконують перехід при виконанні умови. Всі ці команди не мають затримок виконання.
Інші команди керування
Ці операції включають в себе інструкцію перерви[], пастки[] та читання й запису в спеціальні регістри.
Користувацькі інструкції
Архітектура Nios II підтримує описані користувачем апаратні інструкції, використання яких відбувається так само, як і звичайних команд. Застосування апаратних користувацьких інструкцій виправдане у програмах, що інтенсивно працюють.[] Команди обробки чисел з рухомою комою реалізовані як користувацькі і є додатковою частиною ядра. Базовий їх набір включає додавання, віднімання та множення з одинарною точністю, згідно стандарту IEEE 754–1985.
Нереалізовані команди
Деякі конфігурації процесора не підтримують весь набір інструкцій Nios II. У такому ядрі, операції без апаратної підтримки відомі як нереалізовані команди. При виклику такої команди процесор генерує виняткову ситуацію, обробник якої може викликати підпрограму, що емулює роботу в програмному забезпеченні. Таким чином, нереалізовані інструкції не впливають на програміста процесора.
Регістровий файл
Архітектура Nios II має регістровий файл, що складається з тридцяти двох 32-розрядних регістрів загального призначення, і до тридцяти двох 32-бітних регістрів керування. Архітектура підтримує два режими: адміністратора та користувача, що дозволяє коду системи захистити керуючі регістри від помилкових додатків.[]
Процесор Nios II може мати до 63 наборів тіньових регістрів. Типове використання цих наборів полягає у прискоренні перемикання контексту. Коли тіньові регістрові набори реалізовані, процесор використовує дві спеціальні команди: rdprs
та wrprs
, що переміщують дані між регістрами. Реєстрацією тіньових наборів зазвичай піклується ядро операційної системи, вони прозорі для коду програми.
Регістр | Назва | Призначення |
---|---|---|
r0 | zero | Завжди має нульовий вміст, запис будь-чого неможливий |
r1 | at | Тимчасове зберігання даних асемблером |
r2-r3 | Значення, що повертаються | |
r4-r7 | Аргументи | |
r8-r15 | Регістри загального призначення для коду, що викликає | |
r16-r23 | Регістри загального призначення для коду, який викликається | |
r24 | et | Тимчасове зберігання даних виняткової ситуації |
r25 | bt | Тимчасове зберігання даних точки зупинки (для JTAG) |
r26 | gp | Глобальний вказівник |
r27 | sp | Вказівник стеку |
r28 | fp | Вказівник фреймів |
r29 | ea | Адреса повернення виняткової ситуації |
r30 | ba | Адреса повернення точки зупинки |
r31 | ra | Адреса повернення |
Див. також
Джерела
- Функції MMU — керування доступом до пам'яті, трансляція віртуальних адрес у фізичні, керування кешем[], захист сторінок пам'яті.
Посилання
- Nios II Processor Reference Handbook [ 11 червня 2014 у Wayback Machine.] (англ.)
Це незавершена стаття про апаратне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nios II arhitektura 32 rozryadnogo programnogo mikroprocesora RISC vid kompaniyi Altera Arhitektura specialno sproektovana i optimizovana dlya FPGA Altera i ye rozvitkom poperednoyi 16 bitnoyi arhitekturi Pochinayuchi z FPGA Altera Quartus pidtrimuyetsya modul keruvannya pam yattyu angl Memory Management Unit MMU sho zabezpechuye zapusk operacijnoyi sistemi napriklad Linux Bez MMU na procesori mozhna zapustiti sprosheni operacijni sistemi taki yak FreeRTOS abo en Strukturna shema procesora Sinim poznacheno obov yazkovi moduli Do klyuchovih osoblivostej procesora vidnosyat mozhlivist vbudovuvati dodatkovu logiku za dopomogoyu koristuvackih komand VersiyiProcesor Nios II zabezpechuye visokij stupin gnuchkosti oskilki Altera proponuye tri versiyi sistemi sho riznyatsya ekspluatacijnimi vimogami vartistyu ta plosheyu kristalu Nios II f fast priznachenij dlya zabezpechennya visokoyi produktivnosti vikonannya Nios II e economy zabezpechuye najmenshij rozmir samogo yadra i pidhodit dlya zastosuvan sho vimagayut prostoyi logiki keruvannya Serednye polozhennya mizh nimi zajmaye Nios II s standard adzhe vikoristovuyetsya na 20 menshe logichnih elementiv ta resursiv plati nizh Nios II f za rahunok produktivnosti na 40 nizh Nios II f Vlastivosti Niosokremi keshi dlya komand ta danih rozmiri yakih viznachayutsya koristuvachem vid 512 bajt do 64 KB dodatkovij MMU dlya pidtrimki operacijnih sistem yaki cogo vimagayut dodatkovij blok zahistu pam yati angl Memory Protection Unit MPU dlya pidtrimki operacijnih sistem i seredovish vikonannya yaki mayut mehanizm zahistu pam yati ale ne potrebuyut virtualnoyi pam yati dostup do 2 GB za vidsutnosti MMU abo 4 gigabajti koli MMU prisutnij virtualnogo adresnogo prostoru podilenogo na rozdili verhni 2 GB zarezervovani dlya operacijnoyi sistemi a nizhni 2 dlya koristuvackih procesiv Z pam yati vidilenoyi dlya operacijnoyi sistemi 512 MB neobhidno dlya dostupu do periferijnih pristroyiv she 512 vidvedeno dlya yiyi yadra reshta vikoristovuyetsya TLB i procesami yadra pidtrimka interfejsu dodatkovogo kontroleru zovnishnih pererivan angl External Interface Controller EIC sho zabezpechuye nalashtuvannya prioritetiv pererivan pidtrimka dodatkovih naboriv tinovih registriv dlya zmenshennya zatrimki pri obrobci pererivan shestistupinchatij konveyer ta dinamichne prognozuvannya perehodiv aparatni komandi mnozhennya dilennya ta zsuvu dlya zbilshennya efektivnosti arifmetichnih instrukcij pidtrimka dodavannya koristuvackih komand pidtrimka modulya nalagodzhennya JTAG ta aparatnih tochok zupinki Nabir komandUsi komandi procesora ye 32 rozryadnimi ta dilyatsya na tri tipi I R ta J Komandi pershogo klasu mayut konstanti zapisani v komandnomu slovi V komandah drugogo tipu vsi argumenti ta rezultati viznachayutsya cherez nomeri registriv Nareshti ostannij klas komand maye 26 bitne pole konstant sho vikoristovuyutsya yak adresi perehodu Instrukciyi peredavannya danih Procesor Nios II realizuye tipovu arhitekturu load store zavantazhiti zberegti tomu vsi peremishennya danih mizh registrami pam yattyu ta periferijnimi pristroyami vikonuyutsya cimi komandami Pam yat ta periferijni pristroyi podilyayut zagalnij adresnij prostir Arifmetichni j logichni komandi Dani dlya arifmetichno logichnogo bloku mikroprocesora zberigayutsya v registrah zagalnogo priznachennya a pislya vikonannya operaciyi rezultat zberigayetsya tezh v registri Logichni operaciyi predstavleni operaciyami I ABO VIKLYuChNE ABO ta NE arifmetichni vklyuchayut komandi dodavannya vidnimannya Takozh isnuye odna komanda vikonannya mnozhennya 32 bitnih operandiv ta dilennya z 32 rozryadnim rezultatom ta specializovani komandi dlya mnozhennya 64 ta 128 bitnih chisel Yadro Nios II nadaye kilka variantiv dlya pidvishennya produktivnosti mnozhennya dilennya ta operacij zsuvu Yih realizaciya zalezhit vid osoblivostej cilovoyi platformi napriklad v PLIS Altera dlya priskorennya mozhut buti zadiyani aparatni peremnozhuvachi Instrukciyi move Ci komandi zabezpechuyut peremishennya operandiv kopiyuvannya znachen registriv ta konstant v registri Komandi porivnyannya Operatori rivnosti j vidnosin v movi C mayut vidpovidni komandi porivnyannya dvoh registriv chi konstant na movi asembler Nios II Zsuv ta ciklichnij zsuv Dlya komand zsuvu neobhidno zadati kilkist bit konstantoyu abo v registri Komandi keruvannya vikonannyam programi Arhitektura Nios II pidtrimuye vsi tipi komand perehodu bezumovni umovni ta vikliki pidprogram Umovni instrukciyi porivnyuyut znachennya registriv bezposeredno ta vikonuyut perehid pri vikonanni umovi Vsi ci komandi ne mayut zatrimok vikonannya Inshi komandi keruvannya Ci operaciyi vklyuchayut v sebe instrukciyu perervi utochniti pastki utochniti ta chitannya j zapisu v specialni registri Mehanizm vbudovuvannya koristuvackih operacij Koristuvacki instrukciyi Arhitektura Nios II pidtrimuye opisani koristuvachem aparatni instrukciyi vikoristannya yakih vidbuvayetsya tak samo yak i zvichajnih komand Zastosuvannya aparatnih koristuvackih instrukcij vipravdane u programah sho intensivno pracyuyut sho Komandi obrobki chisel z ruhomoyu komoyu realizovani yak koristuvacki i ye dodatkovoyu chastinoyu yadra Bazovij yih nabir vklyuchaye dodavannya vidnimannya ta mnozhennya z odinarnoyu tochnistyu zgidno standartu IEEE 754 1985 Nerealizovani komandi Deyaki konfiguraciyi procesora ne pidtrimuyut ves nabir instrukcij Nios II U takomu yadri operaciyi bez aparatnoyi pidtrimki vidomi yak nerealizovani komandi Pri vikliku takoyi komandi procesor generuye vinyatkovu situaciyu obrobnik yakoyi mozhe viklikati pidprogramu sho emulyuye robotu v programnomu zabezpechenni Takim chinom nerealizovani instrukciyi ne vplivayut na programista procesora Registrovij fajlArhitektura Nios II maye registrovij fajl sho skladayetsya z tridcyati dvoh 32 rozryadnih registriv zagalnogo priznachennya i do tridcyati dvoh 32 bitnih registriv keruvannya Arhitektura pidtrimuye dva rezhimi administratora ta koristuvacha sho dozvolyaye kodu sistemi zahistiti keruyuchi registri vid pomilkovih dodatkiv sho Procesor Nios II mozhe mati do 63 naboriv tinovih registriv Tipove vikoristannya cih naboriv polyagaye u priskorenni peremikannya kontekstu Koli tinovi registrovi nabori realizovani procesor vikoristovuye dvi specialni komandi rdprs ta wrprs sho peremishuyut dani mizh registrami Reyestraciyeyu tinovih naboriv zazvichaj pikluyetsya yadro operacijnoyi sistemi voni prozori dlya kodu programi Registr Nazva Priznachennya r0 zero Zavzhdi maye nulovij vmist zapis bud chogo nemozhlivij r1 at Timchasove zberigannya danih asemblerom r2 r3 Znachennya sho povertayutsya r4 r7 Argumenti r8 r15 Registri zagalnogo priznachennya dlya kodu sho viklikaye r16 r23 Registri zagalnogo priznachennya dlya kodu yakij viklikayetsya r24 et Timchasove zberigannya danih vinyatkovoyi situaciyi r25 bt Timchasove zberigannya danih tochki zupinki dlya JTAG r26 gp Globalnij vkazivnik r27 sp Vkazivnik steku r28 fp Vkazivnik frejmiv r29 ea Adresa povernennya vinyatkovoyi situaciyi r30 ba Adresa povernennya tochki zupinki r31 ra Adresa povernennyaDiv takozhLatticeMico32 Programnij mikroprocesorDzherelaFunkciyi MMU keruvannya dostupom do pam yati translyaciya virtualnih adres u fizichni keruvannya keshem dzherelo zahist storinok pam yati PosilannyaNios II Processor Reference Handbook 11 chervnya 2014 u Wayback Machine angl Ce nezavershena stattya pro aparatne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi