this post was submitted on 26 Dec 2023
128 points (99.2% liked)

Technology

59187 readers
2372 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Note: I am not affiliated with the project

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (1 children)

there are use cases, such as security, where you want as few instructions as possible, so a full ARM processor isn't the best idea. You may want to read the threat model page: https://tillitis.se/products/threat-model/

[–] [email protected] 2 points 10 months ago (1 children)

On the contrary, RISC-V is typically bigger and less efficient than Cortex-M7 on the Teensy.

There are 10-cent ARM Cortex M0+ processors (M0+ being the smallest ARM). M7 is kinda-small. ARM scales to different sizes and power-efficiencies.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago) (1 children)

in this case the instruction set is extremely small (and includes open source verilog, so you could even fab it yourself)

quote from the website:

The CPU of the TKey is a modified version of PicoRV32, 32-bit RISC-V running at 18 MHz. Modifications includes a fast 32x32 multiplier implemented using the multiplier blocks in the iCE40 DSPs as well as a HW trap function.

The supported instruction set supported by the CPU is a subset of RV32I. Specifically it includes compressed instructions, but excludes instructions for:

  • Counters
  • System
  • Synch
  • CSR access
  • Change level
  • Trap redirect
  • Interrupt
  • MMU

The instruction set implemented by the CPU also includes multiplication instructions from the RV32IC_Zmmul (-march=rv32iczmmul) extension. Division is not supported.

Any illegal, unsupported instruction will halt the CPU. The halted CPU is detected by the hardware, which will blink the RGB LED with red to indicate the error state. There is no way for the CPU to exit the trap state besides a power cycle of the device.

Note that the CPU has no support for interrupts. No instructions, ports or logic.

[–] [email protected] 4 points 10 months ago

in this case the instruction set is extremely small

https://developer.arm.com/documentation/dui0646/c/The-Cortex-M7-Instruction-Set/Instruction-set-summary

So is the Cortex M7. The entirety of the M0+, M4, and M7 microcontroller cores are very, very small ARMs.


iCE40 DSPs

Hmmm. Okay, so its an FPGA Risc-V then.

That's kind of sad, that means there's no hope that its as power-efficient as a proper ASIC core like ARM-M7.