Chapter 4, The Components of the System Unit

Discovering Computers 2004

Modified 22 Mar 04 0839 hrs

Demonstrations

Simple CPU and Memory sketch (PDF File, 46 kB)

Simple_CPU_Instructions_with_registers.htm (More detailed, for capable students)

 

Topics

The stored program computer
The system unit
Grand Central Station of the PC
Motherboard
Passive Backplane
Chips and Dips
CPU and memory
Data, Address, and Control buses
Power Supply
Expansion slots and connectors
Storage devices
Computer Architecture and Chip Manufacturing Tutorials
Intel: http://www.intel.com 
Tutorial: http://www.cs.iastate.edu/~prabhu/Tutorial/title.html 
Course syllabus: http://www.cs.panam.edu/~meng/Course/CS4335/Notes/master/master.html 
Motherboard
Large printed circuit (PC) board into which other circuit boards and components are plugged.
Conduction paths for distribution of power, data, and control signals.
Building as many components as possible onto the motherboard reduces the overall cost of manufacturing the computer.
Large board size increases problems associated with vibration, thermal expansion, and replacement cost.
Components that might need replacement are mounted on separate boards that plug into the motherboard.  
Upgrade (CPU, memory, secondary storage devices)
Failure (modem)
Passive Backplane
Used in industrial and military systems to decrease the Mean Time To Repair (MTTR).
Rigid set of card slots interconnected without any active components.
All active components are on cards that are plugged into the passive backplane.
Troubleshooting and Repair 
Is done by replacing cards until the system resumes working properly.
Repair of a failed card is done later.
Simple CPU and Memory sketch (PDF File, 46 kB)
Central Processing Unit (CPU)
Control Unit
Instruction Cycle: fetch instruction, decode, fetch operands, execute, store or write-back
Types of instruction sets: 
RISC, CISC.
CISC: Complex Instruction Set Computer.  This is good for machines used for science and engineering.
RISC: Reduced Instruction Set Computer.  This is good for shuffling bits and bytes, such as networking and word processing.  Occasional complex calculations can be done as a series of RISC instructions.  IBM pushed this concept, as well as CISC.  The 64-bit DEC Alpha processor uses RISC.
Fixed length vs Variable length instruction set
Arithmetic / Logic Unit: arithmetic, comparison, Boolean operations
Arithmetic
Simple CPU: Add, Subtract, Negate or Change Sign, Increment, Decrement
Cheap CPU: Multiply, Divide
Expensive CPU: Floating Point Arithmetic
Comparison
Equal, Not Equal
Less Than, Greater Than
Less Than or Equal, Greater Than or Equal
Boolean Operations
16 logic operations for one or two variables.
[If large dots appear in the symbol columns of the pdf file, you are missing some needed fonts.  You can get the fonts by downloading and installing the free Scientific Viewer.]
AND, OR, NOT
NAND, NOR
XOR: Exclusive OR
Registers: 8, 16, 32...
Registers are special storage circuits in a CPU.
Register size depends upon its purpose.
Registers usually have associated logic circuits.
Registers operate at the speed of the CPU, which is generally much faster than memory fetch or store times.
Simulated Simple CPU Demonstration
Description Simple_CPU_Instructions_with_registers.htm
Excel program with simple ADD and simple SUB demonstration SP2003_E97_Simple_CPU_Simulator.xls 
Computer Speed
System Clock
Clock speed measured in Hertz (Hz). 1 Hz = 1 cycle per second.
The number of clock pulses needed to execute an instruction depends upon the instruction.  For example, a multiply instruction might take more than 20 times as many clock cycles as an addition instruction to execute.  The speed of execution depends upon the mix of instructions used.  The mix of instructions are typically different for
Science, engineering, statistics, numerical analysis (floating point, vector processing)
Mathematics, artificial intelligence (symbolic processing and formal logic)
Business transaction data processing (simple arithmetic, intensive storage and hard copy output)
System software, message switching (boolean logic, intensive device input and output, stack manipulation, bit manipulation)
Measures of computer speed
MIPS: Millions of Instructions Per Second
MFLOPS: Millions of Floating point Operations Per Second
GHz: System clock speed.  This is only an indirect measure of system speed.
Architecture
Uncommon sense http://sophia.dtp.fmph.uniba.sk/pchardware/platypus.html
CPU and Memory http://sophia.dtp.fmph.uniba.sk/pchardware/cpumem.html
Pipelining
Speculative execution, Predicative execution
Hyperthreading Technology
Goal: Make more use of on-die resources of CPU
Tracks execution state of an instruction, which is then used to schedule CPU resources.
Pentium 4 and Xeon processors
Superscalar architecture: multiple pipelines. http://kb.indiana.edu/data/aett.html 
Processors
Silicon: the backbone of the semiconductor industry today.
Gallium Arsenide (GaAs): order of magnitude faster than silicon, and requires more electrical power.
Comparison of Personal Computer Processors
Intel, AMD, Motorola, DEC, IBM
Alpha Processor: silicon-based 64-bit processor now by API (Alpha Processor, Inc), with 256-bit memory bus
Intel Itanium Processor has
a well developed instruction set for multimedia support.
an interval timer useful for real time control applications.
Technical documentation for Intel processors are available online from Intel. http://www.intel.com 
MMX: Multimedia Extensions. 
SSE: "Streaming-SIMD-Extensions" single-instruction, multiple-data instructions
Higher level language support: Intel C++/C and Fortran 95 compiler, to target IA-32 and IA-64 architectures.
The motivation for packing more onto a wafer:
Reduces overall cost of system manufacturing.
Increases reliability of a working system after placed into service.
Decreases distance between components, and thus increases speed, compared to the same system built onto several chips.
Buy the processor that meets your needs.  Do not decide based only on clock speed.
Decide what you want to use your computer for.
Check the processor requirements on the software you want to run.
Message switching (like Internet routers) does not require sophisticated logic, but it does require speed.  RISC processors are a good choice.
Office applications rarely require floating point arithmetic.  The Celeron, and clones, with integer and fixed point arithmetic provide good performance at a reasonable cost.  RISC processors are a good choice.
Science and engineering applications need floating point arithmetic.  Use a CISC processor. RISC processors are a bad choice unless a separate floating point coprocessor is available.
Processor Installation and Upgrades
A computer is designed as a system.  Upgrading a processor, or upgrading memory, does not necessarily result in an increase of performance!  You need to consult the technical documentation for the motherboard to determine what makes sense.  Mere plug compatibility is not sufficient to guarantee that an upgrade will be worthwhile.
Do not handle processor or memory chips without wearing an anti-static wrist strap, and connecting the other end to bare metal of the chassis.  You can get an anti-static wrist strap for less than $10 at Radio Shack.  It is well worth the cost.
Chip for chip upgrade
Piggyback: add additional new processor
Daughterboard upgrade: processor is on a board
Zero-Insertion Force (ZIF) socket
Heat Dissipation
Excessive heat and power transients are the most important causes of CPU failure.
Conduction: Heat sinks, board edge: conduct heat away from heat-generating components.
Gas transport: Fans, Heat pipes, ventilation louvers
Do not block the ventilation holes of your chassis!
If a fan stops, turn your computer off immediately.
Radio Shack sells replacement fans.  $5 to $15 for a fan is cheaper than a CPU, and they are not hard to replace.  You can do it yourself.
Liquid transport: 
Water cooling, usually from card edges. In some specialty applications, the water cooling can be mated with a heat sink mounted to a component, such as a processor chip package.
Used on high performance systems, or in environments where heat dissipation is difficult.
Coprocessors
Digital Signal Processor (DSP) chips are used for high-end applications in signal processing applications.
Floating point coprocessors were common additions on pre-Pentium era microcomputers.
Parallel processing
Supercomputers are characterized by many general-purpose CPUs.
The Transputer is an example of a multiple microprocessor system, which was available in the early 1980s.  It uses a language called Occam.
Modern mainframe computers often have a few processors.
Data Representation
Analog and Digital
Analog
An analog signal can possibly represent an uncountable number of states.
An ideal analog signal is not necessarily continuous.
To the electrical engineer, in the real world, all signals are analog signals.
We often represent digital signals using analog signals.
Digital signals
A digital signal is a signal used to represent a countable number of states.
It can have possibly an infinite number of states.
Discrete signals are often the model idealized in digital communications.
A real digital signal is an analog signal that is used to represent a discrete number of states.
HDTV 8-VSB is an example of a real digital signal that is not a binary signal.
Binary signals
A binary signal is a signal used to represent only two states.
Binary signals are often the model in computer data representation.
Square waves
Square waves are often the model of the binary signal.
Square waves are approximated in electronics and optics by pulses.
Square wave pulses have distortion, even with the best of engineering practice.
Gibbs' phenomena
Square waves do not retain their shape when propagating. This is why you need a modem for long distance communication between computers.
A real binary signal is an analog signal that is used to represent two states.
When most people say "digital", they mean "binary".
In-depth tutorial: Number Systems.  If you are serious about the computer field, you need to master this topic early in your training.  It is not hard.
bit, byte
bit: binary digit, used to represent two states
{ on, off }, { low voltage, high voltage }, { yes, no }, { boy, girl }, 
{ 0,1 }, { -18, -2 }, { -5, 12 }
NOT binary: Any set that does not have exactly 2 elements, {-1, 0, 1}, {A, B, C}
byte: a collection of bits necessary to represent one character.
IBM 7040 had 36-bit word with six 6-bit bytes.  Only 36-bit words could be fetched from memory.  Byte manipulation occurred in the CPU.
PDP-8 had byte-addressable memory
IBM 360 had 8-bit byte-addressable memory
Character Representation
ASCII: 7-bit
Extended ASCII: 8-bit
EBCDIC: IBM mainframe 8-bit
UNICODE: 16-bit  http://www.unicode.org 
Future of the byte.
Will the byte be redefined to be 16 bits?  Wait and see.  No law says a byte must remain 8-bits.  We changed from 6 to 8.  We can change again.
"Octet" is now a common term for 8 bits, particularly among people working with computer networks.
Processor boards now have wider data buses.  It could become practical.
16-bit unsigned integers are popular for loop counters.
Word size: depends on the data type, as well as the processor.
The units of data processed by the instruction set of a CPU.
Data handled by the Arithmetic / Logic Unit determines the physical word sizes a processor can handle.
The specific data types available depend upon the processor.
Usually, a word is an integer multiple of the addressable unit of memory.
Bit, logical (Boolean) 
Because of units of fetching data from memory, some machines and languages define Boolean or Logical data type to be 1 byte long [not restricted to 1 bit]
Character Data
Byte
Language-dependent string formats
Fixed Length String
Variable Length String
Includes a byte count, or
Includes a null character string terminator.
Numeric 
negative number formats: signed magnitude, unsigned (one's complement, two's complement)
fixed point (Radix point is fixed.  In decimal, the radix point is called a decimal point.  In other base number systems, it is called a radix point.)
Integer: Fixed Point format with no fraction.  
Unsigned:  only positive numbers
Short integer (16 bits), long integer (32 bits)
Binary Coded Decimal (BCD)
Floating point (used to represent real, complex, quaternion numbers)
The binary equivalent of Scientific Notation is called "Floating Point".  Floating point arithmetic requires significantly more effort than arithmetic needed for business data processing.  Floating point hardware adds to the cost of the processor.
Anatomy of a floating point number: 
Machine dependent.  IBM mainframes and Intel processors are different.
Analog to Scientific Notation:  Characteristic (exponent), Mantissa (fraction)  1.023 x 1023
Number System Base: Binary or Hexadecimal
Normalization: binary or hexadecimal
Implicit Bit: used only with Binary normalization
Use of Floating Point to represent numbers
Real:  floating point, double precision floating point, extended precision, quadruple precision floating point.
Complex:  complex (ordered pair of floating point numbers), double precision complex, extended precision, quadruple precision complex).
Tutorials and Specifications:
Joseph L. Zachary, Floating-Point Number Tutorial http://www.cs.utah.edu/~zachary/isp/applets/FP/FP.html 26 May 2002
David Goldberg, "What Every Computer Scientist Should Know About Floating Point Arithmetic", Computing Surveys (March 1991)  http://docs.sun.com/htmlcoll/coll.648.2/iso-8859-1/NUMCOMPGD/ncg_goldberg.html 26 May 2002
IEEE Standard for Floating Point Arithmetic http://www.psc.edu/general/software/packages/ieee/ieee.html 26 May 2002
IBM Implementation of Floating Point on System/390 http://www.research.ibm.com/journal/rd/435/abbott.html 26 May 2002
Embedded Systems Programming (4-bit and 8-bit processor) and floating point arithmetic http://www.embedded.com/98/9804fe2.htm 26 May 2002
Memory
Address: Identifies a location in memory
Concepts of address and location
Access time: Time from request until data is received
Access Times
Device Access times
RDRAM 1.25 ns
SRAM: Static RAM (not refreshed as often as DRAM) 5 - 15 ns
SDRAM 7.5 ns
DRAM: Dynamic RAM (must be refreshed) 50 - 70 ns
EPROM 55 - 250 ns
ROM  25 - 250 ns
Abbreviations: 
1 kB = 210 bytes = 1024 bytes ~ 103 bytes, 1 MB = 220 bytes ~ 106 bytes, 
1 GB
= 230 bytes ~ 109 bytes, 1 TB = 240 bytes ~ 1012 bytes
1 ms = 10-3 s, 1 μs = 10-6 s, 1 ns = 10-9 s
RAM: Random Access Memory
DRAM: dynamic RAM: requires re-energizing to retain contents. Volatile memory.
SRAM: static RAM: does not require refreshing. Volatile memory. Faster than DRAM.
1T-SRAM: Single transistor SRAM.  It is a single transistor DRAM cell that given the speed performance of SRAM, but at lower power consumption, cost, and size.
SDRAM: Synchronous DRAM: synchronized to the system clock. Volatile memory.
Magnetoelectronic Memory: Nonvolitale memory. Honeywell demonstrated this in 1997. http://www.eetimes.com/story/OEG19991021S0033 
RAM Requirements
Operating systems and major application packages are memory hungry.  Today's big system will be tomorrow's expected system, and the day after tomorrow's obsolete system.  Get the most RAM you can at time of purchase of your computer.  RAM is cheap today.
Memory Configuration
Memory organization
Board Configuration
SIMM: single inline memory module
DIMM: dual inline memory module
Cache
Memory that is not part of primary storage (main memory) that is used as a buffer between the device and the memory bus, servicing the needs of a particular device. 
Idea: speed matching.  Provide the access time required between devices of different speeds.
CPU Cache, the text calls it "memory cache": L1, L2 cache
Primary cache, L1 Cache, internal cache: 8kB - 64 kB, fast memory, built on the same chip as the CPU
Advanced Transfer Cache:
L2 cache built onto the processor chip: 256 kB
External cache: 
L3 Cache, 64 kB - 4 MB, slower that L2 cache. 
Older L2 cache on a separate chip.
Disk Cache
Read Only Memory
ROM: Read Only Memory
Firmware: software stored in ROM.
Programmable ROM: PROM
EEPROM: Electronically erasable, programmable ROM. 
CMOS: Complementary Metal Oxide Semiconductor
This is a type of chip technology, and is used to implement many circuits.
CMOS requires less power than a transistor, which makes it good for use in battery operated devices.
Used in the IBM USB NET Camera Beige VGA 640 X 480 CMOS IMAG video camera as part of the optical sensor.
Fairchild Semiconductor is one manufacturer of CMOS chips.
On PCs, a common use is to store configuration information.
type of disk drives, # cylinders, # heads
keyboard, monitor
time, date
other information needed at startup time
Like semiconductor RAM, it requires power to retain information. Battery.
Volatile and nonvolatile memory
Volatile memory does not retain its state when power is removed.
Nonvolatile memory retains its state when power is removed.
magnetic
topological
chemical
Nonvolatile memory technology:
Magnetoelectronic memory: Honeywell (production scheduled to start in 2001) IEEE Spectrum, FEB 2000
Chappell Brown, Magnetic semiconductors see rapid advances, October 21, 1999, 
http://www.eetimes.com/story/OEG19991021S0033
(14 Feb 2002).  Magnetoelectronics manipulates electrons in semiconductors via electron spin, rather than charge. Spin, like charge, is an inherent physical property of electrons which responds strongly to magnetic fields.  Magnetoelectronic systems depend on materials in which many electrons are in one of their two spin states — spin up and spin down — or the other.
MRAM: Magnetic Random Access Memory (IBM and Infineon Technologies)
Bubble memory (Intel) 1982 technology.
ferrite core: late 1950s technology
Expansion slots and expansion cards
Equivalent terms: card, expansion card, expansion board, board, adapter card, adapter, interface card, add-in, add-on
Peripheral device:
Historically, any device outside the chassis containing the CPU and primary memory.
Because of miniaturization, many devices now reside inside the chassis, but are still considered peripheral from a system architecture viewpoint.
modem
memory
video or graphics cards
sound card
Network Interface Card (NIC), network card
Plug and Play
Card types
NIC: Network Interface Card: Used to connect to a local area network.
PC Card = PCMCIA card: Personal Computer Memory Card International Association
Type I: thin, memory
Type II: communications devices, modems
Type III: thick, hard disk
Flash memory: EEPROM
Flash Memory, flash ROM, flash RAM. 512 MB possible. 100,000 write cycle limit. PC application: BIOS. Commercial applications: digital cameras, cell phones, pagers, PDAs.
Hot plugging:  
Make ground contact first, then signal, then power. 
It allows you to unplug and plug components without turning the computer off, when the components are designed to accommodate this.
This is important for laptop computers! You can swap types of disk drives, such as CD and floppy, while running the computer.
Ports: interface or point of attachment
Connector types
male, female, gender changer.
Number of pins and shape.  Different connector types used for different purposes helps sailor-proof the design.  You usually cannot plug a device into the wrong connector.
Serial: RS-232, RS-422, RS-423.  
1 data path or channel
Webopedia: RS-422 supports multipoint connections whereas RS-423 supports only point-to-point connections. http://webopedia.com/ 
Parallel
multiple data paths or channels
Centronics
IEEE 1284: EPP (Enhanced Parallel Port), ECP (Extended Capabilities Port)
Universal Serial Bus (USB): 
General
127 devices, daisy chained.  The device requiring the fastest service should be plugged in closest to the system unit in the daisy chain sequence.  USB hub.
USB ports are self-powered.  USB devices take power from the USB port.  Adding USB devices will reduce time between battery charging on a laptop computer.  Benefit: you have fewer things to directly plug in to the wall.
USB devices are hot-swappable.  You do not need to turn power off before connecting or disconnecting a USB device.
USB-1
Data transfer rate: 1.5 and 12 mega-bits per second (Mb/s or mbps) [1.5 megabytes per second].
Hi-Speed USB (commonly called USB-2) http://www.usb.org 
Data transfer rates: 1.5, 12, and 480 mega-bits per second (Mb/s or mbps) [60 mega-bytes per second].  40 times faster than USB-1.
USB-1 devices work with USB-2 ports, but only at USB-1 speed.
Requires Windows 98, or newer.
Example uses and benefits
Hook mouse to keyboard, reducing wire maze.
Special Purpose: 
IEEE 1394 (Fire Wire): 
400 mega-bits per second [50 mega-bytes per second]
63 devices, daisy chained
digital video camera, digital VCR, color printer, scanner, digital camera, DVD drive MIDI (muTeX, musicTeX, MTX, musicflex; ftp.gmd.de)
MIDI Manufacturers Association tutorial:  http://www.midi.org/about-midi/abtmidi.htm 
There are three components to MIDI
Communications Protocol (language)
Connector (hardware interface) 
Standard MIDI files distribution format: RMID, XMF (eXtensible Music Format)
Downloadable Sounds http://www.midi.org/about-midi/dls/abtdls.htm 
SCSI:  Small Computer System Interface
SCSI-I,  8-bid wide: 8 devices, 
optional 16-bit wide SCSI-II or SCSI-III: 16 devices
Uses 50-pin Centronics connector
IDE (Integrated Device Electronics) = ATA (AT Attachment), 16-bit interface, 2 devices limit
ATAPI: AT Attachment, Packet Interface
ATAPI-5 is 66 MHz, ATAPI-6 is 100 MHz
 
IrDA: Infrared Data Association: line of sight transmission.
Bluetooth: radio link.
System Port Numbers
A port is also a specific process to which an Internet or other network message is to be forwarded when it arrives at a server.  A process is identified by a port number.
Buses
CPU bus, Data bus, address bus, control bus.  These may have different properties in speed and width.
The CPU bus transfers data between components of the CPU, such as between the accumulator and registers.
The address bus transmits addresses between the CPU's program counter, address register, and the memory address registers.
The data bus transmits data between the CPU and the memory buffer register of main memory and other devices.
The control bus transmits control, keying and timing signals between computer components.
Bus width
To transmit 64 bits on a 32 bit wide bus, you need 2 transmission cycles.
PC bus speeds: 100 MHz, 133 MHz, 266 MHz, 400 MHz.
System bus
Expansion bus
See figure 4-41, page 4.31.
ISA (Industry Standard Architecture) bus: Slow speed devices: mouse, modem, sound card, low speed network card.
Local bus
PCI (Peripheral Component Interconnect) bus: video and sound cards, SCSI cards, high-speed network interface cards.
PCI (Peripheral Component Interconnect) expansion slots, short white. 
PCI-X, doubles the bandwidth of the PCI bus to enable more than 1-Gbyte-per-second throughput. However, PCI-X cards would maintain backward compatibility with current PCI cards. http://www.picmg.org/
The Accelerated Graphics Port (AGP): Intel design.  Direct memory access by video card.
Universal Serial Bus (USB) and 1394 bus
PC Card bus
Accelerated Graphics Port (AGP)
Bays: External, Internal
Power Supply
Voltage selection: 120 V, 240 V selects transformer taps. Permits international sales.
Internally, the computer generally uses 12 VDC and 5 VDC.  120 VAC --> Transformer --> 5 and 12 VAC --> rectifier --> rippled DC --> filters --> smoother DC --> computer use.
Problems in the electrical power to your computer:
Lightning strikes.  Unplug equipment, including phone lines, during lightning storms.  Do not trust surge protectors or UPS units to save equipment from this problem.
Voltage spikes and fluctuations.  Often from electric motors starting, turning on lights (especially fluorescent lamps).
Voltage noise.
Voltage loss.
The best present you can buy your computer is a continuous UPS.  Battery, Uninterruptible Power Supply (UPS).  Two varieties: standby and continuous.  To be effective, the switch-in time needs to be less than 1/4 of a clock cycle.  Typical switch-in time is 5 ms.  Standby systems are adequate for resistive and inductive loads (lighting, heating, motors).  For signal processing equipment, including computers, the continuous UPS is more appropriate. http://computer.howstuffworks.com/surge-protector8.htm 
Mobile Computers and Devices: Laptop and Notebook Computers, PDAs
Inadequate heat dissipation is the primary problem that limits life of a laptop computer.  Do not block ventilation ports.
Battery life is a critical issue for laptops intended for battery use.  For laptops intended to be used without being plugged in, a passive matrix display lowers battery drain.  The active matrix display requires more power.
Port replicator
Docking station

DC2004 Errata

Page 4.03:  The three common reasons for computer hardware failure are lightning strikes (affecting both power and phone line), momentary power loss, and overheating.  An online Uninterruptible Power Supply (UPS) is the best solution to the first two problems.  To prevent overheating, be careful to not block ventilation holes of the chassis.  If a fan stops, turn your computer off until you have replaced the fan.  Radio Shack sells replacement fans.  Clean the fan blades annually.

Page 4.04:  In an industrial or military setting, an alternative to the motherboard is the passive backplane architecture.  The great advantage of the passive backplane approach is a greatly reduced Mean Time To Repair.  The time a technician arrives at a broken computer until it is running again is expected to be less than 5 minutes using the passive backplane design.  It is hard to replace a motherboard in less than 30 minutes.  This time difference can be significant in mission critical systems.

Page 4.05:  The operating system manages most of a computer's operations.  The CPU is the hardware that carries out the instructions.  The operating system does the goal setting, scheduling, maintaining critical data, etc.  The operating system is the executive manager of computer hardware resources.

Pages 4.05 - 4.06: Change "machine cycle" to "instruction cycle".  A "machine cycle" can be one or two clock pulses, depending on the system design.  The number of machine cycles required to execute an instruction depends upon the instruction.  For example, an integer multiply can take more that twenty times as many clock cycles an an integer addition.

Page 4.12:  Heat Pipe: This is used to distribute cooling air in a notebook computer because the components are packed too tightly for free convection to move air naturally around all components with enough velocity to extract the required amount of heat.  Notebook computers also use heat sinks.

Page 4.17:   RAM can be volatile or nonvolatile. RAM means “Random Access Memory”.   It does not assume a particular technology for implementing it.  Semiconductor RAM is volatile.  MRAM by IBM and Infineon Technologies, and magnetic core RAM are not.   While magnetic core RAM is not in common use, there are some applications where it is still attractive.  

Page 4.16:  Magnetic core and magnetic bubble memory are nonvolatile types of memory.   Magnetoelectronic memory is nonvolatile RAM.   See IEEE Spectrum, FEB 2000, pg. 33-40.   Bubble memory is not RAM.   Information circulates around one or more loops rapidly.   It acts more like a disk in that information is sequentially stored in blocks, but a bubble memory has no moving parts.   These types of memory are rarely used with personal or business computers.