Units of information

In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information are also used to measure the entropy of random variables and information contained in messages.

The most commonly used units of data storage capacity are the bit, the capacity of a system that has only two states, and the byte (or octet), which is equivalent to eight bits. Multiples of these units can be formed from these with the SI prefixes (power-of-ten prefixes) or the newer IEC binary prefixes (power-of-two prefixes).

Primary units

Comparison of units of information: bit, trit, nat, ban. Quantity of information is the height of bars. Dark green level is the "nat" unit.

In 1928, Ralph Hartley observed a fundamental storage principle,[1] which was further formalized by Claude Shannon in 1945: the information that can be stored in a system is proportional to the logarithm of N possible states of that system, denoted logb N. Changing the base of the logarithm from b to a different number c has the effect of multiplying the value of the logarithm by a fixed constant, namely logc N = (logc b) logb N. Therefore, the choice of the base b determines the unit used to measure information. In particular, if b is a positive integer, then the unit is the amount of information that can be stored in a system with N possible states.

When b is 2, the unit is the shannon, equal to the information content of one "bit" (a portmanteau of binary digit[2]). A system with 8 possible states, for example, can store up to log28 = 3 bits of information. Other units that have been named include:

  • Base b = 3: the unit is called "trit", and is equal to log2 3 (≈ 1.585) bits.[3]
  • Base b = 10: the unit is called decimal digit, hartley, ban, decit, or dit, and is equal to log2 10 (≈ 3.322) bits.[1][4][5][6]
  • Base b = e, the base of natural logarithms: the unit is called a nat, nit, or nepit (from Neperian), and is worth log2 e (≈ 1.443) bits.[1]

The trit, ban, and nat are rarely used to measure storage capacity; but the nat, in particular, is often used in information theory, because natural logarithms are mathematically more convenient than logarithms in other bases.

Units derived from bit

Several conventional names are used for collections or groups of bits.

Byte

Historically, a byte was the number of bits used to encode a character of text in the computer, which depended on computer hardware architecture; but today it almost always means eight bits – that is, an octet. A byte can represent 256 (28) distinct values, such as non-negative integers from 0 to 255, or signed integers from −128 to 127. The IEEE 1541-2002 standard specifies "B" (upper case) as the symbol for byte (IEC 80000-13 uses "o" for octet in French,[nb 1] but also allows "B" in English, which is what is actually being used). Bytes, or multiples thereof, are almost always used to specify the sizes of computer files and the capacity of storage units. Most modern computers and peripheral devices are designed to manipulate data in whole bytes or groups of bytes, rather than individual bits.

Nibble

A group of four bits, or half a byte, is sometimes called a nibble or nybble. This unit is most often used in the context of hexadecimal number representations, since a nibble has the same amount of information as one hexadecimal digit.[7]

Crumb

A pair of two bits or a quarter byte was called a crumb,[8] often used in early 8-bit computing (see Atari 2600, ZX Spectrum). It is now largely defunct.

Word, block, and page

Computers usually manipulate bits in groups of a fixed size, conventionally called words. The number of bits in a word is usually defined by the size of the registers in the computer's CPU, or by the number of data bits that are fetched from its main memory in a single operation. In the IA-32 architecture more commonly known as x86-32, a word is 16 bits, but other past and current architectures use words with 4,[9] 8,[9] 9,[9] 12,[9] 13,[9] 16,[9] 18,[9] 20,[9] 21,[9] 22,[9] 24,[9] 25,[9] 26, 29,[9] 30,[9] 31,[9] 32,[9] 33,[9] 35,[9] 36,[9] 38,[9] 39,[9] 40,[9] 42,[9] 44,[9] 48,[9] 50,[9] 52,[9] 54,[9] 56,[9] 60,[9] 64,[9] 72,[9] 80 bits or others.

Some machine instructions and computer number formats use two words (a "double word" or "dword"), or four words (a "quad word" or "quad").

Computer memory caches usually operate on blocks of memory that consist of several consecutive words. These units are customarily called cache blocks, or, in CPU caches, cache lines.

Virtual memory systems partition the computer's main storage into even larger units, traditionally called pages.

Systematic multiples

Terms for large quantities of bits can be formed using the standard range of SI prefixes for powers of 10, e.g., kilo = 103 = 1000 (as in kilobit or kbit), mega = 106 = 1000000 (as in megabit or Mbit) and giga = 109 = 1000000000 (as in gigabit or Gbit). These prefixes are more often used for multiples of bytes, as in kilobyte (1 kB = 8000 bit), megabyte (1 MB = 8000000bit), and gigabyte (1 GB = 8000000000bit).

However, for technical reasons, the capacities of computer memories and some storage units are often multiples of some large power of two, such as 228 = 268435456 bytes. To avoid such unwieldy numbers, people have often repurposed the SI prefixes to mean the nearest power of two, e.g., using the prefix kilo for 210 = 1024, mega for 220 = 1048576, and giga for 230 = 1073741824, and so on. For example, a random access memory chip with a capacity of 228 bytes would be referred to as a 256-megabyte chip. The table below illustrates these differences.

Multiples of bits
Decimal
Value SI
1000103 kbitkilobit
10002106 Mbitmegabit
10003109 Gbitgigabit
100041012 Tbitterabit
100051015 Pbitpetabit
100061018 Ebitexabit
100071021 Zbitzettabit
100081024 Ybityottabit
Binary
Value IEC JEDEC
1024210 Kibitkibibit Kbitkilobit
10242220 Mibitmebibit Mbitmegabit
10243230 Gibitgibibit Gbitgigabit
10244240 Tibittebibit -
10245250 Pibitpebibit -
10246260 Eibitexbibit -
10247270 Zibitzebibit -
10248280 Yibityobibit -
Symbol Prefix SI Meaning Binary meaning Size difference
k kilo 103   = 10001 210 = 10241 2.40%
M mega 106   = 10002 220 = 10242 4.86%
G giga 109   = 10003 230 = 10243 7.37%
T tera 1012 = 10004 240 = 10244 9.95%
P peta 1015 = 10005 250 = 10245 12.59%
E exa 1018 = 10006 260 = 10246 15.29%
Z zetta 1021 = 10007 270 = 10247 18.06%
Y yotta 1024 = 10008 280 = 10248 20.89%

In the past, uppercase K has been used instead of lowercase k to indicate 1024 instead of 1000. However, this usage was never consistently applied.

On the other hand, for external storage systems (such as optical discs), the SI prefixes were commonly used with their decimal values (powers of 10). There have been many attempts to resolve the confusion by providing alternative notations for power-of-two multiples. In 1998 the International Electrotechnical Commission (IEC) issued a standard for this purpose, namely a series of binary prefixes that use 1024 instead of 1000 as the main radix:[10]

Multiples of bytes
Decimal
Value Metric
1 Bbyte
1000 kBkilobyte
10002 MBmegabyte
10003 GBgigabyte
10004 TBterabyte
10005 PBpetabyte
10006 EBexabyte
10007 ZBzettabyte
10008 YByottabyte
Binary
Value IEC JEDEC
1 Bbyte Bbyte
1024 KiBkibibyte KBkilobyte
10242 MiBmebibyte MBmegabyte
10243 GiBgibibyte GBgigabyte
10244 TiBtebibyte
10245 PiBpebibyte
10246 EiBexbibyte
10247 ZiBzebibyte
10248 YiByobibyte
Symbol Prefix
Ki kibi, binary kilo 1 kibibyte (KiB) 210 bytes 1024 B
Mi mebi, binary mega 1 mebibyte (MiB) 220 bytes 1024 KiB
Gi gibi, binary giga 1 gibibyte (GiB) 230 bytes 1024 MiB
Ti tebi, binary tera 1 tebibyte (TiB) 240 bytes 1024 GiB
Pi pebi, binary peta 1 pebibyte (PiB) 250 bytes 1024 TiB
Ei exbi, binary exa 1 exbibyte (EiB) 260 bytes 1024 PiB

The JEDEC memory standards however define uppercase K, M, and G for the binary powers 210, 220 and 230 to reflect common usage.[11]

Size examples

  • 1 bit: Answer to a yes/no question.
  • 1 byte: A number from 0 to 255.
  • 90 bytes: Enough to store a typical line of text from a book.
  • 512 bytes = ½ KiB: The typical sector of a hard disk.
  • 1024 bytes = 1 KiB: The classical block size in UNIX filesystems.
  • 2048 bytes = 2 KiB: A CD-ROM sector.
  • 4096 bytes = 4 KiB: A memory page in x86 (since Intel 80386).
  • 4 kB: About one page of text from a novel.
  • 120 kB: The text of a typical pocket book.
  • 1 MiB: A 1024×1024 pixel bitmap image with 256 colors (8 bpp color depth).
  • 3 MB: A three-minute song (133 kbit/s).
  • 650–900 MB – a CD-ROM.
  • 1 GB: 114 minutes of uncompressed CD-quality audio at 1.4 Mbit/s.
  • 8/16 GB: Two common sizes of USB flash drives.
  • 4 TB: The size of a $100 hard disk (as of early 2018).
  • 12 TB: Largest hard disk drive (as of early 2018)
  • 16 TB: Largest commercially available solid state drive (as of early 2018)
  • 100 TB: Largest solid state drive constructed (as of early 2018)
  • 1.3 ZB: Prediction of the volume of the whole internet in 2016.

Obsolete and unusual units

Several other units of information storage have been named:[7]

  • 1 bit: unibit,[12][13] sniff.
  • 2 bits: dibit,[14][15][12][16] crumb,[8] quartic digit,[17] quad, quarter, taste, tayste, tidbit, tydbit, lick, lyck, semi-nibble, snort.
  • 3 bits: tribit,[14][15][12] triad,[18] triade,[19][20] tribble.
  • 4 bits: character (on Intel 4004[21] – however, characters are typically 8 bits wide or larger on other processors), for other terms denoting 4 bits see nibble.
  • 5 bits: pentad, pentade,[22] nickel, nyckle.
  • 6 bits: byte (in early IBM machines using BCD alphamerics), hexad, hexade,[22][23] sextet.[18]
  • 7 bits: heptad, heptade.[22]
  • 8 bits: octet, commonly also called byte.
  • 9 bits: nonet,[24] rarely used.
  • 10 bits: declet,[25][26][27][28] decle,[29] deckle, dyme.
  • 12 bits: slab.[30][31][32]
  • 15 bits: parcel (on CDC 6600 and CDC 7600).
  • 16 bits: doublet,[33] wyde,[3][34] parcel (on Cray-1), plate, playte, chomp, chawmp (on a 32-bit machine).
  • 18 bits: chomp, chawmp (on a 36-bit machine).
  • 32 bits: quadlet,[33][35][36] tetra,[34] dinner, dynner, gawble (on a 32-bit machine).
  • 48 bits: gobble, gawble (under circumstances that remain obscure).
  • 64 bits: octlet,[33] octa.[34]
  • 96 bits: bentobox (in ITRON OS).
  • 128 bits: hexlet.[33][37]
  • 16 bytes: paragraph (on Intel x86 processors).[38][39]
  • 256 bytes: page (on Intel 4004,[21] 8080 and 8086 processors,[38] also many other 8-bit processors – however, pages are typically much larger on many 16-bit/32-bit processors).
  • 6 trits: tryte.[40]
  • combit, comword.[41][42][43]

Some of these names are jargon, obsolete, or used only in very restricted contexts.

gollark: Guess we'll have to somehow fix popular views of those things if that is the case!
gollark: Wasn't that one kind of terrible? Tiny sample size and an actively involved experimenter?
gollark: Milgram obedience experiments?
gollark: So just use 6 important people.
gollark: If you have differences you're testing two things at once, people's importance rankings *and* general deontological/utilitarianism leaning.

See also

Notes

  1. However, the IEC 80000-13 abbreviation "o" for octets can be confused with the postfix "o" to indicate octal numbers in Intel convention.

References

  1. Abramson, Norman (1963). Information theory and coding. McGraw-Hill.
  2. Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. p. xii. ISBN 0-201-14460-3. LCCN 77-90165. Retrieved 2016-05-22.
  3. Knuth, Donald Ervin. The Art of Computer Programming: Seminumerical algorithms. 2. Addison Wesley.
  4. Shanmugam (2006). Digital and Analog Computer Systems.
  5. Jaeger, Gregg (2007). Quantum information: an overview.
  6. Kumar, I. Ravi (2001). Comprehensive Statistical Theory of Communication.
  7. Nybble at dictionary reference.com; sourced from Jargon File 4.2.0, accessed 2007-08-12
  8. Weisstein, Eric. W. "Crumb". MathWorld. Retrieved 2015-08-02.
  9. Beebe, Nelson H. F. (2017-08-22). "Chapter I. Integer arithmetic". The Mathematical-Function Computation Handbook - Programming Using the MathCW Portable Software Library (1 ed.). Salt Lake City, UT, USA: Springer International Publishing AG. p. 970. doi:10.1007/978-3-319-64110-2. ISBN 978-3-319-64109-6. LCCN 2017947446.
  10. ISO/IEC standard is ISO/IEC 80000-13:2008. This standard cancels and replaces subclauses 3.8 and 3.9 of IEC 60027-2:2005. The only significant change is the addition of explicit definitions for some quantities. ISO Online Catalogue
  11. JEDEC Solid State Technology Association (December 2002). "Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits" (PDF). JESD 100B.01. Retrieved 2009-04-05.
  12. Horak, Ray (2007). Webster's New World Telecom Dictionary. John Wiley & Sons. p. 402. ISBN 9-78047022571-4.
  13. "Unibit".
  14. Steinbuch, Karl W.; Wagner, Siegfried W., eds. (1967) [1962]. Written at Karlsruhe, Germany. Taschenbuch der Nachrichtenverarbeitung (in German) (2 ed.). Berlin / Heidelberg / New York: Springer-Verlag OHG. pp. 835–836. LCCN 67-21079. Title No. 1036.
  15. Steinbuch, Karl W.; Weber, Wolfgang; Heinemann, Traute, eds. (1974) [1967]. Written at Karlsruhe / Bochum. Taschenbuch der Informatik - Band III - Anwendungen und spezielle Systeme der Nachrichtenverarbeitung. Taschenbuch der Nachrichtenverarbeitung (in German). 3 (3 ed.). Berlin / Heidelberg / New York: Springer Verlag. pp. 357–358. ISBN 3-540-06242-4. LCCN 73-80607.
  16. Bertram, H. Neal (1994). Theory of magnetic recording (1 ed.). Cambridge University Press. ISBN 0-521-44973-1. 9-780521-449731. […] The writing of an impulse would involve writing a dibit or two transitions arbitrarily closely together. […]
  17. Control Data 8092 TeleProgrammer: Programming Reference Manual (PDF). Minneapolis, Minnesota, USA: Control Data Corporation. 1964. IDP 107a. Archived (PDF) from the original on 2020-05-25. Retrieved 2020-07-27.
  18. Svoboda, Antonín; White, Donnamaie E. (2016) [2012, 1985, 1979-08-01]. Advanced Logical Circuit Design Techniques (PDF) (retyped electronic reissue ed.). Garland STPM Press (original issue) / WhitePubs Enterprises, Inc. (reissue). ISBN 0-8240-7014-3. LCCN 78-31384. Archived (PDF) from the original on 2017-04-14. Retrieved 2017-04-15.
  19. Paul, Reinhold (2013). Elektrotechnik und Elektronik für Informatiker - Grundgebiete der Elektronik. Leitfaden der Informatik (in German). 2. B.G. Teubner Stuttgart / Springer. ISBN 978-3-32296652-0. Retrieved 2015-08-03.
  20. Böhme, Gert; Born, Werner; Wagner, B.; Schwarze, G. (2013-07-02) [1969]. Reichenbach, Jürgen (ed.). Programmierung von Prozeßrechnern. Reihe Automatisierungstechnik (in German). 79. VEB Verlag Technik Berlin, reprint: Springer Verlag. doi:10.1007/978-3-663-02721-8. ISBN 978-3-663-00808-8. 9/3/4185.
  21. "Terms And Abbreviations / 4.1 Crossing Page Boundaries". MCS-4 Assembly Language Programming Manual - The INTELLEC 4 Microcomputer System Programming Manual (PDF) (Preliminary ed.). Santa Clara, California, USA: Intel Corporation. December 1973. pp. v, 2-6, 4-1. MCS-030-1273-1. Archived (PDF) from the original on 2020-03-01. Retrieved 2020-03-02. […] Bit - The smallest unit of information which can be represented. (A bit may be in one of two states I 0 or 1). […] Byte - A group of 8 contiguous bits occupying a single memory location. […] Character - A group of 4 contiguous bits of data. […] programs are held in either ROM or program RAM, both of which are divided into pages. Each page consists of 256 8-bit locations. Addresses 0 through 255 comprise the first page, 256-511 comprise the second page, and so on. […] (NB. This Intel 4004 manual uses the term character referring to 4-bit rather than 8-bit data entities. Intel switched to use the more common term nibble for 4-bit entities in their documentation for the succeeding processor 4040 in 1974 already.)
  22. Speiser, Ambrosius Paul (1965) [1961]. Digitale Rechenanlagen - Grundlagen / Schaltungstechnik / Arbeitsweise / Betriebssicherheit [Digital computers - Basics / Circuits / Operation / Reliability] (in German) (2 ed.). ETH Zürich, Zürich, Switzerland: Springer-Verlag / IBM. pp. 6, 34, 165, 183, 208, 213, 215. LCCN 65-14624. 0978.
  23. Steinbuch, Karl W., ed. (1962). Written at Karlsruhe, Germany. Taschenbuch der Nachrichtenverarbeitung (in German) (1 ed.). Berlin / Göttingen / New York: Springer-Verlag OHG. p. 1076. LCCN 62-14511.
  24. Crispin, Mark R. (2005). RFC 4042: UTF-9 and UTF-18.
  25. IEEE 754-2008 - IEEE Standard for Floating-Point Arithmetic. 2008-08-29. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5752-8. Retrieved 2016-02-10.
  26. Muller, Jean-Michel; Brisebarre, Nicolas; de Dinechin, Florent; Jeannerod, Claude-Pierre; Lefèvre, Vincent; Melquiond, Guillaume; Revol, Nathalie; Stehlé, Damien; Torres, Serge (2010). Handbook of Floating-Point Arithmetic (1 ed.). Birkhäuser. doi:10.1007/978-0-8176-4705-6. ISBN 978-0-8176-4704-9. LCCN 2009939668.
  27. Erle, Mark A. (2008-11-21). Algorithms and Hardware Designs for Decimal Multiplication (Thesis). Lehigh University: ProQuest (published 2009). ISBN 978-1-10904228-3. 1109042280. Retrieved 2016-02-10.
  28. Kneusel, Ronald T. (2015). Numbers and Computers. Springer Verlag. ISBN 9783319172606. 3319172603. Retrieved 2016-02-10.
  29. Zbiciak, Joe. "AS1600 Quick-and-Dirty Documentation". Retrieved 2013-04-28.
  30. "315 Electronic Data Processing System" (PDF). NCR. November 1965. NCR MPN ST-5008-15. Archived (PDF) from the original on 2016-05-24. Retrieved 2015-01-28.
  31. Bardin, Hillel (1963). "NCR 315 Seminar" (PDF). Computer Usage Communique. 2 (3). Archived (PDF) from the original on 2016-05-24.
  32. Schneider, Carl (2013) [1970]. Datenverarbeitungs-Lexikon [Lexicon of information technology] (in German) (softcover reprint of hardcover 1st ed.). Wiesbaden, Germany: Springer Fachmedien Wiesbaden GmbH / Betriebswirtschaftlicher Verlag Dr. Th. Gabler GmbH. pp. 201, 308. doi:10.1007/978-3-663-13618-7. ISBN 978-3-409-31831-0. Retrieved 2016-05-24. […] slab, Abk. aus syllable = Silbe, die kleinste adressierbare Informationseinheit für 12 bit zur Übertragung von zwei Alphazeichen oder drei numerischen Zeichen. (NCR) […] Hardware: Datenstruktur: NCR 315-100 / NCR 315-RMC; Wortlänge: Silbe; Bits: 12; Bytes: –; Dezimalziffern: 3; Zeichen: 2; Gleitkommadarstellung: fest verdrahtet; Mantisse: 4 Silben; Exponent: 1 Silbe (11 Stellen + 1 Vorzeichen) […] [slab, abbr. for syllable = syllable, smallest addressable information unit for 12 bits for the transfer of two alphabetical characters or three numerical characters. (NCR) […] Hardware: Data structure: NCR 315-100 / NCR 315-RMC; Word length: Syllable; Bits: 12; Bytes: –; Decimal digits: 3; Characters: 2; Floating point format: hard-wired; Significand: 4 syllables; Exponent: 1 syllable (11 digits + 1 prefix)]
  33. IEEE Std 1754-1994 - IEEE Standard for a 32-bit Microcontroller Architecture. The Institute of Electrical and Electronic Engineers, Inc. 1995. pp. 5–7. doi:10.1109/IEEESTD.1995.79519. ISBN 1-55937-428-4. Retrieved 2016-02-10. (NB. The standard defines doublets, quadlets, octlets and hexlets as 2, 4, 8 and 16 bytes, giving the numbers of bits (16, 32, 64 and 128) only as a secondary meaning. This might be important given that bytes were not always understood to mean 8 bits (octets) historically.)
  34. Knuth, Donald Ervin (2004-02-15) [1999]. Fascicle 1: MMIX (PDF). The Art of Computer Programming (0th printing, 15th ed.). Stanford University: Addison-Wesley. Archived (PDF) from the original on 2017-03-30. Retrieved 2017-03-30.
  35. Böszörményi, László; Hölzl, Günther; Pirker, Emaneul (February 1999). Written at Salzburg, Austria. Zinterhof, Peter; Vajteršic, Marian; Uhl, Andreas (eds.). Parallel Cluster Computing with IEEE1394–1995. Parallel Computation: 4th International ACPC Conference including Special Tracks on Parallel Numerics (ParNum '99) and Parallel Computing in Image Processing, Video Processing, and Multimedia. Proceedings: Lecture Notes in Computer Science 1557. Berlin, Germany: Springer Verlag.
  36. Nicoud, Jean-Daniel (1986). Calculatrices. Traité d’électricité de l'École polytechnique fédérale de Lausanne (in French). 14 (2 ed.). Lausanne: Presses polytechniques romandes. ISBN 2-88074054-1.
  37. Proceedings. Symposium on Experiences with Distributed and Multiprocessor Systems (SEDMS). 4. USENIX Association. 1993.
  38. "1. Introduction: Segment Alignment". 8086 Family Utilities - User's Guide for 8080/8085-Based Development Systems (PDF). Revision E (A620/5821 6K DD ed.). Santa Clara, California, USA: Intel Corporation. May 1982 [1980, 1978]. p. 1–6. Order Number: 9800639-04. Archived (PDF) from the original on 2020-02-29. Retrieved 2020-02-29.
  39. Dewar, Robert Berriedale Keith; Smosna, Matthew (1990). Microprocessors - A Programmer's View (1 ed.). Courant Institute, New York University, New York, USA: McGraw-Hill Publishing Company. p. 85. ISBN 0-07-016638-2. LCCN 89-77320. (xviii+462 pages)
  40. Brousentsov, N. P.; Maslov, S. P.; Ramil Alvarez, J.; Zhogolev, E. A. "Development of ternary computers at Moscow State University". Retrieved 2010-01-20.
  41. US4319227, Malinowski, Christopher W.; Heinz Rinderle & Martin Siegle, "Three-state signaling system", issued 1982-03-09, assigned to Department of Research and Development, AEG-Telefunken, Heilbronn, Germany
  42. "US4319227". Google.
  43. "US4319227" (PDF). Patentimages.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.