https://github.com/cybersecurity-dev/mips-embedded-toolkit
MIPS based Embedded Device Toolkit
https://github.com/cybersecurity-dev/mips-embedded-toolkit
embedded embedded-systems mips mips-architecture mips-assembly mips-instructions mips-processor
Last synced: 28 days ago
JSON representation
MIPS based Embedded Device Toolkit
- Host: GitHub
- URL: https://github.com/cybersecurity-dev/mips-embedded-toolkit
- Owner: cybersecurity-dev
- License: apache-2.0
- Created: 2025-04-28T12:44:55.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-28T12:49:29.000Z (6 months ago)
- Last Synced: 2025-04-28T13:56:49.941Z (6 months ago)
- Topics: embedded, embedded-systems, mips, mips-architecture, mips-assembly, mips-instructions, mips-processor
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MIPS based Embedded Device Toolkit
The **MIPS** (_Microprocessor without Interlocked Pipeline Stages_) architecture is a RISC (_Reduced Instruction Set Computer_) instruction set architecture (ISA) initially developed by MIPS Computer Systems in the early 1980s. It's known for its clean, simple design and has been influential in computer architecture education.
Install required tools on Linux
### For Ubuntu 18.04, 20.04, 22.04
```bash
sudo apt-get update
```
Install required python libs
### pip install
```bash
pip install -r requirements.txt
python3 setup.py install
```
### conda install
```bash
conda config --add channels conda-forge
conda install --file requirements_conda.txt
python3 setup.py install
```
| Feature | MIPS (Microprocessor without Interlocked Pipeline Stages) | ARM (Advanced RISC Machines) |
|----------------------|---------------------------------------------------------|-----------------------------|
| **Instruction Set** | Primarily 32-bit fixed length, load-store architecture | Variable length (mostly 32-bit, with 16-bit Thumb) |
| **Instruction Format**| Fewer formats (R, I, J types) | More complex and numerous formats |
| **Registers** | 32 general-purpose registers | Up to 32 general-purpose registers (32-bit or 64-bit) |
| **Addressing Modes** | Simpler addressing modes | More complex and flexible addressing modes |
| **Execution** | Focus on single-cycle execution for most instructions | Emphasis on low power consumption and efficiency |
| **Branching** | Delayed branches | Conditional execution of many instructions |
| **Data Alignment** | Strict data alignment requirements | More flexible data alignment |
| **Endianness** | Configurable (Big or Little Endian) | Bi-endian (configurable, often Little Endian by default) |
| **History & Usage** | Historically used in embedded systems, networking, workstations; popular for teaching RISC concepts | Dominant in mobile devices, embedded systems, and increasingly in servers and desktops |
| **SIMD Extensions** | MIPS-3D, MDMX | NEON, SVE, SVE2 |
| **Power Consumption** | Generally higher | Generally lower |
| **Complexity** | Simpler instruction set and architecture | More complex instruction set and architecture |