8bit computer

For a while i am planning to built programmable 8 bit computer with basic logic gates and latches. In order to plan and prototype, I gave it a shot inside houdini. It is totally not related to computer graphics but still in houdini, so decided to put it here.

For binarry information point color is used, and storage of this information is handled by file nodes .  Logic gates, clocks and shift registers designed as realworld correspondings.

Components

  • Logic gates
  • Full adder
  • 8bit adder
  • Clock
  • ShiftRegister
  • Flipflops, latches
  • binary to decimal converter
  • decimal to binary converter

 

Logic Gates:

 

 

Architecture

  • İnputA
  • İnputB
  • Programming Unit
  • RegisterA
  • RegisterB
  • RAM
  • Aritmetics unit
  • Bus
  • Output

 

Program Control Unit
MicroCycles Data is cycled through 9 data points(pins). When one pin is activated corresponding operations is done. In each read step of fallowing micro instructions is done. Each read and write operation in one registery ccorresponds wite-read operation on bus.

Programming Unit
array of instructions and data is recorded to ram, when in programing mode. Than in running mode each line of code is read from ram as instruction-data set.
string instruction_array[]=
{
“00000000”, “00000000”, // null
“00000010”, “00000000”, // inData
“00000011”, “00000000”, // WRA
“00000101”, “00000000”, // WRB
“00000111”, “00000000”, // WRC
“00001001”, “00000000”, // WRD
};
SubRegistries:
“ProgramCounter” stores current data line to be read and excecuted
“Reg_Mem.Adress” stores current data line to be read and excecuted
“Reg_current.Instruction” stores current instruction located on this adress line
“Reg_Mem.Data” stores current data located on this adress line
also this unit has direct connection to “Ram” to read instructions and data from.
Pin 01 Write “REG.mem.adress” from progCounter
Pin 02 Read “REG.mem.adress” to “RAM.adress” &Read RAM
Pin 03 Write “REG. current.INS”
Pin 04 PROCG counter +1
Pin 05 Write “REG”mem.adress” from progCounter
Pin 06 Read “REG.mem.adress” to “RAM adress”&Read RAM
Pin 07 Write “REG.mem.Data”
Pin 08 Read “REG.current.INS” & Read “REG.mem.Data”
Pin 09 Counter plus
Shortly,
-ram is read by two line. First line is accepted as “as reg.current.instruction”, second line as “reg.mem.data.”
-both instruction and data given as output
-program counter incremented accordingly to new lines to be read.
-instructions excecuted. Most of the instructions does not need data, like “readRegA” however some of them need secondary data attached to it. Like, “goTo” instruction , it will need data of “which line.”

Instruction List:
0 null
1 Read inA – data
2 Read inB -data
3 Write RegA
4 Read RegA
5 Write RegB
6 Read RegB
7 Write RegC
8 Read RegC
9 Write RegD
10 Read RegD
13 Read ALU
15 goTO -data

references__________________________________

binary to decimal conversion