Hello everyone .
I wrote 2 bits CPU on a paper . You cam work this CPU without electricity . Just use scissors , pen and your hand . It may be interesting more than work CPU on simulator on computer . Regards Saito Yutaka email : melody.pea at gmail dot com
How to use
Download CPU(Paper_processor.pdf) and print .Cut paper Address/Data bus and register data values with the scissors . Paper processor has 3 registers . Program counter and register and status register (over flow) . Programming assembly code and assemble and write machine code on RAM . Paper processor has an instruction set consisting of three instructions . So it is easy to assemble . Start the program . Put Address/Data bus on RAM like this . Start at Address 00(2) . Fetch the instruction . Read data on address 00(2) . Data is 00(2). This means increment register by one . So you add one register . Next , increment program counter . Fetch the instruction . Read data on address 01(2) . Data is 01(2). This means jump if not over flow . Status register is 0 . So CPU should jump to somewhere . But CPU doesn't know which address to jump . Increment program counter . Read data on address 10(2) . The data value is 00(2) . CPU know a address to jump . Up date program counter to 00(2) .
Execute increment register value .
Program counter will 00(2) again .Increment program counter . And fetch the data . Status register is 0 . So Increment program counter again . Fetch the data . The value is 00(2) . Update program counter to 00(2) . Fetch the data . And execute increment register . Increment register . But register value is 11(2) . CPU can't store 100(2) because register can only store 2 bit value . Update register value 0 . But actually right value is 100(2) . You found the over flow . Set 1 to status register . Fetch the next data . You don't need jump because status register is 0 . So you don't need fetch the next address data . Update program counter to 11(2) . |