ニブル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
ニブル順に並べられたコードページ866英語版のフォントテーブル

コンピューティングにおいて、ニブル(nibble)とはデータ量の単位の一つで、4ビットのこと[1][2]であり、オクテットの半分である。

バイト(byte)に合わせてnybbleやnybleと綴られることもある。一般的な1バイト(8ビット)の半分であることからハーフバイト(half-byte)とも呼ばれる[3]テトラード(tetrade)ともいう[4][5]コンピュータネットワーク電気通信の分野では、セミオクテット(semi-octet)[6]クアッドビット(quadbit)[7]カルテット(quartet)[8][9]とも呼ばれる。1ニブルは16通り(24)の値を取り得る。1ニブルは十六進数の1桁であり、ヘックスディジット(hex digit)とも呼ばれる[10]。なお、英語のnibbleには、動詞として「少しずつ食べる」「ちょっとかじる」、また、名詞としてそのような場合の「少し」の意味がある。

1バイト(1オクテット)は2桁の十六進数で表されるので、すなわち1バイトの情報は2ニブルで表される。1バイトの取り得る値256個を16×16のテーブルで表示することで、各値の十六進数による値が読み取りやすくなる。

4ビットコンピュータ・アーキテクチャは基本単位として4ビットのグループを使用する。初期のマイクロプロセッサ電卓ポケットコンピュータは4ビットのアーキテクチャであった。現在でも4ビットで動作するマイクロコントローラが使用されている。

歴史[編集]

"nibble"という言葉は、"half a byte"(半バイト)を表す用語に由来しており、その綴りは"byte"の同音異義語の"bite"によるものである[3]。2014年、ワシントン州立大学名誉教授のDavid B. Bensonは、1958年ごろの彼がロスアラモス国立研究所のプログラマだったときに、二進化十進表現(BCD)の1桁を保持するのに必要な記憶単位としての"half a byte"の意味としてnibbleという言葉をふざけて使っていた(そして、おそらくはそれを造語したかもしれない)ことを思い出した。1980年代初頭の雑誌『キロボー・マイクロコンピューティング英語版』や『バイト』の論説によれば、別の綴り"nybble"は"byte"の綴りを反映したものである。"nybble"という用語の初期に使われた形跡としては他に、1977年にシティバンクの消費者銀行テクノロジーグループ内での使用例がある。これは、現金自動預け払い機とシティバンクのデータセンターとの間のトランザクションメッセージに関して、ISO 8583が策定される以前に標準を作成したもので、基本的な情報単位として"NABBLE"を使用していた。

ニブルは、IBMメインフレームにおいて、パック10進数で格納されている数字の桁を記憶するのに使用されるメモリ量を記述するために使用された。この手法は、計算を速くし、デバッグを容易にするために使用された。8ビットのバイトは半分に分割され、各ニブルは1桁の10進数を格納するために使用される。変数の最後(最も右)のニブルは符号用に予約されている。従って、変数には最大9桁まで格納でき、5バイトに「パック」される。1バイトの値を表すのに2桁の16進数を使用する16進ダンプにより、数値の読み取りが可能になり、デバッグが容易になった。例えば、5つのBCD値31 41 59 26 5Cは、10進数値+314159265を表す。

歴史的に、nybbleが4ビット以上のグループに使用されるケースがあった。Apple IIでは、ディスクドライブ制御とグループ符号化記録方式英語版はソフトウェアで実装されていた。ディスクへのデータの書き込み時には256バイトのページを5ビット(後に6ビット)のニブルのセットに変換し、ディスクからデータをロードする時には逆の手順を行っていた[11][12][13]。さらに、Integrated Woz Machine英語版に関する1982年の文書では、一貫して「8ビットニブル」を使用している[14]。バイトという用語もかつては同様の曖昧さを持ち、必ずしも8ビットを意味していたわけではなかった。そのため、バイトに対して明確に8ビットを意味する「オクテット」(octet)という用語が作られたが、同様にニブルについても明確に4ビットを意味する「カルテット」(quartet)や「クアッドビット」(quadbit)という言葉が作られた。今日では、「バイト」と「ニブル」という用語は、ほぼ常に8ビット、4ビットを意味するようになっており、他のサイズを表現するのに使用されることはめったにない。

ニブルの表[編集]

16通りの1ニブルの値

二進数 十六進数
0000 0100 0010 0 4 2
0010 1010 1001 2 A 9
0010 0000 1001 2 0 9
1110 0100 1001 E 4 9
0011 1001 0110 3 9 6
0001 0000 0001 1 0 1
0011 0101 0100 3 5 4
0001 0110 0100 1 6 4
0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

上位ニブルと下位ニブル[編集]

「上位ニブル」(high nibble)と「下位ニブル」(low nibble)という言葉は、バイト内の下位ビットおよび上位ビットをそれぞれ含むニブルを表すのに使用される。バイト内のビットの図形表現では、左端のビットが最上位ビット(MSB)を表すことがある。これは、数値の左側の数字が最上位である通常の十進表記に対応している。そのような例では、バイトの左端の4ビットが上位ニブル、残りの4ビットが下位ニブルを形成する[15]。例えば、 9710 = (0110 0001)2 においては、上位ニブルは 01102 (6)、下位ニブルは 00012 (1)である。

関連項目[編集]

脚注[編集]

  1. ^ Microprocessors and Digital Systems. McGraw-Hill. (1980). ISBN 0-07-025571-7. 
  2. ^ Hacker's Delight (2 ed.). Addison Wesley - Pearson Education, Inc.. (2013). ISBN 978-0-321-84268-8. 0-321-84268-5. 
  3. ^ a b The New Hacker's Dictionary. MIT Press. (1996). p. 333. ISBN 978-0-262-68092-9. https://books.google.com/books?id=g80P_4v4QbIC&pg=PA333. 
  4. ^ Introduction to the use of digital computers: Notes from the Summer Conference Held at the Computation Center of the University of North Carolina, Chapel Hill, N.C., August 17-28, 1959. Frontier Research on Digital Computers. 1. University of North Carolina at Chapel Hill, Computation Center. p. 211. "Each of these letters corresponds to one of the integers from zero to fifteen, therefore requiring 4 bits (one "tetrade") in binary representation." 
  5. ^ (German) Digitale Rechenanlagen - Grundlagen / Schaltungstechnik / Arbeitsweise / Betriebssicherheit (2 ed.). ETH Zürich, Zürich, Switzerland: Springer-Verlag / IBM. (1965). pp. 6, 34, 165, 183, 208, 213, 215. LCCN 65--14624. 0978. 
  6. ^ Public Data Networks: From Separate PDNs to the ISDN. Springer Science+Business Media. (2012). p. 113. ISBN 978-1-4471-1737-7. https://books.google.com/books?id=ZY7qBwAAQBAJ&pg=PA113. 
  7. ^ Webster's New World Telecom Dictionary. John Wiley & Sons. (2007). p. 402. ISBN 978-0-470-22571-4. https://books.google.com/books?id=L18YaEomzjMC&pg=PA402. 
  8. ^ Data Communications and Networks, Vol. III. IEE telecommunications series. 31. Institution of Electrical Engineers. (1994). p. 155. ISBN 978-0-85296-804-8. https://books.google.com/books?id=7O5EXtN94PIC&pg=PA155. "A data symbol represents one quartet (4 bits) of binary data." 
  9. ^ (French) Voyage au centre de la HP28c/s (2 ed.). Paris, France: Editions de la Règle à Calcul. (2006-06-27). OCLC 636072913. http://www.courbis.fr/spip.php?article17 2015年9月6日閲覧。.  [1] [2] [3] [4] [5] [6]
  10. ^ Introduction to C++. Morgan Kaufmann. (1997). p. 27. ISBN 978-0-12-339099-8. https://books.google.com/books?id=KbiDKrvExnsC&pg=PA27. "Each hex digit (0–f) represents exactly 4 bits." 
  11. ^ Beneath Apple DOS (4th printing ed.). Reseda, CA, USA: Quality Software. (May 1982). https://archive.org/stream/Beneath_Apple_DOS_OCR#page/n24/mode/1up 2017年3月21日閲覧。.  [7][8][9]
  12. ^ Beneath Apple ProDOS - For Users of Apple II Plus, Apple IIe and Apple IIc Computers (2nd printing ed.). Chatsworth, CA, USA: Quality Software. (March 1985). ISBN 0-912985-05-4. LCCN 84--61383. http://www.apple-iigs.info/doc/fichiers/beneathprodos.pdf 2017年3月21日閲覧。.  [10]
  13. ^ Copy II Plus Version 9 - ProDOS/DOS Utilities - Data Recovery, File Management, Protected Software Backup. Central Point Software, Inc.. (1989-10-31). http://cps.applearchives.com/copy_ii_plus_9x_manual.pdf 2017年3月21日閲覧。. 
  14. ^ Apple Computer, Inc. (February 1982). Integrated Woz Machine (IWM) Specification (19 ed.). DigiBam Computer Museum. http://www.brutaldeluxe.fr/documentation/iwm/apple2_IWM_Spec_Rev19_1982.pdf 2016年8月6日閲覧。. 
  15. ^ Binary arithmetic”. Connected: An Internet Encyclopedia (1997年4月). 2015年7月20日閲覧。

外部リンク[編集]