• Thứ Năm, 07/04/2005 08:07 (GMT+7)

    Bộ xử lý: Cuộc chiến 64-bit

    Hệ thống 64-bit sẽ đưa môi trường tính toán cấp độ xí nghiệp lên một tầm cao mới nhưng bài toán cần giải cũng trở nên khó khăn hơn.

    Hệ thống 64-bit sẽ đưa môi trường tính toán cấp độ xí nghiệp lên một tầm cao mới: nhanh hơn, ổn định hơn và hiệu quả hơn. Nhưng bài toán cần giải cũng trở nên khó hơn: Một quyết định không hợp lý không chỉ tác động đến hiệu quả của việc đầu tư mà còn gây ảnh hưởng không nhỏ tới kết quả kinh doanh. Hãy cùng xem xét bài toán từ khía cạnh bộ xử lý 64-bit.

    Power5 – bước nhảy mới của IBM

    Bộ xử lý RISC mới nhất Power5 của IBM

     

    Được giới thiệu lần đầu tiên vào cuối hè 2003, bộ xử lý (BXL) 2 lõi Power5 của IBM được coi là thành tựu công nghệ lớn không chỉ về thiết kế mà còn là khoa học vi điện tử trong sản xuất chip.

    Power5 có tốc độ rất nhanh và được coi là một cố gắng nghiêm túc đầu tiên của IBM nhằm đáp ứng nhu cầu người dùng về tốc độ. Power5 cho sức mạnh và độ tin cậy rất cao, hỗ trợ các HĐH không phải của IBM (bao gồm Linux và Windows), có khả năng phân vùng và ảo hóa mạnh mà chưa có công nghệ hiện tại nào sánh được.
    Power5 cũng dự báo trước một thế hệ máy chủ (server) và trạm làm việc (workstation) 64-bit mới sử dụng chip PowerPC - kết quả từ mối hợp tác gắn bó giữa IBM và Apple Computer. Chắc chắn Power5 sẽ tác động mạnh đến các khách hàng lớn của IBM.

    Mặc dù vẫn sản xuất và kinh doanh các hệ thống máy chủ chạy Itanium 2, Opteron và Xeon, IBM tỏ rõ ý định sẽ cung cấp những hệ thống Power5 cho các nhà quản trị Linux và Windows.

    Bí mật của sức mạnh

    Đã từ lâu, IBM luôn cố gắng thu hút những “bộ óc” sáng suốt nhất, các kỹ sư với biệt danh “bác học tính toán”. Từ những năm 80 của thập kỷ trước, kỹ sư IBM đã thiết kế ra một kiến trúc xử lý nhắm vào tốc độ: chip IBM 801 – bộ xử lý RISC (reduced instruction set computer) đầu tiên trong dòng chip cao cấp Power của IBM và còn tồn tại đến tận ngày nay.

    Sự khác biệt cơ bản giữa các chip dòng RISC và CISC (complex instruction set computer, chẳng hạn như dòng chip x86 của Intel) có thể được xem như cuộc ganh đua giữa nhà lập trình và nhà thiết kế chip. Chip CISC được thiết kế nhằm tạo thuận lợi cho các nhà lập trình ứng dụng bằng cách rút gọn nhiều câu lệnh đơn giản, thông dụng thành một câu lệnh thực thi dài. Điều này làm cho CISC xử lý chậm hơn nhưng lại đạt yếu tố thân thiện. Ở mặt khác, RISC nhanh nhưng kém thân thiện hơn, mỗi câu lệnh đơn giản trong RISC phục vụ cho một mục đích hẹp rất cụ thể, thực hiện rất nhanh và các lệnh này được tiến hành song song. RISC đòi hỏi nhà lập trình phải kiên nhẫn, giỏi và một trình biên dịch được tối ưu kỹ lưỡng.

    Nổi bật ở Power5 là sự tích hợp hai lõi RISC riêng lên một chip đơn. Đa lõi cũng là đặc tính của các chip thế hệ trước, Power4 và Power4+. Theo IBM, Power5 tương thích hoàn toàn về mặt thực thi lệnh với Power4.

    Trước hết, các lõi của Power5 chia sẻ cache L2. Tốc độ và dung lượng cache là yếu tố quan trọng tác động đến tốc độ của BXL nói chung. Với những lệnh đơn giản được thực thi cực nhanh trong chip RISC thì hiệu quả của cache trong việc giảm lưu lượng dữ liệu tới RAM trở thành yếu tố then chốt trong toàn bộ thiết kế.

    Lượng cache L2 của Power5 ít hơn 2MB. Trên cache dùng chung, dữ liệu được lõi này nạp vào sẽ đồng thời trở nên sẵn sàng với lõi kia, cho phép nạp lệnh kế tiếp hoặc dữ liệu mà không cần đi qua RAM (một nút thắt làm giảm tốc độ). Nhưng giải pháp cache dùng chung cũng gặp trở ngại khi có nhiều lõi cùng truy cập đến cache.

    IBM giải quyết sự tranh giành này bằng cách chia cache L2 thành 3 phân khúc. Thiết kế này cho phép các lõi truy cập gần như đồng thời vào cache khi hai lõi truy cập vào hai phân khúc cache khác nhau. Một giải pháp nữa cho vấn đề trên là trang bị 36MB cache L3 cho mỗi lõi. Mặc dù cache L3 không nằm gần lõi như cache L2 nhưng truy cập vào cache L3 vẫn nhanh hơn nhiều so với truy cập vào bộ nhớ hệ thống.

    Một điểm quan trọng nữa của Power5 là tích hợp bộ điều khiển bộ nhớ trên chip. Mỗi lõi của Power5 có bộ điều khiển riêng với khả năng quản lý một khối bộ nhớ chính. Điểm thiết kế này của Power5 có tác động rất lớn đến tốc độ của toàn hệ thống.

    Power5 là BXL có hai lõi, sử dụng công nghệ SMT (simultaneous multi-threading) được thiết kế trong Power4. SMT cho phép mỗi lõi của Power5 thực thi đồng thời lệnh từ 2 luồng trong những điều kiện nhất định. Công nghệ này tương tự như công nghệ Hyper–Threading (HT) của Intel.

    Với việc đưa ra Power5 đáp ứng đủ mọi yêu cầu: tốc độ, sự đơn giản, sáng tạo, tương thích và bộ công cụ phát triển đầy đủ, IBM dường như đang lấy lại danh hiệu “Ông trùm công nghệ”.

    Opteron và Nocona: 2 kiến trúc khác nhau

    Nếu bạn nghĩ rằng AMD Opteron (tham khảo “BXL AMD Hammer với công nghệ x86-64bit”, TGVT-PCW VN A số tháng 11/2002, trang 64) và Intel Nocona chỉ là những “con bọ” 64-bit giống nhau thì hãy nhìn cho kỹ. Đúng là chúng tương đồng về tập lệnh và thanh ghi bởi cả hai cùng dựa trên những đặc tả x86-64. Tuy nhiên, kiến trúc hệ thống tổng thể xung quanh các chip này, bao gồm đường dẫn đến các CPU khác, bộ nhớ và ngoại vi, lại có những sự khác biệt cơ bản và tác động trực tiếp đến quyết định mua của người dùng, người phát triển hệ thống.

    Về lõi, Nocona thuộc dòng NetBurst Xeon DP, chip Pentium 4 được thiết kế với 2-BXL. Chip có 1MB cache L2 và tốc độ xung nhịp 3,6GHz. Toàn bộ dữ liệu bộ nhớ và I/O, ngắt, kết nối BXL và yêu cầu địa chỉ đều thực hiện thông qua bus dùng chung tốc độ cao với băng thông tối đa 6,4 GB/s. Đây là chip có thiết kế tích hợp cao, nhưng vẫn duy trì được những nguyên tắc thiết kế truyền thống mà Intel muốn giữ.

    Điểm chung về công nghệ 64-bit của hai BXL có thể dễ dàng thấy: bộ nhớ lớn hơn và thanh ghi cũng nhiều hơn. Khi chuyển lên nền HĐH 64-bit, hệ thống máy tính sẽ không bị giới hạn về bộ nhớ vật lý và bộ nhớ ảo (Opteron có không gian địa chỉ lớn hơn Nocona; nhưng Nocona có thể hỗ trợ 32GB bộ nhớ vật lý, nhiều gấp đôi so với Opteron hai nhân).

    Thanh ghi là loại bộ nhớ nhanh nhất mà CPU có nên càng nhiều thanh ghi và mỗi thanh ghi chứa được càng nhiều bit thì bộ biên dịch càng hoạt động nhanh hơn. Việc có nhiều thanh ghi và sử dụng chúng hiệu quả sẽ giúp tăng tốc độ và sự trơn tru khi chuyển đổi giữa các tác vụ; hiệu ứng này cũng tương tự như công nghệ Hyper-Threading của Intel.

    Ngoài tập lệnh và địa chỉ, hai BXL này không có gì chung nhau. Sự khác biệt lớn nhất nằm ở kiến trúc hệ thống tổng thể.

    Giống như các chip Xeon, điểm yếu trong kiến trúc của Nocona nằm ở bus dùng chung. Trong hệ thống đa BXL, luồng dữ liệu, I/O, địa chỉ, truy cập bộ nhớ... đều phải đi qua một bus duy nhất để đến bộ nhớ chung.

    Có hai cách để cải tiến bus dùng chung: làm cho nó nhanh hơn hoặc chia nó thành nhiều bus độc lập. Intel đã nâng tốc độ của bus từ 533MHz lên 800MHz, và sau đó lại theo hướng thiết kế bus độc lập. PCI Express là giải pháp mới cho vấn đề này. BXL Xeon hiện giờ có tới 3 kênh liên lạc tuần tự (serial) nằm ngay trên mạch, mỗi kênh đáp ứng thông lượng tối đa 4GB/s. Nocona không thể kết hợp các kênh để chạm tới mức thông lượng 12GB/s khi bus dùng chung 6,4GB/s, nhưng bus tốc độ nhanh hơn sẽ giúp khắc phục hạn chế này.

    Ngược lại, Opteron sử dụng 4 bus độc lập tốc độ cao dẫn đến BXL và ngoại vi, được điều khiển bằng bộ điều khiển bus HyperTransport tích hợp trong CPU. Bus song song (do AMD phát triển và cấp phép bởi một số nhà sản xuất chip khác trong đó có Apple và Transmeta) có băng thông 6,4GB/s (3,2GB/s mỗi chiều) cho phép hệ thống đạt băng thông 19,2GB/s, độc lập với đường truyền bộ nhớ. Kết nối HyperTransport trực tiếp giữa các BXL cho phép các BXL chia sẻ toàn bộ bộ nhớ hệ thống với tốc độ đầy đủ. Kiến trúc của Opteron cho phép mỗi BXL có bộ nhớ riêng nên trên lý thuyết giảm được vấn đề tranh giành băng thông khi chạy nhiều BXL.

     

    NOCONA – NHÌN CẬN GÓC

     
     

    Bộ xử lý Nocona của Intel, hay còn gọi là Xeon EM64T - chip 64-bit nhưng có khả năng chạy các ứng dụng 32-bit. Thực chất, Nocona là chip Xeon 2 BXL thông thường được cải tiến để có tốc độ xung nhịp cao hơn và bus tuyến trước (FSB – front-side bus) nhanh hơn. Intel phải nhanh chóng bổ sung tính năng đáng giá nhằm tiếp tục giữ chân khách hàng và OEM đang “ngấp nghé” chuyển sang AMD Opteron.
    Giống như BXL x86 32-bit, Nocona là chip thay thế cho người anh của nó – Xeon DP. Nocona được sản xuất theo công nghệ 90nm (Xeon DP – 130nm), cho phép đưa nhiều transistor hơn vào một diện tích nhỏ hơn và hoạt động ở điện thế thấp hơn. Điều này cũng giúp giảm lượng nhiệt tỏa ra khi làm việc ở xung nhịp cao.

     

     
     

    Intel đã nâng kích thước cache L2 từ 512KB ở Xeon DP lên 1MB ở Nocona và nhờ đó loại bỏ cache L3 xuất hiện gần đây trong các phiên bản Xeon DP đời cuối. Việc tăng gấp đôi cache L2 sẽ tác động tốt đến hiệu năng khi chạy các ứng dụng được tối ưu cho Xeon (ứng dụng 32-bit).
    Với kích thước 16KB, cache L1 cũng được nâng gấp đôi. Mặc dù có vẻ nhỏ nhưng L1 lại có ảnh hưởng lớn đến tốc độ xử lý vì cache này nằm sát ngay bộ phận thực thi của BXL. Cache L1 rất quan trọng đối với Nocona để thực hiện song song nhiều tác vụ trong một xung nhịp đồng hồ, yếu tố quyết định đến hiệu năng.
    Ống lệnh (pipeline – hàng lệnh chờ thực thi) của Nocona dài 31 “đoạn” (ở Xeon DP là 20). Mặc dù đường ống có vai trò đặc biệt để tăng tốc độ tính toán nhưng đồng thời cũng là điểm kém hiệu quả trong thiết kế x86 của Intel. Đường ống chứa không chỉ các tác vụ chắc chắn sẽ được thực thi mà còn cả các tác vụ được BXL dự đoán sẽ thực thi. Do các tác vụ đợi trong đường ống được thực hiện rất nhanh nên khi BXL dự đoán chính xác, tốc độ tính toán sẽ rất nhanh. Nhưng nếu đoán sai, đường ống sẽ xóa toàn bộ thông tin trong đó và nạp lại từ đầu, làm chậm tốc độ chung.
    Cuối cùng, liên quan đến kiến trúc hệ thống của Nocona, bus liên lạc băng thông 6,4GB/s tốc độ cao được chia sẻ dùng chung cho mọi thành phần hệ thống, trong đó có cả tuyến truy xuất bộ nhớ của BXL.

     

    Nhật Thanh
    Tổng hợp theo Infoworld

    Từ khóa: 64-bit, CPU
    ID: A0503_84