LatticeMico32
LatticeMico32 — 32-розрядне програмне ядро процесора, розроблене компанією Lattice Semiconductor і оптимізоване для FPGA. Процесор має гарвардську архітектуру з розділеними шинами команд і даних. При потребі об'єднання шин може використовуватись спеціальний арбітр.
Розробка | Lattice Semiconductor |
---|---|
Розрядність | 32-bit |
Поява | 2006 |
Тип архітектури | RISC |
Інструкції | 32-розрядні |
Реалізація переходів | «порівняти і перейти» |
Порядок байтів | big-endian |
Розширення | визначаються проектантом |
Відкритий дизайн | так |
Регістри | |
Загального призначення | 32 |
Ліцензія на 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 для пам'яті (один лише для читання — для шини команд, другий для читання і запису — для шини даних і периферії)
- Ввід/вивід з відображенням на пам'ять
Програмні інструменти
Наступні програмні інструменти можуть використовуватися для розробки програм для LatticeMico32:
- Компілятори з набору GNU Compiler Collection (LatticeMico32 підтримується, починаючи з версії GCC 4.5.0)
- Інструменти GNU Binutils (асемблер, компонувальник, objcopy та інші програми; LatticeMico32 підтримується з версії binutils 2.19)
- Зневаджувач GNU Debugger (gdb)
- Інтегроване середовище розробки Eclipse
- Бібліотека функцій C Newlib
- ОС реального часу MicroC/OS-II, µITRON, RTEMS
- Операційна система μClinux
Див. також
- Milkymist LatticeMico32-based System on a chip
Джерела
- AMD x86 SMU firmware analysis. 27 грудня 2014.
Посилання
- Lattice's LatticeMico32 web site
- uCLinux port to the Milkymist SoC (that uses LatticeMico32)
- ERIKA Enterprise (OSEK/VDX API) porting for LatticeMico32
- LatticeMico32 emulator in JavaScript (cf. Fabrice Bellard's jslinux)
Шаблон:Програмована логіка