User:Swtpc6800/Standards

From Wikipedia, the free encyclopedia

I served on various standards committees in the 1980s and 1990s. I will use this page for essays on standards and standards organizations that are appropriate for Wikipedia issues.

[edit] The story of a failed IEEE Standard.

An IEC Binary Prefix warrior practices his Klingon.
An IEC Binary Prefix warrior practices his Klingon.

On Wikipedia there has been effort to "encourage the use of the IEC prefixes".[1] Skipping lots of details, here is a quick summary. The goal would be to provide different capacity units for disk drives verses RAM. Disk storage has always used a megabyte (MB) as 1 million bytes (106). RAM has always used a megabyte as 1048576 bytes (220). These new units would define 1048576 bytes as a mebibyte (MiB). There would also be kibibyes (KiB), gibibytes (GiB) and so on.

The standards (IEC 60027-2 and IEEE 1541) defining these new binary units have been around for nearly a decade. Based in its acceptance they might as well be classified Top Secret. If you purchase a new computer the RAM memory size will be 512 MB or 1 GB. The processor will have 2 MB of cache memory. The 250 GB hard disk will have 16 MB buffer. If you look up the technical specifications on a computer component it will not be in mebibytes. The computer magazine and newspapers do not use the IEC prefixes. If they do not use KB, MB and GB they use Kbyte, Mbyte and Gbyte. A tiny set of technical journals use KiB, MiB, and GiB. Most of the articles in IEEE magazines and journals use the Mbyte units.

It is difficult to change the world when most folks are happy with the status quo. Here is a story of failed effort to get the world to use another IEEE/IEC standard.

[edit] ANSI/IEEE Std 91-1984 / IEC Publication 617-12

In 1980 engineers designing computers and other digital products used many small scale logic ICs. A circuit board may have 50 ICs on it. On every engineers desk was the Texas Instruments TTL Data Book for Design Engineers that defined the function of each IC. Other IC vendors also had data books but the TI version was the gold standard. The function of the chip was normally described with a schematic of logic gates. 74LS193 4-Bit Counter (Traditional symbols page 3, IEEE symbols page 4.)

There was new technology called Application-specific integrated circuit (ASICS) or Gate Array that allowed a design engineer to build a custom logic IC. The accepted way to define the logic function was to draw a logic schematic using gates, inverters, and macro functions similar to the discreet logic IC.

There was no uniform way to draw or define the macro functions (such as an 8-bit counter or a 4 input decoder) so an IEEE standards group created ANSI/IEEE Std 91-1984 which was incorporated in IEC Publication 617-12. Schematic symbols drawn to this standard were well defined and unambiguous. They were also different than the symbols engineers were using everyday.

The standards group had the good fortune that one of their members worked for Texas Instruments and got the new IEEE Std 91-1984 symbols incorporated in the 1985 edition of the TTL Data Book.[2] This was huge. Every logic design engineer would be exposed to these new, improved and unambiguous logic symbols.

The world basically ignored these symbols. The standard gate arrays and the new Xilinx field-programmable gate array continued to use the traditional symbols the customers were familiar with. These symbols were eventually replaced by Hardware Description Languages (HDL) such as Verilog and VHDL not by the funny new symbols. The IEEE Std 91-1984 symbols faded away and are no longer in TI Data Sheets. CD74AC153 Mux

Just because something has an IEEE and IEC standard does not guarantee the world will adopt it.

[edit] ANSI/IEEE Std 1084-1986

When computer and component manufacturers used kilobyte as 1024 bytes they were not only following common usage, they were complying with ANSI/IEEE Standard 1084-1986.

An American National Standard - IEEE Standard Glossary of Mathematics of Computing Terminology

byte A group of adjacent binary digits operated upon as a unit and usually shorter than a computer word (frequently connotes a group of eight bits).

kilo (K). (1) A prefix indicating one thousand. (2) In statements involving size of computer storage, a prefix indicating 210, or 1024.

mega (M). (1) A prefix indicating one million. (2) In statements involving size of computer storage, a prefix indicating 220, or 1,048,576.

giga (G). A prefix indicating one billion (109).