-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added description of repository and its goals
- Loading branch information
1 parent
fbecda3
commit 4c0ac78
Showing
1 changed file
with
21 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# NibbleBuddy | ||
This repository contains the design and documentation for a very simple 4-bit processor named NibbleBuddy. It's an educational tool meant to show how one defines an Instruction Set Architecture (ISA), builds it using discrete gates and MSI components (multiplexers, flip-flops etc), examines N-operand machines and develops a rudimentary ecosystem for said processor, that being an HDL-based design and an assembler to transform Assembly code into machine code. | ||
|
||
## Processor diagram | ||
![NibbleBuddy's Architecture Diagram](Images/CPU%20all.png) | ||
*Figure 1: NibbleBuddy's Architecture Diagram.* | ||
|
||
## Instructions | ||
NibbleBuddy supports immediate and direct addressing modes wherever applicable, and is an accumulator-based architecture. The instructions supported are as follows: | ||
- HALT | ||
- STA | ||
- LDA | ||
- ADC | ||
- NOR | ||
- SETC | ||
- JNZ | ||
- JNC | ||
- JMP | ||
|
||
## Memory | ||
NibbleBuddy is a 4-bit Harvard memory architecture processor with a 5-bit program counter and a 4-bit data memory address bus. Thus, it is limited to 32 instructions at most and 16 4-bit data memory addresses. |