• Thứ Năm, 19/05/2005 11:22 (GMT+7)

    Bộ xử lý AMD Hammer với công nghệ x86-64

    Theo kế hoạch, vào khoảng cuối năm nay AMD sẽ đưa ra thị trường BXL thế hệ thứ 8 của mình (thế hệ thứ 7 – K7 là BXL Athlon). Có một thông tin được quan tâm đặc biệt về BXL này: K8 là BXL 64-bit. Cho đến nay mới chỉ có mỗi BXL 64-bit Itanium của Intel với số lượng transistor khổng lồ và không dùng kiến trúc x86. AMD đi theo đường lối khác với Intel, BXL K8 có tên mã Hammer là thế hệ kế tiếp của BXL Athlon XP hiện hữu, dùng kiến trúc “x86-64” (nghĩa là kiến trúc x86 64-bit, kiểu như x86-32 vậy!), tuy nhiên nó có những điểm khác biệt hẳn.

     

    Những Nguyên Lý Cơ Bản Của Kiến Trúc X86 - 64
    X86-64 là kiến trúc 64-bit mà AMD đã phát triển cho họ BXL Hammer. Khác với kiến trúc IA64 64-bit được Intel sử dụng trong các BXL Itanium, x86-64 dựa trên kiến trúc x86-32 hiện tại. Kiến trúc x86-64 cho phép chạy các ứng dụng 32-bit mà không cần phải biên dịch lại và hiệu suất không bị suy giảm như khi chạy ở chế độ mô phỏng x86-32 trên BXL Itanium (điều này đặc biệt quan trọng vì hiện nay đa phần ứng dụng là 32-bit). Ngoài những lợi thế của các kiến trúc trước đây, Hammer còn có thêm những tính năng tiên tiến khác.

    Giải thuật 64-bit cho Hammer rất đơn giản: thêm vào tập thanh ghi một vài thanh ghi mới và mở rộng các thanh ghi cũ. Có 8 thanh ghi đa dụng (GPR-General Purpose Register) mới được thêm vào (R8 – R15), chúng được sử dụng trong mode 64-bit; và các thanh ghi “cũ” EAX, EBX… được mở rộng từ 32-bit lên 64-bit. Tám thanh ghi mới được thêm vào các đơn vị SSE để hỗ trợ SSE2, việc tăng số lượng các thanh ghi sẽ làm tăng hiệu năng của các ứng dụng “đói” tài nguyên, ví dụ như các tính toán khoa học (đây là một điểm mạnh của các BXL AMD kể từ thời K7).

    Để hỗ trợ cả mã lệnh 32-bit và 64-bit, kiến trúc x86-64 cho phép BXL làm việc ở hai chế độ:

    Chế Độ “Sâu” (Long Mode): trong chế độ này lại có hai chế độ.

    - Chế độ 64-bit: hỗ trợ địa chỉ 64-bit thật, 8 thanh ghi đa dụng 64-bit mới, các thanh ghi GPR 64-bit, con trỏ lệnh 64-bit, không gian địa chỉ liên tục. 

    - Chế độ tương thích: hỗ trợ tương thích cho các ứng dụng 16 hay 32-bit trên HĐH 64-bit, nó được thực hiện dựa trên nguyên tắc sử dụng các phân đoạn (segment) mã riêng biệt làm việc trong chế độ bảo vệ. Û́ng dụng sẽ xem BXL như là CPU x86 thông thường trong chế độ bảo vệ. Hệ điều hành sẽ đảm nhận việc dịch chuyển địa chỉ, xử lý các ngắt và hệ thống cấu trúc dữ liệu như là chúng đang ở mode 64-bit “sâu”.

    Chế Độ “Kế Thừa” (Legacy Mode): hỗ trợ tương thích với các HĐH 16-bit và 32-bit. Khi ở mode “kế thừa”, BXL sẽ có những chức năng của một CPU 32 bit x86 thông thường, không có bất kỳ tập lệnh 64-bit nào. Kiểu hoạt động này cung cấp chế độ tương thích đầy đủ nhất với tất cả các kiến trúc x86 hiện tại, bao gồm cả việc hỗ trợ các phân đoạn bộ nhớ, các thanh ghi GPR và con trỏ lệnh 32-bit.

    Hammer chỉ được phát huy đầy đủ trong chế độ 64-bit “sâu”, tất nhiên là phải đi cùng với hệ điều hành 64-bit. Hiện AMD đang làm việc chặt chẽ với Microsoft và các nhà phát triển HĐH Linux chính để các phiên bản Windows và Linux 64-bit hoạt động tốt trên họ BXL 64-bit thế hệ thứ 8 này.

     

    Athlon Và Hammer: Giống Và Khác Nhau


                  Hình1

    Mặc dầu BXL Hammer được AMD gọi là “BXL thế hệ thứ 8-K8”, thực chất kiến trúc mới là sự phát triển logic của kiến trúc K7 (Hình 1). Nếu bạn đã từng biết qua cấu trúc của K7 hẳn bạn nhận thấy kiến trúc Hammer rất giống K7, điều đó có nghĩa là các tập lệnh trong Hammer và Athlon được xử lý cùng một cách, tất nhiên là nếu không xét đến sự hỗ trợ các tập lệnh và thanh ghi 64-bit.Xem xét kỹ hơn, nhân của BXL K8 có những thay đổi nhất định:
    - Bộ đệm cấp 1 (L1) không thay đổi, vẫn là 128KB: 64KB cho dữ liệu và 64KB cho tập lệnh.
    - Dung lượng tối đa của bộ đệm cấp 2 (L2) giảm từ 8MB xuống còn 1MB (mặc dù kiến trúc của Athlon về lý thuyết cho phép hỗ trợ L2 8MB nhưng thực tế nó chưa từng đạt đến mức này). Hammer được định hướng vào thị trường máy chủ,  trong trường hợp cần bộ đệm lớn hơn, AMD sẽ sử dụng bộ đệm cấp 3 (L3).
    - Các “đường ống” (pipeline) lớn hơn cho phép Hammer hoạt động ở tần số xung nhịp cao hơn so với Athlon.
    - Hammer có trang bị bộ dự đoán nhánh (BPU – Branch Prediction Unit) được cải tiến.

    - BXL K8 có bộ đệm TLB (Translation Lookaside Buffer) lớn hơn.

    Chúng ta hãy xem xét chi tiết một số cải tiến. Trước hết là về pipeline, Pentium 4 đã cho thấy tầm quan trọng của pipeline. Nhờ có pipeline dài hơn, Pentium 4 có thể làm việc ở tần số lõi cực nhanh mà các BXL dùng kiến trúc khác không thể đạt được; tuy nhiên do khả năng tiên đoán nhánh lệnh không mạnh nên không tận dụng hết khả năng của pipeline, dẫn đến hiệu suất không cao. Đó là lý do tại sao AMD chỉ tăng kích thước của pipeline một ít (so với họ Athlon). Để sử dụng hiệu quả phần pipeline mở rộng, AMD chia nhỏ tiến trình lấy lệnh từ bộ đệm và tiến trình giải mã lệnh thành các tác vụ đơn giản được thực hiện bởi lõi BXL.

    AMD xem trọng việc tiên đoán chính xác hơn là tăng khả năng tính toán song song nhiều nhánh lệnh như họ BXL Itanium của Intel. Cùng với pipeline dài hơn, AMD còn thiết kế cho Hammer một BPU được cải tiến nhắm đến những công việc tính toán phức tạp. Đó là lý do tại sao bộ đệm lệnh được chế tạo lớn gấp 4 lần so với bộ đệm tương ứng của các BXL Athlon. Nhờ vậy, BPU của Hammer “nhớ” được nhiều nhánh lệnh hơn và “tiên đoán” các nhánh tương lai hiệu quả hơn. Ngoài ra còn có bộ tính địa chỉ nhánh (BAC – Branch Address Calculator) hỗ trợ tính toán địa chỉ nhánh kế nhanh và chính xác.

    Chúng ta đã xem xét về những cải tiến nhằm nâng hiệu suất làm việc của BXL với mã lệnh, giờ chúng ta hãy tìm hiểu về mặt dữ liệu, đặc biệt là những thay đổi liên quan đến bộ đệm TLB. TLB là bộ đệm đặc biệt trong BXL dùng cho việc “dịch” địa chỉ dữ liệu ảo thành địa chỉ vật lý. TLB giữ lại kết quả của các lần dịch trước, nhờ vậy việc dịch các địa chỉ dữ liệu đã dùng trước đây sẽ nhanh hơn. Một đặc điểm nữa là cách thức sử dụng TLB trong Hammer cho phép chuyển đổi cực nhanh giữa các tác vụ. Thông thường khi HĐH chuyển sang một tác vụ khác, TLB sẽ bị xoá. Trong trường hợp công việc có yêu cầu cao (ví dụ như công việc server), hệ thống chuyển đổi giữa các tác vụ rất thường xuyên và BXL phải xoá và điền lại TLB liên tục, điều này làm ảnh hưởng đến hiệu suất. Hammer có khả năng khôi phục nhanh TLB nhờ gán một mã xác định duy nhất cho mỗi tác vụ và lưu giữ lại dữ liệu TLB của nó (giải pháp này hiện được dùng trong các BXL RISC). Đây là lý do tại sao bộ đệm TLB của L2 trong Hammer tăng gấp hai lần so với Athlon XP.

     

    Bộ Điều Khiển Bộ Nhớ Trong Cpu



                 Hình2

    Một trong những cải tiến chính ở Hammer là tích hợp phần điều khiển bộ nhớ (MCT – Memory Controller) vào lõi BXL, giải pháp này được phát triển từ ý tưởng của Transmeta với BXL Crusoe, nhờ vậy nó có thể làm việc ở tần số xung nhịp của BXL và giảm thời gian trễ. Xung nhịp của BXL càng cao thì thời gian trễ càng thấp. Hơn nữa, dữ liệu giờ đây không truyền trên bus của BXL, vì vậy giảm được một “cổ chai” (chỗ gây tắc nghẽn). Giải pháp này còn có ưu điểm là AMD sẽ không lệ thuộc vào các nhà sản xuất chipset điều khiển bộ nhớ (chipset có bộ điều khiển bộ nhớ kém có thể ảnh hưởng rất nhiều đến hiệu suất tổng thể của hệ thống). Nguyên lý làm việc của MCT trong Hamer được giới thiệu ở sơ đồ hình 2 và hình 3.
    Sơ đồ cho thấy BXL được tích hợp 1 MCT và 1 DCT (DRAM Controller). MCT là giao diện giữa lõi BXL và DCT. DCT phụ thuộc vào loại bộ nhớ, còn MCT thì không. Để chế tạo Hammer hỗ trợ một loại bộ nhớ bất kỳ nào đó, AMD chỉ cần thay thế DCT – một bộ phận rất nhỏ của BXL. Giải pháp này khá linh động, cho phép dễ dàng cung cấp hỗ trợ các chuẩn bộ nhớ mới.

    Hypertransport


                     Hình3

    HyperTransport(trước đây có tên là LTD - Lightning Data Transport) là bus truyền dữ liệu tốc độ cao “điểm-điểm” do AMD phát triển và được NVidia ứng dụng đầu tiên vào chipset nForce. HyperTransport được dùng rất nhiều trong hệ thống Hammer: để nối BXL với chipset, với các thành phần chipset do AMD thiết kế dành cho K8, và với các BXL khác trong hệ thống đa BXL. Ûu điểm của HyperTransport? Rất nhiều: tốc độ cao, thời gian trễ thấp, thiết kế đơn giản. HyperTransport cho phép tốc độ truyền dữ liệu một chiều lên đến 6400MB/s. Nó có thể dễ dàng thay đổi thiết lập độ rộng bus dùng 2, 4, 8, 16 và 32 bit và tần số truyền 400, 600, 800, 1000 và 1600 MHz.

    Clawhammer Và Sledgehammer
    AMD dự định sẽ đưa ra 2 phiên bản Hammer: ClawHammer và SledgeHammer. ClawHammer dùng cho máy tính để bàn và server hai CPU cấp thấp. Phiên bản này sẽ được đặt theo tên mã nổi tiếng Athlon, có thể kèm theo các tiếp vị ngữ như Pro, Ultra hay 64. SledgeHammer  là phiên bản server dùng cho server hai, bốn và tám CPU. Tên chính thức của SledgeHammer là Opteron.

    Theo bảng trên, các BXL Hammer đều có hai hoặc ba bộ điều khiển HyperTransport. Việc kết nối với chipset không dùng hết các bus này, vậy các bus dư thừa dùng để làm gì? Để thiết lập hệ thống đa BXL! Vấn đề then chốt trong việc xây dựng hệ thống đa BXL với Hammer đó là sử dụng bus HyperTransport, nó cho phép thực hiện cấu hình CPU kép (4 hay 8 CPU) mà không yêu cầu bất kỳ hỗ trợ nào từ chipset.

     

    Hiệu Suất: Những Đánh Giá Ban Đầu
    Bạn đừng hy vọng mức tăng hiệu suất mạnh mẽ ở các BXL K8. Nên nhớ rằng Hammer có cùng kiến trúc với Athlon. Tuy nhiên, qua đánh giá sơ bộ, Hammer sẽ chạy các ứng dụng 32-bit thông thường nhanh hơn Athlon XP có cùng tần số lõi khoảng 32%. MCT tích hợp góp phần vào việc gia tăng 20% hiệu suất, còn các cải tiến lõi góp thêm 5%. Nếu biên dịch lại ứng dụng theo chuẩn x86-64, Hammer sẽ chạy nhanh hơn khoảng 10% nhờ các thanh ghi mới và những thay đổi trong cấu trúc mã lệnh (đây mới chỉ là biên dịch lại ứng dụng chứ chưa tối ưu hóa mã lệnh). Hỗ trợ SSE2 cũng có thể góp phần gia tăng hiệu suất thêm một ít. Tuy nhiên, mức gia tăng hiệu suất thay đổi tùy thuộc vào ứng dụng cụ thể, mức tăng cao nhất có thể đạt được với các ứng dụng sử dụng bộ nhớ nhiều và thường hay chuyển đổi giữa các tác vụ.

     

    Lịch Trình Xuất Xưởng
    Những con CPU thế hệ thứ 8 đầu tiên của AMD, phiên bản ClawHammer, sẽ xuất hiện trên thị trường vào cuối năm nay, các CPU đầu tiên sẽ có tốc độ 1,6GHz. Tuy nhiên theo một số nguồn phân tích, phải tới đầu năm 2003 AMD mới xuất xưởng ClawHammer với số lượng lớn. Opteron cũng sẽ được tung ra trong khoảng 6 tháng đầu năm 2003. Trong 6 tháng cuối năm 2003, AMD sẽ đưa ra BXL ClawHammer-S dùng công nghệ 0,09 micron. BXL Hammer 0,09 micron dùng cho máy tính xách tay dự kiến sẽ có mặt trên thị trường trong quí 3 năm 2003.

    Trong năm tới có thể chúng ta sẽ chứng kiến sự xuất hiện phiên bản HyperTransport mới (2.0) trong các hệ thống Hammer. AMD cũng sẽ tiếp tục cải tiến MCT tích hợp trong CPU, hỗ trợ thêm các kiểu bộ nhớ mới khi cần thiết.

    Một thông tin cuối cùng, AMD hiện đã bắt tay vào việc phát triển lõi CPU thế hệ kế tiếp có tên mã là “K9”, theo AMD thì đây sẽ thật sự là bước đột phá…


    Thanh Liên

     

    Tại sao lại cần bxl 64-bit?

    Ứng dụng ngày nay bắt đầu đòi hỏi những tài nguyên vô cùng lớn của máy tính, ngay cả 4GB RAM cũng chẳng phải là con số lớn lao gì so với công việc của một ứng dụng “tầm tầm hạng trung”. Tại sao lại là 4GB mà không phải con số nào khác? Thật đơn giản, BXL 32-bit chỉ có thể định địa chỉ bộ nhớ với 32 chữ số nhị phân, vì vậy dung lượng bộ nhớ tối đa mà hệ thống x86-32 có thể kiểm soát được giới hạn ở 232 Byte = 4,297,967,296 Byte = 4GB. Lưu ý là BXL Xeon có khả năng mô phỏng tới 36-bit địa chỉ, tức là có thể quản lý tới 64GB bộ nhớ, tuy nhiên phải trả giá về hiệu suất. Đó là một trong những nguyên nhân dẫn đến việc nghiên cứu chế tạo BXL 64-bit.

     

    Một số thuật ngữ liên quan

    ia-64 (intel architecture-64)

    Kiến trúc 64-bit được dùng trong các chip CPU thế hệ mới của Intel. Kiến trúc này được thiết kế hỗ trợ việc thực thi song song. Itanium là họ CPU đầu tiên thuộc dòng sản phẩm này. Các HĐH hỗ trợ kiến trúc IA-64 là Windows 2000, Sun Solaris, HP-UX…

     

    North Bridge / South Bridge

    Kiến trúc chipset của Intel. NorthBridge có chức năng điều khiển frontside bus giao tiếp giữa CPU và bộ nhớ, AGP bus và PCI bus. Một số chip North Bridge có tích hợp cả phần điều khiển hiển thị. South Bridge là bộ điều khiển các thiết bị IDE và các cổng tốc độ thấp (USB, audio, serial…). Kể từ loạt chipset 8xx kiến trúc Northbridge/Southbridge đã không còn được dùng, thay thế là kiến trúc IHA (Intel Hub Architecture).

     

    SSE

    Nhóm 70 lệnh được thêm vào BXL Pentium III để cải tiến hiệu suất đồ họa 3D và hỗ trợ các tác vụ multimedia. SSE trong Pentium 4 được bổ sung thêm 144 lệnh và có tên gọi là SSE2.

    ID: A0211_64