Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
837,73 KB
Nội dung
HyperTransportBussửdụngchocácbộvixửlýAMD
Các bộvixửlý nền tảng kiến trúc AMD64 – như Athlon 64, Athlon 64
X2, Athlon 64 FX, Opteron, Sempron và Phenom – có hai bus ngoài.
Một được sửdụngcho việc truyền thông giữa CPU và bộ nhớ được gọi
là “memory bus”, bus kia được sửdụngcho việc truyền thông giữa CPU
và tất cả các thành phần khác của máy tính thông qua chipset của bo
mạch chủ và được gọi là HyperTransport – I/O (Input/Output) bus.
Trong hướng dẫn này, chúng tôi sẽ giới thiệu chocác bạn về cách
HyperTransport bus làm việc và nêu ra một số lỗi mà người dùng
thường hiểu nhầm đối với bus này.
Đối với tất cả cácbộvixửlý khác – gồm có bộ vixửlý AMD không dựa
trên kiến trúc AMD64 (như cácbộvixửlý Athlon, Athlon XP và Sempron
socket 462) – CPU này chỉ có một bus ngoài, chúng cũng được biết đến như
front side bus (FSB). Đối với phương pháp này, bus ngoài chịu trách nhiệm
cho cả việc truyền thông I/O và bộ nhớ.
Về mặt lý thuyết, kiến trúc được sửdụngchocácbộvixửlý AMD64 tốt
hơn, theo lý thuyết, chúng có thể truyền thông với bộ nhớ và với các thành
phần máy tính khác (như video card) tại cùng một thời điểm, điều không thể
đối với cácbộvixửlý khác chỉ có một đường dữ liệu bên ngoài.
Trên hình 1 bạn có thể xem cách một bộvixửlý AMD64 truyền thông với
thế giới bên ngoài thế nào. Chip “bridge” là chipset của bo mạch chủ. Phụ
thuộc vào chipset bạn có thể có một hoặc hai chip. Đối với các giải pháp 2
chip, tất cả thiết bị ngoại vi (như ổ đĩa cứng, các card bổ sung, sound
card,…) đều được kết nối đến chip thứ hai (chip thứ hai này được gọi là cầu
nối phía Nam, không hiển thị trong hình 1), trong khi các giải pháp đơn chip,
mọi thứ đều được kết nối đến chip đơn này.
Hình 1: Vị trí của HyperTransportbus trên bộ vixửlý AMD64. Nguồn:
Hardwaresecrets
Các CPU AMD dành chocác máy chủ - ví dụ như bộvixửlý Opteron – có
thể có một, hai hoặc 3 HyperTransport bus, phụ thuộc vào từng mô hình.
Các bus mở rộng này được sửdụng để kết nối với một số CPU để cho phép
chúng có thể trao đổi với nhau, nghĩa là được sửdụng trên các máy chủ có
nhiều CPU trên bo mạch chủ. Các CPU của máy desktop và notebook không
hỗ trợ kiểu cấu hình này vì chỉ có một HyperTransportbus trên chúng.
Trong bài này chúng ta có nhắc nhiều đến kiến trúc AMD64 nhưng sẽ không
giới thiệu sâu về kiến trúc này, mà sẽ dành riêng một bài khác để có thể giới
thiệu được chi tiết hơn.
Bên cạnh việc cung cấp cácbộvixửlý AMD64 với các đường dữ liệu riêng
biệt chobộ nhớ và I/O, HyperTransport còn có những ưu điểm khác: nó
cung cấp các liên kết riêng chocác hoạt động vào, ra của CPU, cho phép
CPU có thể gửi (ghi) và nhận (đọc) dữ liệu I/O tại cùng một thời điểm
(nghĩa là song song). Đối với kiến trúc truyền thống sửdụngbus ngoài đơn
thì bus được sửdụngcho cả hoạt động vào và ra nên việc đọc và ghi không
thể được thực hiện đồng thời.
Hình 2: HyperTransportbus cung cấp các đường dữ liệu vào/ra riêng biệt.
Nguồn: Hardwaresecrets
HyperTransport 1.x
HyperTransport bus có thể hoạt động dưới một vài cấu hình clock và độ
rộng (nghĩa là số bit được truyền mỗi lần). Đây có thể là vấn đề gây ra nhiều
hiểu sai và lỗi về HyperTransport.
HyperTransport là một bus được tạo bởi sự cộng tác sản xuất của một vài
nhà máy, bao gồm AMD, nVidia và Apple. Bus này có thể được sửdụng
trên một số ứng dụng và nó không bị hạn chế đối với cácbộvixửlý của
AMD.
Điều đó có nghĩa rằng cấu hình thực của HyperTransportbus sẽ phụ thuộc
vào các chuyên gia phát triển phần cứng.
Một số chuyên gia phát triển tuyên bố về tốc độ truyền tải một cách quá mức
của HyperTransportbus mà họ đang sử dụng.
Các bộvixửlý AMD64 hiện hành sửdụngHyperTransport 1 (HT1) hay
HyperTransport 2 (HT2), và cácbộvixửlýAMD sắp tới sửdụng
HyperTransport 3 (HT3). Trong tất cả các trường hợp này, bộvixửlýAMD
sử dụngcác liên kết 16bit, thậm chí HyperTransport còn cho phép sửdụng
các liên kết 32bit.
HyperTransport 1 được sửdụng trên tất cả các socket 754 và socket AM2
Sempron (các bộvixửlý AM2 sửdụngHyperTransport 2.0).
Đây là một phân tích thống kê về tất cả các tốc độ truyền tải và clock có thể
đối với HyperTransport 1.x (nghĩa là được cung cấp trên socket 754):
200 MHz = 400 MT/s = 800 MB/s
400 MHz = 800 MT/s = 1.600 MB/s
600 MHz = 1.200 MT/s = 2.400 MB/s
800 MHz = 1.600 MT/s = 3.200 MB/s
HyperTransport truyền tải 2 dữ liệu trên mỗi một chu kỳ clock, khái niệm đã
được biết đến như DDR, tốc độ dữ liệu kép. Công thức để tìm ra tốc độ
truyền tải lớn nhất theo lý thuyết là:
Tốc độ truyền tải = độ rộng xung (số bit) x clock x số đơn vị dữ liệu trên
mỗi chu kỳ/ 8.
Như vậy với cácbộvixửlý socket 754, HyperTransportbus có thể làm việc
đến 800 MHz hay 3.200 MB/s.
- Nói tốc độ clock được sửdụng bởi HyperTransport 1.x là 1.600 MHz bởi
vì mỗi một chu kỳ clock hai dữ liệu được truyền tải, hiệu suất đạt được
tương đương với tốc độ clock 1.600 MHz chỉ truyền tải một dữ liệu trên chu
kỳ clock. Cuối cùng tốc độ truyền tải sẽ như nhau, như công thức ở trên thay
vì sửdụng “2” cho “số dữ liệu trên mỗi chu kỳ clock”, nó sẽ sửdụng là “1”.
Điều này cũng xảy ra tương tự với DDR và cácbộ nhớ mới hơn có tốc độ
clock tuyên bố là gấp đôi tốc độ clock thực (nghĩa là cácbộ nhớ DDR2-800
làm việc thực tế là 400MHz nhưng truyền tải hai dữ liệu trên mỗi chu kỳ
clock).
- AMD nói rằng tốc độ clock là 1.600MT/s. MT/s là viết tắt của cụm Mega
Transfers per Second hay hàng triệu truyền tải trong một giây. Đây mới là
đúng cách để diễn tả ý tưởng trên. Truyền tải trên giây bằng tốc độ clock
nhân với số lần dữ liệu truyền tải trên mỗi chu kỳ.
Nói rằng tốc độ truyền tải lớn nhất của HyperTransport 1.x là 6.400 MB/s.
Điều đó là bởi vì tốc độ truyền tải đã được tuyên bố là cho mỗi đường dữ
liệu (nghĩa là 3.200MB/s cho đường dẫn đầu vào và 3.200MB/s cho đường
dẫn đầu ra), chính vì vậy một số người đã đơn giản hóa bằng cách nhân tốc
độ truyền tải lên hai để dùng chung cho cả hai đường dữ liệu. Chúng tôi
không đồng ý với ý tưởng này vì nói như thể cũng giống như nói rằng tốc độ
tối đa của một đường cao tốc nào đó là 130Km/h thì mỗi một chiều chỉ có
65Km/h, điều này quả thực rất dễ gây nhầm lẫn.
Một hiểu sai khác nói rằng bus ngoài hoặc FSB của Athlon 64 (hoặc các
CPU dựa trên AMD64 nào đó) là 16.00MHz. Cái này cũng có phần đúng.
Chúng ta có thể nói điều đó khi chỉ quan tâm đến các hoạt động vào ra
nhưng không đề cập đến bộ nhớ, vìcácbộvixửlý kiến trúc AMD64 có hai
bus ngoài riêng biệt. Như vậy tốt hơn chúng ta nên nói HyperTransport chứ
không phải “external bus” hay “FSB” để tránh nhầm lẫn. Bạn cũng cần biết
một điều rằng cácbộvixửlýAMD có thể làm việc với một tốc độ clock
dưới tốc độ đã tuyên bố 1.600 MT/s (800 MHz). Thực tế rằng chúng có thể
làm việc ở bất kỳ tốc độ nào trong danh sách đã công bố ở trên.
Chipset có thể nhận ra tốc độ clock thấp hơn với CPU và thậm chí một bước
8bit thay vì 16bit. Trong thực tế, khi các chipset Athlon 64 đầu tiên mới ra
đời, VIA đã tuyên bố rằng chipset của họ cho Athlon 64, K8T800 có nhiều
ưu điểm hơn để cạnh trạnh với HyperTransportbus ở tốc độ 1.600MT/s khi
không làm việc ở tốc độ truyền tải cực đại.
Tại website chính thức của HyperTransport
, bạn sẽ thấy rằng họ tuyên bố
tốc độ truyền tải lớn nhất là 12,8 GB/s đối với HyperTransport 1.x. Tốc độ
truyền tải lớn nhất này được thực hiện bằng cách sửdụngcác liên kết 32bit –
vì cácbộvixửlýAMDsửdụngcác liên kết 16bit. Nếu làm một phép toán
bạn sẽ nhận được kết quả 6.400 MB/s (32 bits x 800 MHz x 2 / 8). Đây là
một sự hợp tác gấp đôi tốc độ lớn nhất chỉ vì có hai đường dữ liệu được
cung cấp (một cho phát và một cho nhận). Như chúng tôi đã nói trước,
chúng tôi không đồng ý với quan niệm tính toán tốc độ truyền tải như vậy.
HyperTransport 2.0
HyperTransport 2.0 bổ sung thêm một số tốc độ clock mới – tốc độ truyên
tải mới và tính năng mới, bản đồ hóa PCI Express, đây là tính năng sẽ giúp
giao tiếp giữa HyperTransport và PCI Express – hay nói theo cách khác, làm
cho nó dễ dàng hơn đối với các CPU khi giao tiếp với thiết bị PCI Express.
Tốc độ truyền tải và clock mới giới thiệu trong HyperTransport 2.0 được cho
dưới đây, thừa nhận các liên kết 16bit (là cấu hình được sửdụng bởi bộvi
xử lý AMD):
1.000 MHz = 2.000 MT/s = 4.000 MB/s
1.200 MHz = 2.400 MT/s = 4.800 MB/s
1.400 MHz = 2.800 MT/s = 5.600 MB/s
Các thiết bị HyperTransport 2.0 cũng có thể làm việc với tốc độ truyền tải
của HyperTransport 1.x.
AMD sửdụngHyperTransport 2.0 trên tất cả các CPU AMD64 sockets 939
và AM2 (ngoại trừ trên các CPU Sempron, CPU sửdụngHyperTransport
1.0), mặc dù vậy chỉ hỗ trợ tốc độ HT2 thấp hơn – trong thực tế AMD được
quan tâm đến nhiều hơn trong tính năng bản đồ hóa PCI Express so với mặt
tốc độ truyền tải cao. Tuy vậy cácbộvixửlý này dựa trên tốc độ truyền tải
lớn nhất của các liên kết HT2 là 4.000 MB/s
Để làm cho một số thứ bớt lộn xộn, AMDsửdụng lại vài lần tên “HT1” để
miêu tả HyperTransportbus của CPU có các liên kết HyperTransport của họ
đang làm việc ở tốc độ 1.000 MHz. Điều này có thể tránh người dùng thừa
nhận rằng chỉ các phần của HT2 mới có thể làm việc đến tốc độ 1.400 MHz
(5.600 MB/s).
Một số người cho rằng liên kết 1.000 MHz/4.000 MB/s HyperTransport này
được sửdụng bởi cácbộvixửlý socket 939 và AM2 với:
- 2.000 MHz. Điều này có lẽ là vì trên mỗi một chu kỳ clock có hai dữ liệu
được truyền tải, hiệu suất đạt được sẽ bằng với tốc độ clock 2.000MHz đang
được truyền tải chỉ một dữ liệu trên chu kỳ. Kết quả cuối cùng đều như
nhau, như công thức được thể hiện ở trên thay vìsửdụng “2” cho “số dữ
liệu trên số chu kỳ clock” thì lúc này là “1”. Điều tương tự cũng xảy ra đối
với DDR và cácbộ nhớ sau này.
- 2.000 MT/s. Đây là tốc độ truyền tải chính thức của AMD. Tên viết tắt của
thuật ngữ này đã được giới thiệu trong phần trên. Đây là cách đúng đắn để
diễn tả ý tưởng trên. Truyền tải trên mỗi giây bằng số tốc độ clock nhân với
số lượng dữ liệu được truyền tải trên mỗi chu kỳ.
- 8.000 MB/s. Điều này xảy ra vì tốc độ truyền tải đã tuyên bố là cho mỗi
đường dữ liệu (có nghĩa là 4.000 MB/s cho mỗi đường dữ liệu vào ra riêng
biệt). Phần này cũng như phần trước mà chúng tôi đã đề cập, và chúng tôi
cũng đã bày tỏ quan điểm không đồng ý với quan niệm này, quan niệm dễ
gây nhầm lẫn.
Một hiểu sai khác là nói rằng bus ngoài hay FSB (Front Side Bus) của
Athlon 64 (hay của bất kỳ CPU dựa trên AMD64 nào) là 2.000MHz. Cái
này cũng có phần đúng. Chúng ta có thể nói điều đó khi chỉ quan tâm đến
các hoạt động vào ra nhưng không đề cập đến bộ nhớ, vìcácbộvixửlý kiến
trúc AMD64 có hai bus ngoài riêng biệt. Như vậy tốt hơn chúng ta nên nói
HyperTransport chứ không phải “external bus” hay “FSB” để tránh nhầm
lẫn. Cũng giống như HyperTransport 1.x bạn cần phải lưu ý rằng cácbộvi
xử lý socket 939 và AM2 có thể làm việc với bất kỳ tốc độ clock nào dưới
1.000 MHz.
Một lần nữa các giá trị chính thức choHyperTransport 2.0 lại được thổi
phồng lên như trong một tuyên bố rằng chúng sửdụngcác liên kết 32bit và
nhân 2 vì có hai liên kết được cung cấp (một cho phát và một cho nhận dữ
liệu). Và cũng vậy, chúng tôi cũng không đồng ý với quan điểm này.
HyperTransport 3.0
Bên cạnh việc bổ sung thêm tốc độ clock – tốc độ truyền tải mới -
HyperTransport 3.0 còn có một số tính năng mới hơn so với HyperTransport
2.0, như chế độ hoạt động AC, Link Splitting, Hot Plugging và Dynamic
Link Clock/Width Adjustment. CácbộvixửlýAMD sắp tới như Phenom,
sẽ sửdụng phiên bản HyperTransportbus mới này.
HyperTransport 3.0 sẽ được sửdụng trên các CPU socket AM2+ và 1207+.
[...]... thiệu các tính năng mới được mở rộng trong HyperTransport 3.0 Chế độ hoạt động AC cho phép HyperTransportbus có thể thực hiện trên các khoảng cách dài hơn Mục tiêu là cho phép HyperTransport có thể được sửdụng trực tiếp đến các trường hợp kết nối, bo mạch và các bảng nối đa năng Các bộvixửlý sẽ không sửdụng tính năng này Phân tách kết nối (Link splitting) cho phép liên kết 16bit để có thể được truy... được sửdụngchovi c tăng số liên kết có sẵn, cho phép thêm số lượng CPU có thể được kết nối mà không cần sửdụng bất kỳ phần cứng mở rộng nào Hot Plugging cho phép các thiết bị HyperTransport có thể được cài đặt và hủy bỏ cài đặt khi bus đang chạy Nó không cho phép bạn thay thế CPU khi hệ thống được bật vì CPU có một số chân khác bên cạnh HyperTransport, nhưng tính năng này có thể được sửdụng trên các. .. được sửdụng là 2.600 MHz x 32 x 2 / 8 x 2 Như chúng tôi đã giải thích, các vixửlý AMD sửdụngcác liên kết 16-bit chứ không phải 32-bit và chúng tôi không đồng ý với phương pháp nhân đôi tốc độ truyền tải này bởi thực tế chỉ có một liên kết để truyền tải và một liên kết khác để nhận dữ liệu Chúng tôi sẽ chỉ đồng ý với điều này nếu các liên kết có cùng hướng Ở đây chúng tôi chỉ đi vào giới thiệu các. .. 10.400 MB/s – AMD gọi là 5,2 GT/s, nghĩa là hàng tỉ truyền tải trong một giây Tuy vậy chúng tôi vẫn cho rằng các CPU đó sẽ vẫn chỉ tương thích với tốc độ thấp hơn Điều này là vì có hai thứ Đầu tiên là các CPU nền tảng HT3 mới có thể được cài đặt trên cácbo mạch nền tảng HT2 – ví dụ như cài đặt một bộ vixửlý socket AM2+ trên bản mạch socket AM2 – và như vậy họ cũng sẽ không đạt được hiệu suất I/O tối... Dynamic Link Clock/Width Adjustment, tính năng được sửdụng bởi các CPU AMD nền tảng HT3 – khi chúng được cài đặt trên bo mạch chủ bằng chipset HT3 Tính năng này cho phép CPU có thể thay đổi clock và số lượng bít được phát trên mỗi một chu kỳ clock mang tính động Ý tưởng ở đây là giảm công suất tiêu thụ Ví dụ, nếu CPU cảm nhận rằng HyperTransportbus của nó ở 2.600 MHz (10.400 MB/s) là quá nhiều so.. .HyperTransport 3.0 có thêm các tốc độ clock mới, vẫn giữ tương thích với HT1 và HT2: 1.800 MHz = 3.600 MT/s = 7.200 MB/s 2.000 MHz = 4.000 MT/s = 8.000 MB/s 2.400 MHz = 4.800 MT/s = 9.600 MB/s 2.600 MHz = 5.200 MT/s = 10.400 MB/s AMD tuyên bố rằng các CPU sắp tới của họ sẽ hỗ trợ tốc độ truyền HT3 lớn nhất – 10.400 MB/s – AMD gọi là 5,2 GT/s, nghĩa là hàng... (10.400 MB/s) là quá nhiều so với những gì nó đang thực hiện được thì nó có thể giảm bus xuống 1.000 MHz (4.000 MB/s) – hoặc bất kỳ một tốc độ gì đó mà nó cho là sẽ phù hợp hơn Cũng tương tự với số lượng bit được phát trên mỗi chu kỳ - nó có thể được giảm từ 16 đến bất cứ số nào mà CPU cảm thấy hợp lý, dựa trên hiệu suất sửdụng của hệ thống hiện hành ... Tương tự như điều xảy ra với các tốc độ clock thấp hơn, có thể sẽ có người gọi tốc độ clock lớn nhất của HT3 thành 5.2 GHz hay tốc độ truyền tải lớn nhất của nó thành 20.8 GB/s Một lần nữa tốc độ truyền tải được HyperTransort giới thiệu lại được cường điệu cao hơn Họ thông báo HyperTransport 3,0 có một tốc độ truyền tải lớn 41,6 GB/s Để có được con số này, họ tính toán các liên kết 32-bit (không phải . đang sử dụng.
Các bộ vi xử lý AMD6 4 hiện hành sử dụng HyperTransport 1 (HT1) hay
HyperTransport 2 (HT2), và các bộ vi xử lý AMD sắp tới sử dụng
HyperTransport. HyperTransport Bus sử dụng cho các bộ vi xử lý AMD
Các bộ vi xử lý nền tảng kiến trúc AMD6 4 – như Athlon 64, Athlon 64