Now, the fun bit: ROM or Read-Only Memory. Most ROM is not truly "read only," but the idea is to imply that you're not supposed to write to it willy-nilly. The idea of ROM is that it is meant to maintain it's data after the power goes off, which can't be done with those RS-latches. I won't go into every type, but, rather, one type, that is closest to what you've learned from me so far: EEPROM (Electrically Erasable Programmable Read-Only Memory [see the paradox in the very name? It's read only, but I can change it!]).

The basis of how this works comes down to "capacitors." Capacitors, which I recommend (highly, for safety reasons) learning about on your own, are circuit bits that hold a charge. Many argue that a battery is a form of capacitor. Generally, for EEPROM, you stick the capacitor between materials with a high resistance, then let it take a charge, which can be done without actually letting electricity flow into or out off it (yeah, now you know why I don't want to teach it). Basically, then, this charge can act as the base of a transistor. Writing (turning from true to false and vice versa) is a bit slow, because you have to wait for the entire discharge, and wait for a full charge. On the plus side, those the gates made from those transistors can survive a power outage. What's cool about this is, if you take the time to write a program and shove it in here, you can store it, which means you can run it. A program stored in this memory will eventually decay (the transistors will leak on their own), but it won't take a while. Anyway, if you make a RAM like structure out of this, you have RAM that takes forever to write to, but can save it's data for a long period of time. This ultimately means we can write programs that can then be run at a later date.

So, if, say, we take the previous machine, set it up so that every time you hit a button it increments the address register. You can then have a program written into it's EEPROM (made by another computer, or by replacing operations with operations that allow reading and writing to the EEPROM), and you can change certain "variables" while it is running, simply by changing the "input" switches. This, essentially, allows us to come up with complex math equations that the computer can take and perform on a number we give it and spit out another number. In practice, back in the day, letters were given numeric values, and you could then use this machine to "encrypt" data, which could then be sent to someone else to be "decrypted." Naturally, we want more than that. We want cat videos.

Get your own web kitty here!
┬ęCopyright 2010, 2011, 2012, 2013, 2014, 2017, 2018. All rights reserved.