Մասնակից:GrigorGB/Ավազարկղ0

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Բայթ, հեռահաղորդակցության և համակարգչային ոլորտում թվային տեղեկատվության չափման միավոր՝ բաղկացած 8 բիթից։ Պատմականորեն բայթը եղել է համակարգչում տեսքտային յուրաքանչյուր նշանի ծածկագրման համար օգտագործված բիթերի քանակը[1][2] և այդ պաճառով այն համակարգչային շատ կառուցվածքներում հիշողության հասցեական ամենափոքր միավորն է։ Բայթի չափսը պատմականորեն կախված է եղել սարքավորումներից և գոյություն չունի սահմանող ստանդարտ, որը սահմանում է դրա չափսը։ 8 բիթի դե ֆակտո ստանդարտը երկուական հարմար տարբերակ է, որը յուրքանչյուր բայթի համար թույլատրում է 0-ից մինչև 255 արժեքներ։ IEC 80000-13 միջազգային ստանդարտը կոդավորել է այս պարզ նշանակությունը։ Ծրագրերի շատ տեսակներ օգտագործում են ինֆորմացիա՝ ներկայացված 8 կամ ավելի քիչ բիթերով, իսկ պրոցեսորներ նախագծողները օպտիմիզացնում են դրանք պարզ օգտագործման համար։ Համակարգչային տարածված կառուցվածքների ճանաչվածությունը օգնել է 8 բիթի մասսայական օգտագործման գործում։[3]

Օկտետ չափման միավորը ստեղծվել է 8 բիթերի հաջորդականությունը մատնանշելու համար՝ այդ ժամանակներում բայթի հետ կապված անորոշությունների հետ։[4]

Պատմություն[խմբագրել | խմբագրել կոդը]

Բայթ տերմինը ստեղծվել է Վերներ Բաչոլզի կողմից, 1956 թվականի հուլիսին, երբ այն IBM Stretch[5][6] համակարգչի համար ձևավորման սկզբնական փուլում էր։

The term byte was coined by Werner Buchholz in July 1956, during the early design phase for the IBM Stretch[5][6] computer, which had addressing to the bit and variable field length (VFL) instructions with a byte size encoded in the instruction. It is a deliberate respelling of bite to avoid accidental mutation to bit.[1]

Սկզբնական համակարգիչները օգտագործում էին 4 բիթանոց երկուական կոդավորված տասնորդականներ (binary coded decimal (BCD)) և 6 բիթանոց կոդեր գրաֆիկական պատկերներ տպագրելու համար, ինչը մեծ տարածում է գտել ԱՄՆ բանակում և նավատորմում։ Սրանք ընդգրկում էին տառաթվային և գրաֆիկական հատուկ նշաններ։ Այս շարքը 1963 թվականին ընդլայնվել է մինչև 7 բիթի։ Դրա «Ինֆորմացիայի փոխանակման ամերիկայն ստանդարտ կոդ» (անգլ.՝ American Standard Code for Information Interchange (ASCII)) անվանումը կոչում էին «Դաշնային ինֆորմացիայի մշակման ստանդարտ», ինչն էլ փոխարինում էր անհամատեղելի teleprinter կոդերը, որոնք 1960-ականներին օգտագործվում էին համալսարանների և ԱՄՆ կառավարության տարբեր բաժինների կողմից։ ASCII ներառում էր մեծատառերի և փոքրատառերի տարբերակումը և ղեկավարման մի շարք նիշեր՝ հեշտացնելու գրավոր լեզվի փոխանակումը, ինչպես նաև տպագրող սարքերի գործունեությունը։

included the distinction of upper- and lowercase alphabets and a set of control characters to facilitate the transmission of written language as well as printing device functions, such as page advance and line feed, and the physical or logical control of data flow over the transmission media.

1960 թվականների վերջերին, երբ ASCII ստանդարտաուցումը ընթացքի մեջ էր, IBM simultaneously introduced in its product line of System/360 the eight-bit Extended Binary Coded Decimal Interchange Code (EBCDIC), an expansion of their six-bit binary-coded decimal (BCDIC) representation used in earlier card punches.[7] The prominence of the System/360 led to the ubiquitous adoption of the eight-bit storage size, while in detail the EBCDIC and ASCII encoding schemes are different.

In the early 1960s, AT&T introduced digital telephony first on long-distance trunk lines. These used the eight-bit µ-law encoding. This large investment promised to reduce transmission costs for eight-bit data. The use of eight-bit codes for digital telephony also caused eight-bit data octets to be adopted as the basic data unit of the early Internet.[փա՞ստ]

The development of eight-bit microprocessors in the 1970s popularized this storage size. Microprocessors such as the Intel 8008, the direct predecessor of the 8080 and the 8086, used in early personal computers, could also perform a small number of operations on four bits, such as the DAA (decimal add adjust) instruction, and the auxiliary carry (AC/NA) flag, which were used to implement decimal arithmetic routines. These four-bit quantities are sometimes called nibbles, and correspond to hexadecimal digits.

The term octet is used to unambiguously specify a size of eight bits, and is used extensively in protocol definitions, for example.

Unit symbol[խմբագրել | խմբագրել կոդը]

Կաղապար:Bit and byte prefixes The unit symbol for the byte is specified in IEC 80000-13, IEEE 1541 and the Metric Interchange Format[8] as the upper-case character B.

In the International System of Units (SI), B is the symbol of the bel, a unit of logarithmic power ratios named after Alexander Graham Bell. The usage of B for byte therefore conflicts with this definition. It is also not consistent with the SI convention that only units named after persons should be capitalized. However, there is little danger of confusion because the bel is a rarely used unit. It is used primarily in its decadic fraction, the decibel (dB), for signal strength and sound pressure level measurements, while a unit for one tenth of a byte, i.e. the decibyte, is never used (8 bits are not divisible into 10, bit is used for approximation).

The unit symbol kB is commonly used for kilobyte, but may be confused with the still often-used abbreviation of kb for kilobit. IEEE 1541 specifies the lower case character b as the symbol for bit; however, IEC 80000-13 and Metric-Interchange-Format specify the abbreviation bit (e.g., Mbit for megabit) for the symbol, providing disambiguation from B for byte.

The lowercase letter o for octet is defined as the symbol for octet in IEC 80000-13 and is commonly used in several non-English languages (e.g., French[9] and Romanian), and is also used with metric prefixes (for example, ko and Mo)

Unit multiples[խմբագրել | խմբագրել կոդը]

Percentage difference between decimal and binary interpretations of the unit prefixes grows with increasing storage size

Considerable confusion exists about the meanings of the SI (or metric) prefixes used with the unit byte, especially concerning the prefixes kilo (k or K), mega (M), and giga (G). Computer memory is designed in a binary architecture, multiples are expressed in powers of 2. In some fields of the software and computer hardware industries the SI-prefixed quantities of byte and bits are used with a meaning of binary multiples of powers, while producers of computer storage devices prefer strict adherence to SI multiples. For example, a computer disk drive capacity of 100 gigabytes is specified when the disk contains 93 gigabytes of storage space.

While the numerical difference between the decimal and binary interpretations is relatively small for the prefixes kilo and mega, it grows to over 20% for prefix yotta. The linear-log graph at right illustrates the difference versus storage size up to an exabyte.

Common uses[խմբագրել | խմբագրել կոդը]

The byte is also defined as a data type in certain programming languages.

The C and C++ programming languages, for example, define byte as an "addressable unit of data storage large enough to hold any member of the basic character set of the execution environment" (clause 3.6 of the C standard). The C standard requires that the char integral data type is capable of holding at least 256 different values, and is represented by at least 8 bits (clause 5.2.4.2.1).

In addition, the C and C++ standards require that there are no "gaps" between two bytes. This means every bit in memory is part of a byte.[10]

Various implementations of C and C++ reserve 8, 9, 16, 32, or 36 bits for the storage of a byte.[11][12] The actual number of bits in a particular implementation is documented as CHAR_BIT as implemented in the limits.h file.

Java's primitive byte data type is always defined as consisting of 8 bits and being a signed data type, holding values from −128 to 127.

The C# programming language, along with other .NET-languages, has both the unsigned byte (named byte) and the signed byte (named sbyte), holding values from 0 to 255 and -128 to 127, respectively.

In data transmission systems, a byte is defined as a contiguous sequence of binary bits in a serial data stream, such as in modem or satellite communications, which is the smallest meaningful unit of data. These bytes might include start bits, stop bits, or parity bits, and thus could vary from 7 to 12 bits to contain a single 7-bit ASCII code.[փա՞ստ]

See also[խմբագրել | խմբագրել կոդը]

References[խմբագրել | խմբագրել կոդը]

  1. 1,0 1,1 Bemer, RW; Buchholz, Werner (1962), «4, Natural Data Units», in Buchholz, Werner (ed.), Planning a Computer System – Project Stretch (PDF), էջեր 39–40
  2. Bemer, RW (1959), «A proposal for a generalized card code of 256 characters», Communications of the ACM, 2 (9): 19–23, doi:10.1145/368424.368435
  3. «Computer History Museum - Exhibits - Internet History - 1964». Computer History Museum.
  4. «The TCP/IP Guide - Binary Information and Representation».
  5. 5,0 5,1 Werner Buchholz (July 1956). «Timeline of the IBM Stretch/Harvest era (1956–1961)». Computer History.
  6. 6,0 6,1 «byte definition».
  7. «IBM confirms the use of EBCDIC in their mainframes as a default practice». IBM. 2008. Վերցված է 2008-06-16-ին.
  8. Metric-Interchange-Format
  9. «When is a kilobyte a kibibyte? And an MB an MiB?». The International System of Units and the IEC. International Electrotechnical Commission. Վերցված է August 30, 2010-ին.)
  10. Marshall Cline. "C++ FAQ: the rules about bytes, chars, and characters".
  11. [26] Built-in / intrinsic / primitive data types, C++ FAQ Lite
  12. Integer Types In C and C++

Կաղապար:Computer Storage Volumes Կաղապար:Data types

Category:Data types Category:Units of information Category:Computer memory Category:Data unit Category:Primitive types