First Post! Uh, I mean, First CHERIoT Silicon!

We have our first chips back! It is very exciting! Spatial and temporal memory safety, fine-grained compartmentalisation, and also a load of other big chips on a board, so you can play 'Where's ICENI?' on the board picture!

#CHERI #CHERIoT

First CHERIoT Silicon!

Welcome to the CHERIoT Platform, a hardware-software co-design project that provides game-changing security for embedded devices.

CHERIoT Platform
When I first saw a 100 MHz Pentium, I thought it was the end of upgrade cycles. What could you possibly do with a 100 MHz CPU in your computer? And now our first microcontroller is 250 MHz. It also has more RAM than my first PC (Amstrad PC1640). Computers are so fast now!
@david_chisnall And yet desktop software can still feel slow, and griping about bloat and slowness is a perennial pastime among computer power-users and developers. Any idea what we can do to break the cycle of "what Andy giveth, Bill taketh away"?
@matt @david_chisnall
Revert to an early stage and take a different path?
@david_chisnall my first computer had all of 1kb of ram. The web browser I'm typing this on is currently using up 869376 ZX81s of memory!
@spzb I think the first computer I used was an IBM something or other with an 8080. Not sure how much RAM it had (it was four big blue boxes). The first one I wrote any code on was a BBC Model B, with 32 KiB of RAM. The first PC I owned was an 8086 clone with 640 KiB of RAM. ICENI has more memory than all of these and is at least two orders of magnitude faster.
@david_chisnall Damn you had 640KiB of RAM and two floppy drives, right? lucky you! I had an Amstrad PC1512 with, well, only 512 KiB and a single floppy drive...
I don't remember; did the 1640 also have EGA graphics? (the 1512 only had CGA, plus a non standard 16 colours mode, compatible only with a handful of Amstrad applications, whose name eludes me right now).

@fred I actually had one floppy drive and a hard drive! It was the HD20 variant, but the previous owner replaced the hard disk with a 40 MB one. MS DOS back then used FAT12, so had a 32 MiB limit. I had an 8 MiB C: drive for the OS and a few other things and a 32 MiB D: drive for most things (including Windows 3.0!). It did have EGA and two other great Amstrad-only features:

  • A volume control connected to the PC speaker. No idea why other machines didn't have that.
  • An Amstrad (digital) joystick port on the back of the keyboard. The directions and buttons were mapped to key codes, so any game that was playable with configurable keys worked with the joystick.

I think those were both on the 512.

I think both could take a full 1 MiB of base memory and 16 MiB of expanded memory, but I never upgraded mine.

@david_chisnall Fancy! :-)
Mine was lacking the built-in joystick port, I think, because we had to buy an 8-bit ISA extension card to plug the joystick.
It was an analog joystick though, so maybe that's why it needed the extra card? Not sure anymore.
@fred Yup, analogue joysticks required a separate card. Most sound cards had an analogue joystick port. 'PC' joysticks were all analogue, but the PC1640 could also use the same ones as the Amstrad CPC series. A lot of contemporary digital joysticks had Commodore and Amstrad connectors.
@david_chisnall another design quirk from the Amstrad PC series was that the PSU was inside the monitor IIRC, and the central until plugged back into the monitor, hence requiring only a single cord plugged into the wall.
@david_chisnall cool, I also had a 1640 as a first PC.
@david_chisnall doing the wrong things faster and faster is really all they’ve ever been good for
@david_chisnall So https://cheriot.org/images/2026-03-04%20iceni.png is… a complete motherboard? Is there something I can look at to understand what all the stuff on the board is, just at a high level?

@amenonsen It's an embedded development board. The chip is a microcontroller (although, at 250 MHz, faster than many computers I've owned, and with more RAM than the first few).

It's got a few peripherals on the board, including Ethernet. We have a little SPI LCD that fits on top (but goes over the ICENI chip, so isn't on the board).

We have a limited run of these, we'll have more later in the year.

I'm honestly surprised that this one works at all. Our first chip actually running instructions, apparently correctly, is a testament to how awesome or DV team is.

@david_chisnall (But first: Congratulations! 🙌)
@david_chisnall First POST maybe? Congrats! Have fun with bringup. :)
@david_chisnall o/~ Swing low, sweet CHERIoT o/~