Bước tới nội dung

Tiền tố nhị phân

Bách khoa toàn thư mở Wikipedia

Trong tính toán, tiền tố nhị phân được dùng để định lượng những con số lớn mà ở đó dùng lũy thừa hai có ích hơn dùng lũy thừa 10 (như kích thước bộ nhớ máy tính). Mỗi tiền tố kế tiếp nhau hơn kém nhau 1024 lần (210) thay vì 1000 lần (103) như trong hệ tiền tố SI. Tiền tố nhị phân thường được viết và phát âm hệt như tiền tố SI, mặc dù điều này gây ra nhầm lẫn, do tiền tố SI từ xưa đến nay chính thức có nghĩa liên quan đến hệ thập phân.

Lịch sử

[sửa | sửa mã nguồn]

Những máy tính đầu tiên sử dụng một trong hai cách mô tả địa chỉ để nói về bộ nhớ hệ thống; hệ nhị phân (cơ số 2) hoặc hệ thập phân (cơ số 10). Máy IBM 701 (1952) sử dụng hệ nhị phân và có thể mô tả được 2048 "word", mỗi word có 36 bit. Máy IBM 702 (1953) sử dụng hệ thập phân và có thể mô tả 10.000 "word", mỗi word có 7 bit. Một trong những máy tính thành công nhất thời đó là IBM 1401, được giới thiệu vào năm 1959 và đến 1961 cứ 4 máy tính điện tử thì có 1 chiếc IBM 1401, sử dụng cách ghi địa chỉ theo hệ thập phân và có thể có 1400, 2000, 4000, 8000, 12.000 hoặc 16.000 ký tự (mỗi ký tự có 8 bit) trong bộ lưu trữ nhân[1]. Khi nói đến "4k IBM 1401" có nghĩa là 4000 ký tự của bộ nhớ[2].

Đến giữa thập niên 1960 cách ghi địa chỉ theo hệ nhị phân đã là kiến trúc chuẩn trong thiết kế máy tính. Tài liệu hướng dẫn hệ thống máy tính thời đó xác định kích thước bộ nhớ với con số chính xác như 32.768, 65.536 hay 131.072 "word" lưu trữ. Có vài phương pháp được dùng để viết tắt các lượng số này. Một bài báo trong cuộc thảo luận nhỏ vào năm 1964 của Gene Amdahl nói về IBM System/360 đã dùng 1K với nghĩa là 1024[3]. Kiểu cách này đã được dùng lại bởi những nhà buôn bán máy tính khác, Mô tả hệ thống của CDC 7600 (1968) dùng rất nhiều chữ K như 1024[4]. Một kiểu dùng khác đó là cắt đi 3 số cuối và thêm chữ K vào. Giá trị chính xác 32.768, 65.536 và 131.072 trở thành 32K, 65K và 131K[5]. Nếu 32.768 được làm tròn, nó sẽ thành 33K. Kiểu này đã được dùng trong khoảng từ năm 1965 đến 1975.

Việc sử dụng 1024 K thông dụng hơn kiểu K sau khi cắt cụt. Cả hai đều được dùng, có khi bởi cùng một công ty. Máy tính thời gian thực HP 21MX (1974) ký hiệu 196.608 là 196K và 1.048.576 là 1 M[6]. Máy tính doanh nghiệp HP 3000 (1973) có thể có bộ nhớ 64K, 96K, hoặc 128K byte[7].

Thuật ngữ Kbit, Kbyte, Mbit và Mbyte bắt đầu được sử dụng như đơn vị nhị phân vào đầu thập niên 1970[8]. Tờ quảng cáo cho máy tính IBM System/370 Model 158 (1972) đã có những dòng sau: "Dung lượng lưu trữ thực có bán từ 512K đến 2.048K byte tăng theo từng bậc 512K"[9]. Phần lớn dung lượng bộ nhớ được mô tả theo K. Megabyte được dùng để mô tả địa chỉ 22-bit của máy PDP-11/70 (1975) của hãng DEC[10] và gigabyte để chỉ địa chỉ 30-bit của máy VAX11/780 (1977), cũng của DEC.

Vào giữa thập niên 1070 việc dùng K (hoặc Kbyte) để biểu diễn 1024 đã trở nên phổ biến và ít gặp hơn là M (hay MByte) được dùng như 1.048.576 word hay byte cho bộ nhớ (RAM). K và M cũng được dùng với nghĩa thập phân cho dung lượng đĩa. Việc sử dụng song song các tiền tố này cho cả hệ thập phân và nhị phân đã được định nghĩa trong những tiêu chuẩn và từ điển thời đó. ANSI/IEEE Std 1084-1986[11] vẫn còn dùng để tham khảo và đã định nghĩa kilo và mega. Thuật ngữ "dung lượng máy tính" có nghĩa là bộ nhớ hệ thống[3]

"kilo (K). (1) Một tiền tố để chỉ 1000. (2) Trong các câu văn liên quan đến kích thước dung lượng máy tính, là một tiền tố để chỉ 210, hay 1024."

"mega (M). (1) Một tiền tố để chỉ một triệu. (2) Trong các câu văn liên quan đến kích thước dung lượng máy tính, là một tiền tố chỉ 220, hay 1.048.576."

Vào thập niên 1980 các thuật ngữ kilobyte, megabytegigabyte trở nên phổ biến cùng với cách viết tắt KB, MB và GB và các thuật ngữ Kbyte, Mbyte và Gbyte. Tất cả đều được định nghĩa trong IEEE 100[12]. Thuật ngữ Kbyte, Mbyte và Gbyte được tìm thấy trong các ấn bản thương mại và trong bài báo của IEEE (Kilobyte, Kbyte và KB là những đơn vị tương đương).

Ngành công nghiệp đã thích ứng với những định nghĩa kép này vì bộ nhớ hệ thống (RAM) luôn sử dụng nghĩa nhị phân trong khi dung lượng đĩa lại sử dụng nghĩa thập phân (tuy cũng có những ngoại lệ đặc biệt cho một số loại đĩa). Không có đơn vị SI cho dung lượng lưu trữ máy tính nhưng ý nghĩa thập phân của KB, MB và GB thường được chỉ bằng tiền tố SI.

Vào tháng 1 năm 1999, Ủy ban Kỹ thuật Điện Quốc tế giới thiệu các tiền tố kibi-, mebi-, gibi-, v.v., và các ký hiệu Ki, Mi, Gi, v.v., để chỉ các bội số nhị phân của số lượng và loại bỏ sự nhập nhằng này[13]. Tên của tiêu chuẩn mới được lấy ra từ hai chữ cái đầu tiên của tiền tố SI gốc kèm theo là chữ bi, viết tắt cho "binary" (nhị phân). Chuẩn mới cũng làm rõ rằng, theo quan điểm của IEC, các tiền tố SI do đó sẽ chỉ được dùng với nghĩa cơ số 10 của nó và không bao giờ có nghĩa là cơ số 2.

Phiên bản thứ hai của tiêu chuẩn[14] định nghĩa chúng chỉ đến exbi-[15], nhưng vào năm 2005, phiên bản thứ ba đã thêm vào các tiền tố zebi- và yobi-, do đó tất cả các tiền tố SI tiêu chuẩn đã có phần nhị phân tương ứng[16].

Vào 19 tháng 3 năm 2005 tiêu chuẩn IEEE IEEE 1541-2002 (Các Tiền tố cho Bội số Nhị phân) đã được nâng lên thành tiêu chuẩn sử dụng đầy đủ bởi Hiệp hội Tiêu chuẩn IEEE sau khoảng thời gian hai năm thử nghiệm[17].

Sự bối rối của người dùng

[sửa | sửa mã nguồn]
Ổ cứng này có thể chứa 160×109 byte, và được bán ra sử dụng tiền tố SI chuẩn là "160 GB"

Vào thời kỳ đầu tiên của máy tính hầu như không có sự nhầm lẫn nào từ người dùng vì bản chất cẩn thận của người dùng nhưng lý do quan trọng hơn là các nhà sản xuất máy tính hồi đó xác định (trái với các quảng cáo) sản phẩm của họ bằng chữ số thập phân ở những chỗ thích hợp, ví dụ như vào năm 1968 IBM nói về System 360 "Model 91s có thể cung cấp lên đến 6.291.496 byte bộ nhớ chính."[18] Những nhà sản xuất ổ cứng bắt đầu sử dụng MB, có nghĩa là 106 byte, để mô tả đặc tính sản phẩm của họ từ năm 1974[19]. Đến năm 1977, trong phiên bản đầu tiên, Disk/Trend[20], một nhà tư vấn tiếp thị cho ngành công nghiệp ổ cứng hàng đầu khi đó đã chia ngành công nghiệp dựa theo số MB (nghĩa thập phân) dung lượng. Việc một hệ điều hành sử dụng MB với nghĩa nhị phân để hiển thị dung lượng ổ cứng có lẽ xuất hiện đầu tiên ở Macintosh Finder sau 1984. Trước đó, trên những hệ thống có dùng ổ cứng, dung lượng được hiển thị bằng các con số thập phân và không dùng tiền tố nào (như lệnh CHKDSK của MS/PC DOS). Sau đó, một ví dụ là Microsoft Windows 3.11 đã báo cáo dung lượng thực của ổ cứng 41.959.424 byte là 40 MB.

Những tiền tố nhị phân sử dụng ký hiệu SI

[sửa | sửa mã nguồn]
Tên Ký hiệu Giá trị Cơ số 16 Cơ số 10
kilo k/K 210 = 1.024 = 162.5 > 103
mega M 220 = 1.048.576 = 165 > 106
giga G 230 = 1.073.741.824 = 167.5 > 109
tera T 240 = 1.099.511.627.776 = 1610 > 1012
peta P 250 = 1.125.899.906.842.624 = 1612.5 > 1015
exa E 260 = 1.152.921.504.606.846.976 = 1615 > 1018
zetta Z 270 = 1.180.591.620.717.411.303.424 = 1617.5 > 1021
yotta Y 280 = 1.208.925.819.614.629.174.706.176  = 1620 > 1024

Ký hiệu một ký tự thì y hệt như tiền tố SI, trừ "K", được dùng qua lại với "k" (trong SI, "K" viết hoa có nghĩa là độ kelvin, và chỉ có "k" viết thường mới có nghĩa là 1.000).

Các tiền tố này thường được dùng trong ngữ cảnh nói về kích thước bộ nhớ hay tập tin. Tên và giá trị của tiền tố SI được định nghĩa trong tiêu chuẩn SI năm 1960, với giá trị là lũy thừa của 1000. Những từ điển tiêu chuẩn đã thực sự công nhận nghĩa nhị phân của những tiền tố này.[21][22] Ví dụ như từ điển trực tuyến Oxford định nghĩa megabyte như sau: "Máy tính một đơn vị thông tin bằng với một triệu hoặc (chính xác) 1.048.576 byte."[23]

BIPM (tổ chức duy trì SI) cấm tuyệt đối việc dùng như tiền tố nhị phân, và đề nghị sử dụng tiền tố IEC để thay thế (đơn vị tính toán không nằm trong SI).[24]

Có người đề nghị "k" được dùng cho 1.000, và "K" cho 1.024, nhưng nó không thể mở rộng cho những tiền tố bậc cao hơn và chưa bao giờ được công nhận rộng rãi.

Mặc dù các tiền tố để chỉ các đơn vị thấp hơn một bit hay một byte theo lý thuyết có thể được dùng trong những lĩnh vực như mã hóa, nén dữ liệu, và mức độ truyền dữ liệu, chúng không được dùng trong thực tế.

Một cách không chính thức, những tiền tố thường đứng một mình. Do đó có ai đó sẽ nghe thấy "DRAM 256 "ký"" (256 kilobyte nhị phân), "ổ cứng 160 "mê"" (160 megabyte thập phân) hay "đường truyền Internet 2 "mê"" (2 megabit thập phân trên giây). Đơn vị nào đang được dùng, và cơ số của nó là nhị phân hay thập phân, tùy thuộc hoàn toàn vào ngữ cảnh sử dụng và không thể được xác định chỉ bằng đơn vị.

Tiền tố tiêu chuẩn IEC

[sửa | sửa mã nguồn]
Tên Ký hiệu Cơ số 2 Cơ số 16 Cơ số 10
kibi Ki 210 162.5 400(16) = 1.024 > 103
mebi Mi 220 165 10 0000(16) = 1.048.576 > 106
gibi Gi 230 167.5 4 000 0000(16) = 1.073.741.824 > 109
tebi Ti 240 1610 100 0000 0000(16) = 1.099.511.627.776 > 1012
pebi Pi 250 1612.5 4 0000 0000 0000(16) = 1.125.899.906.842.624 > 1015
exbi Ei 260 1615 1000 0000 0000 0000(16) = 1.152.921.504.606.846.976 > 1018
zebi Zi 270 1617.5 40 0000 0000 0000 0000(16) = 1.180.591.620.717.411.303.424 > 1021
yobi Yi 280 1620 1 0000 0000 0000 0000 0000(16) = 1.208.925.819.614.629.174.706.176 > 1024

Ví dụ: 300 GB ≅ 279.5 GiB.

Tỷ lệ xấp xỉ giữa tiền tố nhị phân và thập phân

[sửa | sửa mã nguồn]

Khi các đơn vị trong bảng đơn vị đi lên dần, phần trăm sai lệch giữa giá trị nhị phân và thập phân của tiền tố càng tăng, từ 2,4% (với tiền tố kilo) đến trên 20% (với tiền tố yotta). Điều này khiến cho sai số giữa hai giá trị trở nên quan trọng khi lưu trữ dữ liệu ngày càng lớn và công nghệ truyền dẫn được phát triển.

Tên Nhị phân ÷ Thập phân Thập phân ÷ Nhị phân Ví dụ Tỷ lệ sai khác
kilobyte : kibibyte 1.024 0.976 100 kB ≅ 97.6 KiB +2.4% hay −2.3%
megabyte : mebibyte 1.049 0.954 100 MB ≅ 95.4 MiB +4.9% hay −4.6%
gigabyte : gibibyte 1.074 0.931 100 GB ≅ 93.1 GiB +7.4% hay −6.9%
terabyte : tebibyte 1.100 0.909 100 TB ≅ 90.9 TiB +10% hay −9.1%
petabyte : pebibyte 1.126 0.888 100 PB ≅ 88.8 PiB +12.6% hay −11.2%
exabyte : exbibyte 1.153 0.867 100 EB ≅ 86.7 EiB +15.3% hay −13.3%
zettabyte : zebibyte 1.181 0.847 100 ZB ≅ 84.7 ZiB +18.1% hay −15.3%
yottabyte : yobibyte 1.209 0.827 100 YB ≅ 82.7 YiB +20.9% hay −17.3%

Sự chấp nhận

[sửa | sửa mã nguồn]

Đến năm 2007, quy ước đặt tên của IEC vẫn chưa được sử dụng rộng rãi, nhưng nó đang được phổ biến dần dần.

Nó được hỗ trợ mạnh mẽ bởi nhiều cơ quan tiêu chuẩn hóa và tổ chức kỹ thuật, như IEEE, CIPM, NIST, và SAE.[24][25][26][27] Những tiền tố nhị phân mới cũng đã được chấp nhận bởi tổ chức Tiêu chuẩn hóa Kỹ thuật Điện tử của Ủy ban châu Âu (CENELEC) như một tài liệu dung hòa HD 60027-2:2003-03.[28] Tài liệu này sẽ được chấp nhận như một tiêu chuẩn châu Âu.[29]

Những tiền tố đang bắt đầu được sử dụng trong những bài báo kỹ thuật và phần mềm khi việc tránh nhập nhằng là quan trọng. Các phần mềm hiện đang dùng tiền tố tiêu chuẩn IEC (chung với tiền tố tiêu chuẩn SI) bao gồm Linux kernel,[30] GNU Core Utilities,[31] Launchpad, GParted,[32] ifconfig,[33] Deluge (chương trình BitTorrent),[34]BitTornado. Những chương trình khác như fdiskapt-get sử dụng tiền tố SI với ý nghĩa thập phân.

Việc sử dụng

[sửa | sửa mã nguồn]

Cụm từ "đơn vị thập phân" sẽ được dùng để chỉ "định danh SI được hiểu với nghĩa tiêu chuẩn, thập phân, lũy thừa của 1000" và "đơn vị nhị phân" sẽ có nghĩa "định danh SI được hiểu với nghĩa nhị phân, lũy thừa của 1024." B sẽ được dùng làm ký hiệu cho byte theo tiêu chuẩn công nghiệp máy tính (IEEE 1541IEC 60027; B cũng được dùng làm ký hiệu cho bel, một đơn vị không phải của SI phổ biến để đo số truyền).

Có những đơn vị luôn luôn được hiểu là số thập phân ngay cả khi nói đến máy tính. Ví dụ như, hertz (Hz), được dùng để đo tốc độ xung đồng hồ của những linh kiện điện tử, và bit/s, dùng để đo tốc độ truyền bit. Do đó bộ vi xử lý 1 GHz sẽ thực hiện 1.000.000.000 xung đồng hồ trong một giây, nhạc MP3 128 kbit/s tốn 128.000 bit (16 kB, 15.625 KiB) một giây, và kết nối Internet tốc độ 1 Mbit/s có thể truyền 1.000.000 bit (125 kB, tương đương 122 KiB) một giây, giả thiết 1 byte bằng 8 bit, và không có trễ.[35]

Cách phát âm

[sửa | sửa mã nguồn]

Trong tiếng Anh và tương tự đối với tiếng Việt, cách phát âm được đề nghị là âm đầu của tiền tố nhị phân phát âm giống như âm đầu của tiền tố SI tương ứng, và âm sao phát âm như "bi".[26] Ví dụ như: KiB, viết là Kibibyte, đọc là "ki bi bai (tờ)".

Bộ nhớ máy tính

[sửa | sửa mã nguồn]

Việc đo lường phần lớn các loại bộ nhớ điện tử như RAM, ROMFlash (ổ flash dung lượng lớn như đĩa cứng đôi khi là ngoại lệ) thường ở đơn vị nhị phân, vì chúng được tạo ra ở dung lượng theo lũy thừa hai. Đây là cấu hình tự nhiên nhất cho bộ nhớ, vì khi đó tất cả các tổ hợp của các đường địa chỉ sẽ tương ứng với một địa chỉ hữu hiệu, cho phép tập hợp dễ dàng vào một khối bộ nhớ liên tục lớn hơn.

Tổ chức Công nghệ Liên bang Thống nhất JEDEC, một cơ quan tiêu chuẩn hóa kỹ thuật bán dẫn của Liên minh Công nghiệp Điện tử (Electronic Industries Alliance - EIA) trong Tiêu chuẩn 100B.01[6][36] định nghĩa K, M và G theo nghĩa nhị phân là tiền tố cho những đơn vị của bộ nhớ bán dẫn, ghi chú rằng những định nghĩa này "chỉ được kèm theo để phản ánh thực tế sử dụng thông thường" và còn chú ý rằng 'IEEE/ASTM SI 10-1997 có nói "Việc sử dụng như thế này thường dẫn tới sự nhầm lẫn và không được tán thành."'. Tất cả những tiêu chuẩn xuất bản bởi JEDEC vẫn đang sử dụng cách dùng thông thường, gồm cả những đề xuất đóng gói chip nhớ cho người dùng cuối.

Nhiều lĩnh vực trong lập trình máy tính đề cập tới bộ nhớ với ý nghĩa lũy thừa hai một cách tự nhiên. Ví dụ như, một con trỏ có thể tham chiếu đến nhiều nhất là 65.536 đơn vị (byte, word, hoặc đối tượng khác), hay một hệ điều hành có thể chiếu tương ứng bộ nhớ với nghĩa là từng trang độ lớn 4.096-byte, trong trường hợp đó chính xác 8.192 trang có thể định vị được 33.554.432 byte bộ nhớ phần cứng. Sẽ thuận tiện hơn khi diễn đạt các con số này một cách không chính thức lần lượt là 64K đơn vị, hay 8K trang có độ lớn 4Kbyte (KiB), mỗi trang tương ứng với 32 MByte (MiB) bộ nhớ. Một lập trình viên có thể dễ dàng tính nhẩm rằng "8K × 4K là 32 meg" và sẽ có giá trị chính xác, với ngữ cảnh lũy thừa hai này. Sự thuận tiện này có lẽ là một trong những nguồn gốc của việc mượn "kilo" và "mega" từ hệ SI để viết tắt cho 1.024 và 1.048.576, như một tiếng lóng đặc biệt trong một nhánh của ngành công nghiệp.

Hầu như tất cả chương trình dành cho người dùng máy tính (và nhiều chương trình lập trình cấp cao) không có xu hướng và cũng không cần phải nói rõ về lũy thừa của hai. Sự lẫn lộn của người dùng giữa lũy thừa của 1000 và lũy thừa của 1024 có thể suy ra phần lớn từ vài ứng dụng và hệ điều hành ban đầu được viết bởi lập trình viên và cũng dành cho lập trình viên, những chương trình đó do đó đã báo cáo số lượng như kích thước tập tin theo cách quen thuộc (đối với lập trình viên) là lũy thừa của 1024 trong khi sử dụng tên viết tắt SI (lũy thừa của 1000). Nếu không có những báo cáo này, phần lớn người dùng sẽ không bị đặt vào nghĩa lũy thừa của 1024, vì bộ nhớ thực mà người dùng sử dụng sau khi vài bù trừ chi phí hiếm khi là lũy thừa của 2. Hành vi được kế thừa của hệ điều hành khi báo cáo kích thước theo lũy thừa của 1024 vẫn tiếp tục đến ngày nay (năm 2007) ngay cả ở nhiều hệ điều hành có giao diện đồ họa nhắm chủ yếu đến người dùng không phải lập trình viên.

Ổ cứng

[sửa | sửa mã nguồn]

Những nhà sản xuất ổ cứng dùng đơn vị thập phân để chỉ dung lượng. Việc sử dụng như thế có truyền thống từ lâu, trước cả khi hệ thống SI của các tiền tố thập phân được công nhận vào năm 1960:

  • Ổ cứng đầu tiên là IBM 350 (thập niên 1950) có 5.000.000 ký tự 6 bit được tổ chức trong 100 vùng (sector) ký tự (nghĩa là khối - block). Điều này xảy ra trước khi có hệ thống SI.
  • Vào thập niên 1960 một cách mặc định tất cả ổ đĩa sử dụng định dạng chiều dài khối biến đổi của IBM (gọi là Count Key Data hay "CKD[37]"). Bất kỳ kích thước khối nào cũng có thể xác định dựa trên chiều dài rãnh (track) lớn nhất. Các khối ("thanh ghi" trong thuật ngữ của IBM) 88, 96, 880 và 960 thường được dùng vì chúng liên quan tới kích thước khối không đổi của các thẻ có lỗ. Dung lượng đĩa thường được chỉ theo các khối thanh ghi rãnh đầy đủ, ví dụ như một gói 3336 đĩa 100 Megabyte chỉ đạt được dung lượng với một kích thước khối rãnh 13.030 byte.
  • CKD vẫn còn dùng đến thập niên 1990 và có lẽ còn đến ngày nay. Vào thập niên 1970 và 1980 phần lớn ổ đĩa được xác định bằng số rãnh chưa định dạng (dung lượng chưa định dạng) với kích thước khối cụ thể và dung lượng đã được định dạng là một hàm của thiết kế bộ điều khiển. Ví dụ như, ST412 của IBM PC/XT có dung lượng chưa định dạng là 12,75 MB (không phải MiB) và được định dạng với bộ điều khiển Xebec và 512 khối và được quảng cáo là ổ cứng 10,0 MB (không phải MiB). Những bộ điều khiển khác hỗ trợ những kích thước khối khác dẫn đến dung lượng sau khi định dạng khác nhau.
  • Sự xuất hiện của giao tiếp thông minh (SCSIIDE) vào đầu thập niên 1990 đã thống nhất việc quyết định kích thước một khối và mặc định chọn 512 byte, không có lý do gì khác ngoài việc IBM đã chọn nó khi họ lấy bộ điều khiển Xebec dành cho PC/XT. Dung lượng tiếp tục được xác định bởi các nhà sản xuất ổ cứng với định nghĩa tiền tố SI.

Bất kể thực tế từ trước đến nay của các nhà sản xuất ổ cứng là luôn xác định dung lượng với quy ước tiền tố SI, giao diện đồ họa của một vài hệ thống hay hệ điều hành vẫn báo cáo dung lượng ổ cứng là một số nhị phân dẫn đến sự lẫn lộn. Vào tháng 1 năm 2007, phần lớn, nhưng không phải tất cả, các nhà sản xuất ổ cứng tiếp tục dùng tiền tố thập phân để xác định dung lượng.[38]

Ổ đĩa flash

[sửa | sửa mã nguồn]

Ổ đĩa Flash dùng USB và thẻ nhớ dựa trên Flash như CompactFlashSecure Digital được xếp vào loại bội số "lũy thừa của hai" của megabyte thập phân; ví dụ, một thẻ "256 MB" sẽ chứa 256 triệu byte.[2] Mặc dù các thiết bị ít ra thường có dung lượng byte mong đợi, mỗi nhà sản xuất cũng định vị những phần khác nhau của dung lượng cơ bản của thiết bị cho những thứ như wear levelling (một kỹ thuật để kéo dài tuổi thọ thẻ nhớ).

Đĩa mềm

[sửa | sửa mã nguồn]

Việc sử dụng một cách nhập nhằng các tiền tố thập phân có thể bắt đầu từ đĩa mềm khi nhà sản xuất truyền thông và ổ đĩa chỉ dung lượng chưa định dạng trong khi các hệ thống khác nhau đưa ra những dung lượng đã định dạng khác nhau như là kết quả của các thiết kế bộ điều khiển khác nhau. Dường như một vài nhà sản xuất hệ thống và phân phối hệ điều hành bắt đầu báo cáo theo cách mà hiện giờ chúng ta biết là Ki byte. Một hệ thống lai rất nhập nhằng đã được phát triển với đĩa mềm 3½" mật độ cao hai mặt, ở đó một "megabyte" có nghuax là 1000 lần của "kilobyte" 1024 byte. Do đó, vào năm 2005, những nhà sản xuất đã thống nhất sử dụng sử định dang "đĩa 1,44 MB" cho một sản phẩm không chứa 1,44×220 byte cũng không phải 1,44×106 byte, mà là 1,44×1000×1024 byte (xấp xỉ với 1.406 MiB, hay 1.475 MB).

CD và DVD

[sửa | sửa mã nguồn]

Dung lượng đĩa CD luôn được cho dưới dạng đơn vị nhị phân. Một đĩa CD "700 MB" (hay "80 phút") có dung lượng danh nghĩa vào khoảng 700 MiB (xấp xỉ 730MB).[39] Nhưng dung lượng của DVD lại được cho ở dạng thập phân. Một DVD "4.7 GB" có dung lượng danh nghĩa là khoảng 4,38 GiB.[40]

Băng thông Bus được cho ở đơn vị thập phân. Điều này không phải do dung lượng ổ cứng sử dụng thập phân, cũng không phải do độ truyền bit, mà là do tốc độ xung đồng hồ. Ví dụ, bộ nhớ "PC3200" chạy trên bus ống kép 200 MHz, truyền 8 byte một chu kỳ, và do đó có băng thông 200.000.000×2×8 = 3.200.000.000 byte/s.

Tranh cãi pháp lý

[sửa | sửa mã nguồn]

Có hai vụ kiện nổi bật chống lại những nhà sản xuất thiết bị lưu trữ số. Một trường hợp liên quan đến bộ nhớ flash và trường hợp kia lien quan đến ổ đĩa cứng. Cả hai được hòa giải với các nhà sản xuất đồng ý làm rõ dung lượng lưu trữ các sản phẩm của họ trên bao bì người dùng.

Vào 20 tháng 2 năm 2004, Willem Vroegh đã sắp đặt một vụ kiện chống lại Lexar Media, Dane–Elec Memory, Fuji Photo Film Hoa Kỳ, Eastman Kodak Company, Kingston Technology Company, Inc., Memorex Products, Inc.; PNY Technologies Inc., SanDisk Corporation, Verbatim Corporation, and Viking InterWorks cho rằng sự mô tả về dung lượng các thẻ nhớ flash của họ là sai và gây nhầm lẫn.

Vroegh chỉ ra rằng một Thiết bị Bộ nhớ Flash 256MB chỉ có 244MB bộ nhớ tiếp cận được. "Nguyên đơn cho rằng bị đơn đã tiếp thị dung lượng bộ nhớ của các sản phẩm của họ bằng cách giả sử rằng một megabyte bằng với một triệu byte và một gigabyte bằng với một tỷ byte." Nguyên đơn muốn sử dụng giá trị 220 cho một megabyte và 230 cho một gigabyte. Nguyên đơn biết rằng tiêu chuẩn IEC định nghĩa một MB là một triệu byte nhưng đã nói rằng ngành công nghiệp bỏ qua phần lớn các tiêu chuẩn của IEC. Third Amended Complaint.pdf[liên kết hỏng]

Những nhà sản xuất đồng ý làm rõ dung lượng thẻ nhớ flash trên bao bì và trên trang web.[3] Người mua hàng có thể đăng ký "giảm giá mười phần trăm sản phẩm bán ra trực tuyến trong tương lai từ Cửa hàng Trực tuyến về Thiết bị Nhớ Flash của Bị đơn."[4] Lưu trữ 2007-09-28 tại Wayback Machine Công ty luật Gutride Safier, LLP và Milberg Weiss nhận được 2,4 triệu đô la Mỹ.

Vào ngày 7 tháng 7 năm 2005, một sự kiện mang tên Orin Safier chống lại Western Digital Corporation, và các bạn hữu, đã được sắp đặt tại Tòa án Tối cao của Thành phố và hạt San Francisco, số vụ án CGC-05-442812. Vụ này sau đó chuỷen tới Quận Bắc của California, số vụ án 05-03353 BZ.[5] Lưu trữ 2007-10-16 tại Wayback Machine

Mặc dù Western Digital khăng khăng rằng việc họ sử dụng đơn vị là đồng nhất với "tiêu chuẩn công nghiệp đúng đắn không thể phủ nhận trong đo lường và mô tả dung lượng lưu trữ", và rằng họ "không thể được kỳ vọng sẽ cải cách ngành công nghiệp phần mềm", họ đã đồng ý dàn xếp [6] Lưu trữ 2007-09-22 tại Wayback Machine vào tháng 3 năm 2006 với 14 tháng 6 năm 2006 là ngày chuẩn bị được phê chuẩn cuối cùng (Final Approval hearing date).

Western Digital đã đề nghị đền bù cho khách hàng được tải về miễn phí phần mềm phục hồi và sao lưu trị giá 30 đô la Mỹ. Họ cũng trả $500.000 lệ phí và chi phí cho các luật sư Adam Gutride và Seth Safier ở San Francisco, những người đã sắp xếp vụ kiện.[7]

Western Digital đã ghi chú ở dưới bản hòa giải. "Rõ ràng, bị đơn tin rằng anh ta có thể kiện một công ty trứng vì gian lận khi ghi nhãn hộp 12 trứng là "một tá", vì vài thợ bán bánh sẽ xem một "tá" bao gồm đến 13 cái."[8] Lưu trữ 2009-01-02 tại Wayback Machine

Những nhà sản xuất bộ nhớ flash và ổ cứng giờ đây đã có sự nhân nhượng về quyền lợi trong gói hàng và trang web của họ bằng việc làm rõ dung lượng được định dạng của bộ nhớ flash [9] hoặc định nghĩa 1MB là 1 triệu byte và 1GB là 1 tỷ byte.[10]

Cũng vậy, Class Action Fairness Act năm 2005 yêu cầu nghiên cứu cẩn thận hơn nữa những sự hòa giải bằng phiếu giảm giá. Một trong những công ty luật bị đơn trong vụ Vroegh, Milberg Weiss & Bershad, đã bị buộc tội gian lận trong những vụ án lớn (class action) không liên quan.[11]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ IBM (tháng 4 năm 1962). IBM 1401 Data Processing System: Reference Manual (PDF) . tr. 9. Bản gốc (PDF) lưu trữ ngày 30 tháng 9 năm 2007. Truy cập ngày 26 tháng 6 năm 2007.
  2. ^ Sonquiest, John A. (tháng 12 năm 1962). “Fixed-word-length arrays in variable-word-length computers”. Communications of the ACM. ACM Press. 5 (12): 602. The following scheme for assigning storage for fixed-word-length arrays seems to meet these criteria and has been used successfully in working with linear arrays on a 4k IBM 1401.
  3. ^ a b Gene M. Amdahl; Gerrit Blaauw; Fred Brooks (1964). “Architecture of the IBM System/360” (PDF). IBM Journal of Research and Development. IBM. 8 (2).Quản lý CS1: sử dụng tham số tác giả (liên kết) Figure 1 gives storage (memory) capacity ranges of the various models in "Capacity 8 bit bytes, 1 K = 1024"
  4. ^ Control Data Corporation (tháng 11 năm 1968). Control Data 7600 Computer System: Preliminary System Description (PDF). One type, designated as the small core memory (SCM) is a many bank coincident current type memory with a total of 64K words of 60 bit length (K=1024).
  5. ^ Control Data Corporation (1965–1967). Control Data 6400/6500/6600 Computer Systems Reference Manual . tr. 2–1. Bản gốc lưu trữ ngày 2 tháng 1 năm 2014. Truy cập ngày 26 tháng 6 năm 2007. Central Memory is organized into 32K, 65K, or 131K words (60-bit) in 8, 16, or 32 banks of 4096 words each.Quản lý CS1: định dạng ngày tháng (liên kết)
  6. ^ Frankenberg, Robert (tháng 10 năm 1974). “All Semiconductor Memory Selected for New Minicomputer Series” (PDF). Hewlett-Packard Journal. Hewlett-Packard. 26 (2): 15–20. Bản gốc (PDF) lưu trữ ngày 29 tháng 11 năm 2007. Truy cập ngày 18 tháng 6 năm 2007. 196K-word memory size
  7. ^ Hewlett-Packard (tháng 11 năm 1973). “HP 3000 Configuration Guide” (PDF). HP 3000 Computer System and Subsystem Data: 59.
  8. ^ Yeong Lin & Mattson, Richard (tháng 9 năm 1972). “Cost-performance evaluation of memory hierarchies”. Magnetics, IEEE Transactions on. IEEE. 8 (3): 390–392. Also, random access devices are advantageous over serial access devices for backing store applications only when the memory capacity is less than 1 Mbyte. For capacities of 4 Mbyte and 16 Mbyte serial access stores with shift register lengths of 256 bit and 1024 bit, respectively, look favorable.Quản lý CS1: sử dụng tham số tác giả (liên kết)
  9. ^ IBM (1972). “System/370 Model 158 brochure” (PDF). IBM. All-monolithic storage... (1024-bit NMOS) This new improvement of processor storage makes system expansion more economical. Real storage capacity is available in 512K increments ranging from 512K to 2.048K bytes. Chú thích journal cần |journal= (trợ giúp)
  10. ^ Gordon Bell & Strecker, William (tháng 11 năm 1975). “Computer structures: What have we learned from the PDP-11?” (PDF). ISCA '76: Proceedings of the 3rd annual symposium on Computer architecture. ACM Press: 1–14. memory size (8k bytes to 4 megabytes).Quản lý CS1: sử dụng tham số tác giả (liên kết)
  11. ^ ANSI/IEEE Std 1084-1986 IEEE Standard Glossary of Mathematics of Computing Terminology. ngày 30 tháng 10 năm 1986. kilo (K). (1) A prefix indicating 1000. (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.
  12. ^ Institute of Electrical and Electronics Engineers (2000). The Authoritative Dictionary of IEEE Standards Terms. IEEE Computer Society Press. ISBN 0-7381-2601-2.
  13. ^ Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology — Part 2: Telecommunications and electronics [1]
  14. ^ IEC 60027-2 (2000-11) Ed. 2.0
  15. ^ A.J.Thor (2000). “Prefixes for binary multiples” (PDF). Metrologica. 37 (81). Bản gốc (PDF) lưu trữ ngày 9 tháng 10 năm 2022. Truy cập ngày 26 tháng 6 năm 2007.
  16. ^ “HERE COME ZEBI AND YOBI” (Thông cáo báo chí). International Electrotechnical Commission. ngày 15 tháng 8 năm 2005. Bản gốc lưu trữ ngày 12 tháng 9 năm 2009. Truy cập ngày 26 tháng 6 năm 2007.
  17. ^ “IEEE-SA STANDARDS BOARD STANDARDS REVIEW COMMITTEE (RevCom) MEETING AGENDA”. ngày 19 tháng 3 năm 2005. Truy cập ngày 25 tháng 2 năm 2007. 1541-2002 (SCC14) IEEE Trial-Use Standard for Prefixes for Binary Multiples [No negative comments received during trial-use period, which is now complete; Sponsor requests elevation of status to full-use.] Recommendation: Elevate status of standard from trial-use to full-use. Editorial staff will be notified to implement the necessary changes. The standard will be due for a maintenance action in 2007.
  18. ^ System/360 Model 91
  19. ^ The CDC Product Line Card unambiguously uses MB to characterize HDD capacity in millions of bytes
  20. ^ 1977 Disk/Trend Report - Rigid Disk Drives, published June 1977
  21. ^ “Definition of megabyte” (html).
  22. ^ “Definitions of Megabyte on Dictionnary.com" (html).
  23. ^ “AskOxford: megabyte”. Bản gốc (html) lưu trữ ngày 25 tháng 5 năm 2005. Truy cập ngày 27 tháng 6 năm 2007.
  24. ^ a b “§3.1 SI prefixes”. The International System of Units (SI) (PDF) (bằng tiếng fr/English) (ấn bản thứ 8). Paris: STEDI Media. 2006. tr. 127. ISBN 92-822-2213-6. Truy cập ngày 25 tháng 2 năm 2007. [Side note:] These SI prefixes refer strictly to powers of 10. They should not be used to indicate powers of 2 (for example, one kilobit represents 1000 bits and not 1024 bits). The IEC has adopted prefixes for binary powers in the international standard IEC 60027-2: 2005, third edition, Letter symbols to be used in electrical technology — Part 2: Telecommunications and electronics. The names and symbols for the prefixes corresponding to 210, 220, 230, 240, 250, and 260 are, respectively: kibi, Ki; mebi, Mi; gibi, Gi; tebi, Ti; pebi, Pi; and exbi, Ei. Thus, for example, one kibibyte would be written: 1 KiB = 210 B = 1024 B, where B denotes a byte. Although these prefixes are not part of the SI, they should be used in the field of information technology to avoid the incorrect usage of the SI prefixes.Quản lý CS1: ngôn ngữ không rõ (liên kết)
  25. ^ IEEE Trial-Use Standard for Prefixes for Binary Multiples (PDF). New York. ngày 12 tháng 2 năm 2003. ISBN 0-7381-3386-8. Truy cập ngày 25 tháng 2 năm 2007. This standard is prepared with two goals in mind: (1) to preserve the SI prefixes as unambiguous decimal multipliers and (2) to provide alternative prefixes for those cases where binary multipliers are needed. The first goal affects the general public, the wide audience of technical and nontechnical persons who use computers without much concern for their construction or inner working. These persons will normally interpret kilo, mega, etc., in their proper decimal sense. The second goal speaks to specialists—the prefixes for binary multiples make it possible for persons who work in the information sciences to communicate with precision.
  26. ^ a b Prefixes for Binary Multiples — The NIST Reference on Constants, Units, and Uncertainty
  27. ^ Rules for SAE Use of SI (Metric) Units — Section C.1.12 — SI prefixes
  28. ^ HD 60027-2:2003 Lưu trữ 2008-02-23 tại Wayback Machine Information about the harmonization document (obtainable on order)
  29. ^ prEN 60027-2:2006 Lưu trữ 2008-06-17 tại Wayback Machine Information about the EN standardization process
  30. ^ “UNITS”. Linux Programmer's Manual. ngày 22 tháng 12 năm 2001. Bản gốc lưu trữ ngày 2 tháng 9 năm 2007. Truy cập ngày 20 tháng 5 năm 2007. When the Linux kernel boots and says hda: 120064896 sectors (61473 MB) w/2048KiB Cache the MB are megabytes and the KiB are kibibytes.
  31. ^ “2.2 Block size”. GNU Core Utilities manual. Free Software Foundation. ngày 28 tháng 12 năm 2002. Bản gốc lưu trữ ngày 10 tháng 5 năm 2007. Truy cập ngày 20 tháng 5 năm 2007. Integers may be followed by suffixes that are upward compatible with the SI prefixes for decimal multiples and with the IEC 60027-2 prefixes for binary multiples. line feed character trong |quote= tại ký tự số 37 (trợ giúp)
  32. ^ “gparted-0.2 changelog”. SourceForge. ngày 30 tháng 1 năm 2006. Truy cập ngày 20 tháng 5 năm 2007. changed KB/MB/GB/TB to KiB/MiB/GiB/TiB after reading http://www.iec.ch/zone/si/si_bytes.htm
  33. ^ “IFCONFIG”. Linux Programmer's Manual. ngày 30 tháng 6 năm 2005. Bản gốc lưu trữ ngày 16 tháng 2 năm 2007. Truy cập ngày 20 tháng 5 năm 2007. Since net-tools 1.60-4 ifconfig is printing byte counters and human readable counters with IEC 60027-2 units. So 1 KiB are 2^10 byte.
  34. ^ “Deluge changeset”. Bản gốc lưu trữ ngày 14 tháng 4 năm 2013. Truy cập ngày 13 tháng 6 năm 2007. proper prefix for size
  35. ^ “Binary vs. Decimal Measurements”. Bản gốc lưu trữ ngày 27 tháng 9 năm 2007. Truy cập ngày 27 tháng 6 năm 2007.
  36. ^ JEDEC Solid State Technology Association (tháng 12 năm 2002). “Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits”. JESD 100B.01.
  37. ^ “Answers”. Truy cập 16 tháng 9 năm 2015.
  38. ^ On January 6 2007, a check of the websites of Fujitsu, HGST, Samsung, Seagate, Toshiba and Western Digital showed these companies (representing virtually all of the HDD industry by unit volume) specify capacity with the SI prefix definitions.
  39. ^ “Data capacity of CDs”. Bản gốc lưu trữ ngày 15 tháng 7 năm 2006. Truy cập ngày 27 tháng 6 năm 2007.
  40. ^ “Understanding Recordable and Rewritable DVD” (PDF). Bản gốc (PDF) lưu trữ ngày 28 tháng 10 năm 2005. Truy cập ngày 27 tháng 6 năm 2007.

Đọc thêm

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]