Overview  Words
Data Representation
  Information represented by symbols/values.

  Two general categories
    Labels - alpha-numeric character sequences (ASCII, Unicode).
             Icons - number sets used to generate images.

      Generally used to label other information. Other than comparison and 
        sorting, little calculation done.
 
    Numbers - numeric values used for express properties of the information 
      to be evaluated.

    * Files such as gifs, jpgs, or mpgs can be viewed as number sets 
      describing a particular piece of information.

    
Available Storage
  Modern binary digital systems use sets of on/off switches (transistors)
    to represent 0 or 1, ON or OFF, high or low, yes or no

  Bit - smallest storage unit.
    Useful for individual flaggable conditions.
  
    Access cost expensive.

    Generally bit level access supported only in certain CPU registers
      or with mask type instructions.

  
  From "Tron" (1982)
  Director : Steven Lisberger
  Writers : Steven Lisberger, Bonnie MacBird

  Nibble
    Also referred to as nybble, nyble, half-octet, etc.

    Unit large enough to store a decimal digit. Binary coded decimal(BCD)

    Currently 4-bits, but historical implementation varied, 5-8 bits possible.

    Limited access at hardware level, most commonly accessed via mask or
      special purpose instructions.

      Early microprocessors (Intel 4004, etc.) used nibble architecture.

      There are microcontrollers that use nibble sized work units.
        Used it device needing simple logic - clocks, tools, toys, etc.

      see : https://en.wikichip.org/wiki/4-bit_architecture

    Color Graphics Adapter used high and low nibbles for foreground and 
      background color for individual cells of a display.
 
    When a numeric value has multiple decimal digits, nibbles can be packed.
      Two digits per byte. 

      IBM packed numbers, storage of numeric decimal characters in 4 bit units
       on mainframe.

      High nibble of highest byte stores sign.

      IBM provides pack instructions with length operands. ZAP, AP, SP, etc.
        UP to 31 BCD digits into 16 packed bytes.  Loop algorithm implemented 
        at hardware level.
   
    When used to represent decimal numeric values, wastes a lot of storage.
      4 bits = 16 values possible, only 0-9 represented.
      About 35% loss of storage capacity.

  Byte
    Unit big enough to hold one text character.

    Early systems varied the byte's size between with 5-8 most common although
      larger existed.

    Byte eventually came to mean 8-bits, value 0-255

    Many early monolithic core CPUs developed in the 1970s favored 8-bit
     internal work registers in their organization.
      Large enough to hold a 'character'

    Workable size easily stores all English character values. 
      Upper/lower case alpha-numeric, 
      Additional control characters useful for transmitting, storing, 
        and printing text.

    ASCII(7-bit), EBCDIC(true 8-bit)

    Octet - some protocols use the term octet to confirm 8-bit unit.