| |
Ferrite memory reading and writing
How core memory works
Ferrite memory reading and writing
Ferrite memory reading and writing
Reading from core memory is somewhat complex. Basically the read operation consists of doing a "flip to 0" operation to the bit in question, that is, driving the selected X and Y lines in the direction that causes the core to flip to whatever polarity the machine considers to be zero. If the core was already in the 0 state, nothing will happen. However if the core was in the 1 state it will flip to 0. If this flip occurs, after a brief delay, a voltage pulse is induced into the Sense line, saying, in effect, that the memory location used to hold a 1. If the pulse is not seen, that means no flip occurred, so the core must have already been in the 0 state. Note that every read forces the core in question into the 0 state, so reading is destructive, which is one of the attributes of core memory. The delay in sensing the voltage pulse is called the "access time" of the core memory.
Writing is similar in concept, but always consists of a "flip to 1" operation, relying on the memory already having been set to the 0 state in a previous read. For the write operation, the current in the X and Y lines goes in the opposite direction as it did for the read operation. If the core in question is to hold a 1, then the operation proceeds normally and the core flips to 1. However if the core is to instead hold a zero, the same amount of current as is used on the X and Y lines is also sent into the Inhibit line, which drops the combined field from the X, Y and Inhibit lines to half of the field needed to flip the core magnetization state. This leaves the core in the 0 state. The "access time" plus the time to rewrite is called the memory "cycle time". Note that the Sense and Inhibit wires are used one after the other, never at the same time. For this reason later core systems combined the two into a single wire, and used circuitry in the memory controller to switch the duty of the wire from Sense to Inhibit. A fundamental principle of core memory is that each read must be followed immediately by a write, to restore the value that is always destroyed by the read operation. Many computers began to include instructions that took advantage of this fact; if a location was going to be read, changed and re-written (for example by an increment operation), the computer would ask the memory controller to do the read, but then signal it to pause before doing the write that would normally follow. Once the increment instruction was complete the controller would be unpaused, and the usual write would occur, but using the new value. For certain types of operations, this effectively doubled the performance.
-------------------------------------------------------------------------------- Diagram of the hysteresis curve for a magnetic memory core during a read operation. Sense line current pulse is high ("1") or low ("0") depending on original magnetization state of the core.
|
|