OpenCores
URL https://opencores.org/ocsvn/tinycpu/tinycpu/trunk

Subversion Repositories tinycpu

[/] [tinycpu/] [trunk/] [docs/] [design.md.txt] - Diff between revs 29 and 30

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 29 Rev 30
Line 4... Line 4...
2. 16-bit address bus
2. 16-bit address bus
3. fixed 16-bit instruction length
3. fixed 16-bit instruction length
4. use a small amount of "rich" instructions to do powerful things
4. use a small amount of "rich" instructions to do powerful things
5. 1 instruction per clock cycle
5. 1 instruction per clock cycle
 
 
 
 
 
BIG CHANGE:
 
So, apparently making a single-cycle CPU is extremely hard... so instead, we'll be striving for a 2-cycle CPU.
 
Usual cycles:
 
1-cycle: mov, jmp, etc general data movement
 
2-cycle: ALU operations
 
1-cycle with memory wait(so really 2 cycle): all instructions that reference memory
 
 
 
 
Relative moves:
Relative moves:
In order to provide uesfulness to the segment-carryover feature, there are a few options for moving a "relative" amount to a register, including IP and SP
In order to provide uesfulness to the segment-carryover feature, there are a few options for moving a "relative" amount to a register, including IP and SP
A relative move differs in most of the opcodes in that the relative factor is treated as a signed value.
A relative move differs in most of the opcodes in that the relative factor is treated as a signed value.
so for instance, a
so for instance, a
mov r0,50
mov r0,50

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.