The Arduino Project Gets a Core Memory Accessory
Stoobalou writes "A pair of mathematicians have created an electronics project that nostalgic computer buffs will likely recognize straight away: a magnetic-core memory shield for the Arduino electronics prototyping platform." The creators' web site has more, including schematics, if you'd like to make your own.
Why is there an Android icon on this story? Because they needed to pick an icon and "Android" and "Arduino" were close enough?...
Entomologically speaking, the spider is not a bug, it's a feature.
It's non-volatile - the last data written will still be there. What you're probably thinking of is destructive read - you need to re-write the data after reading it, because the read operation results in the bit being erased.
Oh, yes - people still looking for a fast startup can relate to core memory. You switch the machine on, set the switches to the base address, hit 'reset', hit 'run' and you are up and running the last loaded program (CPU next instruction address registers etc.. are volatile, so can't be used) So, for example, set 0019, Res, Run, and you are up and running (CIL System 90, and others) Not too shoddy, eh?
:-))
Oh, er, when can we get a 5 channel paper tape reader, 8 cps (characters per second) teletype, 800bpi (bits per inch - cute, eh?) mag tape, and punch cards, please
Oh, for the days of spicing an edit into a bit of blank paper tape and taping it into the right place, !syad dlo doog eht erew esoht as we used to say.
Can we stop the flood of Arduino nonsense? Yeah, I know people get excited when they discover how fun microcontrollers are. However, Arduino isn't all there is and it's not even particularly interesting. It's a family of boards with non-standard header pin spacing (WTF guys?!) with a shitty ATmega at its core. Most hobbyists would be better served by something from Parallax. For more demanding projects, the beagleboard is awesome. For tiny, cost sensitive projects, TI's launchpad dev kit is under $5 with additional microcontrollers (MSP430 series) selling for just a few cents a pop! If you don't mind a bit of a learning curve, ST's STM32 and STM8 series are great and dev boards are cheap.
Arduino isn't the only game in town. Let's stop covering every freshman-level EE project done with it.
Why does this article have an android image? The article has nothing to do with it. Arduino is popular enough with the hobbyist community to stand on its own. Not that the android integration package from google isnt awesome but maybe its time arduino got its own image?
Worked on the Univac 9700 which first came out with magnetic wire memory that replaced cores in earlier systems. Fixing memory errors was done by desoldering the affected wire, sliding it along and resoldering it. The wire memory was much faster than the core memory and was about the same speed as the early chip memory.
I actually made a similar setup a couple years ago with an IBM core memory board of 900 bits and a basic stamp.
The magnets on the core memory still held a fairly random pattern of bits once I read it out, and it was last used about 30 years ago, so I can attest to at least holding their magnetic polarity for that long.
I think I remember reading somewhere that the farite material they used to make the beads are known in nature to hold their magnetic polarity through earth pole shifts. Something to do with vertical veins of material deposits, and seeing the shifts in bands that line up with the surrounding rock that has had its age determined via other means and matching up to about the times the earths poles have flipped.
Either way, quite a long time indeed.
Most magnets don't fail by losing their polarity, they fail by degrading into a material that is non-magnetic, and thus would not be able to hold a charge of any type afterward.
Now, they do need refreshed while in operation. Specifically after most read operations.
A write is simple. You send a charge down a wire one way or the other, which changes the beads magnetic polarity.
A read however is a bit more complex. Basically there is a 'sense' wire that goes through literally every bead on the board. When one of the beads has its magnetic polarity changed, they emit a magnetic pulse which is picked up in the sense wire and inducted as an electric current.
So to perform a read, you send a '1' pulse to a bit and watch the sense line.
If nothing happens, then you know the polarity did not change, and thus that bit was and is still a '1'.
If you get a pulse on the sense line however, that means it did change polarity, and so you know the bit read is a '0'. You also know it now contains a '1' since you just changed it, thus you must perform a write of the original '0'.
In my case, I have no idea in what order those bits were addressed by the system, so even though I could read out the stored bits, I can't put them back together into their bytes (Or more likely 5-7 bit 'words'), let alone order those bytes back into a block of memory.
When used in the original hardware however, yes you can power the computer on and your core memory RAM would be just as it was when it was powered off, and continue operating instructions where it left off.
The ultimate computer hibernation mode!