Defining a Homemade CPU’s Instruction Set Architecture, Decoder, & RAM

If you happen to be designing your own CPU, you might be interested to study the work done by those before you. In this post by Colin “Domipheus” Riley topics such as ISA, Decoders, and RAM and tackled; this is part 3 in an ongoing blog series that is now nearly 1 year old.



This is a 16 bit machine, and I want to keep things simple. To that end, we use a fixed instruction length. Each instruction will always be 16 bits long, regardless of what it does. This allows our instruction decoder to be much simpler. However, fitting all the information we need into an instruction may be difficult. In the last part, I mentioned we have a register set comprising of 8 16-bit registers, meaning we need 3 bits to address one. I’ve not decided to have any of the registers special, like r0 always being zero. All are addressable.

Read more.

Join 4,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

Learn “How Computers Work” with Bill Gates, Ladyada and more – From Code.org !

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — Prototyping PCBs with Particle, a guide from a pro in the field #makerbusiness

Wearables — From mat to hat

Electronics — Even lower power!

Biohacking — Nectome’s Brain Preservation and Backup Service Plan

Python for Microcontrollers — Scott ([email protected]) on the Amp Hour podcast!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.