Wednesday, May 31, 2017

First Major Update - the perils of creating CPU without copy/paste capabilities


Copy and Paste is kinda important

There are many things that are important to every developer, but none of it is as important as having a good editor. In current world of application development, features like copy-pasting and undoing-redoing stuff is as essential as just an ability to save and load files.
As far back in time as I can remember I was always fascinated by computers and wanted to learn their internal structure. First step on this was 13 years ago, when I learned Assembly, MASM to be precise. It was fun and interesting, but then as a miracle - I learned about gate logic.

Creating a Memory Chip when there is no Memory Chip

So my recent search for a perfect (or semi-perfect) ended with Logic.ly. At first - it was perfect - cool design, smart use of switches and "lighbulbs". Copying and pasting functionality with wires. Unfortunately my trial for it has ended, and I can't show you a really nice computer I built there... I do have a gif of it in "almost done" state:

It is running at staggering 3-20 gate-instructions per second. It is around 0.05 Hz. Terrific.
The reason behind it is absence of memory chip functionality for it. Not even as a temporary storage (best option would be file on my OS, that would allow for some ROM shenanigans). So I had to program a memory chip using flip-flops organized in columns (really wish I was able to show it) and then in rows. Usually CMOS works faster than most types of RAM, but it really ate my processing power. It took logic.ly 2 minutes to load this chip. Oh! And you know what beastly amount of RAM it has? 64 bytes. Not Kilobytes. Just bytes. I tried 256 bytes, but it never loaded.
Don't get me wrong. What I'm doing with that app is far from what it was intended to do, but I want my goddamm CPU.
Also, after all this... you can't edit the sub-network you just created. Pure sadness.
So the search continued...

To be continued next week.

I'm thinking about starting a weekly tutorials for logic gates on smartsim. Tune in for binary logic tutorials tag in here. Hopefully first one will be tomorrow.

Also, I'm sorry about such a small MAJOR update, but I find it hard writing something cohesive in non-native language. Hopefully it will get better with time.

Cheers!

No comments:

Post a Comment

Intro

Welcome to the Neth Iafin's blog. I'm a developer from Ukraine, working in enterprise development (C#+JS). I greet you to the pla...