位元 (Bit)
數字系統 (Numeral System) —— 進制 簡介 一文中提過:
計算機的資料,是以 二進位數 (Binary Digit) 來保存,稱之 位元 (bit)。
一個 位元 (bit) 可以包含 「0」、「1」 這兩個數值,
是計算機的最基本資料單位。
位元/秒 (bps)
位元/秒 (bps) 意指 bit per second,
位元速率 經常在電信領域用作連線速度、傳輸速度 (例如 網速、USB)。
1 Kbps = 103 bit/s = 每秒傳輸 1,000 bit
1 Mbps = 106 bit/s = 每秒傳輸 1,000,000 bit
1 Gbps = 109 bit/s = 每秒傳輸 1,000,000,000 bit
位元組 (Byte)
位元組 (byte),又稱 字節,為 8 = 23 個位元,
為大部分計算機架構 (architecture) 中的 定址單位 (Byte addressing),
因此,有些計算機沒有搬移一個『位元』的指令,
但至少有搬移一個位元組的指令。
Octet
Octet,為 8 = 23 個位元。
尛 😮,這不是跟 位元組 (byte) 一樣嘛?
是的,『現在』可以說它們是相同的。
然而,byte 過去 做為儲存大小單位,
被廣泛地使用於計算機領域,卻無一致的定義。
因此,現今許多 計算機架構、網路協定…中,
(ex: [RFC5234], Appendix B.1)
都會使用 Octet 來精準的表示 8 位元!避免造成誤解。
字組 (Word)
字組 (word),又稱 字元組 (注意: 不同於 字節 byte),
特別的是,其 並無規範大小!
它做為計算機架構中:
設計處理器 (CPU) 時,處理資料的自然單位!
是影響計算機設計的重要因素。
一個字組 (word),由一或多個位元組 (byte) 所組成,
其 位元 (bit) 數量,稱為 字組大小 (word size) 或 字寬 (word width)、字長 (word length),
字組大小,通常對應於 暫存器 (register) 寬度 [註1],
常見的有 32、64 位元。
[註1]:
並非絕對
KB、KiB、MB、MiB…
儘管許多計算機理論建立在二進制 的基礎上。
許多通訊協定、儲存系統…,是使用十進制 作為計量單位,
(ex: 你買了 8G 隨身碟,以為是 8 * 1024 MB,卻發現比想像中的小很多 😭)
為避免混淆,國際單位制 (SI) 與 國際電工委員會 (IEC),
分別制定了十進制與二進制的規範,:
KB (Kilobyte) = 1000 byte = 103 byte = 千位元組
MB (Megabyte) = 1000 KB = 106 byte = 百萬位元組
GB (Gigabyte) = 1000 MB = 109 byte = 十億位元組
TB (Terabyte) = 1000 GB = 1012 byte = 兆位元組
PB (Petabyte) = 1000 TB = 1015 byte = 千兆位元組
EB (Exabyte) = 1000 PB = 1018 byte = 艾 (艾可薩) 位元組
KiB (kibibyte) = 1024 byte = 210 byte
MiB (Mebibyte) = 1024 KB = 220 byte
GiB (Gibibyte) = 1024 MB = 230 byte
TiB (Tebibyte) = 1024 GB = 240 byte
PiB (Pebibyte) = 1024 TB = 250 byte
EiB (Exbibyte) = 1024 PB = 260 byte
然而,長久以來的習慣:
大家仍時常使用 MB、GB…等,代稱 MiB、GiB
位元速率
常用於傳輸速率的『位元/秒 (bit per second, bps)』,用法也就依此延伸啦:
ex:
KB/s = kilobyte per second = 103 byte/s
KiB/s = kibibyte per second = 210 byte/s
因此,10 Mbps = 10 * 106 bps = 1.25 MB/s = 1.1920929 MiB/s,
而 100 Mbps = 100 * 106 bps = 12.5 MB/s = 11.920929 MiB/s,
切勿將十進制與二進制系統混為一談囉!