pixy
3 Stars     379 Views    

Author: oelin

Project access type: Public

Description:

pixy


pixy is a simple 32-bit processor with twelve instructions.

pixy can...

here are the instructions:

  • add <rn>, <rs | value>
  • sub <rn>, <rs | value>
  • and <rn>, <rs>
  • or <rn>, <rs>
  • xor <rn>, <rs>
  • not <rn>
  • b <value>
  • mov <rn>, <rs | value>
  • load <rn>, [<rs>]
  • sto <rs | value>, [<rn>]
  • test <rn>, <rs>
  • stop

arrangement:

  1. top left: clock in
  2. middle left: data in
  3. bottom left: input enable
  4. top right: address out
  5. middle right: data out
  6. bottom right: output enable

connecting to pixy:

  • pick a device you'll be using to store programs and data, i.e. RAM.
  • link data in to RAM's data output through a tristate.
  • link data out to RAM's data input through a tristate.
  • link address out to RAM's address input.
  • link clock in to an oscillator. 
  • link input and output enables to the tristates.

when the clock starts, the processor will try to execute any instructions found at address 0x0000.


internals:

  • the CU uses microcode stored in an EEPROM to implement the instruction set.
  • information is transferred between components using a data bus which is wrapped around the circuit.
  • programs can access four general purpose registers and RAM. They can also talk to any peripherals connected via memory mapping.
  • a FIN signal is used to mark the end of an instruction and save clock cycles.
  • conditional instructions work by triggering FIN (or not) based on ALU flags.

Created: Jun 05, 2020

Updated: Jun 30, 2023


Comments

You must login before you can post a comment.

There are techniques to increase the clock speed (kind of) and therefore the IPS beyond CircuitVerse's inbuilt clock. Currently the best method I've found is using an inverter looped into itself with controls to prevent stack overflows. It can be found here if you want to look at it: https://circuitverse.org/users/4699/projects/circuitverse-delay-introduction. (The last circuit)
Posted on Sep 15 2021 at 08:11PM UTC.
+0
i dont understand
Posted on Nov 03 2022 at 03:59PM UTC.
+0