Mỗi lần một sinh viên viết cho tôi về một câu hỏi trên bài kiểm tra ở lớp máy tính mà em đó và các bạn em tham dự. Câu hỏi là, “Cai nào nhanh hơn, USB 2.0 hay FireWire 400 (1394a)?”.
Họ đều trả lời là USB 2.0 nhanh hơn, do USB 2.0 có tốc độ 480Mbps (60MBps), trong khi FireWire 400 có tốc độ 400Mbps (500MBps). Sau khi bài kiểm tra được cho điểm các sinh viên bị bất ngờ khi thấy câu trả lời bị sai! Thảo luận câu hỏi này trong lớp học, thầy giáo xác nhận đặc điểm cấu hình kỹ thuật, nhưng sau đó tiếp tục nói rằng do bởi ít “phần cấu trúc đầu (overhead)” trong nội bộ nên FireWire nhanh hơn USB trong thực tế, mặc dù tốc độ truyền thực có thể ít hơn trên lý thuyết. Sinh viên này hỏi tôi câu trả lời đúng cho câu hỏi này là gì.
Tôi ghét các câu hỏi như thế này bởi từ góc nhìn kỹ thuật câu hỏi quá đơn giản và không chính xác và cả hai câu trả lời đều được cho là đúng. Cho thí dụ, hiển nhiên không rõ ràng là liệu câu hỏi này nghĩa là “nhanh hơn” như tốc độ thực của bus hay như trong băng thông thực tế.
Và nếu có nghĩa là băng thông thực tế, thì trường hợp chính xác nào? Vâng, khi gặp câu hỏi như vậy, bạn phải thực hiện một chọn lựa theo cách này hay cách khác, nói chung điều tốt nhất là cứ để nó đơn giản và tránh suy nghĩ quá mức về câu trả lời. Do sự kiểm tra thực tế liên quan nhiều điều không biết, câu trả lời đơn giản nhất và dứt khoát nhất sẽ chỉ dựa trên tốc độ truyền thực. Trong trường hợp này, chọn câu trả lời tốt nhất đơn giản là: Bởi vì USB 2.0 truyền ở 480Mbps (60MBps) và 1394a truyền ở 400Mbps (50MBps), USB thì nhanh hơn.
Giờ thì tôi biết một số người có thể không đồng tình, bao gồm cả người thầy cho đề kiểm tra. Nhiều người tin rằng (và nhiều bài kiểm tra đã chứng minh) cho là USB nhanh hơn trên lý thuyết. FireWire thì nhanh hơn trong thực tế. Mặc dù lưỡng lự để đưa ra kết luận chung chung, tôi cũng không đồng ý rằng cũng như bất kỳ giao diện hay bus nào trên máy tính, có nhiều yếu tố góp phần vào hiệu suất cho một nhiệm vụ cụ thể theo các điều kiện cụ thể hơn là chỉ đặc điểm kỹ thuật tốc độ bus thực.
Mặc dù nhiều người cho rằng FireWire nhanh hơn trong thực tế, sự thật là thiết kế của USB và FireWire rất khác nhau và không nhất thiết dự đoán kết quả của một trường hợp mà không biết tất cả chi tiết chính xác.
Để làm rõ điều này, tôi chạy một số thử nghiệm và ghi kết quả. Tôi có ổ đĩa cứng Maxtor 7200 rpm 250MB trong hộp bên ngoài hỗ trợ giao diện FireWire 400 (1394a) và USB 2.0.
Ổ đĩa này được định dạng như phân vùng FAT32 và đầy đủ khoảng một nửa. Tôi tạo ra một thư mực và sao chép tệp tin video 300MB vào thư mục đó. Tôi đặc biệt chọn một tệp tin lớn không vừa với bất kỳ bộ nhớ đệm (cache hay bufer) ổ đĩa hay hệ thống liên quan.
Tôi dùng hai hệ thống khác nhau, để thực hiện bài kiểm tra, cả hai đều có giao diện FireWire 400 và USB 2.0. Hệ thống như sau:
+ Hệ thống 1: Desktop, 3.6GHz Pentium 4 processor, 1GB RAM, Windows XP
+ Hệ thống 2: Laptop, 1.7GHz Pentium M processor, 1GB RAM, Windows XP
Để kiểm tra băng thông, tôi sao chép tệp tin này và đo thời gian bằng giây cho lệnh hoàn tất. Điều này có nghĩa là tệp tin sẽ được đọc và ghi lại cho cùng ổ đĩa, thực chất, một chuyển hai chiều qua giao diện (từ ổ đĩa đến máy tính và ngược lại). Tôi sử dụng ha lệnh khác nhau (COPY và XCOPY) chạy từng bốn lần liên tiếp, loại bỏ kết quả của lần này đầu tiên và tính trung bình cho ba lần kia.
Ghi chú:
Để đo thời gian sao chép của mỗi tệp tin tôi dùng tiện tích TimeIt, là một công cụ đường lệnh ghi thời gian mà một lệnh cụ thể chạy. TimeIt.exe có trong Windows Server 2003 (http://go.microsoft.com/fwlink/?LinkId = 4544).
Thời gian trung bình để sao chép tệp tin dùng hệ thống để bàn được thể hiện trong bảng 14.8
Như bạn thấy từ kết quả, khi hệ thống máy để bàn nhanh hơn được sử dụng, sao chép tệp tin từ gần 13% (sử dụng COPY) đến 25% (sử dụng XCOPY) nhanh hơn qua USB hơn qua FireWire. Cũng vậy, thú vị để nhận xét rằng sử dụng lệnh XCOPY 49% nhanh hơn COPY qua FireWire và 65% nhanh hơn COPY qua USB.
Thời gian trung bình để sao chép tệp tin dùng hệ thống máy xách tay chậm hơn đưuọc thể hiện trong bảng 14.9
Như bạn thấy từ kết quả, khi hệ thống máy xách tay chậm hơn được sử dụng, sao chép tệp tin từ 22% (dùng XCOPY) đến 26% (dùng COPY) nhanh hơn qua FireWire và 57% nhanh hơn COPY qua USB.
Vì vậy cái nào nhanh hơn trong thực tế? Trong ví dụ này, khi sao chép tệp tin trên máy tính để bàn tốc độ cao hơn, USB 2.0 thì nhanh hơn; tuy nhiên trên máy xách tay chậm hơn FireWire thì nhanh hơn. Nhưng đó không phải là tất cả; tôi nêu ra chi tiết thú vị khác; đường như tốc độ và hiệu suất của máy tính có ảnh hưởng lớn hơn trên băng thông của việc truyền USB 2.0 trong khi thực sự nó không ảnh hưởng đến việc truyền FireWire 400. Bảng 14.10 cho thấy sự so sánh.
Hệ thống máy để bàn khoảng từ 48% đến 55% nhanh hơn máy xách tay trên USB, thế nhưng chỉ 1% đến 3% nhanh hơn trên FireWire. Mặt khác thời gian truyền FireWire, thực sự giống hệt trên hệ thống máy để bàn và máy xách tay, mặc dù hệ thống khác nhau nhiều về tốc độ. Điều này có thể hiểu được do FireWire dùng thiết kế nối ngang hàng (peer-to-peer connection), không dùng máy tính như bộ điều khiển chủ yếu. Ngoài ra, do các khác biệt thiết kế nội bộ trong USB và FireWire, bộ xử lý máy tính và toàn bộ tốc độ hệ thống máy tính có ảnh hưởng lớn hơn trên USB hơn là FireWire.
Điểm rất thú vị khác: Phương pháp dùng để sao chép tệp tin (COPY đối với XCOPY trong trường hợp này) thực sự tạo thêm sự khác biệt hơn giao diện hay tốc độ hệ thống. Điều này phát sinh nhiều câu hỏi: Liệu có các khác biệt khác khi ổ đĩa được định dạng NTFS thay vì FAT32? Điều gì nếu tôi sao chép nhiều tệp tin nhỏ thay vì một tệp tin lớn? Điều gì nếu tôi dùng hệ điều hành khác? Như bạn thất, trong bất kỳ tiêu chuẩn đánh gái hay so sánh nào một số lượng lớn khác biệt phải được xem xét – và không có câu trả lời đơn giản đối với câu hỏi mơ hồ.
Theo “Nâng cấp và sửa chữa máy tính” Scott Mueller