LatticeMico32 — 32-розрядне програмне ядро процесора, розроблене компанією Lattice Semiconductor і оптимізоване для FPGA. Процесор має гарвардську архітектуру з розділеними шинами команд і даних. При потребі об'єднання шин може використовуватись спеціальний арбітр.
Ліцензія на LatticeMico32 є вільною[яка?], що означає можливість легального використання програмного ядра з будь-якою мікросхемою FPGA (не лише виробництва Lattice) або ASIC, а також у програмних емуляторах (таких, як QEMU). Як приклади апаратних платформ для Mico32 можна назвати FPGA Xilinx і Altera.
Опис ядра процесора і всі інструменти розробки доступні у форматі з відкритим початковим кодом. Таким чином, будь-хто може при потребі вносити зміни у архітектуру процесора.
Приклади використання
Рудольфом Мареком (чеськ. Rudolf Marek) було з'ясовано, що ядро LatticeMico32 вбудоване у деякі процесори AMD (сімейства 15h і 16h).[1]
Особливості архітектури
- Архітектура RISC load/store
- 6-стадійний конвеєр
- 32-розрядна внутрішня шина даних
- 32-розрядні (тобто, 4-байтові) інструкції
- 32 регістри процесора загального призначення (регістр R0, як правило, повертає нуль, але може бути сконфігурований і для інших значень)
- До 32 зовнішніх переривань
- Конфігурований набір команд; інструкції, що визначаються користувачем
- Опційні кеші з можливістю конфігурування
- Опційно конвеєризована пам'ять[що це?]
- Два інтерфейси Wishbone[en] для пам'яті (один лише для читання — для шини команд, другий для читання і запису — для шини даних і периферії)
- Ввід/вивід з відображенням на пам'ять
Програмні інструменти
Наступні програмні інструменти можуть використовуватися для розробки програм для LatticeMico32:
Див. також
- Milkymist LatticeMico32-based System on a chip
Джерела
- ↑ AMD x86 SMU firmware analysis. 27 грудня 2014. Архів оригіналу за 4 вересня 2018. Процитовано 13 серпня 2019.
Посилання
- Lattice's LatticeMico32 web site [Архівовано 13 серпня 2019 у Wayback Machine.]
- uCLinux port to the Milkymist SoC (that uses LatticeMico32)
- ERIKA Enterprise (OSEK/VDX API) porting for LatticeMico32
- LatticeMico32 emulator in JavaScript [Архівовано 27 квітня 2019 у Wayback Machine.] (cf. Fabrice Bellard's jslinux)
Мікропроцесори архітектури RISC |
---|
| Дійсні | |
---|
| Колишні | |
---|
|
|
---|
| - LatticeMico8
- LatticeMico32
- LEON
- eSi-RISC
- MicroBlaze
- Nios
- Nios II
- OpenRISC
- OpenSPARC
- PicoBlaze
- Oberon-FPGA
- Zet
|
|
Програмована логіка |
---|
| Концепти | |
---|
| Мови | |
---|
| Компанії | |
---|
| Продукти | Апаратне забезпечення | |
---|
| Програми | |
---|
| Intellectual property | Власницьке | - ARC
- ARM Cortex-M
- LEON
- LatticeMico8
- MicroBlaze
- PicoBlaze
- Nios
- Nios II
|
---|
| Open-source | - JOP
- LatticeMico32
- OpenCores
- OpenRISC
- Power ISA
- RISC-V
- Zet
|
---|
|
---|
|
---|
|