Home    LBP Showcase / Reviews / Recommendations    Level Showcase
#1

LBP 2:CPU & Memory Proof of Concept

Archive: 12 posts


Hey guys!

I just wanted to mention that I have now finished my CPU project that I have been working on since the Beta test. What my level does is prove that LittleBigPlanet 2's addition of Logic Gates allows for the construction of highly advanced circuits including the ability to create simple working computers.

Search for: LBP 2: CPU or Deamos
http://lbp.me/v/w4zh7w

http://i4.lbp.me/img/ft/774744f0f936d0c4caf2d37f7dfd606752ae61ac.jpg
http://i5.lbp.me/img/ft/2f5c6b331f44591b85e2f3844e7fe2433ffe996f.jpg
http://i3.lbp.me/img/ft/30375dd280811c9f3450aa5e910fd44419ecef66.jpg

Stats of Computer:

Over 3000+ wire connections
Took over around 48 hours straight of work
Hundreds of Logic Gates
8 bit CPU
8 bytes of Writable Memory
18 Fourteen Segment Displays
"Keyboard/Mouse" Input
8 bit ALU to that supports AND, OR, Invert, and Adding Operations
3 ALU 8 bit registers for performing operations
1 8 bit W(Working) Working Register
8 Instruction Set Commands

Instruction Set Commands



Data Movement Commands
LW: Writes a binary Value to the W Register
EX: LW00001111 (Writes the value 00001111 to WREG)
RW: Reads the current value stored in the W Register and displays on the Screen
EX: RW (Doesn't matter what else is displayed as long as RW is in the far left)
WA: Writes the value in the W Register to an address (Allowed addresses are 00000000 to 00001001)
EX: WA00000011 (Stores WREG values in Address 00000011)
MA: Moves the Value in the Address to the W Register
EX: MA00000011 (Moves whatever is stored in Address 00000011 to the WREG)

ALU Commands
AN: ANDs Address 00001000 (Also Called A) with Address 00001001 (Also Called B) and stores the result in Address 00001010 (Called the ALU Output)
ex: If A=11110000
B=11001111
Then Inputing the command AN will make address 00001010 = 11000000
AI: Inverts Address 00001000 (Also Called A) and stores the value in 00001010 (Called the ALU Output)
ex: If A = 11110000
then inputing AI will make address 00001010 = 00001111
AA: Adds the values of Address 00001000 & 00001001 and stores the Sum in Address 00001010 (Only a maximum of 255 can be stored due to bit restrictions
ex: if A = 00000010
B = 00000011
then Issuing the command of AA will make address 00001010 = 00000101
AO: ORs address 00001000 & 00001001 and stores the result in 00001010
ex: if A= 00110000
B= 01010010
then issuing the command of AO will make address 00001010 = 01110010


For controlling the mouse, it is all handed by the left analog stick. Pressing the X button will type a button from the keyboard, and Circle will input the command in to the CPU. Triangle will exit the keyboard and mouse.

I know it all sounds a bit complicated and this level is more geared towards those with an understanding of Computer Engineering and Advanced Logic.

I am planning on eventually doing a second version of the CPU to be distributed to players to use in their own levels to handle advanced logic functions. In addition, I am also planning on starting up the next version of my Logic Labs series to help explain some of the new LBP2 Logic and how to use it.

Thanks guys and Enjoy!



--
Logic Creator
Producer of Logic Labs Series
Currently working on: LBP2 CPU & Memory Proof of Concept
http://lbp.me/v/w4zh7w
2011-01-29 02:05:00

Author:
Deamos
Posts: 18


Hot ****!

I'm still working on my memory module. You have completely outdone what I'm sure I'll ever be able to find time and concentration to finish.

Not that I won't try, mind you!
2011-01-29 12:53:00

Author:
ironfroggy
Posts: 4


Haha! Yeah. Memory modules are not too bad to make, however they are a bit time consuming for my liking. Largest problem with them is creating a Bus line using a series of OR gates for each bit, IE 2^n. If you ever need help, I'd be glad to assist!2011-01-30 12:47:00

Author:
Deamos
Posts: 18


Wow. I just finished a 10-digit BCD addition calculator. Yet I have no clue what you just said.
Anyways, I queued your level, and i'll check it out.
2011-01-30 13:04:00

Author:
Unknown User


Wow. I just finished a 10-digit BCD addition calculator. Yet I have no clue what you just said.
Anyways, I queued your level, and i'll check it out.

Awesome! I'll check out your calculator. This thing can do addition too, however it is limited to only 3 digits to a maximum of 255... I'll try to get that worked out on the next version.

Yeah, check it out. I know its pretty difficult concepts to grasp, if you need an idea on what i've done check this article on Wikipedia http://en.wikipedia.org/wiki/Assembly_language
2011-01-30 13:20:00

Author:
Deamos
Posts: 18


I've have started to provide a bit more information on how to use the CPU and some info on the next version on http://divby0.net2011-02-06 00:42:00

Author:
Deamos
Posts: 18


Very nice!

I used a similar method for memory when creating my calculator (http://lbp.me/v/wtzfny). In order to store the result I used 2 32-bit registers (with R/W and reset inputs): one for the result and one for the number being entered. Used some BCD adders and 9's compliment converters to do the addition and subtraction.

The logic system in LBP2 is just plain amazing... things like this shows just how powerful it is!
2011-02-06 02:59:00

Author:
Landail
Posts: 11


Hehe i will give hint to aya about it, he was also working on microprocessor but i think he aimed on some specific emulation.

But imo use of full packed CPU is little unpractical in regular levels, must efficient way to do is to build logic for your own needs. For example why you need big back-part CPU to make +1 -1 operations if you can do selector based counters or if you need more you can use simple set of adders or multi tick the selectors if you lazy.

Well i got quastion, how much thermo it takes?
2011-02-06 13:47:00

Author:
Shadowriver
Posts: 3991


Hehe i will give hint to aya about it, he was also working on microprocessor but i think he aimed on some specific emulation.

But imo use of full packed CPU is little unpractical in regular levels, must efficient way to do is to build logic for your own needs. For example why you need big back-part CPU to make +1 -1 operations if you can do selector based counters or if you need more you can use simple set of adders or multi tick the selectors if you lazy.

Well i got quastion, how much thermo it takes?

When applied to normal LBP levels, you are correct.. a CPU/microprocessor is pretty useless. However, imagine having the ability to create programs & execute one in level, then the game really changes.

As for Thermo, the first version takes up 90% of the level. However, it is the 14 segment displays & registers that consume a good portion of this. I am already in works of the second version, without the displays and have the thermo down to about 15% total.
2011-02-06 15:55:00

Author:
Deamos
Posts: 18


Ok Guys! I just finished with the actual second version of the Microprocessor itself today! I will be code naming it Da Vinci and should have it ready for public release by Saturday or Sunday depending on how quickly I can put together the programming and side loading program executers....

Thats right, You are going to be able to program with this sucker by the time I am done.
Right now, as it stands the updates will be:

14 Instructions
-8 ALU based functions, including Adding, Subtracting, ANDing, ORing, Inverting, XORing, and Shifting Left/Right
-8 Bit Data Width
-4 bit address line (Expandable to 8 bit Address Line, if someone needs a larger CPU)
-8 bit Output
-16 Bytes of RAM
-3 Special Purpose Registers
-2 ALU Registers
-1 Working Register
-The Ability to Write your Own Programs and execute them!

Again, I plan to be finished with this very soon so keep your eyes open here, or at http://divby0.net
2011-02-12 00:45:00

Author:
Deamos
Posts: 18


Wow thats amazing i qued so i can check it out. i have a quick question though, did your PS3 ever crash from running so many wires? I know mine crashed when i was working on a password system which used a lot less wires then yours.2011-02-12 01:14:00

Author:
AbunaiXD
Posts: 19


Wow thats amazing i qued so i can check it out. i have a quick question though, did your PS3 ever crash from running so many wires? I know mine crashed when i was working on a password system which used a lot less wires then yours.

It crashed a few times. However, my biggest problem was slowdowns from running so many wires within a chip. Instead of doing it in a chip, I now construct on a Giant Dark Matter Piece which has seriously sped up my prototyping.

Also, Keep in mind, the version posted in the level that you queued is the older version of the CPU
2011-02-12 01:21:00

Author:
Deamos
Posts: 18


LBPCentral Archive Statistics
Posts: 1077139    Threads: 69970    Members: 9661    Archive-Date: 2019-01-19

Datenschutz
Aus dem Archiv wurden alle persönlichen Daten wie Name, Anschrift, Email etc. - aber auch sämtliche Inhalte wie z.B. persönliche Nachrichten - entfernt.
Die Nutzung dieser Webseite erfolgt ohne Speicherung personenbezogener Daten. Es werden keinerlei Cookies, Logs, 3rd-Party-Plugins etc. verwendet.